COM **************************************************************
COM * THIS DAZZLER STREAM IS DESIGNED TO PROVIDE EXAMPLES *
COM * OF THE USE OF THE VARIOUS STATEMENTS (BOTH *
COM * OPTIONAL AND MANDATORY) THAT CAN BE USED. *
COM **************************************************************
COM *
COM * All these comment statements (indicated as so by the 'COM' in
COM * the first three positions) are ignored by the program,
COM * as are any blank statements like the ones following:
COMment statements do not have to have a blank/asterisk (' *') in
COM positions 4 and 5 and are not printed. In addition, as no
COM statement contains information after position 66, it is possible
COM to code printable comments in positions 67 - 80 inclusive.
COM * In these examples, comments PRECEDE the actual coding, and
COM * blank statements have been inserted for ease of reading.
COM *
COM **************************************************************
COM **************************************************************
COM *
COM * 1) The first decision to be made concerns the
COM * printer. Some consideration should be given
COM * to the volume and required content. Many options
COM * are available. The default values assumed if
COM * this statement is not present are that dates take the
COM * format dd/mm/yy and that all lines should be
COM * printed with an automatic page-throw before each
COM * set of statements. The following example suppresses the
COM * automatic page-throw, prints dates as mm/dd/yy
COM * and only prints the 10675th and 10676th calls in
COM * detail.
COM *
COM * The program always prints every statement read, with
COM * the exception of comment or blank statements, plus
COM * a last page showing the total number of calls made.
COM *
COM **************************************************************
PARUS>PF1067501
COM **************************************************************
COM * As a reminder, all the preceding statements in this example
COM * are totally optional and, if the default settings for the
COM * PAR statement above were required, then nothing need
COM * have been encoded.
COM **************************************************************
COM **************************************************************
COM *
COM * 2) The following example shows the use of the
COM * iterative function on the header statement and the use
COM * of both types of overwrite statement.
COM * Reading from the left, the header statement specifies
COM * the following:
COM *
COM * Do an 'ISRT' call 9 times in succession using PCB1
COM * with 1 SSA, iteratively increasing the number from
COM * its start value of 100 by 100 and overwriting the
COM * I/O Area in position 14 for a length of 5 and in
COM * position 95 for a length of 4.
COM *
COM * The next statement causes the first SSA to have the
COM * segment name in positions 1 to 8 inclusive (all
COM * segment names are 8 characters long and left-justified)
COM * followed by 42 spaces. The default format (character
COM * format) is used as no entry was made in positions
COM * 5 to 8 inclusive. For the same reason, this default
COM * also applies to the remaining IOA statements.
COM *
COM * These last four statements cause the I/O Area to be set
COM * up for a total of 170 characters. The NNNNN entries
COM * will be iteratively overwritten by the values from
COM * the *HD statement.
COM *
COM * Note that the order of the five statements following
COM * the *HD statement is immaterial: the same results are
COM * achieved no matter what order they are specified in.
COM *
COM **************************************************************
*HD ISRT 009 01 01 00100 00100 0145 0954
S01 001 50 ITEMID
IOA 001 50 ITEMID/MITEM/NNNNN*...............................
IOA 051 50 ..............................ITEMID/MMACD/*NNNN**
IOA 101 50 ...........................................END OF
IOA 151 20 SEGMENT ITEMID --->:
COM **************************************************************
COM *
COM * 3) The following example shows a single call
COM * ('ISRT') using two SSAs.
COM * The *HD statement specifies an insert using PCB1 and 2
COM * SSAs.
COM * The two SSAs and the IOA are created as explained
COM * above in the second step.
COM *
COM **************************************************************
*HD ISRT 01 02
S01 001 50 ITEMID (MITEM = ITEMID/MITEM/00100*)
S02 001 50 LAGER
IOA 001 50 THIS IS A LAGER SEGMENT THAT CONTAINS NO SEQUENCE
IOA 051 50 FIELD WHATSOEVER - HOWEVER FOR INTERNAL CONTROL PU
IOA 101 50 RPOSES -0101- END OF SEGMENT LAGER --->:
COM **************************************************************
COM *
COM * 4) The following example shows a single call
COM * ('GHU') using two SSAs.
COM * The *HD statement specifies a 'GHU' using PCB1 and 2
COM * SSAs.
COM * The two SSAs are created as explained
COM * above in the second step.
COM *
COM **************************************************************
*HD GHU 01 02
S01 001 50 ITEMID (MITEM = ITEMID/MITEM/00700*)
S02 001 50 PRODST (SPKEY = ITEMID-00700/SPKEY-701*****)
COM **************************************************************
COM * 5) POSITION AT BEGINNING AND PRINT THE LOT
COM *
COM * This is achieved by issuing an unqualified get
COM * unique which automatically retrieves the first
COM * segment in the data base and follows this with
COM * successive get nexts until the end of the data
COM * base is reached. This condition is indicated
COM * by a status code of 'GB'.
COM * The two *HD statements are translated as follows :
COM * Issue a 'GU' using PCB1 and then issue a 'GN',
COM * also using PCB1. Keep issuing a 'GN' call
COM * until a status code of 'GB' is returned in the
COM * PCB.
COM *
COM **************************************************************
*HD GU 01
*HD GN GB 01
COM **************************************************************
COM * LAST) PRINT THE NUMBER OF EACH TYPE OF SEGMENT
COM * ACCESSIBLE BY PCB3
COM *
COM * Internally, this statement will cause an unqualified
COM * GU on PCB3 to be issued, thus positioning at
COM * the beginning. Unqualified GNs are then issued
COM * until a status code of 'GB' is returned in the
COM * PCB. This is apparently the same as the previous
COM * two *HD statements in combination (but on a different
COM * PCB), but the SUMMARY statement does not print out
COM * each segment as it reads it. Instead, it only
COM * prints the summary table at the end.
COM **************************************************************
SUMMARY 03
COM **************************************************************
COM *
COM * As all blank statements and comment lines are ignored by
COM * DAZZLER, the identical results from the stream above
COM * would be achieved by the stream which now follows.
COM *
COM **************************************************************
PARUS>PF1067501
*HD ISRT 009 01 01 00100 00100 0145 0954
S01 001 50 ITEMID
IOA 001 50 ITEMID/MITEM/NNNNN*...............................
IOA 051 50 ..............................ITEMID/MMACD/*NNNN**
IOA 101 50 ...........................................END OF
IOA 151 20 SEGMENT ITEMID --->:
*HD ISRT 01 02
S01 001 50 ITEMID (MITEM = ITEMID/MITEM/00100*)
S02 001 50 LAGER
IOA 001 50 THIS IS A LAGER SEGMENT THAT CONTAINS NO SEQUENCE
IOA 051 50 FIELD WHATSOEVER - HOWEVER FOR INTERNAL CONTROL PU
IOA 101 50 RPOSES -0101- END OF SEGMENT LAGER --->:
*HD GHU 01 02
S01 001 50 ITEMID (MITEM = ITEMID/MITEM/00700*)
S02 001 50 PRODST (SPKEY = ITEMID-00700/SPKEY-701*****)
*HD GU 01
*HD GN GB 01
SUMMARY 03 |