DATA: counter_new TYPE i.
DATA: seg_name LIKE edidd-segnam,
it_name(40),
count_name(40),
field_name(40),
l_tabix LIKE sy-tabix.
FIELD-SYMBOLS:
* Move segment data into corresponding Internal tables for easy data
* access
LOOP AT lt_idoc_data.
CHECK lt_idoc_data-segnam = c_e1tpsls OR
lt_idoc_data-segnam = c_e1tptrm OR
lt_idoc_data-segnam = c_e1tploc OR
lt_idoc_data-segnam = c_e1edt17 OR
lt_idoc_data-segnam = c_e1tpsha.
IF lt_idoc_data-segnam = c_e1tpsls. " Starts a new leg
counter_new = counter_new + 1.
ENDIF.
CONCATENATE 'IT_' lt_idoc_data-segnam INTO it_name.
CONCATENATE it_name '-' lt_idoc_data-segnam INTO seg_name.
CONCATENATE it_name '-' 'SEGNUM' INTO field_name.
ASSIGN (field_name) TO
MOVE lt_idoc_data-segnum TO
CONCATENATE it_name '-' 'SEGNAM' INTO field_name.
ASSIGN (field_name) TO
MOVE lt_idoc_data-segnam TO
CONCATENATE it_name '-' 'PSGNUM' INTO field_name.
ASSIGN (field_name) TO
MOVE lt_idoc_data-psgnum TO
CONCATENATE it_name '-' 'HLEVEL' INTO field_name.
ASSIGN (field_name) TO
MOVE lt_idoc_data-hlevel TO
CONCATENATE it_name '-' 'COUNTER' INTO count_name.
ASSIGN (it_name) TO
CONCATENATE it_name '[]' INTO it_name.
ASSIGN (it_name) TO
ASSIGN (seg_name) TO
ASSIGN (count_name) TO
MOVE lt_idoc_data-sdata TO
MOVE counter_new TO
APPEND
ENDLOOP.
ENDFORM. " populate_segmant_itabs