日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

BAPI:BAPI_CONTRACT_CREATE(内部合同创建)

發布時間:2025/3/20 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BAPI:BAPI_CONTRACT_CREATE(内部合同创建) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

說明:創建,修改內部合同,表頭有自定義增強字段。

?

FORM?FRM_PROCESS_SAVE_DATA?.
*--------------------------------------------------------------------*
*?????Define?BAPI?parameters
*--------------------------------------------------------------------*
??DATA:?L_FLAG?TYPE?C.
??DATA:L_EBELN????TYPE?BAPIMEOUTHEADER-NUMBER,??????????????"#EC?NEEDED
???????LS_EKKO????TYPE?EKKO,

???????EXTENSIONIN?LIKE?BAPIPAREX
??????????????????OCCURS?0?WITH?HEADER?LINE,
???????LT_EXTENSIONOUT?TYPE?BAPIPAREX_T,
???????LT_RETURN???????TYPE?BAPIRET2_T,
???????LS_RETURN???????TYPE?BAPIRET2,

???????LS_HEADER?????????????TYPE?BAPIMEOUTHEADER,
???????LS_HEADERX????????????TYPE?BAPIMEOUTHEADERX,

???????LS_ITEM???????????????TYPE?BAPIMEOUTITEM,
???????LT_ITEM???????????????TYPE?BAPIMEOUT_T_ITEM,

???????LS_ITEMX??????????????TYPE?BAPIMEOUTITEMX,
???????LT_ITEMX??????????????TYPE?BAPIMEOUT_T_ITEMX.

*--------------------------------------------------------------------*
*???Header賦值
*--------------------------------------------------------------------*
??CLEAR:?LS_HEADER,LS_HEADERX,L_FLAG.
??REFRESH:?LT_RETURN,?LT_ITEM,?LT_ITEMX.

??READ?TABLE?GT_OUT?INTO?GWA_OUT?INDEX?1.

??IF?GWA_OUT-EBELN?IS?NOT?INITIAL.
????G_ACTION?=?CNS_MODIFY.
??ELSE.
????G_ACTION?=?CNS_CREATE.
??ENDIF.

??LS_HEADER-NUMBER????=?GWA_OUT-EBELN.??"合同號
??LS_HEADER-VENDOR????=?GWA_OUT-LIFNR.??"供應商
??LS_HEADER-DOC_TYPE??=?GWA_OUT-BSART.??"協議類型
??LS_HEADER-COMP_CODE?=?GWA_OUT-BUKRS.??"公司代碼
??LS_HEADER-DOC_DATE??=?GWA_OUT-BEDAT.??"協議日期
??LS_HEADER-VPER_START??=?GWA_OUT-KDATB.?"協議起始日期
??LS_HEADER-VPER_END???=?GWA_OUT-KDATE.??"協議截至日期
??LS_HEADER-PURCH_ORG??=?GWA_OUT-EKORG.??"采購組織
??LS_HEADER-PUR_GROUP??=?GWA_OUT-EKGRP.??"采購組
??LS_HEADER-ACUM_VALUE?=?GWA_OUT-KTWRT.??"目標值
??LS_HEADER-CURRENCY???=?GWA_OUT-WAERS.??"貨幣
??LS_HEADER-LANGU??????=?SY-LANGU.

??LS_HEADERX-NUMBER????=?CNS_YES.??"合同號
??LS_HEADERX-VENDOR????=?CNS_YES.??"供應商
??LS_HEADERX-DOC_TYPE??=?CNS_YES.??"協議類型
??LS_HEADERX-COMP_CODE?=?CNS_YES.??"公司代碼
??LS_HEADERX-DOC_DATE??=?CNS_YES.??"協議日期
??LS_HEADERX-VPER_START??=?CNS_YES.?"協議起始日期
??LS_HEADERX-VPER_END???=?CNS_YES.??"協議截至日期
??LS_HEADERX-PURCH_ORG??=?CNS_YES.??"采購組織
??LS_HEADERX-PUR_GROUP??=?CNS_YES.??"采購組
??LS_HEADERX-ACUM_VALUE?=?CNS_YES.??"目標值
??LS_HEADERX-CURRENCY???=?CNS_YES.??"貨幣
??LS_HEADERX-LANGU??????=?CNS_YES.

*--------------------------------------------------------------------*
*???Header?自定義字段賦值
*--------------------------------------------------------------------*
??DATA:?LS_BAPI_TE_MEOUTHEADERX?LIKE?BAPI_TE_MEOUTHEADERX,
????????LS_BAPI_TE_MEOUTHEADER??LIKE?BAPI_TE_MEOUTHEADER.

