Ansicht
Dokumentation

SO_SMALL_DOCUMENT_RECEIVE_API1 - SAPoffice: Empfangen von Dokumenten von einem anderen Mailsystem

SO_SMALL_DOCUMENT_RECEIVE_API1 - SAPoffice: Empfangen von Dokumenten von einem anderen Mailsystem

Fill RESBD Structure from EBP Component Structure   RFUMSV00 - Advance Return for Tax on Sales/Purchases  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein ist die vereinfachte Version von SO_DOCUMENT_RECEIVE_API1 und ermöglicht das Empfangen eines einzelnen, extern verschickten Dokuments ohne Anlagen. Nach Ankunft des Dokuments im Zielsystem wird bei Aufruf des Funktionsbausteins den in der Tabelle RECEIVERS angegebenen Empfängern das Dokument in den Eingang gestellt. Der Besitzer wird dabei der Sender des Dokuments, Ersteller jedoch der Benutzer, der den Funktionsbaustein ausgeführt hat. Üblicherweise gibt es einen speziellen Benutzer, der für die Handhabung eintreffender Mails zuständig ist.

Es muß hier zwischen dem Dokument und seinen Mappeneinträgen unterschieden werden. Das Dokument selbst ist nur einmal auf der Datenbank vorhanden. Es dient als Vorlage für die Mappeneinträge und kann mittels seiner Objekt-ID angesprochen werden. Zu dem Dokument können eine beliebige Anzahl von Mappeneinträgen gehören. Diese besitzen den Inhalt und die Eigenschaften des Dokuments sowie einige zusätzliche, auf den Mappeneintrag bezogene Attribute. Hierunter fallen z.B. die Sendepriorität und das Verfallsdatum des Eintrags. Mappeneinträge entstehen beim Wiedervorlegen, Verweisen und Versenden sowie beim Anlegen eines neuen Dokuments.

Importparameter

DOCUMENT_TYPE
Typ des Dokuments. Bis auf Mappen ('FOL') und Verteilerlisten ('DLI') sind hier alle Office- und PC-Dokumenttypen zulässig.
DOCUMENT_DATA
Diese Struktur muß die Eigenschaften des Dokuments enthalten.
  • OBJ_NAME
Name des Dokuments.
  • OBJ_DESCR
Titel (kurze Beschreibung) des Dokuments.
  • OBJ_LANGU
Sprache des Dokuments.
  • OBJ_SORT
Sortierfeld des Dokuments. Nach diesem Begriff kann in der Attributsuche gesucht werden.
  • OBJ_EXPDAT
Verfallsdatum des Dokuments. Das Dokument selbst kann nicht verfallen, bei jedem neuen Mappeneintrag des Dokuments wird jedoch dieses Datum als Vorlage für das Verfallsdatum des Eintrags (Feld EXPIRY_DAT) verwendet.
  • SENSITIVTY
Sensitivität des Dokuments.
Ein persönliches Dokument kann folgende Sensitivität besitzen:
  • 'O' : Standard, normale Sensitivität

  • 'F' : Funktional, kann funktional weitergeleitet werden

  • 'P' : Vertraulich, für Vertreter nicht sichtbar

Bei Dokumenten in der allgemeinen Ablage ist nur die Sensitivität 'O' zulässig.
  • OBJ_PRIO
Empfängerpriorität. Das Dokument selbst besitzt keine Priorität, bei jedem neuen Mappeneintrag des Dokuments wird jedoch dieser Wert als Vorlage für die Empfängerpriorität des Eintrags (Feld PRIORITY) verwendet.
  • NO_CHANGE
Wenn dieses Flag gesetzt ('X') wird, kann das Dokument über allgemeine Mappeneinträge nur vom Autor geändert werden. Bei persönlichen Mappeneinträgen ermöglicht es dem Autor, Änderungen auch nach dem Versenden noch durchzuführen.
  • PRIORITY
Empfängerpriorität des Mappeneintrags. Dieser Wert gibt die dem Eintrag vom Besitzer zugeordnete Wichtigkeit nach dem Empfangen wieder.
  • EXPIRY_DAT
