ALV - Problem mit disabled/enabled

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

ALV - Problem mit disabled/enabled

Beitrag von Nadine_2706 (ForumUser / 91 / 16 / 0 ) »
Hallo,

ich habe in meiner ALV zwei editierbare Felder. Wenn ich Feld1 ändere und nach einigen Prüfungen alles ok abläuft, soll sich das Feld1 schließen = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED. Funktioniert wunderbar.
Das Problem ist, wenn ich Feld2 ändere und Enter drücke, dann schließt sich Feld2, öffnet sich aber Feld1 zum Editieren.

Könnte mir jemand bitte weiterhelfen?

Code: Alles auswählen.

  method HANDLE_DATA_CHANGED.

    perform HANDLE_DATA_CHANGED using ER_DATA_CHANGED.

  endmethod.                    "HANDLE_DATA_CHANGED
form HANDLE_DATA_CHANGED.

Code: Alles auswählen.

  data: LS_CHANGED type LVC_S_MODI,
        LV_MODE    type RAW4,
        LV_WEEK    type I,
        LV_ROW     type I.

  field-symbols:
      <ALV_OUT>    type TY_ALV_OUT,
      <CELLTAB>    type LVC_S_STYL.

 read table  GT_ALV_OUT  assigning  <ALV_OUT>  index  LS_CHANGED-ROW_ID.

    case LS_CHANGED-FIELDNAME.
      when 'Feld1'.
        if LS_CHANGED-VALUE  is not initial.
          <ALV_OUT>-Feld1 = LS_CHANGED-VALUE.
          LV_WEEK = LS_CHANGED-VALUE(2).

          if LV_WEEK ge '52'.
            perform  FEHLER  using  'C'  'Kalenderwoche existiert nicht'
                                              changing <ALV_OUT>.
          else.
            read table <ALV_OUT>-CELLTAB assigning <CELLTAB> with key FIELDNAME = 'Feld1' .
            <CELLTAB>-STYLE = LV_MODE.

            loop at <ALV_OUT>-CELLTAB assigning <CELLTAB2> where STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
              perform  WARNUNG_ZEILE  using  'C'  'prüfen Kalenderwoche zum Jahr'
                                                changing <ALV_OUT>.
              exit.
            endloop.

            if SY-SUBRC is not initial.
              <ALV_OUT>-ICON_STAT = ''.
              <ALV_OUT>-BEMERK    = ''.
            endif.
          endif.
        endif.

      when 'Feld2'.
        if LS_CHANGED-VALUE  is not initial.
          <ALV_OUT>-Feld2 = LS_CHANGED-VALUE.
          LV_WEEK = LS_CHANGED-VALUE(2).

          if LV_WEEK ge '52'.
            perform  FEHLER  using  'C'  'Kalenderwoche existiert nicht'
                                              changing <ALV_OUT>.
          else.
            read table <ALV_OUT>-CELLTAB assigning <CELLTAB> with key FIELDNAME = 'Feld2' .
            <CELLTAB>-STYLE = LV_MODE.

            loop at <ALV_OUT>-CELLTAB assigning <CELLTAB2> where STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.
              perform  WARNUNG_ZEILE  using  'C'  'prüfen Kalenderwoche zum Jahr'
                                                changing <ALV_OUT>.
              exit.
            endloop.

            if SY-SUBRC is not initial.
              <ALV_OUT>-ICON_STAT = ''.
              <ALV_OUT>-BEMERK    = ''.
            endif.
          endif.
        endif.
   endcase.

  perform ALV_REFRESH.
Danke!

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


Re: ALV - Problem mit disabled/enabled

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

ohne genau zu wiseen was du in der Form refresh machst - denke ich aber es hängt mit dem Feldcatalog zusammen - denn dort hast du doch bestimmt am Anfang eingestellt, dass die Felder editierbar sind oder ?
Daher meine Vermutung - du musst den Feldkatalog ändern - wenn du das Feld zu machen willst und es zu bleiben soll.
Welche ALV Klasse benutzt du ?

