• CALL FUNCTION 'BAPI_PO_CREATE1' 相关报错


    *&---------------------------------------------------------------------*
    *& Report  ZQJ06
    *&
    *&---------------------------------------------------------------------*
    *&
    *&
    *&---------------------------------------------------------------------*
    REPORT  ZQJ06.
    CONSTANTS : C_X VALUE 'X'.

    data: wa_POHEADER TYPE BAPIMEPOHEADER.
    DATA WA_POHEADERX TYPE BAPIMEPOHEADERX. "针对要增加的内容做一个标记,其实标记过了才可以被修改的
    data:  EXPPURCHASEORDER TYPE BAPIMEPOHEADER-PO_NUMBER.
    data: EXPHEADER LIKE  BAPIMEPOHEADER.
    data: wa_poitem like  BAPIMEPOITEM .
    DATA ITAB_POITEM LIKE TABLE OF WA_POITEM. " po中item的内容
    DATA WA_POITEMX TYPE BAPIMEPOITEMX.  "po中item增加内容的标记 工作区
    DATA ITAB_POITEMX LIKE TABLE OF WA_POITEMX."po中item增加内容的标记 内表
    data: wa_POSCHEDULE  type BAPIMEPOSCHEDULE.
    data: itab_poshedule like TABLE OF wa_poschedule.
    DATA WA_RETURN  TYPE BAPIRET2.     "消息 返回 ,工作区

    DATA ITAB_RETURN LIKE TABLE OF WA_RETURN. "消息返回, 内表
    data:RETURN LIKE    table of BAPIRET2.
     
     wa_POHEADER-comp_code = '1000'.     "公司代碼
     wa_POHEADER-doc_type = 'NB'.             "採購文件類型
     wa_POHEADER-purch_org = '1000'.          "採購組織
     wa_POHEADER-pur_group = '000'.           "採購群組
     wa_POHEADER-vendor = '0000000015'.     "供貨(發貨)工廠  有可能是位数不够
     wa_POHEADER-CREAT_DATE = sy-datum.
     wa_poheader-created_by = sy-uname.
     wa_poheader-doc_date   = sy-datum.

    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' .

    wa_poitem-po_item                    = '10'.  "行项目
    *wa_poitem-PO_UNIT   = 'M'.
    wa_poitem-MATERIAL    =  '100-100'.
    wa_poitem-QUANTITY     = '1320' .
    wa_poitem-MATL_GROUP = '001'.
    wa_poitem-PLANT      = '1000'.
    wa_poitem-PREQ_NAME                  = 'qianjun' .
    wa_poitem-PLAN_DEL       = 20.
    wa_poitem-PERIOD_IND_EXPIRATION_DATE = sy-datum.
    append wa_poitem to itab_poitem.

    wa_poitemx-po_item                   = '10'.
    wa_poitemx-po_itemx                   = 'Y'.
    wa_poitemx-MATERIAL                   = 'Y' .
    wa_poitemx-PLANT                      = 'X'.
    WA_POITEMX-STGE_LOC                   = 'X'.
    wa_poitemx-QUANTITY                   = 'Y'.
    wa_poitemx-NET_PRICE                  = 'Y'.
    wa_poitemx-PRICE_UNIT                 = 'Y'.
    wa_poitemx-PREQ_NAME                  = 'X'.
    wa_poitemx-PERIOD_IND_EXPIRATION_DATE = 'Y'.
    append wa_poitemx to itab_poitemx.
    wa_poschedule-po_item = 10.
    wa_POSCHEDULE-DELIVERY_DATE = '20110510'.

    append wa_POSCHEDULE to itab_poshedule.

    CALL FUNCTION 'BAPI_PO_CREATE1'
      EXPORTING
        POHEADER                     = wa_poheader
        POHEADERX                    =  wa_poheaderx
    *   POADDRVENDOR                 =
    *   TESTRUN                      =
    *   MEMORY_UNCOMPLETE            =
    *   MEMORY_COMPLETE              =
    *   POEXPIMPHEADER               =
    *   POEXPIMPHEADERX              =
    *   VERSIONS                     =
    *   NO_MESSAGING                 =
    *   NO_MESSAGE_REQ               =
    *   NO_AUTHORITY                 =
    *   NO_PRICE_FROM_PO             =
     IMPORTING
       EXPPURCHASEORDER             =  EXPPURCHASEORDER
       EXPHEADER                    =  EXPHEADER
    *   EXPPOEXPIMPHEADER            =
     TABLES
       RETURN                       =  ITAB_RETURN
       POITEM                       =  itab_poitem
       POITEMX                      =  itab_poitemx
    *   POADDRDELIVERY               =
    *   POSCHEDULE                   =  itab_poshedule
    *   POSCHEDULEX                  =
    *   POACCOUNT                    =
    *   POACCOUNTPROFITSEGMENT       =
    *   POACCOUNTX                   =
    *   POCONDHEADER                 =
    *   POCONDHEADERX                =
    *   POCOND                       =
    *   POCONDX                      =
    *   POLIMITS                     =
    *   POCONTRACTLIMITS             =
    *   POSERVICES                   =
    *   POSRVACCESSVALUES            =
    *   POSERVICESTEXT               =
    *   EXTENSIONIN                  =
    *   EXTENSIONOUT                 =
    *   POEXPIMPITEM                 =
    *   POEXPIMPITEMX                =
    *   POTEXTHEADER                 =
    *   POTEXTITEM                   =
    *   ALLVERSIONS                  =
    *   POPARTNER                    =
    *   POCOMPONENTS                 =
    *   POCOMPONENTSX                =
    *   POSHIPPING                   =
    *   POSHIPPINGX                  =
    *   POSHIPPINGEXP                =
              .
    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.
  • 相关阅读:
    08-认识margin
    07-border(边框)
    06-padding(内边距)
    05-盒模型
    04-层叠性权重相同处理
    03-继承性和层叠性
    MySQL安装与基本管理
    数据库概述
    并发编程练习
    selectors模块
  • 原文地址:https://www.cnblogs.com/rainysblog/p/3673727.html
Copyright © 2020-2023  润新知