Anfang des Inhaltsbereichs

Prozessdokumentation Anbindung an die Schnittstelle  Dokument im Navigationsbaum lokalisieren

Einsatzmöglichkeiten

Sie können die Sendefunktionen des BCS nutzen, indem Sie Methoden der Klasse CL_BCS verwenden. Dazu benötigen Sie keine Detailkenntnisse über die interne Struktur des BCS. Falls Sie sich dennoch für das Klassenmodell interessieren, lesen Sie Klassenmodell des BCS.

Die folgende Grafik gibt einen Überblick über die öffentlichen Schnittstellen des BCS:

 

Diese Grafik wird im zugehörigen Text erklärt

Die eigentliche Schnittstelle zur Anwendung stellt die Klasse CL_BCS dar. Die Anwendung kann über diese Schnittstelle einen Sendeauftrag erzeugen und versenden. Die Interface-Klassen dienen dazu Sender, Empfänger und vom BCS versendbare Objekte zu erzeugen. Diese Klassen werden vom BCS für die im SAP-System häufig verwendeten Dokument- und Adreßarten zur Verfügung gestellt. Wenn diese nicht ausreichen, muß die Anwendung eigene Klassen implentieren.

Voraussetzungen

Es können alle Objekttypen versendet werden, die das Interface IF_DOCUMENT_BCS unterstützen. Die Empfänger und Sender von Dokumenten müssen die Interfaces IF_RECIPIENT_BCS bzw. IF_SENDER_BCS unterstützen. Das BCS hat diese Interfaces für häufig verwendete Objekt-, Empfänger- und Sendertypen implementiert, so daß hier kein weiterer Aufwand für Sie entsteht. Die versendeten Objekte können mit der Anwendung verknüpft werden. Die Objekte müssen dafür als Business-Objekte im Business Object Repository realisiert sein.

Ablauf

Sie können eine Kurznachricht mit einen oder mehreren Anlagen an einen oder mehrere Empfänger in einem Schritt versenden, indem Sie die Methode SHORT_MESSAGE der Klasse CL_BCS aufrufen. Dabei werden die Standardeinstellungen (Ablage im Ausgang entsprechend der persönlichen Büroeinstellungen in der SO12, Anforderung aller Statusrückmeldungen, Anforderung Statusrückmeldung als Mail nur im Fehlerfalle) verwendet. Es kann auch direkt eine Verknüpfung zum Anwendungsobjekt geschrieben werden.

Der folgende Ablauf zeigt einen exemplarischen Aufruf des BCS in mehreren Schritten mit Beispiel-Programmzeilen.

  1. Legen Sie einen Sendeauftrag an.
  2. Legen Sie dazu mit der Methode CREATE_PERSISTENT eine Instanz der Klasse CL_BCS an.

    Diese Grafik wird im zugehörigen Text erklärt

    Weitere Informationen zu den Methoden dieser Klasse finden Sie in CL_BCS.

  3. Legen Sie das Objekt, das versendet werden soll, als BCS-Dokument an.
  4. Dazu legen Sie eine Instanz einer Klasse an, die das Interface IF_DOCUMENT_BCS implementiert und übergeben dabei das Objekt. Bei Business-Workplace-Dokumenten legen Sie mit der Methode CREATE_DOCUMENT eine Instanz der Klasse CL_DOCUMENT_BCS an, wie in dem folgenden Beispiel für den Dokumenttyp RAW:

    Diese Grafik wird im zugehörigen Text erklärt

    Zusätzlich können Sie mit der Methode ADD_ATTACHMENT Anlagen hinzufügen.

    Weitere Informationen zu diesem Schritt finden Sie in BCS-Dokument.

  5. Übergeben Sie das Objekt an den Sendeauftrag.
  6. Dazu rufen Sie die Methode SET_DOCUMENT der Klasse CL_BCS auf.

    Diese Grafik wird im zugehörigen Text erklärt

  7. Wenn nicht der aktuelle Benutzer als Absender auftreten soll, können Sie den Absender einstellen.
  8. Dazu legen Sie eine Instanz einer Klasse an, die das Interface IF_SENDER_BCS implementiert und übergeben dabei den Absender (z.B. SAP-Benutzer, Organisationseinheit oder auch ein Business-Objekt). In dem Beispiel wird der SAP-Benutzer Brown als Absender angelegt.

    Diese Grafik wird im zugehörigen Text erklärt

  9. Wenn nicht der aktuelle Benutzer als Absender auftreten soll, müssen Sie den zuvor angelegten Absender an den Sendeauftrag übergeben.
  10. Dazu rufen Sie die Methode SET_SENDER der Klasse CL_BCS auf.

    Diese Grafik wird im zugehörigen Text erklärt

  11. Legen Sie einen Empfänger an.
  12. Dazu legen Sie eine Instanz einer Klasse an, die das Interface IF_RECIPIENT_BCS implementiert und übergeben dabei den Empfänger. Dies müssen Sie für jeden Empfänger durchführen. Wenn das Dokument in eine Mappe des Business Workplace abgelegt werden soll, geben Sie diese als Empfänger an. In dem Beispiel wird eine E-Mail-Adresse als Empfänger angelegt, indem eine über die statische Methode CREATE_INTERNET_ADDRESS der Klasse CL_CAM_ADDRESS_BCS erzeugte Instanz übergeben wird.

    Diese Grafik wird im zugehörigen Text erklärt

  13. Übergeben Sie die Empfänger mit den jeweiligen Sendeattributen (Expreß Kopie, geheime Kopie, kein Weiterleiten) an den Sendeauftrag.
  14. Dazu rufen Sie die Methode SET_RECIPIENT der Klasse CL_BCS auf. In dem Beispiel wird für den Empfänger das Expreß-Kennzeichen gesetzt.

    Diese Grafik wird im zugehörigen Text erklärt

    Weitere Informationen zu den Adressen finden Sie in Sender und Empfänger.

  15. Senden Sie das Objekt.
  16. Dazu rufen Sie für den Sendeauftrag die Methode SEND der Klasse CL_BCS auf.

    Diese Grafik wird im zugehörigen Text erklärt

    Alternativ können das Sendebild aufrufen, wenn die Benutzer die Möglichkeit zum Angeben von Empfängern und Sendeattributen haben sollen. Das Senden wird dann vom Benutzer initiiert.

    Dazu rufen Sie für den Sendeauftrag die Methode EDIT der Klasse CL_BCS auf, mit dem Sie das Sendebild als Dialogfenster oder als Vollbild aufrufen können.

    Diese Grafik wird im zugehörigen Text erklärt

     

  17. Sie müssen an geeigneter Stelle explizit ein COMMIT WORK setzen.

Achtung

Es ist unbedingt notwendig, daß die Anwendung das COMMIT WORK selbst setzt! Ansonsten werden die Persistenzdienste der Object Services nicht gestartet, und es fehlen wesentliche Sendedaten, die zum Abbruch des Sendevorgangs führen können.

Ausgenommen sind solche Anwendungen, die den Transaktionsdienst der Object Services benutzen und eine Sendeschnittstelle innerhalb einer OO-Transaktion aufrufen. Ebenso natürlich solche Anwendungen, die die Sendeschnittstelle in der Verbuchung rufen.

Das Auftreten des Fehlers hängt von der Sendeinfrastruktur ab, so daß der Fehler nicht bei allen Tests auftritt. Wir empfehlen, eine Mail nach extern zu versenden (z.B. an eine Internet-Adresse) und nach dem Starten des Sendeprozesses (in der Transaktion SCOT) in den SAPconnect-Trace (SCOT -> Hilfsmittel -> Trace -> Interner Trace) zu schauen. Dort darf kein Eintrag der Art "Kein Sendeauftrag erzeugt. Fehlercode:NI_SREQ" auftauchen.

Beispielprogramme

Programme BCS_EXAMPLE_1 bis 5 (Senden von Text an Internetadresse, allein, mit Anlage, mit Notiz und mit Empfängereingabe im Dialog)

Weitere Möglichkeiten

Verknüpfung

Um das Anwendungsobjekt mit dem versendeten Objekt (d.h. mit dem Sendeauftrag) zu verknüpfen, verwenden Sie die Methode CREATE_LINK der Klasse CL_BCS. Damit kann die Nachricht über die generischen Objektdienste (Dienst Versandte Dokumente) im Ausgang des Objekts angezeigt werden.

Außerdem ist die Verknüpfung Voraussetzung für die Statusrückmeldung per Event. Dazu muß das Anwendungs-BOR-Objekt zusätzlich das (BOR-)Interface IFSNDSTAT2 implementieren.

Hinweis

Um eine Notiz zu einem Objekt anzulegen, verwenden Sie die Methode SET_NOTE der Klasse CL_BCS.

 

 

 

 

 

Ende des Inhaltsbereichs