Aller au contenu

Variables dynamiques

DATA:t_header         TYPE STANDARD TABLE OFzprd_flow_header,
        l_header          LIKE LINE OFt_header,
        t_param           TYPE STANDARD TABLE OFzprdflowparam,
        l_param           LIKE LINE OFt_param,
        v_counter         TYPE i,
        v_flow_in         TYPE pDECIMALS2,
        v_counter_id      TYPE i,
        v_counter_mess    TYPE i,
        v_counter_mess_10 TYPE i,
        v_percentage      TYPE i,
        v_nbmessage       TYPE i,
        v_nbmessage2      TYPE i,
        v_var             TYPE i,
        lv_where1         TYPE string,
        lv_where2         TYPE string.

***** Paramètres d'entrée du programme : Nom de la table et nom du flux.*

PARAMETERS:p_table(30)TYPE c,

p_flux(5)   TYPE c.

*PARAMETERS: P_TABLE(30).*
***** Déclaration des tables dynamiques.*

DATA:t_table  TYPE REF TOdata,

new_lineTYPE REF TOdata.

FIELD-SYMBOLS:<p_dyn_table>TYPE ANYTABLE.

DATA:t_uniqueidTYPE REF TOdata.

FIELD-SYMBOLS:<t_id_unique>TYPE ANYTABLE,

<l_id_unique>,

<zuniqueid>,

<zuniqueid_t>,

<zflow>.

START-OF-SELECTION.

- *CREATE DATAt_tableTYPE TABLE OF(p_table).*
- *ASSIGNt_table->*TO<p_dyn_table>.*

CREATE DATAt_uniqueidTYPE TABLE OF(p_table).

ASSIGNt_uniqueid->*TO<t_id_unique>.

CREATE DATAnew_lineLIKE LINE OF<t_id_unique>.

ASSIGNnew_line->*TO<l_id_unique>.

ASSIGNCOMPONENT'UNIQUEID'OF STRUCTURE<l_id_unique>TO<zuniqueid>.

***** Mise à jour des Status de 1 vers 2 pour*

UPDATE(p_table)SETstatus=2WHEREstatus=1.

***** Alimentation des tables de travail.*
SELECTDISTINCTuniqueidFROM(p_table)
INTOCORRESPONDING FIELDS OFTABLE<t_id_unique>
WHEREstatus=2ORstatus=4.

LOOPAT<t_id_unique>INTO<l_id_unique>.