|
REPORT demo_special_tech_dyn_insert. DATA: code TYPE TABLE OF rssource-line. * type of an editor line: rssource-line
APPEND 'REPORT ZDYN1.' TO code.
APPEND 'WRITE / ''Hello, I am dynamically created!''.' TO code.
INSERT REPORT 'demo_special_tech_ZDYN1' FROM code.
WRITE text-001.
Changing programs dynamically REPORT demo_special_tech_dyn_read_rep . DATA: code TYPE TABLE OF rssource-line. * type of an editor line: rssource-line
READ REPORT 'demo_special_tech_ZSTRUC1' INTO code.
APPEND 'SKIP.' TO code. APPEND 'WRITE / ''And I am a dynamic extension!''.' TO code.
INSERT REPORT 'demo_special_tech_ZDYN2' FROM code.
WRITE: text-001.
Calling program REPORT demo_special_tech_dyn_start. DATA: code TYPE TABLE OF rssource-line. * type of an editor line: rssource-line
DATA lin TYPE i.
READ REPORT 'demo_special_tech_zdyn1' INTO code.
SUBMIT demo_special_tech_zdyn1 AND RETURN.
DESCRIBE TABLE code LINES lin.
MODIFY code INDEX lin FROM 'WRITE / ''Dynamic Program Changed!''.'.
INSERT REPORT 'demo_special_tech_zdyn1' FROM code.
SUBMIT demo_special_tech_zdyn1.
REPORT demo_special_tech_include_1.
TYPES code_type TYPE rssource-line. * type of an editor line: rssource-line DATA code TYPE TABLE OF code_type.
DATA lin TYPE i.
READ REPORT 'demo_special_tech_ZINCLUD1' INTO code.
DESCRIBE TABLE code LINES lin.
MODIFY code INDEX lin FROM 'WRITE / ''Changed INCLUDE program!''.'. INSERT REPORT 'demo_special_tech_ZINCLUD1' FROM code. INCLUDE demo_special_tech_zinclud1.
REPORT demo_special_tech_include_2 .
TYPES code_type(72) TYPE c. DATA code TYPE TABLE OF code_type.
READ REPORT 'demo_special_tech_ZINCLUD1' INTO code.
APPEND 'WRITE / ''Extension of INCLUDE program!''.' TO code.
INSERT REPORT 'demo_special_tech_ZINCLUD1' FROM code.
PERFORM sub1(demo_special_tech_zform1).
Temporary Subroutine REPORT demo_special_tech_subroutine_1. DATA: code TYPE TABLE OF rssource-line, prog(8) TYPE c, msg(120) TYPE c, lin(3) TYPE c, wrd(10) TYPE c, off(3) TYPE c.
APPEND 'PROGRAM SUBPOOL.' TO code. APPEND 'FORM DYN1.' TO code.
APPEND 'WRITE / ''Hello, I am the temporary subroutine DYN1!''.' "#EC NOTEXT TO code. APPEND 'ENDFORM.' TO code. APPEND 'FORM DYN2.' TO code. APPEND 'WRIT / ''Hello, I am the temporary subroutine DYN2!''.' "#EC NOTEXT TO code. APPEND 'ENDFORM.' TO code.
GENERATE SUBROUTINE POOL code NAME prog MESSAGE msg LINE lin WORD wrd OFFSET off.
IF sy-subrc <> 0. WRITE: / 'Error during generation in line', lin, "#EC NOTEXT / msg, / 'Word:', wrd, 'at offset', off. "#EC NOTEXT ELSE. WRITE: / 'The name of the subroutine pool is', prog. "#EC NOTEXT SKIP 2. PERFORM dyn1 IN PROGRAM (prog). SKIP 2. PERFORM dyn2 IN PROGRAM (prog). ENDIF.
REPORT demo_special_tech_subroutine_2. DATA: code TYPE TABLE OF rssource-line, prog(8) TYPE c, msg(120) TYPE c, lin(3) TYPE c, wrd(10) TYPE c, off(3) TYPE c.
APPEND 'PROGRAM SUBPOOL.' TO code. APPEND 'FORM DYN1.' TO code.
APPEND 'WRITE / ''Hello, I am the temporary subroutine DYN1!''.' "#EC NOTEXT TO code. APPEND 'ENDFORM.' TO code. APPEND 'FORM DYN2.' TO code. APPEND 'WRITE / ''Hello, I am the temporary subroutine DYN2!''.' "#EC NOTEXT TO code. APPEND 'ENDFORM.' TO code.
GENERATE SUBROUTINE POOL code NAME prog MESSAGE msg LINE lin WORD wrd OFFSET off.
IF sy-subrc <> 0. WRITE: / 'Error during generation in line', lin, "#EC NOTEXT / msg, / 'Word:', wrd, 'at offset', off. "#EC NOTEXT ELSE. WRITE: / 'The name of the subroutine pool is', prog. "#EC NOTEXT SKIP 2. PERFORM dyn1 IN PROGRAM (prog). SKIP 2. PERFORM dyn2 IN PROGRAM (prog). ENDIF.
Related Items:
|