函数使用一:采购订单BAPI_PO_CREATE1

REPORT YTEST01.

DATA:GS_POHEADER           TYPE                   BAPIMEPOHEADER,
     GS_POHEADERX          TYPE                   BAPIMEPOHEADERX,
     GT_RETURN             TYPE STANDARD TABLE OF BAPIRET2,
     GWA_RETURN            TYPE                   BAPIRET2,
     GT_ITEM               TYPE STANDARD TABLE OF BAPIMEPOITEM,
     GWA_ITEM              TYPE                   BAPIMEPOITEM,
     GT_ITEMX              TYPE STANDARD TABLE OF BAPIMEPOITEMX,
     GWA_ITEMX             TYPE                   BAPIMEPOITEMX,
     GT_POSCHEDULE         TYPE STANDARD TABLE OF BAPIMEPOSCHEDULE,
     GWA_POSCHEDULE        TYPE                   BAPIMEPOSCHEDULE,
     GT_POSCHEDULEX        TYPE STANDARD TABLE OF BAPIMEPOSCHEDULX,
     GWA_POSCHEDULEX       TYPE                   BAPIMEPOSCHEDULX,
     GT_POCOND             TYPE STANDARD TABLE OF BAPIMEPOCOND,
     GWA_POCOND            TYPE                   BAPIMEPOCOND,
     GT_POCONDX            TYPE STANDARD TABLE OF BAPIMEPOCONDX,
     GWA_POCONDX           TYPE                   BAPIMEPOCONDX,
     GT_POCOMPONENTS       TYPE STANDARD TABLE OF BAPIMEPOCOMPONENT,
     GWA_POCOMPONENTS      TYPE                   BAPIMEPOCOMPONENT,
     GWA_POCOMPONENTS_TEMP TYPE                   BAPIMEPOCOMPONENT,
     GT_POCOMPONENTSX      TYPE STANDARD TABLE OF BAPIMEPOCOMPONENTX,
     GWA_POCOMPONENTSX     TYPE                   BAPIMEPOCOMPONENTX.
DATA:LV_NUM TYPE BAPIMEPOHEADER-PO_NUMBER.


      GS_POHEADER-DOC_TYPE = '913'.
      GS_POHEADER-VENDOR = '0000110727'.
      GS_POHEADER-PURCH_ORG = '1010'.
      GS_POHEADER-PUR_GROUP = 'A06'.
      GS_POHEADER-COMP_CODE = '1000'.
      GS_POHEADER-CURRENCY = 'CNY'."货币
      GS_POHEADER-DOC_DATE = SY-DATUM.
      GS_POHEADER-LANGU = SY-LANGU.
      GS_POHEADER-STATUS = 'I'.
*      GS_POHEADER-INFO_UPD = 'I'.
*      GS_POHEADER-ITEM_INTVL = ''.
*      GS_POHEADER-ITEM_INTVL = ''.


      GS_POHEADERX-DOC_TYPE = 'X'.
      GS_POHEADERX-VENDOR = 'X'.
      GS_POHEADERX-PURCH_ORG = 'X'.
      GS_POHEADERX-PUR_GROUP = 'X'.
      GS_POHEADERX-COMP_CODE = 'X'.
      GS_POHEADERX-DOC_DATE = 'X'.
      GS_POHEADERX-LANGU = 'X'.
      GS_POHEADERX-CURRENCY = 'X'."货币
      GS_POHEADERX-STATUS = 'X'."货币
