Hi ,
I am working on the field symbols .
I am calling the F4 help for that field from GRID.
but when is elect the value it is not assignng to the cell in the GRID.
METHOD : get_f4 .
REFRESH gt_fam.
TYPES: BEGIN OF ty_fam,
fam TYPE char3,
END OF ty_fam,
BEGIN OF ty_prod,
prodh TYPE prodh_d,
END OF ty_prod.
data: lt_values type table of seahlpres,
lt_fields type table of dfies,
lt_return type table of ddshretval,
ls_value type seahlpres,
ls_field type dfies,
ls_return type ddshretval.
DATA: gt_fam TYPE TABLE OF ty_fam,
gs_fam TYPE ty_fam,
gt_prodh TYPE TABLE OF ty_prod,
gs_prodh TYPE ty_prod,
gt_return TYPE TABLE OF ddshretval,
gs_return LIKE LINE OF gt_return,
ls_modi TYPE lvc_s_modi.
FIELD-SYMBOLS: <itab> TYPE lvc_t_modi.
ls_field-tabname = 'ZTEST_PARAM'.
ls_field-fieldname = 'FAMILY'.
ls_field-outputlen = 30.
ls_field-scrtext_s = ls_field-fieldname.
ls_field-scrtext_m = ls_field-fieldname.
ls_field-scrtext_l = ls_field-fieldname.
ls_field-reptext = ls_field-fieldname.
append ls_field to lt_fields.
READ TABLE gt_params INTO gs_params INDEX es_row_no-row_id.
SELECT prodh FROM t179 INTO TABLE gt_prodh
WHERE stufe = '4'.
LOOP AT gt_prodh INTO gs_prodh
WHERE prodh+4(3) = gs_params-categ.
gs_fam-fam = gs_prodh-prodh+7(3) .
APPEND gs_fam TO gt_fam.
ENDLOOP.
LOOP AT gt_fam INTO gs_fam..
ls_value-string = gs_fam-fam.
APPEND ls_value TO lt_values.
ENDLOOP.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
ddic_structure = 'ZPFT_PARAMS'
retfield = 'FAMILY'
PVALKEY = ' '
dynpprog = sy-cprog
dynpnr = sy-dynnr
dynprofield = 'GS_PARAMS-FAMILY'
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'C'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
TABLES
value_tab = gt_fam
FIELD_TAB = lt_fields
return_tab = gt_return
DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ASSIGN er_event_data->m_data->* TO <itab>.
READ TABLE gt_return INTO gs_return INDEX 1.
gs_params-family = gs_return-fieldval.
IF NOT gs_return IS INITIAL.
ls_modi-row_id = gs_return-recordpos.
ls_modi-fieldname = gs_return-fieldname.
ls_modi-value = gs_return-fieldval.
APPEND ls_modi TO <itab>.
ENDIF.
er_event_data->m_event_handled = 'X'.
endmethod.
Will anybody let me know why this is not assigning value to the CELL.
Regards,
Madhavi