demo bapi创建采购订单demo

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FUNCTION zbapi_po_create1.

*"----------------------------------------------------------------------

*"*"本地接口:

*" IMPORTING

*" VALUE(POHEADER) LIKE BAPIMEPOHEADER STRUCTURE BAPIMEPOHEADER *" VALUE(ZMMS_USER) TYPE ZMMS_USER OPTIONAL

*" EXPORTING

*" VALUE(EXPPURCHASEORDER) LIKE BAPIMEPOHEADER-PO_NUMBER

*" TABLES

*" POITEM STRUCTURE BAPIMEPOITEM

*" RETURN STRUCTURE BAPIRET2 OPTIONAL

*" POACCOUNT STRUCTURE BAPIMEPOACCOUNT OPTIONAL

*" POACCOUNTX STRUCTURE BAPIMEPOACCOUNTX OPTIONAL

*"----------------------------------------------------------------------

DATA:poheaderx LIKE bapimepoheaderx,

poitemx LIKE TABLE OF bapimepoitemx WITH HEADER LINE,

poschedule LIKE TABLE OF bapimeposchedule WITH HEADER LINE, poschedulex LIKE TABLE OF bapimeposchedulx WITH HEADER LIN E.

* DATA:poaccount LIKE TABLE OF bapimepoaccount WITH HEADER LINE,

* poaccountx LIKE TABLE OF bapimepoaccountx WITH HEADER L INE.

*写外挂的用户

* DATA: F_WA_EXTENSIONIN LIKE BAPIPAREX. "BAPI 参数 ExtensionIn/ExtensionOut 的参考结构

* DATA: F_IT_EXTENSIONIN LIKE TABLE OF F_WA_EXTENSIONIN.

DATA:bapi_te_mepoheader TYPE bapi_te_mepoheader,

bapi_te_mepoheaderx TYPE bapi_te_meoutheaderx,

lwk_extensionin TYPE bapiparex,

litab_extensionin LIKE TABLE OF bapiparex WITH HEADER LINE.

REFRESH:litab_extensionin.

CLEAR:bapi_te_mepoheader,bapi_te_mepoheaderx,lwk_extensioni n,litab_extensionin.

bapi_te_mepoheader-userid = zmms_user-userid.

bapi_te_mepoheader-username = zmms_user-username.

lwk_extensionin-STRUCTURE = 'BAPI_TE_MEPOHEADER'.

lwk_extensionin-valuepart1 = bapi_te_mepoheader.

APPEND lwk_extensionin TO litab_extensionin.

bapi_te_mepoheaderx-userid = 'X'.

bapi_te_mepoheaderx-username = 'X'.

lwk_extensionin-STRUCTURE = 'BAPI_TE_MEPOHEADERX'.

lwk_extensionin-valuepart1 = bapi_te_mepoheaderx.

APPEND lwk_extensionin TO litab_extensionin.

* lwk_extensionin-STRUCTURE = 'BAPI_TE_MEPOITEMX'.

** lwk_extensionin-valuepart1 = bapi_te_mepoheaderx.

* APPEND lwk_extensionin TO litab_extensionin.

* 转换供应商

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = poheader-vendor

IMPORTING

OUTPUT = poheader-vendor.

MOVE 'X' TO poheaderx-doc_type. "采购凭证类型

MOVE 'X' TO poheaderx-comp_code.

MOVE 'X' TO poheaderx-creat_date.

MOVE 'X' TO poheaderx-created_by.

MOVE 'X' TO poheaderx-vendor.

MOVE 'X' TO poheaderx-purch_org.

MOVE 'X' TO poheaderx-pur_group.

MOVE 'X' TO poheaderx-ref_1.

LOOP AT poitem.

IF poitem-material IS INITIAL OR poitem-quantity IS INITIAL .

DELETE poitem.

CONTINUE."如果物料号为空或数量为0则不处理,忽略此行

ENDIF.

poitem-po_unit = ''.

poitem-po_item = sy-tabix * 10.

* 采购价格以输入的为准

poitem-po_price = '2' .

poitem-calctype = 'B'.

* 转换物料

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = poitem-material

IMPORTING

OUTPUT = poitem-material.

MODIFY poitem.

poitemx-po_item = poitem-po_item.

MOVE 'X' TO poitemx-material.

* poitemx-SHORT_TEXT = 'X'.

* poitemx-MATL_GROUP = 'X'. "非自营物料组

* poitemx-PO_UNIT = 'X'. "非自营物料组

* poitemx-acctasscat = 'X'.

MOVE 'X' TO poitemx-plant.

MOVE 'X' TO poitemx-quantity.

* MOVE 'X' TO poitemx-price_date.

MOVE 'X' TO poitemx-net_price.

MOVE 'X' TO poitemx-price_unit .

相关文档
最新文档