2008 Apr 14 5:38 AM
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
2008 Apr 14 5:51 AM
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
2008 Apr 14 5:51 AM
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
2008 Apr 14 5:53 AM
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
2022 May 13 6:28 AM
This is working fine, without giving length...
it accept as per column content..
2008 Apr 14 6:00 AM
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
2008 Apr 14 6:12 AM
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.
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |