BAPI_PO_CREATE1 采购订单创建BAPI

导语:没有导语,直接看代码吧。

BAPI名称:BAPI_PO_CREATE1
BAPI描述:采购订单创建

👉【BAPI记录清单…】

 DATA: ls_poheader    TYPE                   bapimepoheader,
        ls_poheaderx   TYPE                   bapimepoheaderx,
        lt_return      TYPE STANDARD TABLE OF bapiret2,
        ls_return      TYPE                   bapiret2,
        lt_poitem      TYPE STANDARD TABLE OF bapimepoitem,
        ls_poitem      TYPE                   bapimepoitem,
        lt_poitemx     TYPE STANDARD TABLE OF bapimepoitemx,
        ls_poitemx     TYPE                   bapimepoitemx,
        lt_poschedule  TYPE STANDARD TABLE OF bapimeposchedule,
        ls_poschedule  TYPE                   bapimeposchedule,
        lt_poschedulex TYPE STANDARD TABLE OF bapimeposchedulx,
        ls_poschedulex TYPE                   bapimeposchedulx,
        lt_pocond      TYPE STANDARD TABLE OF bapimepocond,
        ls_pocond      TYPE                   bapimepocond,
        lt_pocondx     TYPE STANDARD TABLE OF bapimepocondx,
        ls_pocondx     TYPE                   bapimepocondx,
*       lt_pocomponents           TYPE STANDARD TABLE OF bapimepocomponent,
*       ls_pocomponents           TYPE                   bapimepocomponent,
*       lt_pocomponentsx          TYPE STANDARD TABLE OF bapimepocomponentx,
*       ls_pocomponentsx          TYPE                   bapimepocomponentx,
*
        lt_poaccount   TYPE STANDARD TABLE OF  bapimepoaccount,
        lt_poaccountx  TYPE STANDARD TABLE OF  bapimepoaccountx,
        ls_poaccount   TYPE bapimepoaccount,
        ls_poaccountx  TYPE bapimepoaccountx.
  DATA: ls_potextitem TYPE bapimepotext,          "ADD BY YANG 190628  增加长文本
        lt_potextitem TYPE STANDARD TABLE OF bapimepotext.
*
  DATA: lt_extensionin TYPE TABLE OF bapiparex WITH HEADER LINE,
*        ls_item_ext    TYPE bapi_te_mepoitem,
*        ls_item_extx   TYPE bapi_te_mepoitemx,
        ls_header_ext  TYPE bapi_te_mepoheader,
        ls_header_extx TYPE bapi_te_mepoheaderx.
  DATA: lv_ebeln TYPE ekko-ebeln,
        lv_kostl TYPE ekkn-kostl.
  DATA: lv_ebelp    TYPE ebelp,
        lv_material TYPE matnr18.
  DATA: lv_unit     TYPE bstme.




  CHECK is_head IS NOT INITIAL AND it_data[] IS NOT INITIAL.


  is_head-lifnr = |{ is_head-lifnr ALPHA = IN }|.


* 没有币种,价格翻了10倍 这里判断下
  IF is_head-waers EQ ''.
    SELECT SINGLE waers INTO is_head-waers FROM lfm1
     WHERE lfm1~lifnr = is_head-lifnr
       AND lfm1~ekorg = is_head-ekorg.
    IF is_head-waers EQ ''.
      es_return-type = 'E'.
      es_return-message = '请输入币种!'.
    ENDIF.
  ENDIF.


  ls_poheader-doc_type    = is_head-bsart. "采购类型
  ls_poheader-vendor      = is_head-lifnr. "供应商帐户号
  ls_poheader-purch_org   = is_head-ekorg. "采购组织
  ls_poheader-pur_group   = is_head-ekgrp. "采购组
  ls_poheader-currency    = is_head-waers. "货币码
  ls_poheader-created_by  = sy-uname.      "对象创建人姓名


  ls_poheader-creat_date  = sy-datum.      "记录建立日期
  ls_poheader-langu       = sy-langu.      "语言
  ls_poheader-status      = 'I'.           "采购凭证的状态
  ls_poheader-comp_code   = is_head-bukrs. "公司代码
