‎2008 Aug 21 6:18 AM
Suppose form one program i want to create another program automatically.how to do that.It will be a Type 1 program(executable program).
Along with that i want to have the FORM and ENDFORM written to that new program.
‎2008 Aug 21 6:26 AM
Hi,
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 = 'REPORT ztest111.'. 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 = ''AAAAAAAA.''.'. APPEND inctabl.
inctabl-line = 'append dyntab.'. APPEND inctabl.
inctabl-line = 'dyntab-field1 = ''19970814''.'. APPEND inctabl.
inctabl-line = 'append dyntab.'. 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-field1.'. APPEND inctabl.
inctabl-line = 'endloop.'. APPEND inctabl.
Create and run the dynamic program
INSERT REPORT 'ZTEST111' FROM inctabl UNICODE ENABLING 'X'.
SUBMIT ztest111.
Try this code,
Thanks,
Durai.V
‎2008 Aug 21 6:22 AM
Hi,
SUBMIT report2 WITH parameter1 = parameter1
WITH selectoption IN selectoption1
AND RETURN.
Hope it is helps.
‎2008 Aug 21 6:26 AM
Hi,
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 = 'REPORT ztest111.'. 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 = ''AAAAAAAA.''.'. APPEND inctabl.
inctabl-line = 'append dyntab.'. APPEND inctabl.
inctabl-line = 'dyntab-field1 = ''19970814''.'. APPEND inctabl.
inctabl-line = 'append dyntab.'. 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-field1.'. APPEND inctabl.
inctabl-line = 'endloop.'. APPEND inctabl.
Create and run the dynamic program
INSERT REPORT 'ZTEST111' FROM inctabl UNICODE ENABLING 'X'.
SUBMIT ztest111.
Try this code,
Thanks,
Durai.V
‎2008 Aug 21 6:59 AM
Hi Durai V ,
when i am executing your code the ZTEST111 is not being created.can you tell me what the problem
‎2008 Aug 21 6:27 AM
you can create a program from your executable program. Declare a internan table with character type and put all the statment in the table from
Program Program name.
initialization
write:/ 'hello'.
‎2008 Aug 21 6:41 AM