我写了一段ABAP程序,放在我的github上:

https://github.com/i042416/KnowlegeRepository/blob/master/ABAP/S4/ZCREATE_SO.abap

直接执行,可以生成销售订单,即对应的生产订单。

我们知道SAP预留了一个生产订单Update的增强:BAdI definition WORKORDER_UPDATE

在这个增强里,我们可以加入自己的逻辑,在销售订单生成的Production Order保存之际,实现一些自定义逻辑。

那么在SAP传入这个增强的输入参数里,并没有销售订单的ID信息。

如果我们想在这个增强里维护前置销售订单和当前待生成的Production Order关联关系,应该如何拿到前置销售订单ID呢?

看这个调用栈:

在调用函数CO_61_ORDER_POST前,通过SET PARAMETER ID将销售订单的ID保存到SAP shared memory共享内存里了:
L_CALLER = VBAK-VBELN.
SET PARAMETER ID ‘COC’ FIELD L_CALLER.

那么我们按照同样的思路,在增强实现里用关键字
GET PARAMETER ID将共享内存里的销售订单ID重新取出即可。
DATA: lv_id type VBAK-VBELN.
GET PARAMETER ID ‘COC’ FIELD lv_id.

补充:其实在BAdI增强的输入参数里,是有这个前置销售订单ID的,在字段KDAUF_AUFK里:

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

如何在S/4HANA生产订单创建上下文里拿到前置销售订单信息相关推荐

  1. 如何用SAP Cloud for Customer的手机App创建销售订单

    第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...

  2. ABAP 销售订单创建BAPI:BAPI_SALESORDER_CREATEFROMDAT2总结

    1.运用过程的问题与原因 1.1报错:请输入买方或运达方 原因:其实就是订单抬头没有买方,主要是因为销售订单合作伙伴表ORDER_PARTNERS中字段ITM_NUMBER销售和分销凭证的项目号给赋值 ...

  3. SAP Cloud for Customer销售订单External Note的建模细节

    SAP Cloud for Customer的销售订单创建页面里,我们可以给一个订单维护External Note,当这个订单同步到S/4HANA生成对应的生产订单后,这个note可以作为备注提示生产 ...

  4. 销售订单(SO)-API-创建销售订单

    转自:销售订单(SO)-API-创建销售订单 - 开发者知识库 (itdaan.com) 创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); ...

  5. SAP 销售订单删除及如何查已删除的单

    如果订单中产品是按单生产的话,你要先把生产订单删除,然后才能删除订单的项目. 按库存生产的话,删除销售订单跟生产订单没有关系. 都跟交货有关系,即后面要是有交货过帐的话,不能删销售订单. 如果知道被删 ...

  6. 流程制造项目中关于销售订单数量与实际产生数量不同时的解决方案

    流程制造项目中关于销售订单数量与实际产生数量不同时的解决方案 在流程制造项目中,例如涂料领域,往往实际生产出来的数量与销售订单的数量会产生差异,这种差异是小额值的. 例如客户A下了100KG的涂料,但 ...

  7. Back to back销售订单和drop ship第三方销售订单的销售成本的问题

    上次我何慕雄说到drop ship第三方销售订单的采购成本是由与之关联的采购订单的采购价格确定的,而back to back销售订单,也可以说是独立采购订单individual purchase or ...

  8. 3.20 采购订单自动生成销售订单

    3.20.1   业务方案描述 对于同一企业集团内部的不同法人之间,存在需要调让物料,买方和卖方采用买卖方式进行业务运作和财务核算. 对于买方,按照内部商定的协议价格创建采购订单,按照采购订单收货,按 ...

  9. 商品销售订单综合分析

    数据说明 本数据集共收集了一个月内某商城的28010条数据,包含以下字段: ['订单编号', '总金额', '买家实际支付金额', '收货地址 ', '订单创建时间', '订单付款时间 ', '退款金 ...

最新文章

  1. 在JavaScript中创建多行字符串
  2. python 内部函数,以及lambda,filter,map等内置函数
  3. WPF与缓动(一) N次缓动
  4. Spring Boot 定时任务
  5. 前端学习(1710):前端系列javascript之uniapp介绍
  6. Tomcat 全攻略
  7. 海信新机F30S即将发布:搭载紫光展锐虎贲T310处理器
  8. MATLAB模拟声压分布,基于Matlab仿真软件构建圆形压电晶体三维模型
  9. 域名绑定html网站吗,使用Coding搭建html纯静态网站后绑定域名+SSL证书
  10. sysdate取年取月取日
  11. 杭电计算机2016年机试真题详解
  12. Leetcode 76.最小覆盖子串
  13. SpringMVC学习(三)RestFul风格
  14. 让计算机u盘启动,如何让vmware用u盘启动
  15. 为什么jar包代码与源代码不一致_Jacoco代码覆盖率工具
  16. GJB 软件定型测评大纲(模板)
  17. react 移动端 h5 端日历组件 周日历 月日历 周视图 月视图
  18. JUC的常用辅助工具
  19. def序列化器---视图序列化反序列化
  20. 2人同步听歌软件_打包走!全网无损音乐任意下,支持4大主流音乐平台同步歌单!...

热门文章

  1. 产生线程安全的原因(3)(操作系统)
  2. udp与tcp协议介绍
  3. 一种常见的关于率指标的错误分析思路
  4. 介绍一下 information_schema 库
  5. 什么是 SAP Spartacus UI 的 direction 服务
  6. 如何创建最简单的 ABAP 数据库表,以及编码从数据库表中读取数据 (上) 试读版
  7. SAP Spartacus 的延迟加载 Lazy load 设计原理
  8. SAP UI5 manifest.json 和 i18n 多语言文本的解析逻辑
  9. 关于 SAP Spartacus OAuth 2.0 Resource Owner Password Flow 实现的一些讨论
  10. SAP Spartacus本地启动时的白屏问题分析