说一说SAP系统从Non-Unicode到Unicode的演化

article/2025/7/2 14:53:18

当前的 SAP 系统基本上都是 Unicode 系统。然而,在 SAP 的发展过程中,最初并不是 Unicode 系统,而是 Non-Unicode 系统


1. 什么是 Non-Unicode 和 Unicode?

  • Non-Unicode 系统:

    • 在 Non-Unicode 系统中,字符存储和表示是基于特定的编码页面(Code Page)的,每个页面支持一组有限的字符。这种编码方式通常是针对一种语言或一组相关语言的。
    • 比如 ASCII、Latin-1 (适用于西欧语言) 或 Shift-JIS (适用于日语) 等编码页面。
    • 对于多语言支持的需求,Non-Unicode 系统通常需要区分不同语言环境,并选择匹配的编码,这使得多语言处理变得复杂且容易出错。
  • Unicode 系统:

    • Unicode 是一种全球标准,能够用统一的编码表示多种语言字符,包括各种语言、特殊符号、表情符号等。
    • 它解决了 Non-Unicode 系统中的多语言兼容问题
    • 常见的 Unicode 编码包括 UTF-8UTF-16UTF-32。SAP 的 Unicode 系统通常基于 UTF-16

2. SAP 系统的早期历史:Non-Unicode 系统

  • SAP R/3 和更早的版本最初是基于 Non-Unicode 的架构设计的,因为当时 Unicode 尚未普及,多语言系统的需求尚未那么强烈。
  • 在 Non-Unicode 系统中,SAP 使用了 Code Page 的概念,每种特定语言或语言组都有对应的编码页面。例如:
    • Code Page 1100:支持 ASCII 和基本西欧语言。
    • Code Page 8000:日语编码。
  • 如果客户需要支持多国语言,就需要安装不同的编码页面(多 Code Page 环境)。

Non-Unicode 系统的限制:

  1. 多语言处理复杂: 在多语言环境中,AWS(应用服务器)必须切换编码页面,这可能导致数据丢失或编码冲突。
  2. 全球化支持困难: 一些语言或字符集无法被 Non-Unicode 系统支持,比如汉字、阿拉伯文等在一个系统中共存会出现挑战。
  3. 与其他系统的集成问题: 不同系统之间的数据交换可能因为编码不一致而导致错误。
  4. 维护成本高: 在 Non-Unicode 系统的多 Code Page 环境下,管理员需要花费更多时间处理字符集问题。

3. 向 Unicode 系统的演化

随着全球化业务的发展以及 Unicode 标准的普及,SAP 逐渐意识到采用 Unicode 系统的重要性。在 Unicode 系统中,可以一次性满足多语言的需求,而无需依赖复杂的编码页面配置。SAP 在版本发展中逐步引入了 Unicode 的支持:

  • SAP R/3 4.7(2001年):首次提供 Unicode 支持。SAP 允许客户在安装 SAP 系统时选择使用 Unicode 或 Non-Unicode 系统。 此时,Unicode 系统仍然是可选的选项,大多数早期客户依然选择了 Non-Unicode 系统。

  • SAP NetWeaver 系统(SAP Basis 6.20/6.40之后):进一步增强了 Unicode 支持。此时,Unicode 已经成为开发和实施多语言系统的标准推荐。

  • SAP S/4HANA 系统: 从 SAP HANA 和 S/4HANA 开始,SAP 系统完全基于 Unicode 编码架构,不再支持 Non-Unicode 系统。SAP 强制要求客户在转移到新的平台(例如 S/4HANA)时必须完成 Unicode 转换(Unicode Conversion)。


4. Unicode 系统的优势

  • 多语言支持: 使用 Unicode 的 SAP 系统可以同时处理跨语言的字符集,而无需担心数据丢失或编码冲突。
  • 简化系统维护: 因为不需要管理繁杂的编码页面配置,系统更加简化且维护成本更低。
  • 增强系统兼容性: Unicode 是广泛采用的国际标准,与其他 Unicode 系统的一致性降低了字符集转换复杂度。
  • 全球化业务的支持: 对于需要支持全球多语言的企业来说,Unicode 是唯一切实可行的选择。

