SAP MM BAPI_PO_CREATE1的用法

简介: SAP MM BAPI_PO_CREATE1的用法   初步对BAPI_PO_CREATE1有了一点了解,下面对这个bapi做一些我的体会讲解: 下面先将程式上传, 在程式中我只简单的对poheader和poite...

SAP MM BAPI_PO_CREATE1的用法  

初步BAPI_PO_CREATE1有了一点了解,下面对这个bapi做一些我的体会讲:

下面先程式上, 在程式中我只简单poheaderpoitem做了一些,生了一po,po中只可以有一个项被采,其中有其他可以加入,例如: schedule,account,一起其他一些西,,这个程式中我就不在做介,在后的文章中出我对这个bapi的其他体,希望大家注我的博克,!

REPORT  ZCREATPOBAPI                            .

TABLES BAPIMEPOHEADER.

CONSTANTS : C_X VALUE 'X'.

DATA WA_POHEADER TYPE BAPIMEPOHEADER.  "所要增加的
DATA WA_POHEADERX TYPE BAPIMEPOHEADERX. "
针对要增加的容做一个标记,实标记过了才可以被修改的
DATA WA_POITEM    TYPE BAPIMEPOITEM.   "po
item,工作
DATA ITAB_POITEM LIKE TABLE OF WA_POITEM. po
item,

DATA WA_POITEMX TYPE BAPIMEPOITEMX.  "poitem增加容的标记 工作
DATA ITAB_POITEMX LIKE TABLE OF WA_POITEMX."po
item增加容的标记
DATA WA_RETURN  TYPE BAPIRET2.     "
消息 返回 ,工作
DATA ITAB_RETURN LIKE TABLE OF WA_RETURN. "
消息返回,

*HEADER.
PARAMETERS: P_NUMBER LIKE  BAPIMEPOHEADER-PO_NUMBER,
            P_COCODE LIKE  BAPIMEPOHEADER-COMP_CODE DEFAULT 'CN01',
            P_DOTYPE LIKE  BAPIMEPOHEADER-DOC_TYPE  DEFAULT 'ZST3',
            P_STATUS LIKE  BAPIMEPOHEADER-STATUS    DEFAULT 'I',
            P_CRDATE LIKE  BAPIMEPOHEADER-CREAT_DATE ,
            P_CRDABY LIKE  BAPIMEPOHEADER-CREATED_BY DEFAULT SY-UNAME,
            P_ITEMIN LIKE  BAPIMEPOHEADER-ITEM_INTVL DEFAULT '1',
            P_VENDOR LIKE  BAPIMEPOHEADER-VENDOR     DEFAULT 'TWM4',
            P_LANGU  LIKE  BAPIMEPOHEADER-LANGU,
            P_PMNTTR LIKE  BAPIMEPOHEADER-PMNTTRMS   DEFAULT 'COD',
            P_PURCH  LIKE  BAPIMEPOHEADER-PURCH_ORG  DEFAULT 'CN01',
            P_PURGR  LIKE  BAPIMEPOHEADER-PUR_GROUP  DEFAULT  'KXX',
            P_DOCDAT LIKE  BAPIMEPOHEADER-DOC_DATE,
            P_VATCN  LIKE  BAPIMEPOHEADER-VAT_CNTRY  DEFAULT  'CNY'.
*ITEM
SELECTION-SCREEN SKIP.
PARAMETERS: P_POITEM    LIKE BAPIMEPOITEM-PO_ITEM DEFAULT '1',
            P_MATNER    LIKE BAPIMEPOITEM-MATERIAL,
            P_PLANT     LIKE BAPIMEPOITEM-PLANT DEFAULT 'CKH1',
            P_LOCT      LIKE BAPIMEPOITEM-STGE_LOC DEFAULT '0000',
            P_QUANTI    LIKE BAPIMEPOITEM-QUANTITY ,
            P_NETPRI    LIKE BAPIMEPOITEM-NET_PRICE,
            P_PRICEU    LIKE BAPIMEPOITEM-PRICE_UNIT,
            P_RENAME    LIKE BAPIMEPOITEM-PREQ_NAME DEFAULT SY-UNAME,
            P_PRDATE    LIKE BAPIMEPOITEM-PERIOD_IND_EXPIRATION_DATE DEFAULT 'D'.

 

 


*herader data
wa_poheader-po_number   = P_NUMBER .
wa_poheader-comp_code   = P_COCODE .
wa_poheader-doc_type    = P_DOTYPE .
wa_poheader-status      = P_STATUS .
wa_poheader-creat_date  = P_CRDATE.
wa_poheader-CREATED_BY = P_CRDABY.
wa_poheader-item_intvl = P_ITEMIN.
wa_poheader-vendor     = P_VENDOR.
wa_poheader-langu      = P_LANGU .
wa_poheader-pmnttrms   = P_PMNTTR.
wa_poheader-purch_org  = P_PURCH .
wa_poheader-pur_group  = P_PURGR .
wa_poheader-doc_date   = P_DOCDAT.
wa_poheader-vat_cntry   = P_VATCN .

