Dynamic program generation

This report generates a dynamic program with a form routine called MY_SUBPOOL. Subroutine polls can not be called directly, you have to call form routine in the program.

REPORT z_test.

TYPES:
  source_line(72).


DATA:
  gi_source TYPE STANDARD TABLE OF source_line,
  l_prog_name(30)  TYPE c,
  l_msg(120)       TYPE c,
  l_line(10)       TYPE c,
  l_word(10)       TYPE c,
  l_off(3)         TYPE c.

APPEND 'PROGRAM MY_SUBPOOL.'           TO gi_source.

APPEND 'FORM WRITE_HALLO.'            TO gi_source.
APPEND ' DO 10 TIMES.'                TO gi_source.
APPEND '  WRITE: / ''Hello world''.'  TO gi_source.
APPEND ' ENDDO.'                      TO gi_source.
APPEND 'ENDFORM.'                      TO gi_source.

GENERATE SUBROUTINE POOL gi_source
  NAME l_prog_name MESSAGE l_msg LINE l_line
  WORD l_word OFFSET l_off.

IF sy-subrc <> 0.
  WRITE : / 'Error', l_msg.
ELSE.
  PERFORM write_hallo IN PROGRAM (l_prog_name).

ENDIF.
Converted from CHM to HTML with chm2web Standard 2.7 (unicode)