DATA: poheader LIKE  bapimepoheader,
        poheaderx LIKE  bapimepoheaderx,
        poitem  LIKE  bapimepoitem OCCURS 0 WITH HEADER LINE,
        poitemx LIKE  bapimepoitemx OCCURS 0 WITH HEADER LINE,
        poschedule  LIKE bapimeposchedule OCCURS 0 WITH HEADER LINE,
        poschedulex LIKE bapimeposchedulx OCCURS 0 WITH HEADER LINE,
        pomepocond  LIKE bapimepocond OCCURS 0 WITH HEADER LINE,
        pomepocondx LIKE bapimepocondx OCCURS 0 WITH HEADER LINE,
        potextitem  LIKE bapiekpotx OCCURS 0 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 2 SECONDS.
      ENDIF.

PO BAPI "BAPI_PO_CREATE1"的更多相关文章

  1. 创建服务类PO

    转载:https://blogs.sap.com/2014/03/04/creating-a-simple-service-po-using-bapipocreate1bapipochange/ Cr ...

  2. SAP交货单过账自动生产采购订单、采购订单自动收货入库

    公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...

  3. 使用bapi创建PO遇到问题(BAPI_PO_CREATE1

    今天用 BAPI_PO_CREATE1创建po. 注意事项: vendor 供应商号:长度必须和系统一致,10位.如 2000025要写成 0002000025传递给参数. POITEM 中的 PO_ ...

  4. BAPI_PO_CREATE1 创建PO ch_memory_complete = ‘x',导致hold on 解决方案,

    1.尝试注释标准逻辑,看会不会有什么问题, ZME_BAPI_PO_CUST IF_EX_ME_BAPI_PO_CREATE_02~INBOUND 里面有个控制很费解 我给注释了 2.改用 BAPI_ ...

  5. BAPI创建PO,禁止净价信息更新

    大家都知道创建PO时,我们如果勾选了"信息更新",则该PO保存后相应的信息记录会把这个PO更新为其最后的凭证,那么这张PO的净价会作为下次创建新PO时净价的默认值. 这样我们设置的 ...

  6. [SAP ABAP开发技术总结]业务对象和BAPI

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  7. BAPI 使用

    BAPI_ACC_DOCUMENT_POST *---BAPI_ACC_DOCUMENT_POST 所需要的参数  DATA: OBJ_TYPE LIKE BAPIACHE09-OBJ_TYPE,   ...

  8. BAPI

    MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...

  9. SAP BAPI一览 史上最全

    全BADI一览  List of BAPI's       BAPI WG Component Function module name Description Description Obj. Ty ...

随机推荐

  1. Linux的基础使用命令

    ifconfig  #查看ip地址     或者使用  ip  a pwd  #查看当前工作路径 man  pwd   #查看命令的详细信息   按q退出 mkdir  /data  创建data目录 ...

  2. BZOJ1791 [Ioi2008]Island 岛屿[基环树+单调队列优化DP]

    基环树直径裸题. 首先基环树直径只可能有两种形式:每棵基环树中的环上挂着的树的直径,或者是挂在环上的两个树的最大深度根之间的距离之和. 所以,先对每个连通块跑一遍,把环上的点找出来,然后对环上每个点跑 ...

  3. scala-currying化

    scala的加里化(currying)纠结了很久.通过Scala Worksheet 可以打印很多调试信息,所以用它写了一些测试代码,帮助自己理解. object test { //一个参数列表,3个 ...

  4. NativeRenderingPlugin IOS

    https://bitbucket.org/Unity-Technologies/graphicsdemos/src/77f014c12161e5c25d902e2c5697dd0c45ce3e35/ ...

  5. Mixed Content混合内容错误 Iframe Http页面无法访问

    问题描述 为通过安全测试, 系统升级为https, 后由于新增了接口(页面集成方式, 即第三方系统某一个界面需要嵌入到我们系统的某个页面中) 采用iframe和重定向方式都报同样的错误, 意思就是我们 ...

  6. JavaScript相等运算符

    ★相等运算符 相等运算符用来比较两个值是否相等 如果相等会返回true,否则返回false ㈠使用 == 来做相等运算 ⑴当使用 == 来比较两个值时,如果值的类型不同,     则会自动进行类型转换 ...

  7. webpack给目录起别名

    1. 配置文件目录: build>webpack.base.config.js: resolve: { alias: { '@': resolve('src'), 'styles': resol ...

  8. 蓝桥历年试题 DNA对比

    [编程题](满分27分) 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为 ...

  9. Cogs 1688. [ZJOI2008]树的统计Count(树链剖分+线段树||LCT)

    [ZJOI2008]树的统计Count ★★★ 输入文件:bzoj_1036.in 输出文件:bzoj_1036.out 简单对比 时间限制:5 s 内存限制:162 MB [题目描述] 一棵树上有n ...

  10. Cogs 734. [网络流24题] 方格取数问题(最大闭合子图)

    [网络流24题] 方格取数问题 ★★☆ 输入文件:grid.in 输出文件:grid.out 简单对比 时间限制:1 s 内存限制:128 MB «问题描述: 在一个有m*n 个方格的棋盘中,每个方格 ...