Dokumentation zur SyntaxAufruf ohne Referenz auf das logische System Dieses Dokument in der Navigationsstruktur finden

Beispiel Beispiel

Das HR leitet Abrechnungsergebnisse in das Rechnungswesen weiter. Dort werden entsprechende Belege gebucht. Das HR hat keine Referenz auf den entstandenen Beleg im Rechnungswesen.

Ende des Beispiels.

Die zu rufende Methode heißt beispielsweies ACDoc.Display. Für ACDoc.Display gibt es keine Filterobjekte. Die Kennung des HR-Belegs steht im Feld HRKPF-DOCNR.

Da das logische System nicht aus dem Kontext bekannt ist, muss das logische Zielsystem aus dem Verteilungsmodell ermittelt werden.

Der Aufruf der Beleganzeige im Rechnungswesen aus der HR-Beleganzeige ist wie folgt zu implementieren:

Syntax Syntax

  1. ...
    DATA:
      HEAD LIKE HRKPF,
      SERVER LIKE BDBAPIDEST,
      RETURN LIKE BAPIRET2,
      MSG_TXT(80) TYPE C,
      FILTER_VALUES LIKE BDI_FOBJ OCCURS 0 WITH HEADER LINE.
    ...
    * get logical system and RFC-Destination for remote method call
    * no filter objects are used
    REFRESH FILTER_VALUES.
    * get server system from ALE distribution model
    CALL FUNCTION 'ALE_BAPI_GET_UNIQUE_RECEIVER'
      EXPORTING
        OBJECT                        = 'ACDOC'
        METHOD                        = 'DISPLAY'
      IMPORTING
        RECEIVER                      = SERVER
      TABLES
        FILTEROBJECTS_VALUES          = FILTER_VALUES.
      EXCEPTIONS
        ERROR_IN_FILTEROBJECTS        = 1
        ERROR_IN_ALE_CUSTOMIZING      = 2
        NOT_UNIQUE_RECEIVER           = 3
        NO_RFC_DESTINATION_MAINTAINED = 4
        OTHERS                        = 5.
    IF SY-SUBRC <> 0.
      IF SY-SUBRC = 4.
    * application specific message saying document can't 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_ACDOC_DISPLAY'
      DESTINATION SERVER-RFCDEST	
      EXPORTING
        DOCUMENT_ID = HEAD-DOCNR
      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' HEADER-AWSYS MSG_TXT(50) MSG_TXT+50(30).
    ELSEIF NOT RETURN-TYPE IS INITIAL.
    * handle return parameter
     ...
    ENDIF.
    
Ende des Codes

Hinweis Hinweis

Dieses Beispiel verwendet keine Filterobjekte. Wenn Filterobjekte für die zu rufende Objektmethode vorhanden sind, muss die Abfrage des Verteilungsmodells dementsprechend geändert werden.

Ende des Hinweises