VB_BATCH_READ_BUFFER_DB - Прочитать данные партии. В общем виде читаются таблицы MCHA, MCH1 и MCHB, а так же ссылочные номера объектов на данные конфигурации и классификации партии + имя класса. Из полезного умеет эти данные буферизировать, так что если читать много и часто, то вещь вроде как полезная, не надо этим заморачиваться в своей программе. Так же из полезного можно потребовать выполнить блокирование прочитанной партии. Из параметров вроде как все ясно, так что пример особо в расписывании не нуждается.
DATA: l_matnr LIKE mara-matnr,
l_charg LIKE mch1-charg,
l_werks LIKE t001w-werks,
ls_batch_buffer LIKE mcha,
ls_mch1_buffer LIKE mch1,
ls_mchb_buffer LIKE mchb.
l_matnr = '100000000'.
l_charg = '0000000001'.
l_werks = '1000'.
CALL FUNCTION 'VB_BATCH_READ_BUFFER_DB'
EXPORTING
matnr = l_matnr
charg = l_charg
werks = l_werks
* LGORT =
read_from_buffer = 'X'
* READ_FROM_DB =
* LOCK_BATCH = ' '
IMPORTING
batch_buffer = ls_batch_buffer
* RC_BATCH_BUFFER =
* BATCH_DB =
* RC_BATCH_DB =
* BATCH_DEL_FLAGS_BUFFER =
* BATCH_DEL_FLAGS_DB =
mch1_buffer = ls_mch1_buffer
* RC_MCH1_BUFFER =
* MCH1_DB =
* RC_MCH1_DB =
* MCHA_BUFFER =
* RC_MCHA_BUFFER =
* MCHA_DB =
* RC_MCHA_DB =
mchb_buffer = ls_mchb_buffer
* RC_MCHB_BUFFER =
* MCHB_DB =
* RC_MCHB_DB =
* BATCH_CUOBJ =
* BATCH_OBJEK =
* BATCH_CLASS =
* EXIST_IN_C_BUFFER =
EXCEPTIONS
no_material = 1
no_batch = 2
no_plant = 3
lock_on_batch = 4
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.