PO BAPI "BAPI_PO_CREATE1"
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"的更多相关文章
- 创建服务类PO
转载:https://blogs.sap.com/2014/03/04/creating-a-simple-service-po-using-bapipocreate1bapipochange/ Cr ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- 使用bapi创建PO遇到问题(BAPI_PO_CREATE1
今天用 BAPI_PO_CREATE1创建po. 注意事项: vendor 供应商号:长度必须和系统一致,10位.如 2000025要写成 0002000025传递给参数. POITEM 中的 PO_ ...
- 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_ ...
- BAPI创建PO,禁止净价信息更新
大家都知道创建PO时,我们如果勾选了"信息更新",则该PO保存后相应的信息记录会把这个PO更新为其最后的凭证,那么这张PO的净价会作为下次创建新PO时净价的默认值. 这样我们设置的 ...
- [SAP ABAP开发技术总结]业务对象和BAPI
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- BAPI 使用
BAPI_ACC_DOCUMENT_POST *---BAPI_ACC_DOCUMENT_POST 所需要的参数 DATA: OBJ_TYPE LIKE BAPIACHE09-OBJ_TYPE, ...
- BAPI
MM模块 1. BAPI_MATERIAL_SAVEDATA 创建物料主数据 注意参数EXTENSIONIN的使用,可以创建自定义字段 例如:WA_BAPI_TE_MARA-MATERIAL = IT ...
- SAP BAPI一览 史上最全
全BADI一览 List of BAPI's BAPI WG Component Function module name Description Description Obj. Ty ...
随机推荐
- java——多线程并发库
JDK5中增加了Doug Lea的并发库,这一引进给Java线程的管理和使用提供了强大的便利性. java.util.current包中提供了对线程优化.管理的各项操作,使得线程的使用变得的心应手.该 ...
- Thinkphp3.2.3关于开启DEBUG正常,关闭DEBUG就报错模版无法找到,页面错误!请稍后再试~
这是Thinkphp3.2.3的一个坑- 具体原因也没搞清楚,测试环境都是好的,线上就出问题,是因为线上debug是关闭的 具体原委特此记录: 现象:(打开DEBUG就正常了,所以界面看不到具体报错滴 ...
- 数字签名 转载:http://www.youdzone.com/signature.html
What is a Digital Signature?An introduction to Digital Signatures, by David Youd Bob (Bob's public k ...
- P3384——树链剖分&&模板
题目描述 链接 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节点的值都加上z 操作2: ...
- Codeforces Round #586 (Div. 1 + Div. 2) A. Cards
链接: https://codeforces.com/contest/1220/problem/A 题意: When Serezha was three years old, he was given ...
- 立即执行函数与For. . .in语句
㈠立即执行函数 ⑴定义:在函数定义完,立即被调用,这样的函数叫做立即执行函数 ⑵语法:函数对象() ⑶注意:立即执行函数往往只会执行一次 ⑷示例1: (function(){ alert(" ...
- 【转】css样式的书写顺序及原理——很重要!
记得刚开始学习前端的时候,每次写css样式都是用到什么就在样式表后添加什么,完全没有考虑到样式属性的书写顺序对网页加载代码的影响.后来逐渐才知道正确的样式顺序不仅易于查看,并且也属于css样式优化的一 ...
- learning armbian steps(9) ----- armbian 源码分析(四)
在上一节的分析当中,我们知道是通过对话框来选择到底编译的是哪块板子,基于什么样的配置. 接下来我们来拿一个实例来分析一下具体的案例,我们会选中如下所示的版本 iotx-3 AM335X 1Gb SoC ...
- JAVA编程思想第二章答案
欢迎访问我的CSDN博客查看https://mp.csdn.net/mdeditor/94797839# 有其他问题欢迎发送邮箱至hpzhangjunjiell@163.com 感谢
- 21.栈的压入、弹出序列 Java
题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压 ...