OO ALV: Feldkatalog ändern

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

OO ALV: Feldkatalog ändern

Beitrag von dyv (ForumUser / 53 / 18 / 0 ) »
Hallo Experten,

habe ganz einfache Situation:

So baue ich mein FK auf:

Code: Alles auswählen.

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.
Dann möchte ich, dass abhängig von einer Variable das Feld editierbar sein wird...und das realisiere ich so:

Code: Alles auswählen.

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.
Leider aber funktioniert dieser Weg nicht...könnet Ihr vielleicht dabei helfen die ursache festzustellen bzw. einen anderen Lösungsweg vorzuschlagen?

Danke und viele Grüße

Denis

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: OO ALV: Feldkatalog ändern

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »

Code: Alles auswählen.

rf_alv->set_ready_for_input( 1 ).
fehlt.

Re: OO ALV: Feldkatalog ändern

Beitrag von dyv (ForumUser / 53 / 18 / 0 ) »
Hat leider auch nix gebracht :(

Habe noch am code was geändert, aber trotzdem erfolgloß:

Code: Alles auswählen.

IF v_matbeleg = abap_false.

    "Änderbarkeit von Materialmenge in ALV steuern:
    CALL METHOD rf_alv->get_frontend_fieldcatalog
      IMPORTING
        et_fieldcatalog = ta_fieldcat.

    LOOP AT ta_fieldcat ASSIGNING <wa_fieldcat>
      WHERE fieldname = 'KWMENG'.
      <wa_fieldcat>-hotspot   = abap_false.
      <wa_fieldcat>-edit      = abap_true.
    ENDLOOP.

    CALL METHOD rf_alv->set_ready_for_input( 1 ).

    "Alv Grid aktualisieren
    rf_alv->refresh_table_display( ).

    "Geänderte Menge abspeichern
    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.

    "Alv Grid aktualisieren
    rf_alv->refresh_table_display( ).

  ENDIF.

Re: OO ALV: Feldkatalog ändern

Beitrag von ewx (Top Expert / 4849 / 313 / 642 ) »
Du musst den Feldkatalog auch wieder mit "set_frontend_fieldcatalog" zurückschreiben.
PS: Nee, vielleicht doch nicht. Du rufst danach ja set_table_for_first_display auf.

Hier ist ein funktionierendes Beispiel:
http://www.tricktresor.de/blog/alv-editierbar-machen/

Re: OO ALV: Feldkatalog ändern

Beitrag von foessleitnerj (ForumUser / 51 / 4 / 18 ) »
Hi,

Du meinst aber schon, dass die gesamte Spalte eingabebereit sein soll? - Dann würde ich den Feldkatalog vorher aufbauen, das EDIT setzen und beim SET...FIRST...DISPLAY den Feldkatalog mitgeben. Vergiss nicht das weiter oben erwähnte SET..READY... - Im Normalfall funktioniert dass dann.

lgf
Die Performance und Ergebnisse von SELECTs und JOINs im Produktivsystem überprüfen?
=> SQL Cockpit
http://www.cadaxo.com

Seite 1 von 1

Vergleichbare Themen

17
Antw.
22450
Views
Feldkatalog für ALV
von Kerstin » 17.08.2007 10:03 • Verfasst in ABAP Objects®
0
Antw.
1315
Views
ALV-feldkatalog unter 4.0B
von poldi » 03.11.2006 10:41 • Verfasst in ABAP Objects®
1
Antw.
1688
Views
Feldkatalog modifizieren
von dEr_BuMaN » 06.08.2007 09:43 • Verfasst in ABAP® für Anfänger
10
Antw.
6437
Views
Überscrifft aus Feldkatalog
von managero » 23.06.2008 14:31 • Verfasst in Dialogprogrammierung
3
Antw.
4361
Views
Alternativen zu Feldkatalog
von newbie007 » 28.11.2011 00:08 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 18 Stunden von Bright4.5 3 / 1487

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Regex in where
vor 5 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 18 Stunden von Bright4.5 3 / 1487

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9822