REPORT ZCLUST1 . * * Example: how to create a dynamic internal table * * The dynamic internal table stucture DATA: BEGIN OF STRUCT OCCURS 10, FILDNAME(8) TYPE C, ABPTYPE TYPE C, LENGTH TYPE I, END OF STRUCT. * The dynamic program source table DATA: BEGIN OF INCTABL OCCURS 10, LINE(72), END OF INCTABL. DATA: LNG TYPE I, TYPESRTING(6). * Sample dynamic internal table stucture STRUCT-FILDNAME = 'field1'. STRUCT-ABPTYPE = 'c'. STRUCT-LENGTH = '6'. APPEND STRUCT. CLEAR STRUCT. STRUCT-FILDNAME = 'field2'. STRUCT-ABPTYPE = 'd'. APPEND STRUCT. CLEAR STRUCT. STRUCT-FILDNAME = 'field3'. STRUCT-ABPTYPE = 'i'. APPEND STRUCT. CLEAR STRUCT. * Create the dynamic internal table definition in the dyn. program INCTABL-LINE = 'program zdynpro.'. APPEND INCTABL. INCTABL-LINE = 'data: begin of dyntab occurs 10,'. APPEND INCTABL. LOOP AT STRUCT. INCTABL-LINE = STRUCT-FILDNAME. LNG = STRLEN( STRUCT-FILDNAME ). IF NOT STRUCT-LENGTH IS INITIAL . TYPESRTING(1) = '('. TYPESRTING+1 = STRUCT-LENGTH. TYPESRTING+5 = ')'. CONDENSE TYPESRTING NO-GAPS. INCTABL-LINE+LNG = TYPESRTING. ENDIF. INCTABL-LINE+15 = 'type '. INCTABL-LINE+21 = STRUCT-ABPTYPE. INCTABL-LINE+22 = ','. APPEND INCTABL. ENDLOOP. INCTABL-LINE = 'end of dyntab. '. APPEND INCTABL. * Create the code processes the dynamic internal table INCTABL-LINE = ' '. APPEND INCTABL. INCTABL-LINE = 'dyntab-field1 = ''aaaaaa''.'. APPEND INCTABL. INCTABL-LINE = 'dyntab-field1 = ''19970814''.'. APPEND INCTABL. INCTABL-LINE = 'dyntab-field1 = 1.'. APPEND INCTABL. INCTABL-LINE = 'append dyntab.'. APPEND INCTABL. INCTABL-LINE = ' '. APPEND INCTABL. INCTABL-LINE = 'loop at dyntab.'. APPEND INCTABL. INCTABL-LINE = 'write: / dyntab.'. APPEND INCTABL. INCTABL-LINE = 'endloop.'. APPEND INCTABL. * Create and run the dynamic program INSERT REPORT 'zdynpro'(001) FROM INCTABL. SUBMIT ZDYNPRO.