我的任务是用代码生成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销售订单行项目的数量字段的更多相关文章

  1. C4C销售订单行项目价格维护方法

    需求很简单,能够创建销售订单,在行项目里添加产品,带出价格来,同时把总价显示在销售订单抬头区域. 如下图所示: 下面是具体配置. Business Configuration里,点击Sales Ord ...

  2. 销售订单行上行号LINE_SHIPMENT_OPTION_NUMBER

     销售订单行上行号:LINE_SHIPMENT_OPTION_NUMBER 取值: ( 1) Line块的块级触发器POST-QUERY调用: OE_LINE.Post_Query;(来自于库OE ...

  3. ME_PROCESS_PO_CUST 实现采购订单行项目增强

    用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别. 业务顾问看了一下配置,不能实现这个功能,所以用增强实现. 采购订单BADI增强:ME_PROCESS_PO_CUST. ...

  4. SAP S/4HANA销售订单创建时,会自动触发生产订单的创建

    这个自动触发的过程是怎么实现的? 使用下面的代码创建一个销售订单: DATA: ls_header TYPE bapisdhd1, ls_headerx TYPE bapisdhd1x, lt_bap ...

  5. SAP四代增强实现:销售订单复制项目文本时不需要显示文本框和回车

    最近接收到一个业务需求,在SAP依据销售订单复制时,如果订单里面的项目有多个文本,系统就会显示复制的文本框处理,让用户选择是否复制,这个就让销售很不舒服,如果有几十个项目,每个项目有几个文本,那就就要 ...

  6. ABAP-复制采购订单行项目到新的行

    FUNCTION zmm_fm_copy2new. *"------------------------------------------------------------------- ...

  7. 用ABAP代码读取S/4HANA生产订单工序明细

    在S/4HANA事务码CO03显示的Production Order里,我希望用ABAP代码显示出该订单的operation(工序)ID,描述和状态Status,如下图所示: 很简单的几行ABAP代码 ...

  8. SAP 采购订单行项目中科目分配被隐藏,发现行项目设置中显示字段长度为0

    1.sm30 维护 视图 TCVIEW 修改对应字段的显示长度

  9. ABAP-根据采购订单行项目统计供应商未清额和已清额

    1.传入和传出表结构都是一样的: FUNCTION zmm_fm_po_invence. *"------------------------------------------------ ...

随机推荐

  1. Educational Codeforces Round 7 B

    Description You are given the current time in 24-hour format hh:mm. Find and print the time after a  ...

  2. MessageFormat 格式化String

    public static String buildFailureString(AtomicInteger count, String cause) { return MessageFormat.fo ...

  3. AD域账号验证

    public partial class _Default : Page { [DllImport("advapi32.dll")] private static extern b ...

  4. 2.centos7 安装Mesos和marathon

    master节点 节点名称 IP地址 master1 192.168.161.128 由于硬件资源有限,这里仅安装一个master节点,会存在单点问题.在实际生产中,尽量不要这样操作. 1.安装zoo ...

  5. C实现shell管理的一个例子

    通常情况下,一个进程(比如cat /tmp/tt.txt)的输出与输入是标准输入(stdin或者0).标准输出(stdout或者1) shell 获取tt.txt文件中包含aa的行记录,涉及两个进程, ...

  6. JavaScript base64多图上传

    <div> <form action="/home/Uplod" method="post" enctype="multipart/ ...

  7. Unity3d 破解

    在官网上或者其他地方下载unity3d后 运行注册机,需要详细的设置可以点击edit   一.点击browse,选择安装unity目录下的Editor文件夹 二.选择path,会提示Pathed 三. ...

  8. WCF rest 的帮助页面和缓存机制

    打开vs2010 在工具选项中选择扩展管理器——联机库 安装WCF REST Service Template 40(CS)模板 安装后新建wcf服务应用程序,删除默认建立的文件. 新建RestWcf ...

  9. Android Studio CMake 生成多个so

    生成多个so案例 这里stringFromJNI和stringFromJNI11分别是调用one-lib和two-lib两个so package com.test.ndkmoreso; import ...

  10. listview适配器中的控件的点击事件并传值

    @Override public View getView(final int position, View convertView, ViewGroup parent) { // TODO Auto ...