Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

ALV row width

Former Member
0 Likes
730

Hello,

Is it possible to change the width of the rows of an ALV GRID (and a Hierarchical one)?

Thank you

4 REPLIES 4
Read only

Former Member
0 Likes
619

Hello,

U can do it like this.

wa_fieldcat-outputlen = 50 " Desired Length

Vasanth

Read only

0 Likes
619

Hi,

I want to adjust the width, not the length, of the rows. For example, that each row would be 3 times wider (or thicker).

Thanks

Read only

Former Member
0 Likes
619

Hi,

If your ALV list is the only element on your dynpro then you should not use a custom container on the dynpro. Instead use the following approach:

&----


*& Report ZUS_SDN_ALVLIST_FULLSCREEN

*&

&----


*&

*&

&----


REPORT zus_sdn_alvlist_fullscreen.

DATA:

gt_kna1 TYPE STANDARD TABLE OF kna1.

DATA:

go_docking TYPE REF TO cl_gui_docking_container,

go_alvgrid TYPE REF TO cl_gui_alv_grid.

START-OF-SELECTION.

  • Select some data

SELECT * FROM kna1 INTO TABLE gt_kna1.

  • Create docking container and dock at left side

CREATE OBJECT go_docking

EXPORTING

parent = cl_gui_container=>screen0

  • REPID =

  • DYNNR =

side =

cl_gui_docking_container=>dock_at_left

  • EXTENSION = 50

  • STYLE =

  • LIFETIME = lifetime_default

  • CAPTION =

  • METRIC = 0

ratio = 90 " 90% of screen

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • Set very high extension -> not overruled by screen resizing

CALL METHOD go_docking->set_extension

EXPORTING

extension = 99999

EXCEPTIONS

CNTL_ERROR = 1

others = 2.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • Create ALV grid

CREATE OBJECT go_alvgrid

EXPORTING

i_parent = go_docking

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

CALL METHOD go_alvgrid->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

i_structure_name = 'KNA1'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

  • IR_SALV_ADAPTER =

CHANGING

it_outtab = gt_kna1

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

  • Empty dynpro without any elements

CALL SCREEN '0100'.

  • NOTE: dynpro flow logic contains only the two modules shown below

END-OF-SELECTION.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

  • SET PF-STATUS 'xxxxxxxx'.

  • SET TITLEBAR 'xxx'.

  • Link to current dynpro

CALL METHOD go_docking->link

EXPORTING

repid = syst-cprog

dynnr = syst-dynnr

  • CONTAINER =

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

lifetime_dynpro_dynpro_link = 3

OTHERS = 4.

IF sy-subrc <> 0.

  • MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

  • WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Module USER_COMMAND_0100 INPUT

&----


  • text

----


MODULE user_command_0100 INPUT.

SET SCREEN 0. LEAVE SCREEN.

ENDMODULE. " USER_COMMAND_0100 INPUT

<b>Reward points</b>

Regards

Read only

0 Likes
619

Hi Kiran,

I am using a similar approach: the ALV is displayed on a dynpro, without a GUI container (I did not use Objects), so I can use the menu toolbar.

But my question was about row width. One possible solution would be to duplicate each row (as many times as the width required) and then group all fields. But that doesn't look very elegant...

Thank you anyway