5. Non-Unicode 系统迁移到 Unicode 系统的挑战

对于老客户来说,从 Non-Unicode 系统迁移到 Unicode 系统可能涉及到比较复杂的转换过程,具体挑战包括:

  1. 数据一致性问题: 非 Unicode 系统中存储的多语言数据可能在迁移到 Unicode 系统时出现乱码或不兼容问题。
  2. 程序调整: ABAP 程序中很多 String 相关的代码可能依赖于固定的字符编码长度(如 2 字节的字符表示),这些需要在 Unicode 环境下进行调整。
  3. 性能考量: Unicode 系统可能需要更多的存储空间。(例如 UTF-16 通常占用双倍的存储空间。)
  4. 测试成本: 因为整个转换过程可能涉及核心业务逻辑和数据结构变更,因此需要进行充分的测试以确保数据完整性和业务功能正常。

为了解决这些问题,SAP 提供了一些工具来辅助转换和验证过程。例如:

  • SAP Unicode Conversion Tools
  • Transaction SPUMG:用于提前分析和处理数据格式问题。
  • Transaction SUM:SAP Software Update Manager 支持 Unicode Conversion 合并到系统升级过程。

6. 当前 SAP 系统的 Unicode 状态

  • 自 SAP S/4HANA(以及任何基于 SAP HANA 数据库的解决方案)开始,所有 SAP 系统都强制要求是 Unicode 系统,不再支持 Non-Unicode 安装。
  • 对于现有老旧 Non-Unicode 系统的客户,SAP 强烈建议首先进行 Unicode Conversion,然后再迁移到现代化的平台(如 S/4HANA)。

如果想快速查看当前SAP系统的Unicode状态,可以通过系统属性查看(Transaction Code: SU01System -> Status)**

在这里插入图片描述


7. SM59中,要注意Unicode 选项配置

在 SAP 系统中,配置 RFC (Remote Function Call) 连接时,Unicode 的选项是一个非常重要的设置,尤其是在涉及跨系统通信的场景下,例如当一个系统是 Unicode 系统,另一个可能是 Non-Unicode 系统时,正确配置 Unicode 选项可以确保字符编码的正确转换和无缝通信。

  • SAP 系统可以使用 RFC destination 来连接其他 SAP 系统(或者第三方系统),从而实现远程的函数调用或数据传输。
  • 如果两个系统字符编码不一致(即一个系统使用 Unicode,而另一个系统使用 Non-Unicode),则在数据传输过程中可能会因为字符集的不一致而导致乱码或数据错误。
  • 为了解决这种问题,SAP 在 RFC destination 中提供了 Unicode 设置选项,用于指定远程系统是否支持 Unicode,并确保正确执行字符编码的转换。

在这里插入图片描述

Unicode 选项的含义

在 SM59 的配置界面中,Unicode 相关的选项出现在 RFC destination 的具体设置页面(例如 Connection Test 或 Attributes 页面),通常有以下选项:

  1. Communication type(通讯方式):

    • Non-Unicode System:表示远程系统是 Non-Unicode 系统。
    • Unicode System:表示远程系统是 Unicode 系统。
  2. Character conversion(编码转换):

    • 当启用此选项时,SAP 会根据源系统和目标系统的 Unicode 状态,自动将字符编码从源系统的编码转换为目标系统的编码。
    • 例如,在 Unicode 和 Non-Unicode 系统之间通信时,SAP 可以将 Unicode 转换为相应的 Code Page,或者从指定的 Code Page 转换为 Unicode。

注意: 在 Unicode 与 Unicode 系统之间通信时,此选项通常无关紧要,因为两者的编码一致。

Unicode 相关选项

  • 目标系统是 Unicode 系统:

    • 如果目标系统是 Unicode 系统,则在 RFC 配置中,应该选择 Unicode System
    • 这将启用 Unicode 环境下的通信,同时避免不必要的字符编码转换。
  • 目标系统是 Non-Unicode 系统:

    • 如果目标系统是 Non-Unicode 系统,则应选择 Non-Unicode System
    • 这样配置可以让源系统根据目标系统的字符编码,自动调整字符编码(从 Unicode 转换为目标系统的 Code Page 编码)。


