Ansicht
Dokumentation

SO_DOCUMENT_SEND_API1 - SAPoffice: Senden eines neuen Dokuments mit Anlagen von Extern (RFC)

SO_DOCUMENT_SEND_API1 - SAPoffice: Senden eines neuen Dokuments mit Anlagen von Extern (RFC)

Fill RESBD Structure from EBP Component Structure   Fill RESBD Structure from EBP Component Structure  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Dieser Funktionsbaustein ermöglicht das Versenden eines neuen Dokuments inklusiv evtl. vorhandener Anlagen. Das Dokument und die Anlagen werden in gemeinschaftlichen Tabellen übergeben. Sie werden bei dem Senden angelegt und können zusätzlich dem Sender in den Ausgang gestellt werden.

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

PUT_IN_OUTBOX
Default = ' '.
Wenn dieses Flag gesetzt ('X') wird, dann wird das Dokument beim Versenden zusätzlich dem aktiven benutzer in den Ausgang gestellt.
COMMIT_WORK
Default = ' '.
Wenn dieses Flag gesetzt ('X') wird, dann wird am Ende des Funktionsbausteins SO_DOCUMENT_SEND_API1 ein explizites Commit Work abgesetzt.
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. Nam 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".

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

PACKING_LIST
Diese Tabelle benötigt die Informationen, wie die Daten der Tabellen OBJECT_HEADER, CONTENTS_BIN und CONTENTS_TXT auf das Dokument und dessen Anlagen zu verteilen sind. Die erste Zeile steht für das Dokument, die folgenden Zeilen jeweils für eine Anlage.
  • TRANSF_BIN
Wenn dieses Flag gesetzt ('X') wird, bezeichnet der Tabelleneintrag ein im Binärformat hinterlegtes Objekt. Der zugehörende Objektinhalt befindet sich in der Tabelle CONTENTS_BIN. Bei nicht gesetztem Flag liegt der Objektinhalt in der Tabelle CONTENTS_TXT im ASCII-Format vor.
  • HEAD_START
Benötigt die Startzeile der Tabelle OBJECT_HEADER, ab der die spezifischen Kopfdaten des Objekts hinterlegt sind.
  • HEAD_NUM
Benötigt die Anzahl der Zeilen der Tabelle OBJECT_HEADER, die von den spezifischen Kopfdaten des Objekts belegt werden. Die betroffenen Zeilen sind in einem Block angeordnet und zusammen mit der Angabe in HEAD_START eindeutig festgelegt.
  • BODY_START
Benötigt die Startzeile der vom Flag TRANSF_BIN abhängigen Tabelle, ab der der Objektinhalt hinterlegt ist.
  • BODY_NUM
Benötigt die Anzahl der Zeilen der vom Flag TRANSF_BIN abhängigen Tabelle, die durch den Objektinhalt belegt sind. Die betroffenen Zeilen sind in einem Block angeordnet und zusammen mit der Angabe in HEAD_START eindeutig festgelegt.
  • DOC_TYPE
Typ des Anlage. In der ersten Zeile der Tabelle wird dieses Feld nicht verwendet.
  • OBJ_NAME
Name der Anlage. In der ersten Zeile der Tabelle wird dieses Feld nicht verwendet.
  • OBJ_DESCR
Titel (kurze Beschreibung) der Anlage. In der ersten Zeile der Tabelle wird dieses Feld nicht verwendet.
  • OBJ_LANGU
Sprache der Anlage. In der ersten Zeile der Tabelle wird dieses Feld nicht verwendet.
  • DOC_SIZE
Größe der Anlage in Byte. Bei PC-Objekten sollte hier die Größe der jeweiligen Datei eingetragen werden, bei RAW- und SCR-Objekten berechnet sich die Größe durch "Länge der letzten Seite" + "Anzahl der restlichen Zeilen multipliziert mit 255". In der ersten Zeile der Tabelle wird dieses Feld nicht verwendet.
  • MESS_TYPE