*  ls_poheader-pmnttrms    = is_head-zterm."收付条件代码
  ls_poheader-item_intvl  = space.         "项目编号间隔


  ls_poheaderx-doc_type   = 'X'.
  ls_poheaderx-vendor     = 'X'.
  ls_poheaderx-purch_org  = 'X'.
  ls_poheaderx-pur_group  = 'X'.
  ls_poheaderx-comp_code  = 'X'.
  ls_poheaderx-doc_date   = 'X'.
  ls_poheaderx-langu      = 'X'.
  ls_poheaderx-currency   = 'X'.
  ls_poheaderx-status     = 'X'.
  ls_poheaderx-comp_code  = 'X'.
  ls_poheaderx-pmnttrms   = 'X'.
  ls_poheaderx-item_intvl = 'X'.


  "增强字段


  lt_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
  lt_extensionin-valuepart1 = ls_header_ext.
  APPEND lt_extensionin.
  CLEAR: ls_header_ext.


  lt_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
  lt_extensionin-valuepart1 = ls_header_extx.
  APPEND lt_extensionin.
  CLEAR: ls_header_extx.


  SORT it_data BY ebelp.
  LOOP AT it_data ASSIGNING FIELD-SYMBOL(<fs_data>).


    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = <fs_data>-matnr
      IMPORTING
        output = lv_material.


    IF <fs_data>-ebelp IS NOT INITIAL.
      lv_ebelp = <fs_data>-ebelp.
    ELSE.
      lv_ebelp = lv_ebelp + 10.
    ENDIF.
    "添加行项目
    ls_poitem-po_item         = lv_ebelp.             "采购凭证的项目编号
    ls_poitem-item_cat        = <fs_data>-pstyp.   "采购凭证中的项目类别
    ls_poitem-ematerial       = lv_material.          "物料编号(18 字符,兼容模式)
    ls_poitem-short_text      = <fs_data>-txz01.   "短文本
    ls_poitem-plant           = <fs_data>-werks.   "工厂
    ls_poitem-stge_loc        = <fs_data>-lgort.   "库存地点
    ls_poitem-quantity        = <fs_data>-menge.   "采购订单数量


    CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
      EXPORTING
        input    = <fs_data>-meins
        language = sy-langu
      IMPORTING
        output   = lv_unit.


    ls_poitem-po_unit         = lv_unit.           "采购订单计量单位
    ls_poitem-tax_code        = <fs_data>-mwskz.   "销售/购买税代码
    ls_poitem-acctasscat      = <fs_data>-knttp.   "科目分配类别
    ls_poitem-matl_group      = <fs_data>-matkl.   "物料组
    APPEND ls_poitem TO lt_poitem.
    CLEAR: ls_poitem.


    "采购订单项目数据(更改参数)
    ls_poitemx-po_item         = lv_ebelp.            "采购凭证的项目编号
    ls_poitemx-po_itemx        = 'X'.                 "采购凭证的项目编号
    ls_poitemx-item_cat        = 'X'.                 "采购凭证中的项目类别
    ls_poitemx-ematerial       = 'X'.                 "物料编号(18 字符,兼容模式)
*   ADD BY YANG 20200115
    IF is_head-bsart EQ 'ZCAP' OR <fs_data>-txz01 NE ''.
      ls_poitemx-short_text      = 'X'.
    ENDIF.