Gruss Jens
thanks Jens

Re: ALV - Problem mit disabled/enabled

Beitrag von Nadine_2706 (ForumUser / 91 / 16 / 0 ) »
alv_refresh sieht so aus:

Code: Alles auswählen.

 data:  LS_STABLE           type LVC_S_STBL.

  LS_STABLE-ROW  =  'X'.
  LS_STABLE-COL  =  'X'.

  call method GO_ALV->REFRESH_TABLE_DISPLAY
    exporting
      IS_STABLE      = LS_STABLE
      I_SOFT_REFRESH = 'X'
    exceptions
      FINISHED       = 1
      others         = 2.

  call method CL_GUI_CFW=>FLUSH.
im Feldkatalog rufe ich call function 'LVC_FIELDCATALOG_MERGE' auf.
setze die Felder <FIELDCAT>-EDIT = 'X'.

Und das ganze wird so ausgegeben:

Code: Alles auswählen.

 call method GO_ALV->SET_TABLE_FOR_FIRST_DISPLAY
    exporting
      I_STRUCTURE_NAME     = 'Z_MEINE_ALV'
      IS_LAYOUT            = LS_LAYOUT
      IS_VARIANT           = LS_VARIANT
      I_SAVE               = 'A'
      I_DEFAULT            = 'X'
      IT_TOOLBAR_EXCLUDING = LT_EXCLUDE
    changing
      IT_OUTTAB            = GT_ALV_OUT[]
      IT_FIELDCATALOG      = LT_FIELDCAT[].


Re: ALV - Problem mit disabled/enabled

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

also mit dem Soft refresh das könntest du mal checken ob es ohne dem nicht mehr diesen Wechsel gibt, wenn nicht, dann müsstest du den Feldkatalog ändern und neu übergeben - dafür hat es auch entsprechende Methoden !

Gruss Jens
thanks Jens

Re: ALV - Problem mit disabled/enabled

Beitrag von Nadine_2706 (ForumUser / 91 / 16 / 0 ) »
Benutze folgende methode:

Code: Alles auswählen.

call method er_data_changed->modify_style
             exporting i_fieldname = 'Feld1'
                       i_row_id    = LWA_MOD_CELL-row_id
                       i_style     = cl_gui_alv_grid=>mc_style_disabled.

Danke Jens!

Seite 1 von 1

Vergleichbare Themen

5
Antw.
4101
Views
ALV im WD als disabled darstellen
von Thanatos82 » 16.11.2012 16:00 • Verfasst in ABAP® Core
4
Antw.
3645
Views
SAP ALV STYLE Table Checkbox und Style disabled funkt. nicht
von AdrianSchm » 20.06.2018 10:16 • Verfasst in ABAP® Core
5
Antw.
4554
Views
Problem mit ALV
von zickzack0312 » 17.01.2007 22:08 • Verfasst in ABAP Objects®
20
Antw.
11199
Views
ALV Problem
von robin1at » 03.05.2006 12:26 • Verfasst in ABAP® für Anfänger
9
Antw.
8139
Views
Problem mit OO-ALV
von MQ658 » 07.09.2017 20:20 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

SFP (Adobe Forms) QR-Code wird nicht angezeigt
vor 18 Stunden von Manfred K. gelöst 2 / 109
LSMW-Problem
vor 4 Tagen von mazu gelöst 5 / 1423
ATC Finding in Smartforms
vor einer Woche von sap_enthusiast 2 / 1415

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

SFP (Adobe Forms) QR-Code wird nicht angezeigt
vor 18 Stunden von Manfred K. gelöst 2 / 109
LSMW-Problem
vor 4 Tagen von mazu gelöst 5 / 1423
ATC Finding in Smartforms
vor einer Woche von sap_enthusiast 2 / 1415

Unbeantwortete Forenbeiträge

SFP/SEGW - Fehler beim Rendering
letzen Monat von Manfred K. 1 / 87227
Benutzerdefinierte Felder PSP
January 2026 von Rabea1103 1 / 140477