2020-08-18 05:29发布
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 有人像我们在 VL... 显示全部
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
有人像我们在 VL02N 中所做的那样,使用 BAPI_OUTB_DELIVERY_CHANGE 完成了批量拆分。
要在VL02N中自动化批次拆分过程,我有两个选择:
1)VL02N的BDC
2)使用BAPI_OUTB_DELIVERY_CHANGE
BAPI_OUTB_DELIVERY_CHANGE是否可以满足我的要求。
需要有价值的输入。
谢谢
subba
尝试一下。
报告z_delivery_batch_split。
DATA:header_data类似于bapiibdlvhdrchg,
header_control类似bapiibdlvhdrctrlchg,
交付类似bapiibdlvhdrchg-deliv_numb,
ls_return类似bapiret2,
bapiibdlvitemchg的item_data类型表,
bapiibdlvitemctrlchg的item_control类型表,
ls_item_data类似bapiibdlvitemchg,
ls_item_control类似于bapiibdlvitemctrlchg,
返回具有非唯一键类型的bapiret2的类型表。
header_data-deliv_numb ='1800005005'。
header_control-deliv_numb ='1800005005'。
delivery ='1800005005'。
ls_item_data-deliv_numb ='1800005005'。
ls_item_data-deliv_item ='900001'。
ls_item_data-material ='000000000020067722'。
PERFORM create_batch更改ls_item_data-batch。
ls_item_data-hieraritem ='000010'。
ls_item_data-usehieritm ='1'。
ls_item_data-dlv_qty = 80。
ls_item_data-dlv_qty_imunit = 80。
ls_item_data-fact_unit_nom ='1'。
ls_item_data-fact_unit_denom ='1'。
ls_item_data-sales_unit ='EA'。
ls_item_data-base_uom ='EA'。
APPEND ls_item_data到item_data。
ls_item_data-deliv_item ='900002'。
ls_item_data-dlv_qty = 60。
ls_item_data-dlv_qty_imunit = 60。
ls_item_control-deliv_numb ='1800005005'。
ls_item_control-deliv_item ='900001'。
ls_item_control-chg_delqty ='X'。
APPEND ls_item_control到item_control。
ls_item_control-deliv_item ='900002'。
打破cgavin。
通话功能'BAPI_INB_DELIVERY_CHANGE'
导出
header_data = header_data
header_control = header_control
交付=交付
* TECHN_CONTROL = TECHN_CONTROL
表格
* HEADER_PARTNER = HEADER_PARTNER
* HEADER_PARTNER_ADDR = HEADER_PARTNER_ADDR
* HEADER_DEADLINES = HEADER_DEADLINES
item_data = item_data
item_control = item_control
* ITEM_SERIAL_NO = ITEM_SERIAL_NO
* EXTENSION1 = EXTENSION1
* EXTENSION2 = EXTENSION2
return = return
* TOKENREFERENCE = TOKENREFERENCE
* HANDLING_UNIT_HEADER = HANDLING_UNIT_HEADER
* HANDLING_UNIT_ITEM = HANDLING_UNIT_ITEM
* PARTIAL_GR_OBJECTS = PARTIAL_GR_OBJECTS
。
READ TABLE返回
INTO ls_return
WITH TABLE KEY type ='E'。
如果sy-subrc = 0。
消息ID ls_return-id类型ls_return-type NUMBER ls_return-number with ls_return-message_v1 ls_return-message_v2
ls_return-message_v3 ls_return-message_v4。
ENDIF。
通话功能'BAPI_TRANSACTION_COMMIT'
等待='X'。
*&--------------------------------------------- ------------------------ *
*&表格CREATE_BATCH
*文字
* ---------------------------------------------- ------------------------ *
* <-P_LS_ITEM_DATA_BATCH文本
FORM create_batch更改p_ls_item_data_batch。
数据:ls_bncom类型bncom。
ls_bncom-matnr = ls_item_data-material。
ls_bncom-werks ='C333'。
ls_bncom-lgort ='3000'。
选择单个mtart
来自玛拉
INTO ls_bncom-mtart
matnr = ls_bncom-matnr。
通话功能'VB_NEXT_BATCH_NUMBER'
matnr = ls_bncom-matnr
werks = ls_bncom-werks
check_batch ='X'
check_material =''
message_when_auto =''
x_bncom = ls_bncom
lock_batch =''
导入
new_charg = p_ls_item_data_batch
例外情况
no_material = 1
no_plant = 2
material_not_found = 3
plant_not_found = 4
no_batch_handling = 5
batch_exist = 6
no_number = 7
非法批次编号= 8
interval_not_found = 9
object_not_found = 10
interval_overflow = 11
error_automatic_batch_number = 12
取消= 13
automatic_batch_num_not_active = 14
其他= 15。
ENDFORM。 " CREATE_BATCH
最多设置5个标签!
尝试一下。
报告z_delivery_batch_split。
DATA:header_data类似于bapiibdlvhdrchg,
header_control类似bapiibdlvhdrctrlchg,
交付类似bapiibdlvhdrchg-deliv_numb,
ls_return类似bapiret2,
bapiibdlvitemchg的item_data类型表,
bapiibdlvitemctrlchg的item_control类型表,
ls_item_data类似bapiibdlvitemchg,
ls_item_control类似于bapiibdlvitemctrlchg,
返回具有非唯一键类型的bapiret2的类型表。
header_data-deliv_numb ='1800005005'。
header_control-deliv_numb ='1800005005'。
delivery ='1800005005'。
ls_item_data-deliv_numb ='1800005005'。
ls_item_data-deliv_item ='900001'。
ls_item_data-material ='000000000020067722'。
PERFORM create_batch更改ls_item_data-batch。
ls_item_data-hieraritem ='000010'。
ls_item_data-usehieritm ='1'。
ls_item_data-dlv_qty = 80。
ls_item_data-dlv_qty_imunit = 80。
ls_item_data-fact_unit_nom ='1'。
ls_item_data-fact_unit_denom ='1'。
ls_item_data-sales_unit ='EA'。
ls_item_data-base_uom ='EA'。
APPEND ls_item_data到item_data。
ls_item_data-deliv_numb ='1800005005'。
ls_item_data-deliv_item ='900002'。
ls_item_data-material ='000000000020067722'。
PERFORM create_batch更改ls_item_data-batch。
ls_item_data-hieraritem ='000010'。
ls_item_data-usehieritm ='1'。
ls_item_data-dlv_qty = 60。
ls_item_data-dlv_qty_imunit = 60。
ls_item_data-fact_unit_nom ='1'。
ls_item_data-fact_unit_denom ='1'。
ls_item_data-sales_unit ='EA'。
ls_item_data-base_uom ='EA'。
APPEND ls_item_data到item_data。
ls_item_control-deliv_numb ='1800005005'。
ls_item_control-deliv_item ='900001'。
ls_item_control-chg_delqty ='X'。
APPEND ls_item_control到item_control。
ls_item_control-deliv_numb ='1800005005'。
ls_item_control-deliv_item ='900002'。
ls_item_control-chg_delqty ='X'。
APPEND ls_item_control到item_control。
打破cgavin。
通话功能'BAPI_INB_DELIVERY_CHANGE'
导出
header_data = header_data
header_control = header_control
交付=交付
* TECHN_CONTROL = TECHN_CONTROL
表格
* HEADER_PARTNER = HEADER_PARTNER
* HEADER_PARTNER_ADDR = HEADER_PARTNER_ADDR
* HEADER_DEADLINES = HEADER_DEADLINES
item_data = item_data
item_control = item_control
* ITEM_SERIAL_NO = ITEM_SERIAL_NO
* EXTENSION1 = EXTENSION1
* EXTENSION2 = EXTENSION2
return = return
* TOKENREFERENCE = TOKENREFERENCE
* HANDLING_UNIT_HEADER = HANDLING_UNIT_HEADER
* HANDLING_UNIT_ITEM = HANDLING_UNIT_ITEM
* PARTIAL_GR_OBJECTS = PARTIAL_GR_OBJECTS
。
READ TABLE返回
INTO ls_return
WITH TABLE KEY type ='E'。
如果sy-subrc = 0。
消息ID ls_return-id类型ls_return-type NUMBER ls_return-number with ls_return-message_v1 ls_return-message_v2
ls_return-message_v3 ls_return-message_v4。
ENDIF。
通话功能'BAPI_TRANSACTION_COMMIT'
导出
等待='X'。
打破cgavin。
*&--------------------------------------------- ------------------------ *
*&表格CREATE_BATCH
*&--------------------------------------------- ------------------------ *
*文字
* ---------------------------------------------- ------------------------ *
* <-P_LS_ITEM_DATA_BATCH文本
* ---------------------------------------------- ------------------------ *
FORM create_batch更改p_ls_item_data_batch。
数据:ls_bncom类型bncom。
ls_bncom-matnr = ls_item_data-material。
ls_bncom-werks ='C333'。
ls_bncom-lgort ='3000'。
选择单个mtart
来自玛拉
INTO ls_bncom-mtart
matnr = ls_bncom-matnr。
通话功能'VB_NEXT_BATCH_NUMBER'
导出
matnr = ls_bncom-matnr
werks = ls_bncom-werks
check_batch ='X'
check_material =''
message_when_auto =''
x_bncom = ls_bncom
lock_batch =''
导入
new_charg = p_ls_item_data_batch
例外情况
no_material = 1
no_plant = 2
material_not_found = 3
plant_not_found = 4
no_batch_handling = 5
batch_exist = 6
no_number = 7
非法批次编号= 8
interval_not_found = 9
object_not_found = 10
interval_overflow = 11
error_automatic_batch_number = 12
取消= 13
automatic_batch_num_not_active = 14
其他= 15。
如果sy-subrc = 0。
通话功能'BAPI_TRANSACTION_COMMIT'
导出
等待='X'。
ENDIF。
ENDFORM。 " CREATE_BATCH
一周热门 更多>