Verfallsdatum des Mappeneintrags. Wenn das Verfallsdatum erreicht ist oder überschritten wird, wird der Eintrag in den persönlichen Papierkorb gestellt und kann von dort vor der nächsten Entleerung bei Bedarf zurückgeholt werden. Ein neuer Mappeneintrag wird anfänglich mit dem Verfallsdatum des Dokuments aus dem Feld OBJ_EXPDAT versorgt.
  • PROC_TYPE
Wenn dieses Feld nicht initial (ungleich ' ') ist, kann das Dokument verarbeitet werden.
Es sind folgende Angaben zulässig:
  • 'D' : Dialogbaustein

  • 'F' : Funktionsbaustein

  • 'R' : Report

  • 'S' : Report mit Übergabe von Werten ins globale Memory

  • 'T' : Transaktion

  • 'U' : Transaktion mit Übergabe von Werten ins globale Memory

  • PROC_NAME
Verarbeitungselement. Es muß entsprechend der Angabe im Feld PROC_TYPE der Name des Dialogbausteins, Funktionsbausteins, Reports oder der Transaktion angegeben werden.
  • PROC_SYST
Name des Systems, in dem das Dokument verarbeitet werden soll. Wird kein System oder der Wert '*' angegeben, ist eine Verarbeitung in jedem System möglich.
  • PROC_CLINT
Mandant, in dem das Dokument verarbeitet werden soll. Wird kein Mandant oder der Wert '*' angegeben, ist eine Verarbeitung in jedem Mandanten möglich.
  • SKIP_SCREN
Wenn dieses Flag gesetzt ('X') wird, dann wird bei der Verarbeitung das erste Dynpro übersprungen.
  • TO_DO_OUT
Wenn dieses Flag gesetzt ('X') wird, kann das Dokument nicht von der SAPoffice-Oberfläche aus erledigt werden. Eine Bearbeitung muß außerhalb von SAPoffice über den API-Funktionsbaustein SO_DOCUMENT_SET_STATUS_API1 erfolgen.
  • FREE_DEL
Wenn dieses Flag gesetzt ('X') wird, kann das Dokument über die API auch in fremden Mappen gelöscht werden.
  • DOC_SIZE
Größe des Dokuments in Byte. Bei PC-Dokumenten sollte hier die Größe der jeweiligen Datei in eingetragen werden, bei RAW- und SCR-Dokumenten berechnet sich die Größe durch "Länge der letzten Zeile" + "Anzahl der restlichen Zeilen multipliziert mit 255".
RECEIVE_INFO
Diese Struktur sollte Informationen über den Sender des Dokuments enthalten. Außerdem können Erstellungsdatum des Dokuments und das Datum des Versendens angegeben werden. Das Füllen der Felder der Struktur ist keine Pflicht, fehlende Angaben werden geeignet ergänzt.
  • COMM_ID
Systemweit eindeutige ID des Kommunikationsvorgangs. Diese wird vorwiegend beim Senden über X.400 verwendet. Bei fehlender Angabe wird eine neue eindeutige ID erzeugt.
  • SENDER
Adresse des Senders.
Es sind folgende Eintragstypen möglich:
  • der SAP-Benutzername des Senders

  • der SAPoffice-Name des Senders

  • eine Faxnummer in Form der Struktur SADRFD

  • eine Internetadresse in Form der Struktur SADRUD

  • eine Remote SAP Adresse in Form der Struktur SADR7D

  • eine X.400-Adresse in Form der Struktur SADR8D

  • ADR_TYPE
Typ des SENDER-Eintrags.
Es sind folgende Werte zulässig:
  • 'B ' : SAP-Benutzername

  • ' ' : SAPoffice-Name

  • 'FAX ' : Faxnummer

  • 'SMTP' : Internetadresse

  • 'SAP ' : Remote SAP Adresse

  • 'X400' : X.400-Adresse

  • REPLY_TO
Wenn dieses Feld gefüllt wird, ist das gesendete Dokument als Antwort auf den durch die angegebene ID gekennzeichneten Kommunikationsvorgang zu verstehen. Es wird dadurch automatisch eine Briefwechselgeschichte aufgebaut bzw. weitergeführt.
  • SEND_DATE
