Generate Temporary ABAP Program
Ever had a need to create a temporary program during the run time. Here is a simple program which will allow you to learn that.
REPORT ZSOURCE2501. * Internal table for source code, field for name of temporary program DATA: SOURCE_TABLE(72) OCCURS 10 WITH HEADER LINE, PROGRAM_NAME LIKE SY-CPROG. * Building the source code APPEND 'report test.' TO SOURCE_TABLE. APPEND 'form display.' TO SOURCE_TABLE. APPEND 'write ''I am a temporary program''.' TO SOURCE_TABLE. APPEND 'endform.' TO SOURCE_TABLE. * Generating the temporary program GENERATE SUBROUTINE POOL SOURCE_TABLE NAME PROGRAM_NAME.
* Calling a form externally PERFORM DISPLAY IN PROGRAM (PROGRAM_NAME). Now what will you do if you encounter a syntax error? add the following code after GENERATE SUBROUTINE. * Generating the temporary program GENERATE SUBROUTINE POOL SOURCE_TABLE NAME PROGRAM_NAME. IF SY-SUBRC NE 0. WRITE: / 'Syntax error, message', SYNTAX_CHECK_MESSAGE, / 'in line', LINE_NO. EXIT. ENDIF. * Calling a form externally PERFORM DISPLAY IN PROGRAM (PROGRAM_NAME). Now, let’s construct a real life example….! REPORT ZSOURCE2503. * Variables for later use PARAMETERS TABNAME(10) DEFAULT 'CUSTOMERS'. DATA: SOURCE_TABLE(72) OCCURS 100 WITH HEADER LINE, PROGRAM_NAME LIKE SY-CPROG, SYNTAX_CHECK_MESSAGE(128), LINE_NO TYPE I. * Building the source code PERFORM BUILD_THE_SOURCE_CODE USING TABNAME. * Generating the temporary program, checking syntax errors GENERATE SUBROUTINE POOL SOURCE_TABLE NAME PROGRAM_NAME MESSAGE SYNTAX_CHECK_MESSAGE LINE LINE_NO. IF SY-SUBRC NE 0. WRITE: / 'Syntax error, message', SYNTAX_CHECK_MESSAGE, / 'in line', LINE_NO. EXIT. ENDIF. * Calling a form externally PERFORM DISPLAY_TABLE IN PROGRAM (PROGRAM_NAME). * Form to build the source code of the temporary program FORM BUILD_THE_SOURCE_CODE USING F_NAME. APPEND: 'report ztmpprog. ' TO SOURCE_TABLE, 'tables ' TO SOURCE_TABLE, F_NAME TO SOURCE_TABLE, '. ' TO SOURCE_TABLE, 'field-symbols <output>. ' TO SOURCE_TABLE, 'form display_table. ' TO SOURCE_TABLE, 'select * from ' TO SOURCE_TABLE, F_NAME TO SOURCE_TABLE, '. ' TO SOURCE_TABLE, ' new-line. ' TO SOURCE_TABLE, ' do. ' TO SOURCE_TABLE, ' assign component sy-index ' TO SOURCE_TABLE, ' of structure ' TO SOURCE_TABLE, F_NAME TO SOURCE_TABLE, ' to <output>. ' TO SOURCE_TABLE, ' if sy-subrc ne 0. exit. endif.' TO SOURCE_TABLE, ' write <output>. ' TO SOURCE_TABLE, ' enddo. ' TO SOURCE_TABLE, 'endselect. ' TO SOURCE_TABLE, 'endform. ' TO SOURCE_TABLE. ENDFORM.
If you like this post, you may as well like these too:
- ABAP Program : Working with Temporary Programs Ever had a need to create a temporary program during the run time. Here is a simple program which will allow you to learn that. REPORT ZSOURCE2501. * Internal table...
- Program to Generate 3D graphics Simple report to create graph in ABAP using GRAPH_MATRIX_3D function module. The graph shows the performance of 3 companies for the Four quarters of a single year.The Complete code with...
- ABAP Program: Sample program for OLE Automation REPORT ZSOURCE2801. * Including OLE types INCLUDE OLE2INCL. * Tables and variables for later use TABLES: CUSTOMERS. DATA: APPLICATION TYPE OLE2_OBJECT, WORKBOOK TYPE OLE2_OBJECT, SHEET TYPE OLE2_OBJECT, CELLS TYPE OLE2_OBJECT....
- SAP ABAP Program Types Each ABAP program has a type, which is defined in the program attributes. What is the purpose of all the different program types? The program type determines which processing blocks...
- Call an ABAP program from a BSP Call an ABAP program from a BSP is somehow impossible due to memory context handling for a web transaction like a BSP. If you try, it would lead to an...
- Create a Program in SAP ABAP You can navigate to the ABAP Editor through the Menu. You can also create favorites for certain transactions and put it into your custom menu. You can type SE38 from...
- How do you generate an automatic PO after creating a PR using a particular material? In MMR and VMR check Auto PO (MM02/XK02). Maintain the Source List and select the indicator for the source list record as MRP relevant (ME01). If more than one source...
- ABAP Program:Reading data from a file REPORT ZSOURCE2602. * Data declarations for later use TABLES CUSTOMERS. PARAMETERS FILENAME(128) DEFAULT '/usr/tmp/testfile.dat' LOWER CASE. DATA: MSG_TEXT(50), ALL_CUSTOMER_NAMES LIKE CUSTOMERS-NAME OCCURS 100 WITH HEADER LINE. * Opening the File...
- ABAP Program to Send Mail with Attachment This ABAP program use the function module ‘SO_NEW_DOCUMENT_ATT_SEND_API1′ to send the email with attachment. There are five steps involved in sending the email with attachment. Add Recipients Put in the...
- ABAP Program:Transferring data to a file (presentation server) REPORT ZSOURCE2603. * Data declarations for later use PARAMETERS FILENAME(128) DEFAULT 'c:usersdefaulttestfile.dat' LOWER CASE. TABLES CUSTOMERS. DATA ALL_CUSTOMERS LIKE CUSTOMERS OCCURS 100 WITH HEADER LINE. * Get data for file...
- ABAP Program to Send External Mail from SAP Here is a ABAP program which would allow you to send mail to any external system from SAP. Ensure that you have all the required configurations done by the basis...
- ABAP Programs:Sample dialog program (flight reservation) * This program source contains all modules and subroutines of the * flight reservation program, but screen and GUI status definitions * are not included. *&———————————————————————* *&———————————————————————* *& Include MSABBTOP...
- ABAP Program: Dynamic external perform (call back form) Here the two programs which are calling dynamically. REPORT ZSOURCE2309. PERFORM EXTFORM IN PROGRAM ZSOURCE2310 USING 'CALL_BACK_FORM' SY-CPROG. FORM CALL_BACK_FORM. WRITE / 'I am the call back form in ZSOURCE2309.'....



















Leave a Reply