Application Development 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: 

Reg: ALV Field catalog refresh

Former Member
0 Kudos

Hello All,

Initially I have to display an ALV grid. Upon a buttons click(User Command) , an additional col should be displayed for which the field catalog of the ALV needs to be changed. Iam using FM ''REUSE_ALV_GRID_DISPLAY'.My question is , how cld v refresh filedcatalog ? To refresh the grid data , we use selfield-refresh = 'X'. Is there any thing some thing like that to refresh fieldcat or v have to build the fieldcat again?

I have pasted part of code below:

*************************************************************

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

EXPORTING

i_program_name = sy-repid

i_structure_name = 'TRIGS_IGT_WRKLIST'

CHANGING

ct_fieldcat = c_tab_fieldcat_main.

LOOP AT c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>.

IF <l_wa_fieldcat_main>-fieldname = 'BUSTRANSCAT_TEXT' OR

<l_wa_fieldcat_main>-fieldname = 'VALUATION_AREA' OR

<l_wa_fieldcat_main>-fieldname = 'VALUATION_CLASS' OR

<l_wa_fieldcat_main>-fieldname = 'COMPANY_CODE' OR

<l_wa_fieldcat_main>-fieldname = 'PRODUCT_TYPE' OR

<l_wa_fieldcat_main>-fieldname = 'SECURITY_ACCOUNT' OR

<l_wa_fieldcat_main>-fieldname = 'SECURITY_ID' OR

<l_wa_fieldcat_main>-fieldname = 'IGT_STATUS_TEXT' OR

<l_wa_fieldcat_main>-fieldname = 'POSDATE' OR

<l_wa_fieldcat_main>-fieldname = 'TRLDATE' OR

<l_wa_fieldcat_main>-fieldname = 'COMPANY_ID' OR

<l_wa_fieldcat_main>-fieldname = 'COUNTERPARTY' OR

<l_wa_fieldcat_main>-fieldname = 'UNITS' OR

<l_wa_fieldcat_main>-fieldname = 'POSITION_CURR' OR

<l_wa_fieldcat_main>-fieldname = 'DEAL_NUMBER' OR

<l_wa_fieldcat_main>-fieldname = 'POSITION_AMT' .

ELSE.

<l_wa_fieldcat_main>-no_out = 'X'.

ENDIF.

  • Assign postion

IF <l_wa_fieldcat_main>-fieldname = 'BUSTRANSCAT_TEXT'.

<l_wa_fieldcat_main>-col_pos = 2.

<l_wa_fieldcat_main>-ddictxt = 'M'.

<l_wa_fieldcat_main>-outputlen = '5'.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'COMPANY_CODE'.

<l_wa_fieldcat_main>-col_pos = 3.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'VALUATION_AREA'.

<l_wa_fieldcat_main>-col_pos = 4.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'PRODUCT_TYPE'.

<l_wa_fieldcat_main>-col_pos = 5.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'SECURITY_ID'.

<l_wa_fieldcat_main>-col_pos = 6.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'SECURITY_ACCOUNT'.

<l_wa_fieldcat_main>-col_pos = 7.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'DEAL_NUMBER'.

<l_wa_fieldcat_main>-col_pos = 8.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'IGT_STATUS_TEXT'.

<l_wa_fieldcat_main>-col_pos = 9.

<l_wa_fieldcat_main>-ddictxt = 'M'.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'POSDATE'.

<l_wa_fieldcat_main>-col_pos = 10.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'TRLDATE'.

<l_wa_fieldcat_main>-col_pos = 11.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'COMPANY_ID'.

<l_wa_fieldcat_main>-col_pos = 12.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'UNITS'.

<l_wa_fieldcat_main>-col_pos = 13.

ENDIF.

IF <l_wa_fieldcat_main>-fieldname = 'POSITION_AMT'.

<l_wa_fieldcat_main>-col_pos = 14.

ENDIF.

ENDLOOP.

CASE sy-ucomm.

WHEN 'MATCH'.

READ TABLE c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>

WITH KEY fieldname = 'MATCHED'.

CHECK sy-subrc EQ 0.

<l_wa_fieldcat_main>-col_pos = 1.

<l_wa_fieldcat_main>-seltext_s = 'Matched Pairs'.

<l_wa_fieldcat_main>-seltext_m = 'Matched Pairs'.

<l_wa_fieldcat_main>-seltext_l = 'Matched Pairs'.

<l_wa_fieldcat_main>-no_out = ' '.

WHEN 'REVERSAL'.

READ TABLE c_tab_fieldcat_main ASSIGNING <l_wa_fieldcat_main>

WITH KEY fieldname = 'ICON_REVERSAL'.

CHECK sy-subrc EQ 0.

<l_wa_fieldcat_main>-col_pos = 1.

<l_wa_fieldcat_main>-icon = 'X'.

<l_wa_fieldcat_main>-outputlen = 3.

<l_wa_fieldcat_main>-no_out = ' '.

ENDCASE.

******************************************

Thanks,

Sri

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Hi

U need to use the fm REUSE_ALV_GRID_LAYOUT_INFO_SET, here you can change the catalog table.

Max

2 REPLIES 2

Former Member
0 Kudos

Hi

U need to use the fm REUSE_ALV_GRID_LAYOUT_INFO_SET, here you can change the catalog table.

Max

0 Kudos

Thankyou Max. It solved my problem.