SAP Cash Management支持分布式的部署方式,子系统可以通过IDoc (message type CMSEND, CMREQU)的方式将Cash Management相关的数据传输到中央系统。
ALE是Application Link and Enabling的缩写,它是SAP提供的一种中间件技术,用于整合SAP系统之间,或SAP系统与非SAP系统间的消息传递服务,ALE为SAP系统的分布式数据交换提供了可靠安全的通讯机制。
EDI是Electronic Document Interchange电子数据交换,也即通信的双方会安排约定的方式准备、解析文档数据,从而实现信息的交换,EDI又被称作无纸化交换。
IDoc是Intermediate Document 中转文档,是SAP提供的专用的数据/消息格式。IDoc是SAP官方的一种EDI的实现,并通过ALE的方式进行系统间的通信。
* SALE - ALE和Distribute Mode创建的T-code集合
* WEDI - IDoc菜单事务代码集合
* ALE_MODEL_INFO_GET - 根据Message Type获取分发模型
* MASTER_IDOC_DISTRIBUTE - 发送IDoc的Function Module
1)定义逻辑系统(TBDLS table):SALE -> Basic Settings -> Logical Systems -> Define Logical System
2)建立RFC连接(transaction SM59):SALE -> Communication -> Create RFC Connections - > ABAP Connections
3)创建分发模型(transaction BD64): SALE -> Modelling and Implementing Business Processes -> Maintain Distribution Model and Distribute Views
3.1) 创建发送模型
3.2) 添加Message type (CMSEND,CMREQU )
3.3) 分发模型(Edit -> Model view -> Distribute)
Distribute的意思就是将这个系统的模型,分发到所有相关的系统上。下面截图中的模型建立在Central Cash Management系统上QM7上,distribute的结果就是在子系统Q7Q上生成相同的分发模型。
可以通过设置IDoc中的Filter来限定传输的范围。
4)定义端口和partner profile (transactions WE21 and WE20)
当然也可以直接在模型上,通过Environment -> Generate Partner Profiles来直接为partner系统创建profile。
注意,需要在子系统和中央系统分别为对方Generate Partner Profiles。
5) 数据转换
在central cash management系统的IDoc的inbound过程中,可以对company code,planning level等字段进行mapping,配置路径如下:
对于message type CMSEND -
* 在source system Q7Q的outbound环节,使用FM - MASTER_IDOC_CREATE_CMSEND准备并发送Idoc;
* 在central system QM7的inbound环节,使用FM - IDOC_INPUT_CMSEND解析Idoc并更新central本地的FQM_FLOW;
同理message type CMREQU,它分别使用FM - MASTER_IDOC_CREATE_CMSREQU和FM - IDOC_INPUT_CMREQU完成从central系统request CM数据动作中IDoc的准备和解析过程。
注:在source子系统的IDoc准过程中,使用FM - PREPARE_TRCM_DATA_R330来抓取source中CM相关的DB,也即会从source的FDSB、FDSR、FDES中抓取数据的逻辑。
* FDSB是Cash Position
* FDSR是Liquidity Forcast
* FDES是Payment Advice和Planned Items
对于Cash Managment, 其IDoc的发送过程并没有直接集成在系统的业务流程中,而是通过下列report来进行IDoc的准备和发送的。
FF$3: RFTREY30 TR-CM Link: Send Cash Management Date to Central System
FF$4: RFTREY40 TR-CM Link: Retrieve Cash Management Data from External System
FF$5: RFTREY50 TR-CM Link: Retrieve Posting Results in External Systems
FF$6: RFTREY60 TR-CM Link: Result of Connections Check
FF$7: RFTREY70 TR-CM Link: Check All Systems
* SAP NOTE 823358 - FFI: Distributed Cash Management: Technical help
* IDoc 博客 - https://www.cnblogs.com/jiangzhengjun/p/4292135.html