RFC (Remote Function Call) dans GuiXT

GuiXT utilise pour diverses fonctions une connexion RFC (Remote Function Call) avec le système SAP. Pour la connexion au système et pour la vérification des autorisations dans le RFC il faut qu’il existe un utilisateur.  L’utilisateur que GuiXT utilise est spécifié dans le profil GuiXT.  La valeur par défaut est l’utilisateur SAPCPIC; toutefois cet utilisateur est très souvent bloqué dans les systèmes productifs. Nous vous conseillons de créer votre propre utilisateur RFC pour les accès GuiXT-RFC. Pour des fins de tests vous pouvez spécifier votre utilisateur (+mot de passe) dans la configuration de GuiXT.

Dans le tableau suivant vous trouvez les différentes actions GuiXT, le module de fonction utilisé, le client et les autorisations nécessaires pour l’utilisateur RFC. A la place du client 000, vous pouvez également spécifier par une option dans la configuration que GuiXT utilise toujours le client actuel. Ceci a l’avantage que vous n’avez pas besoin de créer un utilisateur dans le client 000, par contre vous avez l’inconvénient, lors de l’utilisation de plusieurs clients, que l’utilisateur doive exister dans chacun des clients utilisés.

Vous pouvez créer l’utilisateur avec les autorisations nécessaires par les transactions SU01, SU02, SU03 du système R/3. Dans l’exemple plus bas nous expliquons la spécification des autorisations pour l’accès au Web Repository.

Action Client / Module de fonction

Autorisations nécessaires pour l’utilisateur RFC

Lire des scriptes dans des variantes de transactions 000 
RS_HDSYS_GET_GUIXT_SCRIPT
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SHD0, ACTVT=16
Lire des objects “SAPWR:…” dans le Web Repository  000 
WWW_DISPATCH_REQUEST
S_RFC: RFC_TYPE=FUGR, RFC_NAME=SURL, ACTVT=16
Lire des objects dans le data dictionary  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=...] et if Q[Profile=...]

 

client actuel 
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
(dans le cas d’une gestion centrale des utilisateurs)

Lire des images de “SAPDB:…” 000 
RS_HDSYS_GET_GUIXT_IMAGE
S_RFC: RFC_TYPE=FUGR, RFC_NAME=RSIMG, ACTVT=16
Lire des images de “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

cccc est le nom de classe indiqué dans le fichier image

Possibilités de trace dans le système SAP

  • transaction ST01: vérification des autorisations pendant le RFC
  • transaction ST05: lancer des RFC
  • Programme sapinfo dans le répertoire sapgui/rfcsdk/bin: test du paramétrage du RFC
Création d’un utilisateur et autorisations

Sap Guixt profile rfc1 Remote Function Call
Image 1: Ecran initial de la transaction SU01

Sap Guixt profile rfc2 Remote Function Call
Image 2: Création d’un profil séparé
Sap Guixt profile rfc3 Remote Function Call
Image 3: Autorisations pour le Web Repository suivant le tableau plus haut. Vous pouvez également compléter les autres autorisations S_RFC ici.
Sap Guixt profile rfc4 Remote Function Call
Image 4: Affichage des autorisations créées

Remote Function Call