业务对象销售订单
2013-05-28 14:51
573 查看
FUNCTION BAPI_SALESORDER_CHANGE.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(SALESDOCUMENT) LIKE BAPIVBELN-VBELN
*" VALUE(ORDER_HEADER_IN) LIKE BAPISDH1 STRUCTURE BAPISDH1
*" OPTIONAL
*" VALUE(ORDER_HEADER_INX) LIKE BAPISDH1X STRUCTURE BAPISDH1X
*" VALUE(SIMULATION) LIKE BAPIFLAG-BAPIFLAG OPTIONAL
*" VALUE(BEH***E_WHEN_ERROR) LIKE BAPIFLAG-BAPIFLAG DEFAULT SPACE
*" VALUE(INT_NUMBER_ASSIGNMENT) LIKE BAPIFLAG-BAPIFLAG DEFAULT
*" SPACE
*" VALUE(LOGIC_SWITCH) LIKE BAPISDLS STRUCTURE BAPISDLS OPTIONAL
*" VALUE(NO_STATUS_BUF_INIT) LIKE BAPIFLAG-BAPIFLAG DEFAULT SPACE
*" TABLES
*" RETURN STRUCTURE BAPIRET2
*" ORDER_ITEM_IN STRUCTURE BAPISDITM OPTIONAL
*" ORDER_ITEM_INX STRUCTURE BAPISDITMX OPTIONAL
*" PARTNERS STRUCTURE BAPIPARNR OPTIONAL
*" PARTNERCHANGES STRUCTURE BAPIPARNRC OPTIONAL
*" PARTNERADDRESSES STRUCTURE BAPIADDR1 OPTIONAL
*" ORDER_CFGS_REF STRUCTURE BAPICUCFG OPTIONAL
*" ORDER_CFGS_INST STRUCTURE BAPICUINS OPTIONAL
*" ORDER_CFGS_PART_OF STRUCTURE BAPICUPRT OPTIONAL
*" ORDER_CFGS_VALUE STRUCTURE BAPICUVAL OPTIONAL
*" ORDER_CFGS_BLOB STRUCTURE BAPICUBLB OPTIONAL
*" ORDER_CFGS_VK STRUCTURE BAPICUVK OPTIONAL
*" ORDER_CFGS_REFINST STRUCTURE BAPICUREF OPTIONAL
*" SCHEDULE_LINES STRUCTURE BAPISCHDL OPTIONAL
*" SCHEDULE_LINESX STRUCTURE BAPISCHDLX OPTIONAL
*" ORDER_TEXT STRUCTURE BAPISDTEXT OPTIONAL
*" ORDER_KEYS STRUCTURE BAPISDKEY OPTIONAL
*" CONDITIONS_IN STRUCTURE BAPICOND OPTIONAL
*" CONDITIONS_INX STRUCTURE BAPICONDX OPTIONAL
*" EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL
*"----------------------------------------------------------------------
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G8 SPOTS ES_SAPL2032 STATIC.
*$*$-Start: BAPI_SALESORDER_CHANGE_G8-----------------------------------------------------------$*$*
ENHANCEMENT 18 MGV_GENERATED_SAPL2032. "active version
DATA: T_MGV_FNAMES1 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <MGV_ORDER_ITEM_INX> TYPE BAPISDITMX.
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G8-----------------------------------------------------------$*$*
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G6 SPOTS ES_SAPL2032.
*$*$-Start: BAPI_SALESORDER_CHANGE_G6-----------------------------------------------------------$*$*
ENHANCEMENT 16 MGV_GENERATED_SAPL2032. "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
*Do not change coding between begin and end comments. ANI 20050331
T_MGV_FNAMES1-INT = 'PR_REF_MAT'.
T_MGV_FNAMES1-EXT = 'P_MAT_EXT'.
T_MGV_FNAMES1-VERS = 'P_MAT_VERS'.
T_MGV_FNAMES1-GUID = 'P_MAT_GUID'.
APPEND T_MGV_FNAMES1.
T_MGV_FNAMES1-INT = 'MAT_ENTRD'.
T_MGV_FNAMES1-EXT = 'MAT_ENTRD_EXTERNAL'.
T_MGV_FNAMES1-VERS = 'MAT_ENTRD_VERSION'.
T_MGV_FNAMES1-GUID = 'MAT_ENTRD_GUID'.
APPEND T_MGV_FNAMES1.
T_MGV_FNAMES1-INT = 'MATERIAL'.
T_MGV_FNAMES1-EXT = 'MAT_EXT'.
T_MGV_FNAMES1-VERS = 'MAT_VERS'.
T_MGV_FNAMES1-GUID = 'MAT_GUID'.
APPEND T_MGV_FNAMES1.
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
INT_TO_EXTERNAL = ' '
TABLES
T_FNAMES = T_MGV_FNAMES1
T_MATNR = ORDER_ITEM_IN
.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( P_MAT_EXT IS INITIAL AND
P_MAT_VERS IS INITIAL AND
P_MAT_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-PR_REF_MAT = 'X'.
ENDLOOP.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( MAT_ENTRD_EXTERNAL IS INITIAL AND
MAT_ENTRD_VERSION IS INITIAL AND
MAT_ENTRD_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-MAT_ENTRD = 'X'.
ENDLOOP.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( MAT_EXT IS INITIAL AND
MAT_VERS IS INITIAL AND
MAT_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-MATERIAL = 'X'.
ENDLOOP.
*{BAPI End} generation
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G6-----------------------------------------------------------$*$*
* generate data record
fbgenmac 'BAPI_SALESORDER_CHANGE'.
DATA: BEGIN OF DA_ORDER_HEADER_IN.
INCLUDE STRUCTURE BAPISDHD1.
DATA: END OF DA_ORDER_HEADER_IN.
DATA: BEGIN OF DA_ORDER_HEADER_INX.
INCLUDE STRUCTURE BAPISDHD1X.
DATA: END OF DA_ORDER_HEADER_INX.
DATA: BEGIN OF DA_ORDER_ITEM_IN OCCURS 10.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF DA_ORDER_ITEM_IN.
DATA: BEGIN OF DA_ORDER_ITEM_INX OCCURS 10.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF DA_ORDER_ITEM_INX.
REFRESH: DA_ORDER_ITEM_IN,
DA_ORDER_ITEM_INX,
RETURN.
CLEAR : DA_ORDER_HEADER_IN,
DA_ORDER_HEADER_INX,
DA_ORDER_ITEM_IN,
DA_ORDER_ITEM_INX,
RETURN.
* 00. BAPIs run without dialog, set the flag
CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
ENHANCEMENT-SECTION BAPI_SALES_ORDER_CHANGE_02 SPOTS ES_SAPL2032.
* 1. Convert to BAPI structure head
MOVE-CORRESPONDING ORDER_HEADER_IN TO DA_ORDER_HEADER_IN.
MOVE-CORRESPONDING ORDER_HEADER_INX TO DA_ORDER_HEADER_INX.
* 2. Convert to BAPI structure item
LOOP AT ORDER_ITEM_IN.
MOVE-CORRESPONDING ORDER_ITEM_IN TO DA_ORDER_ITEM_IN.
APPEND DA_ORDER_ITEM_IN.
ENDLOOP.
LOOP AT ORDER_ITEM_INX.
MOVE-CORRESPONDING ORDER_ITEM_INX TO DA_ORDER_ITEM_INX.
APPEND DA_ORDER_ITEM_INX.
ENDLOOP.
* 2. CALL the FB
CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
EXPORTING
SALESDOCUMENT = SALESDOCUMENT
ORDER_HEADER_IN = DA_ORDER_HEADER_IN
ORDER_HEADER_INX = DA_ORDER_HEADER_INX
SIMULATION = SIMULATION
BEH***E_WHEN_ERROR = BEH***E_WHEN_ERROR
INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT
logic_switch = logic_switch
BUSINESS_OBJECT = 'BUS2032'
CALL_FROM_BAPI = 'X'
no_status_buf_init = no_status_buf_init
TABLES
RETURN = RETURN
ITEM_IN = DA_ORDER_ITEM_IN
ITEM_INX = DA_ORDER_ITEM_INX
SCHEDULE_IN = SCHEDULE_LINES
SCHEDULE_INX = SCHEDULE_LINESX
partners = partners
partnerchanges = partnerchanges
partneraddresses = partneraddresses
CONDITIONS_IN = CONDITIONS_IN
CONDITIONS_INX = CONDITIONS_INX
SALES_CFGS_REF = ORDER_CFGS_REF
SALES_CFGS_INST = ORDER_CFGS_INST
SALES_CFGS_PART_OF = ORDER_CFGS_PART_OF
SALES_CFGS_VALUE = ORDER_CFGS_VALUE
SALES_CFGS_BLOB = ORDER_CFGS_BLOB
sales_cfgs_vk = order_cfgs_vk
sales_cfgs_refinst = order_cfgs_refinst
SALES_TEXT = ORDER_TEXT
SALES_KEYS = ORDER_KEYS
EXTENSIONIN = EXTENSIONIN.
END-ENHANCEMENT-SECTION.
*$*$-Start: BAPI_SALES_ORDER_CHANGE_02----------------------------------------------------------$*$*
ENHANCEMENT 3 /NFM/SD_BAPI_SALES_ORDER_01. "active version
* /NFM/ processing - C5007732
call function '/NFM/CA_BAPI_TRANSFER_DOCITM'
exporting
im_doc_type_nfm = 'A'
im_documentin = salesdocument
im_simulation = simulation
tables
t_nfmetallitms = nfmetallitms
t_return = return.
* check if error occurred
loop at return transporting no fields
where type = 'E' or
type = 'A'.
exit.
endloop.
if sy-subrc <> 0.
* 1. Convert to BAPI structure head
MOVE-CORRESPONDING ORDER_HEADER_IN TO DA_ORDER_HEADER_IN.
MOVE-CORRESPONDING ORDER_HEADER_INX TO DA_ORDER_HEADER_INX.
* 2. Convert to BAPI structure item
LOOP AT ORDER_ITEM_IN.
MOVE-CORRESPONDING ORDER_ITEM_IN TO DA_ORDER_ITEM_IN.
APPEND DA_ORDER_ITEM_IN.
ENDLOOP.
LOOP AT ORDER_ITEM_INX.
MOVE-CORRESPONDING ORDER_ITEM_INX TO DA_ORDER_ITEM_INX.
APPEND DA_ORDER_ITEM_INX.
ENDLOOP.
* 2. CALL the FB
CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
EXPORTING
SALESDOCUMENT = SALESDOCUMENT
ORDER_HEADER_IN = DA_ORDER_HEADER_IN
ORDER_HEADER_INX = DA_ORDER_HEADER_INX
SIMULATION = SIMULATION
BEH***E_WHEN_ERROR = BEH***E_WHEN_ERROR
INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT
logic_switch = logic_switch
BUSINESS_OBJECT = 'BUS2032'
CALL_FROM_BAPI = 'X'
TABLES
RETURN = RETURN
ITEM_IN = DA_ORDER_ITEM_IN
ITEM_INX = DA_ORDER_ITEM_INX
SCHEDULE_IN = SCHEDULE_LINES
SCHEDULE_INX = SCHEDULE_LINESX
partners = partners
partnerchanges = partnerchanges
partneraddresses = partneraddresses
CONDITIONS_IN = CONDITIONS_IN
CONDITIONS_INX = CONDITIONS_INX
SALES_CFGS_REF = ORDER_CFGS_REF
SALES_CFGS_INST = ORDER_CFGS_INST
SALES_CFGS_PART_OF = ORDER_CFGS_PART_OF
SALES_CFGS_VALUE = ORDER_CFGS_VALUE
SALES_CFGS_BLOB = ORDER_CFGS_BLOB
sales_cfgs_vk = order_cfgs_vk
sales_cfgs_refinst = order_cfgs_refinst
SALES_TEXT = ORDER_TEXT
SALES_KEYS = ORDER_KEYS
EXTENSIONIN = EXTENSIONIN.
* /NFM/ processing - C5007732
call function '/NFM/CA_BAPI_DOCITM_GET'
tables
t_nfmetallitms = nfmetallitms.
endif. "sy-subrc <> 0.
ENDENHANCEMENT.
*$*$-End: BAPI_SALES_ORDER_CHANGE_02----------------------------------------------------------$*$*
* reset / initialize the dialogflag
CALL FUNCTION 'DIALOG_SET_WITH_DIALOG'.
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G7 SPOTS ES_SAPL2032.
*$*$-Start: BAPI_SALESORDER_CHANGE_G7-----------------------------------------------------------$*$*
ENHANCEMENT 17 MGV_GENERATED_SAPL2032. "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
INT_TO_EXTERNAL = 'X'
TABLES
T_FNAMES = T_MGV_FNAMES1
T_MATNR = ORDER_ITEM_IN
.
*{BAPI End} generation
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G7-----------------------------------------------------------$*$*
ENDFUNCTION.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(SALESDOCUMENT) LIKE BAPIVBELN-VBELN
*" VALUE(ORDER_HEADER_IN) LIKE BAPISDH1 STRUCTURE BAPISDH1
*" OPTIONAL
*" VALUE(ORDER_HEADER_INX) LIKE BAPISDH1X STRUCTURE BAPISDH1X
*" VALUE(SIMULATION) LIKE BAPIFLAG-BAPIFLAG OPTIONAL
*" VALUE(BEH***E_WHEN_ERROR) LIKE BAPIFLAG-BAPIFLAG DEFAULT SPACE
*" VALUE(INT_NUMBER_ASSIGNMENT) LIKE BAPIFLAG-BAPIFLAG DEFAULT
*" SPACE
*" VALUE(LOGIC_SWITCH) LIKE BAPISDLS STRUCTURE BAPISDLS OPTIONAL
*" VALUE(NO_STATUS_BUF_INIT) LIKE BAPIFLAG-BAPIFLAG DEFAULT SPACE
*" TABLES
*" RETURN STRUCTURE BAPIRET2
*" ORDER_ITEM_IN STRUCTURE BAPISDITM OPTIONAL
*" ORDER_ITEM_INX STRUCTURE BAPISDITMX OPTIONAL
*" PARTNERS STRUCTURE BAPIPARNR OPTIONAL
*" PARTNERCHANGES STRUCTURE BAPIPARNRC OPTIONAL
*" PARTNERADDRESSES STRUCTURE BAPIADDR1 OPTIONAL
*" ORDER_CFGS_REF STRUCTURE BAPICUCFG OPTIONAL
*" ORDER_CFGS_INST STRUCTURE BAPICUINS OPTIONAL
*" ORDER_CFGS_PART_OF STRUCTURE BAPICUPRT OPTIONAL
*" ORDER_CFGS_VALUE STRUCTURE BAPICUVAL OPTIONAL
*" ORDER_CFGS_BLOB STRUCTURE BAPICUBLB OPTIONAL
*" ORDER_CFGS_VK STRUCTURE BAPICUVK OPTIONAL
*" ORDER_CFGS_REFINST STRUCTURE BAPICUREF OPTIONAL
*" SCHEDULE_LINES STRUCTURE BAPISCHDL OPTIONAL
*" SCHEDULE_LINESX STRUCTURE BAPISCHDLX OPTIONAL
*" ORDER_TEXT STRUCTURE BAPISDTEXT OPTIONAL
*" ORDER_KEYS STRUCTURE BAPISDKEY OPTIONAL
*" CONDITIONS_IN STRUCTURE BAPICOND OPTIONAL
*" CONDITIONS_INX STRUCTURE BAPICONDX OPTIONAL
*" EXTENSIONIN STRUCTURE BAPIPAREX OPTIONAL
*"----------------------------------------------------------------------
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G8 SPOTS ES_SAPL2032 STATIC.
*$*$-Start: BAPI_SALESORDER_CHANGE_G8-----------------------------------------------------------$*$*
ENHANCEMENT 18 MGV_GENERATED_SAPL2032. "active version
DATA: T_MGV_FNAMES1 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
FIELD-SYMBOLS: <MGV_ORDER_ITEM_INX> TYPE BAPISDITMX.
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G8-----------------------------------------------------------$*$*
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G6 SPOTS ES_SAPL2032.
*$*$-Start: BAPI_SALESORDER_CHANGE_G6-----------------------------------------------------------$*$*
ENHANCEMENT 16 MGV_GENERATED_SAPL2032. "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
*Do not change coding between begin and end comments. ANI 20050331
T_MGV_FNAMES1-INT = 'PR_REF_MAT'.
T_MGV_FNAMES1-EXT = 'P_MAT_EXT'.
T_MGV_FNAMES1-VERS = 'P_MAT_VERS'.
T_MGV_FNAMES1-GUID = 'P_MAT_GUID'.
APPEND T_MGV_FNAMES1.
T_MGV_FNAMES1-INT = 'MAT_ENTRD'.
T_MGV_FNAMES1-EXT = 'MAT_ENTRD_EXTERNAL'.
T_MGV_FNAMES1-VERS = 'MAT_ENTRD_VERSION'.
T_MGV_FNAMES1-GUID = 'MAT_ENTRD_GUID'.
APPEND T_MGV_FNAMES1.
T_MGV_FNAMES1-INT = 'MATERIAL'.
T_MGV_FNAMES1-EXT = 'MAT_EXT'.
T_MGV_FNAMES1-VERS = 'MAT_VERS'.
T_MGV_FNAMES1-GUID = 'MAT_GUID'.
APPEND T_MGV_FNAMES1.
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
INT_TO_EXTERNAL = ' '
TABLES
T_FNAMES = T_MGV_FNAMES1
T_MATNR = ORDER_ITEM_IN
.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( P_MAT_EXT IS INITIAL AND
P_MAT_VERS IS INITIAL AND
P_MAT_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-PR_REF_MAT = 'X'.
ENDLOOP.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( MAT_ENTRD_EXTERNAL IS INITIAL AND
MAT_ENTRD_VERSION IS INITIAL AND
MAT_ENTRD_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-MAT_ENTRD = 'X'.
ENDLOOP.
LOOP AT ORDER_ITEM_INX ASSIGNING <MGV_ORDER_ITEM_INX>
WHERE NOT ( MAT_EXT IS INITIAL AND
MAT_VERS IS INITIAL AND
MAT_GUID IS INITIAL ).
<MGV_ORDER_ITEM_INX>-MATERIAL = 'X'.
ENDLOOP.
*{BAPI End} generation
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G6-----------------------------------------------------------$*$*
* generate data record
fbgenmac 'BAPI_SALESORDER_CHANGE'.
DATA: BEGIN OF DA_ORDER_HEADER_IN.
INCLUDE STRUCTURE BAPISDHD1.
DATA: END OF DA_ORDER_HEADER_IN.
DATA: BEGIN OF DA_ORDER_HEADER_INX.
INCLUDE STRUCTURE BAPISDHD1X.
DATA: END OF DA_ORDER_HEADER_INX.
DATA: BEGIN OF DA_ORDER_ITEM_IN OCCURS 10.
INCLUDE STRUCTURE BAPISDITM.
DATA: END OF DA_ORDER_ITEM_IN.
DATA: BEGIN OF DA_ORDER_ITEM_INX OCCURS 10.
INCLUDE STRUCTURE BAPISDITMX.
DATA: END OF DA_ORDER_ITEM_INX.
REFRESH: DA_ORDER_ITEM_IN,
DA_ORDER_ITEM_INX,
RETURN.
CLEAR : DA_ORDER_HEADER_IN,
DA_ORDER_HEADER_INX,
DA_ORDER_ITEM_IN,
DA_ORDER_ITEM_INX,
RETURN.
* 00. BAPIs run without dialog, set the flag
CALL FUNCTION 'DIALOG_SET_NO_DIALOG'.
ENHANCEMENT-SECTION BAPI_SALES_ORDER_CHANGE_02 SPOTS ES_SAPL2032.
* 1. Convert to BAPI structure head
MOVE-CORRESPONDING ORDER_HEADER_IN TO DA_ORDER_HEADER_IN.
MOVE-CORRESPONDING ORDER_HEADER_INX TO DA_ORDER_HEADER_INX.
* 2. Convert to BAPI structure item
LOOP AT ORDER_ITEM_IN.
MOVE-CORRESPONDING ORDER_ITEM_IN TO DA_ORDER_ITEM_IN.
APPEND DA_ORDER_ITEM_IN.
ENDLOOP.
LOOP AT ORDER_ITEM_INX.
MOVE-CORRESPONDING ORDER_ITEM_INX TO DA_ORDER_ITEM_INX.
APPEND DA_ORDER_ITEM_INX.
ENDLOOP.
* 2. CALL the FB
CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
EXPORTING
SALESDOCUMENT = SALESDOCUMENT
ORDER_HEADER_IN = DA_ORDER_HEADER_IN
ORDER_HEADER_INX = DA_ORDER_HEADER_INX
SIMULATION = SIMULATION
BEH***E_WHEN_ERROR = BEH***E_WHEN_ERROR
INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT
logic_switch = logic_switch
BUSINESS_OBJECT = 'BUS2032'
CALL_FROM_BAPI = 'X'
no_status_buf_init = no_status_buf_init
TABLES
RETURN = RETURN
ITEM_IN = DA_ORDER_ITEM_IN
ITEM_INX = DA_ORDER_ITEM_INX
SCHEDULE_IN = SCHEDULE_LINES
SCHEDULE_INX = SCHEDULE_LINESX
partners = partners
partnerchanges = partnerchanges
partneraddresses = partneraddresses
CONDITIONS_IN = CONDITIONS_IN
CONDITIONS_INX = CONDITIONS_INX
SALES_CFGS_REF = ORDER_CFGS_REF
SALES_CFGS_INST = ORDER_CFGS_INST
SALES_CFGS_PART_OF = ORDER_CFGS_PART_OF
SALES_CFGS_VALUE = ORDER_CFGS_VALUE
SALES_CFGS_BLOB = ORDER_CFGS_BLOB
sales_cfgs_vk = order_cfgs_vk
sales_cfgs_refinst = order_cfgs_refinst
SALES_TEXT = ORDER_TEXT
SALES_KEYS = ORDER_KEYS
EXTENSIONIN = EXTENSIONIN.
END-ENHANCEMENT-SECTION.
*$*$-Start: BAPI_SALES_ORDER_CHANGE_02----------------------------------------------------------$*$*
ENHANCEMENT 3 /NFM/SD_BAPI_SALES_ORDER_01. "active version
* /NFM/ processing - C5007732
call function '/NFM/CA_BAPI_TRANSFER_DOCITM'
exporting
im_doc_type_nfm = 'A'
im_documentin = salesdocument
im_simulation = simulation
tables
t_nfmetallitms = nfmetallitms
t_return = return.
* check if error occurred
loop at return transporting no fields
where type = 'E' or
type = 'A'.
exit.
endloop.
if sy-subrc <> 0.
* 1. Convert to BAPI structure head
MOVE-CORRESPONDING ORDER_HEADER_IN TO DA_ORDER_HEADER_IN.
MOVE-CORRESPONDING ORDER_HEADER_INX TO DA_ORDER_HEADER_INX.
* 2. Convert to BAPI structure item
LOOP AT ORDER_ITEM_IN.
MOVE-CORRESPONDING ORDER_ITEM_IN TO DA_ORDER_ITEM_IN.
APPEND DA_ORDER_ITEM_IN.
ENDLOOP.
LOOP AT ORDER_ITEM_INX.
MOVE-CORRESPONDING ORDER_ITEM_INX TO DA_ORDER_ITEM_INX.
APPEND DA_ORDER_ITEM_INX.
ENDLOOP.
* 2. CALL the FB
CALL FUNCTION 'SD_SALESDOCUMENT_CHANGE'
EXPORTING
SALESDOCUMENT = SALESDOCUMENT
ORDER_HEADER_IN = DA_ORDER_HEADER_IN
ORDER_HEADER_INX = DA_ORDER_HEADER_INX
SIMULATION = SIMULATION
BEH***E_WHEN_ERROR = BEH***E_WHEN_ERROR
INT_NUMBER_ASSIGNMENT = INT_NUMBER_ASSIGNMENT
logic_switch = logic_switch
BUSINESS_OBJECT = 'BUS2032'
CALL_FROM_BAPI = 'X'
TABLES
RETURN = RETURN
ITEM_IN = DA_ORDER_ITEM_IN
ITEM_INX = DA_ORDER_ITEM_INX
SCHEDULE_IN = SCHEDULE_LINES
SCHEDULE_INX = SCHEDULE_LINESX
partners = partners
partnerchanges = partnerchanges
partneraddresses = partneraddresses
CONDITIONS_IN = CONDITIONS_IN
CONDITIONS_INX = CONDITIONS_INX
SALES_CFGS_REF = ORDER_CFGS_REF
SALES_CFGS_INST = ORDER_CFGS_INST
SALES_CFGS_PART_OF = ORDER_CFGS_PART_OF
SALES_CFGS_VALUE = ORDER_CFGS_VALUE
SALES_CFGS_BLOB = ORDER_CFGS_BLOB
sales_cfgs_vk = order_cfgs_vk
sales_cfgs_refinst = order_cfgs_refinst
SALES_TEXT = ORDER_TEXT
SALES_KEYS = ORDER_KEYS
EXTENSIONIN = EXTENSIONIN.
* /NFM/ processing - C5007732
call function '/NFM/CA_BAPI_DOCITM_GET'
tables
t_nfmetallitms = nfmetallitms.
endif. "sy-subrc <> 0.
ENDENHANCEMENT.
*$*$-End: BAPI_SALES_ORDER_CHANGE_02----------------------------------------------------------$*$*
* reset / initialize the dialogflag
CALL FUNCTION 'DIALOG_SET_WITH_DIALOG'.
ENHANCEMENT-POINT BAPI_SALESORDER_CHANGE_G7 SPOTS ES_SAPL2032.
*$*$-Start: BAPI_SALESORDER_CHANGE_G7-----------------------------------------------------------$*$*
ENHANCEMENT 17 MGV_GENERATED_SAPL2032. "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
INT_TO_EXTERNAL = 'X'
TABLES
T_FNAMES = T_MGV_FNAMES1
T_MATNR = ORDER_ITEM_IN
.
*{BAPI End} generation
ENDENHANCEMENT.
*$*$-End: BAPI_SALESORDER_CHANGE_G7-----------------------------------------------------------$*$*
ENDFUNCTION.
相关文章推荐
- 调用SAP函数创建寄售退货订单的时候报错:业务对象 BUS2032 是销售订单,销售凭证类别 H 是退货。
- 面向对象划分--ERP销售订单、生产工单、料号
- SAP AFS BAPI 不允许业务对象 BUS2032 和销售凭证类别 H 的组合
- C4C销售订单中业务伙伴的自动决定功能Partner determination procedure
- 跨业务实体内部销售订单设定介绍
- 如何用代码的方式取出SAP C4C销售订单创建后所有业务伙伴的数据
- 跨业务实体内部销售订单设定介绍
- NC供应链销售订单询价业务逻辑的整理和开发指导
- 跨业务实体内部销售订单设定介绍
- BAPI调用 - 创建SO出现错误"不允许业务对象 BUS2032 和销售凭证类别 H 的组合"
- log4net配置写入文本和写入数据库(sqlserver-sqlclient,mysql-odbc) 传入自定义业务对象
- 霍特卡的 CSLA.Net 3.6 Windows及Silverlight的正式版 昨天发布 同时CSLA.Net 业务对象 2008 英文版图书可以网上订购
- 关于销售订单高级定价的一点疑惑
- 销售订单流程图
- SD--关于销售订单的VBAP-WERKS决定代码摘抄分析
- 用友T6-ERP系统技术解析(二)销售订单(一)
- 一张销售订单的主要数据来源(ZT)
- 销售订单的处理
- [Magento SQL] 获取指定用户组,每个客户历史总订单数量和销售金额
- 销售订单行项目的装运点字段确认规则