RFC (Remote Function Call) in GuiXT

GuiXT nutzt für verschiedene Funktionen eine RFC-Verbindung (Remote Function Call) zum SAP System.  Zum Anmelden im System und für die Berechtigungsprüfung ist im  RFC ein  Benutzerstammsatz nötig. Welchen Benutzerstammsatz GuiXT verwendet, ist im GuiXT Profile hinterlegt. Als Default-Wert wird SAPCPIC vorgeschlagen; dieser Benutzerstammsatz ist in produktiven Systemen aber häufig gesperrt. Empfehlenswert ist, einen eigenen RFC-Benutzer für die GuiXT-RFC-Aufrufe anzulegen. Zu Testzwecken kann man auch den eigenen Benutzer (+ Passwort) im Profile eintragen.

In der folgenden Tabelle sind die einzelnen GuiXT-Aktionen, der benutzte Funktionsbaustein, der Mandant und die erforderlichen Berechtigungen des RFC-Benutzers aufgeführt. Statt des Mandanten  000 kann auch über eine Option im Profile bestimmt werden, dass GuiXT immer den aktuellen Mandant verwendet. Das hat den Vorteil, dass kein Benutzerstammsatz im Mandanten 000 angelegt werden muss, bei Verwendung mehrerer Mandanten allerdings den Nachteil, dass der Benutzer in jedem Mandanten existieren muss.

Das Anlegen des Benutzerstammsatzes und der entsprechenden Berechtigungen kann im SAP System über die Transaktionen SU01, SU02, SU03 erfolgen. Die Vergabe z.B. der Berechtigungen für den Web Repository Zugriff ist unten dargestellt.

Aktion Mandant / Funktionsbaustein

Erforderliche Berechtigungen des RFC Benutzers

Lesen Skripte in Transaktionsvarianten 000 
RS_HDSYS_GET_GUIXT_SCRIPT
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SHD0, ACTVT=16
Lesen Web Repository Objekte “SAPWR:…” 000 
WWW_DISPATCH_REQUEST
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SURL, ACTVT=16
Lesen Data Dictionary (symbolische offsets in Variablen) 000 
RPY_TABLE_READ
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SIFD, ACTVT=16
S_DEVELOP
: DEVCLASS=*,OBJTYPE=TABL,OBJNAME=*,ACTVT=03
if Q[Role=...] und if Q[Profile=...] aktueller Mandant 
BAPI_USER_GET_DETAIL
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SU_USER, ACTVT=16

S_USER_GRP: CLASS=*,ACTVT=03
S_USER_SYS: CLASS=*,ACTVT=90
(falls zentrale Benutzerverwaltung)

Lesen Bilder aus “SAPDB:…” 000 
RS_HDSYS_GET_GUIXT_IMAGE
S_RFC: RFC_TYPE=FUGR, RFC_NAME=RSIMG, ACTVT=16
Lesen Bilder aus “SAPIM:…” (Business Document Server) 000 
RS_HDSYS_GET_BDS_IMAGE
S_RFC: RFC_TYPE=FUGR, RFC_NAME=RSIMG, ACTVT=16
S_BDS_DS: CLASSNAME=cccc, CLASSTYP=OT, ACTVT=30

dabei ist cccc der in der Bilddatei angegebene Klassenname

 

Trace-Möglichkeiten im SAP System

  • Transaktion ST01: Berechtigungsprüfungen während RFC
  • Transaktion ST05: RFC-Aufrufe
  • Programm sapinfo in Verzeichnis sapgui/rfcsdk/bin: Test der RFC-Parametrisierung
Anlegen Benutzerstammsatz und Berechtigungen

Sap Guixt profile rfc1 Remote Function Call
Abb. 1: Einstieg mit Transaktion SU01

Sap Guixt profile rfc2 Remote Function Call
Abb. 2: Anlegen eines separaten Profils
Sap Guixt profile rfc3 Remote Function Call
Abb. 3: Berechtigungen für Web Repository Zugriff laut Tabelle oben. Ebenso können die übrigen S_RFC Berechtigungen hier ergänzt werden.
Sap Guixt profile rfc4 Remote Function Call
Abb. 4: Anzeige der angelegten Berechtigungen

 

Remote Function Call