双倍宽度日语字符的偏移量

2020-09-26 01:33发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我正在处理日语字符...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我正在处理日语字符偏移。 以下是示例数据。

JP34HE38理论健康保険料(総报酬)

以下是我用于拆分上述字符串的逻辑:

"获取数据的抽象类型
   lo_typedescr = cl_abap_typedescr => describe_by_data(wa_upload_file)。
   lo_structdescr?= lo_typedescr。
   lt_components_in = lo_structdescr-> get_components()。

   在lt_components_in INTO ls_component中循环。
     UNASSIGN 。
     将结构ls_component-name分配给结构wa_upload_file TO 。
     如果lv_input_data是INITIAL。
       lv_input_data = 。
     其他。
       CONCATENATE lv_input_data  INTO lv_input_data。
     万一。
   结局。

   清除:lo_typedescr,lo_structdescr。
   lo_typedescr = cl_abap_typedescr => describe_by_data(wa_kyuyono)。
   lo_structdescr?= lo_typedescr。
   lt_components_out = lo_structdescr-> get_components()。

   清除:lv_offset,lv_offset_str。
   循环至lt_components_out INTO ls_component。
     l_tabix = sy-tabix。
     清除:lo_elemdescr,lv_offset_data。
       lo_elemdescr?= ls_component-type。
       如果为lo_elemdescr-> type_kind EQ'D'。
         l_length ='8'。
       其他。
         l_length = lo_elemdescr-> output_length。
       万一。

         cl_abap_list_utilities => read_from_display_layout(
                                           出口
                                             display_data = lv_input_data
                                             display_offset = lv_total_offset
                                             display_length = l_length
                                           输入
                                             字段= lv_offset_data)。
  
       lv_offset = l_length。
       将lv_offset添加到lv_total_offset。
       "将数据分配给结构
       UNASSIGN 。
       将结构wa_kyuyono的ls_component-name分配给。
       如果已分配 = lv_offset_data。
       万一。
     万一。
   结局。
 

下面是它应该如何分割,

Var1是4个字符,Var2是3个字符,Var3是1个字符,Var4是20个字符。

问题:

Var4为20个字符。 但是,方法cl_abap_list_utilities => read_from_display_layout仅返回10个字符。 这是因为所占用的字符宽度大于20。

对于这些类型的字符,我们如何使用偏移? 假设,如果我们还有另一个变量,那将是一个问题。

提前谢谢!

BR,
Kiran Kerudi

japanese-characters-issue.jpg (27.7 kB)