Datum, an dem das Dokument abgeschickt wurde.
  • SEND_TIME
Uhrzeit, zu der das Dokument abgeschickt wurde.
  • CREAT_DATE
Datum, zu dem das Originaldokument angelegt wurde.
  • CREAT_TIME
Uhrzeit, zu der das Originaldokument angelegt wurde.

Exportparameter

SENT_TO_ALL
Wenn dieses Flag gesetzt ('X') ist, konnte das Dokument allen angegebenen Empfänger zugestellt bzw. bei externem Weiterleiten die entsprechenden Sendeaufträge an ein Subsystem abgegeben werden. Sofern der Empfangsvorgang bei mindestens einem Teilnehmer nicht erfolgreich durchgeführt werden konnte, ist das Flag nicht gesetzt.
NEW_OBJECT_ID
Objekt-ID des durch den Empfangsvorgang angelegten Dokuments.
COMMUNICATION_ID
Systemweit eindeutige ID des Kommunikationsvorgangs. Wenn der Importparameter RECEIVE_INFO-COMM_ID gefüllt war, wird der dort vorkommende Wert übernommen, sonst wird die neu erzeugte ID ausgegeben.

Tabellenparameter

OBJECT_HEADER
Diese Tabelle muß die vom Dokumenttyp abhängigen Daten enthalten. SAPscript-Dokumente speichern hier z.B. Informationen über Formular und Stil, Excel-Listviewer-Dokumente u.a. die Anzahl der Zeilen und Spalten und PC-Dokumente ihren ursprünglichen Dateinamen.
  • LINE
Benötigt zeilenweise die typabhängigen Informationen des Dokuments.
OBJECT_CONTENT
Diese Tabelle muß den eigentlich Inhalt des Dokuments enthalten.
  • LINE
Benötigt zeilenweise den Inhalt des Dokuments.
OBJECT_PARA
Diese Tabelle wird nur von Dokumenten verwendet, die zu verarbeiten sind. Sie muß die SET-/GET-Parameter enthalten, die dem Verarbeitungselement übergeben werden.
  • NAME
Name des SET-/GET-Parameters. Es werden nur die ersten drei Stellen verwendet.
  • OPTION
Dieses Feld wird nicht verwendet.
  • LOW
Benötigt den zugehörigen Wert des Parameters in NAME.
  • HIGH
Dieses Feld wird nicht verwendet.
OBJECT_PARB
Diese Tabelle wird nur von Dokumenten verwendet, denen ein bestimmter Verarbeitungstyp zugeordnet ist. Abhängig davon kommt ihr eine unterschiedliche Bedeutung zu. Wenn es sich bei dem Verarbeitungselement um einen Report oder Transaktion mit Übergabe von Werten ins globale Memory handelt, wird der Tabelleninhalt als Menge von Parametern mit zugehörenden Werten interpretiert und in die der ersten Zeile entnommenen Memory-ID exportiert. Liegt als Verarbeitungselement ein Funktions- oder Dialogbaustein vor, wird die Tabelle an diesen als Tabellenparameter MSGDIAL übergeben.
  • NAME
Wenn es sich bei dem Verarbeitungselement um einen Report oder Transaktion mit Übergabe von Werten ins globale Memory handelt, muß das Feld der ersten Tabellenzeile den Namen der für den Export verwendeten Memory-ID enthalten. Die Felder der restlichen Zeilen dienen zur Aufnahme der Namen der Parameter. Liegt als Verarbeitungselement ein Funktions- oder Dialogbaustein vor, müssen die Felder entsprechend der Verwendung sinvoll versorgt werden.
  • VALUE
Wenn es sich bei dem Verarbeitungselement um einen Report oder Transaktion mit Übergabe von Werten ins globale Memory handelt, muß das Feld der ersten Tabellenzeile leer bleiben. Die Felder der restlichen Zeilen dienen zur Aufnahme der zu den Parametern in NAME gehörenden Werte. Liegt als Verarbeitungselement ein Funktions- oder Dialogbaustein vor, müssen die Felder entsprechend der Verwendung sinnvoll versorgt werden.
RECEIVERS
Diese Tabelle muß die Empfänger des Dokuments enthalten.
  • RECEIVER