*po header flag
wa_poheaderx-po_number   = 'X' .
wa_poheaderx-comp_code   = 'X' .
wa_poheaderx-doc_type    = 'X' .
wa_poheaderx-status      = 'X' .
wa_poheaderx-creat_date  = 'X'.
wa_poheaderx-created_by = 'X'.
wa_poheaderx-item_intvl = 'X'.
wa_poheaderx-vendor     = 'X'.
wa_poheaderx-langu      = 'X' .
wa_poheaderx-pmnttrms   = 'X'.
wa_poheaderx-purch_org  = 'X' .
wa_poheaderx-pur_group  = 'X' .
wa_poheaderx-doc_date   = 'X'.
wa_poheaderx-vat_cntry   = 'X' .


*po item data
wa_poitem-po_item                    = P_POITEM.
wa_poitem-MATERIAL                   = P_MATNER .
wa_poitem-PLANT                      = P_PLANT  .
WA_POITEM-STGE_LOC                   = P_LOCT .
wa_poitem-QUANTITY                   = P_QUANTI .
wa_poitem-NET_PRICE                  = P_NETPRI .
wa_poitem-PRICE_UNIT                 = P_PRICEU .
wa_poitem-PREQ_NAME                  = P_RENAME .
wa_poitem-PERIOD_IND_EXPIRATION_DATE = P_PRDATE .
APPEND WA_POITEM TO ITAB_POITEM.


*po item flag
wa_poitemx-po_item                   = p_poitem.
wa_poitemx-po_itemx                   = 'X'.
wa_poitemx-MATERIAL                   = 'X' .
wa_poitemx-PLANT                      = 'X'.
WA_POITEMX-STGE_LOC                   = 'X'.
wa_poitemx-QUANTITY                   = 'X'.
wa_poitemx-NET_PRICE                  = 'X'.
wa_poitemx-PRICE_UNIT                 = 'X'.
wa_poitemx-PREQ_NAME                  = 'X'.
wa_poitemx-PERIOD_IND_EXPIRATION_DATE = 'X'.
append wa_poitemx to itab_poitemx.

*call bapi
  CALL FUNCTION 'BAPI_PO_CREATE1'
    EXPORTING
      POHEADER    = wa_poheader
      POHEADERX   = wa_poheaderX
    TABLES
      RETURN      = ITAB_RETURN
      POITEM      = ITAB_POITEM
      POITEMX     = itab_poitemx.
*      POACCOUNT   = I_PO_ACCOUNT
*      POACCOUNTX  = I_PO_ACCOUNTX
*      POSCHEDULE  = I_PO_SCHEDULE
*      POSCHEDULEX = I_PO_SCHEDULEX.

DATA ERROR_LOG TYPE C.
LOOP AT ITAB_RETURN INTO WA_RETURN.
  IF WA_RETURN-TYPE = 'E'.
    ERROR_LOG = 'X'.
    EXIT.
  ENDIF.
  CLEAR WA_RETURN.
ENDLOOP.
IF ERROR_LOG = 'X'.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
    .
  WRITE 'MESSAGE ERROR'.
  LOOP AT ITAB_RETURN INTO WA_RETURN.
    WRITE: / WA_RETURN-TYPE, WA_RETURN-MESSAGE.
    CLEAR WA_RETURN.
  ENDLOOP.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT   = 'X'.
  LOOP AT ITAB_RETURN INTO WA_RETURN.
    WRITE: / WA_RETURN-TYPE ,WA_RETURN-MESSAGE.
    CLEAR WA_RETURN.
  ENDLOOP.
ENDIF.

 

目录
相关文章
SAP MM/FI_运费处理方式
常见的采购运费处理方式
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(下)(2)
在上一篇文章中,我们介绍了 ABAP 的查询语句关键的三个部分: 1.SELECT result 部分 2.FROM source 部分 3.INTO target 部分
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(下)(2)
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(下)(1)
在上一篇文章中,我们介绍了 ABAP 的查询语句关键的三个部分: 1、SELECT result 部分 2、FROM source 部分 3、INTO target 部分
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(下)(1)
|
存储 SQL 数据库
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)(1)
日常开发过程中,最常用的语句可能就是查询语句了。那么如果从数据库表中查询数据呢?
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)(1)
SAP MM 途损处理方式
通常客户采购业务需求提到货物运输有损耗,需要针对此业务给出合理方案输出,下面笔者针对此类业务分析下各种实现方案的可行性!
|
存储 数据库
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)(2)
日常开发过程中,最常用的语句可能就是查询语句了。那么如果从数据库表中查询数据呢?
工作笔记之 SELECT 语句在 SAP ABAP 中的用法总结(上)(2)
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM初阶之事务代码MIGO界面批次拆分最多输入15行?
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM不常用移动类型之325
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位
SAP MM初阶之采购信息记录里的Prior Supplier栏位