如何在Cloud SDK v3的Bapi调用中提供结构参数作为导入。

我在 S4HANA 内部系统上使用 BAPI BAPI_PR_CREATE 来使用 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代码。输出参数的类型 PRHEADERPRHEADERX 是结构。能否提供如何构造对象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 “方法来构建类型为 “Structure “的数据。

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();

解决方案:

我认为您可以将 “结构 “视为类似于 “表 “的结构,例如。

bapiCreate.withExportingFields("PRHEADER", "BAPIMEREQHEADER")
.row()
.field("columnName1", "dataType1", "value1")
.field("columnName2", "dataType2", "value2")
.end();

(已更新 withExportingTablewithExportingFields(由于反馈,)

给TA打赏
共{{data.count}}人
人已打赏
未分类

一个整数数组中每个元素的数字之和。

2022-9-8 0:22:16

未分类

$slice在mongoDB中的嵌入式文档中不起作用。

2022-9-8 0:22:18

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索