Screenshot
Getting F4 help from the internal table[the values fetched].
PARAMETERS: p_table TYPE dd02l-tabname,
p_field(30) TYPE c,
p_field1(30) TYPE c.
p_field1(30) TYPE c.
DATA: w_tabname TYPE w_tabname,
w_choice TYPE sy-tabix.
DATA: BEGIN OF t_field OCCURS 0,
field TYPE dd03l-fieldname,
END OF t_field.
DATA:t_return LIKE ddshretval OCCURS 0 WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_field.
w_tabname = p_table.
SELECT fieldname
FROM
dd03l
INTO TABLE t_field
WHERE tabname = w_tabname.
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
endpos_col = 10
endpos_row = 10
startpos_col = 1
startpos_row = 1
Titletext = 'FIELDNAME'
IMPORTING
choise = w_choice
TABLES
valuetab = t_field
EXCEPTIONS
break_off = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
READ TABLE t_field INDEX w_choice.
p_field = t_field-field.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_field1.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'FIELDNAME'
value_org = 'S'
TABLES
value_tab = t_field
return_tab = t_return
.
IF sy-subrc = 0.
read table t_return index 1.
p_field1 = t_return-fieldval.
Else.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.