Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Tips and Tricks arrow General arrow Dynamic programs
Dynamic programs PDF Print E-mail
User Rating: / 1
PoorBest 
Written by Anon.   
Wednesday, 30 May 2007

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:

 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 334
Sample Code: 166
Total Contributions: 553

Member Activity
Members: 6310 since 2/1/2007!
New: 1 since yesterday!
Visitors: 1183847
We have 4 guests online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor