Для проверки при сохранении техкарты (тр. CA01/CA02) можно использовать enhancement spot ES_SAPLCPDI, точки EHP604_LCPDIFV1_01 и EHP604_LCPDIFP1_02. Первая сработает при нажатии на кнопку "Сохранить", вторая - если сохранить при выходе через кнопку "Назад".
DATA:
lt_plkz_tab TYPE plkz_tab,
lt_plko_tab TYPE plko_tab,
lt_plas_tab TYPE plas_tab,
lt_plpo_tab TYPE plpo_tab,
lt_plfh_tab TYPE plfh_tab,
lt_plmz_tab TYPE plmz_tab,
lt_stpo_tab TYPE stpo_tab,
lt_plwp_tab TYPE plwp_tab,
lv_error.
FIELD-SYMBOLS:
<fs_plpo_tab> LIKE LINE OF lt_plpo_tab.
" Проверка на "заполненность" полей Вид работ
PERFORM collect_task_list_data
USING rc271
tca01
'X'
'X'
'X'
'X'
CHANGING lt_plkz_tab
lt_plko_tab
lt_plas_tab
lt_plpo_tab
lt_plfh_tab
lt_plmz_tab
lt_stpo_tab
lt_plwp_tab.
LOOP AT lt_plpo_tab ASSIGNING <fs_plpo_tab>.
IF <fs_plpo_tab>-lar01 IS INITIAL AND
<fs_plpo_tab>-lar02 IS INITIAL AND
<fs_plpo_tab>-lar03 IS INITIAL.
lv_error = abap_true.
EXIT.
ENDIF.
ENDLOOP.
IF lv_error IS NOT INITIAL.
" Заполните Вид работ.
MESSAGE s001(zca01_message) DISPLAY LIKE 'E'.
ok-code = ok_const-enter.
EXIT.
ENDIF.
Комментариев нет:
Отправить комментарий