Verlust von Selektionsvarianten bei Strukturänderungen

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

Verlust von Selektionsvarianten bei Strukturänderungen

Beitrag von hfahrian (ForumUser / 53 / 7 / 0 ) »
Hallo zusammen 8)

Ich habe das Problem, daß ich an einem produktiven Report in den Selektionsmasken bei 2 Feldern eine Strukturänderung des Feldes durchnehemn mußte.
Bei Aufruf des neuen Programms und Auswahl einer Variante kommt nun die Meldung "Variante ist veraltet".
Ich habe diese Erfahrung schon des öfteren gemacht und es ist mir auch einleuchtend.

Aber gibt es eien Möglichkeit bestehende Varianten zu bearbeiten und eventuell mit einem Zusatztool die betroffenen Felder aus der VAriantendefinition zu entfernen oder auch anzupassen.

Warum ich da überhaupt nachfrage? Der beschrieben Report wird innerhalb eines Konzerns massiv genutzt und es bestehen bereits ca. 400 Varianten, die am besten nicht verloren gehen sollten.

Habe schon alles mögliche versucht, debugged ... aber ich finde hier einfach keine Lösung :?

Hat da jemand schon eine ähnliche Erfahrung gemacht und eine Lösung gefunden.

Für Hilfe wäre ich dehr dankbar.

Gruß, Henry :shock: :D

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


Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
Die Suchfunktion dieses Forums listet, wenn man nach "Varianten" sucht u.a. folgenden Thread

http://www.abapforum.com/forum/viewtopi ... =varianten
mit dem Titel veraltete Varianten
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von Ceegast ( / / 0 / 3 ) »
Doch gibt es, hier eine grobe Übersicht:

Code: Alles auswählen.

DATA: H_Variant LIKE RSVAR-VARIANT,
      VAR_TAB LIKE VANZ OCCURS 0,
VARIANT LIKE  RALDB-VARIANT,      
SEL_ENTRIES LIKE RSPARAMS OCCURS 0 WITH HEADER LINE.
NEU_CONTENTS LIKE RSPARAMS OCCURS 0 WITH HEADER LINE,
VARI_DESC LIKE VARID OCCURS 0 WITH HEADER LINE.
      
*Alte Werte der Variante lesen
CALL FUNCTION 'RS_VARIANT_CONTENTS'
         EXPORTING
              REPORT        = SY-CPROG
              VARIANT       = H_variante "Alter Varianten Name"
         TABLES
              L_PARAMS      = VAR_TAB
              L_PARAMS_NONV = VAR_TAB
              L_SELOP       = VAR_TAB
              L_SELOP_NONV  = VAR_TAB
              VALUTAB       = SEL_ENTRIES.
* Alte Werte in Tabelle SEL_ENTRIES durch neue Werte ersetzen
LOOP AT SEL_ENTRIES.
      CASE SEL_ENTRIES-SELNAME.
        WHEN 'ALTONE'. 
>ersetze ALTONE-LOW mit NEUEM WERT TO SEL_ENTRIES-LOW und -HIGH.<
        WHEN 'ALTTWO'.
>ersetze ALTONE-TWO mit NEUEM WERT TO SEL_ENTRIES-LOW und -HIGH.<
        WHEN 'ALTTHREE'.
>ersetze ALTONE-THREE mit NEUEM WERT TO SEL_ENTRIES-LOW und -HIGH.<
        WHEN 'ALTFOUR'.
>ersetze ALTONE-FOUR mit NEUEM WERT TO SEL_ENTRIES-LOW und -HIGH.<
        WHEN 'ALTFFIVE'.
>ersetze ALTONE-FIVE mit NEUEM WERT TO SEL_ENTRIES-LOW und -HIGH.<
WHEN '.....'.
WHEN '.....'.
   ENDCASE.
      MOVE SEL_ENTRIES TO NEU_CONTENTS.
      APPEND NEU_CONTENTS.
    ENDLOOP.
* Werte ändern
Variant = H_variante. "alter Name bleibt
   CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'
         EXPORTING
              CURR_REPORT   = SY-CPROG
              CURR_VARIANT  = VARIANT
              VARI_DESC     = VARI_DESC
         TABLES
              VARI_CONTENTS = NEU_CONTENTS.
    COMMIT WORK AND WAIT.

Beitrag von Gast ( / / 0 / 3 ) »
Dumm nur, dass 'RS_VARIANT_CONTENTS' dumpt, wenn die Definition von SELECT-OPTIONS / PARAMETERS inkompatibel geändert wurde.

Die SAP-Umsetz-Reports für "veraltete" Varianten hatten bei meinem letzten Versuch auch etliche Bugs.

Beitrag von Gast ( / / 0 / 3 ) »
Anonymous hat geschrieben:etliche Bugs
RSVARDOC scheiterte an nahezu allen etwas komplizierteren Variantendefinitionen:
-Gültigkeit der Variante nur für bestimmte Selektionsbilder
-Varianten, in denen für bestimmte Felder keine Werte gespeichert waren (damit die Default-Belegung aus INIZIALIZATION übernommen wird), bei denen die Werte aus TVARV geholt werden sollten, ...
-Varianten, in denen bestimmte Felder nicht eingabebereit waren
-...

Je nachdem, wie kompliziert die 400 Varianten sind, ist man mit IMPORT ... FROM DATABASE und EXPORT ... TO DATABASE VARI(VA) besser dran.
Zuvor auch die F1-Hilfe zu IMPORT und EXPORT lesen.
Dann mit IMPORT DIRECTORY ... lesen, was alles exportiert wurde, die Elemente im korrekten alten Format importieren, umsetzen und wieder exportieren.

Beitrag von Gast ( / / 0 / 3 ) »
Hallo Henry,

eine Behelfslösung könnte auch sein, die Felder neu zu benennen (Nur den Namen der Selektoption oder der Parameter). Dann gehen dir zwar alle Variantenwerte für diese beiden Felder verloren, aber alle anderen Werte sind noch verfügbar. Ich weiss, dass es keine schöne Lösung ist - aber vielleicht immer noch besser als alle Varianten unbrauchbar zu machen, sofern du keine Lösung findest.

mfg dele

Seite 1 von 1

Vergleichbare Themen

0
Antw.
647
Views
Verlust des Menübaumes
von aladinHH » 15.02.2006 10:45 • Verfasst in ABAP® Core
0
Antw.
811
Views
Selektionsvarianten
von SAP_ENTWICKLER » 12.12.2017 18:16 • Verfasst in ABAP® Core
2
Antw.
2495
Views
Selektionsvarianten für Modulpool
von SAP_ENTWICKLER » 07.01.2014 12:50 • Verfasst in ABAP® Core
3
Antw.
8275
Views
Löschen von mehreren Selektionsvarianten
von Alexander D. » 11.06.2012 14:27 • Verfasst in Basis

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 1 / 164
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1805
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8408