ABAP Keyword Documentation → ABAP - Reference → User Dialogs → Dynpros → Dynpro Fields → Screen Fields - Examples
Dynpros, Fields with Reference to ABAP Dictionary
The example shows how dynpro fields can be associated with ABAP Dictionary.
Other versions: 7.31 | 7.40 | 7.54
Source Code
PROGRAM demo_dynpro_dictionary .
TABLES demo_conn.
DATA wa_spfli TYPE spfli.
CALL SCREEN 100.
MODULE init_screen_100 OUTPUT.
CLEAR demo_conn-mark.
MOVE-CORRESPONDING wa_spfli TO demo_conn.
CLEAR wa_spfli.
ENDMODULE.
MODULE user_command_0100 INPUT.
IF demo_conn-mark = 'X'.
LEAVE PROGRAM.
ENDIF.
MOVE-CORRESPONDING demo_conn TO wa_spfli.
SELECT SINGLE cityfrom, airpfrom, cityto, airpto,
fltime, deptime, arrtime
FROM spfli
WHERE carrid = @wa_spfli-carrid AND connid = @wa_spfli-connid
INTO CORRESPONDING FIELDS OF @wa_spfli.
ENDMODULE.
Description
The static next dynpro number of dynpro 100 is 100. The statement TABLES
passes the components of the structure DEMO_CONN from ABAP Dictionary.
The structure DEMO_CONN was especially created in ABAP Dictionary for dynpros of the flight data model.
Apart from the components of the database table SPFLI, there is also a component MARK whose domain S_FLAG only defines the fixed values "
" and "X". On the dynpro, the ABAP Dictionary text for MARK is
overwritten with "Cancel"; for all other fields the ABAP Dictionary fields are used. The input attribute
of some fields was deactivated in Screen Painter. Users can enter values for the airline and flight
number. In this process, the user is automatically assisted by the field and the input help and the
valid value check against check tables of ABAP Dictionary. These checks are performed automatically
before any dialog module is called in the ABAP program. It is not possible for the user to enter an
airline not defined in the check table SCARR or to enter any flight numbers not matching the airlines defined in SPFLI, or to enter any values for MARK except "
" and "X". Not all these checks need to be programmed in the ABAP
program. The module user_command_0100
of the ABAP program reads additional
values for the checked key from the database table SPFLI and sends them to the dynpro in the init_screen_100
event. The work area demo_conn
, declared using the statement TABLES
is used as an interface, while the actual data from the database is edited in the work area wa_spfli
.
If the user fills the Cancel field with "X", the program exits.