Ansicht
Dokumentation

SO_NEW_DOCUMENT_SEND_API1 - SAPoffice: Senden eines neuen Dokumentes

SO_NEW_DOCUMENT_SEND_API1 - SAPoffice: Senden eines neuen Dokumentes

ABAP Short Reference   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein ermöglicht das interne und externe Versenden eines neuen, noch nicht angelegten Dokuments. Durch den Sendevorgang wird das Dokument mit den zu übergebenden Eigenschaften und Inhalt erstellt.

Importparameter

DOCUMENT_TYPE
Default = 'RAW'.
Typ des Dokuments. Bis auf Mappen ('FOL') und Verteilerlisten ('DLI') sind alle Angaben möglich.
PUT_IN_OUTBOX
Default = ' '.
Wenn dieses Flag gesetzt ('X') wird, dann wird das neu erzeugte Dokument beim Versenden zusätzlich dem aktiven Benutzer in den Ausgang gestellt.
DOCUMENT_DATA
Diese Struktur muß die Eigenschaften des zu versendenden 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, dann 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".

Exportparameter

NEW_OBJECT_ID
Objekt-ID des beim Sendevorgang angelegten Dokuments.
SENT_TO_ALL
Wenn dieses Flag gesetzt ('X') ist, konnte das Dokument an alle angegebenen Empfänger gesendet bzw. bei externem Weiterleiten die entsprechenden Sendeaufträge an ein Subsystem abgegeben werden. Sofern der Sendevorgang bei mindestens einem Teilnehmer nicht erfolgreich durchgeführt werden konnte, ist das Flag nicht gesetzt.

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 sinnvoll 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
Name 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

  • 'F' : Faxnummer

  • 'U' : Internetadresse

  • 'R ' : Remote SAP Name

  • 'X' : X.400-Adresse

  • REC_ID
Wenn es sich bei dem Empfänger um einen SAPoffice-Benutzer handelt, kann statt des Empfängernamens in RECEIVER in diesem Feld die ID des Benutzers angegeben werden.
  • REPLY_DOC
Wenn dieses Feld gefüllt wird, ist das gesendete Dokument als Antwort auf den durch die angegebene ID gekennzeichneten Mappeneintrag zu verstehen. Es wird dadurch automatisch eine Briefwechselgeschichte aufgebaut bzw. weitergeführt.
  • 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.
  • PROXY_ID
Wenn bei dem Empfänger des Dokuments automatisches Weiterleiten aktiv ist, steht in diesem Feld die SAP-Benutzer-ID oder die Adreß-ID der externen Adresse, an die das Dokument letztendlich gesendet wurde.
  • 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.
  • EXPRESS
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument mit dem Attribut 'Expreß' versendet. 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' versendet.
  • BLIND_COPY
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument mit dem Attribut 'Geheime Kopie' versendet. 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.

Ausnahmen

TOO_MANY_RECEIVERS
Es wurden zu viele Empfänger angegeben. Der aktive Benutzer besitzt nicht die Berechtigung, an diese Anzahl von Empfängern zu senden.
DOCUMENT_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.
OPERATION_NO_AUTHORIZATION
Das Dokument durfte nicht versendet werden. Es fehlt eine der dafür benötigten Berechtigungen.
PARAMETER_ERROR
Es wurde dem Funktionsbaustein eine unzulässige Kombination von Parameterwerten übergeben.
X_ERROR
Es ist ein interner Fehler oder eine Datenbankinkonsistenz aufgetreten.
ENQUEUE_ERROR
Eine für den Sendevorgang benötigte Sperre konnte nicht gesetzt werden. Wahrscheinlich findet gerade eine Bearbeitung durch einen anderen Benutzer statt.

Beispiel

Senden eines vertraulichen RAW-Dokuments an einen internen Benutzer und eine Internet-Adresse. Das neue Dokument wird zusätzlich dem Sender in den Ausgang gestellt.

DATA: OBJCONT LIKE SOLISTI1 OCCURS 5 WITH HEADER LINE.

DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.

DATA: DOC_CHNG LIKE SODOCCHGI1.

DATA: ENTRIES LIKE SY-TABIX.

DATA: NAME(15).

* Fill the document

DOC_CHNG-OBJ_NAME = 'URGENT'.