Dieses Feld wird nicht verwendet.
OBJECT_HEADER
Diese Tabelle muß die zusammengefaßten, vom jeweiligen Objekttyp abhängigen Daten enthalten. SAPscript-Objekte speichern hier z.B. Informationen über Formular und Stil, Excel-Listviewer-Objekte u.a. die Anzahl der Zeilen und Spalten und PC-Objekte ihren ursprünglichen Dateinamen.
  • LINE
Benötigt zeilenweise die typabhängigen Daten des Objekts. Welcher Abschnitt zu welchem Objekt gehört, wird durch die Felder HEAD_START und HEAD_NUM der Tabelle PACKING_LIST festgelegt.
CONTENTS_BIN
Diese Tabelle muß die zusammengefaßten Inhalte der als Binärobjekte gekennzeichneten Objekte beinhalten.
  • LINE
Benötigt zeilenweise den Inhalt der Objekte. Welcher Abschnitt zu welchem Objekt gehört, wird durch die Felder BODY_START und BODY_NUM der Tabelle PACKING_LIST festgelegt.
CONTENTS_TXT
Diese Tabelle muß die zusammengefaßten Inhalte der als ASCII-Objekte gekennzeichneten Objekte beinhalten.
  • LINE
Benötigt zeilenweise den Inhalt der Objekte. Welcher Abschnitt zu welchem Objekt gehört, wird durch die Felder BODY_START und BODY_NUM der Tabelle PACKING_LIST festgelegt.
OBJECT_PARA
Diese Tabelle wird nur benötigt, wenn das zu versendende Dokument zu verarbeiten ist. Sie muß die SET-/GET-Parameter enthalten, die dem Verarbeitungselement beim Verarbeiten übergeben werden.
Es ist nicht möglich, den Anlagen des Dokuments Verarbeitungsparameter mitzugeben.
  • NAME
Name des SET-/GET-Parameters. Es werden nur die ersten drei Stellen verwendet.
  • OPTION
Dieses Feld wird nicht verwendet.
  • LOW
Enthält den zugehörigen Wert des Parameters in NAME.
  • HIGH
Dieses Feld wird nicht verwendet.
OBJECT_PARB
Diese Tabelle wird nur benötigt, wenn dem zu versendenden Dokument 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.
Es ist nicht möglich, den Anlagen des Dokuments Verarbeitungsparameter zu ü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
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
Ein dem Dokument oder einer Anlage zugewiesener Dokumenttyp existiert nicht.
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 Datenbankinkosistenz 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

Versenden eines neuen RAW-Dokuments mit BMP-Anlage an eine Internet-Adresse und eine persönliche Verteilerliste.

