Для проверки при сохранении техкарты (тр. 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.
Комментариев нет:
Отправить комментарий