*      GS_POHEADERX-ITEM_INTVL = 'X'.



    GWA_ITEM-PO_ITEM = '00010'. "采购凭证的项目编号
    GWA_ITEM-MATERIAL = '000000000018007349'.
    GWA_ITEM-ITEM_CAT = 'L'.
    GWA_ITEM-SHORT_TEXT = 'SHORT'."短文本
    GWA_ITEM-QUANTITY = 1."采购订单数量
    GWA_ITEM-PO_UNIT = 'PC' ."采购订单的计量单位
    GWA_ITEM-PLANT = '1010'. "工厂
    GWA_ITEM-STGE_LOC = '1002'."库存地点
    GWA_ITEM-TAX_CODE = 'J0'.
    GWA_ITEM-DATE_QTY_FIXED = 'X'.
    APPEND GWA_ITEM TO GT_ITEM.

    GWA_ITEMX-PO_ITEM = '00010'. "采购凭证的项目编号
    GWA_ITEMX-MATERIAL = 'X'.
    GWA_ITEMX-SHORT_TEXT = 'X'."短文本
    GWA_ITEMX-QUANTITY = 'X'."采购订单数量
    GWA_ITEMX-PO_UNIT = 'X' ."采购订单的计量单位
    GWA_ITEMX-PLANT = 'X'."工厂
    GWA_ITEMX-STGE_LOC = 'X'. "库存地点
    GWA_ITEMX-ITEM_CAT = 'X'.
    GWA_ITEMX-TAX_CODE = 'X'.
    GWA_ITEMX-DATE_QTY_FIXED = 'X'.
    APPEND GWA_ITEMX TO GT_ITEMX.

    GWA_POSCHEDULE-PO_ITEM = '00010'. "采购凭证的项目编号
    GWA_POSCHEDULE-SCHED_LINE = 0001. "采购凭证的项目编号
    GWA_POSCHEDULE-DEL_DATCAT_EXT = 'D'."交货日期的类别
    GWA_POSCHEDULE-DELIVERY_DATE = SY-DATUM."交货日期
    GWA_POSCHEDULE-QUANTITY = 1."采购订单数量
    APPEND GWA_POSCHEDULE TO GT_POSCHEDULE.

    GWA_POSCHEDULEX-PO_ITEM = '00010'. "采购凭证的项目编号
    GWA_POSCHEDULEX-SCHED_LINE = 0001. "采购凭证的项目编号
    GWA_POSCHEDULEX-DEL_DATCAT_EXT = 'X'."交货日期的类别
    GWA_POSCHEDULEX-DELIVERY_DATE = 'X'."交货日期
    GWA_POSCHEDULEX-QUANTITY = 'X'."采购订单数量
    APPEND GWA_POSCHEDULEX TO GT_POSCHEDULEX.

    GWA_POCOND-ITM_NUMBER = '00010'.
    GWA_POCOND-COND_TYPE = 'PB00'.
    GWA_POCOND-COND_VALUE = 10.   "价格
    GWA_POCOND-COND_UNIT  = 'PC'.   "条件单位
    GWA_POCOND-COND_P_UNT = 1."GS_EXCEL_RAW0-PEINH.   "价格单位
    GWA_POCOND-CURRENCY = 'CNY'.
    GWA_POCOND-CHANGE_ID    = 'I'.
    APPEND GWA_POCOND TO GT_POCOND.

    GWA_POCONDX-ITM_NUMBER = '00010'.
    GWA_POCONDX-COND_TYPE = 'X'.
    GWA_POCONDX-COND_VALUE = 'X'.
    GWA_POCONDX-COND_UNIT = 'X'.    "条件单位
    GWA_POCONDX-COND_P_UNT = 'X'.   "价格单位
    GWA_POCONDX-CURRENCY = 'X'.
    GWA_POCONDX-CHANGE_ID    = 'X'.
    APPEND GWA_POCONDX TO GT_POCONDX.
"如果有BOM,自动带出组件,如果使用下面代码会添加组件
*      GWA_POCOMPONENTS-PO_ITEM = '00010' .
*      GWA_POCOMPONENTS-SCHED_LINE = 0001.
**    lwa_pocomponents-item_no = '0010'.
*      GWA_POCOMPONENTS-MATERIAL = '000000000013008278'.
*      GWA_POCOMPONENTS-ENTRY_QUANTITY = 1.
*      GWA_POCOMPONENTS-ENTRY_UOM  = 'PC'.
*      GWA_POCOMPONENTS-REQ_DATE  =  SY-DATUM - 1.    "组件需求日期
*      GWA_POCOMPONENTS-PLANT  = '1010'.
*      GWA_POCOMPONENTS-CHANGE_ID = 'I'.
*      APPEND GWA_POCOMPONENTS TO GT_POCOMPONENTS.
*
*      GWA_POCOMPONENTSX-PO_ITEM = '00010'.
*      GWA_POCOMPONENTSX-SCHED_LINE = 0001.
**    lwa_pocomponentsx-item_no = '0010'.
*      GWA_POCOMPONENTSX-MATERIAL =  'X'.
*      GWA_POCOMPONENTSX-ENTRY_QUANTITY = 'X'.
*      GWA_POCOMPONENTSX-ENTRY_UOM  = 'X'.
*      GWA_POCOMPONENTSX-REQ_DATE = 'X'.
*      GWA_POCOMPONENTSX-PLANT  = 'X'.
*      GWA_POCOMPONENTSX-CHANGE_ID = 'X'.
*      APPEND GWA_POCOMPONENTSX TO GT_POCOMPONENTSX.


