Code:
select * into table lt_zuznospis_log_second
from zuznospis_log
where matnr_izd = p_matnr AND node = ''.
select charg
APPENDING table lt_zuznospis_log_second
from mseg where mseg~matnr = p_matnr and mseg~aufnr = aufnr.
мы копируем все данные из таблицы log в lt log_second
где материал берется из введенных параметров на экране выбора и с пустым 'node'.
выбирается 2 материала, но с пустыми полем charge, их мы должны вытянуть из mseg
идем во второй селект и добавляем поле charg в таблице log_second
из таблицы mseg где совпадают matrn с введенным на экране выбора и совпадает с номером заказа aufnr в таблице log_second~aufnr.
как итог очень долгая обработка второго селекта и на экране мы видим два материала с пустыми charge (номер партии) и 36 пустых строк где все нули
проверил таблицу mseg - выбирается лишь 1 строка по этим критериям, может я где допустил ошибку ?
может он пытается добавить все строки, с которыми совпал matnr? не понимаю такого поведения
нашел в начале объявления переменных такие строки:
Code:
aufnr type aufnr,
matnr type matnr,
но я же не могу написать
Code:
from mseg where mseg~matnr = p_matnr and mseg~aufnr = zuznospis_log_second~aufnr.
возможно они как и мешают адекватной работе ?
т.к. при двойном щелчке мыши я проваливаюсь в нужную таблицу, а на aufnr проваливается в объявление переменной.
Как быть в данном случае то ?
предполагаю, что в таком случае может имеет смысл положить aufnr в перменную и с ней тогда сравнивать после первого селекта ?
или же я снова костылики горожу?