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.
RSVARDOC scheiterte an nahezu allen etwas komplizierteren Variantendefinitionen:Anonymous hat geschrieben:etliche Bugs