SAP IDOC 通过采购订单输出消息生成销售订单
题记:
在网络上看到一篇类似的公众号文章,叫《通过IDoc逐步指导PO&SO集成》,个人觉得整个配置过程中还是少了一些重点配置,也少了说明整个功能的核心逻辑,那么,趁着这个机会,就让我来完整说明一下吧!
业务说明:
本功能是用在销售公司接单之后,向生产公司创建采购订单采购物料,系统通过IDOC的设置生成生产公司对销售公司的销售订单。通过这样的功能可以简化工作量,同时也能满足那些不想用也不适用于标准公司间交易的业务场景。
系统配置:
一、RFC连接配置:
目的是为了配置销售公司和生产公司之间的系统连接,有的时候销售公司和生产公司不在一个SAP Client里面,就需要通过这个RFC连接配置连在一起。
事务代码:SM59

选择ABAP连接之后,点击新建按钮

本例销售和生产公司都是同一个主机,所以在这里目标主机填写当前主机名称,如果是不同主机,则填写另一个主机名。
切换到 登录&安全性 页签:

点击连接测试:

二、新建IDOC端口
事务代码WE21

按上图的操作顺序,新建一个端口,将第一个步骤新建的RFC连接封装成一个IDOC端口

保存
三、合作伙伴参数文件
事务代码:WE20
新建合作伙伴类型LI,表示该供应商需要做出站消息:


注意,上面合作伙伴编号需要跟供应商编码一致,伙伴类型是LI 供应商

保存之后,点击出站里的新建按钮:

切换到消息控制:

切换到EDI标准:

保存!
新建合作伙伴类型LS

在逻辑系统这里需要设置相关的进站和出站,因为本例销售和生产都是在一个公司里面,所以出入站都在这里设置!
注意,合作伙伴编号要跟SCC4里面相应的Client的逻辑系统要一致!
如果是在发送端(即新建采购订单的Client里),这里要创建生产公司所在的Client的逻辑系统LS,并设置出站!
如果是在接收端(即生成销售订单的Client里),这里要创建销售公司所在的Client的逻辑系统LS,并设置入站!
因为本例Client只有一个,因此出入站都是在一个逻辑系统里!
设置出站参数并保存!


设置入站参数并保存:

切换到接收端,设置合作伙伴参数KU:编号要跟客户编号一致!

设置KU的入站参数:

四、设置客户与供应商代码的配对参数
事务代码:VOE2

五、设置供应商主数据里面客户代码
事务代码:XK02

六、设置发送端工厂与接收端客户的送达方对应
事务代码:VOE4

七、创建输出条件
事务代码:MN04/MN05


维护相关的采购组织和采购订单凭证类型,切记,这里功能选VN,媒介选择6!
八、设置IDOC处理例程
事务代码:NACE



九、信息记录设置相关的物料
事务代码:ME11/ME12

十、配置单位对应关系
事务代码:CUNI
配置物料单位对应的ISO代码

十一、配置销售订单的定价过程
这个配置是添加EDI1和EDI2的条件类型到销售订单的定价过程里面,目的是接收采购订单的不含税价和金额
事务代码:SPRO

保存!
十二、创建采购订单
事务代码:ME21N

点击抬头的消息:

可以看到相关的输出类型了!
保存采购订单之后,可以在抬头的关系里面看到相关的IDOC出入站


十三、查看生成的销售订单
事务代码:BD87
输入入站的IDOC号码

事务代码:VA03


EDI1和EDI2价格来自于采购订单里的价格!

