Listview 如何在ALV中设置数据长度?

Listview 如何在ALV中设置数据长度?,listview,abap,datalength,Listview,Abap,Datalength,我有来自HTEXT的“Müteri siparişinden Müteri siparişine nakil kaydı”文本 HTEXT是一个25个字符的字段。但当我使用“WRITE”命令时,它会写“Müteri siparişinden Müteri siparişine nakil kayd” 我更改了ALV的代码。然后,它在ALV中将文本显示为“Müteri siparişinden Mü351;” 正如您所看到的,“Munteri siparişinden Mü351;”文本有25个字

我有来自HTEXT的“Müteri siparişinden Müteri siparişine nakil kaydı”文本

HTEXT是一个25个字符的字段。但当我使用“WRITE”命令时,它会写“Müteri siparişinden Müteri siparişine nakil kayd”

我更改了ALV的代码。然后,它在ALV中将文本显示为“Müteri siparişinden Mü351;”

正如您所看到的,“Munteri siparişinden Mü351;”文本有25个字符

如何更改屏幕上显示的数据长度

我搜索我的问题,但我无法集成我自己的代码。我的代码如下

TABLES : mseg, mkpf, zrapor_mseg_mkpf_alv .

CONSTANTS : gc_alv_item_table TYPE slis_tabname VALUE 'GT_ALV' ,                                    "ALV itab name
            gc_program_name LIKE sy-repid VALUE 'ZRAPOR_MSEG_MKPF_ALV' , "Program name
            gc_structure_name LIKE dd02l-tabname VALUE 'ZRAPOR_MSEG_MKPF_ALV'. "Structure name

DATA : gt_alv TYPE TABLE OF zrapor_mseg_mkpf_alv WITH HEADER LINE .
DATA : gt_flcat TYPE slis_t_fieldcat_alv . "Field Catalog is defined
DATA : gwa_flcat LIKE LINE OF gt_flcat . "Field catalog's work area
DATA : gwa_flcat2 LIKE LINE OF gt_flcat .
DATA : gs_alv LIKE LINE OF gt_alv .

FORM make_field_catalog .
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = gc_program_name
          i_internal_tabname     = gc_alv_item_table
          i_structure_name       = gc_structure_name
        CHANGING
          ct_fieldcat            = gt_flcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
      DELETE gt_flcat WHERE fieldname = 'SOBKZ'.
ENDFORM.

嗯,这是一个非常奇怪的行为,因为ALV网格应该显示整个值。好吧,因为我在你的帖子中没有看到更多的代码,我想你已经编写了一个字段目录(或者没有),在这里你可以指定你想要显示的长度。大概是这样的:

data wa_fieldcat like line of gt_flcat. " The fieldcat line to append

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-ref_fieldname = 'MATNR'.
wa_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-outputlen = 10. " Specify the length

wa_fieldcat-col_pos = cont.
append wa_fieldcat to gt_flcat.

clear wa_fieldcat.
add 1 to cont.

...

或者,您在ALV结构中使用的变量长度为25。检查它或发布代码以查看发生了什么。

嗯,这是一种非常奇怪的行为,因为ALV网格应该显示整个值。好吧,因为我在你的帖子中没有看到更多的代码,我想你已经编写了一个字段目录(或者没有),在这里你可以指定你想要显示的长度。大概是这样的:

data wa_fieldcat like line of gt_flcat. " The fieldcat line to append

wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-ref_fieldname = 'MATNR'.
wa_fieldcat-ref_tabname = 'MARA'.

wa_fieldcat-outputlen = 10. " Specify the length

wa_fieldcat-col_pos = cont.
append wa_fieldcat to gt_flcat.

clear wa_fieldcat.
add 1 to cont.

...

或者,您在ALV结构中使用的变量长度为25。检查它或发布您的代码,看看会发生什么。

您没有真正的意义。如果HTEXT是一个25个字符的字段,它怎么能包含超过25个字符?请您在问题中添加更多细节好吗?vwegert是对的,您不能将大于25个字符的内容放入长度正好为25个字符的字段中。内容总是会被截断。我搜索了“t157h”表,发现htext下的一些数据超过25个字符。@cethint以及表
t157h
htext
字段的字段类型的长度是多少?TEXT60域->60个字符字段你没有真正的意义。如果HTEXT是一个25个字符的字段,它怎么能包含超过25个字符?请您在问题中添加更多细节好吗?vwegert是对的,您不能将大于25个字符的内容放入长度正好为25个字符的字段中。内容总是会被截断。我搜索了“t157h”表,发现htext下的一些数据超过25个字符。@cethint表
t157h
中字段
htext
的字段类型有多长?TEXT60域->60个字符字段