*    lt_poitemx-short_text      = 'X'.                 "短文本
    ls_poitemx-plant           = 'X'.                 "工厂
    ls_poitemx-stge_loc        = 'X'.                 "库存地点
    ls_poitemx-quantity        = 'X'.                 "采购订单数量
    ls_poitemx-po_unit         = 'X'.                 "采购订单计量单位
    ls_poitemx-tax_code        = 'X'.                 "销售/购买税代码
    ls_poitemx-acctasscat      = 'X'.                 "科目分配类别
    ls_poitemx-matl_group      = 'X'.                 "物料组
    APPEND ls_poitemx TO lt_poitemx.
    CLEAR: ls_poitemx.


    "采购订单交货计划行的字段
    ls_poschedule-po_item         = lv_ebelp.        "采购凭证的项目编号
    ls_poschedule-sched_line      = 1.               "采购凭证的项目编号
    ls_poschedule-delivery_date   = <fs_data>-eindt. "交货日期
    ls_poschedule-quantity        = <fs_data>-menge. "采购订单数量
    APPEND ls_poschedule TO lt_poschedule.
    CLEAR: ls_poschedule.


    "采购订单中的计划行字段 (更改工具栏)
    ls_poschedulex-po_item        = lv_ebelp.     "采购凭证的项目编号
    ls_poschedulex-sched_line     = 1.            "采购凭证的项目编号
    ls_poschedulex-delivery_date  = 'X'.          "交货日期
    ls_poschedulex-quantity       = 'X'.          "采购订单数量
    APPEND ls_poschedulex TO lt_poschedulex.
    CLEAR: ls_poschedulex.


    "采购订单中的条件   使用批导价格
    ls_pocond-itm_number  = lv_ebelp.
    ls_pocond-cond_type   = 'PBXX'.
    ls_pocond-cond_value  = <fs_data>-netpr.     "条件金额(价格)
    ls_pocond-cond_p_unt   = <fs_data>-peinh.


    ls_pocond-cond_unit   = lv_unit.                "条件单位
    ls_pocond-cond_p_unt  = 1.                      "价格单位
    ls_pocond-currency    = is_head-waers.     "货币码
    ls_pocond-change_id   = 'I'.                    "更改类型
    APPEND ls_pocond TO lt_pocond.
    CLEAR: ls_pocond.


    "采购订单项目数据(更改参数)
    ls_pocondx-itm_number = lv_ebelp.
    ls_pocondx-cond_type  = 'X'.
    ls_pocondx-cond_value = 'X'.
    ls_pocondX-cond_p_unt = 'X'.
    ls_pocondx-cond_unit  = 'X'.
    ls_pocondx-cond_p_unt = 'X'.
    ls_pocondx-currency   = 'X'.
    ls_pocondx-change_id  = 'X'.
    APPEND ls_pocondx TO lt_pocondx.
    CLEAR: ls_pocondx.


    IF <fs_data>-knttp EQ 'K'.
      ls_poaccount-po_item     = lv_ebelp.
*      ls_poaccount-serial_no   = '01'.
      lv_kostl = |{ <fs_data>-kostl ALPHA = OUT }|.
      ls_poaccount-costcenter = |{ <fs_data>-kostl ALPHA = IN }|.
      ls_poaccount-gl_account = <fs_data>-saknr.
      ls_poaccount-co_area = '1000'.
      APPEND ls_poaccount TO lt_poaccount.
      ls_poaccountx-po_item     = lv_ebelp.
*      ls_poaccountx-serial_no   = '01'.
      ls_poaccountx-gl_account  = 'X'.
      ls_poaccountx-costcenter  = 'X'.
      ls_poaccountx-co_area  = 'X'.
      ls_poaccountx-serial_no  = 'X'.
*      ls_poaccountx-sd_doc      = 'X'.
*      ls_poaccountx-itm_number  = 'X'.
      APPEND ls_poaccountx TO lt_poaccountx.
    ENDIF.


    "行项目文本
    ls_potextitem-po_item   = lv_ebelp.           "采购凭证的项目编号
    ls_potextitem-text_id   = 'F01'.              "文本 ID
    ls_potextitem-text_line = <fs_data>-sgtxt. "文本行
    APPEND ls_potextitem TO lt_potextitem.
    CLEAR: ls_potextitem.


    "增强字段


*    gs_item_ext-po_item = lv_ebelp.
**    gs_item_ext-zyont = <fs_data>-zyont.
*    gs_item_ext-zzhtbh = <fs_data>-zzhtbh.
*    lt_extensionin-structure = 'BAPI_TE_MEPOITEM'.
*    lt_extensionin-valuepart1 = gs_item_ext.
*    APPEND lt_extensionin.
*    CLEAR: gs_item_ext.


*    gs_item_extx-po_item = lv_ebelp.
*    gs_item_extx-zyont = 'X'.
*    gs_item_extx-zzhtbh = 'X'.
*    lt_extensionin-structure = 'BAPI_TE_MEPOITEMX'.
*    lt_extensionin-valuepart1 = gs_item_extx.
*    APPEND lt_extensionin.
*    CLEAR: gs_item_extx.


  ENDLOOP.


  CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      poheader         = ls_poheader
      poheaderx        = ls_poheaderx
      no_price_from_po = 'X'
    IMPORTING
      exppurchaseorder = lv_ebeln
