Eine Standard Variante festlegen die beim starten des Programmes automatisch aufgerufen wird
Sie können mit dem FUBA RS_SUPPORT_SELECTIONS automatisch eine Variante ziehen, die gleich beim starten des Reports automatisch angezeigt wird.
"Daten Deklaration um die Variante automatisch zu ziehen.
DATA: gf_variante TYPE rsvar-variant VALUE 'REGOTZ'.
INITIALIZATION.
* Die Variante REGOTZ wird nun automatisch gezogen
CALL FUNCTION 'RS_SUPPORT_SELECTIONS'
EXPORTING
report = sy-repid
variant = gf_variante
EXCEPTIONS
variant_not_existent = 1
variant_obsolete = 2
OTHERS = 3.
IF sy-subrc <> 0.
* Variante & ist nicht vorhanden
MESSAGE i016(pn) WITH
'Die Variante' gf_variante 'ist nicht vorhanden'.
ELSE.
MESSAGE i016(pn) WITH
'Die Variante' gf_variante 'wird automatisch gezogen'.
ENDIF.
CALL FUNCTION 'RS_SUPPORT_SELECTIONS'
EXPORTING
report = sy-repid
variant = conv rsvar-variant( sy-uname )
EXCEPTIONS
variant_not_existent = 1
variant_obsolete = 2
OTHERS = 3.
Wie kann ich Varianten von einem Report in einen anderen Report kopieren
Kopieren von Varianten von Prog. A nach Prog. B.
Ihr könnt dafür das folgende Programm Z_VARIANT_KOPIEREN verwenden oder direkt den FuBa 'RS_COPY_SELECTION_SETS' verwenden.
Beim „Reparieren“ von Varianten vom selben Report bei Änderungen auf dem Selektionsbildschirm ist dieses Programm sehr nützlich:
*&---------------------------------------------------------------------*
*& Report z_variante_kopieren
*
*& *
*&---------------------------------------------------------------------*
*& *
*& *
*&---------------------------------------------------------------------*
*
* Ziel : Kopieren von Varianten:
* Ausgangsprogramm ===> Zielprogramm
*
* Es können alle Varianten die zu einem Programm gespeichert sind, zu
* einem zweiten Programm übertragen werden.
*
* Das Programm wird zentral ausgeführt.
*
* Vorbelegung in der Maske:
*
* - Startprogramm = Z_REGOTZ
* - Zielprogramm = Z_MICHEL
*
* Man kann auch direkt den FuBa 'RS_COPY_SELECTION_SETS' verwenden
* Ist sehr praktisch beim „Reparieren“ von Varianten vom selben Report
* bei Änderungen auf dem Selektionsbildschirm:
*
*&---------------------------------------------------------------------*
REPORT z_variante_kopieren.
*======================================================================*
* SELECTION-SCREEN
*======================================================================*
SELECTION-SCREEN BEGIN OF BLOCK sel_blk WITH FRAME TITLE sel_blk.
PARAMETERS: p_source LIKE rsvar-report DEFAULT ''.
PARAMETERS: p_target LIKE rsvar-report DEFAULT ''.
SELECTION-SCREEN END OF BLOCK sel_blk.
INITIALIZATION.
sel_blk = 'Selection'.
*======================================================================*
* Verarbeitung *
*======================================================================*
START-OF-SELECTION.
CALL FUNCTION 'RS_COPY_SELECTION_SETS'
EXPORTING
source_report = p_source
target_report = p_target
* DEVC =
* CHANGE_ENAME = 'X'
EXCEPTIONS
variant_locked = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE i016(pn) WITH
'Fehler beim übertragen der Varianten'.
ELSE.
MESSAGE i016(pn) WITH
'Varianten wurden erfolgreich übertragen'.
ENDIF.
*=======================================================================
* Ende Verarbeitung
*=======================================================================
END-OF-SELECTION.