BAPI的小例子

来源:互联网 发布:网络教育本科报名时间 编辑:程序博客网 时间:2024/06/05 17:41
DATA:    MY_POHEADER    LIKE BAPIMEPOHEADER,
         MY_POHEADERX   LIKE BAPIMEPOHEADERX,
         MY_POITEM      LIKE BAPIMEPOITEM Occurs With header line,
         MY_POITEMX     LIKE BAPIMEPOITEMX Occurs With header line,
         MY_POSCHEDULE  LIKE BAPIMEPOSCHEDULE Occurs With header line,
         MY_POSCHEDULEX LIKE BAPIMEPOSCHEDULX Occurs With header line,
         MY_POCOND      LIKE BAPIMEPOCOND Occurs With header line,
         MY_POCONDX     LIKE BAPIMEPOCONDX Occurs With header line,
         MY_POPARTER    LIKE BAPIEKKOP Occurs With header line,
         MY_EXPPURCHASEORDER LIKE BAPIMEPOHEADER-PO_NUMBER,
         MY_EXPHeader   LIKE BAPIMEPOHEADER,
         MY_Return      LIKE BAPIRET2 Occurs With header line.

*&--------------------------------------------------------------------*
MY_POHEADER-COMP_CODE '1000'.
MY_POHEADER-DOC_TYPE 'NB'.
MY_POHEADER-ITEM_INTVL '00010'.
MY_POHEADER-VENDOR '0000050026'.
MY_POHEADER-PMNTTRMS 'GW04'.
MY_POHEADER-PURCH_ORG 'ZX1'."'1100'.
MY_POHEADER-PUR_GROUP '003'.
MY_POHEADER-CURRENCY 'CNY'.
*&---------------------------------------------------------------------*
MY_POHEADERX-COMP_CODE 'X'.
MY_POHEADERX-DOC_TYPE 'X'.
MY_POHEADERX-ITEM_INTVL 'X'.
MY_POHEADERX-VENDOR 'X'.
MY_POHEADERX-PMNTTRMS 'X'.
MY_POHEADERX-PURCH_ORG 'X'.
MY_POHEADERX-PUR_GROUP 'X'.
*&----------------------------------------------------------------------*
Clear MY_POITEM.
MY_POITEM-PO_ITEM '00010'.
MY_POITEM-MATERIAL 'SY00-ZZ01-003'."'000000000001101979'.
MY_POITEM-PLANT 'SY00'."'1101'.
MY_POITEM-STGE_LOC '1011'.
MY_POITEM-QUANTITY 15.
*MY_POITEM-PO_UNIT = 'EA'.

APPEND MY_POITEM.
*&---------------------------------------------------------------------*
Clear MY_POITEMX.
MY_POITEMX-PO_ITEM '00010'.
MY_POITEMX-MATERIAL 'X'.
MY_POITEMX-PLANT 'X'.
MY_POITEMX-STGE_LOC 'X'.
MY_POITEMX-QUANTITY 'X'.
APPEND MY_POITEMX.
*&---------------------------------------------------------------------*

CALL FUNCTION 'BAPI_PO_CREATE1'
  EXPORTING
    POHEADER         MY_POHEADER
    POHEADERX        MY_POHEADERX
  IMPORTING
    EXPPURCHASEORDER MY_EXPPURCHASEORDER
  TABLES
    POITEM           MY_POITEM
    POITEMX          MY_POITEMX
    Return           MY_Return.
*&-------------------------------------------------------------------------*.

READ TABLE my_RETUrN WITH KEY TYPE 'E'.
*
IF SY-SUBRC <> ."AND NOT LV_MTDOC IS INITIAL.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      wait 'X'.
*    P_MBLNR = LV_MTDOC.
*    PERFORM UPLOAD_100.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'
  .

*    MESSAGE I003 WITH LT_RETUN-MESSAGE.
ENDIF.

*IF SY-SUBRC NE 0.
*  Write '测试过程有问题'.
*ELSE.
Write/ MY_EXPPURCHASEORDER.

ULine.
Loop at My_Return.
  Write/ MY_Return-Type,MY_Return-ID,MY_Return-NUMBER,MY_Return-Message,MY_Return-Log_No,
           MY_Return-Log_Msg_No,MY_Return-Parameter,MY_Return-Row,MY_Return-Field,MY_Return-System.
EndLoop.
Uline.
*endif.
0 0