Hallo,
wir haben in SAP das Problem, das wir einem bestimmten Personenkreis einen Report mit einer speziellen Variante zur Verfügung stellen möchten. Bisher haben wir immer eine Y-Transaktion generiert, welche die betreffende Variante enthielt. In diesem Zusammenhang haben wir jedoch folgende Probleme:
Wie können wir verhindern, das Änderungen an der Vairante vorgenommen werden? Kann man eine Variante fest mit einer Transaktion verknüpfen, sodass über diese Transaktion lediglich die verknüpfte Variante angezeigt werden kann?
Alternativ: Wie können wir steuern, das die Variantenpflege (Variante holen, Variante sichern) für den betreffenden Personenkreis nicht möglich ist? Falls solch eine Einschränkung möglich ist, kann man diese dann reportabhängig steuern?
Alternativ: Wie kann man bestimmte Felder einer Variante "dauerhaft" ausblenden? In der Maske "Als Variante sichern" kann man sich bereits ausgeblendete Felder mittels dem Button "Alle Selektionskriterien anzeigen" wieder sichtbar machen.
Anmerkung: Es geht uns um Felder innerhalb eines Formulares, welche wir über die Stammdatenberechtigung nicht einschränken können. Lediglich durch die Hinterlegung von unterschiedlichen Varianten können wir hier eine Unterscheidung vornehmen (Bspw. unterschiedliche Zeitnachweisformulare).
wenn ich alles richtig verstanden habe, könnt ihr folgendes machen:
Ihr legt die Varianten an, die ihr benötigt und tragt in den Attributen der Variante ein:
Nur im Katalog anzeigen = 'X'
Objekte des Selektionsbildes:
P (Feld schützen) = 'X' für die jeweiligen Parameter, die die Varianten unterscheiden und eben nicht geändert werden dürfen.
Dann legt ihr für jede Variante eine Report-Transaktion an und gebt den Screen (1000) und die Variante an.
Beim Ausführen der Transaktion sind die Felder geschützt also nicht eingabebereit und es kann auch keine andere Variante ausgewählt werden.
so machen wir es schon die ganze Zeit. Aber das hilft ja für unser Problem garnichts. Denn bei dieser Lösung kann man trotzdem andere Varianten auswählen und selbst geschützte Felder kann man (jeder) wieder freigeben.
gruss
Hier würde ich die Sel-options mittels modif id nach den Berechtigungen oder user groups
klassifizieren und gezielt bei
INITIALIZATION und AT SELECTION-SCREEN OUTPUT
durch loop at screen modifizieren.
wenn du die Variante schützt, dann kann nur derjenige, der sie angelegt hat auch wieder ändern.
Und wenn du die Varianten als "Nur im Katalog anzeigen" markierst, dann werden diese auch nicht zur Auswahl angeboten.
Aber das Problem ist dann wahrscheinlich, das Anwender A eine andere Variante abspeichert, die dann User B laden kann?
Falls es sich um einen kundeneigenen Report handelt, könnt ihr mittels "RS_SET_SELSCREEN_STATUS" einen eigenen Status auf dem Selektionsdynpro setzen. Hier könnte man dann die Buttons "Variante laden" / "Variante sichern" ausblenden.
Ansonsten wäre die Möglichkeit von Andreas auch eine gute.
Hallo jijo2000,
wir haben ein ähnliches Problem gelöst, indem wir die für die dem Programm zugeordnete Berechtigungsgruppe (P_GROUP) dem Benutzer im Berechtigungsobjekt (S_PROGRAM) den Eintrag VARIANT im Attribut P_ACTION entzogen haben.
Damit ist keine Auswahl anderer Varianten mehr möglich.
Leider ist dies aber auf die Berechtigungsgruppe und nicht auf das einzelne Programm beschränkt.
MfG
Thomas R.
wir hatten zunächst versucht, über s_program wie bereits beschrieben die prüfung zu steuern. den eintrag VARIANT im attribut P_ACTION haben wir entzogen für p_group *. wo pflegt man denn die p_group?
ich möchte dieses Thema mal wieder aufwärmen, da ich im Netz auch keine passenden Einträge für mich finde.
Ich muss die Funktion Variante holen in mehreren Kundeneigenen Reports für einige USER einschränken. Ich erreiche das durch deaktivieren der Standard Funktionen
- "Variante holen"
- "Variante anzeigen"
- "Variante sichern"
- "Variante löschen"
und einfügen eigener Funktionen mit Funktionscodes FC01 / FC02...
Das lesen nur eigener Varianten oder Varianten die "als Standard Varianten" definiert sind ist somit leicht umsetzbar.
Beim Speichern möchte ich nun Verhindern das die USER fremde Varianten überschreiben können, Sie sollen aber trotzdem die Möglichkeit haben dynamische Varianten zu erstellen (Also z.B. ohne Feste Datumswerte sondern mit Tagesdatum o.ä.)
Heißt ich möchte eigentlich den Standard "Variante Sichern" Dialog nutzen, aber
- entweder den Namen der Variante schon fest vorgeben und nicht eingabebereit darstellen oder
- beim Speichern einhaken um ein Überschreiben von Fremden Varianten zu verhindern (Beim Pop-Up mit der Frage nach Überschreiben)
Hat da jemand eine Idee oder ähnliches schon einmal umgesetzt?
Ich möchte nicht für jeden USER eine eigene TA erstellen.
Beim Anlegen von Varianten kannst Du den Haken "Variante schützen" setzen. Dann kann die Variante nur von dem einen User geändert werden, der sie angelegt hat. Andere können die Variante nutzen, aber nicht daran herumpfuscheln.
Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag: RIG