A screen field can take the value set by `SET PARAMETER ID 'ZZZ' FIELD 'VALUE' only if:
- Field is of type "input/output" (at design time and at run time)
- Field attribute "parameter ID" is the same SAP memory ID (ZZZ)
- Field attribute "GET parameter" is checked
- In the program, the global variable corresponding to the screen field name is initial (at least at the end of the Process Before Output phase)
Excerpt from the ABAP documentation : "When defining input fields, dynpro fields can be associated with SPA/GPA parameters by entering the name of an SPA/GPA parameter from the database table TPARA as an attribute PARAMETER ID. If the corresponding parameter GET PARAMETER is set and no other value is assigned to the input field, the input field is filled with the value of the SPA/GPA parameter when the screen is sent."
Demonstration, the value entered in the first screen appears in the second screen and vice versa :
REPORT z.
TABLES sscrfields.
" Selection screen 1000 (implicit first one)
SELECTION-SCREEN COMMENT /1(40) text1000.
PARAMETERS p_start TYPE c LENGTH 10 LOWER CASE MEMORY ID zzzz.
" Selection screen 1001
SELECTION-SCREEN BEGIN OF SCREEN 1001.
SELECTION-SCREEN COMMENT /1(40) text1001.
PARAMETERS p_b1ab1a TYPE c LENGTH 10.
PARAMETERS p_end TYPE c LENGTH 10 LOWER CASE MEMORY ID zzzz.
PARAMETERS p_b2ab2a TYPE c LENGTH 10.
SELECTION-SCREEN END OF SCREEN 1001.
INITIALIZATION.
text1000 = 'Press Enter to go to next screen'(000).
text1001 = 'Press Enter to go to previous screen'(001).
AT SELECTION-SCREEN.
IF sscrfields-ucomm IS INITIAL.
CASE sy-dynnr.
WHEN 1000.
CLEAR p_end. " <== very important !
CALL SELECTION-SCREEN 1001.
WHEN 1001.
CLEAR p_start. " <== very important !
LEAVE TO SCREEN 0. " go to previous screen (don't use CALL
" SELECTION-SCREEN to avoid a stack of more than 50 dynpros)
ENDCASE.
ENDIF.
SET PARAMETER ID <paramid> FIELD ...
where <paramid> is the ID you have entered in "Parameter ID". – Sandra RossiMAT
, it's not a custom parameter, it's a standard one, so don't declare it in TPARA. – Sandra Rossi