题记:

在网络上看到一篇类似的公众号文章,叫《通过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 通过采购订单输出消息生成销售订单的更多相关文章

  1. sap 中怎样把非限制库存转为销售订单库存?

    把非限制库存转为销售订单库存: MB1B 移动类型413 把销售订单库存转为非限制库存: MB1B移动类型411 E 切记!

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

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

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

    创建销售订单API主要注意几点: 初始化环境变量:fnd_global.apps_initialize(); mo_global.init('ONT'); mo_global.set_policy_c ...

  4. 销售订单(SO)-API-更新销售订单

    更新销售订单和创建销售订单差不多,调用的API相同,只是传入的时候标识不一样:operation := oe_globals.g_opr_update 示例代码如下: PROCEDURE update ...

  5. 销售订单(SO)-API-登记销售订单

    登记销售订单可以在新增订单的时候就登记:并不是去修改 flow_status 为booked,而是赋值action request:就下面两句 l_action_request_tbl(l_actio ...

  6. Oracle EBS 跳跳转标准销售订单程序转标准销售订单程序

    -- 打开PO PROCEDURE Btn_Open_Po IS BEGIN Fnd_Function.Execute(Function_Name => 'PO_POXPOEPO', Open_ ...

  7. VA01销售订单批导问题解决

    1业务场景 事务代码:VA01创建销售订单,VA02修改销售订单 可以通过BAPI_SALESORDER_CREATEFROMDAT2批量创建 可以通过BAPI_SALESORDER_CHANGE批量 ...

  8. 为什么S/4HANA的销售订单创建会触发生产订单的创建

    调用S/4HANA销售订单创建函数SD_SALES_DOCU_MAINTAIN创建一个销售订单时,会触发生产订单的创建. 销售订单的每个行项目对应一个独立的生产订单,SD_SALES_DOCU_MAI ...

  9. 标准IDOC同步采购订单

    目录 1功能说明    4 2功能实现    4 2.1创建逻辑系统并分配集团(SALE)    4 2.2维护RFC目标(SM59)    5 2.3在发送端创建模型视图(BD64)    5 2. ...

随机推荐

  1. C 可变参数函数的本质

    C语言支持定义可变参数的函数,方法是在函数的参数列表最后加上 " ... ",代表变长的参数列表,例如: void Func(int num, ...) { } 需要注意 “... ...

  2. NRF52810和NRF52832的区别

    NRF52832和NRF52810都是蓝牙5.0的芯片 均是出至NORDIC. 主要区别是 1.NRF52810的Flash是192KB/ RAM是24KB    NRF52832的Flash是512 ...

  3. React、React Native面试题

    1.React Native相对于原生的ios和Android有哪些优势. react native一套代码可以开发出跨平台app, 减少了人力.节省了时间.避免了 iOS 与 Android 版本发 ...

  4. node.js调试入门

    1-1 Inspector介绍 使用Inspector调试Node.js的优势 可查看当前上下文的变量 可观察当前函数调用堆栈 不侵入代码 可在暂停状态下执行指定代码 Inspector的构成以及原理 ...

  5. python scapy的使用总结

    基本命令 ls() List all available protocols and protocol options lsc() List all available scapy command f ...

  6. Spring Security OAuth2 Demo —— 密码模式(Password)

    前情回顾 前几节分享了OAuth2的流程与授权码模式和隐式授权模式两种的Demo,我们了解到授权码模式是OAuth2四种模式流程最复杂模式,复杂程度由大至小:授权码模式 > 隐式授权模式 > ...

  7. Spring整合Shiro 权限 角色 用户关系分析

    Spring整合Shiro 权限 角色 用户关系分析 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 前置内容 之前我们学习了,使用注解的方式去完成权限的控制,当然,也是静态的,也就 ...

  8. Selenium之勾选框操作

    勾选框操作:       所谓勾选框,意思是可以勾选一个及以上或全部勾选.勾选框的图标一般都是方形的. 复选框勾选一般分为三种情况: ①勾选单个框,我们直接用元素定位的方式定位到点击即可. ②勾选多个 ...

  9. Day 08 可变与不可变对象/列表与字典内置方法

    目录 可变对象与不可变对象 可变对象 不可变对象 列表的内置方法 字典内置方法 可变对象与不可变对象 可变对象 对象指向的内存中的值会改变,当更改这个变量的时候,还是指向原来内存中的值,并且在原来的内 ...

  10. JS中&&和||的理解

    运算符可以从三个不同的层次进行理解. 第一层理解 当操作数都是布尔值时,"&&"对两个值执行布尔与(AND)操作. 复制代码代码如下: x==0 && ...