Appels avec des références au système logique 

Le système HR transmet les résultats de paie à la gestion comptable. Les documents appropriés y sont enregistrés. Chaque document de la gestion comptable fait référence au document source dans HR. Le système logique dans lequel le document HR a été créé est compris dans la référence.
La méthode à appeler est nommée, par exemple, HRDoc.Display. La zone BKPF-AWREF contient l’ID du document de référence dans HR et la zone BKPF-AWSYS contient le nom du système logique.
Le code source ci-dessous montre comment l’affichage du document HR est appelé à partir de l’affichage du document dans la gestion comptable :
...
DATA:
HEAD LIKE BKPF,
RETURN LIKE BAPIRET2,
SERVER_DEST LIKE TBLSYSDEST-RFCDEST,
MSG_TXT(80) TYPE C.
...
* obtenir la destination RFC pour le Remote Method Call
CALL FUNCTION ‘OBJ_METHOD_GET_RFC_DESTINATION’
EXPORTING
OBJECT_TYPE = ‘HRDOC’
METHOD = ‘DISPLAY’
LOGICAL_SYSTEM = HEAD-AWSYS
IMPORTING
RFC_DESTINATION = SERVER_DEST
EXCEPTIONS
NO_RFC_DESTINATION_MAINTAINED = 1
ERROR_READING_METHOD_PROPS = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
IF SY-SUBRC = 1.
* message d’application spécifique indiquant que le document ne peut pas être affiché
...
ELSE.
* erreur grave
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
* appel de la fonction d’affichage
Si SERVER_DEST est initial, il s’agit d’un appel local.CALL FUNCTION ‘BAPI_HRDOC_DISPLAY’
DESTINATION SERVER_DEST
EXPORTING
DOCUMENT_ID = HEAD-AWREF
IMPORTING
RETURN = RETURN
EXCEPTIONS
COMMUNICATION_FAILURE = 1 MESSAGE MSG_TXT
SYSTEM_FAILURE = 2 MESSAGE MSG_TXT.
IF SY-SUBRC <> 0.
* gère les exceptions distantes
MESSAGE E777(B1) WITH
‘HRDoc.Display’ HEAD-AWSYS HEADER-AWSYS
MSG_TXT(50) MSG_TXT+50(30).
ELSEIF NOT RETURN-TYPE IS INITIAL.
* gère le paramètre de retour
...
ENDIF.
Le message B1 777 est un message générique. Un message propre à une application peut être utilisé à sa place.