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

Changing ALV column size

Former Member
13,510

Hello Experts.

I'm working on ALV programming.

I made very basical ALV chart but there was a small problem.

The size of every column is the same so There is a column doesn't show the data properly.

I know that we can change the length of column in Setting -> Column -> Optimize width but I want it be printed right after the program is excuted.

Is it possible to set the length of each column?

This is the code which controls columns

FORM BUILD_FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'STUDENT_NO'.

FIELDCAT_LN-REPTEXT_DDIC = 'Student no'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1. "<- I want to make this column longer

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'STUDENT_NAME'.

FIELDCAT_LN-REPTEXT_DDIC = 'Student name'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'SEIBETU'.

FIELDCAT_LN-REPTEXT_DDIC = 'Gender'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'KOKUGO'.

FIELDCAT_LN-REPTEXT_DDIC = 'KOKUGO'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'SANSU'.

FIELDCAT_LN-REPTEXT_DDIC = 'SANSU'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'RIKA'.

FIELDCAT_LN-REPTEXT_DDIC = 'RIKA'.

APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.

CLEAR FIELDCAT_LN.

FIELDCAT_LN-COL_POS = L_POS.

FIELDCAT_LN-FIELDNAME = 'SYAKAI'.

FIELDCAT_LN-REPTEXT_DDIC = 'SYAKAI'.

APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM.

Edited by: Kim Eihwan on Apr 14, 2008 6:38 AM

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
6,219

Hi,

If i am not wrong, I guess u want to change the length of the column in ALV output display.

You can do this by passing

wa_fieldcatalog-OUTPUTLEN = ' '. (while building catalog).

Reward points if helpful.

Regards,

Ramya

Hi,

If i am not wrong, I guess u want to change the length of the column in ALV output display.

You can do this by passing

wa_fieldcatalog-OUTPUTLEN = ' '. (while building catalog).

Reward points if helpful.

Regards,

Ramya

5 REPLIES 5
Read only

Former Member
0 Likes
6,220

Hi,

If i am not wrong, I guess u want to change the length of the column in ALV output display.

You can do this by passing

wa_fieldcatalog-OUTPUTLEN = ' '. (while building catalog).

Reward points if helpful.

Regards,

Ramya

Read only

Former Member
6,218

Hi,

Use this..


DATA:IS_LAYOUT    TYPE  SLIS_LAYOUT_ALV.

   IS_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.

*&*& pass this IS_LAYOUT to ALV function module.

*&*& CALL FN MOD FOR DISPLAY
   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
             I_CALLBACK_PROGRAM       = SY-CPROG
             I_CALLBACK_USER_COMMAND  = 'F_UCOMM_EMP_CATGY'
*            I_CALLBACK_PF_STATUS_SET = 'F_STATUS_MAIN_SCREEN'
             I_CALLBACK_TOP_OF_PAGE   = 'F_TOP_EMPL_CATGY'
             IS_LAYOUT                = IS_LAYOUT
             IT_FIELDCAT              = INT_FIELDCAT
        TABLES
             T_OUTTAB                 = GIT_EMP_CATG.

With Rgds,

S.barani

Read only

0 Likes
6,218

This is working fine, without giving length...
it accept as per column content..

Read only

Former Member
0 Likes
6,218

Hi you can define the description of a filed

s_fcat-seltext_l = 'Text'.

it will be for 40 char space

s_fcat-seltext_m = 'text'.

this for medium size means 20 char space ..

s_fcat-seltext_l = 'text.'

this for small one 10 char space

Read only

Former Member
0 Likes
6,218

FORM BUILD_FIELDCAT.
L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'STUDENT_NO'.
FIELDCAT_LN-REPTEXT_DDIC = 'Student no'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1. "<- I want to make this column longer
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'STUDENT_NAME'.
FIELDCAT_LN-REPTEXT_DDIC = 'Student name'. 
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'SEIBETU'.
FIELDCAT_LN-REPTEXT_DDIC = 'Gender'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'KOKUGO'.
FIELDCAT_LN-REPTEXT_DDIC = 'KOKUGO'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'SANSU'.
FIELDCAT_LN-REPTEXT_DDIC = 'SANSU'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'RIKA'.
FIELDCAT_LN-REPTEXT_DDIC = 'RIKA'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

L_POS = L_POS + 1.
CLEAR FIELDCAT_LN.
FIELDCAT_LN-COL_POS = L_POS.
FIELDCAT_LN-FIELDNAME = 'SYAKAI'.
FIELDCAT_LN-REPTEXT_DDIC = 'SYAKAI'.
FIELDCAT_LN-OUTPUTLEN = 'YOUR DESIRED LENGTH'.
APPEND FIELDCAT_LN TO FIELDCAT.

ENDFORM.

I guess the modification to above code will work , try it now.

I actually added, a fieldcat called OUTPUTLEN with which we can fix the column size.

Double check whether the name of the field the fixes the output length is OUTPUTLEN or OUTPUT_LENGTH.

All the best.