Authority Check Verständnis Frage

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

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

Authority Check Verständnis Frage

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Hallo zuammen,

ich habe eine kleine Verständnisfrage zum Thema Authority Check. Für eine Transaktion mit folgenden Selektierungen will ich ein Auth Check auf die Auftragsart durchführen:

Selektierung:
Werk
AUFK-AUFNR
AFVC-VORNR
RESB-LGORT
MARA-MATNR

Geh ich recht davon aus, dass ich mir erstmals ne Select Anweisung basteln muss wo mir die Aufnr liefert, damit ich auf die AUFART prüfen kann.

Wie z.B. so:

Code: Alles auswählen.

  SELECT AUFK~AUFNR AUFK~AUART AUFK~WERKS
    FROM AUFK
    INTO CORRESPONDING FIELDS OF TABLE IT_AUFK
    WHERE AUFNR IN s_aufnr.


LOOP AT IT_AUFK INTO GS_AUFK.
  AUTHORITY-CHECK OBJECT 'MEIN_OBJEKT'
   ID 'AUFART' FIELD GS_AUFK-AUART  .
  if sy-subrc = 0 .
    'Berechtigt'.
  else .
    'Nicht berechtigt'
  endif .
ENDLOOP.
Ich habe ja jetzt mit dem Code nur die Auftragsnummer bzw. Auftragsart aufgefangen die er in die Selektion eingibt. Was ist wenn er nach der Vorgangsnummer selektiert und die Auftragsnummer leer lässt. Versteh ich das richtig, dass ich eine Select Anweisung bauen muss wo die ganzen Felder mit einander verknüpft um letztendlich wenn nur die Vorgangsnummer eingegeben wird die Auftragsart des Auftrages zu prüfen?

Danke schon mal für die Unterstützung.

VG,
Sava

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


Re: Authority Check Verständnis Frage

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
hallo Sava,

vom Verständnis her hast du das schon richtig geschrieben. Was die verschiedenen Möglichkeiten angeht die Daten zu selektieren, so ist das doch recht unwichtig wie der Benutzer seine Selektion gestaltet. Egal ob der Benutzer über Auftrag, Auftragsart oder Vorgang selektiert, die selektierten Aufträge speicherst du zuerst in einer internen Tabelle ab. Anschliessend gehst du über jede Zeile der Tabelle und prüfst, ob der Benutzer dafür die Berechtigung hat und blendest aus bw. löschst die Aufträge, welche nicht eingesehen werden dürfen

Folgende Benutzer bedankten sich beim Autor Alexander D. für den Beitrag:
Sava

schöne Grüße
Alexander

ECC 6.0 EHP 7

Re: Authority Check Verständnis Frage

Beitrag von Ratazong (Specialist / 144 / 1 / 14 ) »
Alternativ kannst Du Dir im Vorfeld eine Range-Tabelle mit den erlaubten Auftragsarten aufbauen und diese bei der Selektion mit angeben.

- Selection aller Auftragsarten
- Für jede AUART Prüfung durchführen ob erlaubt
- Falls erlaubt in Range-Tabelle aufnehmen

VG

Rata

Folgende Benutzer bedankten sich beim Autor Ratazong für den Beitrag:
Sava

Normale Menschen wundern sich, warum in der Welt so viel schief läuft.
Programmierer wundern sich, warum alles so gut funktioniert.

Re: Authority Check Verständnis Frage

Beitrag von Sava (ForumUser / 70 / 5 / 1 ) »
Danke für eure Antworten. Hm zur Performance trägt das aber nicht unbedingt bei, wenn ich vor der Selektierung die für die ALV Ausgabe zuständig ist, nochmals eine Selektierung schreibe wo die Berechtigung für die Auftragsart checkt. Somit ist das ja doppelt gemoppelt. Oder sollte ich den Authority Check dort rein packen wo die Interne Tabelle für die ALV zusammen geschustert wird und dort eben nach der AUFART prüfen (denke eher so, oder)?

Ich hätte nochmal eine Frage :D Danke für eure Geduld erst mal ;)

Ich habe eine Transaktion die nur eine Tabelle berührt. Ich will für diese Transaktion einen Auth Check für das Werk 1001 machen. Jedoch ist das Feld Werk 1001 weder in der Tabelle enthalten noch in der Selektion.

Bringt der folgende Code also was, oder ist das Quatsch? Verstehe das nicht so richtig

Code: Alles auswählen.

      AUTHORITY-CHECK OBJECT 'MEIN OBJEKT'
        ID 'ACTVT' FIELD '06'
        ID 'WERKS' FIELD '1001'.

      IF sy-subrc NE 0.
        Meine Message
      ENDIF.

Re: Authority Check Verständnis Frage

Beitrag von Alexander D. (Expert / 682 / 30 / 84 ) »
also was die Performance angeht, so hat Rata schon Recht. Angenommen du hast 20 verschiedene Auftragsarten im System und der User seleketiert ein paar Tausend Aufträge. Da ist es schon performanter im Vorfeld die 20 Auftragsarten auf vorhandene Berechtigungen zu prüfen und dann nur erlaubte Auftragsarten zu selektieren als alle Aufträge zu lesen und dann jeden einzelnen noch mal auf Berechtigung zu prüfen

was deine zweite Frage angeht, so könnte das schon passen. Die geprüften Objekte müssen ja nicht unbedingt in der auszulesenden Tabelle enthalten sein.
schöne Grüße
Alexander

ECC 6.0 EHP 7

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1470
Views
Frage zum STERN beim Authority-Check
von axxter » 26.01.2007 09:14 • Verfasst in ABAP® für Anfänger
3
Antw.
1996
Views
REUSE Feldkatalog Merge ...Verständnis Frage
von MarkusW » 01.08.2008 11:57 • Verfasst in ABAP® für Anfänger
1
Antw.
1905
Views
Authority-Check
von HAWK » 16.12.2005 09:42 • Verfasst in ABAP® Core
1
Antw.
1659
Views
AUTHORITY-CHECK
von ABABNEULING » 02.12.2004 13:52 • Verfasst in ABAP® für Anfänger
6
Antw.
11561
Views
AUTHORITY-CHECK ?
von 5Jacken » 02.01.2013 12:11 • Verfasst in ABAP® für Anfänger

Ü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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 23 / 3711
User Exit EXIT_RQCPRM10_001
vor 13 Stunden von a-dead-trousers 2 / 278
Trennen Strasse und Hausnummer
vor 19 Stunden von payten 13 / 10627
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1332

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

Dialog-Container mit Toolbar/Status
vor 13 Stunden von black_adept gelöst 23 / 3711
User Exit EXIT_RQCPRM10_001
vor 13 Stunden von a-dead-trousers 2 / 278
Trennen Strasse und Hausnummer
vor 19 Stunden von payten 13 / 10627
Daten an Tabelle binden
Gestern von Lukas Sanders 2 / 1332

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2866
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9460