点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
出站对象 出站指数据从ECC发出. 进一步展开查找与ECC相关的出站接口对象,如图. 其中的namespaces命名规范及service_consumers命名规范咨询PO顾问. SERVICE_CONSUMERS就是需要引入的PO接口对象. 如果对象未引入. 显示图标 对象已引入,显示图标 双击未引入的对象,进入向导功能,输入开发类,请求号及前缀(根据命名规范设置前缀,一般用Z<外部系统号>_ ) 继续 点击完成后, 系统创建 service consumer 对象. 需要激活一下.确保激活正确,并看到响应的成功日志. 激活后,系统创建了一个类 ZTST_CO_SIO_ECC_TST_DEM002 ,类中包含方法SIO_ECC_TST_DEM002 . 调用该方法即可传输数据. 入站对象 入站指数据进入ECC系统 入站对象需要找service providers对象.激活步骤和出站对象一样. 对象修改后重新激活 一般情况下,激活service consumer 对象后,系统会自动激活该对象关联的data types 及message types对象(这两个对象涉及到数据字典定义),如果data types 发生过增删字段的调整, 调整过的对象前会显示图标 此时需要对该对象单独重新激活一下. 数据定义部分 参考对象方法中的参数定义所需的变量及节点变量 数据赋值部分 按照嵌套结构 ls_output 给其中的节点赋值(赋值内容参考接口文档). 调用前准备部分 消息反馈 设置异步接口的PO反馈 接口方法调用部分 图中通过变量拼凑的方法名,动态调用. 实际开发中,直接静态写入调用的方法即可. 调用后,可以读取并记录一下发送数据和GUID的关系. 执行类 入站和出站有点不太一样. 需要找到入站对象的执行类 类方法 双击执行类,进入类方法, 在执行类的方法中写代码. (变量定义部分参考出站程序) 获取消息ID部分 获取PO的消息ID 数据处理部分 根据接口文档把接口传递得数据整理成调用BAPI或写入自定义表或产生IDOC所需得内容. 业务处理部分 需要注意的是,一般消息的定义方式都允许携带多个单据的信息,这里不建议直接调用BAPI产生后续单据(因为很难确保多单的一致性提交,消息重处理机制是按整个消息处理的).一般写入自定义表或IDOC, 后续程序处理自定义表中内容或IDOC产生业务单据. 提交或错误处理 如果调用BAPI发生了错误, 需要把错误传递给给消息监控器 (错误处理的类名,图中的变量CNS_CLASS_NAME,值来自于PO段定义的一个异常消息FALTAL MESSAGE 生成的对象) 备注: 如果写入自定义表后还需要处理, 则该处理程序需要监控并重处理报错的内容 整体消息图标 入站报错图标 查看报错信息 点击入站报错图标,可以看到BAPI报错的具体信息. 下图是所有状态的图标示例. 消息内容 双击监控器中的条目, 可以看到消息的具体内容,报错信息在这里也能通过点击其它相关节点看到. 消息重处理 对于错误的消息,可以在监控器中启动重新处理(选中错误消息行,重新启动).入站部分的BAPI报错原因解决后, 可以发起重处理,直到消息成功. 队列监控 ECC中的消息处理是通过qrfc实现的. SMQ1,SMQ2 在消息监控中也能起到一定的作用(主要用于重启报错的队列). 约定 如果你对这篇文章感兴趣,请帮忙点赞,在看,分享. (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.) 公众号 : syjf1976_abap ABAP开发技巧 微信号 : 392077 请扫码加入公众号群,提问或参与话题讨论