使用 SAP UI5 ABAP Repository 部署本地 SAP UI5 应用到 ABAP 服务器的单步调试

简介: 使用 SAP UI5 ABAP Repository 部署本地 SAP UI5 应用到 ABAP 服务器的单步调试

CL_GUI_FRONTEND_SERVICES 提供了 GET_SAPLOGON_ENCODING 方法,能返回 SAPGUI 环境下默认的系统 System Code page 值。


使用函数 SCP_CODEPAGE_FOR_LANGUAGE 获得系统当前的 Code Page:


输入参数为当前系统登录语言。



这里得知,语言 E 的 System Code page 为 4103:


TCP00 数据库表里,4103 是字符集 UTF16-LE 在 ABAP 系统的编号。



这个 FETYPE 是 Frontend Type 的意思吗?值为 MS,是指 Microsoft 操作系统吗?



frontend codepage 通过 CALL 调用之后,值变为 1160:



在 TCP00 数据库表里,1160 Code Page 对应的 CPCompany 为 MS,果然是 Microsoft 的意思。这里还有其他的 provider company,比如 IBM,SAP 等。



CPENCODING 的值 为 4:ISO/ASCII-base, 8 bits



01- one byte characters



SCP_GET_JAVA_NAME, 传入是 ABAP 格式的 code page 值 1160,输出一个字符串,Cp1252,这是 Java 世界里的 Code page 名称?



默认使用 Java Code Page:cp1252



根据 cp1252 和 J,进行逆运算,可以反得出 1160,这是 ABAP 和 Java Code page 的互相转换。




因此执行报表,打印出的默认 code page 为 Cp1252,就是这么来的。



在弹出框手动输入 external code page,比如 UTF-8:



UTF-8 的 ABAP encoding 编号是 4110:



rv_upload_parameters-code_page_ui 变量维护的就是用户在弹出对话框里手动输入的 code page:



UTF-8 是 ABAP ENCODING 的编号,UTF8 是对应的 Java 编号:



只要是用 4110 就行:



这里的 CPCOMPANY 换成了 ISO,而不是之前的 MS - Microsoft



接下来就是我们熟悉的逻辑了,将 encoding 格式为 UTF-8 的 xstring 二进制内容,连同 UTF-8,一起传递到 CL_ABAP_CONV_IN_CE 的 create 方法里:



/ui5/cl_ui5_rep_utility 提供了很多有用的工具方法,比如在 xstring 和 string 之间互相转换的 convert_xstring_2_string 方法:



上面这个例子,就是把 iv_xstring 变量里包含的 binary 值,基于 code page 4110,转换成字符串 初学者教程之九

相关文章
|
2月前
|
前端开发 搜索推荐 开发者
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
SAP UI5 sap.m.Column 控件的 minScreenWidth 属性介绍
|
2月前
|
JavaScript 前端开发 开发者
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
SAP UI5 控件 sap.m.ListBase 的 inset 属性的作用介绍
|
2月前
|
前端开发 JavaScript API
SAP UI5 sap.ui.require.toUrl 的作用介绍
SAP UI5 sap.ui.require.toUrl 的作用介绍
|
2月前
|
JSON 前端开发 测试技术
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
SAP UI5 sap.ui.core.util.MockServer.simulate 方法介绍
|
2月前
|
存储 前端开发 Linux
在 SAP ABAP 系统里访问 FTP 服务器
在 SAP ABAP 系统里访问 FTP 服务器
|
2月前
|
XML 网络安全 开发工具
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
如何下载并安装 SAP ABAPGit,并完成 ABAP 服务器上 SSL 证书的配置试读版
|
2月前
|
开发者 UED
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
关于 SAP UI5 sap.m.Column 的 demandPopin 属性
|
2月前
|
Linux
一个能够在 ABAP 服务器执行 linux 命令的小工具
一个能够在 ABAP 服务器执行 linux 命令的小工具
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
使用 SAP UI5 Event Bus 机制,修复 SAP UI5 分页显示数据的一个 bug 试读版
|
2月前
|
缓存 JavaScript 前端开发
如何理解 SAP UI5 的 sap.ui.define 函数?
如何理解 SAP UI5 的 sap.ui.define 函数?