http://www.hkcw.cn/article/GsZdAxMsrv.shtml

相关文章

特朗普马斯克发表“分手感言” 称赞成就与未来合作

5月30日,美国总统特朗普与美国企业家、政府效率部负责人埃隆马斯克在白宫召开新闻发布会。会上,特朗普对马斯克领导的“政府效率部”所取得的成绩表示赞赏,称该部门聘请了计算机领域的杰出人才。特朗普还提到,政府将致力于推动“政府效率部”削减政府开支政策的永久化。他指…

特朗普称将把进口钢铁关税提高至50% 加强行业保护

当地时间5月30日,美国总统特朗普宣布将进口钢铁的关税从25%提高至50%。美国白宫当天在社交媒体上发布公告,表示此举是为了进一步保护美国钢铁行业免受外国和不公平竞争的影响,并指出新的关税政策将从下周开始实施。特朗普曾于2月10日签署行政命令,对所有进口至美国的钢铁和…

警方:跳进兵马俑坑男子有精神疾病 警情通报发布

5月31日凌晨3点15分,新浪微博账号@平安临潼发布了一则警情通报。责任编辑:zhangxiaohua

5月全国各地经济社会发展观察 高质量发展新图景绘就

5月,万物繁茂。消费新动能持续涌动、夏粮生产力保丰收、就业岗位挖潜扩容、城市更新提升民生福祉……一派充满生机的高质量发展新图景在神州大地不断绘就。临近端午小长假,北京的宋女士这几天正忙着订火车票和酒店,准备利用假期去河南游玩。她说:“想去看石窟、吃水席,还要…

白皮精读:70页 2025 基于数据空间的金融数据可信流通研究报告【附全文阅读】

该报告聚焦金融数据可信流通,基于数据空间理念,分析全球及我国金融数据流通现状与挑战,提出包含典型场景、关键角色、流通模式及技术方案的可信流通框架,并通过中信银行、工银金租等多个实践案例验证其可行性。报告指出当前面临法…

【解决办法】Git报错error: src refspec main does not match any.

在命令行中使用 Git 进行 git push -u origin main 操作时遇到报错error: src refspec main does not match any。另一个错误信息是:error: failed to push some refs to https://github.com/xxx/xxx.git.这是在一个新设备操作时遇到的问题,之前没有注意…

聊聊在大模型推理强化学习中熵机制上的探索

原文首发:https://mp.weixin.qq.com/s/M-KqQWVI-Z7kYXvgD4WeHw 在RL训练LLM的过程中,普遍存在模型entropy迅速下降/性能迅速饱和的现象。这导致模型过度自信,进而削弱其探索能力,最终限制了性能的进一步提升。 我们通过广泛的实验…

基于地理特征金字塔的层次化AI定位方案:从人脑推理到卫星图谱的跨尺度匹配

基于地理特征金字塔的层次化AI定位方案:从人脑推理到卫星图谱的跨尺度匹配 一、仿生推理框架:从人脑定位逻辑到AI层次化建模 1.1 人类视觉定位的认知机制 神经科学研究表明,人类定位遵循"三级推理链": 宏观特征锚定&…

马哈蒂尔:中国不会轻易被美国击败,或将成世界第一强国

马来西亚前总理马哈蒂尔5月30日在东京出席“日经新闻”主办的“亚洲的未来”年度论坛时发表讲话,表示中国不会轻易被美国击败,并且看起来将成为世界第一强国。他认为,鉴于美国日趋保守的政策取向,美国将无法阻止中国的发展势头。马哈蒂尔批评了特朗普的关税政策,称其让美国…

汽车价格战再起 20多万的车14万卖 真降价还是假套路?

近期,汽车市场出现了一系列低价促销活动,如吉利帝豪标价2.99万元、奇瑞瑞虎3x售价3.49万元以及比亚迪海豹直降5.3万元。这些价格吸引了大量关注,但背后隐藏着一些套路。比亚迪于5月23日推出“限时一口价”促销活动后,吉利、奇瑞和凯迪拉克等品牌迅速跟进。然而,记者在走访…

