ABAP SD 行项目ABLAD(卸货点)字段在SD_SALESDOCUMENT_CREATE中的实现代码示例
时间: 2024-05-23 19:14:10 浏览: 119
如何利用BAPI_SALESORDER_CHANGE修改vbak增强字段
在SD_SALESDOCUMENT_CREATE中,ABAP SD行项目ABLAD字段可以通过以下方式实现:
1. 在数据声明部分添加ABLAD字段。
DATA: ls_item TYPE sdc_doc_item,
lt_item TYPE STANDARD TABLE OF sdc_doc_item.
DATA: lv_ablad TYPE ablad.
2. 在循环中,将ABLAD字段传递给行项目结构体。
LOOP AT gt_order_items INTO ls_order_item.
CLEAR ls_item.
ls_item-matnr = ls_order_item-matnr.
ls_item-quantity = ls_order_item-quantity.
ls_item-price = ls_order_item-price.
ls_item-ablad = ls_order_item-ablad. "传递ABLAD字段值
APPEND ls_item TO lt_item.
ENDLOOP.
3. 在创建销售订单的函数模块中,将行项目中的ABLAD字段值传递给相关的表和结构体变量。
CALL FUNCTION 'SD_SALESDOCUMENT_CREATE'
EXPORTING
sales_header_in = ls_header
IMPORTING
sales_header_out = ls_header_out
sales_items_out = lt_item_out
TABLES
sales_item_in = lt_item.
LOOP AT lt_item_out INTO ls_item_out.
READ TABLE lt_item ASSIGNING <fs_item> INDEX sy-tabix.
IF sy-subrc = 0.
<fs_item>-vbap_id = ls_item_out-vbap_id.
<fs_item>-ablfd = ls_item_out-ablfd.
<fs_item>-ablad = ls_item_out-ablad. "传递ABLAD字段值
ENDIF.
ENDLOOP.
这是一个简单的示例,展示了如何在SD_SALESDOCUMENT_CREATE中实现ABAP SD行项目ABLAD字段。具体实现可能因应用场景而异,但这是一个基本的框架。
阅读全文