Весьма вероятно, что полученное вами сообщение об ошибке не относится к проблеме:
Если SY-SUBRC <> 0
после этого оператора выбора, это означает, что не найдено данных по критериям, указанным в вашем SELECT
. Однако SAP не заполняет переменные SY-MSG * при сбое SELECT
. Таким образом, все, что осталось в памяти из последнего отображенного сообщения, будет отображено.
SELECT VBELN INTO TABLE IT1_VBELN
FROM VAPMA
FOR ALL ENTRIES IN IT_VBELN
WHERE VBELN = IT_VBELN-VBELN AND
VKORG = P_VKORG AND
VTWEG = P_VTWEG AND
SPART = P_SPART AND
KUNNR IN S_KUNNR AND
VBELN IN S_VBELN AND
MATNR IN S_MATNR AND
AUART IN S_AUART AND
AUDAT IN AUDAT.
IF SY-SUBRC <> 0.
"From what you describing it sounds like you're triggering this error message
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Отражая то, что вы сделали с двумя другими вариантами выбора, я думаю, что вы захотите использовать следующее сообщение вместо:
IF SY-SUBRC NE 0.
message E000(ZMSG) WITH 'SEL2'.
ENDIF.