首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用 SAP UI5 ABAP Repository 部署本地 SAP UI5 应用到 ABAP 服务器的单步调试

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

作者头像
Jerry Wang
发布2022-08-15 17:05:05
2930
发布2022-08-15 17:05:05
举报

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,转换成字符串 初学者教程之九

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档