Adresse des Empfängers.
Es sind folgende Eintragstypen möglich:
  • der SAP-Benutzername des Empfängers

  • der SAPoffice-Name des Empfängers

  • eine allgemeine Verteilerliste

  • eine Faxnummer in Form der Struktur SADRFD

  • eine Internetadresse in Form der Struktur SADRUD

  • ein Remote SAP Name in Form der Struktur SADR7D

  • eine X.400-Adresse in Form der Struktur SADR8D

  • ADR_TYPE
Typ des RECEIVER-Eintrags.
Es sind folgende Werte zulässig:
  • 'B ' : SAP-Benutzername

  • ' ' : SAPoffice-Name

  • 'C ' : allgemeine Verteilerliste

  • 'FAX ' : Faxnummer

  • 'SMTP' : Internetadresse

  • 'SAP ' : Remote SAP Name

  • 'X400' : X.400-Adresse

  • COPY_LIST
Wenn dieses Flag gesetzt ('X') wird, dann wird davon ausgegangen, das der betroffene Empfänger das Dokument bereits über ein anderes Mailsystem zugestellt bekommen hat. Es findet nur ein Eintrag in die Empfängerliste statt.
  • EXPRESS
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument mit dem Attribut 'Expreß' zugestellt. Falls es sich bei dem Empfänger um einen angemeldeten SAPoffice-Benutzer handelt, erhält dieser sofort eine Mitteilung über den Erhalt der Expreß-Mail.
  • COPY
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument mit dem Attribut 'Kopie' zugestellt.
  • BLIND_COPY
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument mit dem Attribut 'Geheime Kopie' zugestellt. Falls es sich bei dem Empfänger um einen SAPoffice-Benutzer handelt, kann dieser das Dokument weder Ausdrucken noch Weiterleiten.
  • NO_FORWARD
Wenn dieses Flag gesetzt ('X') wird und es sich bei dem Empfänger um einen SAPoffice-Benutzer handelt, kann dieser das Dokument nicht Weiterleiten.
  • NO_PRINT
Wenn dieses Flag gesetzt ('X') wird und es sich bei dem Empfänger um einen SAPoffice_benutzer handelt, kann dieser das Dokument nicht Ausdrucken.
  • TO_ANSWER
Wenn dieses Flag gesetzt ('X') wird, und es sich bei dem Empfänger um einen SAPoffice-Benutzer handelt, muß dieser auf das Dokument eine Antwort senden, bevor er es aus seinem Eingang entfernen kann.
  • TO_DO_EXPL
Wenn dieses Flag gesetzt ('X') wird und es sich bei dem Empfänger um einen SAPoffice-Benutzer handelt, muß dieser das Dokument erledigen, bevor er es aus seinem Eingang entfernen kann.
  • TO_DO_GRP
Wenn dieses Feld einen Wert zwischen '1' und '9' besitzt, muß ein SAPoffice-Benutzer der durch diese Zahl verbundenen Empfängergruppe das Dokument erledigen, bevor es von den betroffenen Personen aus dem Eingang entfernt werden kann. Wenn der Wert '0' eingetragen ist, so ist kein Erledigen erforderlich.
  • COM_TYPE
Kommunikationsart, mit der das Dokument versendet werden soll. Dieses Feld wird nur dann berücksichtigt, wenn der Empfänger eine Adreßnummer ist, d.h. wenn über die Adreßverwaltung extern gesendet wird. Wenn das Feld in diesem Fall nicht gefüllt ist, wird die in der Adreßverwaltung angegebene Standardkommunikationsart verwendet.
Es sind folgende Werte zulässig:
  • 'INT' : Senden über Internet

  • 'FAX' : Senden als Fax

  • 'X40' : Senden über X.400

  • 'RML' : Senden in ein anderes SAP-System

  • LFDNR
