1、SO创建
CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2' "#EC CI_USAGE_OK[2438131]
EXPORTING
ORDER_HEADER_IN = U_W_HEADER_IN
ORDER_HEADER_INX = U_W_HEADER_INX
IMPORTING
SALESDOCUMENT = LV_VBELN
TABLES
RETURN = LIT_RETURN
ORDER_ITEMS_IN = U_IT_ORDER_ITEMS_IN
ORDER_ITEMS_INX = U_IT_ORDER_ITEMS_INX
ORDER_PARTNERS = U_IT_ORDER_PARTNERS
ORDER_TEXT = U_IT_ORDER_TEXT
ORDER_SCHEDULES_IN = U_IT_SCHDL
ORDER_SCHEDULES_INX = U_IT_SCHDLX
EXTENSIONIN = U_IT_IN_EXTENSIONIN.
2、Service order 修改
LOOP AT U_IT_MDLTAB ASSIGNING <LW_MDLTAB>
WHERE ZSTA_SO <> CNS_STAS_1 "指図更新ステータス
AND ZVBELN_R = U_W_AUFK-KDAUF. "受注伝票
CLEAR:
LW_METHOD,
LW_COMPONENT.
* Get Characteristic Values
READ TABLE U_IT_AUSP ASSIGNING FIELD-SYMBOL(<LW_AUSP>) "#EC CI_STDSEQ
WITH KEY ATWRT = <LW_MDLTAB>-ATWRT. "#EC CI_SUBRC
IF <LW_AUSP> IS ASSIGNED.
* Get Batches
READ TABLE U_IT_MCH1 ASSIGNING FIELD-SYMBOL(<LW_MCH1>) "#EC CI_STDSEQ
WITH KEY MATNR = <LW_MDLTAB>-ZMATNR
CUOBJ_BM = <LW_AUSP>-CUOBJ. "#EC CI_SUBRC
ENDIF.
* Get Plant from Delivery Order
READ TABLE U_IT_VBAP1 ASSIGNING FIELD-SYMBOL(<LW_VBAP1>) "#EC CI_STDSEQ
WITH KEY ZZSCWN = <LW_MDLTAB>-ZZSCWN
MATNR = <LW_MDLTAB>-ZMATNR. "#EC CI_SUBRC
IF <LW_VBAP1> IS ASSIGNED.
READ TABLE U_IT_LIPS ASSIGNING FIELD-SYMBOL(<LW_LIPS>) "#EC CI_STDSEQ
WITH KEY VGBEL = <LW_VBAP1>-VBELN
VGPOS = <LW_VBAP1>-POSNR. "#EC CI_SUBRC
ENDIF.
READ TABLE LIT_AFVC ASSIGNING <LW_AFVC> "#EC CI_STDSEQ
WITH KEY AUFNR = U_W_AUFK-AUFNR. "#EC CI_SUBRC
IF SY-SUBRC = 0.
<LW_AFVC>-VORNR = <LW_AFVC>-VORNR + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = <LW_AFVC>-VORNR
IMPORTING
OUTPUT = LW_OPERATION-ACTIVITY
.
ELSE.
<LW_AFVC>-VORNR = CNS_0010.
<LW_AFVC>-AUFNR = U_W_AUFK-AUFNR.
APPEND <LW_AFVC> TO C_IT_AFVC.
ENDIF.
LW_OPERATION-CONTROL_KEY = CNS_SM01.
LW_OPERATION-DESCRIPTION = U_V_LTXA1.
APPEND LW_OPERATION TO LIT_OPERATION.
* 退避対象データ
APPEND <LW_MDLTAB> TO LIT_MDLTAB.
LV_REFNO = LV_REFNO + 1.
* BAPI処理方法
LW_METHOD-REFNUMBER = LV_REFNO. "リンク対象方法の参照番号
LW_METHOD-OBJECTTYPE = CNS_COMPONENT. "オブジェクトタイプ
LW_METHOD-METHOD = CNS_CREATE. "メソッド
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR. "指図番号
APPEND LW_METHOD TO LIT_METHOD.
CLEAR LW_METHOD.
LW_METHOD-REFNUMBER = LV_REFNO.
LW_METHOD-OBJECTTYPE = CNS_OPERATION.
LW_METHOD-METHOD = CNS_CREATE.
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR.
APPEND LW_METHOD TO LIT_METHOD.
* 指図構成品目
LW_COMPONENT-MATERIAL_LONG = <LW_MDLTAB>-ZMATNR. "品目コード
IF <LW_MCH1> IS ASSIGNED.
LW_COMPONENT-BATCH = <LW_MCH1>-CHARG. "Batch Number
ENDIF.
LW_COMPONENT-ITEM_CAT = U_V_POSTP. "変数明細カテゴリ
LW_COMPONENT-ACTIVITY = LW_OPERATION-ACTIVITY. "Operation Number
LW_COMPONENT-REQUIREMENT_QUANTITY
= <LW_MDLTAB>-ZKWMENG. "累積受注数量 (販売単位)
LW_COMPONENT-REQUIREMENT_QUANTITY_UNIT
= <LW_MDLTAB>-ZVRKME. "販売単位
IF <LW_LIPS> IS ASSIGNED.
LW_COMPONENT-PLANT = <LW_LIPS>-WERKS. "Plant
ENDIF.
APPEND LW_COMPONENT TO LIT_COMPONENT.
ENDLOOP.
* 退避対象データ
IF LIT_MDLTAB IS INITIAL.
RETURN.
ENDIF.
* BAPI処理方法
CLEAR LW_METHOD.
LW_METHOD-REFNUMBER = 0. "リンク対象方法の参照番号
LW_METHOD-METHOD = CNS_SAVE. "メソッド
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR. "指図番号
APPEND LW_METHOD TO LIT_METHOD.
* Process Maintenance/Service Order
CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN' "#EC CI_USAGE_OK[2669857]
TABLES "#EC CI_USAGE_OK[2438131]
IT_METHODS = LIT_METHOD "BAPI構造
IT_COMPONENT = LIT_COMPONENT "指図構成品目
IT_OPERATION = LIT_OPERATION "Input Structure for PM/CS BAPIs Operations
RETURN = LIT_RETURN. "リターンパラメータ
3、PO创建
DATA:
LW_PO_HEADER TYPE BAPIMEPOHEADER,
"Structure [PO Header]
LW_PO_HEADERX TYPE BAPIMEPOHEADERX,
"Structure [Header Data (Change Parameter)]
LIT_ITEM TYPE STANDARD TABLE OF BAPIMEPOITEM,
"Internal table [Item Data]
LW_ITEM TYPE BAPIMEPOITEM,
"Structure [Item Data]
LIT_ITEMX TYPE STANDARD TABLE OF BAPIMEPOITEMX,
"Internal table [Item Data (Change Parameter)]
LW_ITEMX TYPE BAPIMEPOITEMX,
"Structure[Item Data (Change Parameter)]
LW_ACCOUN TYPE BAPIMEPOACCOUNT,
"Structure [Account Assignment Fields]
LIT_ACCOUN TYPE STANDARD TABLE OF BAPIMEPOACCOUNT,
"Internal table [Account Assignment Fields]
LW_ACCOUNX TYPE BAPIMEPOACCOUNTX,
"Structure[Account Assignment Fields (Change Parameter)]
LIT_ACCOUNX TYPE STANDARD TABLE OF BAPIMEPOACCOUNTX,
"Internal table [Account Assignment Fields (Change Parameter)]
LW_DELIVE_SCHED TYPE BAPIMEPOSCHEDULE,
"Structure [Delivery Schedule]
LIT_DELIVE_SCHED TYPE STANDARD TABLE OF BAPIMEPOSCHEDULE,
"Internal table [Delivery Schedule]
LW_DELIVE_SCHEDX TYPE BAPIMEPOSCHEDULX,
"Structure [Delivery Schedule (Change Parameter)]
LIT_DELIVE_SCHEDX TYPE STANDARD TABLE OF BAPIMEPOSCHEDULX,
"Internal table [Delivery Schedule (Change Parameter)]
LW_FOR_UPDATE TYPE TYP_W_FOR_UPDATE,
"Structure[For update]
LIT_FOR_UPDATE TYPE TYP_IT_FOR_UPDATE,
"Internal table [For update]
LV_ITEMNUM TYPE NUM5,
"Variable[Item Number]
LW_DATA_ADDON TYPE TYP_BAPI_TE_MEPOITEM,
"Structure [Item Data_addon]
LW_DATA_ADDONX TYPE BAPI_TE_MEPOITEMX,
"Structure [Item Data_addon(Change Parameter)]
LW_HEAD_ADDON TYPE BAPI_TE_MEPOHEADER,
"Structure [PO Header_addon]
LW_HEAD_ADDONX TYPE BAPI_TE_MEPOHEADERX,
"Structure [PO Header_addonx]
LIT_EXTEN TYPE STANDARD TABLE OF BAPIPAREX,
"Internal table「EXTENSIONIN」
LW_EXTEN TYPE BAPIPAREX,
"Structure「EXTENSIONIN」
LIT_PARTN TYPE TYP_IT_PARTN,
"Internal table「PARTNER」
LW_PARTN TYPE BAPIEKKOP,
"Structure「PARTNER」
LV_DATUM TYPE SY-DATUM,
LV_BSART TYPE EKKO-BSART,
LV_LIFNR TYPE EKKO-LIFNR,
LV_ZZPRRZ TYPE EKKO-ZZPRRZ,
LV_ZZSREN TYPE EKKO-ZZSREN,
LV_ZZCBENO TYPE EKKO-ZZCBENO,
LV_ZZOPZZ TYPE EKPO-ZZOPZZ.
* Read po data from fixed value
PERFORM F_READ_PO_FIX
CHANGING
LV_BSART
LV_LIFNR
LV_ZZPRRZ
LV_ZZSREN
LV_ZZCBENO
LV_ZZOPZZ. "#EC CI_SUBRC
LOOP AT U_IT_PODATA ASSIGNING FIELD-SYMBOL(<LW_PODATA>)
GROUP BY ( EKORG = <LW_PODATA>-EKORG
LGORT = <LW_PODATA>-LGORT
C_DATE = <LW_PODATA>-C_DATE
C_TIME = <LW_PODATA>-C_TIME ).
CLEAR:
LW_PO_HEADER, "Structure [PO Header]
LW_PO_HEADERX, "Structure [Header Data(Change Parameter)]
LIT_ITEM, "Internal table [Item Data]
LIT_ITEMX, "Internal table[Item Data(Change Parameter)]
LV_ITEMNUM, "Variable[Item Number]
LW_HEAD_ADDON, "Structure [PO Header_addon]
LW_HEAD_ADDONX, "Structure [PO Header_addonx]
LIT_PARTN, "Internal table「PARTNER」
LIT_EXTEN. "Internal table「EXTENSIONIN」
* Edit the structure [PO Header]
LW_PO_HEADER-DOC_TYPE = LV_BSART.
LW_PO_HEADER-VENDOR = LV_LIFNR.
LW_PO_HEADER-COMP_CODE = <LW_PODATA>-BUKRS.
LW_PO_HEADER-DOC_DATE = GV_DATUM.
LW_PO_HEADER-PURCH_ORG = <LW_PODATA>-EKORG.
LW_PO_HEADER-PUR_GROUP = <LW_PODATA>-EKGRP.
* Edit the structure [Header Data (Change Parameter)]
LW_PO_HEADERX-DOC_TYPE = CNS_CONSX.
LW_PO_HEADERX-VENDOR = CNS_CONSX.
LW_PO_HEADERX-COMP_CODE = CNS_CONSX.
LW_PO_HEADERX-DOC_DATE = CNS_CONSX.
LW_PO_HEADERX-PURCH_ORG = CNS_CONSX.
LW_PO_HEADERX-PUR_GROUP = CNS_CONSX.
* Edit the structure [PO Header_addon]
LW_HEAD_ADDON-ZZPRRZ = LV_ZZPRRZ.
LW_HEAD_ADDON-ZZSREN = LV_ZZSREN.
LW_HEAD_ADDON-ZZCBENO = LV_ZZCBENO.
* Edit the internal table「EXTENSIONIN」
FIELD-SYMBOLS: <LW_ANY> TYPE ANY.
CLEAR LW_EXTEN. "Structure「EXTENSIONIN」
LW_EXTEN-STRUCTURE = CNS_MEPOHEADER.
CALL METHOD CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
EXPORTING
IM_VALUE = LW_HEAD_ADDON
IMPORTING
EX_CONTAINER = LW_EXTEN+30.
APPEND LW_EXTEN TO LIT_EXTEN.
* Edit the structure [PO Header_addonx]
LW_HEAD_ADDONX-ZZPRRZ = CNS_CONSX.
LW_HEAD_ADDONX-ZZSREN = CNS_CONSX.
LW_HEAD_ADDONX-ZZCBENO = CNS_CONSX.
* Edit the internal table「EXTENSIONIN」
CLEAR LW_EXTEN. "Structure「EXTENSIONIN」
LW_EXTEN-STRUCTURE = CNS_MEPOHEADERX.
ASSIGN LW_EXTEN-VALUEPART1 TO <LW_ANY>
CASTING TYPE BAPI_TE_MEPOHEADERX.
<LW_ANY> = LW_HEAD_ADDONX.
APPEND LW_EXTEN TO LIT_EXTEN.
CLEAR <LW_ANY>.
* Edit the Internal Table [LIT_PARTN]
IF <LW_PODATA>-LIFN2 IS NOT INITIAL.
LW_PARTN-PARTNERDESC = CNS_Z9. "Partner Function
LW_PARTN-LANGU = SY-LANGU.
LW_PARTN-BUSPARTNO = <LW_PODATA>-LIFN2.
APPEND LW_PARTN TO LIT_PARTN.
ENDIF.
LOOP AT GROUP <LW_PODATA> ASSIGNING FIELD-SYMBOL(<LW_GROUP>).
CLEAR:
LW_ITEM, "Structure [Item Data]
LW_DATA_ADDON, "Structure [Item Data_addon]
LW_DATA_ADDONX,"Structure [Item Data_addon(Change Parameter)]
LW_ITEMX, "Structure[Item Data (Change Parameter)]
LW_ACCOUN, "Structure [Account Assignment Fields]
LW_ACCOUNX, "Structure[Account(Change Parameter)]
LW_FOR_UPDATE. "Structure[For update]
* Purchase Order Item Data edit
* Variable edit
LV_ITEMNUM = LV_ITEMNUM + 1.
* Purchase Order Item Data
* Edit the internal table [Item Data]
LW_ITEM-PO_ITEM = LV_ITEMNUM.
LW_ITEM-MATERIAL_LONG = <LW_GROUP>-MATNR.
TRY .
LW_ITEM-QUANTITY = <LW_GROUP>-BDMNG.
CATCH CX_ROOT.
LW_ITEM-QUANTITY = 0.
ENDTRY.
LW_ITEM-PO_UNIT = <LW_GROUP>-MEINS.
LW_ITEM-PLANT = <LW_GROUP>-WERKS.
LW_ITEM-STGE_LOC = <LW_GROUP>-LGORT.
APPEND LW_ITEM TO LIT_ITEM.
* Edit the internal table [Item Data (Change Parameter)]
LW_ITEMX-PO_ITEM = LV_ITEMNUM.
LW_ITEMX-MATERIAL_LONG = CNS_CONSX.
LW_ITEMX-QUANTITY = CNS_CONSX.
LW_ITEMX-PO_UNIT = CNS_CONSX.
LW_ITEMX-PLANT = CNS_CONSX.
LW_ITEMX-STGE_LOC = CNS_CONSX.
APPEND LW_ITEMX TO LIT_ITEMX.
* Edit the structure [Item Data_addon]
LW_DATA_ADDON-PO_ITEM = LV_ITEMNUM.
LW_DATA_ADDON-ZZOPZZ = LV_ZZOPZZ.
* Edit the internal table「EXTENSIONIN」
CLEAR LW_EXTEN. "Structure「EXTENSIONIN」
LW_EXTEN-STRUCTURE = CNS_MEPOITEM.
CALL METHOD CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
EXPORTING
IM_VALUE = LW_DATA_ADDON
IMPORTING
EX_CONTAINER = LW_EXTEN+30.
APPEND LW_EXTEN TO LIT_EXTEN.
* Edit the structure [Item Data_addonx]
LW_DATA_ADDONX-PO_ITEM = LV_ITEMNUM.
LW_DATA_ADDONX-ZZOPZZ = CNS_CONSX.
* Edit the internal table「EXTENSIONIN」
CLEAR LW_EXTEN. "Structure「EXTENSIONIN」
LW_EXTEN-STRUCTURE = CNS_MEPOITEMX.
ASSIGN LW_EXTEN-VALUEPART1 TO <LW_ANY>
CASTING TYPE BAPI_TE_MEPOITEMX.
<LW_ANY> = LW_DATA_ADDONX.
APPEND LW_EXTEN TO LIT_EXTEN.
CLEAR <LW_ANY>.
* Edit the internal table [Account Assignment Fields]
LW_ACCOUN-PO_ITEM = LV_ITEMNUM.
LW_ACCOUN-PROFIT_CTR = <LW_GROUP>-PRCTR.
APPEND LW_ACCOUN TO LIT_ACCOUN.
* Edit the internal table [Account Assignment Fields (Change Parameter)]
LW_ACCOUNX-PO_ITEM = LV_ITEMNUM.
LW_ACCOUNX-PROFIT_CTR = CNS_CONSX.
APPEND LW_ACCOUNX TO LIT_ACCOUNX.
* Edit the internal table [Delivery Schedule]
LW_DELIVE_SCHED-PO_ITEM = LV_ITEMNUM.
LV_DATUM = GV_DATUM + 14.
LW_DELIVE_SCHED-DELIVERY_DATE = LV_DATUM.
APPEND LW_DELIVE_SCHED TO LIT_DELIVE_SCHED.
* Edit the internal table [Delivery Schedule (Change Parameter)]
LW_DELIVE_SCHEDX-PO_ITEM = LV_ITEMNUM.
LW_DELIVE_SCHEDX-DELIVERY_DATE = CNS_CONSX.
APPEND LW_DELIVE_SCHEDX TO LIT_DELIVE_SCHEDX.
* Edit the internal table [For update]
LW_FOR_UPDATE-SEQNO = <LW_GROUP>-SEQNO.
APPEND LW_FOR_UPDATE TO LIT_FOR_UPDATE.
ENDLOOP.
DATA:
LW_FOR_UPDATE TYPE TYP_W_FOR_UPDATE ##NEEDED,
LV_NUM TYPE BAPIMEPOHEADER-PO_NUMBER,
"Variable[po_number]
LIT_RETURN TYPE TYP_IT_RETURN,
"Internal table [Return]
LV_STATUS TYPE CHAR1,
"variable[status]
LV_FLG_UPD TYPE CHAR1.
"variable[status]
CALL FUNCTION 'BAPI_PO_CREATE1' "#EC CI_USAGE_OK[2438131]
EXPORTING
POHEADER = U_W_PO_HEADER
POHEADERX = U_W_PO_HEADERX
IMPORTING
EXPPURCHASEORDER = LV_NUM
TABLES
RETURN = LIT_RETURN
POITEM = U_IT_ITEM
POITEMX = U_IT_ITEMX
POSCHEDULE = U_IT_DELIVE_SCHED
POSCHEDULEX = U_IT_DELIVE_SCHEDX
EXTENSIONIN = C_IT_EXTEN
POACCOUNT = U_IT_ACCOUN
POACCOUNTX = U_IT_ACCOUNX
POPARTNER = U_IT_PARTN.
"#EC CI_STDSEQ
LOOP AT LIT_RETURN TRANSPORTING NO FIELDS
WHERE TYPE = CNS_E
OR TYPE = CNS_A.
ENDLOOP.
LOOP AT U_IT_MDLTAB ASSIGNING <LW_MDLTAB>
WHERE ZSTA_SO <> CNS_STAS_1 "指図更新ステータス
AND ZVBELN_R = U_W_AUFK-KDAUF. "受注伝票
CLEAR:
LW_METHOD,
LW_COMPONENT.
*> Start INS R2 Modification 2020/12/30--------------------------------*
* Get Characteristic Values
READ TABLE U_IT_AUSP ASSIGNING FIELD-SYMBOL(<LW_AUSP>) "#EC CI_STDSEQ
WITH KEY ATWRT = <LW_MDLTAB>-ATWRT. "#EC CI_SUBRC
IF <LW_AUSP> IS ASSIGNED.
* Get Batches
READ TABLE U_IT_MCH1 ASSIGNING FIELD-SYMBOL(<LW_MCH1>) "#EC CI_STDSEQ
WITH KEY MATNR = <LW_MDLTAB>-ZMATNR
CUOBJ_BM = <LW_AUSP>-CUOBJ. "#EC CI_SUBRC
ENDIF.
* Get Plant from Delivery Order
READ TABLE U_IT_VBAP1 ASSIGNING FIELD-SYMBOL(<LW_VBAP1>) "#EC CI_STDSEQ
WITH KEY ZZSCWN = <LW_MDLTAB>-ZZSCWN
MATNR = <LW_MDLTAB>-ZMATNR. "#EC CI_SUBRC
IF <LW_VBAP1> IS ASSIGNED.
READ TABLE U_IT_LIPS ASSIGNING FIELD-SYMBOL(<LW_LIPS>) "#EC CI_STDSEQ
WITH KEY VGBEL = <LW_VBAP1>-VBELN
VGPOS = <LW_VBAP1>-POSNR. "#EC CI_SUBRC
ENDIF.
READ TABLE LIT_AFVC ASSIGNING <LW_AFVC> "#EC CI_STDSEQ
WITH KEY AUFNR = U_W_AUFK-AUFNR. "#EC CI_SUBRC
IF SY-SUBRC = 0.
<LW_AFVC>-VORNR = <LW_AFVC>-VORNR + 10.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = <LW_AFVC>-VORNR
IMPORTING
OUTPUT = LW_OPERATION-ACTIVITY
.
ELSE.
<LW_AFVC>-VORNR = CNS_0010.
<LW_AFVC>-AUFNR = U_W_AUFK-AUFNR.
APPEND <LW_AFVC> TO C_IT_AFVC.
ENDIF.
LW_OPERATION-CONTROL_KEY = CNS_SM01.
LW_OPERATION-DESCRIPTION = U_V_LTXA1.
APPEND LW_OPERATION TO LIT_OPERATION.
*< End INS R2 Modification 2020/12/30----------------------------------*
* 退避対象データ
APPEND <LW_MDLTAB> TO LIT_MDLTAB.
LV_REFNO = LV_REFNO + 1.
* BAPI処理方法
LW_METHOD-REFNUMBER = LV_REFNO. "リンク対象方法の参照番号
LW_METHOD-OBJECTTYPE = CNS_COMPONENT. "オブジェクトタイプ
LW_METHOD-METHOD = CNS_CREATE. "メソッド
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR. "指図番号
APPEND LW_METHOD TO LIT_METHOD.
*> Start INS R2 Modification 2020/12/30--------------------------------*
CLEAR LW_METHOD.
LW_METHOD-REFNUMBER = LV_REFNO.
LW_METHOD-OBJECTTYPE = CNS_OPERATION.
LW_METHOD-METHOD = CNS_CREATE.
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR.
APPEND LW_METHOD TO LIT_METHOD.
*< End INS R2 Modification 2020/12/30----------------------------------*
* 指図構成品目
LW_COMPONENT-MATERIAL_LONG = <LW_MDLTAB>-ZMATNR. "品目コード
*> Start REP R2 Modification 2020/12/30--------------------------------*
* LW_COMPONENT-BATCH = <LW_MDLTAB>-ZCHARG. "ロット番号
IF <LW_MCH1> IS ASSIGNED.
LW_COMPONENT-BATCH = <LW_MCH1>-CHARG. "Batch Number
ENDIF.
*< End REP R2 Modification 2020/12/30----------------------------------*
LW_COMPONENT-ITEM_CAT = U_V_POSTP. "変数明細カテゴリ
*> Start REP R2 Modification 2020/12/30--------------------------------*
* LW_COMPONENT-ACTIVITY = U_V_POSNR. "変数作業/活動番号
LW_COMPONENT-ACTIVITY = LW_OPERATION-ACTIVITY. "Operation Number
*< End REP R2 Modification 2020/12/30----------------------------------*
LW_COMPONENT-REQUIREMENT_QUANTITY
= <LW_MDLTAB>-ZKWMENG. "累積受注数量 (販売単位)
LW_COMPONENT-REQUIREMENT_QUANTITY_UNIT
= <LW_MDLTAB>-ZVRKME. "販売単位
*> Start INS R2 Modification 2020/12/30--------------------------------*
IF <LW_LIPS> IS ASSIGNED.
LW_COMPONENT-PLANT = <LW_LIPS>-WERKS. "Plant
ENDIF.
*< End INS R2 Modification 2020/12/30----------------------------------*
APPEND LW_COMPONENT TO LIT_COMPONENT.
ENDLOOP.
* 退避対象データ
IF LIT_MDLTAB IS INITIAL.
RETURN.
ENDIF.
* BAPI処理方法
CLEAR LW_METHOD.
LW_METHOD-REFNUMBER = 0. "リンク対象方法の参照番号
LW_METHOD-METHOD = CNS_SAVE. "メソッド
LW_METHOD-OBJECTKEY = U_W_AUFK-AUFNR. "指図番号
APPEND LW_METHOD TO LIT_METHOD.
* Process Maintenance/Service Order
CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN' "#EC CI_USAGE_OK[2669857]
TABLES "#EC CI_USAGE_OK[2438131]
IT_METHODS = LIT_METHOD "BAPI構造
IT_COMPONENT = LIT_COMPONENT "指図構成品目
*> Start INS R2 Modification 2020/12/30--------------------------------*
IT_OPERATION = LIT_OPERATION "Input Structure for PM/CS BAPIs Operations
*< End INS R2 Modification 2020/12/30----------------------------------*
RETURN = LIT_RETURN. "リターンパラメータ