CALL FUNCTION 'BAPI_PO_CREATE1'
  EXPORTING
    POHEADER                     = GS_POHEADER
    POHEADERX                    = GS_POHEADERX
*   POADDRVENDOR                 =
*   TESTRUN                      =
*   MEMORY_UNCOMPLETE            =
*   MEMORY_COMPLETE              =
*   POEXPIMPHEADER               =
*   POEXPIMPHEADERX              =
*   VERSIONS                     =
*   NO_MESSAGING                 =
*   NO_MESSAGE_REQ               =
*   NO_AUTHORITY                 =
    NO_PRICE_FROM_PO             = 'X'
*   PARK_COMPLETE                =
*   PARK_UNCOMPLETE              =
  IMPORTING
    EXPPURCHASEORDER             = LV_NUM
*   EXPHEADER                    =
*   EXPPOEXPIMPHEADER            =
  TABLES
    RETURN                       = GT_RETURN
    POITEM                       = GT_ITEM
    POITEMX                      = GT_ITEMX
*   POADDRDELIVERY               =
    POSCHEDULE                   = GT_POSCHEDULE
    POSCHEDULEX                  = GT_POSCHEDULEX
*   POACCOUNT                    =
*   POACCOUNTPROFITSEGMENT       =
*   POACCOUNTX                   =
*   POCONDHEADER                 =
*   POCONDHEADERX                =
    POCOND                       = GT_POCOND
    POCONDX                      = GT_POCONDX
*   POLIMITS                     =
*   POCONTRACTLIMITS             =
*   POSERVICES                   =
*   POSRVACCESSVALUES            =
*   POSERVICESTEXT               =
*   EXTENSIONIN                  =
*   EXTENSIONOUT                 =
*   POEXPIMPITEM                 =
*   POEXPIMPITEMX                =
*   POTEXTHEADER                 =
*   POTEXTITEM                   =
*   ALLVERSIONS                  =
*   POPARTNER                    =
    POCOMPONENTS                 = GT_POCOMPONENTS
   POCOMPONENTSX                = GT_POCOMPONENTSX .

IF SY-SUBRC = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
   EXPORTING
     WAIT          = 'X'.
  WRITE LV_NUM.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
SAP BAPI_PO_CREATE1是一个SAP系统中的功能模块,用于创建采购订单(Purchase Order)。通过该功能模块,我们可以使用SAP系统来快速创建和维护采购订单的相关数据。 使用BAPI_PO_CREATE1,我们可以通过调用该功能模块来向SAP系统中创建新的采购订单。在调用该功能模块时,我们需要提供一些必要的输入参数,如采购订单的相关信息、采购组织和公司代码等。 这个功能模块可以帮助我们在SAP系统中自动化采购订单的创建流程。它可以根据输入的参数,自动生成采购订单,并将相关的物料、供应商和价格等信息添加到订单中。 通过使用BAPI_PO_CREATE1,我们可以实现以下功能: 1. 创建采购订单:我们可以通过调用该功能模块来创建新的采购订单。在调用时,我们需要提供订单的相关信息,如供应商、物料、数量、交货日期等。系统会根据提供的信息自动创建采购订单。 2. 修改采购订单:除了创建新的采购订单,我们还可以使用BAPI_PO_CREATE1来修改现有的采购订单。在调用时,我们需要提供订单的标识符和要修改的字段及对应的值。系统将根据提供的信息来更新采购订单的数据。 3. 检查采购订单:在调用BAPI_PO_CREATE1之前,我们可以先使用BAPI_PO_EXISTENCE_CHECK来检查采购订单是否存在。这可以帮助我们避免重复创建订单或更新不存在的订单。 总而言之,SAP BAPI_PO_CREATE1是一个用于创建和维护采购订单的功能模块。它可以帮助我们在SAP系统中实现自动化的采购订单处理,并提高采购过程的效率和准确性。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值