Laufende Nummer aus der Adreßverwaltung. Dieses Feld wird nur dann berücksichtigt, wenn der Empfänger eine Adreßnummer ist, d.h. wenn über die Adreßverwaltung gesendet wird. Wenn das Feld in diesem Fall nicht gefüllt ist, wird die in der Adreßverwaltung voreingestellte laufende Nummer verwendet.
  • FAX
Dieses Feld wird nicht verwendet.
  • COUNTRY
Dieses Feld wird nicht verwendet.
  • SPOOL_ID
Dieses Feld wird nicht verwendet.
  • NOTIF_DEL
Wenn dieses Flag gesetzt ('X') ist, erhält der Sender eine Bestätigung, sobald das Dokument dem Empfänger ausgeliefert wurde. Er bekommt ebenfalls eine Meldung, falls das Dokument nicht zugestellt werden konnte. Das Setzen dieses Flags ist nur bei externem Senden sinnvoll, da intern das Senden synchron abläuft. Die Bestätigung wird jedoch nur von wenigen Mailsystemen, u.a. X.400 und SAP SAP, unterstützt.
  • NOTIF_READ
Wenn dieses Flag gesetzt ('X') ist, wird der Sender davon in Kenntnis gesetzt, sobald der Empfänger das Dokument gelesen hat. Das Setzen dieses Flags ist nur bei externem Senden sinnvoll, da intern das Senden synchron abläuft. Die Lesebestätigung wird jedoch nur von wenigen Mailsystemen, u.a. X.400 und SAP SAP, unterstützt.
  • NOTIF_NDEL
Wenn dieses Flag gesetzt ('X') ist, erhält der Empfänger eine Meldung, falls das Dokument dem Empfänger nicht zugestellt werden konnte. Das Setzen dieses Flags ist nur bei externem Senden sinnvoll, da intern das Senden synchron abläuft. Die Meldung wird jedoch nur von wenigen Mailsystemen, u.a. X.400 und SAP SAP, unterstützt.
  • SAP_BODY
Wenn dieses Flag gesetzt ('X') ist, werden dem Dokument beim Senden über X.400 auch die SAP-spezifischen Daten in einem externen Bodypart mitgegeben. Dies ist jedoch nur sinnvoll, wenn es sich bei dem Zielsystem um ein SAP-System handelt.
  • REC_DATE
Datum, an dem das Dokument den Empfänger erreichen soll. Bei externen Empfängern kann für das Einhalten des Empfangsdatums keine Gewähr übernommen werden, da das Verhalten von den angeschlossenen Produkten abhängt.
  • RETRN_CODE
Wenn der Empfänger das Dokument erfolgreich erhalten hat, wird dieses Feld vom Funktionsbaustein mit dem Wert '0' gefüllt, sonst wird ein Wert ungleich '0' eingetragen.

Ausnahmen

OBJECT_NOT_SENT
Das Dokument konnte nicht versendet werden. Es wurde keinem der angegebenen Empfänger zugestellt.
DOCUMENT_TYPE_NOT_EXIST
Der angegebene Dokumenttyp existiert nicht oder ist nicht zulässig. Es ist z.B. nicht möglich, Verteilerlisten oder Mappen zu versenden.
OPERATION_NO_AUTHORIZATION
Das Dokument durfte nicht zugestellt werden. Dies kann daran liegen, daß der Aufrufer des Funktionsbausteins nicht die Berechtigung besitzt, an die Anzahl der übergebenen Empfänger zu Senden.
PARAMETER_ERROR
Es wurde dem Funktionsbaustein eine unzulässige Kombination von Parameterwerten übergeben.
X_ERROR
Es ist ein interner Fehler oder eine Datenbankinkosistenz aufgetreten.
ENQUEUE_ERROR
Eine für den Zustellungsvorgang benötigte Sperre konnte nicht gesetzt werden. Wahrscheinlich findet gerade eine Bearbeitung durch einen anderen Benutzer statt.

Beispiel

Zustellen eines Dokuments an verschiedene Empfänger, die sich aus einer allgemeinen Verteilerliste, einer Internetadresse und einem internen Benutzer zusammensetzen.