??CLEAR?EXTENSIONIN.
??LS_BAPI_TE_MEOUTHEADER-NUMBER?=?GWA_OUT-EBELN.
??LS_BAPI_TE_MEOUTHEADER-ZHTNUM?=?GWA_OUT-ZHTNUM.??"外部合同號
??LS_BAPI_TE_MEOUTHEADER-ZLOTNO?=?GWA_OUT-ZLOTNO.??"LOT包號
??LS_BAPI_TE_MEOUTHEADER-ZCGBLX?=?GWA_OUT-ZCGBLX.??"采購包類型
??LS_BAPI_TE_MEOUTHEADER-ZHTBZ??=?GWA_OUT-ZHTBZ.???"采購立項號
??LS_BAPI_TE_MEOUTHEADER-ZCGNUM?=?GWA_OUT-ZCGNUM.??"采購任務
??EXTENSIONIN-STRUCTURE?=?'BAPI_TE_MEOUTHEADER'.
??CALL?METHOD?CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
????EXPORTING
??????IM_VALUE???????????????=?LS_BAPI_TE_MEOUTHEADER
????IMPORTING
??????EX_CONTAINER???????????=?EXTENSIONIN-VALUEPART1
????EXCEPTIONS
??????ILLEGAL_PARAMETER_TYPE?=?1
??????OTHERS?????????????????=?2.
??APPEND?EXTENSIONIN.

??CLEAR?EXTENSIONIN.
??LS_BAPI_TE_MEOUTHEADERX-NUMBER?=?GWA_OUT-EBELN.
??LS_BAPI_TE_MEOUTHEADERX-ZHTNUM?=?CNS_YES.??"外部合同號
??LS_BAPI_TE_MEOUTHEADERX-ZLOTNO?=?CNS_YES.??"LOT包號
??LS_BAPI_TE_MEOUTHEADERX-ZCGBLX?=?CNS_YES.??"采購包類型
??LS_BAPI_TE_MEOUTHEADERX-ZHTBZ??=?CNS_YES.???"采購立項號
??LS_BAPI_TE_MEOUTHEADERX-ZCGNUM?=?CNS_YES.??"采購任務
??EXTENSIONIN-STRUCTURE?=?'BAPI_TE_MEOUTHEADERX'.
??CALL?METHOD?CL_ABAP_CONTAINER_UTILITIES=>FILL_CONTAINER_C
????EXPORTING
??????IM_VALUE???????????????=?LS_BAPI_TE_MEOUTHEADERX
????IMPORTING
??????EX_CONTAINER???????????=?EXTENSIONIN-VALUEPART1
????EXCEPTIONS
??????ILLEGAL_PARAMETER_TYPE?=?1
??????OTHERS?????????????????=?2.
*??EXTENSIONIN-VALUEPART1?=?LS_BAPI_TE_MEOUTHEADERX.
??APPEND?EXTENSIONIN.

*--------------------------------------------------------------------*
*???Item賦值
*--------------------------------------------------------------------*
??CLEAR:?LS_ITEM,LS_ITEMX,LT_ITEM[],LT_ITEMX[].
??LOOP?AT?GT_OUT?INTO?GWA_OUT.
????CLEAR:?LS_ITEM,?LS_ITEMX.

????LS_ITEM-ITEM_NO????=?GWA_OUT-EBELP.??"行號
????LS_ITEM-SHORT_TEXT?=?GWA_OUT-TXZ01.??"端文本
????LS_ITEM-MATL_GROUP?=?GWA_OUT-MATKL.??"物料組
????LS_ITEM-PLANT??????=?GWA_OUT-WERKS.??"工廠
????LS_ITEM-TARGET_QTY?=?GWA_OUT-KTMNG.??"目標數量
????LS_ITEM-PO_UNIT????=?GWA_OUT-MEINS.
????LS_ITEM-PO_UNIT_ISO????=?GWA_OUT-MEINS.
????LS_ITEM-NET_PRICE??=?GWA_OUT-NETPR.??"凈價
????LS_ITEM-PRICE_UNIT?=?GWA_OUT-PEINH.??"價格單位
????LS_ITEM-ORDERPR_UN?=?GWA_OUT-MEINS.??"訂單價格單位(采購)
????LS_ITEM-ORDERPR_UN_ISO?=?GWA_OUT-MEINS.??"訂單價格單位(采購)
????LS_ITEM-ACCTASSCAT?=?'U'.????????????"科目分配類別
????LS_ITEM-ITEM_CAT???=?0.??????????????"項目類別
????APPEND?LS_ITEM?TO?LT_ITEM.

