目录
1. SAP Transaction Launcher(事务启动器)
2. SAP Gateway OData服务 + Deep Link
3. SAP JCo (Java Connector) 或RFC调用
前言:这是我的水水专栏第四篇文章,这个专栏呢,是放一些我向AI提问的问题,以及AI的回答。因为感觉真的好方便哈哈哈~
我不是很确定我的专栏文章内容是否涉及版权,以及也不确定这些整合过的文字是否涉嫌抄袭,所以,如有雷同或是有不小心参考到了您的文章的情况,请立即私聊我,卑微Sesy在线求饶!
本次的内容是关于在SAP中将事务代码封装为Internet服务,使第三方系统可通过URL直接打开SAP事务的操作,属于SAP WebGUI(或Web Dynpro)集成开发
具体技术实现
具体技术实现可以由下面几种方式:
1. SAP Transaction Launcher(事务启动器)
技术类型:基于SAP Internet Communication Framework (ICF) 的Web服务
作用:将SAP事务代码转换为可通过URL调用的Web服务
示例URL结构:
http://<SAP服务器>:<端口>/sap/bc/gui/sap/its/webgui?~transaction=<事务代码>&<参数>
特点:
- 需要配置SAP ICF服务节点(事务码:`SICF`)
- 依赖SAP WebGUI或ITS (Internet Transaction Server)
- 支持传递参数(如:`~okcode=ENTER&<字段名>=<值>`)
2. SAP Gateway OData服务 + Deep Link
技术类型:基于OData的RESTful服务
作用:通过OData服务暴露事务代码,生成可直接跳转的Deep Link
实现步骤:
1. 在SAP Gateway中创建OData服务(事务码:`SEGW`)
2. 在服务实现中使用`cl_odata_utility=>get_deep_link()`生成URL
3. 返回的URL示例:
sap://<SAP系统ID>?<事务代码>?<参数>
特点:
- 需要SAP Fiori Launchpad或SAP Mobile SDK支持解析Deep Link
- 支持移动端和Web端跳转
- 现代SAP系统推荐方式
3. SAP JCo (Java Connector) 或RFC调用
技术类型:混合开发(后端RFC + 前端URL生成)
场景:第三方系统通过调用RFC函数生成动态URL
示例ABAP函数:
FUNCTION Z_GENERATE_TCODE_URL.
IMPORTING
IV_TCODE TYPE SY-TCODE
IT_PARAMETERS TYPE TABLE...
EXPORTING
EV_URL TYPE STRING.
" 使用CL_CAM_ADMIN_UTILITIES=>CREATE_EXTERNAL_GUI_URL生成URL
...
ENDFUNCTION.
4.SAP Fiori Launchpad插件
技术类型:Fiori扩展开发
作用:通过自定义Fiori插件将事务代码封装为Tile,生成可分享的URL
URL示例:
https://<Fiori服务器>/sap/fiori/<AppID>?sap-tcode=<事务代码>
关键配置需求
WebGUI/ITS : ICF服务激活+ SAP GUI for HTML配置
OData Deep Link:SAP Gateway系统+ OData服务发布
RFC + URL生成: RFC函数权限 +外部系统认证
Fiori Launchpad: Fiori前端服务器+Launchpad Designer配置
典型应用场景
1.第三方系统集成 
2. 移动端跳转
javascript
在移动App中调用
window.open('sap://ERP001?ME21N?EBAN-BSART=NB');
3. 邮件中的事务链接
html
<a href="http://sapserver:8000/sap/bc/gui...">点击创建采购订单</a>
安全注意事项
1. 必须配置SSO(单点登录)或传递安全的票证(如SAP Logon Ticket)
2. 建议使用`CL_GUI_FRONTEND_SERVICES`检查调用来源
3. 对于生产环境,应限制可公开访问的事务代码(通过白名单控制)
之前做的的越南扫码机的那个开发,就是典型的SAP WEB GUI开发,WebGui是SAP GUI的HTML版本,通过Internet transaction server(ITS)或者SAP GUI for HTML技术实现,(我使用的是ITS),本质上是将传统SAP事务代码“渲染”为网页。在现代SAP环境演变过程中,WebGUI逐渐被Fiori应用替代。另外WEBDYNPRO虽然仍然在特定场景使用,但是不再是主流。INTERNET服务发展为ODATA/RESTFUL服务。
WebGUI的开发案例:
ABAP小白开发操作手册+(十一)创建Internet服务将事务代码封装成http发布_sap its发布成html-CSDN博客