Entering content frame

Calls With References to the Logical System Locate the document in its SAP Library structure

Example

HR forwards payroll results to Accounting. Here the appropriate documents are posted. Each document in Accounting has a reference to the source document in HR. The logical system in which the HR document was created is included in the reference.

The method to be called is named, for example, HRDoc.Display. The field BKPF-AWREF contains the ID of the reference document in HR and the field BKPF-AWSYS contains the name of the logical system.

The source code below shows how the HR document display is called the from the document display in Accounting:

...

DATA:

HEAD LIKE BKPF,

RETURN LIKE BAPIRET2,

SERVER_DEST LIKE TBLSYSDEST-RFCDEST,

MSG_TXT(80) TYPE C.

...

* get RFC destination for 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.

* application specific message saying document cannot be displayed

...

ELSE.

* hard error

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

ENDIF.

* call display function. If SERVER_DEST is initial, it's a local call.

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.

* handle remote exceptions

MESSAGE E777(B1) WITH

'HRDoc.Display' HEAD-AWSYS HEADER-AWSYS

MSG_TXT(50) MSG_TXT+50(30).

ELSEIF NOT RETURN-TYPE IS INITIAL.

* handle return parameter

...

ENDIF.

The message B1 777 is a generic message. An application-specific message could be used instead.

 

Leaving content frame