汉得PI&PO教材-Adapter使用-实例6 proxy2jdbc(异步)V1.0
汉得PI&PO教材系列 |
|
|
汉得PI&PO教材-Adapter使用-实例6 proxy2jdbc(异步) |
仅限汉得内部使用 |
作者:汉得顾问 版本:1.0 日期:2017-02-01 |
图标
图标 |
含义 |
警告 |
|
示例 |
|
注释 |
|
建议 |
|
语法 |
|
外部处理 |
|
可选业务处理或决定 |
排版惯例
字体风格 |
描述 |
Example text |
出现在屏幕上的单字或字符。包括字段名、屏幕标题、按钮以及菜单名、路径和选项。 到其它文档的交叉引用。 |
Example text |
正文文本中强调的字或词组,图形和表格的标题。 |
EXAMPLE TEXT |
系统中元素的名称。包括报表名、程序名、事务代码、表名和正文文本中嵌入的编程语言关键字,如 SELECT 和 INCLUDE。 |
Example text |
屏幕输出。包括文件和目录的名称及其路径、消息、源代码、变量和参数的名称以及安装工具、更新工具和数据库工具的名称。 |
EXAMPLE TEXT |
键盘上的按键。例如,功能键(如F2)或ENTER键。 |
Example text |
用户输入原文。完全如文档所示输入这些单字或字符至系统中。 |
<Example text> |
可变用户输入。尖括号表示应使用适当的输入替换括号中的单字和字符。 |
目录
1、文档说明... 3
2、文档历史... 4
3、功能说明... 4
4、操作步骤-定义IR对象... 5
2.1 创建DT. 5
2.2 创建MT. 7
2.3 创建SI 9
2.4 创建MM(异步只有一个)... 10
2.5 创建OM.. 12
5、操作步骤-定义ID对象... 13
5.1 创建发送方CC. 13
5.2创建接收方CC. 13
5.3 创建Integrated Configuration. 14
6、ERP上调用接口... 17
6.1 生成消费端代理类... 17
6.2程序调用代理类发送数据... 17
6.3激活队列,自动触发队列... 18
7、 查看日志... 20
1、文档说明
本文档目的在于提供一个Proxy2jdbc场景的接口案例,用于说明proxy适配器的异步(发送方)使用方法,以及使用proxy(异步发送)适配器的注意事项以及最佳使用实践。
使用本案例指导已经具有操作基础的人使用“浏览器+Jar工具(另一个工具是NWDS)”实现文件接口。
2、文档历史
版本 |
修订时间 |
修订人 |
备注 |
0.1 |
2016年11月1日 |
张宇 |
根据培训案例整理出该文档 |
1.0 |
2017年02月1日 |
雷小平 |
审核以及修订文档内容,增加说明 |
|
|
|
|
|
|
|
|
3、功能说明
本案例为ERP系统使用proxy异步发送数据至第三方数据库(这里是oracle)。
本案例发送的数据是物料主数据部分字段。
4、操作步骤-定义IR对象
IR所需组件,发送方(即ERP的SC)定义如下图的上面框框部分,接收方(即oracle数据库所在的系统对应的SC)定义如下图的下面框框部分。
定义顺序请参考后续操作。
2.1 创建DT
创建发送方DT,可以一次发送多条数据
创建接收方DT,注意格式(参考jdbc适配器使用案例)
2.2 创建MT
创建发送方MT,关联发送方DT
创建接收方MT,关联接收方DT
2.3 创建SI
创建发送方SI,关联发送方MT,选择异步模式
创建接收方SI,关联接收方MT,选择异步模式
2.4 创建MM(异步只有一个)
数据流从发送方MT到接收方MT,连接对应关系
2.5 创建OM
数据流方向从发送方SI到接收方SI,关联MM,保存激活
5、操作步骤-定义ID对象
ID所需组件:
这里Proxy的Sender对应于SHD165集团,无论有多少接口,共用一个即可,便于管理和维护,因此在文件形式的组织树里提到ERP层下作为共用CC。
5.1 创建发送方CC
输入发送方BS,选择XI3.0协议(proxy)
5.2创建接收方CC
输入接收方BS,输入数据库连接信息
JDBC Driver:oracle.jdbc.driver.OracleDriver(固定)
Connection:jdbc:oracle:thin:@ip:port:DBname
注意,连接特定数据库需要安装该数据库的驱动。
5.3 创建Integrated Configuration
输入发送方BS & SI,选择发送方CC
输入接收方BS
选择接收方SI & OM
输入接收方CC,保存激活
6、ERP上调用接口
6.1 生成消费端代理类
先参考《汉得PI&PO教材-基础配置03-ERP系统配置PROXY连接PO.docx》配置完整ERP与PO系统直接的连接。
运行事务SPROXY,找到对应的发送方的SI,双击SI,根据向导生成消费代理类。
6.2程序调用代理类发送数据
生成代理类后,SE38开发自定义程序,调用该代理类推动数据。
程序参考
可参照如下代码:
特别强调,改代码在摸索中实现的,在程序中发起了异步调用代理类且立即激活了。主要有以下代码实现:
需先加入队列,自定义队列名(此处如果不自定义队列名,则加入默认的队列名)
调用接口方法,commit以后可在SMQ2中查看
激活队列
激活队列,则已经推送数据出去。
6.3激活队列,自动触发队列
另外,可以不用在代码中激活队列,直接调用接口方法名,然后通过:
激活队列可以使用SXMB_ADM上使用自动激活。当Proxy作为异步接口的接收方时,SXMB_ADM激活对应的队列即可。
标准事务代码中激活后,自动推送在SMQ2队列上的数据。
7、 查看日志
调用异步模式SI,请求不会立即发送PO系统,而是会添加到Inbound Quene,需要手动激活队列或者调用function TRFC_QIN_ACTIVATE激活队列;
ERP端查看日志:
查看队列事务SMQ2,
查看消息日志事务SXI_MONITOR
PO端查看日志:统一的查看方法,参考日志查看文档。
注意,接口有字段增减时:
a.DT新增、删除、修改字段,保存激活
b.修改MT,重新关联DT,保存激活
c.修改SI,重新关联MT,保存激活
d.运行SPROXY,修改Service,点击重新生成,保存激活
e.修改发送程序,增减数据逻辑。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本