ABAP SD_SALESDOCUMENT_CREATE ORDERID如何赋值
时间: 2023-07-27 22:21:02 浏览: 52
在 ABAP 中,要给 SD_SALESDOCUMENT_CREATE 函数中的 ORDERID 参数赋值,可以使用以下语句:
```
DATA: lv_orderid TYPEak-vbeln.
lv_orderid = '123456'. "将订单号赋值给变量
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
sales_header_in = ls_sales_header_in
sales_items_in = lt_sales_items_in
IMPORTING
sales_header_out = ls_sales_header_out
sales_items_out = lt_sales_items_out
TABLES
return = lt_return
EXCEPTIONS
OTHERS = 1.
```
其中,lv_orderid 是一个变量,可以将订单号赋值给它,然后将该变量传递给函数中的 ORDERID 参数即可。在上面的代码中,我们将 ORDERID 参数的赋值留空,因为这个参数是可选的,如果需要可以在函数调用时传递。
相关问题
ABAP SD_SALESDOCUMENT_CREATE 行项目中的订单编号如何赋值
在 ABAP 中,要给行项目中的订单编号赋值,需要使用结构体 `sales_item_in` 中的字段 `orderid`。可以使用以下语句:
```
DATA: lt_sales_items_in TYPE STANDARD TABLE OF sd_sales_item_create_wa,
ls_sales_item_in TYPE sd_sales_item_create_wa.
ls_sales_item_in-orderid = '123456'. "将订单号赋值给字段 orderid
ls_sales_item_in-material = 'MATERIAL01'.
ls_sales_item_in-quantity = 10.
APPEND ls_sales_item_in TO lt_sales_items_in.
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
sales_header_in = ls_sales_header_in
sales_items_in = lt_sales_items_in
IMPORTING
sales_header_out = ls_sales_header_out
sales_items_out = lt_sales_items_out
TABLES
return = lt_return
EXCEPTIONS
OTHERS = 1.
```
在上面的代码中,我们首先定义了一个结构体 `ls_sales_item_in`,并给其中的 `orderid` 字段赋值。然后将该结构体添加到行项目表 `lt_sales_items_in` 中,最后将该表传递给 `SD_SALESDOCUMENT_CREATE` 函数。这样,在创建订单时,行项目中的订单编号就会被赋值为 `123456`。
ABAP SD 行项目卸货点字段在SD_SALESDOCUMENT_CREATE中如何实现
在SD_SALESDOCUMENT_CREATE函数中,行项目的卸货点字段可以通过以下方式实现:
1. 在函数调用之前,创建一个BAPISDITM结构体对象,并为其赋值。其中,字段VBELN表示销售订单号,POSNR表示销售订单行项目号,KUNWE表示卸货点。
2. 声明一个BAPISDITMTABLE类型的表格对象,并将上述BAPISDITM结构体对象添加到该表格中。
3. 调用SD_SALESDOCUMENT_CREATE函数,并将上述表格对象作为输入参数传递给该函数。
4. 在函数返回后,可以通过读取返回的BAPISDITMTABLE表格对象来检查行项目的卸货点是否已成功更新。
示例代码:
```
DATA: ls_item TYPE bapisditm,
lt_item TYPE TABLE OF bapisditm.
ls_item-vbeln = '0000000001'. "销售订单号
ls_item-posnr = '000010'. "销售订单行项目号
ls_item-kunwe = 'Shanghai'. "卸货点
APPEND ls_item TO lt_item.
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
salesdocument = '0000000001' "销售订单号
TABLES
return = lt_return "返回信息表格
salesdocumentitem = lt_item. "销售订单行项目表格
"检查返回结果
LOOP AT lt_return WHERE type = 'E'.
WRITE: / lt_return-message.
ENDLOOP.
```
注意:具体实现方式可能因系统版本和业务需求而异,以上代码仅供参考。