Skip to content

Instantly share code, notes, and snippets.

@rijdz
Created May 24, 2016 03:25
Show Gist options
  • Save rijdz/491725ddf3fadf5b78e792f7a099db6b to your computer and use it in GitHub Desktop.
Save rijdz/491725ddf3fadf5b78e792f7a099db6b to your computer and use it in GitHub Desktop.
Get Search Help for Parameter on Value Request
"types of search help
DATA: gi_return TYPE TABLE OF ddshretval WITH HEADER LINE,
gi_dynpfields TYPE TABLE OF dynpread WITH HEADER LINE.
DATA: BEGIN OF gi_value_nama OCCURS 0,
bukrs TYPE ztb_konf_bg_ap-bukrs,
name1 TYPE ztb_konf_bg_ap-name1,
posisi TYPE ztb_konf_bg_ap-posisi,
bagian TYPE ztb_konf_bg_ap-bagian,
END OF gi_value_nama.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_nama.
PERFORM fm_f4_nama.
FORM fm_f4_nama.
REFRESH gi_dynpfields.
REFRESH gi_return.
APPEND 'P_BUKRS' TO gi_dynpfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-repid
dynumb = '1000'
TABLES
dynpfields = gi_dynpfields[]
EXCEPTIONS
OTHERS = 11.
IF sy-subrc EQ 0.
READ TABLE gi_dynpfields WITH KEY fieldname = 'P_BUKRS'.
IF sy-subrc EQ 0.
p_bukrs = gi_dynpfields-fieldvalue.
ENDIF.
ENDIF.
SELECT * FROM ztb_konf_bg_ap
INTO CORRESPONDING FIELDS OF TABLE gi_value_nama
WHERE bukrs EQ p_bukrs.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'NAME1'
value_org = 'S'
TABLES
value_tab = gi_value_nama
return_tab = gi_return
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE gi_return INDEX 1.
IF sy-subrc EQ 0.
READ TABLE gi_value_nama WITH KEY name1 = gi_return-fieldval.
IF sy-subrc EQ 0.
gi_dynpfields-fieldname = 'P_NAMA'.
gi_dynpfields-fieldvalue = gi_value_nama-name1.
APPEND gi_dynpfields.
gi_dynpfields-fieldname = 'P_POSIS'.
gi_dynpfields-fieldvalue = gi_value_nama-posisi.
APPEND gi_dynpfields.
gi_dynpfields-fieldname = 'P_BAGIA'.
gi_dynpfields-fieldvalue = gi_value_nama-bagian.
APPEND gi_dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-repid
dynumb = '1000'
TABLES
dynpfields = gi_dynpfields
EXCEPTIONS
OTHERS = 8.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment