【ABAP】SAP中 ITS 服务从配置到发布详解

发布时间:2026/7/16 10:29:26
【ABAP】SAP中 ITS 服务从配置到发布详解 目录一、ITS 是什么技术演进与两大分支两大应用场景分支二、ITS 的架构与角色1、集成 ITS 完整架构当前主流1用户端2ICF 接入层3ITS 引擎层4Dynpro 运行时2、通信流程三、开发流程逐步操作阶段一自定义 ITS 服务入口1、在SAP GUI 中输入 SICF 进入服务配置2、配置 its 子元素3、配置服务的 GUI 接口4、配置登陆用户名5、处理器清单中填写请求处理器 “CL_HTTP_EXT_ITS”6、错误页配置选择系统登陆 配置7、配置页面默认路径阶段二ABAP 端开发底层程序屏幕1、创建 ABAP Dialog 程序 YRFMAIN2、在 SE93 为这个程序创建事务代码 YRF3、在 SE80 创建名称为 YRF 的 Internet 服务阶段三ITS 服务相关开发1、SE80 创建 Internet Service重要2、发布模板阶段四测试页面四、ITS HTML 模板核心语法1、字段引用2、条件控制3、循环渲染内表4、按钮与功能码一、ITS 是什么ITS 的全称是 Internet Transaction Server互联网事务服务器是 SAP 体系中将 Dynpro 屏幕转化为 Web 页面的核心技术是 Web 浏览器与 SAP 后端系统之间的桥梁。核心作用将SAP GUI的 Dynpro 屏幕通常是文本和表格形式动态地转换成HTML格式从而让用户通过标准的Web浏览器无需安装SAP GUI访问和操作SAP系统。技术演进与两大分支ITS 经历了两代架构演进当前主流使用的是集成式 ITS独立 ITSStandalone ITSR/3 时代的早期方案ITS 作为独立服务器部署通过 DIAG 协议连接 ABAP 后端现已基本淘汰。集成 ITSIntegrated ITS从 Web AS 6.20 开始ITS 引擎直接集成在 ABAP 应用服务器内部基于 ICF互联网通信框架运行也就是我们通过 SICF 配置的模式无需单独部署服务器。两大应用场景分支SAP GUI for HTMLWeb GUI完整还原 SAP GUI 的功能与布局适配 PC 端浏览器可运行几乎所有标准事务码多用于替代桌面客户端、远程运维。ITS Mobile针对 PDA、手持扫码枪等移动端设备优化的轻量方案简化 HTML 结构、采用无表格布局、适配小屏幕是仓储物流、生产车间扫码场景的主流方案本笔记的配置流程均属于 ITS Mobile 场景。二、ITS 的架构与角色1、集成 ITS 完整架构当前主流1用户端用户只需通过浏览器、PDA 扫码设备访问 URL 即可无需安装 SAP GUI部署和运维成本低。2ICF 接入层是 ABAP 系统的网络入口对应事务码 SICF 配置的服务节点接收 HTTP/HTTPS 请求通过请求处理器 CL_HTTP_EXT_ITS 将请求转发给 ITS 引擎3ITS 引擎层集成在 ABAP 内核中负责解析 Dynpro 屏幕元数据加载对应主题的 HTML 模板将屏幕字段、按钮、消息等动态渲染为 HTML 页面4Dynpro 运行时执行业务程序、处理屏幕逻辑和 SAP GUI 后端的运行逻辑完全一致业务代码无需为 ITS 做特殊改造一套 Dynpro 可同时支持 SAP GUI 和 ITS 访问2、通信流程独立 ITS 时代ITS 服务器 ↔ ABAP 后端使用 DIAG 协议与 SAP GUI 通信协议一致集成 ITS 时代ITS 引擎与 Dynpro 运行时在同一实例内直接内部调用不再走网络 DIAG仅客户端 ↔ 服务器之间使用 HTTP/HTTPS 协议DIAG协议ITS与SAP后端系统之间使用的协议是 DIAG动态信息和操作网关也就是传统 SAP GUI 与服务器之间用来通信的标准协议。三、开发流程逐步操作阶段一自定义 ITS 服务入口当浏览器访问这个路径时直接启动 SAP ITS 引擎1、在SAP GUI 中输入 SICF 进入服务配置2、配置 its 子元素进入路径/default_host/sap/bc/gui/sap/its/,右击 “ its ”创建一个新的子元素 YRF3、配置服务的 GUI 接口服务数据中 “GUI 接口”选择“是”并进行GUI配置GUI 配置中填写核心参数完整说明如下序号参数名称值1~TRANSACTIONYRF2~THEME993~ITSMOBILE14~ITSMOBILEELEMUNITSPX5~ITSMOBILEELEMFACTOR156~ITSMOBILEMSGSOUND17~ITSMOBILECSSINCLUDEMOBILE_BIG4、配置登陆用户名配置登陆数据中的用户名(控制后续调用免登录)一定要勾选“使用所有登陆过程”如不勾选浏览器会反复跳出输入用户名弹窗5、处理器清单中填写请求处理器 “CL_HTTP_EXT_ITS”6、错误页配置选择系统登陆 配置7、配置页面默认路径阶段二ABAP 端开发底层程序屏幕1、创建 ABAP Dialog 程序 YRFMAIN此处程序开发省略需要确保在 SAP GUI 中可以跑起这个程序。2、在 SE93 为这个程序创建事务代码 YRF3、在 SE80 创建名称为 YRF 的 Internet 服务右击“包名称” → 创建 → 其它1→ Internet 服务Internet 服务和事务代码都填 YRF阶段三ITS 服务相关开发1、SE80 创建 Internet Service重要SE80 → 右击需要转换成 ITS 服务的屏幕→下拉选附加功能→ 创建 HTML 模板→输入服务名 YRF主题默认 99生成样式选择MOBILE4 Mobile Devices (No HTML Tables) → 创建。界面字段说明字段你的值含义Internet 服务YRF你要操作的 ITS 服务名称这是自定义服务名主题99模板主题一般用于区分不同样式 / 设备HTML 模板名称YRFMAIN生成的 HTML 模板名称后续会和 Dynpro 绑定屏幕编号8888对应 Dynpro 的屏幕号这里是自定义值生成样式MOBILE4 Mobile Devices (No HTML Tables)专门为移动端优化的无表格布局样式适配手机 / PDA2、发布模板开发者如果认为 SAP 自动生成 HTML 页面丑或不适配设备完全可以自行修改 HTML 代码优化页面。注意每次修改完成代码后一定要点击发布模板阶段四测试页面进入 SICF 右击前面介绍的创建的服务节点 “YRF”选择测试服务即可。四、ITS HTML 模板核心语法ITS 模板是在 HTML 中嵌入 ITS 控制语句动态渲染 Dynpro 字段与逻辑核心语法如下1、字段引用使用 #字段名 引用 Dynpro 屏幕上的字段变量!-- 渲染物料号输入框 -- input typetext name~field01 value#MATNR classinput2、条件控制通过 #if / #else / #endif 控制元素显隐支持系统变量、屏幕字段判断#if SY-MSGTY E div classerror-msg#MESSAGE/div #elseif SY-MSGTY S div classsuccess-msg#MESSAGE/div #endif3、循环渲染内表通过 #loop / #endloop 遍历内表生成列表div classlist #loop IT_MAT_LIST div classitem#MATNR - #MAKTX/div #endloop /div4、按钮与功能码通过 ~okcode 触发 Dynpro 的 OK-CODE与 SAP GUI 按钮逻辑完全一致button typesubmit name~okcode valueQUERY查询/button button typesubmit name~okcode valueSAVE保存/button欢迎指正。。。ITS HTML 的语法持续更新。。。。