2006 Aug 15 2:00 PM
Hi everybody,
When i add a column in an ALV,then the list is displayed in the reverse column order.eg: when Document No is the first & Balance amount is the last column diaplayed & when i add a new column Debit/Credit indicator column, then the Last column which i added is displayed first followed by Balance amt,.....& the Document No is displayed at the last.can anyone help me...
Regards,
Varadharajan.S
2006 Aug 15 2:06 PM
hi,
check ur column positions in fieldcatalog...
or did u specify wa_fieldcat-key = 'X' for any fields...
or else post ur code...
hope this helps,
priya.
2006 Aug 15 2:06 PM
hi,
check ur column positions in fieldcatalog...
or did u specify wa_fieldcat-key = 'X' for any fields...
or else post ur code...
hope this helps,
priya.
2006 Aug 15 2:16 PM
My code goes like this...
FORM FIELDCAT_INIT USING RT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
DATA : LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
w_col type i.
w_col = w_col + 1.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'BELNR'.
LS_FIELDCAT-SELTEXT_L = 'Document No'.
LS_FIELDCAT-FIX_COLUMN = 'X'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'BLDAT'.
LS_FIELDCAT-SELTEXT_L = 'Document Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'BUDAT'.
LS_FIELDCAT-SELTEXT_L = 'Posting Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'LIFNR'.
LS_FIELDCAT-SELTEXT_L = 'Vendor'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'NAME1'.
LS_FIELDCAT-SELTEXT_L = 'Vendor Name'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'SGTXT'.
LS_FIELDCAT-SELTEXT_L = 'Text'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'XBLNR'.
LS_FIELDCAT-SELTEXT_L = 'Reference No'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'CHECF'.
LS_FIELDCAT-SELTEXT_L = 'Cheque No'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'ZALDT'.
LS_FIELDCAT-SELTEXT_L = 'Cheque Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'DEB'.
LS_FIELDCAT-SELTEXT_L = 'Debit Amount'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'CRE1'.
LS_FIELDCAT-SELTEXT_L = 'Credit Amount'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'BAL'.
LS_FIELDCAT-SELTEXT_L = 'Balance Amount'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'itab_final1'.
LS_FIELDCAT-FIELDNAME = 'CRDIND'.
LS_FIELDCAT-SELTEXT_L = 'Dr/Cr Ind'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM. " FIELDCAT_INIT
Regards,
Varadharajan.S
2006 Aug 15 2:19 PM
2006 Aug 15 2:25 PM
2006 Aug 15 2:26 PM
Chand,
In the code, w_col is a local variable. It is not accessible before the Perform. What are you seeing here that I am missing?
2006 Aug 15 2:29 PM
hi,
DATA : LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
w_col type i.
<b>clear w_col.</b>
w_col = w_col + 1.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'BELNR'.
LS_FIELDCAT-SELTEXT_L = 'Document No'.
LS_FIELDCAT-FIX_COLUMN = 'X'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'BLDAT'.
LS_FIELDCAT-SELTEXT_L = 'Document Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'BUDAT'.
LS_FIELDCAT-SELTEXT_L = 'Posting Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'LIFNR'.
LS_FIELDCAT-SELTEXT_L = 'Vendor'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'NAME1'.
LS_FIELDCAT-SELTEXT_L = 'Vendor Name'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'SGTXT'.
LS_FIELDCAT-SELTEXT_L = 'Text'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'XBLNR'.
LS_FIELDCAT-SELTEXT_L = 'Reference No'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'CHECF'.
LS_FIELDCAT-SELTEXT_L = 'Cheque No'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'ZALDT'.
LS_FIELDCAT-SELTEXT_L = 'Cheque Date'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'DEB'.
LS_FIELDCAT-SELTEXT_L = 'Debit Amount'.
LS_FIELDCAT-DO_SUM = 'X'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'CRE1'.
LS_FIELDCAT-SELTEXT_L = 'Credit Amount'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'BAL'.
LS_FIELDCAT-SELTEXT_L = 'Balance Amount'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
CLEAR LS_FIELDCAT.
LS_FIELDCAT-ROW_POS = '1'.
LS_FIELDCAT-COL_POS = w_col.
LS_FIELDCAT-TABNAME = 'ITAB_FINAL1'.
LS_FIELDCAT-FIELDNAME = 'CRDIND'.
LS_FIELDCAT-SELTEXT_L = 'Dr/Cr Ind'.
APPEND LS_FIELDCAT TO RT_FIELDCAT.
ENDFORM. " FIELDCAT_INIT
2006 Aug 15 2:33 PM
2006 Aug 15 2:38 PM
Vara,
Glad to help !!
Priya,
FYI -
Your CLEAR statement will have no effect as the local variable w_col is set to zero when it is created by the local DATA statement.
2006 Aug 15 2:41 PM
Hi John,
I dont understand how it worked for her at first(before ading new field) without incrementing the value??
2006 Aug 15 2:45 PM
hi john,
yeah u right i didnt check the w_col decln..
i think it will work if he gives like this...
data:w_col type i value 1.
clear: w_col.
w_col = w_col + 1.
and as u said increment w_col after each append fieldcat.
thanx for correcting me .. John
2006 Aug 15 2:07 PM
Change the display variant (layout) of the ALV grid after adding the column(s) and save as a deafult layout. You do this using the "Select Layout" button of the ALV grid.
Or you can set the order in the Field Catalog before displaying the grid.