XMITIP Guide
XMITIP Guide
XMITIP Guide
Lionel B. Dyck
Kaiser Permanente Information Technology
501 Lennon Lane
Walnut Creek, California 94598
E-Mail: [email protected]
ISPF Dialog.................................................................................................................................... 42
Batch JCL and XMITIP Generation from the ISPF Dialog................................................................................................. 44
Address List Dialog ......................................................................................................................................................... 46
File Attachment Panel .................................................................................................................................................... 47
Format Prompting .......................................................................................................................................................... 47
The name, XMITIP, derives from the TSO TRANSMIT command, which has an alias of XMIT, and from IP,
which stands for Internet Protocol. Thus XMITIP is TSO TRANSMIT using the Internet Protocol.
XMITIP can be executed as a step within a batch job, under TSO as a command, or under ISPF using a robust
ISPF interface. It can also be used within an automated operations tool to generate messages related to system
events.
XMITIP can be used very effectively as a step within a batch job to send a report generated by that job via
electronic mail rather than printing the report. With this approach the report will arrive in the intended users
electronic mail inbox within a few minutes after the job completes. This is much faster than waiting for the
hours for the report to be printed, removed from the printer, separated from the other reports that were printed
at the same time, and then delivered or placed in a mail box for pickup. The user can then view the report
online or print as their needs dictate.
The ISPF interface is an excellent tool to use to model the XMITIP usage and once it is working completely
then the generated command can be integrated into a batch job step or TSO application.
Included with the XMITIP package are several tools that can be used to invoke XMITIP from other
applications. These tools interface to XMITIP from SDSF, from IOF, and from other ISPF applications.
XMITIP is written almost completely in z/OS REXX, with one z/OS Assembler program that performs the
MIME (Multipurpose Internet Mail Encoding) used for PDF and Binary attachments. The ISPF interface is
also written in z/OS REXX using the z/OS ISPF APIs.
This is an evolving application and any comments, suggestions, or bugs should be reported to the author's e-
mail ([email protected]). Please indicate the version of XMITIP that you are using in any e-mail.
IBM for significant assistance in answering various SMTP issues over the years.
Doug Adams for many ISPF table-coding examples, including the excellent FIND routines.
Felipe Cvitanich for his contributions of the national language enablement tools.
John Ellis for his contributions, including the interface to UDSMTP and the code to process all, or selected
via mask, members of a PDS.
Leland Lucius for his contributions of the PDF conversion routine, the initial routine to do MIME
conversion, and the time zone detection routine. Most recently for the PDF security routines and
enhancements to the TXT2PDF code.
L. A. Thomas for taking the time to provide extensive suggestions on documents, the ISPF help panels, the
ISPF dialog, and the processing of the application.
Ken Tomiak and Barry Gilder for their contribution of the REXX routine CONDCODE that is used to
capture the step completion information for the active job.
Wolfram Schwenzer for code to support the characters \{} in the RTF files.
Alain Janssens for the code in TXT2HTML to convert CSV files to HTML tables
Plus numerous individuals who have performed the task of beta testing as well as others who took the time to
send me comments, suggestions, and bug reports.
1. ZIP option
The ZIP option is enabled and utilizes PKZIP/MVS. This utility is only available on a few of the
systems. Before relying upon this option you should verify that the ZIP utility is available on the
systems upon which your jobs will be executing.
2. PKZIP/MVS is not licensed on all systems. Thus if using a ZIP option in XMITIP the following JCL
statement must be inserted into the batch JCL after the JOB statement:
3. The Data Set used in batch mode on the //SYSEXEC DD depends upon the environment:
1. The data set name format is the same as under TSO. Fully qualify with single quotes or be aware of
what your TSO PROFILE PREFIX is set to as the prefix will be appended to the start of the data set
name if it is not fully qualified.
2. The SYSTSIN DD will ignore any text in columns 73 to 80.
3. Statements in the XMITIP command can be continued to additional statements by coding either a
plus (+) or a minus (-) at the end of the statement to be continued. A plus (+) is recommended as it
pass less white space within the merged command.
4. Messages are reported in the SYSTSPRT DD
Use the ISPF dialog to experiment with the various XMITIP options and use the generated XMITIP JCL and
command as a starting point for a production implementation
%XMITIP user@address
or (u1@address u2@address..)
or *list-id*
or *
AddressFile
AddressFileDD
ASA or MACH or IGNORECC
BCC user@address
or BCC (u1@add1 u2@add2 ..)
CC user@address
or CC (u1@add1 u2@add2 ..)
CONFIG filename
or CONFIGDD ddname
DEBUG
EMSG
ERRROSTO user@address
FILE dsn
or FILE (dsn1 dsn2 ...)
FILEDD ddn1
or FILEDD (ddn1 ddn2 ...)
FILEDESC file-description
or FILEDESC (desc1 desc2 ...)
FILENAME filename
or FILENAME (file1 file2 ..)
FILEO hfs-file-name
or FILEO (hfs-file-name1 hfs-file-name2 ..)
FOLLOWUP date
FORMAT options (see the doc)
FROM from@address
HLQ high-level-qualifier
HTML (for MSGDx only)
IDVAL
IGNORESUFFIX
IMPORTANCE High Normal or Low
LANG default_language
MARGIN Lm/Rm/Tm/Bm
or MARGIN (Lm/Rm/Tm/Bm Lm/Rm/Tm/Bm ...)
MSGDS data-set-name
or MSGDS *
or MSGDD ddname or MSGQ or MSGT
or NOMSG (if no MSGDS, MSGDD, MSGT or MSGQ)
MSG72
Murphy
NOConfirm
NoRTFXlate
NoSpoof
NOStrip
PAGE „page message text‟
PDFIDX row/column/length
PRIORITY Urgent Normal or Non-Urgent
RC0
RECEIPT receipt@address
REPLYTO reply@address
RESPOND option(s)
SENSITIVITY Private Personal or Confidential
SIG dsname or SIGDD ddname
SUBJECT 'subject text'
ZIPMETHOD zip-compression-method
ZIPPASS password for zip files
%XMITIP is the command. The % indicates that the command is a REXX Exec and not a compiled
command. If entered without any parameters either an error message will be generated or, if executed under
ISPF it will invoke the ISPF interface. The command requires a minimum set of parameters to function,
including a to-address and either a message keyword (msgds, msgdd, or msgq) or a file attachment (file,
filedd, or fileo). Use of msg72 will limit the message text to the first 72 columns (to avoid sequence
numbers).
To-Address
The only positional parameter to XMITIP is the To-Address, which is the electronic mail address of the
intended recipient. Note that you do not code To-Address rather you code the actual address of the recipient.
The format of this parameter is:
address
e.g. [email protected]
“name” <address>
e.g. “First Last” <[email protected]>
(address1 address2 …)
multiple addresses are enclosed with parentheses separated by at least one blank or a comma
(“name1” <address1> “name2” <address2> …)
multiple addresses are enclosed with parentheses separated by at least one blank or a comma
*
an asterisk is used if you are using the ADDRESSFILE or ADDRESSFILEDD keywords to define a
distribution list of addresses. The single asterisk will result in the To field being blank on the users e-mail.
*address-list-description*
this is similar to the usage of a single asterisk except that the text enclosed by the two asterisks will be
specified on in the To field and will appear in the users e-mail. There must be no blanks between the two
asterisks.
The name within quotes, referred to in this document as the qualified address, will appear in the users inbox
rather than the e-mail address.
Other Keywords
The remaining keywords used by XMITIP are not positional or required. The keywords will be presented in
alphabetical order below.
ADDRESSFILE data-set-name
Or
ADDRESSFILEDD ddname
Started one blank after the action is a valid e-mail address (See the recipient address description for the
allowed formats).
Note that the address list is case insensitive. The text can be all upper case, all lower case, or mixed case with
no problems.
BCC [email protected]
Or
BCC ([email protected] [email protected] [email protected] …)
Note that with the BCC the qualified name (within quotes) is not required or used.
CC
CC is the keyword for Carbon Copy. The syntax is similar to that for BCC except that the qualified name may
be coded as it will be used if provided:
CC [email protected]
Or
CC “First Last” <[email protected]>
Or
CC (“First Last” <[email protected]> “Second Last” < [email protected]>
[email protected] …)
CONFIG
This option allows the user to define a XMITIP configuration file containing XMITIP keywords and options
for the current XMITIP execution. The configuration file must be a sequential dataset or a member of a PDS.
CONFIG data-set-name
Notes:
Only data in columns 1 to 72 are used (to avoid sequence numbers)
A „+‟ or „-„ may be used as a continuation character if desired but it is optional
Keywords and options may span records
Any keywords used will over-ride any specified on the XMITIP command
Both CONFIG and CONFIGDD may be specified multiple times in one command
Both CONFIG and CONFIGDD are recursive (you can include them in other configuration files)
The last occurrence of a keyword is the one that is used
An * in column 1 indicates a comment
CONFIGDD ddname
ERRORSTO
Use this option to send an e-mail to the specified address of any delivery errors. The syntax is:
ERRORSTO [email protected]
FILE
The FILE keyword describes the sequential data set or member of a partitioned data set that will be included
with the electronic mail as an attachment. The syntax is:
FILE data-set-name
Or
FILE (data-set-name1 data-set-name2 …)
Note that the data set name may also be a generation data set such as hlq.data.set(-2) but it may not reside on
tape.
If the data set is a partitioned dataset a member name must be specified. The member name may be a specific
member name or a mask using a *. For example:
Abbreviation: FI
FILEDD
The FILEDD keyword describes the DD statements that reference the sequential data set or member of a
partitioned data set that will be included with the electronic mail as an attachment. The syntax is:
FILEDD ddname
Or
FILEDD (ddname1 ddname2 …)
Warning: If FILEDD refers to a temporary data set that resides in VIO the file conversion to HTML, RTF, or
PDF the use of ASA or MACH should be used if the data set contains carriage control..
FILEDESC file-description-for-a-single-file
Or
FILEDESC (file-description-1 file-description-2 …)
The FILEDESC value may contain any or all of the supported symbolic variables (see list later).
Note that since blanks are not allowed you can use dashes (-) or underscores (_) or other special characters
except parentheses.
FILENAME
The FILENAME keyword describes the name that the data sets referenced by FILE, FILEDD, or FILEO will
be known as when attached to the e-mail. The syntax is:
FILENAME file1.txt
Or
FILENAME (file1.txt file2.rtf file3.pdf …)
Note that the use of FILENAME will override any suffix specified in the FORMAT keyword for the attached
file.
The FILENAME value may contain any or all of the supported symbolic variables (see list later).
If the FILENAME contains embedded blanks then it must be enclosed within parenthesis and single quotes.
FILEO „/etc/profile‟
Or
FILEO („/etc/profile‟ „/etc/rc.config‟ …)
FOLLOWUP
The FOLLOWUP keyword will generate a Internet Calendar (iCalendar) file attachment that will create a
ToDo entry in the users Calendar or ToDo calendaring tool (assuming the mail client supports the iCalendar
files). The syntax is:
FOLLOWUP date
Note that all data on the mainframe is stored in the EBCDIC character set and is translated to the ASCII
character set during the transmission. Any data that should not be translated should be attached in Binary
format.
There must be one format string (type/option) per file attachment with the default being a plain text
attachment. If you want to use the same format for all file attachments then the type must be proceeded by an
* (see below in the syntax).
FORMAT type/option
Or
FORMAT (type/option type2/option2 …)
Or
FORMAT *type/option indicates to use this format for all file attachments
FORMAT TXT
This is the default for any attachment unless another format is specified.
FORMAT CSV
The input file must be in Comma Separated Value (CSV) format and will be attached as a text file attachment
with a CSV suffix.
FORMAT BIN
This format is used when attaching data that should be sent without translation.
FORMAT GIF
This format is used when attaching a graphic interchange format (GIF) binary file. The input must already be
in GIF format.
FORMAT ICAL
This format indicates that an Internet Calendar file is being attached. The file suffix for the filename must be
ics.
Note that under the ISPF dialog using a * in the file attachment field with a format of ICAL will bring up a
prompting panel to generate the iCalendar file.
FORMAT HTML
This format indicates that the file will be converted to a basic HTML format that is easily viewed using any
Web Browser (e.g. Netscape, Microsoft Internet Explorer). This option supports several parameters. A null
may be used in place of a parameter to take a default. If the input file is already in HTML format then no
conversion is performed and the file is just attached with the appropriate information.
FORMAT HTML/color/suffix/font-size/banner/table/header/wrap/semicolon
Or
FORMAT HTML/color-color/suffix/font-size/banner/table/header/wrap/semicolon
Or
FORMAT HTML/DS:configuration-data-set
Or
FORMAT HTML/DD:configuration-ddname
Color defines the background color of the web page when only a single color is specified. When two colors
are specified then the first color is the background color and the second color is the text (or foreground) color.
Suffix can be used to define the file suffix that will be used for the attached file, but only if no FILENAME
keyword is specified for this file.
Font-size defines a relative font size ranging from 1, which is extremely small, to 7, which is very very large.
The font sizes are relative because the user can alter the font size defaults within their Web Browser.
Banner may be Yes or No (or null) and indicates if the file-description is to be used as a Banner in the
generated html document. If there is no file description then the file dataset name will be used.
Table may be Yes or No (or null) and indicates that the input file is a CSV file that should be converted to an
HTML table.
Header may be Yes or No (or null) and indicates that the input CSV file contains a header row.
Wrap may be Yes or No (or null) and indicates that the text in each cell in the HTML table should wrap.
Semicolon may be Yes or No (or null) and indicates that a semicolon (;) has been used in the CSV file instead
of a comma (,).
Example:
FORMAT HTML/w-bla//4
This keyword will format a file as HTML with the background color white and the text color black. The font
size will be 4.
The configuration file is any sequential data set (or PDS member) with TXT2HTML statements coded in each
record. An * in column 1 indicates a comment record.
FORMAT PDF
PDF is short for Portable Document Format and is the file format used by the Adobe Acrobat reader. A
version of Adobe Acrobat is available free for the Linux, Macintosh and Windows workstations. The syntax
for this is:
FORMAT PDF/layout/font-size/paper-size/lpi/rpo
Or
FORMAT PDF/txt2pdf-configuration-file
Where:
Layout defines the paper orientation of Portrait or Landscape. These can be abbreviated as just P or L.
Paper-size defines the width and height of the paper. Valid options are Letter (LET), Legal (LEG), A4, and
user defined widthXheight (e.g. 4x6).
LPI is lines per inch. The default is 8 lines per inch. If the font size is adjusted this value should be reviewed.
RPO, short for Read and Print Only determines if the created PDF file will be secure. The syntax for this
option is:
No No security
40 40-bit security
128 128-bit security
or
nn:upw where nn is 40 or 128 and upw is the User Password required for the user to read the file
Important: If using this option then all PDF formatting options must be included in the configuration
file.
Note: the MARGIN keyword can be used with this format to adjust the top, bottom, left, and right margins on
the page.
Examples:
FORMAT PDF/l/9/let/6
or
FORMAT PDF/l/9/let/6/40:readpw
Defines landscape orientation, 9-point font, letter size paper, and 6 lines per inch on the first and on the
second the same formatting with 40-bit encryption and a read only password.
FORMAT RTF
RTF is short for Rich Document Format and is a common document interchange format that can be used by
Microsoft Wordpad, Microsoft Word, WordPerfect, Star Office and other word processors. The syntax for this
is:
FORMAT RTF/layout/font-size/paper-size/ro
Or
FORMAT RTF/txt2rtf-configuration-file
Where:
Layout defines the paper orientation of Portrait or Landscape. These can be abbreviated as just P or L.
Font-size is the size of the font in points. There are 72 points to an inch. The default is 9.
Paper-size defines the width and height of the paper. Valid options are Letter (LET), Legal (LEG), A4, and
user defined widthXheight (e.g. 4x6). Note: the units for the Width and Height is defined for each installation
and may be either Inches or Centimeters. Check with your installation support if you are not sure.
ro is Yes to enable ReadOnly mode or No (or blank) for normal Read/Write mode.
Important: If using this option then all RTF formatting options must be included in the configuration
file.
CC
FONT 9
MARGINS .8/.8.5.5
Note: the MARGIN keyword can be used with this format to adjust the top, bottom, left, and right margins on
the page.
Example:
FORMAT RTF/p/9/let
Defines a document with portrait paper orientation, 9-point font, and letter size paper.
FORMAT XMIT
This format is used when sending a dataset created by the TSO Transmit command. The dataset will be
attached as a binary file attachment. If the input is not in TSO Transmit format then XMITIP will use TSO
Transmit to put it into XMIT format.
FORMAT ZIP
This format will cause the text file to be compressed using a ZIP utility (PKZIP/MVS, ISPZip, or InfoZip) if
installed and available. The syntax is:
FORMAT ZIP/name-in-archive
The name-in-archive is used by InfoZip and PKZIP/MVS version 2.51 and higher and is similar to the
FILENAME keyword. If specified the file will be placed in the ZIP archive file using this name. The
FILENAME keyword is used to specify the name the ZIP archive will be known as in the e-mail attachment.
For InfoZip the name-in-archive will have a installation defined high-level-qualifier appended to its front.
FORMAT ZIPBIN
This format will cause the binary (no translation will be performed) file to be compressed using a ZIP utility
(PKZIP/MVS, ISPZip, or InfoZip) if installed and available. The syntax is:
FORMAT ZIPBIN/name-in-archive
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment.
FORMAT ZIPCSV
This format will cause the input file, which must already be in CSV format, to be compressed using a ZIP
utility and then attached. The syntax is:
FORMAT ZIPCSV/name-in-archive
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment.
FORMAT ZIPGIF/name-in-archive
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment
FORMAT ZIPHTML
This format will cause the file to be converted to HTML format and then to be compressed using a ZIP utility
(PKZIP/MVS, ISPZip, or InfoZip) if installed and available. The syntax is:
FORMAT ZIPHTML/name-in-archive/color/font-size/banner/table/header/wrap/semicolon
Or
FORMAT ZIPHTML/name-in-archive/DS:configuration-data-set
Or
FORMAT ZIPHTML/name-in-archive/DD:configuration-ddname
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment.
See the FORMAT HTML description above for the definition of the color and font-size parameters.
FORMAT ZIPPDF
This format will cause the file to be converted to PDF format and then to be compressed using a ZIP utility
(PKZIP/MVS, ISPZip, or InfoZip) if installed and available. The syntax is:
FORMAT ZIPPDF/name-in-archive/layout/font-size/paper-size/lpi/rpo
Or
FORMAT ZIPPDF/name-in-archive/txt2pdf-configuration-file
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment.
See the FORMAT PDF description above for the definition of the layout, font-size, paper-size, lpi parameters
and the txt2pdf-configuration-file option.
FORMAT ZIPRTF
This format will cause the file to be converted to RTF format and then to be compressed using a ZIP utility
(PKZIP/MVS, ISPZip, or InfoZip) if installed and available. The syntax is:
FORMAT ZIPRTF/name-in-archive/layout/font-size/paper-size/ro
Or
FORMAT ZIPRTF/name-in-archive/txt2rtf-configuration-file
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment.
See the FORMAT RTF description above for the definition of the layout, font-size, and paper-size parameters
and for the information on the specification for the configuration file.
FORMAT ZIPXMIT/name-in-archive
The name-in-archive is used by PKZIP/MVS version 2.51 and higher and is similar to the FILENAME
keyword. If specified the file will be placed in the ZIP archive file using this name. The FILENAME keyword
is used to specify the name the ZIP archive will be known as in the e-mail attachment
Note: If no FORMAT keyword is used then the format used will be determined by:
1. looking at the filename suffix (e.g. filename.rtf will use format of rtf)
2. looking at the attachment dsn suffix if there is no format or filename (e.g. dataset.rtf will use format
of rtf)
Abbreviation: FORM
FROM
The FROM keyword defines the electronic mail address of the sender. The syntax is:
FROM e-mail@address
The format of the e-mail@address can be seen above under the To Address.
Examples:
FROM [email protected]
From: “first last” [email protected]
Abbreviation: FR
IMPORTANT: This keyword should always be specified and should be your personal e-mail address on your
official electronic mail system. This address will be used if any of the To, Bcc, or CC addresses are incorrect
and the e-mail bounces back. If not used the bounced e-mail will be routed to the senders TSO system – and
you do not want to read e-mail on TSO since there is no good e-mail reader on TSO and TSO does not support
file attachments.
HLQ
This keyword defines a high level qualifier that will be used for work data sets used within the XMITIP
application. This keyword should be used when running XMITIP in batch under userids that do not have a
TSO segment defined. The syntax is:
HLQ xxxx
Or
HLQ xxx.yyy
HTML
This keyword has no parameters and simply indicates that the text in the MSGDS or MSGDD is coded in
HTML or Rich Text format. Use this if you want to send text that has color, bolding, italics, or different font
sizes.
IDVAL
This keyword when used will enable e-mail address verification providing that the XMITLDAP defaults
module has been updated appropriately. With this all e-mail addresses that fail validation will cause the e-mail
to be aborted.
IMPORTANCE parameter
LANG Spanish
MACH
MACH instructs XMITIP to assume that the file attachments contain Machine carriage control. The default is
to use the carriage control defined in the DCB of the input data set. This keyword should be used if FILEDD
is used and refers to a data set on VIO.
MARGIN left/right/top/bottom
Or
MARGIN (left/right/top/bottom left2/right2/top2/bottom2 …)
Note: the units for the Margin specification is defined for each installation and may be either Inches or
Centimeters. Check with your installation support if you are not sure.
If the form of FORMAT is used of FORMAT *xxx/… which applies the FORMAT to all file attachments
then a single MARGIN specification is used for all file attachments as well.
MSGDD
The MSGDD defines a DDName that references a sequential data set or member of a partitioned data set that
contains the text to be included in the message portion of the e-mail. Its use is mutually exclusive of the other
MSGxx keywords. The syntax is:
MSGDD ddname
Note that the DD statement may be a DD * and/or a concatenation of multiple data sets.
MSGDS data-set-name
Or
MSGDS data-set-name(member)
Or
MSGDS omvs.file-name
Or
MSGDS * (under ISPF Only)
When MSGDS * is used under ISPF the ISPF Editor is opened on an empty data set (record length is 72) in
which the message text may be entered (or copied from another data set).
Note that when using an OMVS file name that the file name is case sensitive (e.g. file ABC is not the same as
AbC).
MSGQ
The MSGQ keyword may be used to pull the message text from the TSO Stack. This option is designed to be
used primarily by automation tools that will QUEUE lines of text to the TSO Stack to be sent in a e-mail. Its
use is mutually exclusive of the other MSGxx keywords. The syntax is:
MSGQ
MSGT
The MSGT keyword may be used to include message text within the XMITIP command. The message text
must be enclosed in either single quotes „ or double quotes “. A \ may be used to cause the following text to be
placed on a new line. Any of the supported symbolics may be used within the message text. The use of the
escape character, a /, prior to the \ will allow the \ to be included within the message.
If the first 5 characters of the message text is html: then the string html: will be removed and the message
text will be processed as html text.
MSG72
This keyword is used in conjunction with MSGDD , MSGDS, MSGQ, and MSGT to limit the data processed
to the first 72 columns. This is useful if the message data contain sequence numbers in columns 73 to 80. The
syntax is:
MSG72
MURPHY
This keyword will cause a cute or humorous quote to be included in the message of the e-mail. It will appear
after the message text and before a signature. The syntax is:
MURPHY
NOCONFIRM
This keyword is useful if you do not want to see the XMITIP report. Its use is not recommended. The syntax
is:
NOCONFIRM
NOIDVAL
NOMSG
The NOMSG keyword is used for documentation purposes only. When you are sending a e-mail with a file
attachment with no message this keyword can be used so that others reviewing your command syntax will
know that you explicitly decided not to send a message with the file. The syntax is:
NOMSG
NORTFXLATE
This option should be used only if you have RTF fields in your document and you do not want XMITIP to
insert escape characters in front of them. The syntax is:
NORTFXLATE
NOSPOOF
The NOSPOOF keyword can be used only if it is enabled by the installation to bypass the generation of the
AntiSpoof message text in the message.
NOSTRIP
The NOSTRIP keyword is used to turn OFF the removal of trailing blanks in file attachments. This may be
necessary if the receiving user needs to process the data and requires the trailing blanks. The syntax is:
NOSTRIP
Usage Notes:
1. NoStrip may not work in all environments for Format types of HTML, RTF, or TXT.
2. NoStrip will always work for Format types of Binary, XMIT, and all formats of ZIP.
3. NoStrip does not work for Format PDF.
PAGE
The PAGE keyword is used to generate a short message to a pager and defines the message text to be used
with the e-mail. The syntax is:
The text must be enclosed in either single („) or double (“) quotes. Using a double quote (“) on the outside will
allow the use of a single quote („) on the inside. The size of the paging text is not limited.
The PAGE may contain any or all of the supported symbolic variables (see list later).
Examples:
Notes
1. That the use of PAGE precludes the use of SUBJECT, any of the MSG keywords and any of the
FILE keywords.
2. The recipient address should be to a pager. Many paging providers have a e-mail address of the
format [email protected]
for example: [email protected]
PDFIDX row/column/length
Where
Row The row on the page where the index is to be found. If 0 then look on all rows.
Column The column where the index is to be found.
Length The length of the index
PRIORITY
This keyword is similar to IMPORTANCE but some e-mail packages flag priority differently than
importance. The syntax is:
PRIORITY parameter
Abbreviation: PR
RC0
This keyword is used when the input FILE, FILEDD, etc. might be empty and the user requires a zero return
code.
RECEIPT
This keyword will cause an e-mail to be returned to the specified address when the e-mail has been received.
Some e-mail systems may send the receipt when the e-mail is opened, others when it is delivered to the users
inbox (but not opened yet). The syntax is:
RECEIPT address
REPLYTO address
The address is any of the valid electronic mail address formats – see the To Address above for address syntax
information.
Abbreviation: REP
RESPOND
This option will generate in the message text of the e-mail an automatic reply with the text of the respond
option.
The message text will be generated with HTML tags (see the HTML option) and the response links will
generate an e-mail with the subject changed to “re: subject: option” and the body of the e-mail response will
contain the option text.
SENSITIVITY parameter
Where parameter is one of these values: Private, Personal, Company-Confidential or Confidential each of
which may be abbreviated to:
PR for Private
PE for Personal
COM for Company-Confidential
CON for Confidential
If this parameter is coded a line of text may be included with each e-mail at the beginning r end of the
message text based upon an installation option. The line will be one of the following:
This E-Mail is Confidential and is intended for use by the recipient(s) only.
This E-Mail is Company-Confidential.
This E-Mail is Personal and is intended for use by the recipient(s) only.
This E-Mail is Private and is intended for use by the recipient(s) only.
Abbreviation: SENS
SIG
The SIG keyword references a sequential data set or member of a partitioned data set, which contains text to
be used as a signature. The syntax is:
SIG data-set-name
SIGDD
The SIGDD references a DD statement that refers to a sequential data set, or member of a partitioned data set,
which contains text to be used as a signature. The syntax is:
SIGDD ddname
SUBJECT
The SUBJECT keyword defines the subject to be used with the e-mail. The syntax is:
The subject must be enclosed in either single („) or double (“) quotes. Using a double quote (“) on the outside
will allow the use of a single quote („) on the inside. The size of the subject is not limited.
The SUBJECT may contain any or all of the supported symbolic variables (see list later).
Examples:
Abbreviation: SUB
TPAGELEN
Defines the maximum number of characters allowed in a text page. If 0 then there is no limit.
ZIPMETHOD value
ZIPPASS password-for-zip
Note: This password is not totally secure. It is not approved for high security environments.
If using PKZIP Version 5.6 or newer the security of the ZIP file can be enhanced by using AES encryption.
To do so the format of the password is:
xxx:passsword
The following are the supported symbolic variables that are allowed in the FILENAME, FILEDESC, MSGT,
and SUBJECT keywords:
Or
XMITIP [email protected] FILE data.set.name
The sample JCL is an execution of the TSO Batch Terminal Monitor Program (or TMP). The dash (-) or a
plus (+) is used to indicate that a continuation follows when a command cannot fit on a single card image.
Data set coding conventions are the same as for any TSO Batch TMP invocation. The data set must be fully
qualified within single quotation marks otherwise the userid under which the job is submitted will be
appended as the high level qualifier. Members of partitioned data sets may be distributed as well by coding
the member name within parentheses as is the common JCL coding standard.
Note: when using XMITIP to e-mail using a distribution list that you should use the AddressFile or
AddressFileDD keywords and data sets. This avoids having a lot of addresses in the command itself and
eliminates the potential of causing a syntax error when changing addresses as recipients are added or
removed.
These examples demonstrate using the Batch TMP (Terminal Monitor Program) to invoke TSO commands in
batch. Some things to be aware of are:
1. The data set referenced by the //SYSEXEC statement is the location where the XMITIP application has
been installed.
2. When the command exceeds one statement it must be continued with either a + or a – on the statement
immediately before the continuation statement.
3. The case of the command is not relevant. It can be all upper case, all lower case, or mixed case. Note that
the subject is the only information in which you may be concerned about case.
4. Not all examples include a FROM keyword, however it is always good practice to include this keyword
with your primary e-mail address coded.
5. Use of a – for continuation will yield extra spacing which may not be desirable in a long subject while the
use of the + for continuation will suppress the extra spacing.
This example will send a member of a partitioned data set with no message text and a short subject to 2 users.
Sending example 2 with 2 CCs with a From of my primary e-mail so questions about what I‟m sending can be
sent there.
To [email protected]
CC [email protected]
Cc [email protected]
Bcc [email protected]
Example 8: Using MSGQ
This example demonstrates a REXX Exec that calls XMITIP with the MSGQ option.
/* rexx */
Example 10: Send a Dataset in RTF Format using ZIP to save space
//TSOB EXEC PGM=IKJEFT1B
//SYSEXEC DD DISP=SHR,DSN=rexx.exec
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
%xmitip [email protected] nomsg file 'hlq.weekly.report' –
from [email protected] -
subject 'weekly report' format ziprtf/weekly.rtf/port/9/let
/*
In this example we are sending a data set called „hlq.weekly.csv‟, which contains comma separated value data.
We are using the FILENAME keyword to explicitly name the file attachment as report.csv so that it will
arrive with a .CSV suffix.
Note that column A, row 3, and has leading zeros while the others cells do not. This is because of the format
of the input for that cell.
Notice how the continuation lines are coded. The continuation character is the –
symbol or the + symbol. The quotes around the message text are only found before
the first character of the text and after the last character – not about each
line of text. The \ starts a new line. Leading blanks will be included, for
In this example the to e-mail address is specified (as it is required as the first option of the command) and then
the configuration file is specified.
Example 14: Sending a Message to a Pager if Job Abnormally Ends
. . .
//TEST1 IF (RC > 4 | ABEND = TRUE) THEN
//MAIL EXEC PGM=IKJEFT1B
//SYSEXEC DD DISP=SHR,DSN=rexx.exec
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD *
xmitip [email protected] +
page “job &job(&jobnum) has ended abnormally +
on &date at &time”
/*
// ENDIF
In this example if the highest return code (RC) for the previous steps is greater than 4 or the job abends then
the message will be generated using the PAGE option and an e-mail address of a text pager.
In this example only Pages 1, 3 and 10 will be e-mailed out and all other pages will be ignored.
See the documentation below for details on the control statements that are supported by this utility and for
particulars on how this utility works.
This example will demonstrate how to create a PDF from a report using the PDF Configuration DD option.
The control data set is a partitioned dataset (PDS) and only those members which start with TD are processed.
The format of the TD members is:
Statement Contents
1 Day(s) of the week or the Day of the Month
e.g.
Sunday, Monday, Tuesday, ….
Or
5, 10, 15, 20, 30
2 Name of the owner of this request. This is for contact purposes should
questions arise about the generated e-mails or recipients
3 Subject for the e-mail using the syntax:
SUBJECT: subject text
NOTE: This routine is an example intended to give each installation ideas on how to do this. Should anyone
develop this routine beyond this simplistic base please advise.
1. Split an input file into individual reports to be e-mailed based on a Key Value that is found in a
specific Column and Record location.
2. Split an input file into individual reports to be e-mailed based on a Key Value that is found in a
specific Column location in any record.
3. Separate an input file into individual reports to be e-mailed based on a specific number of lines per
report.
4. Separate an input file into individual reports to be e-mailed based on a specific number of pages per
report.
5. If separating by Key Values a COMBINE option to consolidate all separated reports for each e-mail
address into a single e-mail.
XMITIPSP will perform the input file split/separation and then internally invoke XMITIP to e-mail the report
subset.
An example of using XMITIPSP in Batch can be found in Example 15 above on page 35.
Note: when splitting by Key Value (SEPLOC and KEYV) any key values found in the input data set that are
not found in a coded KEYV statement will be ignored.
XMITIPSP Syntax
Where: Input-file is the input data set that contains the report to process.
Control-file is a data set that contains the XMITIPSP control statements
Options may be DEBUG only at this time.
If specified then the call to XMITIP will only be echoed on
the report.
Both Input-File and Control-File can be coded as data set names or a DD:ddname to provide flexibility.
XMITIPSP Control Statements
Control statements start in column 1 and all data starting from column 1 to the end of the record will be used.
Combines all separated reports into single file and single e-mail based on KEYMAIL address.
The net result is that each KEYMAIL address will receive individual e-mails with a combined report of all
KEYV values that match for them.
Syntax: Combine
FILENAME
Filename defines the name the file will have when it arrives in the users‟ inbox. The filename may contain any
of the supported XMITIP symbolics (see page 27) as well as the following two symbolics that are unique to
XMITIPSP:
Syntax: Filename=report.rtf
Note that the filename suffix should match the file type of any formatting that occurs. For example RTF is the
suffix when using the FORMAT RTF to convert the file to rich text format.
GMAIL
Is the same as KEYMAIL but is used with SEPLOC to eliminate the need to code redundant KEYMAIL
addresses for multiple KEYV statements.
Individual KEYMAIL statements may still be used with a KEYV if desired to send the separated reports to
just that address for that KEYV.
Syntax: [email protected]
KEYMAIL
Keymail defines an e-mail address that will be paired with the KEYV statement which must precede the
KEYMAIL statements. There must be at least 1 KEYMAIL for every KEYV statement and may be as many
KEYMAIL statements as are required.
Syntax: [email protected]
The KEYPREF is a prefix that must be found in the key value location (SEPLOC) to validate that the field
contains a key.
Syntax: Keypref=prefix
Note that the prefix is left justified with no trailing blanks and is case sensitive.
KEYV
The KEYV keyword defines a Key Value that will be tested for based on the information provided in the
SEPLOC keyword. Only one KEYV is allowed per Key Value and all KEYMAIL statements that are
associated with this KEYV must follow immediately in the control data set.
This example demonstrates that embedded blanks may be used in a Key Value.
The KEYSUBJ defines a subject that will be used for e-mails associated with the related KEYV value.
MERGEMAIL is similar to COMBINE with the difference that with MERGEMAIL each separated report is
sent as a unique file attachment instead of being combined.
MSGDD
MSGDD refers to a DD statement that references a data set with message text that will be included in the
generated e-mail.
Syntax: MSGDD=ddname
MSGDS
MSGDS refers to a data set that contains the text of a message to be included in the generated e-mail.
Syntax: MSGDS=data.set.name
MSGSTART
MSGSTART indicates that the statements which immediately follow are to be used as the message text for the
generated e-mail:
Syntax: MSGSTART
MSGEND
SEPLINES is used to indicate how many lines of data are to be separated into each report subset to be e-
mailed.
Syntax: SEPLINES=1000
SEPLOC
Syntax: SEPLOC=column/length/row
Where: column is the column in the data where the Key Value will be found
length is the length of the Key Value
row is the physical row (record) on the page where the Key Value will be found
Notes:
SEPPAGES is used to indicate how many pages of data are to be separated into each report subset to be e-
mailed.
Syntax: SEPPAGES=1000
Note: the data set must have carriage control so that page counting can occur.
The subject will be used with the generated e-mail to inform the user what they are receiving.
The subject may contain any of the supported XMITIP symbolics (see page 27) as well as the following two
symbolics that are unique to XMITIPSP:
Note that blanks, left parens and right parens are translated to _
&sepnum Replaced by the current report subset number
To is used with SEPLINES or SEPPAGES to define an e-mail address to receive the split reports.
Syntax: [email protected]
Multiple TO statements are allowed to provide multiple e-mail addresses to receive the split reports.
XMITIPCONFIG
Syntax: XMITIPCONFIG=data.set.name
or XMITIPCONFIG=DD:ddname
See page 12 for more information on the XMITIP configuration data set.
XMITIPSP Required Statements
FILENAME
KEYV with 1 or more KEYMAIL statements
SEPLOC, SEPLINES, or SEPPAGES
TO (if SEPLINES or SEPPAGES)
XMITIPCONFIG
XMITIPSP Mutually Exclusive Statements
XMITIPSP must be run under the Terminal Monitor Program (TMP) either in the foreground or in batch. All
the standard TMP DD‟s are required (SYSPRINT, SYSTSPRT, and SYSTSIN) along with the REPORT DD
which is where the XMITIPSP processing report will be written.
The ISPF dialog is a very easy to use and greatly simplifies the coding of the XMITIP command, as the dialog
actually reports on the complete syntax of the generated XMITIP command. The BATCH Execution Mode
option can be used to generate a data set with the XMITIP generated command as well as the necessary JCL
which can be submitted for a batch execution or to be copied into a production job‟s JCL.
1. The XMITIP command, when entered with no parameters and under ISPF, will invoke the ISPF
dialog.
2. The XMITIPI command will directly invoke the ISPF dialog.
3. The XMITIPFE command (see below for more information) will invoke the ISPF Dialog.
4. The XMITIPED and MAILFILE commands (see below for more information) will invoke the ISPF
Dialog.
To Address ===>
CC Address ===>
BCC Address ===>
AddressFile ===>
Subject ===>
The Execution Mode, which defaults to ISPF, defines whether the generated XMITIP command will be
executed in the foreground under ISPF or if a batch job containing the XMITIP command will be generated.
See below for more information on this.
An execution mode of Config will cause the generated XMITIP keywords and options to be written to the file
specified in the Configuration File field. If the Configuration file already exists then a popup will prompt to
replace or overlay it or to cancel and return to the XMITIP Panel to specify a different dataset name.
If the Subject is PAGE then the message text entered in the Message DSN field will be used for the paging
text. If there is not enough room in the Message DSN field then enter a ? in the Message DSN field and a
panel will popup allowing the entry of 2 lines of text.
If option Debug is selected then all processing will be performed with the exception that the e-mail will not be
sent, the user is placed into ISPF Browse on the generated e-mail. This option can be used to review all of the
SMTP and MIME control statements as well as the generated HTML and/or RTF tags if generated.
Each field on the panel has field level help available by moving the cursor to that field and pressing F1.
The Default Settings option will bring up the following panel to allow you to set your personal defaults: Note
that you can also select the Mail Settings option the following panel will be displayed to allow you to set the
Mail delivery information:
If the installation has configured XMITIP to require a From address then this panel will display each time that
the XMITIP dialog is started until the From address is filled in. From that point on this will only display upon
request. After updating the information use PF3 to return to the primary XMITIP panel.
If you are sending a dataset as an attachment, by specifying it on the XMITIP primary ISPF panel, then the
following panel will display if the attachment name changes from the prior use, or if the Settings option is
requested:
For Dataset:
After filling out this information use PF3 to return to the XMITIP panel.
The other panels that are displayed in this dialog are discussed below and will only appear if prompting is
requested using the ? in one of the following fields:
Recipient Address
a ? will bring up the Address List dialog from which you can select/enter To, CC, and BCC
recipients
CC or BCC
a ? will bring up the Address List dialog
Attachment DSN
a ? will bring up the File Attachment dialog
Format
a ? will bring up the Format prompting dialog and will then return to the XMITIP Panel with the
Format field filled in with the selected format. This behavior is unique to this prompt.
If the Execution Mode is Batch then the following panel will be displayed:
This allows the user to review the generated XMITIP command with the following options:
This is helpful to use the ISPF dialog to build the JCL and XMITIP statements for use in a regularly scheduled
batch job.
Below is an example of the generated JCL and control statements. The first four statements are the JOB
statements. These statements may be modified while using the J option, or using the E (Edit) option. The data
set name on the SYSEXEC data definition statement is dynamically determined based upon the location of
where the XMITIPI REXX is currently being executed from.
If the execution mode of Prompt is requested then the following panel is displayed allowing the user to
confirm sending the e-mail or cancel sending.
Enter Yes to confirm Sending ===> then press the Enter key.
or press PF3 to cancel sending of this e-mail.
Generated Command:
%xmitip [email protected] +
Msgds * +
From [email protected] +
Subject 'Test e-mail' +
Sig XMITIP.SIG +
Murphy
If Yes is entered followed by the Enter key then the e-mail will be sent. If PF3 is pressed then the e-mail will
be cancelled.
Note that the entry of message text for a MSGDS * will occur only after this e-mail has been confirmed to be
sent.
_ lionel b dyck
[email protected]
Notes:
1. The LookUp option may not be enabled for everyone. This option, when available, will allow the user to
perform a e-mail address lookup using the z/OS LDAP client referencing a LDAP server somewhere in
the enterprise.
2. The SaveAF and LoadAF are used to Save an AddressFile or to Load an AddressFile.
3. The Sort commands are Sort Mail (default) or Sort Name.
4. Help is available via the F1 function key.
5. Every address specified in the Recipient To, CC, and BCC fields will be automatically added to this list
for future use.
Addresses may be entered by entering I (for Insert) on the command line or in a Sel entry field. The following
panel will appear to allow you to enter (or change) an Address:
Recipients Name:
E-Mail Address:
Note: if the LookUp option is enabled then any address that is entered, which is a local address, will be
validated.
Addresses are selected by an S, which places the address as a To address, by a C, which places the address in
the CC address, or by B, which places the address in the BCC addresses.
To build an addressfile:
This will create, or update, an AddressFile and at the same time pass this data set name to the XMITIP
command that is being generated.
The LOADAF command will prompt for an AddressFile data set name and will load it into the Address List.
The L selection command will load the selected AddressFile. New addresses will be inserted into the list and
all addresses in the list which match will be flagged appropriately. This allows you to change the contents of
an AddressFile easily, after which you should use the SAVEAF command to make the changes permanent.
Sel Dsname
Filename (that will appear in the e-mail)
Format (of the file attachment - use ? for prompting)
Description (of the file attachment - no blanks)
Left Right Top Bottom Margins in units of
PDF Index row/column/length
_ _____________________________________________________________
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________
______ ______ ______ ______
__________________________
This panel allows you to enter data set names with formatting information for those data sets, which you will
be sending frequently, or when you need to send more than one data set. The data sets must be explicitly
entered by you and are not automatically added to the list as addresses are to the Address List.
There are five lines to each data set entry as described by the heading. Additional data sets can be added using
the Insert command.
Data sets must be selected to be sent. If a data set is selected in error, the U selection command may be used
to unselect it.
Field level help is available for each field on this panel and a ? may be used in the format line to bring up the
format assistance prompting.
Format Prompting
There are two levels of format prompting. The first prompt is:
Syntax:
EDIMAIL
This is an ISPF Edit macro that may be used to e-mail the file currently being edited.
MAILFILE
This tool is designed to be used from the ISPF 3.4 data set list or from within another ISPF dialog and will
invoke the XMITIP ISPF interface and prime the file attachment data set name field with the specified data
set.
Syntax:
MAILFILE dsname
MAILHFSE
This is an ISPF Edit macro that can be used to e-mail the HFS file currently being edited.
The SETSDSFK needs to only be executed once as the function key setup is remembered in the ISPF Profile
for SDSF.
Syntax:
%SETSDSFK option
Note that the data set created by the action of the function key command is only temporary and the
XMITSDSF will delete that data set upon completion of the e-mail.
XMITSDSF Syntax:
Valid Options:
IN input-dataset or IN DD:input-dd
OUT output-dataset or OUT DD:output-dd
COLOR color (see XMITIP HTML color for syntax)
FONT font-size (from 1 to 7)
CC Yes or No (indicates if the input dataset has carriage control)
NOCONFIRM (turns off all non-critical informative messages)
BROWSE (browse the report if under ISPF)
BANNER Yes or No (to print title as a banner)
TITLE title text (must be the last keyword used)
TABLE (to convert csv to table)
NOHEADER (if no header row desired in the Table)
WRAP (columns are wrapped to length of the largest word)
SEMICOLON (use semicolon instead of comma)
Syntax: XMITIPED
XMITIPFE
This tool is to simplify calling the XMITIP ISPF dialog from other ISPF applications. It allows the calling
application to pass information that will be set in the XMITIP ISPF panel for the user. The syntax is:
Valid keywords:
To(to-email-address)
msgds(* for edit or data set name)
file(attachment data set name)
filename(attachment name)
format(format)
subject(subject text)
XMITIPPD
This exec now invokes TXT2PDF.
XMITBULK
This exec allows the user to create a sequential file with many different e-mails within it. The syntax is:
TO: to-address
CC: cc-address
SUBJECT: subject
Text
Text
When reading the attachment in your e-mail reader the user can either (1) launch the attachment, which will
open the attachment in the appropriate application or (2) if you are using Lotus Notes you can try using the
built in Lotus Notes View option. When using Microsoft Outlook when clicking on the attachment you will be
asked to open or save it. When you select Open the attachment is opened in the appropriate application.
Note: If the attachment is a text file you may need to change the default font as the default font for text file is
normally a proportional font while mainframe reports tend to be designed to use a fixed pitch font (e.g.
Courier).
Select EDIT
Select Set Font
Select Courier or Courier New
Select a reasonable font size (e.g. 10)
V08.01 01/02/08
Change to Versioning to yy.mm (year.month) to give the user a better idea of when their version was released.
Improvements and cleanup of the NLS support – Thanks again to Hartmut Beckmann
&JDATE-n now works
Added symbolic &RCH which is replaced by the highest condition code from all prior steps
Temporary filenames for pdfwork, rtfwork, and htmlwork are now shorter so there is less potential to exceed
the 44 character limit.
Add FROM and REPLYTO as options within an AddressFile/AddressFileDD
V5.70 10/15/07
* Numerous changes to enhance NLS support thanks to Hartmut Beckmann
EXEC updates
SETSDSFK - enclose extract dsn (ldsn) in quotes (') to better work when PROFILE NOPREFIX is used and
userid <> prefix
- use zdel as delimiter (thx Hartmut)
XMITIP - Fix long subject wrapping and spacing
- Add &iweek, &iweeke, &iweekr symbolics uses new
Allow abbreviations for the following
FILE - FI
FROM - FR
FORMAT - FORM
PRIORITY - PR
REPLYTO - REP
SUBJECT - SUB
XMITFDAT function exec
- Add new options for NLS codepage_default encoding_default
- Add symbolic &ctime hhmmss (compact current time)
- Add new option check_send_from check from address in an external routine
i.e. to bypass spam filter
- Add new option check_send_to (future)
- Add new option smtp_fax to support different smtp tasks/writer (future)
- Fix default_lang for &month
XMITFDAT - Date function package from: Generic Object Rexx date arithmetic routines by Toby Thurston -
-- 2 Dec 2002
XMITIPIC - Updates to remove blank line and change type from text to request
XMITIPCU - Add new options for NLS codepage_default encoding_default
codepage_default encoding_default
- Add symbolic &ctime hhmmss (compact current time)
- Add new option check_send_from check from address in an external routine i.e. to bypass spam filter
* All Thanks to Hartmut
XMITIPMU - Additional quotes (enjoy)
XMITIPI - Version Change only
XMITIPTR - Danish addition thx to Frank Allan Rasmussen
XMITZEX1 - rewrite the from address (thx Hartmut)
XMITZGEN - Encode data to Quoted-Printable (thx Hartmut)
TESTCU - support new XMITIPCU variables (thx Hartmut)
- Misc updates
IOF - Documents the IOF interface to XMITIP from
the IOF vendor
IOFOLD - The old doc on how to use XMITIP with IOF (now obsolete - see member IOF)
SPOOF1 - updated to reflect recent changes
UDSMTP - added caveats on usage