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

Regarding ALV

Former Member
0 Likes
1,148

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,118

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.

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

11 REPLIES 11
Read only

Former Member
0 Likes
1,119

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.

Read only

0 Likes
1,118

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

Read only

0 Likes
1,118

before PERFORM FIELDCAT_INIT .

clear the varible w_col ,

Read only

0 Likes
1,118

Increment w_col after each APPEND to the Field Catalog.

Read only

0 Likes
1,118

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?

Read only

0 Likes
1,118

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

Read only

0 Likes
1,118

Thanks John for ur helpful answer

Regards,

Varadharajan.S

Read only

0 Likes
1,118

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.

Read only

0 Likes
1,118

Hi John,

I dont understand how it worked for her at first(before ading new field) without incrementing the value??

Read only

0 Likes
1,118

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

Read only

Former Member
0 Likes
1,118

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.