Я использую BAPI BAPI_PR_CREATE в локальной системе S4HANA для создания заявки на покупку с помощью Cloud SDK v3.
Параметры для создания заявки на закупку приведены ниже на основе документации BAPI.
Parameter: PRHEADER
PR_TYPE = NB
Parameter: PRHEADERX
PR_TYPE = X
Parameter: PRITEM
PREQ_ITEM = 00010
PUR_GROUP = 001
MATERIAL = 100-100
PLANT = 1000
QUANTITY = 5.000
Parameter: PRITEMX
PREQ_ITEM = 00010
PREQ_ITEMX = X
PUR_GROUP = X
MATERIAL = X
PLANT = X
QUANTITY = X
Ниже приведен мой java код. Тип параметра экспорта PRHEADER и PRHEADERX являются структурными. Не могли бы вы предоставить, как построить объект PRHEADER и PRHEADERX?
final BapiRequest bapiCreate = new BapiRequest("BAPI_PR_CREATE")
.withExporting("PRHEADER", "BAPIMEREQHEADER", ????)
.withExporting("PRHEADERX", "BAPIMEREQHEADERX", ????)
.withImporting("NUMBER", "BAPIMEREQHEADER-PREQ_NO")
.withTableAsReturn("BAPIRET2");
// PR Item table
bapiCreate.withTable("PRITEM", "BAPIMEREQITEMIMP")
.row()
// PR Item
.field("PREQ_ITEM", "BNFPO", "00010")
// Purchase Group
.field("PUR_GROUP", "EKGRP", "***")
// Material
.field("MATERIAL", "MATNR18", "***")
// Plant
.field("PLANT", "EWERK", "***")
// Requested quantity
.field("QUANTITY", "BAMNG", "***")
.end();
// PR ItemX table
bapiCreate.withTable("PRITEMX", "BAPIMEREQITEMX")
.row()
// PR Item
.field("PREQ_ITEM", "BNFPO", "00010")
// PR ItemX
.field("PREQ_ITEMX", "BAPIUPDATE", "X")
// Purchase Group
.field("PUR_GROUP", "BAPIUPDATE", "X")
// Material
.field("MATERIAL", "BAPIUPDATE", "X")
// Plant
.field("PLANT", "BAPIUPDATE", "X")
// Requested quantity
.field("QUANTITY", "BAPIUPDATE", "X")
.end();
Обновление
Мне нужно использовать метод "withExportingFields" для построения данных с типом "Структура" .
final BapiRequest bapiCreate = new BapiRequest("BAPI_PR_CREATE")
.withExportingFields("PRHEADER", "BAPIMEREQHEADER")
.field("PR_TYPE", "BANFN", "NB")
.end();
bapiCreate.withExportingFields("PRHEADERX", "BAPIMEREQHEADERX")
.field("PR_TYPE", "BAPIUPDATE", "X")
.end();