DATA: OBJCONT LIKE SOLISTI1 OCCURS 3 WITH HEADER LINE.
DATA: RECLIST LIKE SOEXTRECI1 OCCURS 3 WITH HEADER LINE.
DATA: REC_INFO LIKE SORECINFI1.
DATA: DOC_CHNG LIKE SODOCCHGI1.
DATA: TAB_LINES LIKE SY-TABIX.
REC_INFO-SENDER = 'gill.bates@macrosoft.edu'.
REC_INFO-ADR_TYPE = 'SMTP'.
REC_INFO-SEND_DATE = SY_DATUM.
REC_INFO-SEND_TIME = SY-UZEIT.
REC_INFO-CREAT_DATE = SY_DATUM - 1.
REC_INFO-SEND_TIME = SY_UZEIT.
DOC_CHNG-OBJ_NAME = 'PORTHOLES 96'.
DOC_CHNG-OBJ_DESCR = 'Final release coming up'.
DOC_CHNG-OBJ_LANGU = SY-LANGU.
OBJCONT = 'This new operation system won't let you sink !'.
APPEND OBJCONT.
OBJCONT = 'No bugs, just a few minor leaks !'.
APPEND OBJCONT.
OBJCONT = 'First 100 orders get a free swimming suit !'.
APPEND OBJCONT.
DESCRIBE TABLE OBJCONT LINES TAB_LINES.
READ TABLE OBJCONT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJCONT ).
RECLIST-RECEIVER = 'DLI-ALL'.
RECLIST-ADR_TYP = 'C'.
APPEND RECLIST.
RECLIST-RECEIVER = 'harry.hermit@cosy.cave.edu'.
RECLIST-ADR_TYP = 'SMTP'.
APPEND RECLIST.
RECLIST-RECEIVER = 'BOSS'.
RECLIST-ADR_TYP = 'B'.
RECLIST-COPY = 'X'.
APPEND RECLIST.
CALL FUNCTION 'SO_SMALL_DOCUMENT_RECEIVE_API1'
EXPORTING
RECEIVE_INFO = REC_INFO
DOCUMENT_DATA = DOC_CHNG
DOCUMENT_TYPE = 'RAW'
TABLES
OBJECT_CONTENT = OBJCONT
RECEIVERS = RECLIST
EXCEPTIONS
OBJECT_NOT_SENT = 1
OPERATION_NO_AUTHORIZATION = 3
OTHERS = 99.
CASE SY-SUBRC.
WHEN 0.
LOOP AT RECLIST.
IF RECLIST-RETRN_CODE = 0.
WRITE: / 'Zustellung bei', RECLIST-RECEIVER, 'erfolgreich !'.
ELSE.
WRITE: / 'Zustellung bei', RECLIST-RECEIVER, 'fehlerhaft !'.
ENDIF.
ENDLOOP.
WHEN 1.
WRITE: / 'Das Dokument konnte keinem Empfänger zugestellt',
'werden !'.
WHEN 3.
WRITE: / 'Zu viele Empfänger - keine Berechtigung zum Senden !'.
WHEN OTHERS.
WRITE: / 'Unbekannter Fehler aufgetreten !'.
ENDCASE.

Hinweise

Zum Empfangen der komplizierter aufgebauten Dokumente mit Anlagen muß der Funktionsbaustein SO_DOCUMENT_RECEIVE_API1 verwendet werden.

Weiterführende Informationen





Parameter

COMMUNICATION_ID
CONTENTS_HEX
DOCUMENT_DATA
DOCUMENT_TYPE
NEW_OBJECT_ID
OBJECT_CONTENT
OBJECT_HEADER
OBJECT_PARA
OBJECT_PARB
RECEIVERS
RECEIVE_INFO
SENT_TO_ALL

Ausnahmen

DOCUMENT_TYPE_NOT_EXIST
ENQUEUE_ERROR
OBJECT_NOT_SENT
OPERATION_NO_AUTHORIZATION
PARAMETER_ERROR
X_ERROR

Funktionsgruppe

SOI1

PERFORM Short Reference   Vendor Master (General Section)  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 27786 Date: 20240523 Time: 115054     sap01-206 ( 343 ms )