hi,
PROCESS BEFORE OUTPUT.
MODULE STATUS_9001.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_9001.
PROCESS ON VALUE-REQUEST.
FIELD IT_ZPP-MATNR MODULE FILE_SEARCH.
MODULE FILE_SEARCH INPUT.
DATA: BEGINOF IT_MARA OCCURS0,
MATNR TYPE MATNR,
ENDOF IT_MARA.
* CLEAR WA_MARA.
DATA : T_RETURN TYPESTANDARDTABLEOF DDSHRETVAL WITHHEADERLINE,
L_RETFIELD TYPE DDSHRETVAL.
SELECT MATNR FROM MARA INTO CORRESPONDING FIELDSOFTABLE IT_MARA .
SORT IT_MARA BY MATNR.
CALLFUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'MARA'
RETFIELD = 'MATNR'
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'IT_ZPP-MATNR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = IT_MARA
RETURN_TAB = T_RETURN
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
DATA: lt_dynpfields LIKE dynpread OCCURS5WITHHEADERLINE.
READTABLE T_RETURN INTO L_RETFIELD INDEX1.
IF sy-subrc = 0.
MOVE L_RETFIELD-fieldval TO IT_ZPP-matnr.
lt_dynpfields-fieldname = IT_ZPP-MATNR.
lt_dynpfields-fieldvalue = L_RETFIELD-fieldval . "wa_ekpo-ebelp.
APPEND lt_dynpfields.
CALLFUNCTION'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid "Program name
dynumb = '9001' "Screen number
TABLES
dynpfields = lt_dynpfields
EXCEPTIONS
OTHERS = 0.
ENDIF.
IT_ZPP-MATNR = T_RETURN-FIELDVAL.