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 に答える