原县委书记花上千万建10个厕所被查 豪华公厕引争议

刚摘掉深度贫困县帽子的通榆县,时任县委书记李德明就斥资上千万元建造了10个豪华水冲公厕。日前,吉林省纪委监委公开通报了4起形式主义、官僚主义典型问题,其中提到李德明搞劳民伤财的“形象工程”。2023年,他升任省农业农村厅厅长,直至2025年1月主动投案。李德明主政的通…

UHF RFID无源标签的芯片供电原理

作为无源物联网技术中最基础的一环,UHF RFID无源标签已经被广泛用于商超零售、物流仓储、图书档案、防伪溯源等量非常大的应用领域,仅2021年度,全球出货量就超过200亿。在实际应用中UHF RFID无源标签的芯片是究竟依靠什么来供电的呢? UHF RFID无源标签供电特点 1.借助无线…

C++?多态!!!

一、引言 众所周知,C有三大特性,它们分别是封装、继承和多态,在之前的文章中已经详细介绍过封装和继承了,今天我们将一起学习多态相关的知识,如果还想了解封装、继承相关的知识,可以跳转到以下链接&#xf…

耿爽回应美方抹黑:完全不可接受 反对无端指责和政治操弄

中国常驻联合国副代表耿爽在安理会审议向乌克兰提供武器问题时发言指出,战场上武器数量不断增加只会加剧对抗、延长战火。自俄乌冲突爆发以来,中方一直呼吁冲突当事方尽快停火止战。遗憾的是,乌克兰危机仍在持续,平民伤亡人数不断增加,令人深感痛心和忧虑。在当前俄乌双方…

Assert failed in file queue.c, line 753

实在程序运行的时候出现的,根据提示找到相关的位置, 说明要操作的信号量还没被初始化(注册) ,在抛信号量之前要使用sys_sem_new初始化一下。 如果出现这个问题,那么检查一下是不是忘了初始化。

著名物理学家汪承灏逝世 享年87岁贡献卓著

著名物理学家、中国科学院院士汪承灏研究员因病医治无效,于2025年5月29日在北京逝世,享年87岁。他曾担任政协北京市第十届委员会常务委员、中国科学院大学荣誉讲席教授及中国科学院声学研究所学术委员会原主任,并培养了众多博士生。汪承灏在功率超声、晶体声学、声表面波器件…

特朗普:特斯拉将在美国生产整车 必须在美国生产整车

5月30日,美国总统特朗普表示,美国汽车制造商必须在美国生产整车和所有零部件,而不是在国外生产。他提到,之前汽车制造商在加拿大、墨西哥、欧洲生产零部件,这让他感到困扰。特朗普强调,在接下来的一年里,这些汽车制造商需要在美国完成整车的生产。尽管特朗普有此要求,但…

马斯克:吃了儿子一拳,意外淤青引发猜测

5月30日,马斯克出现在白宫椭圆形办公室与美国总统特朗普的告别会上,眼角淤青引起外界猜测。马斯克解释说,这是他的儿子玩耍时打在他脸上的结果。他提到当时和儿子开玩笑,让儿子朝他脸上打一拳,没想到五岁的孩子也能造成这样的伤害。马斯克表示当时没觉得怎么样,但之后就出…

儿童节演出服穿完就退?商家出奇招 贴纸防退货

去年“六一”儿童节,商家投诉表演服被大量退货的事件频登热搜。今年临近“六一”,不少商家在社交平台上分享了防范技巧。从事童装生意10年的山东菏泽商家周女士就是其中之一。她发现退货的衣物损毁污染严重。为了避免再次遭受类似损失,周女士在每件儿童表演服上都贴上了醒目…

F1西班牙站一练:诺里斯全场最快 新秀表现亮眼

北京时间5月30日,F1西班牙大奖赛第一次练习赛结束。诺里斯以最快成绩领跑全场,维斯塔潘和汉密尔顿紧随其后。勒克莱尔、皮亚斯特里、劳森、贝尔曼、哈贾尔、角田裕毅和加斯利分别位列第四至第十名。拉塞尔排名第十一,安东内利排在第十八位,科拉平托垫底。今年新加入威廉姆斯…