SAP NetWeaver AS ABAP Release 740, ©Copyright 2014 SAP AG. All rights reserved.
ABAP Keyword Documentation → ABAP − Reference → Calling and leaving program units → Calling ABAP Programs → Calling Executable Programs → SUBMIT → SUBMIT - list_options →Program Calls, Influencing the Basic List
The example shows how to influence the basic list of a program called.
Source Code
REPORT demo_program_submit_line.
SELECTION-SCREEN BEGIN OF SCREEN 1100.
PARAMETERS: name TYPE sy-repid
DEFAULT 'DEMO_PROGRAM_READ_TABLES' OBLIGATORY,
width TYPE i DEFAULT 80,
length TYPE i DEFAULT 0.
SELECTION-SCREEN END OF SCREEN 1100.
CLASS demo DEFINITION.
PUBLIC SECTION.
CLASS-METHODS main.
PRIVATE SECTION.
CLASS-METHODS security_check
IMPORTING name TYPE sy-repid
RETURNING value(checked_name) TYPE sy-repid.
ENDCLASS.
CLASS demo IMPLEMENTATION.
METHOD main.
DATA prog_type TYPE trdir-subc.
CALL SELECTION-SCREEN 1100 STARTING AT 10 10.
IF sy-subrc <> 0.
RETURN.
ENDIF.
SELECT SINGLE subc
FROM trdir
INTO prog_type
WHERE name = name.
IF sy-subrc <> 0 OR prog_type <> '1'.
MESSAGE 'Program not found or wrong type' TYPE 'I'
DISPLAY LIKE 'E'.
RETURN.
ENDIF.
name = security_check( name ).
IF name IS INITIAL.
MESSAGE 'Program execution not allowed' TYPE 'I'
DISPLAY LIKE 'E'.
RETURN.
ENDIF.
SUBMIT (name) LINE-SIZE width LINE-COUNT length AND RETURN.
ENDMETHOD.
METHOD security_check.
DATA whitelist TYPE HASHED TABLE OF string
WITH UNIQUE KEY table_line.
AUTHORITY-CHECK OBJECT 'S_DEVELOP'
ID 'DEVCLASS' FIELD 'SABAPDEMOS'
ID 'OBJTYPE' FIELD 'PROG'
ID 'OBJNAME' DUMMY
ID 'P_GROUP' DUMMY
ID 'ACTVT' FIELD '16'.
IF sy-subrc <> 0.
CLEAR checked_name.
RETURN.
ENDIF.
SELECT obj_name
FROM tadir
INTO TABLE whitelist
WHERE pgmid = 'R3TR' AND
object = 'PROG' AND
devclass = 'SABAPDEMOS'.
TRY.
checked_name = cl_abap_dyn_prg=>check_whitelist_tab(
val = name
whitelist = whitelist ).
CATCH cx_abap_not_in_whitelist.
CLEAR checked_name.
RETURN.
ENDTRY.
ENDMETHOD.
ENDCLASS.
START-OF-SELECTION.
demo=>main( ).
Description
If the program called does not have its own LINE-SIZE or LINE-COUNT specifications in the REPORT statement, the values width and length are used for its basic list.