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.

  • 相关阅读:
    [KB] Office序列号移除器
    收音机的记忆
    EnCase v7 正式版预览
    关于Ex01和EnCase 6.19的小道消息
    EnCase V7 正式发布 新特性
    [EnCase v7专题] EX01证据文件获取设置释疑
    智能手机应用取证系列之三:腾讯微博Android手机客户端取证分析
    [EnCase v7] EnCase v7零售版改用CodeMeter加密狗
    Http Server的一个示例
    一个简单的加解密算法
  • 原文地址:https://www.cnblogs.com/rockyzjut/p/3170909.html
Copyright © 2011-2022 走看看