DOC_CHNG-OBJ_DESCR = 'Read at once !'.

DOC_CHNG-SENSITIVTY = 'P'.

OBJCONT = 'Hey guys, time for lunch !!!'.

APPEND OBJCONT.

OBJCONT = 'Lets get going !'.

APPEND OBJCONT.

DESCRIBE TABLE OBJCONT LINES ENTRIES.

READ TABLE OBJCONT INDEX ENTRIES.

DOC_CHNG-DOC_SIZE = ( ENTRIES - 1 ) * 255 + STRLEN( OBJCONT ).

* Fill the receiver list

CLEAR RECLIST.

RECLIST-RECEIVER = SY-UNAME. " replace with <login name>

RECLIST-REC_TYPE = 'B'.

RECLIST-EXPRESS = 'X'.

APPEND RECLIST.

CLEAR RECLIST.

RECLIST-RECEIVER = 'ned.neighbour@next.door.com'.

RECLIST-REC_TYPE = 'U'.

APPEND RECLIST.

* Send the document

CALL FUNCTION 'SO_NEW_DOCUMENT_SEND_API1'

EXPORTING

DOCUMENT_TYPE = 'RAW'

DOCUMENT_DATA = DOC_CHNG

PUT_IN_OUTBOX = 'X'

TABLES

OBJECT_CONTENT = OBJCONT

RECEIVERS = RECLIST

EXCEPTIONS

TOO_MANY_RECEIVERS = 1

DOCUMENT_NOT_SENT = 2

OPERATION_NO_AUTHORIZATION = 4

OTHERS = 99.

CASE SY-SUBRC.

WHEN 0.

LOOP AT RECLIST.

IF RECLIST-RECEIVER = SPACE.

NAME = RECLIST-REC_ID.

ELSE.

NAME = RECLIST-RECEIVER.

ENDIF.

IF RECLIST-RETRN_CODE = 0.

WRITE: / NAME, ': succesfully sent'.

ELSE.

WRITE: / NAME, ': error occured'.

ENDIF.

ENDLOOP.

WHEN 1.

WRITE: / 'Too many receivers specified !'.

WHEN 2.

WRITE: / 'No receiver got the document !'.

WHEN 4.

WRITE: / 'Missing send authority !'.

WHEN OTHERS.

WRITE: / 'Unexpected error occured !'.

ENDCASE.

Hinweise

Zum Versenden eines bereits existierenden Dokuments muß der Funktionsbaustein SO_OLD_DOCUMENT_SEND_API1 verwendet werden.

Soll der aktive Benutzer das Dokument nach dem Versenden noch weiter bearbeiten können, muß es beim Senden über das Flag PUT_IN_OUTBOX im Ausgang abgelegt werden. Mit dem Funktionsbaustein SO_FOLDER_READ_API1 kann anschließend der Inhalt des Ausgangs gelesen und mittels der Objekt-ID das versendete Dokument herausgesucht werden.

Es ist nicht möglich, als Empfänger den Adreßnamen eines Benutzers zu verwenden, da dessen Eindeutigkeit nicht gegeben ist. Zur Umgehung dieses Problems kann der Funktionsbaustein SO_NAME_CONVERT_API1 verwendet werden. Dieser liefert zu einem angegebenen Namen eine Trefferliste, zu der sich ein Dialog mit Auswahl des gewünschten Wertes aufbauen läßt.

Weiterführende Informationen





Parameter

COMMIT_WORK
CONTENTS_HEX
DOCUMENT_DATA
DOCUMENT_TYPE
IP_ENCRYPT
IP_SIGN
NEW_OBJECT_ID
OBJECT_CONTENT
OBJECT_HEADER
OBJECT_PARA
OBJECT_PARB
PUT_IN_OUTBOX
RECEIVERS
SENT_TO_ALL

Ausnahmen

DOCUMENT_NOT_SENT
DOCUMENT_TYPE_NOT_EXIST
ENQUEUE_ERROR
OPERATION_NO_AUTHORIZATION
PARAMETER_ERROR
TOO_MANY_RECEIVERS
X_ERROR

Funktionsgruppe

SOI1

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 24382 Date: 20240523 Time: 085650     sap01-206 ( 299 ms )