*&———————————————————————*
*& Form F_ALV_F4
*&———————————————————————*
* ALV F4 help
*———————————————————————-*
FORM f_alv_f4 USING us_fieldname TYPE lvc_fname
us_fieldvalue TYPE lvc_value
us_row_no TYPE lvc_s_roid
CHANGING ch_evt_data TYPE REF TO cl_alv_event_data.
DATA:
e_l_alvdata TYPE y_alvdata,
e_l_wkcfg TYPE zqxx_ls_wkcfg,
e_l_f4_shift TYPE y_f4_shift,
e_l_mod_cell TYPE lvc_s_modi,
w_l_date(6) TYPE c,
w_l_shift TYPE kaptprog,
e_l_dftrsrc TYPE zqxx_ls_s_dftrsrc.
FIELD-SYMBOLS: <fs_tab> TYPE lvc_t_modi.
READ TABLE ts_alvdata INTO e_l_alvdata INDEX us_row_no-row_id.
CHECK NOT e_l_alvdata-item IS INITIAL.
*” Shift
IF us_fieldname = ‘SHIFT’.
*”1. Get the workcenter
CHECK e_l_alvdata-tsklst_sts EQ ‘O’.
*”2. Get the Shift group
*”3. Get the shift codes table
*”4. Set the selected shift-code
*”5. Show the F4 window
CALL SCREEN 9004 STARTING AT 10 5
ENDING AT 80 15.
*”6. After select
CLEAR:e_l_f4_shift.
READ TABLE ts_f4_shift INTO e_l_f4_shift
WITH KEY sel = ‘X’.
IF sy-subrc = 0.
CLEAR:e_l_mod_cell.
e_l_mod_cell-row_id = us_row_no-row_id.
e_l_mod_cell-fieldname = us_fieldname.
CONCATENATE sy-datum+2(6)
‘-’
e_l_f4_shift-kaptprog
INTO e_l_mod_cell-value.
ASSIGN ch_evt_data->m_data->* TO <fs_tab>.
APPEND e_l_mod_cell TO <fs_tab>.
ENDIF.
ENDIF.
*” User group or User
IF us_fieldname = ‘USERGRP’ OR
us_fieldname = ‘BNAME’.
*”1. Get the workcenter
*”3. Show the F4 window
CALL SCREEN 9005 STARTING AT 10 5
ENDING AT 80 15.
*”4. Assign the modified value
“User
IF zqxx_ls_s_tasklistf4-bname IS NOT INITIAL.
CLEAR:e_l_mod_cell.
e_l_mod_cell-row_id = us_row_no-row_id.
e_l_mod_cell-fieldname = ‘BNAME’.
e_l_mod_cell-value = zqxx_ls_s_tasklistf4-bname.
ASSIGN ch_evt_data->m_data->* TO <fs_tab>.
APPEND e_l_mod_cell TO <fs_tab>.
ENDIF.
“User group
IF zqxx_ls_s_tasklistf4-usergrp IS NOT INITIAL.
CLEAR:e_l_mod_cell.
e_l_mod_cell-row_id = us_row_no-row_id.
e_l_mod_cell-fieldname = ‘USERGRP’.
e_l_mod_cell-value = zqxx_ls_s_tasklistf4-usergrp.
ASSIGN ch_evt_data->m_data->* TO <fs_tab>.
APPEND e_l_mod_cell TO <fs_tab>.
ENDIF.
ENDIF.
ENDFORM. “ F_ALV_F4