Banner
Banner
Banner

Attention: open in a new window. PDFPrintE-mail

2009
08
Apr

Running a report that creates another program and runs it

REPORT  zprogram_run.

DATA: prog TYPE string,
      tab  TYPE STANDARD TABLE OF string,
      mess TYPE string,
      sid  TYPE string.

START-OF-SELECTION.

  APPEND 'PROGRAM subpool.'                        TO tab.
  APPEND `DATA spfli_tab TYPE TABLE OF spfli.`     TO tab.
  APPEND `LOAD-OF-PROGRAM.`                        TO tab.
  APPEND `  SELECT *` &
         `         FROM spfli` &
         `         INTO TABLE spfli_tab.`          TO tab.
  APPEND `FORM loop_at_tab.`                       TO tab.
  APPEND `  DATA spfli_wa TYPE spfli.`             TO tab.
  APPEND `  LOOP AT spfli_tab INTO spfli_wa.`      TO tab.
  APPEND `    PERFORM evaluate_wa USING spfli_wa.` TO tab.
  APPEND `  ENDLOOP.`                              TO tab.
  APPEND `ENDFORM.`                                TO tab.
  APPEND `FORM evaluate_wa USING l_wa TYPE spfli.` TO tab.
  APPEND `  WRITE: / l_wa-carrid, l_wa-connid.`    TO tab.
  APPEND `ENDFORM.`                                TO tab.

  GENERATE SUBROUTINE POOL tab NAME prog
           MESSAGE mess
           SHORTDUMP-ID sid.

  IF sy-subrc = 0.
    PERFORM ('LOOP_AT_TAB') IN PROGRAM (prog) IF FOUND.
  ELSEIF sy-subrc = 4.
    MESSAGE mess TYPE 'I'.
  ELSEIF sy-subrc = 8.
    MESSAGE sid TYPE 'I'.
  ENDIF.

END-OF-SELECTION.
Last Updated (Tuesday, 30 November 1999 00:00)
Free software downloads