如何用代码填充S/4HANA销售订单行项目的数量字段
我的任务是用代码生成S/4HANA销售订单(Sales Order)的行项目,并且填充对应的quantity(数量)值。
最开始我用了下面的代码,把quantity的值写入item字段target_qty:
ls_order_items_in-item_categ = 'TAN'.
ls_order_items_in-material = 'REDUCER_A'.
ls_order_items_in-target_qty = 999.
ls_order_items_in-itm_number = 10.
ls_order_item_x-item_categ = 'X'.
ls_order_item_x-material = 'X'.
ls_order_item_x-target_qty = 'X'.
ls_order_item_x-itm_number = 'X'.
ls_order_item_x-updateflag = 'I'.
APPEND ls_order_item_x TO lt_order_item_x.
APPEND ls_order_items_in TO lt_order_items_in.
执行后发现不工作。
研究了一个维护有正确quantity的行项目,发现这个quantity字段实际上是维护在item的schedule line上的:
而我们在item上看到的order quantity,从F1帮助文档里已经看得很清楚了,是一个累加值,所有schedule line的quantity的求和。
所以正确的代码应该是还得创建item的schedule line:
ls_schdlin-itm_number = 10.
ls_schdlin-req_qty = 3.
ls_schdlinx-itm_number = 'X'.
ls_schdlinx-itm_number = 'X'.
ls_schdlinx-updateflag = 'X'.
APPEND ls_schdlin TO lt_schdlin.
APPEND ls_schdlinx TO lt_schdlinx.
完整代码下图所示:
要获取更多Jerry的原创文章,请关注公众号"汪子熙":

如何用代码填充S/4HANA销售订单行项目的数量字段的更多相关文章
- C4C销售订单行项目价格维护方法
需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...
- 销售订单行上行号LINE_SHIPMENT_OPTION_NUMBER
销售订单行上行号:LINE_SHIPMENT_OPTION_NUMBER 取值: ( 1) Line块的块级触发器POST-QUERY调用: OE_LINE.Post_Query;(来自于库OE ...
- ME_PROCESS_PO_CUST 实现采购订单行项目增强
用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别. 业务顾问看了一下配置,不能实现这个功能,所以用增强实现. 采购订单BADI增强:ME_PROCESS_PO_CUST. ...
- SAP S/4HANA销售订单创建时,会自动触发生产订单的创建
这个自动触发的过程是怎么实现的? 使用下面的代码创建一个销售订单: DATA: ls_header TYPE bapisdhd1, ls_headerx TYPE bapisdhd1x, lt_bap ...
- SAP四代增强实现:销售订单复制项目文本时不需要显示文本框和回车
最近接收到一个业务需求,在SAP依据销售订单复制时,如果订单里面的项目有多个文本,系统就会显示复制的文本框处理,让用户选择是否复制,这个就让销售很不舒服,如果有几十个项目,每个项目有几个文本,那就就要 ...
- ABAP-复制采购订单行项目到新的行
FUNCTION zmm_fm_copy2new. *"------------------------------------------------------------------- ...
- 用ABAP代码读取S/4HANA生产订单工序明细
在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...
- SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0
1.sm30 维护 视图 TCVIEW 修改对应字段的显示长度
- ABAP-根据采购订单行项目统计供应商未清额和已清额
1.传入和传出表结构都是一样的: FUNCTION zmm_fm_po_invence. *"------------------------------------------------ ...
随机推荐
- UVA 10806
#include<iostream> #include<algorithm> #include<cstdio> #include<cstring> us ...
- Java的JsonHelper
<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> <dependency> <g ...
- 10-排序6 Sort with Swap(0, i) (25 分)
Given any permutation of the numbers {0, 1, 2,..., N−1}, it is easy to sort them in increasing order ...
- Unix shell判断和比较
1. shell 的$! ,$?, $$,$@ $n $1 the first parameter,$2 the second... $# The number of c ...
- django 母版与继承
在子页面的页面最上方使用下面的语法来继承母版. {% extends 'layouts.html' %} 块: 通过在母版中使用{% block xxx %}来定义块.在子页面中通过定义母版中的blo ...
- Linux下如何使用Wireshark进行抓包
1. 安装wireshark Ubuntu 14.04.3 缺省安装后, 不包含Wireshark抓包软件,因此首先需要手工进行Wireshark的安装: apt-get update apt ...
- .net core项目中引用.net framework封装的dll库
https://blog.csdn.net/sharphou/article/details/80746551 A----------如何安装IIS [Server Hosting]------- ...
- hdu 6288(二分法加精度处理问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6288 题意:给出a,b,k,n可满足(n^a)*(⌈log2n⌉)^b<=k ,求最大的n值三个 ...
- REQUIRED与REQUIRED_NEW
出处: https://blog.csdn.net/selfsojourner/article/details/74561745 spring 事务的传播行为中,有两个容易混淆的行为:REQUIRED ...
- stringstream的使用
stringstream是 C++ 提供的另一个字串型的串流(stream)物件,和之前学过的iostream.fstream有类似的操作方式.要使用stringstream, 必须先加入这一行: # ...