You can use this macro to query information about the e-mail send orders.
Entry names or SVC number(s)
SVC 20 (decimal)
UNIT=940, FUNCTION=23, VERSION=1 | 2
Macro call format and operand description
YMLGML |
FL= *TU / *TPR ,VERSION= 1 / 2 ,XPAND= PARAM / OUTPAR ,ORDER= *SUM / *ALL ,ORDERID= <var: char:16> ,OWNER= *OWN / *ALL / *OTHER ,USERID= <var: char:8> ,OUTPAR= <var: pointer> ,OUTPARL= <integer: 1..32767> / <var: int:4> ,OPTFILE= *NONE / <var: char:54> |
FL=
Function area
*TU
An SVC interface is generated.
*TPR
A CALL interface is generated.
VERSION=
Selects the interface version.
1
Selects the old interface version.
2
Selects the new interface version, which offers the operand OPTFILE and an additional return code.
XPAND=
This parameter controls the expansion of the data structures that describe the parameter list of the macro and the layout of the output section.
PARAM
Creates parameter list.
OUTPAR
Create data layout for the output section.
ORDER=
Specifies which information about the e-mail send orders is output in the queue.
*SUM
Queries the number of e-mail send orders in the user queue.
*ALL
Queries the order ID of all the e-mail send orders in the user queue.
*SINGLE
Queries the parameters of the e-mail send order specified in the ORDERID parameter.
It is advisable to call the macro first with ORDER=*ALL to get all the e-mail send orders of the calling user. You can call the macro separately for each order ID with ORDER=*SINGLE to get the data of the e-mail parameters.
The second call may fail with YMLGONTF if, for example, another task has issued a YMCML/YMCMLC or YMLDML/YMLDMCL call between the two calls.
If the output section is too small for the parameter data of the e-mail, the call is terminated with YMLGOSML. In this case, repeat the call with a larger output section.
ORDERID=
If ORDER=*SINGLE is specified, this parameter specifies the ID of the e-mail send order for which information is requested.
<IDENTIFIER>
Variable in which the order ID is stored or register containing the address of a variable in which the order ID is stored.
OWNER=
Specifies the user about whose e-mail send orders information is to be queried.
*OWN
Only queries e-mail send orders of the calling user.
*ALL
Queries e-mail send orders of all users. Callers without TSOS authorization get the same result here as with *OWN.
*OTHER
Queries e-mail send orders of the user specified by the USERID parameter (only permissible for callers with TSOS authorization).
USERID
If OWNER=*OTHER is specified, this parameter specifies the user ID of the owner of the e-mail send orders.
<IDENTIFIER>
Variable in which the user ID is stored or register containing the address of a variable in which the user ID is stored.
OUTPAR=
Specifies the output section. This parameter is required when ORDER=*ALL or ORDER=*SINGLE is specified.
ORDER=*ALL:
The output section contains a list of the IDs of the e-mail send orders.
ORDER=*SINGLE:
The output section contains the e-mail parameter section of the order ID specified in the ORDERID parameter.
<IDENTIFIER>
Variable in which the address of the output section is stored or register containing the address of a variable in which the address of the output section is stored.
OUTPARL=
Length of the output section.
INTEGER (1..32767)
Length of the output section.
<IDENTIFIER>
Variable in which the length of the output section is stored or register containing the length of the output section.
OPTFILE=
With this operand a user option file can be specified. The operand is available only with VERSION=2. Currently there is no user option which would influence the behaviour of YMLGML, but because this may change in the future it is recommended to supply by now the OPTFILE operand of the YDLGML call with the same value as done with the YMLSML and YMLCML calls.
*NONE
No file defined.
<IDENTIFIER>
Variable containing the name of the user option file or register containing the address of the name of the user option file.
Return codes
SRC2 | SRC1 | MRC | MRC name | Meaning |
|
|
|
| No error found. |
|
|
|
| Parameter error. |
|
|
|
| Internal error. |
|
|
|
| Order not found. |
|
|
|
| Output section too small. |
|
|
|
| Order does not belong to the caller. |
|
|
|
| Resources are exhausted. |
|
|
|
| Order executed by external task. |
|
|
|
| ASTI subsystem not available. |
|
|
|
| No order for sending e-mails. |
|
|
|
| Unexpected ASTI error. |
|
|
|
| Service MAILCLNT not available. |
SRC1/2 = sub-return code 1/2 in hexadecimal notation; MRC = main return code in hexadecimal notation
Macro call parameters and output section
The YMLGML macro call uses the following data structures:
Data structure for input and output parameters of the macro call YMLGML (XPAND=PARAM)
Output data structure for the information supplied by YMLGML (XPAND=OUTPAR)
The data structure for the macro call parameters of YMLGML is composed as follows:
VERSION=1:
Distance | Identifier | Value | Meaning |
| Parameter area. | ||
000 |
| Function header. | |
008 |
| Input parameters. | |
008 |
| ID of the order about which information is to be queried if YMLGORDS=YMLGOSNG is specified. | |
018 |
| Specifies which information is queried. | |
| 1 | Queries the number of orders in the user queue. | |
| 2 | Queries the order ID of all the orders in the user queue. | |
| 3 | Queries parameters of the order specified in YMLGOIDI. | |
019 |
| Specifies the user about whose orders information is to be queried. | |
| 1 | Only orders of the calling user are queried. | |
| 2 | Orders of all users are queried. | |
| 3 | Orders of the user specified in YMLGUSID are queried. | |
01A |
| Reserved area. | |
01C |
| User ID whose orders are to be deleted. | |
024 |
| Address of the output area. | |
028 |
| Size of the output area. | |
02C |
| Output parameters. | |
02C |
| Number of orders in the queue. | |
030 |
| If the YMLGML call returns the return code YMLGASTI, this field contains the ASTI return code. |
VERSION=2:
Distanz | Identifier | Wert | Bedeutung |
| Parameter area | ||
000 |
| Function header | |
008 |
| Input parameters | |
008 |
| ID of the order about whichinformation is to be queried if YMLGORDS=YMLGOSNG is specified. | |
018 |
| Specifies which information is queried. | |
| 1 | Queries the number of orders in the user wait queue. | |
| 2 | Queries the order ID of all the orders in the user wait queue. | |
| 3 | Queries parameters of the order specified in YMLGOIDI. | |
019 |
| Specifies the user about whose orders information is to be queried. | |
| 1 | Only orders of the calling user are queried. | |
| 2 | Orders of all users are queried. | |
| 3 | Orders of the user specified in YMLGUSID are queried. | |
01A |
| Reserved area | |
01C |
| User ID whose orders are to be deleted. | |
024 |
| Adress of output area | |
028 |
| Size of output area | |
02C | YMLGOPTF | User option file | |
062 | YMLGRSV2 | Reserved area | |
064 |
| Output parameters | |
064 |
| Number of orders in the wait queue. | |
068 |
| If the YMLGML call returns the return code YMLGASTI, this field contains the ASTI return code. | |
06C |
| Message ID | |
073 |
| Reserved area |
Supplementary notes to the output parameters:
YMLGMID
This field contains a YML message key for a message describing the occured error. This is normally the same message as a corresponding SHOW-MAIL-ORDER-STATUS command call would deliver.
Listing of the expansion of the data structures for macro call parameters and the output section
Expansion:
XPAND=
PARAM, OUTPAR
YMLGML MF=D,XPAND=PARAM 1 MFTST MF=D,PREFIX=Y,MACID=MLG,ALIGN=F, 1 DMACID=MLG,SUPPORT=(E,D,C,M,L),DNAME=MLGPARL 000000 2 YMLGPARL DSECT , 1 * Parameter area 1 YMLGHDR FHDR MF=(C,YMLG),EQUATES=NO FHDR 1 * main return codes 00000000 1 YMLGSUCC EQU 0 No error detected 00000001 1 YMLGPARE EQU 1 Parameter error 00000002 1 YMLGINTE EQU 2 Internal error 00000003 1 YMLGONTF EQU 3 Order not found 00000004 1 YMLGOSML EQU 4 Output area too small 00000005 1 YMLGONTO EQU 5 Order not own 00000006 1 YMLGRSRC EQU 6 Resource saturation 00000007 1 YMLGFTSK EQU 7 Order issued by foreign task 00000008 1 YMLGANAV EQU 8 Subsystem ASTI not available 00000009 1 YMLGNMSO EQU 9 Not a mail send order 0000000A 1 YMLGASTI EQU 10 Unexpected ASTI error 1 * 1 * 000008 1 YMLGIND DS 0XL36 Input parameters 000008 1 YMLGOIDI DS CL16 Order Id 000018 1 YMLGORDS DS FL1 Order specification 1 * order 00000001 1 YMLGOSUM EQU 1 sum 00000002 1 YMLGOALL EQU 2 all 00000003 1 YMLGOSNG EQU 3 single 1 * 000019 1 YMLGOWNS DS FL1 Owner specification 1 * owner 00000001 1 YMLGWOWN EQU 1 OWN 00000002 1 YMLGWALL EQU 2 ALL 00000003 1 YMLGWOTH EQU 3 OTHER 1 * 00001A 1 YMLGRSV1 DS CL2 Reserved 00001C 1 YMLGUSID DS CL8 User id of owner 000024 1 YMLGOUT DS A Output area 000028 1 YMLGOUTL DS F Output area length 1 * 1 * 00002C 1 YMLGOUTD DS 0XL8 Output parameters 00002C 1 YMLGSUM DS F Number of queued mails
000030 1 YMLGARET DS F Return code from ASTI 1 * 00000034 1 YMLG# EQU *-YMLGHDR YMLGML MF=D,XPAND=OUTPAR 1 MFTST MF=D,PREFIX=Y,MACID=MLG,ALIGN=F, 1 DMACID=MLG,SUPPORT=(E,D,C,M,L),DNAME=MLGOUTPAR 000000 2 YMLGOUTPAR DSECT , 1 * rc 00000000 1 YMLGBOK EQU 0 OK 00000001 1 YMLGBPER EQU 1 Parameter error 00000002 1 YMLGBRSC EQU 2 Resource saturation 00000003 1 YMLGBSMT EQU 3 SMTP error 00000004 1 YMLGBSMI EQU 4 SMIME error 0000000A 1 YMLGBINT EQU 10 Internal error 1 * 1 * STRUCT Output parameters 000000 1 YMLGOUTP DS 0XL192 UNION Output parameters 1 * 000000 1 YMLGMDAT DS 0XL192 mail data 000000 1 YMLGSTAT DS F mail status 1 * order status 00000001 1 YMLGWAIT EQU 1 waiting 00000002 1 YMLGDEFE EQU 2 deferred 00000003 1 YMLGACTV EQU 3 active 00000004 1 YMLGSENT EQU 4 send successful 00000005 1 YMLGFAIL EQU 5 send failed 1 * 000004 1 YMLGTIME DS F submission time 000008 1 YMLGUSER DS CL8 submitter 000010 1 YMLGSLCT DS F data selector 1 * Data type selector 00000001 1 YMLGSORD EQU 1 order data 00000002 1 YMLGSDAT EQU 2 result data 1 * 000014 1 YMLGDATA DS 0XL164 UNION data 1 * 000014 1 YMLGRDAT DS 0XL164 result data 000014 1 YMLGRETC DS F return code 000018 1 YMLGRETM DS CL160 return message 1 * 0000B8 00000014 1 ORG YMLGDATA 1 * 000014 1 YMLGODAT DS 0XL4 order data 000014 1 YMLGCNTT DS F # sending tries 1 * 000018 000000B8 1 ORG YMLGDATA+164 0000B8 1 YMLGMPLN DS F mail parameter length 0000BC 1 YMLGMP DS CL4 mail parameters, real size: 1 * mail_par_len 1 *
0000C0 00000000 1 ORG YMLGOUTP 1 * 000000 1 YMLGOIDS DS 0XL20 order Ids 000000 1 YMLGNORD DS F number of orders 000004 1 YMLGOID DS 1CL16 Array of order ids, real 1 * array size: num_order 00000001 1 YMLGOID# EQU 1 1 * 000014 000000C0 1 ORG YMLGOUTP+192 000000C0 1 YMLGOUTPAR# EQU *-YMLGSTAT