Quantcast
Channel: SCN : All Content - All Communities
Viewing all articles
Browse latest Browse all 8735

OO ALV: changing of fieldcatalog

$
0
0

Dear experts, I got following situation:

 

During PBO I create my fieldcatalog in the simple way:

 

IF rf_custom_container IS NOT BOUND.

 

       CREATE OBJECT rf_custom_container

         EXPORTING

           container_name = 'CUSTCONTROL'.

 

       CREATE OBJECT rf_alv

         EXPORTING

           i_parent = rf_custom_container.

     

       CLEAR st_fieldcat.

 

       st_fieldcat-fieldname = 'KWMENG'.

       st_fieldcat-hotspot   = abap_true.

       st_fieldcat-edit      = abap_false.

       st_fieldcat-outputlen = 15.

       APPEND st_fieldcat TO ta_fieldcat.

 


Than I'd like to do one of the fields changeable, when some variable is 'true' and I do this in this way:


IF v_matbeleg = abap_false.

 

     "Get current fieldcatalog

     CALL METHOD rf_alv->get_frontend_fieldcatalog

       IMPORTING

         et_fieldcatalog = ta_fieldcat.

 

     LOOP AT ta_fieldcat INTO st_fieldcat.

       st_fieldcat-fieldname = 'KWMENG'.

       st_fieldcat-hotspot   = abap_false.

       st_fieldcat-edit      = abap_true.

       APPEND st_fieldcat TO ta_fieldcat.

       "MODIFY ta_fieldcat FROM st_fieldcat.

     ENDLOOP.

 

     "Show changed field catalog

     CALL METHOD rf_alv->set_table_for_first_display

       CHANGING

         it_outtab       = ta_alv

         it_fieldcatalog = ta_fieldcat.

     IF sy-subrc <> 0.

       MESSAGE e017(z_whreservierung).

     ENDIF.

 

     "Refresh of ALV

     rf_alv->refresh_table_display( ).

 

     "Saving of changed amount

     CALL METHOD rf_alv->register_edit_event

       EXPORTING

         i_event_id = rf_alv->mc_evt_modified.

     IF sy-subrc <> 0.

       "Geänderte menge wurde nicht gespeichert!

       MESSAGE e017(z_whreservierung).

     ENDIF.

 

     "Refresh of ALV

     rf_alv->refresh_table_display( ).

 

   ENDIF.


But unfortunatelly this solution doesn't work...what do I do wrong? Is there any other possibility may be?


Thanks in advance


Denis


Viewing all articles
Browse latest Browse all 8735

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>