# 连接到SAP系统
在【服务连接】模块,添加【SA】连接,填写连接信息,测试通过后,保存连接。如图:
说明
- 服务器地址、实例编号、系统标识
- 用户名、密码
# 从SAP获取数据
在【ESB数据源】模块,点击【添加】,进入ESB数据源配置界面,拖出【SAP】节点进行配置,如图:
# 获取供应商列表
配置连接和BAPI
点击“查询”按钮,搜索BAPI,也可以从SAP顾问那里获取BAPI。
在【常规】配置界面,填写获取供应商BAPI:BBP_VENDOR_GETLIST,如图:
配置传参
在SAP系统SE37里执行BBP_VENDOR_GETLIST测试,需要传参COMP_CODE(公司编码)。
以拖拽的方式,把左侧分查询参数param映射到右侧COMP_CODE参数,如图:
我们给查询参数设置默认值,把参数名称改的友好一些,并且把没用到的参数删掉,如图:
注意:SAP的BAPI没有提供分页参数,这里默认不分页。
配置返回数据
作为数据源,这里我们用到的字段有VENDOR_NO供应商编码、NAME供应商名称(显示用),修改右侧参数的显示名称并删掉用不到的参数,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:
测试
到这里,获取供应商数据就配好了,保存为:SAP-供应商列表,点击测试,获取数据,如图:
# 获取物料列表
配置连接和BAPI
点击“查询”按钮,搜索BAPI,也可以从SAP顾问那里获取BAPI。
在【常规】配置界面,填写获取供应商BAPI:/EAM/EAMFM_MATERIAL_GETLIST,如图:
配置传参
在SAP系统SE37里执行/EAM/EAMFM_MATERIAL_GETLIST测试,此函数无需传参。这里删除用不到查询参数,其余保持默认即可,如图:
配置返回数据
作为数据源,这里我们用到的字段有MATERIAL物料号、MATL_DESC物料描述,PLANT工厂(显示用),修改右侧参数的显示名称,然后把左侧用到的返回参数和右侧的Response返回参数以拖拽的方式依次映射,如图:
测试
到这里,获取供应商数据就配好了,保存为:SAP-物料列表,点击测试,获取数据,如图:
# 在表单上使用SAP数据
在表单设计器上配置ESB数据源
在表单上使用ESB数据源
# 配置输出订单到SAP
在【ESB输出流】模块,点击【添加】,进入ESB业务输出配置界面,拖出【SAP】节点进行配置,如图:
配置连接和BAPI
点击“查询”按钮,搜索BAPI,也可以从SAP顾问那里获取BAPI。
在【常规】配置界面,填写输出订单的BAPI:BAPI_PO_CREATE,如图:
配置传参
在Listenner参数下,右键“Payload”分别【添加主表引用】和【明细表引用】,如图:
经过在SAP系统SE37里执行BAPI_PO_CREATE测试发现,必须把需要的必填参数按照正确的格式传入,才能在SAP系统生成订单。左侧主表和明细表涵盖所有必填参数,以拖拽的方式,把左侧主表和明细表字段一一映射到右侧参数,如图:
返回参数
返回参数有一个凭证号,我们配置一下,生成订单后,让它显示在表单上,如图:
保存
到这里,输出订单到SAP就配置好了,点击保存文件为:SAP_订单输出。
# 在流程上调用ESB,抛入订单到SAP
在流程建模模块,拖出任务,切换为调用ESB节点,选择调用对象为在ESB输出流模块配置的SAPI-输出订单,如图:
配置传参
把流程数据传给ESB,只需拖拽字段一一映射即可(也可按住Ctrl键拖拽表名映射),如图:
数据返回
在ESB业务输出模块,我们配置SAP-输出订单时配置输出了参数,这里将返回的表单显示在表单上,如图:
到这里,在流程上的调用配置就完成了,保存发布流程:SAP-输出订单。
调用
在流程门户,点击流程填写表单发起流程:
经过一步审批,调用ESB抛入订单到SAP系统,在SAP系统查看生成的订单,如图: