Anbindung an die Schnittstelle
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:
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.
Legen Sie dazu mit der Methode CREATE_PERSISTENT eine Instanz der Klasse CL_BCS an.

Weitere Informationen zu den Methoden dieser Klasse finden Sie in
Zusätzlich können Sie mit der Methode ADD_ATTACHMENT Anlagen hinzufügen.
Weitere Informationen zu diesem Schritt finden Sie in
BCS-Dokument.Dazu rufen Sie die Methode SET_DOCUMENT der Klasse CL_BCS auf.


Dazu rufen Sie die Methode SET_SENDER der Klasse CL_BCS auf.

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.

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.

Weitere Informationen zu den Adressen finden Sie in
Sender und Empfänger.Dazu rufen Sie für den Sendeauftrag die Methode SEND der Klasse CL_BCS auf.

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.


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.
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.