*     expheader        =
*     EXPPOEXPIMPHEADER            =
    TABLES
      return           = lt_return
      poitem           = lt_poitem
      poitemx          = lt_poitemx
*     POADDRDELIVERY   =
      poschedule       = lt_poschedule
      poschedulex      = lt_poschedulex
      poaccount        = lt_poaccount
*     POACCOUNTPROFITSEGMENT       =
      poaccountx       = lt_poaccountx
*     POCONDHEADER     =
*     POCONDHEADERX    =
      pocond           = lt_pocond
      pocondx          = lt_pocondx
      extensionin      = lt_extensionin
*     EXTENSIONOUT     =
*     POEXPIMPITEM     =
*     POEXPIMPITEMX    =
*     POTEXTHEADER     =
      potextitem       = lt_potextitem.


  READ TABLE lt_return INTO ls_return WITH KEY type = 'S'.
  IF sy-subrc = '0'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        wait = 'X'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
  ENDIF.

数据示例:

*&---------------------------------------------------------------------*
*& Report Z_JYH_TEST
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_jyh_test.


DATA: ls_poheader    TYPE                   bapimepoheader,
      ls_poheaderx   TYPE                   bapimepoheaderx,
      lt_return      TYPE STANDARD TABLE OF bapiret2,
      ls_return      TYPE                   bapiret2,
      lt_poitem      TYPE STANDARD TABLE OF bapimepoitem,
      ls_poitem      TYPE                   bapimepoitem,
      lt_poitemx     TYPE STANDARD TABLE OF bapimepoitemx,
      ls_poitemx     TYPE                   bapimepoitemx,
      lt_poschedule  TYPE STANDARD TABLE OF bapimeposchedule,
      ls_poschedule  TYPE                   bapimeposchedule,
      lt_poschedulex TYPE STANDARD TABLE OF bapimeposchedulx,
      ls_poschedulex TYPE                   bapimeposchedulx,
      lt_pocond      TYPE STANDARD TABLE OF bapimepocond,
      ls_pocond      TYPE                   bapimepocond,
      lt_pocondx     TYPE STANDARD TABLE OF bapimepocondx,
      ls_pocondx     TYPE                   bapimepocondx,
      lt_poaccount   TYPE STANDARD TABLE OF  bapimepoaccount,
      lt_poaccountx  TYPE STANDARD TABLE OF  bapimepoaccountx,
      ls_poaccount   TYPE bapimepoaccount,
      ls_poaccountx  TYPE bapimepoaccountx.
DATA: ls_potextitem TYPE bapimepotext,
      lt_potextitem TYPE STANDARD TABLE OF bapimepotext.
*
DATA: lt_extensionin TYPE TABLE OF bapiparex WITH HEADER LINE,
*        ls_item_ext    TYPE bapi_te_mepoitem,
*        ls_item_extx   TYPE bapi_te_mepoitemx,
      ls_header_ext  TYPE bapi_te_mepoheader,
      ls_header_extx TYPE bapi_te_mepoheaderx.
DATA: lv_ebeln TYPE ekko-ebeln,
      lv_kostl TYPE ekkn-kostl.
DATA: lv_ebelp    TYPE ebelp,
      lv_material TYPE matnr18.
DATA: lv_unit     TYPE bstme.


ls_poheader-doc_type    = 'Z001'. "采购类型
ls_poheader-vendor      = '0008000012'. "供应商帐户号
ls_poheader-purch_org   = '1000'. "采购组织
ls_poheader-pur_group   = 'A01'. "采购组
ls_poheader-currency    = 'CNY'. "货币码
ls_poheader-created_by  = sy-uname.      "对象创建人姓名


ls_poheader-creat_date  = sy-datum.      "记录建立日期
ls_poheader-langu       = sy-langu.      "语言
ls_poheader-status      = 'I'.           "采购凭证的状态
ls_poheader-comp_code   = '1000'. "公司代码
*  ls_poheader-pmnttrms    = is_head-zterm."收付条件代码
ls_poheader-item_intvl  = space.         "项目编号间隔


