SAP 中strlen()只能计算字符串的个数,不能计算含有中文字符串的长度,如字符串“SAP大波霸”,strlen('SAP大波霸') = 6,其实真实长度为3+3*2 = 9。
我们可以通过cl_abap_list_utilities=>dynamic_output_length来精确获取字符串长度,下面我写了一个截取字符串长度的函数,供参考:

FUNCTION zotfm001.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" VALUE(I_STRING) TYPE STRING
*" VALUE(I_STRLEN) TYPE I
*" EXPORTING
*" VALUE(E_STRING1) TYPE STRING
*" VALUE(E_STRING2) TYPE STRING
*"----------------------------------------------------------------------
DATA:lv_char TYPE string,
lv_len TYPE i,
lv_st1 TYPE i,
lv_st2 TYPE i,
lv_str TYPE i. CHECK i_string IS NOT INITIAL AND i_strlen IS NOT INITIAL.
lv_str = strlen( i_string ). DO.
IF lv_str >= sy-index.
lv_char = i_string+0(sy-index).
CALL METHOD cl_abap_list_utilities=>dynamic_output_length
EXPORTING
field = lv_char
RECEIVING
len = lv_len.
IF lv_len >= i_strlen.
e_string1 = lv_char. lv_st1 = strlen( lv_char ).
lv_st2 = lv_str - lv_st1.
e_string2 = i_string+lv_st1(lv_st2).
EXIT.
ENDIF.
ELSE.
e_string1 = i_string.
e_string2 = ''.
EXIT.
ENDIF.
ENDDO. ENDFUNCTION.

  

最新文章

  1. iOS - + initialize 与 +load
  2. pycharm 中 pep8 检查开启.
  3. 歐洲國家拓展其移動和IT服務業務
  4. 新机自动创建yum库
  5. CSS布局 -- 左右定宽,中间自适应
  6. CodeForces - 427B (模拟题)
  7. DP/最短路 URAL 1741 Communication Fiend
  8. DataGrid参数
  9. 《JavaScript高级程序设计》笔记(3):传递参数
  10. NIR相机
  11. Android入门——UI(8)——Fragment(2)
  12. C# 关闭子线程的方法
  13. 修复关于apache-xampp的问题:Port 443 in use by “vmware-hostd.exe”!
  14. 对css语法中position值的理解
  15. BOM 和 DOM
  16. 【laravel5.4】安装指定版本的predis 和 处理laravel5.*安装使用Redis以及解决Class 'Predis\Client' not found和Fatal error: Non-static method Redis::set() cannot be called statically错误
  17. react组件(react-grid-gallery)
  18. Mysql索引机制B+Tree
  19. Unity3.x游戏开发经典教程 书例 100%完毕~
  20. ubuntu各系统双网卡绑定

热门文章

  1. (生产)axios - 请求接口
  2. 移动端纯CSS3制作圆形进度条所遇到的问题
  3. 工作流常使用API
  4. SharePoint 2010 VS.net 2010 断点调试
  5. 浩顺晶密K-5 打卡时间设置
  6. HDFS文件操作(命令行)
  7. c++中explicit关键字用法
  8. Invalid MyEclipse License - Discontinuing this MyEclipse operation. 出现这个错误怎么改正?
  9. 第2章-如何安装KEIL5—零死角玩转STM32-F429系列
  10. Python——并发编程