BAPI_PO_CREATE1--单价增大10倍问题
问题描述:使用BAPI:BAPI_PO_CREATE1创建PO时,出现单价比传入金额大10倍的问题。
解决方法:在table:pocond;pocondx增加币种传参
示例:
LOOP AT lt_alv2.
"订单抬头
CLEAR:poheader,poheaderx,po_no.
* poheader-po_number = . "采购订单
poheader-comp_code = lt_alv2-bukrs. "公司代码
IF lt_alv2-lifnr+4(1) = '0'.
poheader-doc_type = 'Z02'. "订单类型
ELSE.
poheader-doc_type = 'Z04'. "订单类型
ENDIF.
poheader-vendor = lt_alv2-lifnr. "供应商.
poheader-doc_date = sy-datum. "采购凭证日期
poheader-purch_org = lt_alv2-ekorg. "采购组织
poheader-pur_group = lt_alv2-ekgrp. "采购组
* poheader-pmnttrms = lt_alv2-zterm. "付款条件
poheader-currency = lt_alv2-waers. "币别
* poheader-ref_1 = lt_alv2-ihrez. "您的参考
* poheader-our_ref = lt_alv2-ebeln. "我们的参考
* poheader-collect_no = lt_alv2-submi. "汇总号
poheader-langu = sy-langu. "语言代码
poheader-pmnttrms = lt_alv2-zterm.
* poheaderx-po_number = c_x.
poheaderx-comp_code = c_x.
poheaderx-doc_type = c_x.
poheaderx-vendor = c_x.
poheaderx-doc_date = c_x.
poheaderx-purch_org = c_x.
poheaderx-pur_group = c_x.
* poheaderx-pmnttrms = c_x.
poheaderx-currency = c_x.
* poheaderx-ref_1 = c_x.
* poheaderx-sales_pers = c_x.
* poheaderx-our_ref = c_x.
* poheaderx-collect_no = c_x.
poheaderx-langu = c_x. "语言代码
poheaderx-pmnttrms = c_x.
**行项目/计划行
CLEAR:poitem[],poitemx[],lv_ebelp,posched[],poschedx[],pocond[],pocondx[],return[].
LOOP AT gt_alv2 INTO gs_alv2 WHERE ebeln = lt_alv2-ebeln.
lv_ebelp = lv_ebelp + 10.
CLEAR:poitem,poitemx,posched,poschedx,pocond,pocondx.
poitem-po_item = lv_ebelp. "采购订单行项目
poitemx-po_item = lv_ebelp. "采购订单行项目
poitem-acctasscat = gs_alv2-knttp. "科目分配类别
poitemx-acctasscat = c_x. "科目分配类别
poitem-item_cat = gs_alv2-pstyp. "项目类别
poitemx-item_cat = c_x. "项目类别
poitem-material = gs_alv2-matnr. "物料
poitemx-material = c_x . "物料
poitem-short_text = gs_alv2-txz01. "行项目文本
poitemx-short_text = c_x. "行项目文本
poitem-quantity = gs_alv2-menge. "采购订单数量
poitemx-quantity = c_x . "采购订单数量
poitem-po_unit = gs_alv2-meins. "订单单位
poitemx-po_unit = c_x. "订单单位
poitem-net_price = gs_alv2-netpr. "价格
poitemx-net_price = c_x. "价格
poitem-price_unit = gs_alv2-peinh ."价格单位
poitemx-price_unit = c_x . "价格单位
poitem-orderpr_un = gs_alv2-meins ."订单价格单位(采购).
poitemx-orderpr_un = c_x . "订单价格单位(采购).
poitem-plant = gs_alv2-werks. "工厂
poitemx-plant = c_x. "工厂
poitem-tax_code = gs_alv2-mwskz. "税码
poitemx-tax_code = c_x. "税码
poitem-ret_item = 'X'. "退货项目
poitemx-ret_item = c_x. "退货项目
APPEND poitem.
APPEND poitemx.
posched-po_item = lv_ebelp. "订单行项目
posched-sched_line = '0001'. "计划行
posched-delivery_date = sy-datum. "交货日期
posched-quantity = gs_alv2-menge. "交货数量
APPEND posched.
poschedx-po_item = lv_ebelp.
poschedx-sched_line = '0001'.
poschedx-po_itemx = c_x.
poschedx-sched_linex = c_x.
poschedx-delivery_date = c_x.
poschedx-quantity = c_x.
APPEND poschedx.
IF gs_alv2-netpr > 0 AND poheader-doc_type = 'Z04'.
pocond-itm_number = lv_ebelp.
pocond-cond_st_no = '001'.
pocond-cond_type = 'PBXX'. "定价条件
pocond-cond_value = gs_alv2-netpr. "采购订单货币的订单净值
pocond-cond_p_unt = gs_alv2-peinh .
pocond-currency = lt_alv2-waers.
ENDIF.
APPEND pocond.
pocondx-itm_number = lv_ebelp.
pocondx-cond_st_no = '001'.
pocondx-cond_type = c_x. "定价条件
* pocondx-cond_count = c_x.
pocondx-cond_value = c_x.
pocondx-cond_p_unt = c_x.
pocondx-currency = c_x.
APPEND pocondx.
ENDIF.
gs_alv2-rbelp = lv_ebelp.
MODIFY gt_alv2 FROM gs_alv2 TRANSPORTING rbelp.
ENDLOOP.
CHECK poitem[] IS NOT INITIAL.
CALL FUNCTION 'BAPI_PO_CREATE1'
EXPORTING
poheader = poheader
poheaderx = poheaderx
* testrun = l_testrun
* no_price_from_po = 'X'
IMPORTING
exppurchaseorder = po_no
TABLES
return = return
poitem = poitem
poitemx = poitemx
poschedule = posched
poschedulex = poschedx
* poaccount = poaccount
* poaccountx = poaccountx
pocond = pocond
pocondx = pocondx.
* potextitem = potextitem
* potextheader = potextheader.
* pocomponents = pocomponents
* pocomponentsx = pocomponentsx.
* extensionin = extensionin.
CLEAR lv_msg.
LOOP AT return WHERE type = 'E'.
CONCATENATE lv_msg return-message INTO lv_msg SEPARATED BY ',' .
ENDLOOP.
IF sy-subrc EQ 0 .
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = icon_red_light
info = '有错误'
IMPORTING
result = lt_alv2-dr.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
LOOP AT gt_alv2 INTO gs_alv2 WHERE ebeln = lt_alv2-ebeln.
gs_alv2-rbelp = ''.
gs_alv2-dr = lt_alv2-dr.
gs_alv2-msg = lv_msg.
MODIFY gt_alv2 FROM gs_alv2 TRANSPORTING rbelp dr msg.
ENDLOOP.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
CALL FUNCTION 'ICON_CREATE'
EXPORTING
name = icon_okay
info = '创建成功 '
IMPORTING
result = lt_alv2-dr.
LOOP AT gt_alv2 INTO gs_alv2 WHERE ebeln = lt_alv2-ebeln.
gs_alv2-rbeln = po_no.
gs_alv2-dr = lt_alv2-dr.
MODIFY gt_alv2 FROM gs_alv2 TRANSPORTING rbeln dr.
ENDLOOP.
ENDIF.
ENDLOOP.
BAPI_PO_CREATE1--单价增大10倍问题相关推荐
- PICRUSt2:OTU/ASV等16S序列随意预测宏基因组,参考数据库增大10倍
PICRUSt推出了近6年,引用2500余次. 现推出PICRUSt2 https://github.com/picrust/picrust2 具有以下三大优势: 任何OTU/ASV直接预测功能: 数 ...
- 如何让你的Nginx 提升10倍性能?
来源:www.zcfy.cc/article/10-tips-for-10x-application-performance-nginx-22.html 原文:https://www.nginx.co ...
- 比可微架构搜索DARTS快10倍,第四范式提出优化NAS算法
关注上方"深度学习技术前沿",选择"星标公众号", 资源干货,第一时间送达! 神经架构搜索一直被认为是高算力的代表,尽管可微架构搜索的概念非常吸引人,但它目前的 ...
- 面试官:我想用Nginx提升系统10倍性能,你有哪些建议?
提升Web应用的性能从未像今天这样刻不容缓. 在线经济活动的比例日益提高,就连发展中国家和地区的经济活动都已经有5%以上在线进行了(相关数据请参考本文后面的资源).在这个超级链接.随时在线的现代世界, ...
- 如何将 Nginx 性能提升10倍?这10个“套路”请收好!
点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达今日推荐:2020年7月程序员工资统计,平均14357元,又跌了,扎心个人原创100W+访问量博客:点击前往,查看更多 提升 ...
- excel android 公式,两个超实用的Excel万能公式,瞬间提升你10倍工作效率!
相信大家在平时的工作中,都会经常有用到公式的需要,但是下面这些公式你用过吗,今天小编就带大家一起看看吧! 1. SUM函数 这个函数不仅在我们学习的过程中会用到,即便到了工作后,也经常需要对各种数据进 ...
- 京东大数据研究院:智能马桶四年销量翻10倍
3月22日消息,根据京东大数据研究院发布的<2021智能马桶线上消费趋势报告>显示:有赖于智能马桶单价的逐步降低,其销量正在年年攀涨,智能马桶正在全国化普及. 数据显示,从2017到202 ...
- 10倍提升应用性能的10个建议
2019独角兽企业重金招聘Python工程师标准>>> 提升Web应用的性能从未像今天这样刻不容缓.在线经济活动的比例日益提高,就连发展中国家和地区的经济活动都已经有5%以上在线进行 ...
- 太厉害了!我用 Nginx 提升系统10倍性能
题图-斗罗大陆-献祭 提升Web应用的性能从未像今天这样刻不容缓. 在线经济活动的比例日益提高,就连发展中国家和地区的经济活动都已经有5%以上在线进行了.在这个超级链接.随时在线的现代世界,用户的期望 ...
最新文章
- 【转载】SAP Oracle ERP产品的比较
- 六大环节,教你如何从 0 到 1 搭建一场 A/B 测试
- 用pytorch及numpy计算成对余弦相似性矩阵,并用numpy实现kmeans聚类
- 足不出户,确保交付——独家交付秘籍(第二回)
- oracle同库复制schema,使用impdp复制oracle的schema数据迁移 | 学步园
- python实现给微信指定好友定时发消息
- access ea 可以联网吗_EA自家Origin平台高级会员Origin Access Premier现已上线
- visio 2010激活教程
- 关于大小端转换整理总结(包含原始方式、Qt方式)
- sodp软件如何导入多个工作面信息_6款堪称业界良心的软件,好用到想为它们疯狂打call!...
- ​ 解决金仓数据库KingbaseES对pg模式的单机数据库插入数据时,出现日志打印的问题
- 3.5寸TFT液晶屏验证板设计过程——硬件篇
- Android 传感器篇:(一)方向传感器
- mysqldump加速导入参数说明
- datasets DatasetDict类
- ArcGIS10.5安装时提示localhost没有有效管理许可怎么办
- html dom节点源码,HTML DOM HTML DOM 节点 - 闪电教程JSRUN
- 若有以下定义和语句:double r=99, *p=r;*p=r; 则以下正确的叙述是 A) 以下两处的*p含义相同,都说明给指针变量p赋值 B) 在“double r=99, *p=r;“中,
- Linux系统中彻底隐藏你的进程(隐藏后如何恢复显示?)
- uni-app 动态添加class