zoukankan      html  css  js  c++  java
  • PO BAPI "BAPI_PO_CREATE1"

     DATA: poheader LIKE  bapimepoheader,
            poheaderx LIKE  bapimepoheaderx,
            poitem  LIKE  bapimepoitem OCCURS WITH HEADER LINE,
            poitemx LIKE  bapimepoitemx OCCURS WITH HEADER LINE,
            poschedule  LIKE bapimeposchedule OCCURS WITH HEADER LINE,
            poschedulex LIKE bapimeposchedulx OCCURS WITH HEADER LINE,
            pomepocond  LIKE bapimepocond OCCURS WITH HEADER LINE,
            pomepocondx LIKE bapimepocondx OCCURS WITH HEADER LINE,
            potextitem  LIKE bapiekpotx OCCURS WITH HEADER LINE.

      CLEAR: poheader, poheaderx, poitem, poitemx,
             poschedule, poschedulex, pomepocond, pomepocondx, potextitem,
             return.
      REFRESH: poitem, poitemx, poschedule ,poschedulex, pomepocond, pomepocondx, potextitem, return.

      DATA: t_ebelp LIKE ekpo-ebelp.

    *****PO HEAD

          poheader-comp_code po_head-comp_code.
          poheader-doc_type  'Z3'.
          poheader-vendor    po_head-lifnr.
          poheader-purch_org po_head-purch_org.
          poheader-pur_group po_head-pur_group.
          poheader-doc_date  po_head-bedat.      "凭证日期

          poheaderx-comp_code 'X'.
          poheaderx-doc_type  'X'.
          poheaderx-vendor    'X'.
          poheaderx-purch_org 'X'.
          poheaderx-pur_group 'X'.
          poheaderx-doc_date  'X'.


    *-----PO item
          CLEAR: t_ebelp.
          LOOP AT po_item.
            poitem-po_item    t_ebelp + '10'.
            t_ebelp           poitem-po_item.
            poitem-material   po_item-matnr.
            poitem-plant      po_item-werks.
            poitem-stge_loc   po_item-lgort.
            poitem-quantity   po_item-menge.
            poitem-po_unit    po_item-meins.
            poitem-net_price  po_item-price.
            poitem-price_unit po_item-price_unit.
            poitem-po_price   '1'.
            poitem-info_rec   po_item-info_rec.
            poitem-bras_nbm   po_item-sb_no.
            poitem-val_type   po_item-lgort.
            poitem-preq_name  po_item-afnam.      "申请者
            poitem-trackingno po_item-trackingno.
            poitem-plan_del   po_item-plan_del.
            poitem-tax_code   po_item-tax_code.   "税码
            APPEND poitem.
            CLEAR: poitem.

            poitemx-po_item    t_ebelp.
            poitemx-delete_ind 'X'.
            poitemx-material   'X'.
            poitemx-plant      'X'.
            poitemx-stge_loc   'X'.
            poitemx-quantity   'X'.
            poitemx-po_unit    'X'.
            poitemx-net_price  'X'.
            poitemx-price_unit 'X'.
            poitemx-po_price   'X'.
            poitemx-info_rec   'X'.
            poitemx-bras_nbm   'X'.
            poitemx-val_type   'X'.
            poitemx-preq_name  'X'.               "申请者
            poitemx-trackingno 'X'.
            poitemx-plan_del   'X'.
            poitemx-tax_code   'X'.               "税码
            APPEND poitemx.
            CLEAR: poitemx.


            poschedule-po_item       t_ebelp.
            poschedule-sched_line    1.
            poschedule-quantity      po_item-menge.
            poschedule-delivery_date po_item-delivery_date.
            APPEND poschedule.
            CLEAR: poschedule.

            poschedulex-po_item       t_ebelp.
            poschedulex-sched_line    1.
            poschedulex-quantity      'X'.
            poschedulex-delivery_date 'X'.
            APPEND poschedulex.
            CLEAR: poschedulex.


            potextitem-po_item   t_ebelp.
            potextitem-text_id   'F01'.
            potextitem-text_line po_item-text_line.
            APPEND potextitem.
            CLEAR: potextitem.

    *-------加税
            pomepocond-itm_number   t_ebelp.
            pomepocond-condition_no '00001'.
            pomepocond-cond_type    'PBXX'.
            pomepocond-cond_value   =  po_item-price.
            pomepocond-cond_p_unt   =  po_item-price_unit.
            pomepocond-currency     'RMB'.
            pomepocond-change_id    'U'.
            APPEND pomepocond.
            CLEAR: pomepocond.

            pomepocondx-itm_number   t_ebelp.
            pomepocondx-condition_no '00001'.
            pomepocondx-cond_type    'X'.
            pomepocondx-cond_value   'X'.
            pomepocondx-cond_p_unt   'X'.
            pomepocondx-currency     'X'.
            pomepocondx-change_id    'X'.
            APPEND pomepocondx.
            CLEAR: pomepocondx.

            pomepocond-itm_number   t_ebelp.
            pomepocond-condition_no '00001'.
            pomepocond-cond_type    'ZVAT'.
            pomepocond-cond_value   po_item-cond_value.
            pomepocond-currency     '%'.
            pomepocond-change_id    'U'.
            APPEND pomepocond.
            CLEAR: pomepocond.

            pomepocondx-itm_number   t_ebelp.
            pomepocondx-condition_no '00001'.
            pomepocondx-cond_type    'X'.
            pomepocondx-cond_value   'X'.
            pomepocondx-currency     'X'.
            pomepocondx-change_id    'X'.
            APPEND pomepocondx.
            CLEAR: pomepocondx.
          ENDLOOP.

          CALL FUNCTION 'BAPI_PO_CREATE1'
            EXPORTING
              poheader         poheader
              poheaderx        poheaderx
              memory_complete  flag_temp
            IMPORTING
              exppurchaseorder ebeln
            TABLES
              return           return
              poitem           poitem
              poitemx          poitemx
              poschedule       poschedule
              poschedulex      poschedulex
              pocond           pomepocond
              pocondx          pomepocondx
              potextitem       potextitem.

          READ TABLE return WITH KEY type 'E'.
          IF sy-subrc 0. "有出错信息
            LOOP AT return WHERE type 'E'.
              CONCATENATE e_message ',' return-message INTO e_message.
              CONDENSE e_message.
            ENDLOOP.
          ELSE.
           

            CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
            EXPORTING
              wait 'X'.

            WAIT UP TO SECONDS.

          ENDIF.

  • 相关阅读:
    ASP.NET Core 使用Redis存储Session
    JS复制文本到剪切板
    Linux 升级修改libc gcc 文件名称,导致执行命令失效问题解决
    Linux 基础命令-CURL 表单上传文件
    CentOS 下部署 ASP.NET Core环境
    ASP.NET Core 添加日志NLog
    Windows 下TortoiseGit 设置避免每次登录帐号密码
    类加载机制与双亲委派
    句子的成分
    词的作用
  • 原文地址:https://www.cnblogs.com/rockyzjut/p/3170909.html
Copyright © 2011-2022 走看看