Добрый день! Уважаемые гуру! Имею следующий код программы:
Code:
READ TABLE gt_ref_ltap_t WITH TABLE KEY vbeln = i_vbeln
matnr = i_matnr
pquit = i_pquit TRANSPORTING NO FIELDS.
IF sy-subrc IS NOT INITIAL.
SELECT vbeln matnr pquit vista vsola FROM ltap
APPENDING CORRESPONDING FIELDS OF TABLE gt_ref_ltap_t
WHERE vbeln = i_vbeln AND
matnr = i_matnr AND
pquit = i_pquit.
Я понимаю что в READ TABLE программа проверяет есть ли строка с уникальными значениями i_vbeln, i_matnr, i_pquit. И если нет, то соответственно выполняется запрос в таблицу ltap. Но у меня при выполнении SELECT программа падает в дамп:
An entry was to be entered into the table
"\PROGRAM=YRDE_WM_TOD\DATA=GT_REF_LTAP_T" (which should have
had a unique table key (UNIQUE KEY)).
However, there already existed a line with an identical key.
The insert-operation could have ocurred as a result of an INSERT- or
MOVE command, or in conjunction with a SELECT ... INTO.
The statement "INSERT INITIAL LINE ..." cannot be used to insert several
initial lines into a table with a unique key.
В отладчике поиск по полям vbeln = i_vbeln , matnr = i_matnr, pquit = i_pquit в GT_REF_LTAP_T результатов не дает, т.е. строки с такими данными нет.
Подскажите, пжл, куда копать?