ls_poheaderx-doc_type   = 'X'.
ls_poheaderx-vendor     = 'X'.
ls_poheaderx-purch_org  = 'X'.
ls_poheaderx-pur_group  = 'X'.
ls_poheaderx-comp_code  = 'X'.
ls_poheaderx-doc_date   = 'X'.
ls_poheaderx-langu      = 'X'.
ls_poheaderx-currency   = 'X'.
ls_poheaderx-status     = 'X'.
ls_poheaderx-comp_code  = 'X'.
ls_poheaderx-pmnttrms   = 'X'.
ls_poheaderx-item_intvl = 'X'.


"增强字段


lt_extensionin-structure = 'BAPI_TE_MEPOHEADER'.
lt_extensionin-valuepart1 = ls_header_ext.
APPEND lt_extensionin.
CLEAR: ls_header_ext.


lt_extensionin-structure = 'BAPI_TE_MEPOHEADERX'.
lt_extensionin-valuepart1 = ls_header_extx.
APPEND lt_extensionin.
CLEAR: ls_header_extx.


"添加行项目
ls_poitem-po_item         = '10'.             "采购凭证的项目编号
ls_poitem-item_cat        = '0'.   "采购凭证中的项目类别
ls_poitem-ematerial       = '000000005990000001'.          "物料编号(18 字符,兼容模式)
ls_poitem-short_text      = '实芯焊丝-φ0.8'.   "短文本
ls_poitem-plant           = '1000'.   "工厂
ls_poitem-stge_loc        = ''.   "库存地点
ls_poitem-quantity        = '2.000'.   "采购订单数量
ls_poitem-po_unit         = 'KG'.           "采购订单计量单位
ls_poitem-tax_code        = 'J1'.   "销售/购买税代码
ls_poitem-acctasscat      = ''.   "科目分配类别
ls_poitem-matl_group      = '1001'.   "物料组
ls_poitem-PREQ_NO         = '0010000007'.   "采购申请单号
ls_poitem-PREQ_ITEM       = '00020'.   "采购申请行号


APPEND ls_poitem TO lt_poitem.
CLEAR: ls_poitem.


"采购订单项目数据(更改参数)
ls_poitemx-po_item         = '10'.               "采购凭证的项目编号
ls_poitemx-po_itemx        = 'X'.                 "采购凭证的项目编号
ls_poitemx-item_cat        = 'X'.                 "采购凭证中的项目类别
ls_poitemx-ematerial       = 'X'.                 "物料编号(18 字符,兼容模式)
ls_poitemx-short_text      = 'X'.
ls_poitemx-plant           = 'X'.                 "工厂
ls_poitemx-stge_loc        = 'X'.                 "库存地点
ls_poitemx-quantity        = 'X'.                 "采购订单数量
ls_poitemx-po_unit         = 'X'.                 "采购订单计量单位
ls_poitemx-tax_code        = 'X'.                 "销售/购买税代码
ls_poitemx-acctasscat      = 'X'.                 "科目分配类别
ls_poitemx-matl_group      = 'X'.                 "物料组
ls_poitemx-PREQ_NO         = 'X'.                 "采购申请单号
ls_poitemx-PREQ_ITEM       = 'X'.                 "采购申请行号
APPEND ls_poitemx TO lt_poitemx.
CLEAR: ls_poitemx.


"采购订单交货计划行的字段
ls_poschedule-po_item         = '10'.        "采购凭证的项目编号
ls_poschedule-sched_line      = 1.               "采购凭证的项目编号
ls_poschedule-delivery_date   = sy-datum. "交货日期
ls_poschedule-quantity        = 2. "采购订单数量
APPEND ls_poschedule TO lt_poschedule.
CLEAR: ls_poschedule.


"采购订单中的计划行字段 (更改工具栏)
ls_poschedulex-po_item        = '10'.     "采购凭证的项目编号
ls_poschedulex-sched_line     = 1.            "采购凭证的项目编号
ls_poschedulex-delivery_date  = 'X'.          "交货日期
ls_poschedulex-quantity       = 'X'.          "采购订单数量
APPEND ls_poschedulex TO lt_poschedulex.
CLEAR: ls_poschedulex.


