SAP ABAP unicode转换成中文_csucoder_zone的博客-程序员宝宝_sap unicode

技术标签: sap  unicode  abap  

未转换的报文:

转换后的报文:

用到的代码:

FORM frm_unicode_to_char  CHANGING p_data.
  DATA: lv_patt TYPE string VALUE '\u',"可以根据实际情况修改此处的值
        rt_tab  TYPE match_result_tab,
        ls_tab  LIKE LINE OF rt_tab.

  DATA:BEGIN OF lt_tab OCCURS 0,
         unicode(6),  "带\U的6位unicode
         cncha(6),    "对应的中文
       END OF lt_tab.

  DATA lv_str0(4).
  DATA lv_str1(4).
  DATA lv_str2(6).
  DATA lv_str3 TYPE string.
  DATA lv_offset0 TYPE i.
  DATA lv_offset1 TYPE i.

  FIND ALL OCCURRENCES OF lv_patt IN p_data RESULTS rt_tab.

  LOOP AT rt_tab INTO ls_tab.
    CLEAR: lv_offset0,lv_str0,lv_str1.

    lv_offset0 = ls_tab-offset + 2.
    lv_offset1 = ls_tab-offset.

    lv_str0 = p_data+lv_offset0(4)."不带\U的4位unicode
    TRANSLATE lv_str0 TO UPPER CASE.
    lv_str1 = cl_abap_conv_in_ce=>uccp( lv_str0 )."转换之后的中文

    lt_tab-unicode = p_data+lv_offset1(6).
    lt_tab-cncha = lv_str1 && '[email protected]#$%'."5位占位符
    APPEND lt_tab.
  ENDLOOP.

  SORT lt_tab BY unicode.
  DELETE ADJACENT DUPLICATES FROM lt_tab COMPARING unicode.

  LOOP AT lt_tab.
    REPLACE ALL OCCURRENCES OF lt_tab-unicode IN p_data WITH lt_tab-cncha.
  ENDLOOP.

  REPLACE ALL OCCURRENCES OF '[email protected]#$%' IN p_data WITH ''."去掉占位符
ENDFORM.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csucoder_zone/article/details/105506793

智能推荐

【Hadoop报错】ls: `.‘: No such file or directory_不争气大王的博客-程序员宝宝_start-dfs.sh

进入Hadoop安装路径:cd ./usr/local/hadoop开启Hadoop:./sbin/start-dfs.sh之后的hdfs命令就出现如下错误原因:Hadoop安装好后,第一次使用HDFS时需要在HDFS创建用户目录解决方法:

使用 TimeGAN 建模和生成时间序列数据_deephub的博客-程序员宝宝_timegan

在本文中,我们将研究时间序列数据并探索一种生成合成时间序列数据的方法。时间序列数据 — 简要概述时间序列数据与常规表格数据有什么不同呢? 时间序列数据集有一个额外的维度——时间。 我们可以将其视为 3D 数据集。 比如说,我们有一个包含 5 个特征和 5 个输入实例的数据集。那么时间序列数据基本上是该表在第 3 维的扩展,其中每个新表只是新时间步长的另一个数据集。主要的区别是时间序列数据与表格数据相比有更多的数据点实例。能源数据集的案例研究如果我们看一下能源数据集,它实际上看起来只是一个常规

vue + TinyMce + MathType 集成demo_杨帆起航_200的博客-程序员宝宝_mathtype vue

一下是运行界面, 引用本地资源, 速度超快, 基本秒出!demo下载链接

MYSQL基础----使用正则表达式查询_weixin_30641999的博客-程序员宝宝

正则表达式的模式字符含义^匹配字符串开始的部分$匹配字符串结束的部分.代表字符串中的任何一个字符,包括回车和换行[字符集合]匹配“字符集合”中的任何一个字符[^字符集合]匹配除“字符集合”外的任何一个字符S1|S2|S3匹配S1,S2,S3中的任意一个字符*代表多个该符号...

显卡驱动引起的ubuntu18.04黑屏问题解决方案_立昂的博客-程序员宝宝_anzhuangxiankaqudonghoupingmubianan

显卡驱动引起的ubuntu18.04黑屏问题解决方案Ctrl+Alt+F5进入命令窗口;nvidia-smi检查英伟达驱动是否可用;卸载英伟达驱动:sudo nvidia-uninstall;进入setup—>Advance(PCIe)—>VGA Priority—>nouveau on;sudo apt-get install dkms;chmod +x NVIDI...

org.apache.ibatis.exceptions.PersistenceException:invalid comparison_weixin_43032247的博客-程序员宝宝

问题:查询数据 日期类型为date swagger映射的参数为string,查询输入 2012-02-01 查询数据报错:错误:nested exception is org.apache.ibatis.exceptions.PersistenceException: \r\n### Error querying database. Cause: java.la...

随便推点

USB to RS232 PL2303驱动在Win7 64位旗舰版无法安装问题解决_rightangel的博客-程序员宝宝

问题描述:电脑安装的是Win7 64位的旗舰版,USB to RS232这种线很简单,对于笔记本如果要用串口,就不能少了它了。USB to RS232转换芯片种类繁多,常见的有ch340,0108,PL2303,FT232等,这里面FT232的应该价格是相对比较贵的,因为FTDI的芯片本身比较贵。由于买了一根PL2303芯片的USB to RS232转换线,于是插上后发现驱动无法安装,又是

COCO数据集--分割数据定义及标注信心_Sesen_s的博客-程序员宝宝_coco分割数据集

COCO数据集中图像都是一样的,标注信息annotations的不同,表示不同的任务。分为:instances——实例分割 person_keypoints——关键点分割 stuff——语义分割 captions——图片的配文,是一句话每个类别分别包含train,val。做实例分割任务时,使用instance_train201X.json文件作为标签信息。下面详细介绍。1、an...

浅谈供应链管理SCM的五大功能_清泉石上流可否的博客-程序员宝宝_供应链scm功能

众所周知,供应链管理SCM是确保您在需求和供应之间保持平衡,并最终涉及采购材料并将其转换为制成品,然后在预期的时间内交付。供应链管理对于任何企业来说都是很必要的,而且一般是大多数业务的支柱。

超级详细的iptables介绍_Hdnrnfgf的博客-程序员宝宝

http:// blog.csdn.net/sdytlm/article/details/6544913本文在符合 GNU Free Documentation 许可版本1.1的条件下,可以拷贝、分发、更改,但必须保留绪言 和所有的章节,如印刷成书,封面要包括“原著:Oskar Andreasson”,且书背不准有文字。本文附录有 “...

iOS 开发常见问题_T9的第三个三角的博客-程序员宝宝

iOS 开发常见问题async和sync使用 DispatchQueue.main.async 方法时错误将 async 写为 sync ,导致运行出错

推荐文章

热门文章

相关标签