Aus- oder Einblenden der Dynprofelder für bestimme Users


Getting started ... Alles für einen gelungenen Start.

Moderatoren: Jan, Steff

Aus- oder Einblenden der Dynprofelder für bestimme Users

Beitragvon cuncon » 18.05.2018, 00:12

Hallo zusammen,

ich möchte ein Eingabefeld und ein Radiobutton für bestimmte Users einblenden oder für andere Users ausblenden. Wie mache ich das? Soweit ich weiß, dass man Berechtigungsprüfung dafür verwendet und man muss die Berechtigungsklasse, Berechtigungsobjekt usw anlegen. Gibt es ein Berechtigungsobjekt für Ausblenden oder Einblenden? Oder muss man selber anlegen und definieren? Bis jetzt habe ich nur die Aktivität "Anzeige", "Ändern" ... gesehen, aber "Einblenden" sowie "Ausblenden" habe ich noch nie gesehen. Ehrlich gesagt, ich weiß nicht genau, wie es gemacht wird. Hat jemand eine Coding dafür?

Vielen Dank für jede Hilfe.

cuncon
cuncon
Specialist
 
Beiträge: 102
Registriert: 18.10.2017, 21:03
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Re: Aus- oder Einblenden der Dynprofelder für bestimme Users

Beitragvon ralf.wenzel » 18.05.2018, 06:30

Wenn die Felder nicht angezeigt werden sollen, weil der Benutzer keine Berechtigung für die darin angezeigten Daten hat, ist es einfach. Ansonsten eben anlegen und „Anzeigen“ und „Ändern“ für „Output“ und „Output+Input“ verwenden, dann bist du flexibel.


Ralf *leider sehr in Eile

Für diese Nachricht hat ralf.wenzel einen Dank bekommen :
cuncon
ralf.wenzel
Top Expert
 
Beiträge: 3036
Registriert: 18.09.2004, 13:03
Wohnort: Hamburg
Dank erhalten: 165 mal
Ich bin: Freiberufler/in

Re: Aus- oder Einblenden der Dynprofelder für bestimme Users

Beitragvon Wann » 18.05.2018, 07:16

Handelt es sich um ein Kundeneigenes Programm? Soll dort beim Einstiegsselektionsbild etwas für bestimmte User nicht eingebbar sein?
Dann könnte es reichen bei INITIALIZATION. etwas einzubauen.

INITIALIZATION.

DATA screen_wa TYPE screen.
LOOP AT screen INTO screen_wa.
IF screen_wa-name CS 'SO_WERKS'. " => SELECT-OPTIONS: SO_WERKS FOR marc-WERKS.
screen_wa-active = '0'.
MODIFY screen FROM screen_wa.
CONTINUE.
ENDIF.
ENDLOOP.

Für diese Nachricht hat Wann einen Dank bekommen :
cuncon
Wann
ForumUser
 
Beiträge: 22
Registriert: 08.01.2015, 09:37
Dank erhalten: 6 mal
Ich bin: Entwickler/in

Re: Aus- oder Einblenden der Dynprofelder für bestimme Users

Beitragvon cuncon » 18.05.2018, 07:27

Wann hat geschrieben:Handelt es sich um ein Kundeneigenes Programm? Soll dort beim Einstiegsselektionsbild etwas für bestimmte User nicht eingebbar sein?
Dann könnte es reichen bei INITIALIZATION. etwas einzubauen.

INITIALIZATION.

DATA screen_wa TYPE screen.
LOOP AT screen INTO screen_wa.
IF screen_wa-name CS 'SO_WERKS'. " => SELECT-OPTIONS: SO_WERKS FOR marc-WERKS.
screen_wa-active = '0'.
MODIFY screen FROM screen_wa.
CONTINUE.
ENDIF.
ENDLOOP.


Hallo Wann,

es handelt sich um Kundenprogramm. Ich habe LOOP AT SCREEN eingebaut und hat auch funktioniert. Nun muss ich die Berechtigungsprüfung noch machen, wer darf diese Felder sehen und wer nicht. Ich überlege mal wie ich das mache, habe das auch noch nie gemacht. Irgendwie muss man die Berechtigungsklasse, Berechtigungsobjekt, Berechtigungsfelder, die Berechtigungen anlegen und definieren und etwas programmieren für die Prüfung muss man auch noch. Ich hoffe dass ich richtig gedacht habe. Unten ist meine Coding erstmal für Ausblenden ohne Berechtigungsprüfung:

parameters: p_file TYPE c LENGTH 150 OBLIGATORY DEFAULT 'D:\dateiname.txt' MODIF ID ex.

PARAMETERS: p_dat RADIOBUTTON GROUP g1 MODIF ID ex, "Für Export in Datei
p_alv RADIOBUTTON GROUP g1 DEFAULT 'X'. "Für ALV-Anzeige

INITIALIZATION.

IF p_dat IS INITIAL.
LOOP AT SCREEN.
IF screen-group1 = 'EX'.
screen-invisible = 1.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.

cuncon
cuncon
Specialist
 
Beiträge: 102
Registriert: 18.10.2017, 21:03
Dank erhalten: 0 mal
Ich bin: Entwickler/in

Re: Aus- oder Einblenden der Dynprofelder für bestimme Users

Beitragvon Wann » 18.05.2018, 08:19

Du könntest ja mal schauen, ob Du mit dem Programm RS_ABAP_SOURCE_SCAN Programme im kundeneigenen Namensraum findest, die den String "AUTHORITY-CHECK" haben.
Wenn es da Objekte im kundeneigenen Namensraum gibt, kannst Du dir auch die Ausprägung mal ansehen.
Sonst könnte das in etwa wie folgt aussehen.

* Berechtigugnsobjekt Z_CUN prüfen
AUTHORITY-CHECK OBJECT 'Z_CUN'
ID 'ACTVT' FIELD '02'.

IF sy-subrc <> 0.
ENDIF.

Du könntest natürlich auch in einer kundeneigenen Tabelle festlegen, welche User die Berechtigung haben.
Wann
ForumUser
 
Beiträge: 22
Registriert: 08.01.2015, 09:37
Dank erhalten: 6 mal
Ich bin: Entwickler/in


Zurück zu ABAP® für Anfänger

  Aktuelle Beiträge   
cl_salv_table und Docking Container
vor 4 Stunden von black_adept 1 Antw.
Wasserzeichnen in Smartform
vor 2 Tagen von 4byte 1 Antw.
Struktur Feld vom Typen Type ref to
Gestern von a-dead-trousers 1 Antw.
execute procedure
vor 2 Tagen von Legxis 1 Antw.
leere Felder im IDoc übertragen
vor 2 Tagen von wreichelt 1 Antw.

  Ähnliche Beiträge beta
Nachricht an bestimme User ähnlich SM02
20.12.2007, 12:24 von codierknecht 11 Antw.
Dynprofelder initial setzen
20.08.2007, 10:17 von ti 0 Antw.
Zurück-Button einblenden
14.06.2007, 14:14 von MarkusW 3 Antw.
Select-options nur einblenden, wen...
07.08.2007, 20:16 von Sascha_a 2 Antw.
gelöst Parameterfeld einblenden nach Checkboxaktivierung
23.09.2014, 13:03 von ShadoDev 3 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder

cron