"采购订单中的条件   使用批导价格
ls_pocond-itm_number  = '10'.
ls_pocond-cond_type   = 'PBXX'.
ls_pocond-cond_value  = '100'.     "条件金额(价格)
ls_pocond-cond_unit   = 'KG'.                "条件单位
ls_pocond-cond_p_unt  = 1.                      "价格单位
ls_pocond-currency    = 'CNY'.     "货币码
ls_pocond-change_id   = 'I'.                    "更改类型
APPEND ls_pocond TO lt_pocond.
CLEAR: ls_pocond.


"采购订单项目数据(更改参数)
ls_pocondx-itm_number = '10'.
ls_pocondx-cond_type  = 'X'.
ls_pocondx-cond_value = 'X'.
ls_pocondX-cond_p_unt = 'X'.
ls_pocondx-cond_unit  = 'X'.
ls_pocondx-currency   = 'X'.
ls_pocondx-change_id  = 'X'.
APPEND ls_pocondx TO lt_pocondx.
CLEAR: ls_pocondx.


CALL FUNCTION 'BAPI_PO_CREATE1'
  EXPORTING
    poheader         = ls_poheader
    poheaderx        = ls_poheaderx
    no_price_from_po = 'X'
  IMPORTING
    exppurchaseorder = lv_ebeln
  TABLES
    return           = lt_return
    poitem           = lt_poitem
    poitemx          = lt_poitemx
*   POADDRDELIVERY   =
    poschedule       = lt_poschedule
    poschedulex      = lt_poschedulex
    poaccount        = lt_poaccount
*   POACCOUNTPROFITSEGMENT       =
    poaccountx       = lt_poaccountx
*   POCONDHEADER     =
*   POCONDHEADERX    =
    pocond           = lt_pocond
    pocondx          = lt_pocondx.
*    extensionin      = lt_extensionin
*   EXTENSIONOUT     =
*   POEXPIMPITEM     =
*   POEXPIMPITEMX    =
*   POTEXTHEADER     =
*    potextitem       = lt_potextitem.


READ TABLE lt_return INTO ls_return WITH KEY type = 'S'.
IF sy-subrc = '0'.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait = 'X'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

作者:小飞猪猪猪猪猪猪猪–CSDN

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
BAPI_PO_CREATE1是一个针对事务码ME21N的函数模块,用于创建采购订单。它接受抬头和行项目作为输入参数,并根据这些参数创建采购订单[^2]。 在使用BAPI_PO_CREATE1时,需要注意以下几点: 1. 抬头数据:需要提供采购订单的抬头信息,例如供应商、采购组织、采购组等。 2. 行项目数据:需要提供采购订单的行项目信息,例如物料号、数量、价格等。 3. lt_poitem-ematerial字段:在同一个BAPI COMMIT中多次调用BAPI_PO_CREATE1时,需要赋值该字段。如果不赋值,系统会自动将其值设置为lt_poitem-material的值,并在后续调用中记忆该值。如果不正确地赋值该字段,可能会导致后续的BAPI调用报错[^1]。 下面是一个使用BAPI_PO_CREATE1创建采购订单的示例代码: ```python import pyrfc # 创建RFC连接 conn = pyrfc.Connection(user='username', passwd='password', ashost='host', sysnr='00', client='client') # 准备抬头数据 header_data = { 'COMP_CODE': '0001', 'DOC_TYPE': 'NB', 'VENDOR': '10000001', # 其他抬头字段... } # 准备行项目数据 item_data = [ { 'PO_ITEM': '00010', 'MATERIAL': 'MATERIAL1', 'QUANTITY': 10, # 其他行项目字段... }, { 'PO_ITEM': '00020', 'MATERIAL': 'MATERIAL2', 'QUANTITY': 20, # 其他行项目字段... }, # 其他行项目... ] # 调用BAPI_PO_CREATE1创建采购订单 result = conn.call('BAPI_PO_CREATE1', POHEADER=header_data, POITEM=item_data) # 检查返回结果 if result['RETURN'][0]['TYPE'] == 'E': print('创建采购订单失败:', result['RETURN'][0]['MESSAGE']) else: print('创建采购订单成功:', result['RETURN'][0]['MESSAGE']) # 关闭RFC连接 conn.close() ``` 请注意,上述示例代码中的参数值需要根据实际情况进行替换。另外,还需要安装pyrfc库来进行RFC连接的操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小飞猪猪猪猪猪猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值