应用场景 可用于SMARTFORMS打印中字符过长固定换行其中物料描述为两行那就要将物料描述长的拆成两个字段存放 为了尽可能存放多的字段我们就要计算下物料描述长度 尽可能的把第一行放满 就要计算字符的占位符进行截取DATA lv_s TYPE char15 VALUE 1T5赵钱9Q. DATA lv_c TYPE char1. DATA lv_i TYPE i. DATA lv_i1 TYPE i. DATA lv_i2 TYPE i. DATA lv_cd TYPE string. DATA lv_cd1 TYPE string. DATA lv_string TYPE string. lv_cd strlen( lv_s ). 计算字符数量 lv_cd1 cl_abap_list_utilitiesdynamic_output_length( lv_s ). 计算字符占位符数量 DO lv_cd TIMES. lv_i2 sy-index - 1. lv_c lv_slv_i2(1). CALL FUNCTION NLS_VISUAL_CHARLEN EXPORTING str lv_c IMPORTING len_visual lv_i. lv_i 值为1 该字符是英文或数字 值为2 该字符为汉字 lv_i1 lv_i1 lv_i. IF lv_i1 8. * lv_i1 sy-index - 1. lv_string lv_s0(lv_i2). WRITE lv_string. EXIT. ENDIF. CLEAR lv_c. ENDDO.
ABAP 判断字符长度
发布时间:2026/5/20 12:12:37
应用场景 可用于SMARTFORMS打印中字符过长固定换行其中物料描述为两行那就要将物料描述长的拆成两个字段存放 为了尽可能存放多的字段我们就要计算下物料描述长度 尽可能的把第一行放满 就要计算字符的占位符进行截取DATA lv_s TYPE char15 VALUE 1T5赵钱9Q. DATA lv_c TYPE char1. DATA lv_i TYPE i. DATA lv_i1 TYPE i. DATA lv_i2 TYPE i. DATA lv_cd TYPE string. DATA lv_cd1 TYPE string. DATA lv_string TYPE string. lv_cd strlen( lv_s ). 计算字符数量 lv_cd1 cl_abap_list_utilitiesdynamic_output_length( lv_s ). 计算字符占位符数量 DO lv_cd TIMES. lv_i2 sy-index - 1. lv_c lv_slv_i2(1). CALL FUNCTION NLS_VISUAL_CHARLEN EXPORTING str lv_c IMPORTING len_visual lv_i. lv_i 值为1 该字符是英文或数字 值为2 该字符为汉字 lv_i1 lv_i1 lv_i. IF lv_i1 8. * lv_i1 sy-index - 1. lv_string lv_s0(lv_i2). WRITE lv_string. EXIT. ENDIF. CLEAR lv_c. ENDDO.