REPORT  ZSSO_DOCUMENT_SEND_API1.
DATA: OBJPACK LIKE SOPCKLSTI1 OCCURS  2 WITH HEADER LINE.
DATA: OBJHEAD LIKE SOLISTI1   OCCURS  1 WITH HEADER LINE.
DATA: OBJBIN  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE.
DATA: OBJTXT  LIKE SOLISTI1   OCCURS 10 WITH HEADER LINE.
DATA: RECLIST LIKE SOMLRECI1  OCCURS  5 WITH HEADER LINE.
DATA: DOC_CHNG LIKE SODOCCHGI1.
DATA: TAB_LINES LIKE SY-TABIX.
* Erstellen des zu versendenden Dokuments
DOC_CHNG-OBJ_NAME = 'ANGEBOT'.
DOC_CHNG-OBJ_DESCR = 'Versteigerung eines Picasso jr'.
OBJTXT = 'Mindestgebot : $250000'.
APPEND OBJTXT.
OBJTXT = 'Eine Abbildung des zur Versteigerung stehenden Bildes'.
APPEND OBJTXT.
OBJTXT = 'wurde als Anlage beigefügt.'.
APPEND OBJTXT.
DESCRIBE TABLE OBJTXT LINES TAB_LINES.
READ TABLE OBJTXT INDEX TAB_LINES.
DOC_CHNG-DOC_SIZE = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
* Erstellen des Eintrags zum komprimierten Dokument
CLEAR OBJPACK-TRANSF_BIN.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM   = 0.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM   = TAB_LINES.
OBJPACK-DOC_TYPE   = 'RAW'.
APPEND OBJPACK.
* Erstellen der Anlage für das Dokument
* (Man stelle sich die Daten in OBJBIN im BMP-Format angegeben vor)
OBJBIN = ' \O/ '. APPEND OBJBIN.
OBJBIN = '  |  '. APPEND OBJBIN.
OBJBIN = ' / \ '. APPEND OBJBIN.
DESCRIBE TABLE OBJBIN LINES TAB_LINES.
OBJHEAD = 'picasso.bmp'. APPEND OBJHEAD.
* Erstellen des Eintrags zur komprimierten Anlage
OBJPACK-TRANSF_BIN = 'X'.
OBJPACK-HEAD_START = 1.
OBJPACK-HEAD_NUM   = 1.
OBJPACK-BODY_START = 1.
OBJPACK-BODY_NUM   = TAB_LINES.
OBJPACK-DOC_TYPE   = 'BMP'.
OBJPACK-OBJ_NAME   = 'ANLAGE'.
OBJPACK-OBJ_DESCR  = 'Abbildung Objekt 138'.
OBJPACK-DOC_SIZE   = TAB_LINES * 255.
APPEND OBJPACK.
* Füllen der Empfängerliste
RECLIST-RECEIVER = 'guido.geldsack@money.com'.
RECLIST-REC_TYPE = 'U'.
APPEND RECLIST.
RECLIST-RECEIVER = 'DLI-NEUREICH'.
RECLIST-REC_TYPE = 'P'.
APPEND RECLIST.
* Versenden des Dokuments
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
     EXPORTING
          DOCUMENT_DATA = DOC_CHNG
          PUT_IN_OUTBOX = 'X'
          COMMIT_WORK   = 'X'
     TABLES
          PACKING_LIST  = OBJPACK
          OBJECT_HEADER = OBJHEAD
          CONTENTS_BIN  = OBJBIN
          CONTENTS_TXT  = OBJTXT
          RECEIVERS     = RECLIST
     EXCEPTIONS
          TOO_MANY_RECEIVERS = 1
          DOCUMENT_NOT_SENT  = 2
          OPERATION_NO_AUTHORIZATION = 4
          OTHERS = 99.
CASE SY-SUBRC.
  WHEN 0.
    WRITE: / 'Ergebnis des Sendevorgangs:'.
    LOOP AT RECLIST.
      WRITE: / RECLIST-RECEIVER(48), ':'.
      IF RECLIST-RETRN_CODE = 0.
        WRITE 'erfolgreich versendet'.
      ELSE.
        WRITE 'nicht versendet'.
      ENDIF.
    ENDLOOP.
  WHEN 1.
    WRITE: / 'Keine Berechtigung, an die angegebene Anzahl Empfänger',
             'zu senden !'.
  WHEN 2.
    WRITE: / 'Dokument konnte an keinen Empfänger gesendet werden !'.
  WHEN 4.
    WRITE: / 'Keine Berechtigung zum Senden !'.
  WHEN OTHERS.
    WRITE: / 'Fehler beim Senden aufgetreten !'.
ENDCASE.

Hinweise

Weiterführende Informationen





Parameter

COMMIT_WORK
CONTENTS_BIN
CONTENTS_HEX
CONTENTS_TXT
DOCUMENT_DATA
ET_VSI_ERROR
IP_ENCRYPT
IP_SIGN
IV_VSI_PROFILE
NEW_OBJECT_ID
OBJECT_HEADER
OBJECT_PARA
OBJECT_PARB
PACKING_LIST
PUT_IN_OUTBOX
RECEIVERS
SENDER_ADDRESS
SENDER_ADDRESS_TYPE
SENDER_ID
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

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

Length: 32762 Date: 20240523 Time: 115059     sap01-206 ( 373 ms )