1

我有来自 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üş”。

如您所见,“Müşteri siparişinden müş”文本有 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.
4

1 回答 1

1

嗯,这是一个非常奇怪的行为,因为 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 长。检查它或发布您的代码,看看会发生什么。

于 2013-03-01T18:09:42.127 回答