Mit diesem Makro können Sie überprüfen, ob ein Mail-Auftrag abgeschlossen wurde. Wenn der Auftrag ausgeführt wurde, wird der Ausführungs-Status an den Aufrufer übermittelt und aus den ASTI-Warteschlangen entfernt.
Entry-Namen oder SVC-Nummer(n)
SVC 20 (dezimal)
UNIT=940, FUNCTION=21, VERSION=1 | 2
Makroauffruf-Format und Operandenbeschreibung
YMLCML |
FL= *TU / *TPR ,VERSION= 1 / 2 ,ORDER= *ANY / *SINGLE ,ORDERID=<var: char:16> ,WAIT= *NO / *YES ,WAITTIM=*UNLIM / <integer: 1..65535> /<var: int:4> ,OPTFILE=*NONE / <var: char:54> |
FL=
Funktionsbereich
*TU
SVC-Schnittstelle wird generiert.
*TPR
CALL-Schnittstelle wird generiert.
VERSION=
Wählt die Schnittstellenversion aus.
1
Es wird die alte Schnittstellenversion ausgewählt.
2
Es wird die neue Schnittstellenversion ausgewählt, die die Operanden WAITTIM und OPTFILE und zusätzliche Returncodes anbietet.
ORDER=
Legt fest, von welchen Mail-Sende-Aufträgen das Ergebnis angefordert werden soll.
*ANY
Der Ausführungs-Status eines vom Makro-Aufrufer abgesendeten, abgeschlossenen Auftrags wird abgefragt. Liegen mehrere abgeschlossene Aufträge vor, dann ist nicht definiert, von welchem dieser Aufträge der Status abgefragt wird.
*SINGLE
Das Ergebnis des durch den Parameter ORDERID identifizierten Mail-Sende-Auftrags wird abgefragt.
ORDERID=
Falls ORDER=*SINGLE angegeben ist, legt dieser Parameter die ID des zu überprüfenden Mail-Sende-Auftrags fest.
IDENTIFIER
Variable, in der die Auftrags-ID gespeichert ist, oder Register, das die Adresse einer Variablen enthält, in der die Auftrags-ID gespeichert ist.
WAIT=
Legt fest, ob der Aufrufer abwarten will, bis die Bearbeitung des Mail-Sende-Auftrags durch das Mail-Sender-Backend vollständig abgeschlossen ist.
*NO
Nicht warten.
*YES
Warten bis das Mail-Sender-Backend die vollständige Erledigung des Sende-Auftrags oder einen Fehler beim Versenden der Mail meldet.
WAITTIM=
Mit diesem Operanden kann die Wartezeit bei WAIT=*YES begrenzt werden. Der Operand ist nur mit VERSION=2 verfügbar. Wenn die maximale Wartezeit abgelaufen ist, wird der Aufruf mit einem entsprechenden Return-Code beendet.
*UNLIM
Unbegrenzte Wartezeit. Mit diesem Operandenwert ist das Verhalten wie bisher.
INTEGER 1,65535
Maximale Wartezeit in Sekunden.
IDENTIFIER
Variable, in der die Wartezeit gespeichert ist oder Register, das die Wartezeit enthält (jeweils in Sekunden).
OPTFILE=
Mit diesem Operanden kann eine Benutzer-Optionsdatei angegeben werden. Der Operand ist nur mit VERSION=2 verfügbar. Die Benutzer-Optionsdatei kann durch Einstellungen beim benutzerspezifischen Logging Auswirkungen auf das Verhalten des Kommandos haben (siehe logItems-Option).
*NONE
Keine Datei definiert.
IDENTIFIER
Variable, in der der Name der Optionsdatei gespeichert ist, oder Register, das die Adresse des Namens der Optionsdatei enthält.
Returncode
SRC2 | SRC1 | MRC | MRC-Name | Bedeutung |
|
|
|
| Mail ohne Fehler abgeschlossen. |
|
|
|
| Parameterfehler. |
|
|
|
| Interner Fehler. |
|
|
|
| Auftrag nicht gefunden. |
|
|
|
| Auftrag durch fremde Task abgeschickt. |
|
|
|
| Subsystem ASTI nicht verfügbar. |
|
|
|
| Kein Ergebnis angefordert. |
|
|
|
| Auftrag nicht abgeschlossen. |
|
|
|
| Unerwarteter ASTI-Fehler. |
|
|
|
| Maximale Wartezeit erreicht. |
|
|
|
| Fehler beim Zugriff auf Benutzer-Optionsdatei. |
|
|
|
| Ressourcen sind erschöpft. |
|
|
|
| Service MAILCLNT nicht verfügbar. |
SRC1/2=Sub Returncode 1/2 in Sedezimal-Darstellung;
MRC=Main Returncode in Sedezimal-Darstellung
Makroaufruf-Parameter
Die Datenstruktur für die Makroaufruf-Parameter von YMLCML ist wie folgt aufgebaut:
VERSION=1:
Distanz | Identifier | Wert | Bedeutung |
| Parameter Area | ||
000 |
| Function Header | |
008 |
| Eingabeparameter | |
008 |
| ID des Mail-Sende-Auftrags im Fall | |
018 |
| Von welchem Mail-Sende-Auftrag soll das Ergebnis abgefragt werden? | |
| 1 | Von beliebigen Aufträgen des Aufrufers. | |
| 2 | Von dem Auftrag mit der ID | |
019 |
| Auf Ende des Mail-Sende-Auftrags warten? | |
| 1 | Ja | |
| 2 | Nein | |
01A |
| Reservierter Bereich | |
01C |
| Ausgabeparameter | |
01C |
| Auftrags-ID des ausgewählten Auftrags, falls beliebiger Auftrag (YMLCOANY). | |
02C |
| Return-Code vom Back-End | |
| 00 | Ok | |
| 01 | Parameter-Fehler | |
| 02 | Ressourcen sind erschöpft | |
| 03 | SMTP-Fehler | |
| 04 | S/MIME-Fehler | |
| 0A | Interner Fehler | |
030 |
| Enthält ggf. entsprechende Fehlermeldungen in Textformat, z.B. SMTP-Fehler-Meldungen des SMTP-Servers. | |
0D0 |
| Wenn der YMLCML-Aufruf mit dem Return-Code |
VERSION=2:
Distanz | Identifier | Wert | Bedeutung |
| Parameter Area | ||
000 |
| Function Header | |
008 |
| Eingabeparameter | |
008 |
| ID des Mail-Sende-Auftrags im Fall | |
018 |
| Maximale Wartezeit | |
01C |
| Von welchem Mail-Sende-Auftrag soll das Ergebnis abgefragt | |
| 1 | Von beliebigen Aufträgen des Aufrufers. | |
| 2 | Von dem Auftrag mit der ID | |
01D |
| Auf Ende des Mail-Sende-Auftrags warten? | |
| 1 | Ja | |
| 2 | Nein | |
01E |
| Name der Benutzer-Optionsdatei | |
054 |
| Ausgabeparameter | |
054 |
| Auftrags-ID des ausgewählten Auftrags, falls beliebiger Auftrag (YMLCOANY). | |
064 |
| Return-Code vom Back-End | |
| 00 | Ok | |
| 01 | Parameter-Fehler | |
| 02 | Ressourcen sind erschöpft | |
| 03 | Allgemeiner SMTP-Fehler | |
| 04 | S/MIME-Fehler | |
| 05 | Fehler bei SMTP MAIL-Kommando | |
| 06 | Fehler bei SMTP RCPT-Kommando | |
| 07 | Fehler bei SMTP DATA-Kommando | |
| 08 | Fehler bei Zugriff auf Benutzer-Optionsdatei | |
| 09 | Mail zu groß | |
| 0A | Interner Fehler | |
068 |
| Enthält ggf. ergänzende Fehlermeldungen in Textformat, z.B. SMTP-Fehler-Meldungen des SMTP-Servers. | |
108 |
| Wenn der YMLCML-Aufruf mit dem Return-Code YMLCASTI zurückgewiesen wird, enthält dieses Feld den ASTI-Return-Code. | |
10C |
| Meldungs-ID |
Distanz | Identifier | Wert | Bedeutung |
113 |
| Reservierter Bereich |
Ergänzende Erläuterungen zu den Ausgabeparametern:
YMLCRETC
Einige Fehler-Situationen, bei denen in VERSION=1 ein Sammel-Return-Code geliefert wird, werden bei VERSION=2 durch spezifische Return-Codes abgedeckt, um schneller die eigentliche Fehler-Ursache feststellen zu können. So ist der Return-Code YMLCBMM ein starker Hinweis darauf, dass ein Fehler in der Absender-Adresse vorliegt. Entsprechend weist der Return-Code YMLCBMR auf einen Fehler in mindestens einer der Empfängeradressen hin. Ein YMLCBMD kann z.B. auftreten, wenn der SMTP-Server die Verletzung bestimmter Regeln erst nach dem DATA-Kommando prüft, die Ursache der Regel-Verletzung kann mit den angegebenen Adressen zusammenhängen. In jedem Fall sollte das Feld YMLCRETM weitere (Text-) Information zur Fehlerursache geben.
YMLCRETM
Wenn der verwendete SMTP-Server den RFC 2034 unterstützt, dann enthält dieses Feld eine maschineninterpretierbare Fehleranzeige, die i.A. spezifischer ist als die SMTP-bezogenen Return-Codes des YMLCRETC-Feldes.
YMLCMID
Dieses Feld enthält einen YML-Meldungsschlüssel für eine Meldung, die den aufgetretenen Fehler beschreibt. Das ist normalerweise die gleiche Meldung, die ein vergleichbarer REQUEST-MAIL-ORDER-RESULT-Kommandoaufruf liefern würde.
Auflistung der Expansion der Datenstruktur für die Makroaufruf-Parameter
Expansion:
XPAND=
PARAM
YMLCML MF=D 1 MFTST MF=D,PREFIX=Y,MACID=MLC,ALIGN=F, 1 DMACID=MLC,SUPPORT=(E,D,C,M,L),DNAME=MLCPARL 000000 2 YMLCPARL DSECT , 1 * rc 00000000 1 YMLCBOK EQU 0 OK 00000001 1 YMLCBPER EQU 1 Parameter error 00000002 1 YMLCBRSC EQU 2 Resource saturation 00000003 1 YMLCBSMT EQU 3 SMTP error 00000004 1 YMLCBSMI EQU 4 SMIME error 0000000A 1 YMLCBINT EQU 10 Internal error 1 * 1 * Parameter area 1 YMLCHDR FHDR MF=(C,YMLC),EQUATES=NO FHDR 1 * main return codes 00000000 1 YMLCSUCC EQU 0 No error detected 00000001 1 YMLCPARE EQU 1 Parameter error 00000002 1 YMLCINTE EQU 2 Internal error 00000003 1 YMLCONTF EQU 3 Order not found 00000004 1 YMLCFTSK EQU 4 Order issued by foreign task 00000005 1 YMLCANAV EQU 5 Subsystem ASTI not available 00000006 1 YMLCNORR EQU 6 No result requested 00000007 1 YMLCONCM EQU 7 Order not completed 00000008 1 YMLCASTI EQU 8 Unexpected ASTI error 1 * 1 * 000008 1 YMLCIND DS 0XL20 Input parameters 000008 1 YMLCOIDI DS CL16 Order Id 000018 1 YMLCORDS DS FL1 Order specification 1 * order 00000001 1 YMLCOANY EQU 1 ANY 00000002 1 YMLCOSNG EQU 2 SINGLE 1 * 000019 1 YMLCWAIT DS FL1 Wait 1 * wait 00000001 1 YMLCWYES EQU 1 YES 00000002 1 YMLCWNO EQU 2 NO 1 * 00001A 1 YMLCRSV1 DS CL2 Reserved 1 * 1 * 00001C 1 YMLCOUTD DS 0XL168 Output parameters 00001C 1 YMLCRETC DS F Return code 000020 1 YMLCRETM DS CL160 Return message 0000C0 1 YMLCARET DS F Return code from ASTI 1 * 000000C4 1 YMLC# EQU *-YMLCHDR