????LS_ITEMX-ITEM_NO?????=?GWA_OUT-EBELP.??"行號
????LS_ITEMX-ITEM_NOX????=?CNS_YES.??"行號
????LS_ITEMX-SHORT_TEXT?=?CNS_YES.??"端文本
????LS_ITEMX-MATL_GROUP?=?CNS_YES.??"物料組
????LS_ITEMX-PLANT??????=?CNS_YES.??"工廠
????LS_ITEMX-TARGET_QTY?=?CNS_YES.??"目標數量
????LS_ITEMX-PO_UNIT????=?CNS_YES.
????LS_ITEMX-PO_UNIT_ISO????=?CNS_YES.

????LS_ITEMX-NET_PRICE??=?CNS_YES.??"凈價
????LS_ITEMX-PRICE_UNIT?=?CNS_YES.??"價格單位
????LS_ITEMX-ORDERPR_UN?=?CNS_YES.
????LS_ITEMX-ORDERPR_UN_ISO?=?CNS_YES.
????LS_ITEMX-ACCTASSCAT?=?CNS_YES.????????????"科目分配類別
????LS_ITEMX-ITEM_CAT???=?CNS_YES.??????????????"項目類別
????APPEND?LS_ITEMX?TO?LT_ITEMX.
??ENDLOOP.


*--------------------------------------------------------------------*
*???Create?contract
*--------------------------------------------------------------------*
??IF?G_ACTION?=?CNS_CREATE.
????"無合同號,新建

????CALL?FUNCTION?'BAPI_CONTRACT_CREATE'
??????EXPORTING
????????HEADER????????????????=?LS_HEADER
????????HEADERX???????????????=?LS_HEADERX
*??????TESTRUN???????????????=?PA_TEST
??????IMPORTING
????????PURCHASINGDOCUMENT????=?L_EBELN
??????TABLES
????????RETURN????????????????=?LT_RETURN
????????ITEM??????????????????=?LT_ITEM
????????ITEMX?????????????????=?LT_ITEMX
????????EXTENSIONIN???????????=?EXTENSIONIN.

??ELSE.
????"?有合同號,修改
????L_EBELN?=?LS_HEADER-NUMBER.
????CALL?FUNCTION?'BAPI_CONTRACT_CHANGE'
??????EXPORTING
????????PURCHASINGDOCUMENT????=?L_EBELN
????????HEADER????????????????=?LS_HEADER
????????HEADERX???????????????=?LS_HEADERX
*??????TESTRUN???????????????=?PA_TEST
??????IMPORTING
????????EXP_HEADER????????????=?LS_HEADER
??????TABLES
????????RETURN????????????????=?LT_RETURN
????????ITEM??????????????????=?LT_ITEM
????????ITEMX?????????????????=?LT_ITEMX
????????EXTENSIONIN???????????=?EXTENSIONIN.

??ENDIF.

??L_FLAG?=?'S'.
??LOOP?AT?LT_RETURN?INTO?LS_RETURN?WHERE?TYPE?=?'E'?OR?TYPE?=?'A'.
????L_FLAG?=?'E'.
????EXIT.
??ENDLOOP.

??IF?L_FLAG?EQ?'S'.
????CALL?FUNCTION?'BAPI_TRANSACTION_COMMIT'.
??ELSE.
????CALL?FUNCTION?'BAPI_TRANSACTION_ROLLBACK'.
??ENDIF.

??IF?L_FLAG?EQ?'S'.
????IF?G_ACTION?EQ?CNS_CREATE.
??????MESSAGE?S836?WITH?L_EBELN.
????ELSE.
??????MESSAGE?S837?WITH?L_EBELN.
????ENDIF.
??ELSE.
????IF?G_ACTION?EQ?CNS_CREATE.
??????MESSAGE?S838?WITH?L_EBELN.
????ELSE.
??????MESSAGE?S839?WITH?L_EBELN.
????ENDIF.
??ENDIF.

??IF?NOT?LT_RETURN?IS?INITIAL.
????CALL?FUNCTION?'REUSE_ALV_GRID_DISPLAY'
??????EXPORTING
????????I_STRUCTURE_NAME?=?'BAPIRET2'
??????TABLES
????????T_OUTTAB?????????=?LT_RETURN
??????EXCEPTIONS
????????OTHERS???????????=?0.
??ENDIF.


ENDFORM.????????????????????"?FRM_PROCESS_SAVE_DATA?

?

總結

以上是生活随笔為你收集整理的BAPI:BAPI_CONTRACT_CREATE(内部合同创建)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。