The Print SEU Text command provides an editor using SEU. Text is
keyed in using SEU with special commands in the text. The PRTSEUTXT
command is then used to format the printed output.
PRTSEUTXT is designed for users that know SEU. It uses a unique
'mark up' or 'tag' language that is not compatible with any other
product. For a 'short course' on PRTSEUTXT, see approximate
statement 81 or Page 3. For a 'medium course' see approximate
statement 186 or Page 6. A summary (one line per command and
function) is available at approximately statement 2666 or Page 60.
The next set of statements allow you to quickly access the
description of various sections of this document.
Section Statement Prtd page
------- --------- ---------
PRTBCKBCK - Print back to back
------------------------------
Some printers allow printing of pages on both sides.
PRTSEUTXT command parameters 661 16
Commands within the SEU source
- Paragraphs 885 21
- Miscellaneous (double space, comments etc.) 1097 25
- Heading and footings 1254 28
- New page and skipping 1363 31
- Page size, margins, overflow 1423 32
- Keep request (keep block of lines on a page) 1487 33
- File processing 1535 34
- Executing CL commands 1714 38
- Table of contents 1758 39
- Index 1898 42
- Referencing another page in the document 2032 45
- Chapter identification 2117 47
Functions within the SEU source
- Counters (page numbers) upper and lower case 2165 48
- Dates 2324 51
- Parameters passed in from the command 2344 52
- Variables within the document 2405 53
Data base access with PRTSEUTXT 2452 54
Other TAA tools of interest
- CPYSPLTXT for copying spooled files 2555 57
- SORTTXT for sorting lists 2604 58
- PRTBCKBCK for printing on both sides 2640 58
- CHKSPELL - spelling check 2659 59
PRTSEUTXT does not support every text function. It does a
significant number of text functions, but not everything. The
following is a rough summary:
Included Not included
-------- ------------
Paragraphs (plus indentation) Spell check (See CHKSPELL tool)
Headings/footings Footnotes
Table of contents Superscript/subscript
Index Underline
Keep (blocks of text on a page) Hilite (Bolding)
Margins Hyphenation
Dates Different fonts
Printing selected pages
Variables
Parameters
Special functions
Including other text members
Access to CL
Copying in WS and spooled files
Short course
------------
There are two kinds of printed lines:
** Non-paragraph. These do not start with a period in position
1. If there is no special formatting requested (called
'functions') within the line, what you see is what you get
(WYSIWYG). The line will be adjusted to the left margin (See
later exception).
** Paragraphs. A paragraph begins with a .p in position 1 and is
followed by at least one blank. Multiple SEU statements can
make up a paragraph. At least one blank will appear between
words. An extra blank appears at the end of a sentence
(period followed by a blank) or after a colon ':' followed by
a blank. Excess blanks within the source will be taken out.
By default, full paragraph lines are right adjusted. This may
cause extra blanks to be sprinkled between words (this
paragraph is an example of this). A word will never be split
over two lines (there is no hyphenation function). You should
not split any words across two SEU statements when entering
the data.
The .p paragraphs begin at the left margin.
A paragraph ends on one of the following:
- Another .p (Or any other command)
- A blank line
By default, one blank line will be printed following the end
of a paragraph.
*************************************************
* Sample of what you might key *
* (Assume you added member TXT1 to QTXTSRC) *
*************************************************
This is a non-paragraph line which is WYSIWYG
.p The PRTSEUTXT command provides a 'low cost' editor using
the facilities of SEU.
All you have to do is enter the text
and a few commands. As you can see, you
can have lots of blanks within the lines that
will be squeezed out. Do not split a word on an SEU statem
ent because the PRTSEUTXT command
will think it is a different word.
You can go on and on in the same paragraph.
.p By default there will be one blank line after
a paragraph.
.p To help you maintain the text, try to do
the following with each paragraph:
- Start a new sentence in position 1
(It's easy to move sentences, insert, delete etc.)
- Don't put too many characters in a single SEU statement
(It's easy to insert additional words later on)
*********************************************
* What you get by running *
* PRTSEUTXT TXTMBR(TXT1) *
* (Submits a batch job named TXT1) *
*********************************************
This is a non-paragraph line which is WYSIWYG
The PRTSEUTXT command provides a 'low cost' editor using the
facilities of SEU. All you have to do is enter the text and a few
commands. As you can see, you can have lots of blanks within the
lines that will be squeezed out. Do not split a word on an SEU
statem ent because the PRTSEUTXT command will think it is a different
word. You can go on and on in the same paragraph.
By default there will be one blank line after a paragraph.
To help you maintain the text, try to do the following with each
paragraph:
- Start a new sentence in position 1
(It's easy to move sentences, insert, delete etc.)
- Don't put too many characters in a single SEU statement
(It's easy to insert additional words later on)
***********************************************************************
Watch out for
-------------
You must be careful when mixing paragraph lines and non-paragraph
lines. If you want to follow a paragraph with a non-paragraph line,
you should use a blank line to denote end of paragraph and then the
non-paragraph line. Otherwise, PRTSEUTXT will think it is still in
the the same paragraph.
Short course summary
--------------------
There is a lot of capability provided by PRTSEUTXT, but this is all
you need to know to get going. Start typing. Try a couple of things
before reading the next section.
Medium course
-------------
Now that you are an expert on the basics, this section will move you
a step farther.
PRTSEUTXT supports two kinds of formatting requests:
** Commands. Commands are used to start paragraphs, force a new
page, initialize such things as heading lines, margins,
counters, etc. A command always begins with a period and
starts in position 1. A blank position always follows a
command. Sometimes a value will follow the blank (e.g.
describing the overflow line).
Commands can be entered in lower case (.p), upper case (.P) or
in mixed case (.iLt1). To help you specify the commands
correctly, there are very strict rules about spelling and what
can be on a command line.
** Functions. Functions are used within non-paragraph or
paragraph lines to cause counters to print, date formats to
print, etc. A function is replaced in the printed text with
whatever the value is at the time. Functions begin with a
period and cannot start in position 1. They can be entered in
lower case (.ct1), upper case (.CT1) or mixed case (.Ct1). If
you misspell a function, it is not an error and it will be
considered as text.
A blank does not have to follow a function. Therefore, you
can completely control what will actually appear. For
example, if you want to say ')1.'. where the '1' is a counter
that will be automatically bumped when printed, you would
place in the text ').ct1.' and it would appear the way you
want when printed.
The following describes how to do some typical text functions:
How to print a heading line
---------------------------
All you need to do is enter the command .ihd1 (initialize
heading 1) and follow it with your text. You must center it
in the remainder of the line. For example:
.ihd1 This is a heading
By default, the heading will print on line 6 and there will be
2 blank lines following the heading. The heading will print
on the first page if the command is entered before any text is
printed. There are other commands for additional heading
lines, footing lines, how much to space after the heading,
etc.
How to print a heading line with a page number
----------------------------------------------
A page number is normally printed by using Counter 1. You
request to print Counter 1 with the function .ct1. Just put
it in the line where you want the page number to print. Every
time .ct1 is printed, the internal number will be bumped one
before printing.
.ihd1 This is a heading Page .ct1
There are several counters supported as well as commands to
initialize them. You can also repeat the same value in a
counter (so it is not bumped before printing).
How to skip to a new page
-------------------------
PRTSEUTXT will cause normal page overflow and print the
heading on the new page if there is one. To force a skip to a
new page enter the command .newp as follows:
.newp
How to make a comment
---------------------
A comment appears in the source, but not in the printed output. Just
enter .txt followed by a blank.
.txt This helps you document your text, but will not print.
How to end your text
--------------------
When end of file is found, that is the end of text. You can
end it earlier, by specifying .eof. No other statements will
be printed.
.eof
How to print the current date
-----------------------------
Three different date functions are provided to let you print
the current date. The following are samples:
.dat1 - November 2, 2009
.dat2 - Nov 2, 2009
.dat3 - 11/02/09 (the format is the job format)
So if you begin a letter with a non-paragraph line, you could
say:
Date: .dat1
and your printed output would look like:
Date: November 2, 2009
How to indent a regular paragraph
---------------------------------
Indenting text makes it more readable particularly when you
have sub-points to describe. PRTSEUTXT has 9 different
indentation points and initializes them to default to every
5th position (5, 10, 15 ... 45). You can change the position
of any indentation point. Each indentation point is known by
the corresponding entry of .p1, .p2, .p3 ... .p9. Thus if
you want the paragraph to start indented at position 10, you
would say:
.p2 This paragraph will start printing in position 10.
The .p (also .p1-.p9) paragraphs are blocks of text. All
lines of the paragraph begin at the same point such as:
xxxxxxxxxxxxxx ......
xxxxxxxxxxxxxx ......
How to right indent a paragraph
-------------------------------
You can indent the first line of the paragraph to the right.
By default, it will indent 5 positions from the indentation
point. These types of paragraphs are requested with the
commands .r1 - .r9. For example, you could specify:
.r2 This paragraph will begin at point 10, but the first line
will be indented to the right by 5 positions.
After the first
line, all other lines in the paragraph start at 10.
Your printed text would look like:
This paragraph will begin at point 10, but the first line
will be indented to the right by 5 positions. After the first
line, all other lines in the paragraph start at 10.
How to left indent a paragraph
------------------------------
Left indented paragraphs allow you to place some data to the
left of the paragraph. This can be a word, a constant, a
counter, a request for a value from the upper or lower case
table etc. The paragraphs are indented as with .p1 - .p9 or
.r1 .r9. The left indented paragraphs are specified as .l1 -
.l9.
Assume you want to make some sub points which should be
numbered and the paragraphs should be indented. For each
indentation point there are two associated commands. The
commands .ilt1 - .ilt9 (initialize left tag) describe what
should appear to the left of the paragraph. This is known as
a 'left tag'. The commands .ilp1 - .ilp9 (initialize left
point) describe how far to the left of the paragraph to place
the tag. The .ilp values are all defaulted to 5. This makes
it convenient to place a symbol or a number as the left tag.
For example, if you said:
.ilt2 *
.l2 This is my first point.
It will discuss the difference between cabbages
and kings.
.l2 This is my second point.
Your printed output would look like:
* This is my first point. It will discuss the difference
between cabbages and kings.
* This is my second point.
You could request the points be numbered by using one of the
counters. There are 9 counters (.ct1 - .ct9). Normally, you
will want .ct1 to be the page number. So you could have said:
.ilt2 -.ct2.
.l2 This is my first point
.l2 This is my second point
your printed output would look like:
-1. This is my first point
-2. This is my second point
Notice how the - is printed before the counter and the period
is printed after. If you wanted a space after the -, you
would have said:
.ilt2 - 1.
You can also request the points be consecutively numbered with
lower case (.lc) or upper case (.uc) or even Roman numerals
(.rn).
Another example of a 'left tag' is where you are creating a
script with different people speaking. As a left tag, you
want the persons name who is supposed to speak. Now you need
to indent the left tag further away from the paragraph to
allow for the largest name you want to enter. To achieve
this, you need to specify one of the .ilp commands. You also
need to set the left tag for each use. For example assume the
largest name to be entered on the left is 10 characters so you
want the left tag to start 12 positions to the left of the
paragraph. To print the script, you would enter the
following:
.ilp3 12
.ilt3 Bob:
.l3 How about an ice cream cone?
.ilt3 Mary:
.l3 Sounds good.
.ilt3 Bob:
.l3 It's only 50 cents.
Your printed output would look like:
Bob: How about an ice cream cone?
Mary: Sounds good.
Bob: It's only 50 cents.
Another example of left tags is when you are outlining, you
might want a section to begin with:
I.A.1.a xxxxxxxxxx
Since the tag is going to take more room than the 5 character
default, you need both a .ilp and a .ilt to do it correctly.
.ilp3 10
.ilt3 .rn..uc..ct2..lc
When the Roman numeral function .rn is used, it will
automatically bump one to the next value. The next item you
want to indicate probably uses the same Roman numeral.
Therefore, there are 'repeat' functions which will reprint the
same Roman numeral without bumping. Different 'repeat'
functions exist for the upper and lower case tables and
counters. For a further description, see the section on
Counters.
How to keep a paragraph (or lines of text) on the same page
-----------------------------------------------------------
When you print a paragraph or a series of lines, you may not
want to overflow to a new page in the middle. Keeping a block
of text on a page is called a 'keep'. PRTSEUTXT determines
whether the 'keep' will fit on the page. If not, it forces a
new page and starts the 'keep' on the next page.
There are three forms of 'keep'. One is a simple 'k' modifier
on the end of any paragraph command such as .p1k. It keeps a
single paragraph on the same page.
The second form allows any series of text including one or
more paragraphs and/or non-paragraph lines to be kept on a
page. To use the latter form you must specify where the
'keep' begins and ends (See the .bkp and .ekp commands).
Assume you want to keep the following paragraph on a single
page:
.pk This paragraph would appear on a single page.
PRTSEUTXT buffers up all of the lines in the 'keep'
and determines if they will fit on the page.
If not, it forces an overflow before printing the paragraph.
You can follow any paragraph line with a 'keep' request such
as:
.p2k This is an indented normal paragraph that will be kept on a page.
.r3k This is right indented paragraph that will be kept on a page.
.l2k This is a left indented paragraph that will be kept on a page.
The second form of 'keep' requires you to specify where the
'keep' begins and ends with .bkp and .ekp commands such as:
.bkp
xxxxxxxx
xxxxxxxx
xxxxxxxx
.ekp
You can place several paragraphs and non-paragraph lines in
the same 'keep'. See the .bkp command.
The third form of 'keep' is a parameter on the command or the
.kpar command. On the PRTSEUTXT command, you may specify
PARAKEEP(*YES), so that no paragraph will be split over two
pages. The value of PARAKEEP sets an internal default. You
may override the default with the .kpar command which allows a
Y or N value.
For example,
.kpar y
at the beginning of the document would prevent paragraphs from
being split over multiple pages.
If PARAKEEP(*YES) is specified or .kpar, the default is set
while PRTSEUTXT is running. If you have specified other keep
commands like .p1k, no error occurs. If you have specified a
.bkp command, no errors occur.
How to ensure you have enough room on a page
--------------------------------------------
When you are printing a new section of a document that
includes a title, you normally do not want to start the
section title and then have the page overflow. If there is
room for a reasonable number of lines on the page, you may
want to start the new section on the current page.
The same may be true of a new paragraph. You may not want the
first line of 5 line paragraph to begin at the bottom of one
page and have the other 4 lines at the top of the next. You
might feel it is acceptable to print 2 or 3 lines on the
current page and then cause overflow, but not just 1.
This is the purpose of the .room command. You specify a
conditional skip or 'If there enough room, print on the
current page'. If there is not enough room on the current
page for the number of lines you have specified, start a new
page.
To request a new page if there is not enough room for 5 print
lines, you would specify:
.room 5
How to indent non-paragraph lines
---------------------------------
There is one exception to the rule that non-paragraph lines
are WYSIWYG. This is if you specify the .ii command or
'indent'. This allows you to have a series of points that you
do not want to make paragraphs out of and yet you want to
indent them.
Indenting can be awkward in that you may might to indent them
less or more after you see the formatted version. The
'indent' command lets you key the lines beginning in position
1 and then just change the value to format it better. When
you are done with the indent function, you should reset it to
0.
Here's a sample:
.ii 10
- This is my first point
- This is my second point
- This is my third point
.ii 0
The non-paragraph lines would be indented beginning at 10
positions from the left margin.
Draft printing options
----------------------
It is fairly typical for a document to go thru several drafts
before a final version is printed. To assist you in working
with draft versions, several options are available.
These options exist on both the PRTSEUTXT command as well as
being commands within the document. On the PRTSEUTXT command,
you can describe the parameters for a draft document. A more
typical solution for a document requiring several iterations
would be to place the commands at the front of the document
and then change it for the final version. The value specified
on the PRTSEUTXT command is used until overridden by a command
within the text.
** Double space. The document is single spaced by default. You
can request double spacing to assist in reading a draft by the
command:
.dbls y
** Change bar. You can request that a change bar be printed at
the left of any printed lines where the SEU statement has been
changed on or after the date you specify. The change bar is
an * which will print in position 1. If any SEU statements
within a paragraph are changed, the entire paragraph is
considered to be changed. Change bars are very helpful in
evaluating what has really changed when a document has several
iterations. The change bar date must be entered with a value
in the YYMMDD format such as:
.chgb 921117
** Print statement numbers. When you are making changes to a
document, it is not necessarily easy to associate the printed
information with an SEU statement that needs to be changed.
You can simplify this by requesting that the SEU statement
numbers be printed to the left of the draft printed output.
This can make the output a little awkward to read, but can be
very helpful when making corrections. To print the statement
numbers specify:
.prts y
How errors are handled
----------------------
If you do something wrong such as enter an invalid command name or
indent beyond the left margin, your printed output will describe the
error. Note that there is no error when you enter the SEU statement.
Checking only occurs when the PRTSEUTXT command is run.
The PRTSEUTXT command is submitted to batch by default. If any
errors exist, the command will send an escape message and your batch
job will end abnormally. You should assume that you have a
formatting error and display the output rather than look at the job
log. The job log should only be needed if there is no printed
output.
You can use the SEU split display to view the spooled file while you
are correcting the source. An error is always presented with ###
beginning in position 1 of the output. Therefore, you just key a
scan for ### and you'll find any errors. The ### line identifies
your statement number that is in error and the first several bytes of
your statement. The next line has an * in position 2 followed by the
error text.
How to determine the real spacing used
--------------------------------------
When DSPSPLF is used, you see the formatting of the lines as they
will be printed, but not any blank lines or skipping. You can see
the real spacing by either printing the text to hard copy or by use
of the TAA tool DSPPRTSPC.
To simplify the use of this function, PRTSEUTXT supports
PRTTYP(*DSP). This causes the document to be printed and then
displayed with DSPPRTSPC. The added advantage of this technique is
that the first line of output will describe whether any errors exist
in the document. Some users will always prefer to specify
PRTTYP(*DSP) to quickly determine if there are errors and to better
see what the document will look like.
Medium course summary
---------------------
There are a lot more text commands and functions that have not been
described. You should have the idea now. The rest of the
documentation is like a reference manual.
The first section describes the command parameters.
Then each unique command and function is described in detail. These
are grouped in logical categories such as commands that operate on
paragraphs, headings and footings, etc.
PRTSEUTXT Command parameters *CMD
----------------------------
TXTMBR The text member to be printed.
SRCFILE The qualified source file name. The file name
defaults to QTXTSRC. The library value defaults to
*LIBL.
PRTTYP How the printing should be done. The default is
*SBM.
*SBM (submit) specifies that the printing will be
done in batch by submitting a job. PRTSEUTXT takes
a good many CPU cycles to format a large document.
You should use the default for most of your work.
Using the default is a simple method of correcting
any errors because you can easily use the SEU split
display to look at the spooled output and your
source at the same time. If *SBM is used within a
batch job, the option is forced to *JOB. occur
within the same job. This can be used for short
documents (e.g. one page).
*DSP can only be used in an interactive job. It
performs the printing immediately and then uses the
TAA tool DSPPRTSPC to display the document as it
will appear (blank lines are included). The normal
method of displaying spooled output is with DSPSPLF
which does not include the blank lines.
*DSP80 can only be used in an interactive job. It
uses the TAA DSPSPLF80 command without blank lines
(same as DSPSPLF).
*DSP80B can only be used in an interactive job. It
uses the TAA DSPSPLF80 command including blank
lines.
*JOB specifies that the printing should be done in
the current job.
*OUTFILE should be used when an outfile of the
printed data is required. If *OUTFILE is used, the
OUTLIB parameter must name a library for the PRTTXTP
file.
CHGBAR Whether a change bar symbol should be printed. The
default is *NONE. To print change bars, enter a
date in the format YYMMDD. The special value *TODAY
may be entered for todays date. Any SEU statements
changed on or after that date will be flagged.
Years between 00 and 40 will be treated as the 21st
century.
The flagging occurs by printing an '*' in position 1
if statement numbers are being printed. If
statement numbers are not being printed, the *
occurs at the 3rd position to the left of the
margin. If anything within a paragraph has changed,
the entire paragraph is considered changed.
The value you specify on the command is the default
when the document starts to print. You may override
this at any point during the document with the .CHGB
command. For example, you might want to use .CHGB
at the beginning of the source so that you can
always get change bars until the final version.
DBLSPC Whether to double space the printed output. The
default is *NO. When *YES is specified, the
document is double spaced. The heading and footing
lines are never double spaced.
The value you specify on the command is the default
when the document starts to print. You may override
this at any point during the document with the .DBLS
command. For example, you might want to use .DBLS
at the beginning of the source so that you can
always get double spacing until the final version.
PRTSTMT Whether to print the statement numbers at the left
of each print line. The default is *NO. *YES
specifies that the statement numbers from the source
will be printed.
The intent of this parameter is to allow you to more
easily relate the print lines of the document with
the source statement that was used. If errors
occur, the statement number is shown. If you are
proofreading the document and want to modify
something that is not an error, it is not
necessarily easy to determine which source statement
to change. The *YES value simplifies this and is
intended for draft copies.
When *YES is specified, the statement number prints
beginning in position 3 of the print line. This
allows for the change bar to print in position 1.
Any data you print may overlay the statement number.
The *YES value works well when the left margin
begins at position 10 or greater (the default is
10). The statement number will only appear on the
first line of a paragraph.
If the statement is 0025.00, it will appear as
'25.'. If the statement number is 0025.02, it will
appear as '25.02'. The intent of dropping the
trailing 00 value is to allow more space between the
statement number and your text.
The value you specify on the command is the default
when the document starts to print. You may override
this at any point during the document with the .PRTS
command. For example, you might want to use .PRTS
at the beginning of the source so that you can
always get the statement numbers until the final
version.
COPIES The number of copies to be produced. One is the
default. This overrides any value specified in the
PRTFILE specified.
PARAKEEP Whether to keep all paragraphs so they are not split
across pages. *NO is the default. Any 'keep'
functions you have specified in the source such as
.pk will still be honored.
*YES may be specified to force all paragraphs so
that a paragraph is not split over two pages. This
essentially adds a 'k' to any paragraph commands
that do not already have one.
The value you specify on the command is the default
when the document starts to print. You may override
this at any point during the document with the .KPAR
command. For example, you might want to use .KPAR
at the beginning of the source so that you always
keep the paragraphs on a page regardless of the
command option.
FOOTING Whether to print a footing line.
*NO is the default and should be used if you do not
want a footing or you are printing your own footing
lines with the '.ift' command in the source.
*PAGENBR may be entered to print 'Page nnnn' as a
footing line.
*DATE may be entered to print a date such as 'Nov 2,
2013' as a footing line.
*BOTH may be entered to print 'Page nnnn' followed
by 8 spaces and then the date.
PRM This is a list of up to 9 values which are 40 bytes
each. The values may be printed in the document as
.prm1 - .prm9. This allows you a method of
dynamically altering the text based on command input
such as a form letter where the name and address
information is in the data base. It is invalid to
use one of the .prm values if the parameter value
from the command is blank. See the discussion of
the .prm command.
PAGEIDS This is a list of up to 40 page IDs which will cause
selective pages to print. The default is *ALL which
causes all pages to print.
A 4 character Page ID can be entered which must
match a corresponding value set by the .ipgi
command. At the beginning of each page, the current
value for .ipgi is checked to see if it matches one
of the values specified on the command. If so, that
page prints.
Note that all pages are processed, but only those
that match a Page ID are printed. Once a value is
set for .ipgi and a matching Page ID is found, all
subsequent pages will print until another .ipgi
command in the source resets the value. An error
will be noted if the parameter names a Page ID that
does not exist in the source.
For more explanation, see the .ipgi command.
PRTFILE The printer file to be used. The default is QPRINT.
The page length and overflow line are ignored. The
values specified within the source are used (See the
section on Page size). The print width should be at
least as large as the margins will allow. The
number of copies is specified on the COPIES
parameter. Other values in the printer file are
honored such as OUTQ.
OUTLIB The library for an outfile of the text. The default
is *NONE.
If a library is named, the file to receive the
output will be PRTTXTP. If the file does not exist,
it will be created with a length of 256 and
MAXMBRS(1000).
If you name a library, PRTTYP(*OUTFILE) must be
specified.
If you want to create your own file, you must ensure
enough record length to hold the width of the print
lines.
OUTMBR The member to contain the data for the PRTTXTP file.
This parameter is ignored if OUTLIB(*NONE) is
specified. The default is *TXTMBR meaning the name
of the member to be printed.
REPLACE Whether the data in the member specified by OUTMBR
will be replaced. This parameter is ignored if
OUTLIB(*NONE) is specified.
*YES is the default and causes the member to be
cleared before any data is written.
*NO may be specified to cause the data to be added
to the member.
NEWPAGE The 'new page' indication that will appear at the
beginning of each new page including the first.
The default is **NEWPAGE** which will appear in
positions 1-11 of the data base record.
A specific value (up to 15 characters) may be
entered. For example, if the medium you will
eventually write to requires a special value to
cause a skip to a new page, you could insert that
value for the NEWPAGE parameter.
JOBD The qualified name of the JOBD to be used if the job
is submitted to batch. The default is *USRPRF.
JOBQ The qualified name of the JOBQ to be used if the job
is submitted to batch. The default is *JOBD.
Text commands and Functions
---------------------------
Paragraphs
----------
.p The basic paragraph function. Every line of the
paragraph will start at the left margin. Any excess
blanks (more than one between words) will be
squeezed out. By default, paragraphs are right
adjusted which causes a sprinkling of blanks into
the line. Therefore, extra blanks may appear
between words. Right adjust can be turned off with
the .raj command. To force extra blanks in a
paragraph, see the .iblk character function
described later in this section.
To end a paragraph, use one of the following:
- Any command
- Another .p (or any of the paragraph commands)
- The special command .ep (End of paragraph)
- A blank line (See exception)
By default, one blank line will occur after a
paragraph is printed. To change the default, see
the .ipln command in this section.
There is one exception to the rule of one blank line
after a paragraph. That is when a paragraph is
followed by a blank line. This is the typical case
when you want to follow a paragraph with some
non-paragraph lines. Without the exception, you
would normally see two blank lines (you would
actually see the number of blank lines caused by
.ipln which defaults to 1 and one for the blank
line).
Since this is the typical case, it is handled
differently. Only a single blank line will appear.
Stated differently, 'When a blank line follows a
paragraph, one is subtracted from the current value
for .ipln'. If .ipln is 2, one would be subtracted
(giving one blank line) followed by the blank line
from your source (a total of 2 blank lines). If
.ipln is 0, it is treated as 1 when followed by a
blank line.
The 'k' for keep modifier can be used (e.g. .pk) to
keep the entire paragraph on the same page. Also
see the section on Keep.
.p1-.p9 Indented paragraphs. Default indentation points are
set to correspond with the 9 values (5, 10, 15 ...
45). You may change the indentation points with the
.ipi1 - .ipi9 commands described in this section.
.p1 means to indent to the value set by .ipi1. All
lines of the .p1 -.p9 paragraphs begin at the
indentation point. The 'k' for keep modifier can be
used (e.g. .p1k) to keep the entire paragraph on
the same page. Also see the section on Keep.
.r1-.r9 Right indented paragraphs. This uses the same
indentation points as for the .p1-.p9 paragraphs.
The only difference is that the first line of a .r1
- .r9 paragraph is indented to the right by a
default of 5 spaces. See the .irin command to
change the default.
The 'k' for keep modifier can be used (e.g. .r2k)
to keep the entire paragraph on the same page. Also
see the section on Keep.
.r1-.r9 Left indented paragraphs. This uses the same
indentation points as for the .p1-.p9 paragraphs.
The only difference is that a left tag value can
print to the left of the paragraph. There are
corresponding left tags (.ilt1 - .ilt9) for each
indentation point. There are also corresponding
values that determine how far to left indent
(.ilp1-.ilp9). You must enter a value for a left
tag (blanks are not valid). See the discussion in
the 'Medium course' for a full explanation of left
tags.
You must ensure that there is sufficient room to the
left of the indentation point to allow the left tag
to print. If not, an error will occur.
The 'k' for keep modifier can be used (e.g. .L2k)
to keep the entire paragraph on the same page. Also
see the section on Keep.
.ep End of paragraph. This is optional because a
paragraph can also end with a blank line or another
command (including another paragraph). Normally,
the .ep command would not be used. If a paragraph
is ended by a blank line, the spacing is special
cased so that the automatic blank line following a
paragraph will not appear. a paragraph, see the
.ipln command. The command to end a paragraph would
be:
.ep
.ipi1-.ipi9 Initialize paragraph indentation points. These are
defaulted to 5, 10, 15 ... 45. You can change them
at any time in the text and they will take effect
for the next paragraph to be formatted. A value
between 1 and 60 may be entered. If you change one
of the indentation points, you are changing it for
the corresponding right and left paragraphs. The
command to allow the second paragraph to indent
beginning at position 8 (instead of the 10 default)
would be:
.ipi2 8
.ilp1-ilp9 Initialize left paragraph tag points. Each left
paragraph has an associated left tag position where
the left tag will begin to the left of the
paragraph. These are all initialized to 5. A value
between 1 and 30 may be entered. The command to
allow the third left tag to begin 12 positions to
the left of the paragraph would be:
.ilp3 12
.ilt1-.ilt9 Initialize left tags. This allows you to print an
indication of the paragraph to the left of the
paragraph. The indication could be a literal (e.g.
* or --), a counter, the lower case table etc. The
left tags are defaulted to blanks. If you don't
have a left tag when the corresponding .l1 - .l9
paragraph is printed, blanks will print. A left tag
can contain any function except for variables (.vr01
- .vr99). The command to cause a second left tag of
-- would be:
.ilt2 --
.ipln Initialize paragraph lines. The number of blank
lines to occur after a paragraph prints. The
default is 1. Any value between 0 and 3 is valid.
No blank lines occur before a paragraph prints. The
command to cause no blank lines after paragraphs
would be:
.ipln 0
.irin Initialize right indent. The number of blanks to
occur on the first line of a .r1-.r9 paragraph
before printing begins. The default is 5. Any
value between 1 and 60 is valid. You can initialize
the value at different places in the text. It will
effect the next use of a right paragraph. The
command to cause the first line of any .r1-.r9
paragraph to be indented 3 positions would be:
.irin 3
.raj Right adjust paragraph lines. When a paragraph line
is printed, a word is never split over multiple
print lines. This tends to cause a ragged edge at
the right margin. To prevent the ragged edge, the
default is to sprinkle extra blanks between words of
a full paragraph line so that a smooth right margin
is shown. This paragraph was printed with right
adjust. To turn off right adjust, specify:
.raj n
You can turn right adjust on or off throughout the
document by specifying Y or N. The value can be
entered in lower or upper case.
.iblk Initialize blank replacement character. This
command allows you to specify that a single
character is to be replaced by a space (a blank)
during the printing of paragraphs. This allows you
to force some blank spaces in the middle of a
paragraph. By default, excess blanks are squeezed
out of paragraphs between words. By default,
paragraphs are right adjusted which is done by
sprinkling extra blanks into the lines.
Assume you want 3 extra blanks before and after the
word HELP (4 blanks on either side) in the following
paragraph. Assume that you are using the ¢ symbol
as your blank character. You would specify:
.iblk ¢
.p Do I need ¢¢¢HELP¢¢¢ here.
The output would appear as:
Do I need HELP here
If you take the default for the right adjust
function (.RAJ), there may be additional blanks
sprinkled into the line.
You can have any character except blank as your
replacement character. The way you request to stop
replacing with a blank character is by using just
the command as:
.iblk
If your text now contains a ¢ symbol, it would print
normally. You may flip/flop as often as needed
between having a replacement character and not
having one.
Miscellaneous
-------------
.chgb Change bar. This command overrides what you specify
for the CHGBAR parameter on the PRTSEUTXT command.
This allows you to control whether the change bar
will print in the source or the PRTSEUTXT command.
To request the change bar, spacing, specify:
.chgb 920725
You can turn the change bar on or off throughout the
document by specifying a date or *NONE. You could
have different change bar dates throughout the
document. Only one is in effect at a time. If a
date is entered, it must be 6 digits in the form of
YYMMDD.
.dbls Double space. This command overrides what you
specify for the DBLSPC parameter on the PRTSEUTXT
command. This allows you to control double spacing
from the source or the PRTSEUTXT command. To
request double spacing, specify:
.dbls y
You can turn double spacing on or off throughout the
document by specifying Y or N. The value can be
entered in either lower or upper case.
.prts Print statement number. This command overrides what
you specify for the PRTSTMT parameter on the
PRTSEUTXT command. This allows you to control
printing of statement numbers from the source or the
PRTSEUTXT command. To request printing of statement
numbers, specify:
.prts y
You can turn 'printing statement numbers' on or off
throughout the document by specifying Y or N. The
value can be entered in either lower or upper case.
The statement numbers print beginning in position 2
and may be overlaid if you have a left margin of
less than 10 (10 is the default). For more
discussion, see the PRTSTMT parameter.
.ipgi Print page IDs. This command identifies the page so
that the PAGEIDS parameter may be used to
selectively print the page rather than the entire
document. The default for the PAGEIDS parameter is
*ALL so that all pages will print. Up to 40 Page
IDs may be named on the PAGEIDS parameter.
If PAGEIDS is not *ALL, just before printing the
heading of a new page, the current value of .ipgi is
checked against the list of IDs supplied for the
parameter. If it does not match, the entire page
does not print. All processing of the source
occurs, but the printing of that page is suppressed.
If a match occurs, the page is printed. The .ipgi
command must occur in the source before any text is
printed for the page.
Note that once a match occurs, subsequent pages will
print until a new .ipgi command is entered that
contains a value that was not specified on the
PAGEIDS parameter.
You may use any 4 characters (letters, numbers or
any combination) as a Page ID. A technique you may
want to use is to number the pages as 0010, 0020,
0030 etc. to allow for insertion of new pages. It
is not an error to use the same value at multiple
points within the source. Any matching Page IDs
will print as requested. The 4 character IDs do not
have to be in any sequence.
If a PAGEID is entered as a parameter and does not
appear in the source, an extra page will be printed
with an error indication. Any duplicate Page IDs
entered on the command are considered an error.
The following would identify the page for selective
printing by use of the PAGEIDS parameter on
PRTSEUTXT. Any 4 characters may be used.
.ipgi 0400
To print the page, you would use either the default
of PAGEIDS(*ALL) or PAGEID(0400).
.ii Indent non-paragraph lines. Normally, non-paragraph
lines begin at the left margin. The .ii command
allows you to indent them. This is useful when you
have a series of one line bullets to make and do not
want to indent by using the space bar.
The following would indent the non-paragraph lines
10 positions from the left margin. Note that you
should reset the indent value or the remaining
non-paragraph lines in the document would also be
indented.
.ii 10
* This is my first bullet
* This is my second bullet
.ii 0
.eof End of file. Normally, the end of formatting occurs
when end of file is found in your text member. The
.eof command allows you to have additional lines of
source that will not be printed. The .eof command
is the equivalent of reaching end of file. The
command to cause end of file would be:
.eof
.txt Text comment. A text comment can appear in your
source, but will not print. A typical command would
be:
.txt This is the xxx documentation
.iper Period character. If you need to use the characters
that represent a command or function in your text,
the 'period character' command is needed. The
characters that represent functions such as .ct1 or
.lc will invoke the function if they appear in the
text. Entering the characters for a command in your
text such as .l1 is usually not a problem because
commands are only sensed beginning in position 1.
However, if you need to start a line with a period,
PRTSEUTXT assumes it is a command and you will need
the .iper command.
The .iper command allows you to define a character
that will appear as a period in the text. For
example, you could decide to use ¢ as the 'period
character' and would enter:
.iper ¢
Then you can enter a value such as ¢ct1 into your
text and the value will be printed as .ct1. You can
enter a value such as .l1 beginning in position 1
and it will appear in the text as .l1.
The 'period character' is initialized to '.'. To
reset the value, enter:
.iper .
You can set and reset the 'period character' as
often as needed.
Heading and footings
--------------------
.ihd1-.ihd3 Heading lines. Up to 3 heading lines can be
printed. The heading starts at line 6 by default.
The position where the line prints can be changed
with the .itop command described in the Page size
section. If no headings exist, the first line of
text will appear with the value set by .itop. If a
.ihd1-.ihd3 value is blank, no heading line will
print.
By default, 2 blank lines appear after the last
heading line. This is controlled by the .ihda
command described in this section. You must use a
.ihd1-.ihd3 before the first line of text to get the
heading to print on the first page.
Heading lines can contain a page number, the current
date or any other function except for variables
(.vr01-.vr99).
Heading and footing lines begin at the heading left
margin. You may want a different left margin for
the body of the text. The command .ihlm described
in this section will let you specify the left margin
of the heading and footing lines.
You must center the heading yourself. A typical
command to initialize the first heading line
including a page number would be:
.ihd1 The Good Heading Page .ct1
Sometimes it is desirable to print the heading
beginning on the second page including a page
number. If you want the page number to start with 2
then you must initialize it with a 1 (Counters are
bumped before printing - See the later section). To
print the heading on the second page, just use
.ihd1-.ihd3 after the first line of text has been
printed.
If you have used a heading line and no longer have
use for it, the special value *NONE may be entered.
This will return the heading line to a default state
so it will not print.
.ift1-.ift3 Footing lines. Up to 3 footing lines can be
printed. The footing starts after the overflow
line. The overflow line defaults to line 60, but
can be changed with the .iofl command (See the
section on Page size). The default is for two blank
lines to appear before the footing. This can be
changed with the .iftb command described in this
section. Footings are optional. If the values are
blank, nothing prints.
Footing lines can contain a page number, the current
date or any other function except for variables
(.vr01-.vr99).
Heading and footing lines begin at the heading left
margin. You may want a different left margin for
the body of the text. The command .ihlm described
in this section will let you specify the left margin
of the heading and footing lines.
You must center the footing yourself. A typical
command to initialize the first footing line
including a page number would be:
.ift1 The Good Footing Page .ct1
If you want to print the same page number on both
the heading of the page and the footing, you need to
print it at the footing using one of the repeat
commands (.rct1-.rct9). See the section on
counters.
If you have used a footing line and no longer have
use for it, the special value *NONE may be entered.
This will return the footing line to a default state
so it will not print.
.ihda Initialize number of blank lines after the heading.
The default is 2. It can be any value between 1 and
9. The command to cause 3 blank lines would be:
.ihda 3
.iftb Initialize number of blank lines before the footing.
This is the number of lines from the overflow line.
The default is 2. It can be any value between 1 and
9, but you must ensure that the overflow line will
allow the footing to fit on the page. The command
to cause 3 blank lines would be:
.iftb 3
.ihlm Initialize the left margin for the heading and
footing lines. The left margin may differ for the
body of the printed output. The default is 5. Any
value between 3 and 30 may be specified. The
command to set the left heading and footing margin
at 10 would be:
.ihlm 10
New page and skipping
---------------------
.newp Skip to a new page. This forces the footing and
heading to print such as:
.newp
It is invalid to have a .newp command inside a
'keep'.
.room If enough room, print on same page. The .room
command allows a conditional new page. You specify
a value in terms of number of lines before the
overflow line that are still available on the
current page. If sufficient room exist, printing
continues on the current page. If there is
insufficient room, it acts like a .newp command.
The purpose of the .room command is to allow you to
ensure that a new section heading would not appear
at the bottom of the page and then all of the
description on the next page. Unlike the 'keep'
function, the .room function allows you to say I
don't mind splitting up a block of text on two
different pages as long as there is sufficient room
to make a reasonable split. A split where only the
title is at the bottom of the page is probably
unreasonable.
The following would be a typical use of the .room
command to request that a new page begin if there is
not enough room for 5 print lines.
.room 5
Daily backup
------------
.p This is the discussion of ...
The .room command will ensure that at least the
title and the first two lines of the paragraph will
appear on the same page.
.skip Skip a specified number of lines. The number can be
between 1 and 50. If the skip is not within a
'keep' request and will go past the overflow line,
the function acts as if you had requested .newp.
This means that the next page will not start with
the remaining number of lines to skip.
If you do a skip within a 'keep' request, the number
you requested will appear on a single page. This
would normally be used if you were going to paste an
overlay onto the page after printing.
The command to skip 10 lines would be:
.skip 10
Page size, margins overflow, top of the page
--------------------------------------------
.ipgl Initialize page length. This is the number of lines
to the page. The default is 66. The value must be
between 20 and 200. The value should be set before
any printing occurs. Resetting this value during
the formatting will do what you requested, but you
must change the paper size in the middle of
printing. The command to specify that the page
length is 50 lines would be:
.ipgl 50
.itop Initialize top of the page (first printing line).
If a heading exists, it will be printed on this
line. If no heading exists, this is the first line
of text. The default is 6. The value must be
between 1 and 20. The value should be set before
any printing occurs. The value may be changed
during the printing and will effect the printing of
the next page. The command to specify that the
first line of printing should begin on line 10 would
be:
.itop 10
.iofl Initialize Overflow line. This is where the body of
printing will stop and the footing will begin. See
the section on footing. The default is 60. The
value must be between the value assigned for .ipgl
and .itop. The value should be set before reaching
the bottom of the first page. You can reset the
value during the printing. The command to set the
overflow line at 55 would be:
.iofl 55
.ilmg Initialize left margin. This is where the print
lines are left adjusted to. The default is 10. It
must be a value between 3 and 30. The lower limit
of 3 will let the CHGBAR parameter indication (or
.CHGB command) character print if the command
parameter is specified. The command to set the left
margin at 12 would be:
.ilmg 12
.irmg Initialize right margin. This is the rightmost
point where printing can occur. The default is 75.
The value must be 25 greater than the left margin
and must be 132 or less.
The right margin is used when printing paragraph
lines to determine where the line should be
truncated. If you are printing non-paragraph lines,
it is an error if you have any non-blanks that will
be truncated by the right margin. Non-paragraph
lines do not fold to the next line.
The command to set the right margin to 100 would be:
.irmg 100
Keep request
------------
.bkp Begin a keep request. A 'Begin keep' request causes
PRTSEUTXT to buffer up the lines you have requested
within the keep and ensure that the entire keep will
be printed on a single page. This allows you to
ensure a list of bullets or statements will not be
split by a page overflow.
A 'keep' request begins with a .bkp and ends with a
.ekp. Any lines, paragraphs, or skip commands
within the 'keep' will appear on the same page. If
there is insufficient room on a single page, a new
page will be forced and an error printed.
The following would keep all of the bullets on the
same page:
.bkp
- Bullet 1
- Bullet 2
- Bullet 3
.ekp
There is a special form of 'keep' that is used when
you want to ensure a single paragraph is not split
over two pages. This is done by the 'k' modifier
after any paragraph request (such as .pk). This is
just a shorthand to eliminate the need for .bkp and
.ekp.
If you want all paragraphs to be kept on a page, see
the command option PARAKEEP or the .kpar command.
You can include paragraphs, non-paragraphs and
skipping within a 'keep' such as:
.bkp
.p This is a paragraph describing the bullets:
- Bullet 1
- Bullet 2
- Bullet 3
.skip 5
.p This is the ending paragraph of the keep.
.ekp
File processing
---------------
You can do the following:
** Include other source during SEU. Use the normal SEU copy
option (F15). The copied data becomes part of your text
member.
** Include WS printer key or spooled file data into the SEU text.
The copied data becomes part of your text member. See the
later section on copying spooled files.
** Include other source members in the same document at PRTSEUTXT
run time. This is a dynamic function and the copied data
becomes part of your document, but does not exist in your text
member. There are two commands you may use.
-- .cpys. This causes the source data to just print in
your document. If any data exists beyond the right
margin, it is truncated without error. If any commands
or functions exist within the source, they are ignored.
-- .read. This causes the source data to be considered an
extension of your text member. Commands and functions
within the source are honored.
** Include spooled file data at run time. The .splf command
copies in a spooled file during the running of PRTSEUTXT. The
data is just printed. Truncation at the right margin occurs
without error.
** Include data base (non-source) files at run time. The .cpyd
command just prints the data. Truncation at the right margin
occurs without error. The program that placed the data in the
file must perform the proper formatting for your document.
The following describes the commands:
.cpys Copy a source member. This lets you copy in text
from any source member as data during the execution
of PRTSEUTXT. Any commands within the data are
ignored. Truncation occurs at the right margin
without error.
The intent of this command is for use when you want
to copy in something like CL source during
execution.
The file and library are initialized to the same
file and library as specified on the PRTSEUTXT
command. You can change them with the .ilib and
.ifil commands. The special value *FIRST may be
used for the first member. To copy member TXT15 you
would specify:
.cpys TXT15
.cpyd Copy a data member. This lets you copy in data from
any data base file (non-source) member. The data is
just printed. Any commands within the data are
ignored. Truncation occurs at the right margin
without error.
The intent of this command is for use when you have
data in a file that you want to include during the
execution of PRTSEUTXT. No formatting occurs on the
data.
The file and library are initialized to the same
file and library as specified on the PRTSEUTXT
command. You can change them with the .ilib and
.ifil commands. The special value *FIRST may be
used for the member name. To copy the first member
from the file and library as specified by .ifil and
.ilib, specify:
.cpyd *FIRST
.read Read a source member. This lets you copy in text
from one or more source members during the execution
of PRTSEUTXT. It operates as an 'include' or the
RPG /COPY function. The source is read from the
member you describe on the .read command.
The file and library are initialized to the same
file and library as specified on the PRTSEUTXT
command. You can change them with the .ilib and
.ifil commands.
The source that is read in is considered to be an
extension of the primary source member specified on
the PRTSEUTXT command. Any commands you execute in
the secondary source are considered to be part of
the same document (Nothing is reset when end of file
is found on a secondary member). See also the .inlz
command. You can include as many members as needed.
To include MBR2, you would specify:
.read MBR2
The member name must be specified in upper case.
You cannot nest the 'read' commands. For example,
in the above .read command, it would be invalid to
have a .read command inside MBR2.
The primary member can be just a shell of .read
commands such as:
.read MBR2
.read MBR3
.read MBR4
.read MBR5
This would allow you to print various subsets
individually and then combine them into a single
document for final printing. If you are creating
this form of document, you should also consider the
.inlz command.
.inlz Initialize. The .inlz command initializes all of
the defaults used by PRTSEUTXT. The purpose of
.inlz is to allow you to initialize defaults when
using a shell document which is designed to print
multiple source members as if they were one. Just
prior to doing a read of each document after the
first, you would use .inlz and reset all of the
defaults for the next sub document such as:
.read MBR2
.inlz
.read MBR3
.inlz
.read MBR4
.ilib Initialize library name for the .read, .cpyd or
.cpys commands. The default is the library you
specified on the PRTSEUTXT command. You can change
the name as often as needed. The name must be
specified in upper case. For example:
.ilib LIB5
.ifil Initialize file name for the .read, .cpyd, or .cpys
commands. The default is the file you specified on
the PRTSEUTXT command. You can change the name as
often as needed. The name must be specified in
upper case. For example:
.ifil TEXT5
.splf Copy in a spooled file. You can copy a spooled file
into a document during the execution of PRTSEUTXT.
The spooled file must be created in the same job as
PRTSEUTXT (there is no syntax to specify a qualified
job name). You just name the spooled file such as:
.splf QPRINT
Copying in the spooled file is done using CPYSPLF to
a data base file and then reading the records and
printing them as non-paragraph lines. No functions
are looked for in the spooled records. Truncation
occurs at the right margin. CPYSPLF uses 'space
before' on each record. This is honored. Any
skipping is ignored. There will be one blank line
after the spooled records are printed.
Because truncation occurs at the right margin, you
may want to vary the left and right margin prior to
copying spooled file information to allow for a
wider print line.
The spooled file still exists after the .splf
command completes. If you want to delete the
spooled file, you could do so with the .exec
command.
Executing CL commands
---------------------
.icm1-.icm3 Initialize command. You define a command to be
executed and then execute it with the .exec command.
Three initialize commands are provided to allow for
a single long command to be specified. The three
commands are just pieces for a single defined
command. .icm1 causes a reset of the entire area.
You need at least .icm1 followed by the .exec
command. Use .icm2 and .icm3 if the command does
not fit in 70 bytes. Do not split any keyword or
value over two source statements. You do not need
to enter a + symbol for continuation.
The following is valid.
.icm1 DSPLIB LIB(LIB1) OUTPUT(*PRINT)
.exec
or
.icm1 DSPLIB
.icm2 LIB(LIB1)
.icm3 OUTPUT(*PRINT)
.exec
Each use of .icm1 resets the entire command area.
You can use as many commands as needed, but only one
at a time.
.exec Execute a command. You can execute a command which
is defined by the .icm1-.icm3 commands. You must be
LMTCPB(*NO) to use the .exec command. This allows
certain users to be restricted to PRTSEUTXT
functions only. To execute a CL command you must
first use .icm1-.icm3 and then the .exec command.
.exec
If the command receives an escape message, an error
is printed and the text continues.
Table of contents
-----------------
.itc Table of contents. The .itc command must appear
before any print lines. This denotes that a table
of contents will be printed. A number 1-9 must be
specified to indicate which counter is the page
number counter. The page number counter will be
saved by a .tcd1-.tcd4 command so that when the
table of contents prints, the correct page number is
shown.
A table of contents is printed by making two passes
of the text. The first pass captures the page
numbers where the .tcd1.-tcd4 commands exist and
creates an internal file. When the .itc command is
found during the second pass, the internal file is
printed as the table of contents and then the rest
of the text is printed.
By default, the page numbers will be printed to the
right of the table of contents entries. See the
.itcl command to print the page numbers on the left.
If page numbers are printed on the right, dots will
appear by default to fill out the text up to the
page number. To print a different character
(including blanks), see .itcc.
You can enter blank lines into the table of contents
to help control the format (See the .tcb command).
You can enter descriptions (without page numbers)
into the table of contents to help describe various
sections in the table of contents (See the .tct1 -
.tct4 commands).
When the .itc command is found, the current heading
and footing lines are stored away and will print as
part of the table of contents. Thus you can have a
separate heading and footing for the table of
contents. You would achieve this by entering the
table of contents heading and footing followed by
the .itc command. Then enter the normal heading and
footing you want for the rest of the text.
For the table of contents heading and footing, you
must not use the same counter for page numbering as
for the rest of the text. If you want to page
number the table of contents, you must use a unique
counter (it cannot be the one you specified for
.itc). No error occurs if you incorrectly specify
this.
To request that counter 1 is to be used for the page
numbers in the table of contents, specify:
.itc 1
.itcl Left side page numbers for the table of contents.
Entering this command after the .itc command causes
the page numbers of the table of contents to be
printed on the left of the description from the .tcd
command. To use left page numbers, specify:
.itcl
.itcc Table of contents character. If table of contents
page numbers print on the right, this character
fills out the text so that the page numbers (which
are in a column) can be easily determined. By
default, alternating dots are printed.
To specify that the table of contents should have
alternating dashes print after the descriptions,
specify:
.itcc -
To specify that the table of contents should have
blanks print after the descriptions, specify:
.itcc
.tcd1-.tcd4 Table of contents description with page numbers.
The number (1-4) indicates how far to indent the
table of contents description when it prints. The
command .tcd1 starts printing at the left margin. A
.tcd2 command will start printing 5 positions after
the left margin, .tcd3 at the margin plus 10 and
.tcd4 at the margin plus 15.
These commands should be entered after the first
line of printing on any page where you want to
capture the page number for the table of contents.
For example, assume you want a table of contents and
you have just started a new section (entitled 'Daily
backup') which should be entered into the table of
contents. Your text might look like:
.newp
Daily backup
------------
.tcd1 Daily backup
The .tcd1-.tcd4 commands store the text you have
entered and captures the page number you assigned on
the .itc command. On the second pass of the text,
the description and page number will be printed as
part of the table of contents.
You can have up to 55 bytes of text in your
description.
.tct1-.tct4 Table of contents title (without page numbers).
This is like the table of contents description
commands except that no page number will print. You
would use it for Chapter headings or whatever need
you have.
You can have up to 55 bytes of text in your
description.
To describe Chapter 8, you could specify:
.tct4 Chapter 8 - Backup
.tcb Table of contents blank line. This command allows
you to control the number of blank lines in the
table of contents. For each .tcb command, one blank
line appears. For example, for a new section in the
table of contents you could enter a .tcb before and
after the .tct command and use .ict4 to indent such
as:
.tcb
.tct4 Chapter 8 - Backup
.tcb
.tcd1 Daily backup
Index
-----
.ixe Index should be printed. The .ixe command must
appear before any of the other index commands. This
denotes that an index should be printed at the end
of the text. A number 1-9 must be specified to
indicate which counter is the page number counter.
The page number counter will be saved by a .xed
command so that when the index prints, the correct
page number is shown.
An index entry is made up of 2 commands which must
appear in sequence. The first command (.isc)
identifies a 10 character 'sort code'. This will be
used to sort the index entries. The second command
can be a description (.xed), a blank line (.xeb), or
a title (.xet). An index title does not have a page
number associated with it.
An index is printed by capturing the index commands,
determining which page numbers they are on, and
saving the information in an an internal file. When
all of the text has been printed, the internal file
is sequenced by the 'sort code' and printed. Only a
single pass is required.
An optional chapter ID can be printed in addition to
the page numbers in the index. See the section on
Chapter Identification.
When the .ixe command is entered, the current
heading and footing lines are stored away and will
print as part of the index. Thus you can have a
separate heading and footing for the index. You
would achieve this by entering the index heading and
footing followed by the .ixe command. Then enter
the normal heading and footing you want for the rest
of the text. Because the .ixe command must appear
before any index entries, you would normally enter
the index heading and footing followed by the .ixe
command at the beginning of your source.
If you want a page number on the index pages, you
can use the same counter as is used for the rest of
the text. By default it would continue at the next
page number. You could also start the page numbers
of the index at 1 (Use a counter initialize command
as the last line of your source) or use a separate
counter.
To specify that counter 1 is to be used for the page
numbers in the index, specify:
.ixe 1
.isc Initialize sort code. The .isc command must be
paired with an index entry (.xed, .xet, or .xeb) or
a reference (.iref). The .isc command identifies
the sort code for the next command. You must
determine a sort code to control the sequence of the
index (ascending sequence). Duplicate sort codes
appear in arrival sequence.
Up to 10 characters may be entered. To specify that
an index entry would be sequenced as BACKUPD, you
would specify:
.isc BACKUPD
.xet1 Daily backup
You can use the same sort code for both index and
reference functions. Separate records are kept
within the internal file.
.xed1-.xed4 Index entry description with page number. The
number after .xed (must be 1-4) indicates how far to
indent the index entry when it prints. The command
.xed1 starts printing at the left margin. An .xed2
command will start printing 5 positions after the
left margin. .xed3 starts at 10 positions and .xed4
starts at 15 positions from the left margin.
If no Chapter ID (.ich command) exists, the index
entry would appear as (where nn is the page number):
xxxxxxxxx nn
See the section on Chapter Identification for how
the entry appears if a chapter ID is assigned.
A .xed1-xed4 command must be paired with a prior
sort code command such as:
.isc BACKUPD
.xed2 Daily backup
.xet1-.xet4 Index title without page number. The number (must
be 1-4) indicates how far to indent the index title
when it prints. The command .xet1 starts printing
at the left margin. A .xet2 command will start
printing 5 positions after the left margin. .xet3
starts at 10 positions and .xet4 starts at 15
positions from the left margin.
An .xet1-.xet4 command must be paired with a prior
sort code command such as:
.isc BACKUP
.xet1 Backup
.xeb Index blank line entry. This command just lets you
put blank lines into the index to help format it.
A .xeb command must be paired with a sort code
command. Normally, you would include some blank
lines around a major section in the index such as:
.isc BACKUP
.xeb
.isc BACKUP
.xet1 Backup
.isc BACKUP
.xeb
.isc BACKUPD
.xet2 Daily
The index would appear as:
(blank line)
Backup
(blank line)
Daily 1
Reference
---------
.iref Initialize reference. The reference function allows
you to store descriptions at the page where the
information exists and then use the description and
the page number at a different point in the text.
For example, assume you are describing a section on
'Daily backup'. You want to reference the section
from a different place in the text and have the
actual page number described. When you describe a
section, you use an .iref command. This must be
paired with a prior sort code command (See the .isc
command). When you want to use the reference, you
use the .rref command to describe the reference and
the function .ref to print the reference with the
page number.
While you are describing 'Daily backup' you would
specify (assume you are using .ct1 for page
numbers):
.isc BACKUPD
.iref Daily Backup on page .rct1
Anywhere else in the document, you could refer to
the reference as:
.rref BACKUPD
.p ... Also see the section .ref.
The printed text would appear as:
... Also see the section Daily Backup on page 5.
You can also include the current Chapter ID in the
reference. See section on Chapter Identification.
You can refer to a section either before or after it
appears in the text. If you refer to it before the
.iref command, you must place a dummy .iref with the
same sort code such as:
.isc BACKUPD
.iref Dummy
.rref BACKUPD
.p ... Also see the section .ref.
.
.
.newp
Daily backup
.isc BACKUPD
.iref Daily Backup on page .rct1
When you use an .iref command, a second pass of the
text must occur. During the first pass, an internal
file is created with the sort codes and the
reference information. Any duplicate sort codes
update existing records (only unique keys exist).
During the second pass, the .iref commands are
ignored and the .ref functions pick up the correct
reference.
You can use the same sort code for both index and
reference functions. Separate records are kept
within the internal file.
.rref Reference a sort code. The .rref command stores the
sort code you describe. When an .ref function is
used, the last stored sort code is found and used.
You do not have to pair the .rref command with
anything else.
To refer to the BACKUPD sort code and then use it,
you would specify:
.rref BACKUPD
.p ... Also see the section on .ref.
.ref Use a reference. The .ref function uses the sort
code stored by the last use of .rref to extract the
information stored away by the .iref command. See
the example with the .iref command.
Chapter identification
----------------------
.ich Chapter ID. You can store a chapter identification
for use with the index or the reference function.
It must be a literal of 8 characters or less. You
cannot use a counter, the upper case table etc. The
intent is that you only need to hard code the
literal once per chapter.
For example, you would normally begin a chapter with
a new page and initialize the page number. You
could specify:
.ixe 1
.ict1 0
.newp
.ihd1 Chapter 3 - Backup
.ich 3
.isc BACKUP1
.xed1 Daily backup
The index entry for 'Daily backup' would appear in
the index as:
Daily backup 3 - 1
The chapter ID does not impact the table of
contents. You would normally hard code the chapter
ID in the name in the table of contents.
If you set a Chapter ID, it must be a non-blank
value. You may use the special value *BLANK, to
cause a blank value.
.rch Retrieve chapter. The intent of the .rch function
is to let you place the current chapter (the last
value assigned by .ich) into your text. It is
useful if you are referencing a different chapter
with the .iref command.
For example, when describing a reference, you could
include the current chapter without hard coding it
into the text.
.isc BACKUPDAY
.iref See 'Daily backup' on .rct1 in Chapter .rch
Counters, upper case table, lower case table, Roman numerals
------------------------------------------------------------
Counters, the upper and lower case tables and the Roman numeral table
all work much the same. Each of these concepts has a print function
which will increase the value by 1, a repeat function (does not
increase the value) and an initialization command. The explanation
of counters will be made in full.
.ct1-.ct9 Print a counter. There are 9 counters which are
initialized to 0. Normally, you would want counter
1 (.ct1) for page numbers. Each time a counter is
requested to be printed, it is bumped by 1 and then
printed. You can initialize the counters and also
request repeating of the same value. To print a
counter is a function (not a command). It can
appear in the heading or footing, in a paragraph or
non-paragraph line, a left tag etc.
When a counter prints, your specification (.ct1) is
replaced by the value of the counter with no
additional spaces placed in the output. If you want
a character before or after the counter, just
specify it. For example if you specified:
Page .ct1.
The output would be:
Page 1.
If you specify:
-.ct1
The output would be:
-1
.rct1-.rct9 Repeat a counter. The .ct1-.ct9 functions add 1 and
then print. Sometimes you may want the same value
to appear. This would be typical if you were
printing the page numbers on both the top and the
bottom of the page or you were doing a form of
outlining where you want an identification like
1.12.1 where the individual pieces are counters, but
you want to control when each piece is bumped.
It is an error if you request an .rct(n) and the
corresponding .ct(n) has not been done. The value
must be greater than 0 to repeat it.
Repeating a counter is a function and not a command.
You can specify it in a heading, a footing, a left
tag etc. The function to repeat counter 3 would be:
.rct3
.ict1-.ict9 Initialize a counter. You may initialize a counter
at any time. If you want the counter to first
appear as 2, you must initialize it to 1. The
command to initialize the second counter to 0, would
be:
.ict2 0
.uc Print the next value from the upper case table.
There is an table of A, B, ... Z that you can bump
thru for outline numbers or notations. Each time
you specify .uc, one is added and the next value in
the table is printed. A typical use is with left
tags. The command to initialize the left tag for
the third indentation point so that it will use the
upper case table would be:
.ilt3 .uc
.ruc Repeat the upper case table. The current value is
printed. No bumping to the next value occurs. This
would typically be used for outlining. To reprint
the same value you would specify:
.ruc
It is an error if you request .ruc and a .uc has not
been done. If you initialize with .iuc, you must
also issue a .uc before .ruc.
.iuc Initialize the upper case table. This just resets
the table so that the next use of .uc will print an
'A'. You can initialize as often as needed with the
command:
.iuc
.lc Print the next value from the lower case table.
There is an table of a, b, ... z that you can bump
thru for outline numbers or notations. Each time
you specify .lc, one is added and the next value in
the table is printed. A typical use is with left
tags. The command to set the left tag for the third
indentation point so that it will use the lower case
table would be:
.ilt3 .lc
.rlc Repeat the lower case table. The current value is
printed. No bumping to the next value occurs. This
would typically be used for outlining. To reprint
the same value you would specify:
.rlc
It is an error if you request .rlc and a .lc has not
been done. If you initialize with .ilc, you must
also issue a .lc before .rlc.
.ilc Initialize the lower case table. This just resets
the table so that the next use of .lc will print an
'a'. You can initialize as often as needed with the
command:
.ilc
.rn Print the next value from the Roman numeral table.
There is an table of I, II, III ... C that you can
bump thru for outline numbers or notations. Each
time you specify .rn, one is added and the next
value in the table is printed. A typical use is
with left tags. The command to set the left tag for
the third indentation point so that it will use the
Roman numeral table would be:
.ilt3 .rn
The size of the value to be printed depends on the
number. One hundred values are supported. The
largest number of characters which would occur is
for LXXXVIII (88). Trailing blanks will not print.
.rrn Repeat Roman numeral table. The current value is
printed. No bumping to the next value occurs. This
would typically be used for outlining. To reprint
the same value you would specify:
.rrn
It is an error if you request .rrn and a .rn has not
been done. If you initialize with .irn, you must
also issue a .rn before .rrn.
.irn Initialize the Roman numeral table. This just
resets the table so that the next use of .rn will
print an 'I'. You can initialize as often as needed
with the command:
.irn
Dates
-----
All the date formats print the job date (not the system date). Any
trailing blanks will not print.
.dat1 Print the current date as 'November 2, 2009'. This
prints the long form of the date. The date is a
function and can appear in the heading, a footing, a
paragraph or non-paragraph line, etc. To print the
date at the beginning of a letter, you would
specify:
Date: .dat1
.dat2 Print the current date as 'Nov 2, 2009'.
.dat3 Print the current date as '11/02/09' The format of
the date is dependent upon the job format.
Parameters
----------
.prm1-.prm9 Print a parameter. Parameters are passed in by the
PRTSEUTXT command. It is an error if the parameter
you try to print is all blank (this is the default
on the command). Trailing blanks will not print.
Each parameter can be up to 40 bytes. Parameters
are functions and can appear in the heading, the
footing, a paragraph line, a non-paragraph line etc.
If you want to print the first parameter value as
specified on the PRTSEUTXT command, specify:
.prm1
Parameters can be used in an application where you
are extracting information from the data base. You
could use OPNQRYF to select the customer records you
want to print and then use PRTSEUTXT to send each a
form letter personalized with their name and
address. The TAA tool EDTVAR can be used to edit
decimal amounts.
Assume you want to print a letter to all customers
who owe more than $5000.00. The amount field in the
data base is AMTOWE. Your CL might look like:
DCLF FILE(CUSTMSTR)
DCL &AMT *CHAR LEN(22)
OPNQRYF FILE(CUSTMSTR) QRYSLT('AMTOWE *GT 5000.00')
LOOP: RCVF
MONMSG MSGID(CPF0864) EXEC(GOTO EOF)
EDTVAR CHROUT(&AMT) NUMINP(&AMTOWE) NBRDEC(2) +
LDGSYM(*YES)
PRTSEUTXT TXTMBR(LETTER) PRM(&NAME &ADDR &CITY +
&STATE &ZIP &AMT)
GOTO LOOP
EOF: ENDPGM
Your text member for LETTER might look like.
To: .prm1
.prm2
.prm3, .prm4 .prm5
.p Thanks for your business, but you owe .prm6 and
I need the money.
Send the check today.
The PRTSEUTXT output would look like:
To: David A. Smith
122 West Lake St.
Chicago, IL 60611
Thanks for your business, but you owe $7231.15 and I need the money.
Send the check today.
Note that you are invoking PRTSEUTXT for each form
letter. This is not as efficient as other editors.
Variables
---------
A variable lets you set a value once that can be reprinted many times
by just specifying the variable name at a later point. This is
useful when you have a long name or description that must be
re-printed in several places in the text. It is even more useful if
the description is subject to change.
You could also use a variable as a shorthand for a long word (e.g.
'initialization' could be 'inz'). There are 99 variables. Each is
100 positions long. There is a print and an initialize command for
each.
You cannot specify a variable within:
- Another variable
- The footing or heading
- A left tag
You can put other functions within a variable such as a counter,
print from the upper case table, etc. Trailing blanks do not print.
.ivr01-.ivr99 Initialize a variable. Variables can be set at any
time and can be up to 100 bytes. Any trailing
blanks will not print. If you want to initialize
variable 01 with a description, the command would
appear as:
.ivr01 Language Dictionary XX-3145-2
.vr01-.vr99 Print a variable. Previously initialized variables
can be printed at any time. It is an error to
request to print a variable that is all blank (the
default value). Trailing blanks will not print.
Assume you initialized .vr01 as shown previously and
now want to print it. Your source text would appear
as:
.p For a description of languages provided
see the manual .vr01.
The formatted text would appear as:
For a description of languages provided see the
manual Language Dictionary XX-3145-2.
Data Base Access
----------------
The most common form of data base access is where you want to copy in
text from another text member and make it a permanent part of your
source member. Or you want to copy in a spooled file as part of your
documentation. This type of copy occurs during SEU and is not
influenced by the PRTSEUTXT command. See the later section on
copying spooled files during SEU.
You can also dynamically copy in data during the execution of
PRTSEUTXT. You would do this if the data was volatile and you did
not want it hard coded in your text member. There are several
methods of dynamically including data base information in your text
during the execution of PRTSEUTXT.
** As an 'include'. If your data base member is exactly what you
want to print (has the exact formatting required), the
simplest solution is to treat it as an 'include'. The data
can contain special PRTSEUTXT commands (e.g. .p) or just
non-paragraph lines. See the .read command.
** As parameters to a form letter. This means you want to print
the same text over and over with different parameters such as
name and address. See the .prm command.
** As printed output. You may have a print program that prepares
the data and prints a spooled file. You can copy the spooled
file into the text with the .splf command.
In some applications, you may want to dynamically access the
system information (such as a DSP command with an OUTFILE
parameter) or use a query against an existing data base and
include some of the fields from the desired records.
PRTSEUTXT does not support this directly, but you can achieve
the results using a combination of functions.
Assume you want to print the name, object type and size of
every object in QGPL that is owned by QSECOFR. You can use
the following technique:
-- Use DSPOBJD to create an outfile of all objects in
QGPL.
-- Use OPNQRYF to select those owned by QSECOFR.
-- Use a print program to print the data in the desired
format. A good choice for a print program is to use
the TAA tool CRTPRTPGM to create a generalized print
program for any externally described file (e.g. the
DSPOBJD outfile). Then you can use the PRTDBF command
(part of CRTPRTPGM) to print the fields you want in the
desired sequence. PRTDBF supports an option to prevent
the printing of the heading and final totals normally
printed. Thus you can create a spooled file with just
the columnar information that you want.
-- Use the .SPLF command to copy the formatted data into
your text.
All of this could be done by using 1) multiple .exec commands
within PRTSEUTXT or 2) a CL program that also included
PRTSEUTXT. You would at least need the .splf command within
your source member. For example, assume you have used
CRTPRTPGM to create a program for the file DSPOBJDP. Your CL
program would specify:
DSPOBJD OBJ(QGPL/*ALL) OBJTYPE(*ALL) +
OUTPUT(*OUTFILE) OUTFILE(QTEMP/DSPOBJDP)
OVRDBF FILE(DSPOBJDP) TOFILE(QTEMP/DSPOBJDP) +
SHARE(*YES)
OPNQRYF FILE(DSPOBJDP) QRYSLT('ODOBOW *EQ "QSECOFR"')
PRTDBF PGM(ZDSPOBJDP) FIELDS(ODOBNM ODOBTP ODOBSZ) +
DSPSPLF(*NO) FILE(QTEMP/*PGM) HEADINGS(*NO)
PRTSEUTXT TXTMBR(xxxxx) PRTTYP(*INTDSP)
CLOF OPNID(DSPOBJDP)
Your text member only needs to use .splf when needed
as:
.splf ZDSPOBJDP
To code the same commands within the text member you
would specify a series of commands such as:
.icm1 DSPOBJD OBJ(QGPL/*ALL) OBJTYPE(*ALL)
.icm2 OUTPUT(*OUTFILE) OUTFILE(QTEMP/DSPOBJDP)
.exec
.icm1 OVRDBF FILE(DSPOBJDP) TOFILE(QTEMP/DSPOBJDP)
.icm2 SHARE(*YES)
.exec
.icm1 OPNQRYF FILE(DSPOBJDP) QRYSLT('ODOBOW *EQ "QSECOFR"')
.exec
.icm1 PRTDBF PGM(ZDSPOBJDP) FIELDS(ODOBNM ODOBTP ODOBSZ) +
.icm2 DSPSPLF(*NO) FILE(QTEMP/*PGM) HEADINGS(*NO)
.exec
.icm1 CLOF OPNID(DSPOBJDP)
.exec
.splf ZDSPOBJDP
Other TAA tool commands of interest
-----------------------------------
CPYSPLTXT - For copying spooled files into your text
----------------------------------------------------
There is often a need to show a workstation display or sample printed
output when creating a document. There is a special TAA tool
designed to assist you. It is the CPYSPLTXT tool.
Assume you have printed a spooled file named ABC and want to copy it
into your SEU text. You could just use the command:
CPYSPLTXT FILE(ABC)
By default, the spooled file will be read and converted to the member
SPL1 in QTXTSRC. You can then use the SEU browse/copy function (F15)
to bring in the spooled file. Either a group job or a system request
job works well while you are in the middle of SEU and want to bring
in a spooled file.
CPYSPLTXT inserts blank lines for any skipping or spacing so that
what you see in SEU is closer to what you will see if you printed the
spooled file.
CPYSPLTXT also has some special options so you can truncate the data
to fit the print line you are going to use, put a border of asterisks
around the information and show '...' where there is more information
on a print line, but not enough room to print it when you print your
SEU text.
Assume you have a spooled file that is 132 wide and your SEU printed
output will only allow for 80 wide. The following command will take
your spooled file, truncate it to 80 bytes, place a border of
asterisks (a box) around the information and insert '...' if data
exists that cannot be shown:
CPYSPLTXT FILE(ABC) TRUNCATE(*YES) BORDER(*YES) RPLDOTS(*YES)
Note that the request to truncate to 80 and print a box means that
you will see positions 1-76 of your spooled output within the box.
The output goes to the SPL1 member in QTXTSRC and then you copy it
with the SEU copy function. You will probably want to use .bkp and
.ekp to keep the information on a single page.
Copying a workstation display is simple with CPYSPLTXT also. You
just use the print key when the display you want appears and make a
spooled file, Then use CPYSPLTXT. Copying workstation displays will
probably work better if you specify CHGJOB PRTKEYFMT(*NONE). This
prevents the system from placing any other data (e.g. job ID) into
the spooled file.
SORTTXT - For sorting text information
--------------------------------------
Sometimes you may want to keep a list of names or some other list
that should appear in the final document in sequence. The TAA tool
SORTTXT can help you. You should keep the names in a separate
member. Assume you have a list of people in the LIST1 member and the
groups they belong to. It might look like this.
Smith 545
Miler 545
Williams 200
Thompson 545
Jones 200
When you want to sort the list, you enter the special control record
as the first SEU statement. You can have up to 4 control fields with
'1' being the most important. If you wanted name within group, the
control record would look like:
2222222222 111
Smith 545
.
Then execute the command:
SORTTXT FROMMBR(LIST1)
SORTTXT reads the control record, generates the sort specs required
and executes FMTDTA. By default, the data is written back to the
same member and the control statement is removed. If you write the
sorted results to a temporary member, you could maintain the LIST1
member separately and leave control record in the source. The
SORTTXT command could be executed within PRTSEUTXT using the .exec
command.
PRTBCKBCK - Print back to back
------------------------------
Some printers allow printing of pages on both sides. If you do not
have such a printer, it is still possible to print on both sides with
the PRTBCKBCK tool. PRTBCKBCK splits your spooled file into one file
for the even numbered pages and one file for the odd numbered pages.
The even numbered pages are printed first and then you reload the
paper to print the odd numbered pages.
Two commands are provided:
** PRTBCKBCK operates on a single spooled file.
** PRTBCKBCK2 operates on all files in an output queue. All of
the spooled files would be treated as a single document and
printed back to back. command could be executed within
PRTSEUTXT using the .exec command.
CHKSPELL - Check spelling
-------------------------
The Check Spelling tools will check the source used for PRTSEUTXT. A
special dictionary is provided (PRTSEUTXT) in TAATOOL that includes
the formatting commands so they do not appear as spelling errors.
Summary of commands and functions
---------------------------------
Each Command (Cmd) and Function (Fun) is listed in alphabetical
order. Defaults are shown in parenthesis.
.bkp Cmd Begin 'keep' operation
.chgb Cmd Change bar date in YYMMDD fmt (PRTSEUTXT cmd)
.cpyd Cmd Copy a data file member as data
.cpys Cmd Copy a source member as data
.ct1-.ct9 Fun Print a counter - add one before printing
.dat1 Fun Print a date as 'November 2, 2009'
.dat2 Fun Print a date as 'Nov 2, 2009'
.dat3 Fun Print a date as '11/02/09'
.dbls Cmd Double space the output (PRTSEUTXT cmd)
.ekp Cmd End 'keep' operation
.eof Cmd End of file - no more text will print
.ep Cmd End of paragraph
.exec Cmd Execute a CL command - See also .icm1-.icm3
.iblk Cmd Initialize blank replacement character
.ich Cmd Inlz a chapter ID for index or reference
.icm1-.icm3 Cmd Define a command for the .exec command
.ict1-.ict9 Cmd Initialize a counter
.ifil Cmd Inlz the file for the .read cmd (PRTSEUTXT cmd)
.iftb Cmd Inlz number of blank lines before footing (2)
.ift1-.ift3 Cmd Footing lines (*NONE)
.ihda Cmd Inlz number of blank lines after heading (2)
.ihd1-.ihd3 Cmd Heading lines (*NONE)
.ihlm Cmd Inlz the left margin for heading and footing (5)
.ii Cmd Inlz indentation of non-paragraph lines (0)
.ilc Cmd Inlz lower case table
.ilib Cmd Inlz the lib for the .read cmd (PRTSEUTXT cmd)
.ilmg Cmd Inlz left margin (10)
.ilp1-.ilp9 Cmd Initialize left paragraph tag points
.ilt1-.ilt9 Cmd Initialize left tags
.iofl Cmd Inlz overflow line (60)
.inlz Cmd Inlz all PRTSEUTXT defaults
.iper Cmd Inlz the 'period character' (.)
.ipgi Cmd Inlz page ID for PAGEIDS parameter
.ipgl Cmd Inlz page length (66)
.ipi1-.ipi9 Cmd Inlz paragraph indentation points (5, 10...45)
.ipln Cmd Initialize blank lines after a paragraph (1)
.iref Cmd Initialize reference
.irin Cmd Initialize right indent point (5)
.irmg Cmd Inlz right margin (75)
.irn Cmd Inlz Roman numeral table
.isc Cmd Initialize sort code for index or .ref
.itc Cmd Table of contents - Describe the page counter
.itcc Cmd Table of contents right alternating char (.)
.itcl Cmd Left side table of contents page numbers
.itop Cmd Inlz top of the page - first printing line (6)
.iuc Cmd Inlz upper case table
.ivr01-.ivr99 Cmd Initialize a variable
.ixe Cmd Index should be printed - describe the page cntr
.kpar Cmd Keep paragraphs on page (N)
.lc Fun Print next lower case table letter
.l1-.l9 Cmd Left indented paragraphs
.newp Cmd New page - Forces footing and heading
.p Cmd Basic paragraph
.prm1-.prm9 Fun Print a passed parameter (PRTSEUTXT cmd)
.prts Cmd Print SEU stmt nbrs on the left (PRTSEUTXT cmd)
.p1-.p9 Cmd Indented paragraphs
.raj Cmd Right adjust paragraphs (Y)
.rch Cmd Reference the current chapter
.rct1-.rct9 Fun Repeat a counter - no addition before printing
.read Cmd Read a text member - See also .ilib and .ifil
.ref Cmd Use a reference - uses prior sort code
.rlc Fun Repeat current lower case table letter
.rn Fun Print next Roman numeral value from table
.room Cmd If enough room, print on same page.
.rref Cmd Reference a sort code
.rrn Fun Repeat current Roman numeral value
.ruc Fun Repeat current upper case table letter
.r1-.r9 Cmd Right indented paragraphs
.skip Cmd Skip a number of lines
.splf Cmd Copy in a spooled file
.tcb Cmd Table of contents blank line for formatting
.tcd Cmd Table of contents description
.tct Cmd Table of contents title
.txt Cmd Text comment - does not appear in printed output
.xeb Cmd Index blank line for formatting
.xed1-.xed4 Cmd Index entry description with indentation
.xet1-.xet4 Cmd Index title with indentation
.uc Fun Print next upper case table letter
.vr01-.vr99 Fun Print a variable
Restrictions
------------
None.
Prerequisites
-------------
The following TAA Tools must be on your system:
CHGBIGPARM Change big parameter
CPYSPLF2 Copy spooled file 2
CRTDUPPF Create duplicate PF
EDTVAR Edit variable
EXTLST Extract list
HLRMVMSG HLL Remove message
DSPPRTSPC Display printer space
RTVDAT Retrieve date
SNDCOMPMSG Send completion message
SNDESCMSG Send escape message
SNDSTSMSG Send status message
Implementation
--------------
None, the tool is ready to use.
Objects used by the tool
------------------------
Object Type Attribute Src member Src file
------ ---- --------- ---------- ----------
PRTSEUTXT *CMD TAATXTA QATTCMD
TAATXTAC *PGM CLP TAATXTAC QATTCL
TAATXTAC2 *PGM CLP TAATXTAC2 QATTCL
TAATXTAR *PGM RPG TAATXTAR QATTRPG
TAATXTAP *FILE PF TAATXTAP QATTDDS
TAATXTAS *FILE PF TAATXTAS QATTDDS
Structure
---------
PRTSEUTXT
TAATXTAC submits CALL to TAATXTAC2
TAATXTAR
|