************************我是分割线********************
总结:
眼花了吗?心乱了吗?这就对了,IDOC就是这么麻烦,不灵活,不方便,个人建议还是老老实实用开发去生成单据吧!
PS:好多图,累死了!能完整看到这里,我也服你。
看我这么辛苦分享,不给点赞赏?
SAP IDOC 通过采购订单输出消息生成销售订单的更多相关文章
- sap 中怎样把非限制库存转为销售订单库存?
把非限制库存转为销售订单库存: MB1B 移动类型413 把销售订单库存转为非限制库存: MB1B移动类型411 E 切记!
- 如何用SAP Cloud for Customer的手机App创建销售订单
第一次启动App,设置一个初始化的pin code: 输入C4C tenant的url,用户名和密码: 登录进系统后,找到Sales Order工作中心: 可以看到系统里很多已有的销售订单了.点击屏幕 ...
- 销售订单(SO)-API-创建销售订单
创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); mo_global.init('ONT'); mo_global.set_policy_c ...
- 销售订单(SO)-API-更新销售订单
更新销售订单和创建销售订单差不多,调用的API相同,只是传入的时候标识不一样:operation := oe_globals.g_opr_update 示例代码如下: PROCEDURE update ...
- 销售订单(SO)-API-登记销售订单
登记销售订单可以在新增订单的时候就登记:并不是去修改 flow_status 为booked,而是赋值action request:就下面两句 l_action_request_tbl(l_actio ...
- Oracle EBS 跳跳转标准销售订单程序转标准销售订单程序
-- 打开PO PROCEDURE Btn_Open_Po IS BEGIN Fnd_Function.Execute(Function_Name => 'PO_POXPOEPO', Open_ ...
- VA01销售订单批导问题解决
1业务场景 事务代码:VA01创建销售订单,VA02修改销售订单 可以通过BAPI_SALESORDER_CREATEFROMDAT2批量创建 可以通过BAPI_SALESORDER_CHANGE批量 ...
- 为什么S/4HANA的销售订单创建会触发生产订单的创建
调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...
- 标准IDOC同步采购订单
目录 1功能说明 4 2功能实现 4 2.1创建逻辑系统并分配集团(SALE) 4 2.2维护RFC目标(SM59) 5 2.3在发送端创建模型视图(BD64) 5 2. ...
随机推荐
- RocketMq在SparkStreaming中的总结
其实Rocketmq的给第三方的插件已经全了,如果大家有兴趣的话请移步https://github.com/apache/rocketmq-externals.本文主要是结合笔者已有的rmq在spar ...
- 定时器注解 @Scheduled 使用
试列代码: @Component @Slf4j //配置文件注入注解 @PropertySource("classpath:/**.properties") public clas ...
- iOS面试的算法相关
转自:https://www.jianshu.com/p/c4820b159159 面试中遇到的这些算法,在平常工作中,基本不会用到. 不过现实的面试中经常喜欢问关于算法的问题 有些还要求写出代码.一 ...
- CocoaPods 详解之----更新篇
CocoaPods 大概是 2011 年出现的开源组件管理工具(目前已支持 Objective-C 和 Swift),近年来普及率越来越高,几乎已是所有 Cocoa 开源项目的标配.另外,很多大点的团 ...
- ios宏定义应该呆在恰当的地方
项目为了看起来整洁 并减少不必要的多次拼写 我们会把这样的方法 做成宏定义 那么问题来了 很多文件同时用到一个或多个宏定义 写完之后就会变成这个样子 看起来很乱 阅读性也不好 那么问题来了怎么解决嘞 ...
- Spring Boot Validation,既有注解不满足,我是怎么暴力扩展validation注解的
前言 昨天,我开发的代码,又收获了一个bug,说是界面上列表查询时,正常情况下,可以根据某个关键字keyword模糊查询,后台会去数据库 %keyword%查询(非互联网项目,没有使用es,只能这样了 ...
- HDU-1698-----Just Hook
In the game of DotA, Pudge's meat hook is actually the most horrible thing for most of the heroes. T ...
- promise 进阶 —— async / await 结合 bluebird
一.背景 1.Node.js 异步控制 在之前写的 callback vs async.js vs promise vs async / await 里,我介绍了 ES6 的 promise 和 ES ...
- HTTP报文(首部字段)
HTTP报文 请求报文/响应报文 结构: 报文首部 + (可选)报文主体(两者通过空行CR + LF来划分) 使用首部字段是为了给浏览器和服务器提供报文主体大小.所使用的语言.认证信息等内容 HTTP ...
- 【ZooKeeper系列】2.用Java实现ZooKeeper API的调用
温馨提示:在这里我再次提个小要求,希望大家能习惯看官方文档,文档虽然是英文但用词都比较简单,基本都能看懂文档表达的意思.授之以鱼不如授之以渔的道理相信大家都明白,也希望通过猿人谷的这个ZooKeepe ...