207_Tape_Sort_C_V_and_Collate_C_V__ _Addendum_#1 207 Tape Sort C V And Collate Addendum #1
207_Tape_Sort_C_V_and_Collate_C_V__-_Addendum_#1 207_Tape_Sort_C_V_and_Collate_C_V__-_Addendum_%231
User Manual: 207_Tape_Sort_C_V_and_Collate_C_V__-_Addendum_#1
Open the PDF directly: View PDF .
Page Count: 28
Download | |
Open PDF In Browser | View PDF |
U HONEYWELL E·l-", MOD 1 (TR) TAPE SORT C(V) AND COLLATE C(V) ADDENDUM NO.1 GENERAL SYSTEM: SERIES 200/0PERA TING S (TAPE RESIDENT) - MOD 1 SUBJECT: n of the Second Type 2201 Central SPECIAL INSTRUCTIONS: ~~jilhed pages should be used to replace thii2orresponding pages in the manual. They will be incorporated into the next edition of the manual. NOTE: The user can signal the updating of the manual with Addendum No. 1 by inserting this cover immediately behind the manual cover. I: DA TE: April 28, 1967 9629 4467 Printed in U.S.A. FILE NO.: 123.6005.021C.1-207 ':'Underscoring denotes Order Number. FOREWORD Tape Sort C(V) and Collate C(V) are programs which function in the Serie s 200/0perating System - Mod 1. Both programs are described in this manual because of the likelihood that they will be run consecutively. For instance, when two or more sorted output files have been pro- duced, it may be desirable to collate them into a single ordered file. Tape Sort C(V) and Collate C(V) can be stored on a binary run tape (BRT) and run under control of Tape Loader-Monitor C or Floating Tape Loader-Monitor C, or the specific program could be punched on cards for a binary run deck (BRD) and loaded via Card Loader-Monitor B or the card loading option of Floating Tape Loader-Monitor C. program is loaded and used independently. Monitor programs, In any case, the sort or collate For more extensive information on the Loader- refer to the manuals entitled Tape Loader-Monitor C, Order Number 221, Floating Tape Loader-Monitor C and Interrupt Control D, Order Number 005, or Card LoaderMonitor B, Order Number 154, as applicable. This manual has been arranged in sections for direct reference according to the reader's familiarity with Honeywell sorting and collating programs. is contained in Sections I through V: An explanation of the Tape Sort C(V) (I) general sorting procedures and sort program charac- teristics, (II) parameter information for specialization of the sort, (III) descriptions of optional own-coding routines, (IV) considerations and methods for running the sort, and (V) detailed operating procedures. Collate C(V) program information is contained in Sections VI through IX: (VI) collate program characteristics and general collating procedures, (VII) parameter information for specializing Collate C (V), (VIII) consideration s and methods for running the collate, and (IX) detailed operating procedures. Information concerning optional user-coded routines is contained in Appendix A. Copyright 1967 Honeywell Inc. Electronic Data Processing Division Wellesley Hills, Massachusetts 01281 4/28/67 ii SECTION I BASIC CONCEPTS OF TAPE SORT C(V) INTRODUCTION Sorting is an integral function of most data processing applications, in that sorting proc: esses rearrange randomly ordered input data to produce a sequentially ordered output data file. For many applications, it is necessary to sort files consisting of variable-length units of information. Tape Sort C(V) is the general-purpose Series 200 program for performing variable- length sorting functions using 1 /2-inch magnetic tape. A s a general-purpo se program, Tape Sort C(V) can be adapted to different data formats and equipment configurations, enabling it to handle a wide variety of sorting applications. The in- formation used to specialize Tape Sort C(V) for a particular application is entered at the beginning of sort processing by means of parameters specified by the user. Input to Tape Sort C(V) is processed through the program's many operational segments which may be grouped into three logical segments: presort, merge, and last pass. The presort segment accepts the input data in the form of variable-length units of information called "items" and distributes ordered groups of items called "strings" on from two to five tape reels. The merge segment combines the presorted strings into fewer and longer strings during a series of merge phases, resulting in only one long string on each work tape except one. segment further combines these single strings into a contiguous sequence - The last-pass the sorted file. The activities performed during the presort and last-pass segments can be augmented by routines written by the user. These routines, which can be easily written using Easycoder symbolic language, are referred to as "own-coding." Own-coding can be used to provide all the input to be processed, or to supplement sort processing by modifying header and trailer labels and inspecting, modifying, adding or deleting items. ;: CHARACTERISTICS OF TAPE SORT C(V) Tape Sort C(V) is characterized by the following activities: 1. Sorts variable -length items blocked to a variable number per record; 2. Allows a maximum record size dependent upon the main memory capacity and the number of tapes used in the merge; 3. Performs read-backward, polyphase merging using from three to six tapes; 4. Allows execution in three- or four-character address mode; 4/28/67 1-1 SECTION 1. BASIC CONCEPTS OF TAPE SOR T C(V) 5. Sorts according to control information contained in up to ten sort key fields in each item; 6. Sorts at least one full reel of records (input or output data can be contained on any number of reels, but successful completion of the sort is not guaranteed if the input data exceeds one full reel); 7. Operates with either control panel or console typewriter (Type 220-1, -2, or -3); 8. Labels output tapes as specified by the user; 9. Provides remedial activities for handling unreadable records; 10. Provides for the inclusion of own-coding elements; 11. Provides the final output tape on a specified drive (work tape 1); 12. Provides a program history on the printer and/or typewriter, as designated; and 13. Offers the capability of immediate or delayed restarting. Check and Checkpoint Terminology for Tape Sort C{V) Throughout Sections I to V of this manual, the following terms should be interpreted as defined here. A "checkpoint" is a routine programmed to check or delay processing when Tape Sort C(V) requires an operator decision. A "check" is a term used to denote the occurrence of a checkpoint and is relayed to the operator through either the control panel (via a machine halt) or the console typewriter (via a typed message). All checkpoints associated with Tape Sort C{V) are listed in Table 5-1 and numbered to correspond to the appropriate operator action. MACHINE REQUIREMENTS Tape Sort C(V) requires the following equipment configuration. 1. A minimum main memory capacity of 8, 192 character locations is required if the program is assembled and run in 3-character address mode, but up to 32K locations can be used to advantage; similarly, with 4-character address mode, a minimum of 12,288 locations is required, but up to 65K locations can be used to advantage. 2. A minimum of three tape drives (Type 204B) using 1/2-inch magnetic tape is required. Up to five additional drives can be used for any or all of the following purposes: a. To provide an alternate reel for multireel input; b. To increase the sort power to 3-, 4-, or 5-way merging; or c. To eliminate tape changing for the merge segment. 3. Additional tape drive, or a card reader, for program loading. 4. The Advanced Programming Instructions feature (011). 5. Read/write channels two and three (RWC2 and RWC3) or their counterparts in the second input/output sector (if available) will be used for reading and writing, respectively. The second I/O sector counterparts of RWC2 and RWC3 are RWC5 and RWC6, respectively. RWC5 and RWC6 are available if the machine configuration includes Feature 1115 (second input/output sector for the Type 2201 Central Processor). 6. Index registers one through four. 4/28/67 1-2 r SECTION II TAPE SORT C(V) PROGRAM SPECIALIZATION PARAMETER DESIGNA TION The information which specializes Tape Sort C(V) for a particular application is made available to the program by means of parameters designated by the user. Parameters may be supplied to the sort program in a variety of ways, depending upon the method by which the program is being run. For instance, if Tape Sort C(V) is to be executed as a single run, the parame- ter characters can be punched on three parameter cards, as described in Section IV, and read in from the card reader under control of Tape Sort C( V) segment PO. Another method of parame- ter entry, which is convenient when Tape Sort C(V) is to be run as one of a series of programs, is for the user to include coding in the program executed immediately before the sort which will set up in memory the specific parameters to be used during sort processing and call in segment PI of Tape Sort C( V). If Tape Sort C(V) parameters are entered in memory by the preceding program, the need for parameter card loading is elimated, as the parameters will be in memory when the preceding program calls the Loader-Monitor to load the sort program. If the parameters are set up by the preceding program (and are therefore essentially fixed), any minor modifications needed for a particular run can be entered manually from the control panel or console when Tape Sort C(V) 1 is loaded. Parameter information is summarized in Table 4-2, page 4-6, and the parameter characters are loaded into memory starting at location 2,477 (octal). The following paragraphs de- scribe each parameter field. NOTE: When numeric parameters are specified, leading zeros must be designated; for example, the field specifying the maximum number of characters per item (parameters 20-23) is designated 0080 if items do not consist of more than 80 characters. Tape Unit Specifications (Parameter Characters 1-19) Tape Sort C(V) requires a minimum of three tape drives. Up to five additional drives may be used for multi-reel input and for work tapes to reduce the total sort time. The user specifies the address and function of each tape drive with parameter characters 1 through 16. 1 Two Parameters may be loaded into memory by any method available to the user at any time after the Loader-Monitor is loaded, but the parameters must be in correct format in the specified memory locations before the sort program is loaded. 4/28/67 2- 1 SECTION II. TAPE SORT C(V) PROGRAM SPECIALIZATION characters are required to address a tape drive: the first character specifies the tape control and the input/output sector to which it is connected; the second character designates a particular tape drive attached to the control. The six bits of the first character (V 6 V S V 4 V 3 V 2 VI) are used as follows: 1. Bit V 6 is the I/O bit and is set by Tape Sort C(V); 2. Bits VSV 4 specify the input/output sector (00 indicates the first I/O sector; 10 indicates the second I/O sector); and 3. Bits V 3 V 2 VIs pecify the ta pe control. The six bits of the second character (V V V V3V V ) are used in the following ITlanner: 6 S 4 2 1 1. Bits V 6 V S V 4 are not used and 2. Bits V 3 V 2 VI specify the logical tape drive attached to the tape control. Characters 1 and 2 specify the address (I/O sector and tape control designation followed by drive nUITlber) of the priITlary input tape. Characters 1 and 2 are blank if all of the input data are to be provided through own-coding. Characters 3 and 4 designate the address of the alternate input reel if ITlultireel input is used. Characters 3 and 4 are blank if ITlultireel input is not used. Characters Sand 6 designate the address of the first work tape. address will contain the final sorted output file. the second work tape. The tape drive at this Characters 7 and 8 designate the address of Characters 9 and 10 specify the address of an optional third work tape; these characters are blank if work tapes 3, 4, and 5 are not used. Characters 11 and 12 specify the address of an optional fourth work tape; these characters are blank if work tapes 4 and S are not used. Characters 13 and 14 designate the address of an optional fifth work tape; these char- acters are blank if no fifth work tape is used. Characters 15 and 16 specify the ITlerge work tape. For a ITlerge work tape, the user ITlay designate the primary input tape, the alternate input tape (assuming one is used), or any other available tape not previously specified as a work tape in characters 5 through 14 (see "Effects of Parameter Characters 15 and 16 on page 2-10). H parameter characters IS and 16 are ".a.R", the primary input tape is rewound and locked at the end of the presort, and the merge uses the newly mounted reel on that drive for the merge work tape. In the event of rnultireel input with an alternate input drive specified and "M" des- ignated, the merge work tape will be on the drive from which the next to last input reel was removed. H a tape drive which was not previously designated is specified as the merge work tape, the merge will use that portion of the tape following the read/write head, thereby preserving the data preceding the read/ write head. 4/28/67 2-2 SECTION II. TAPE SOR T C(V) PROGRAM SPECIALIZATION Characters 17 and 18 designate the total number of input reels to be read by the sort. If the number of input reels is greater than one, each input reel is rewound and locked regardless of parameter characters 15 and 16. Character 19 specifies record blocking for bannerless files only; for all other file types, this character is blank. If bannerless files are designated (a "1" in parameter character 36 or 37), the options given in the following table are available. 4/28/67 2-2.1 .--- SECTION III. TAPE SORT C(V) OWN-CODING If an iteITl is to be added after all tape input has been processed, the address of the first (leftITlost) character of the own-coding iteITl ITlust be loaded into index register I, and a branch ITlust be executed to the add exit address (see note on page 3-6). This cycle continues, loading index register 1 with the address of the first character of the iteITl to be added and branching to the add exit address, until control is returned to the own-coding routine and there are no ITlore iteITls to be added. Own-coding then branches to the terITlinate exit address, and the last-pass segITlent terITlinates. Multi -Reel Output If ITlulti-reel output occurs, each output tape is rewound when filled and ITlust be replaced with another tape on that drive address; the user continues to have access to header-trailer and iteITl-by-iteITl own-coding. Hash Totals Tape Sort C(V) does not generate hash totals. Should the user wish to sort even-parity files and desire to include hash totals on the final output, ITlethods can be adopted to preserve or generate hash totals according to the nUITlber of input reels used and output reels anticipated. For instance, if a single reel of input is to be sorted and one reel of output is anticipated, the hash total in characters 21-30 of the standard IBM (even parity) input trailer will autoITlatically be copied onto the final output trailer. When ITlulti-reel input is used and a single reel of output is expected, the user can apply presort header-trailer own-coding in order to accuITlulate the hash totals froITl each input trailer and use last-pass header-trailer own-coding to include the accuITlulated total on the final output trailer. If the user anticipates ITlulti-reel output and de- sires hash totals, he ITlust use last-pass own-coding to generate the hash totals. CONSIDERATIONS FOR PROGRAMMING OWN-CODING The starting location of presort own-coding ITlust be above the highest address available, as given in paraITleters 45 through 50. The starting location of last-pass own-coding ITlay be specified below the highest address available at a cost of restricting the ITleITlory area to be used by the ITlerge and last-pass segITlents. If header-trailer own-coding is used, the address which references a label references the first (leftITlost) character of that label. When iteITl-by-iteITl own-coding is being used, the ad- dress which references an iteITl references the first (leftITlost) character of that iteITl. These rules apply to addresses supplied to own-coding, as well as to addresses supplied to the sort prograITl by own-coding. 4/28/67 3-9 SECTION III. TAPE SORT C(V) OWN-CODING During the presort segtnent, the branch to item-by-item own-coding is executed before each item is moved from the input buffer for processing by the sort program. The branch to last-pass, item-by-item own-coding is executed after the item has been processed by the lastpass segment and moved to the output buffer. When writing own-coding instructions, the user should be especially aware of the following: 1. When a machine configuration has only one input/output sector, Tape Sort C(V) uses RWC2 for reading and R WC3 for writing. In this case, the user must specify RWCl and/or RWCl' in his instructions - RWC2 and RWC3 must not be used for own-coding. If a machine configuration has two input/ output sectors (Feature 1115), RWC2 or its second I/O sector counterpart (RWC5) or both are used for reading, while RWC3 or its second I/O sector counterpart (RWC6) or both are used for writing. In this situation, the user must insure that no read/write channel used by Tape Sort C(V) is used for own-coding. 2. Tape Sort C(V) uses index registers 1 through 4. If these registers are used during an own-coding routine, the user must store the contents of the registers to be used each time own-coding is entered and restore the original contents of these registers before re-entering the sort program. 1 1 The one exception to this rule occurs when adding an item from own-coding, as index register 1 is not restored with its original contents (see page 3-4). 4/28/67 3-10 SECTION IV. TAPE SORT C{V) OPERATING CONSIDERATIONS CALLING AND LOADING TAPE SORT C{V) OWN -CODING If presort and/or last-pass own-coding are used with Tape Sort C{V) on a BRT, presort own-coding can be positioned before or after any sort segIT1ent on the BRT, but last-pass owncoding IT1ust be positioned before sort segIT1ent S3. If Tape Sort C{V) is stored on cards, presort own-coding IT1ust be positioned before segIT1ent PI or before segIT1ent PO if used, and last-pass own-coding IT1ust be positioned before sort segIT1ent S3. If presort own-coding is applied, the user IT1ust provide a IT1ethod of calling and loading the own-coding. Presort own-coding can be called and loaded in the saIT1e IT1anner as any other seg- IT1ent of a loading unit, but it IT1ust be loaded before the first sort segIT1ent is loaded. NOTE: If the user has the IT1eIT1ory locations available, he can load both presort and last-pass own-coding before the sort prograIT1 is loaded; in this case, paraIT1eter characters 161 through 169 are blank. ENTERING THE INPUT TO BE SORTED ParaIT1eters 1 and 2 IT1ust designate the IT1ethod used to enter the input to be sorted. input IT1ust be in an acceptable forIT1at (see pages 1-7 and 1-8). The The two possible IT1ethods for entering input are given below. 1. If paraIT1eters 1 and 2 specify the tape control address and drive nUIT1ber of a tape unit, the input is expected to be on IT1agnetic tape, and the input tape IT1ust be IT10unted before the sort prograIT1 is loaded (see page 2-2 for IT1ultireel input). 2. If paraIT1eters 1 and 2 are blank, all the input is to be provided by own-coding, and the user IT1ust include instructions in his own-coding routine to read the input froIT1 a designated Series 200 input device. NOTE: When own-coding is used to enter all the input, the presort segIT1ent is initialized as having processed all of its norIT1al tape input, and owncoding is used to add one iteIT1 at a tiIT1e for sort processing. TAPE SORT C{V) PARAMETER SUMMARY The table below lists and defines the paraIT1eters for Tape Sort C{V), gives the octal locations for the first character of each paraIT1eter field, and describes the specific paraIT1eter configurations (giving options where possible) to be entered in IT1eIT1ory. NOTE: In Table 4-2, "T" is used to designate a tape control and the I/O sector to which it is connected, "t" specifies a tape drive attached to the control" unit, and "x, " unless otherwise specified, represents a deciIT1al digit. 4/28/67 4-5 SECTION IV. TAPE SORT C(V) OPERATING CONSIDERATIONS Table 4-2. Parameter Group Tape Unit Specifications Record Blocking Tape Sort C(V) Parameter Specification Octal Location Parameter of First CharNumber acter of Field 1-2 3-4 2477 2501 5-6 2503 7-8 9-10 2505 2507 11-12 2511 13-14 2513 15-16 2515 17-18 2517 19 2521 Address of primary input tape Address of alternate input tape (optional) Address of first work tape (final output tape) Address of second work tape Address of third work tape (optional) Address of fourth work tape (optional) Address of fifth work tape (optional) Address of merge work tape Tt - the address of any tape not previously specified in character s 5 -14 .6.R - the primary input tape is rewound and demounted, and the newly mounted tape on that drive acts as the merge work tape Total number of input reels Record blocking (bannerless files only): .6. 1 2 3 Item and Record Sizes Label Indicators - blocked unblocked blockecj. unblocked 2522 24-27 2526 28-31 2532 32 2536 Maximum number per item Maximum number per input record Maximum numbe r per output record Not used (must be 33-34 2537 Label indicators: Beginning of file Tt Tt Tt or .6..6. Tt or .6..6. Tt or .6..6. Tt or .6.R xx .6., 1, 2, or 3 of characters xxxx of characters xxxx of character s xxxx blank) .6. Endof file tape mark tape mark, trailer, and tape mark SS - std. label std. trailer SS - std. label tape mark and tape std. trailer mark and tape mark 4-6 Tt or .6.t:i:< Tt or .6..6. blocked unblocked unblocked blocked 20-23 .6..6. - no label .6. T - no label 4/28/67 Parameter Configuration Description .6..6., .6. T, SS, N.6., or NT (When specifying SS, the user should have one of the proper file label combinations given under "Label indicators"; the labels in the given combinations can not be interchanged. ) SECTION V. TAPE SORT C{V) OPERATING PROCEDURES Table 5-2. Restart Entries Explanation Character Content 1-2 pd - 3 M or ~ If the sort is stopped during the ITlerge, "M" should be specified to prevent re starting at the beginning of the presort rather than the beginning of the current ITlerge phase. "M" ITlust not be entered if the sort was stopped during the presort or last pass. 4 P or ~ "P" is designated if work tape 1 (the final output tape) was not rewound at the beginning of the sort; otherwise, this character is blank. When "P" is specified, the user ITlust reposition work tape 1 as it was when the sort began. r/o sector and tape configurations (p) and drive nUITlber (d) for work tape 2. When the input to the sort is such that no string is written on work tape one, the presort prepares to bypass ITlerge processing, and only last-pass processing is required to cOITlplete sorting the file. In this case, a restart during the ITlerge will produce unspecified results and should be avoided. Tape Positioning for Restarting Tape Sort C(V) will always reSUITle execution at the beginning of the phase in which the halt or interruption occurred. of the presort. When restarting during the presort, the restart point is at the beginning Restarting in the ITlerge causes execution to reSUITle at the start of the current phase of the ITlerge; if the print option was specified, a printout will appear when ITlerge processing has begun (see page 5-10). A restart during the last pass reSUITles execution at the begin- ning of the last pas s. NOTE: A restart cannot be effected if the sort is stopped between segITlent M3 of the ITlerge and segITlent Sl of the last pass. If the sort is to be interrupted for a considerable tiITle and all work tapes are to be de- ITlounted, the tapes ITlust be ITlounted (before the restart is initiated) on the saITle logical drives froITl which they were reITloved. If locations 142 through 145 of the Loader-Monitor cOITlITluni- cation area were ITlodified during the delay, such that fixed-start 3 could not be used for restarting, a console call can be entered to initiate the restart. The console call ITlust be entered for segITlent AADS2VRS. 1 Work tape 2 ITlust be ITlounted on the proper logical drive, for work tape 2 contains the inforITlation nece s sary for re starting. 1 See footnote on page 5-6. 4/28/67 5-9 SECTION V. TAPE SORT C(V) OPERATING PROCEDURES POSITIONING THE INPUT TAPE If the restart is returning to the beginning of the presort, the input tape must be mounted and positioned as it was at the beginning of the sort. Normally, positioning requires rewinding the tape; however, if the input was positioned beyond the beginning of the tape, it is necessary for the operator to reposition it to the actual starting point. POSITIONING OF WORK TAPE 1 If work tape 1 (the final output tape) was positioned at the beginning of tape when the sort run began, the oper;;ttor should enter a blank as the fourth control character (see Table 5-2) to cause the restart to rewind the tape. If work tape 1 was not positioned at the beginning of tape when the sort began, the operator must enter "P" as the fourth control character. The "P" entry inhibits the rewinding of work tape 1 and assumes that the operator has repositioned the tape exactly as it was at the beginning of the sort. Search Direction for Restart Segment The sort program normally searches forward for its next segment; but, when the restart is called using the address in Loader-Monitor fixed-start 3, the program searches backwards for the restart segment. The restart segment, once loaded, signals the sort program to return to a forward search direction. Note that searching backward is not possible when using Tape Sort C(V) in binary run card format; therefore, fixed- start 3 can only be used when Tape Sort C(V) is on a BRT. Restart Message If a typewriter or printer is available and has been specified, the following message is listed at the end of the presort: END OF PRESORT, RESTART MSG pdM 1 . After this message appears, the value "M" should always be entered as the third control character when restarting in the merge (see Table 5-2). Restart Failure If the restart was attempted before the sort had established any restart .information, it will fail; checkpoint 29 occurs, and the sort must be rerun. 1 Where p = peripheral control unit address and I/O sector to which PCU belongs, d number, and "M" indicates that merge processing has begun. 4/28/67 5-10 = drive SECTION VI COLLATE C(V) BASIC CONCEPTS INTRODUCTION Collate C(V) is a general-purpose program which functions in the SERIES 200/0PERATING SYSTEM - MOD 1. The Collate C(V) program is designed to combine from two to five previously sequenced (sorted) files consisting of variable-length items of information in identical format, thereby producing a single sequenced output file - the collated file. The Collate C(V) program performs a single-pass routine to compare items from each input file and to write the items in sequence (according to comparisons) on 1/ 2-inch magnetic tape. Each input file may be contained on one or more magnetic tape reels; however, all reels containing a given file are processed sequentially from a single tape unit. If it is desired to collate more than five input files, two or more collate runs are required. Because Collate C(V) is a general-purpose program, it can be adapted to a variety of data formats and equipment configuratLons. The information used to specialize the program for a particular collating application is entered at the beginning of the collate by means of parameters specified by the user. The prescribed functions-i;o be performed by Collate C(V) can be augmented by own-coding routines written by the user. These routines, which can be easily written using the Easycoder C symbolic language, are explained on page 7-6. Own-coding can be used to modify the header and trailer labels and to inspect, modify, add, and delete items during the collate process. CHARACTERISTICS OF COLLATE C(V) Collate C(V) is characterized by the following activities: 1. Combines two to five previously ordered files into a single ordered file; 2. Processes variable-length items blocked a variable number per record; 3. Collates according to control information contained in up to ten collate key fields in each item; 4. Allows manual correction or removal of unreadable records; 5. Provides for collating sequence translation; 6. Allows label record changes; 7. Collates in ascending or descending sequence; 8. Provides for the inclusion of own-coding; 9. Allows execution in three- or four-character address mode; and 10. 4/28/67 Operates with either control panel or console typewriter (Type 220-1, -2, or -3). 6-1 SECTION VI. COLLATE C(V) BASIC CONCEPTS PRIMARY INPUT FILE (4 REELS) SECOND INPUT FILE ( 3 REELS) COLLATE PROCESSING COLLATED FILE ( 7 INPUT REELS HAVE MERGED INTO ONE FILE) Figure 6-1. Sample Collate Process Check and Checkpoint Terminology for Collate C(V) As defined for Tape Sort C(V) (on page 5-6), a "checkpoint" in Collate C(V) is a routine programmed to check or delay processing when an operator decision is required. A "check" is a term used to denote the occurrence of a checkpoint and is relayed to the operator through either the control panel (via a machine halt) or the console typewriter (via a typed message). All checkpoints associated with Collate C(V) are listed in Table 9-1 and numbered to correspond to the appropriate operator action. MACHINE REQUIREMENTS Collate C(V) requires the following equipment configuration. 1. A minimum main memory capacity of 8, 192 character locations is required if the program is assembled and run in 3-character address mode, but up to 32K locations can be used to advantage; similarly, with 4-character address mode, a minimum of 12K locations is required, but up to 65K locations can be used to advantage. 2. A minimum of three tape drives (Type 204B) using 1/2-inch magnetic tape is required. Another drive may be specified as an alternate for multireel output; and up to three additional drives may be specified to increase the number of files to be combined. 3. An additional tape drive, or a card reader, for program loading is needed. 4. The Advanced Programming Instructions feature (011) is required. 5. RWC2 and RWC3 or their counterparts in the second input/output sector (if available) will be used for reading and writing, respectively. The second I/O sector counterparts of RWC2 and RWC3 are RWC5 and RWC6, respectively. RWC5 and RWC6 are available if the machine configuration includes Feature 1115 (second input/output sector for the Type 2201 Central Processor). 4/28/67 I 6-2 SECTION VI. 6. COLLATE C(V) BASIC CONCEPTS Index registers one through four NOTE: are required. A printer (Type 222 or 206) may be used for printouts of unreadable records, parameters, etc. FILE FORMAT Collate C(V) can process bannered or bannerless files consisting of variable-length items blocked a variable number per record. The different possible file formats require specific data item and record formats identical to those of Tape Sort C(V) as defined on page 1-7. DATA REQUIREMENTS The Collate C(V) program processes variable-length items which can be blocked a variable number per record. Note that the maximum record size designated for output records need not be the same as the maximum size specified for input records. The following formula can be used to determine the maximum record size for both input and output: Maximum record length = '------- HMA - MON - PROG - (NT) (2NKC) - NKC • 2NTC NT Number of input files. HMA Highest memory address available to collate (parameter characters 49-54). TRANS - Translation requirements are 100 locations if parameter character 55 is a "T"; if character 55 is blank, no locations are required. MON Monitor requirements are 1,340 locations. ALT If an alternate output tape is specified, 150 locations are required; if not, the 150 locations are not needed. PROG Collate program requirements are 4,200 TYP locations. + TRANS + ALT + ADM + NTC Number of input files plus one. NKC Number of key field characters in an item (total collate key length). ADM 3-character addressing (0 locations). 4-character addressing (1, 000 locations). TYP 3-character addressing (530 locations). 4-character addressing (595 locations). COLLATE KEYS AND KEY FIELDS The files to be collated are made up of items that are identified and sequentially ordered by means of collate keys. A collate key consists of those key fields within an item which are designated as the basis for developing a sequential relationship among the items from each file to be collated. Each input item may contain up to ten key fields with up to 99 characters per field. These key fields can be located anywhere within an item, provided that they are in the same posi"-..,.-.. tion within each item. 4/28/67 6-3 SECTION VI. COLLATE C(V) BASIC CONCEPTS The location of each key field is specified by the user in parameter characters 81 through 140. If more than one key field is used, all fields must be specified in decreasing order of im- portance; i. e., the key field of major importance is specified first. NOTE: If items are blocked, a character count per item occupies the first (leftmost) two (three for IBM) characters in the item; the leftmost character of the character count is considered the first character of the item the character count field may not be used as a key field. Collate key fields can contain any octal configuration. Standard Honeywell collating se- quence is normally used in the collate, but the user may produce his output in standard IBM collating sequence by specifying the appropriate parameter. MAGNETIC TAPE UNITS Tape drives for I/Z-inch tape are used by the Collate C(V) program. In systems equipped with a recording density option, the higher density offers higher collating efficiency. UNREADABLE INPUT RECORDS In the event that an unreadable record occurs (the read-error check recurs after several attempts at rereading), the collate program will proceed according to the error option specified in the appropriate parameters. OPTIONAL PRINTOUT S If a printer is to be used and is specified in parameters, the collate program automatically prints out a list of collate parameters (if loaded by the program), the input header label (if standard), and an end-of-collate message giving a count of tne items processed and items deleted. COLLATE PROCESS The Collate C(V) program compares the key fields of items from each input file and moves the item with the lowest key field configuration to an output buffer area where a variable number of collated items will be written in record form on an output tape. 1 The steps given below in conjunction with Figure 6-Z provide a summary of the Collate C process. 1. A record consisting of a number of items is read from each input file into an input buffer area in memory (see A of Figure 6-Z). IIf input files are in ascending order, items will be collated according to the lowest key field configuration; input files in descending order are collated according to the highest key field configuration. 4/Z8/67 6-4 .- SECTION VII COLLA TE C(V) PROGRAM SPECIALIZATION PARAMETER PREPARATION The information which specializes Collate C(V) for a particular application is described to the program by means of parameters designated by the user. Parameters may be entered in a variety of ways depending upon the method in which the collate program is being run, For in- stance, if the program is to be executed as a single run, the parameters can be punched on two parameter cards, as described on page 8- 2, and read in from the card reader under control of collate segment 00. Another method of parameter entry, which is convenient when Collate C(V) is to be run as one of a series of programs, is for the user to include coding in the program executed immediately before the collate program which will set up in memory the specified parameters to be used during collate processing and call in collate segment 01. If collate parameter s are entered in memory by the preceding program, the need for parameter card loading is eliminated, as the parameters will be in memory when the preceding program calls the Loader-Monitor to load Collate C(V). If the parameters are set up by preceding program (and are therefore essentially fixed), any minor modifications needed for a particular run can be entered manually from the control panel when Collate C is loaded. 1 Parameter information is summarized in Table 8-2, and the parameter characters are loaded into memory starting at location 2,477 (octal). The following paragraphs describe each parameter field. NOTE: When numeric parameters are specified, leading zeros must be designated; for example, the field specifying the maximum number of characters per item (parameters 25 through 28) is designated 0100 if there is to be a maximum item size of 100 characters. Tape Unit Specifications (Parameter Characters 1-24) The Collate C(V) program requires a minimum of three tape drives. Up to four additional drives may be used for multireel output and to increase the number of input files being collated. The user specifies the address and function of each tape drive in characters 1 through 24. characters are required to address a tape drive: Two the first character specifies a tape control and the input/output sector to which it is connected; the second character designates a particular tape drive attached to the control. The six bits of the first character (V 6 V 5 V 4 V 3 V 2 VI) are used as follows: lparameters may be loaded by any method available to the user at any time after the LoaderMonitor is loaded, but the parameters must be in correct format in the specified memory locations before the collate program is loaded. 4/28/67 7-1 SECTION VII. COLLATE C(V) PROGRAM SPECIALIZA TION 1. Bit V 6 is the I/O bit and is set by Collate C(V); 2. Bits V5V 4 specify the input/output sector (00 indicates the first I/O sector; 10 indicates the second I/O sector); and 3. Bits V 3 V 2 VI specify the tape control. The six bits of the second character (V 6 V 5 V 4 V 3 V 2 VI) are used in the following manner: 1. Bits V 6 V 5 V 4 are not used; and 2. Bits V 3 V 2 VI specify the logical tape drive attached to the tape control. ;; 4/28/67 7 -1. 1 SECTION VII. COLLATE C(V) PROGRAM SPECIALIZATION Characters 1 and 2 specify the address (I/O sector and tape control designation followed by drive number) of the primary input file. file will be taken from this file. input file. Note that header and trailer labels for the output Characters 3 and 4 designate the number of reels in the primary Characters 5 and 6 designate the address of the second input file. Characters 7 and 8 designate the number of reels in the second input file. Characters 9 and 10 designate the address of an optional third input file, or they are blank if a third input file is not used. Characters 11 and 12 designate the number of reels in the third file, or they are blank if a third input file is not used. Characters 13 and 14 specify the address of an optional fourth input file; these characters are blank if only two or three files are to be collated. Characters 15 and 16 designate the number of reels in the fourth file; these characters are blank if there is no fourth file. Characters 17 and 18 specify the address of an optional fifth input file; these characters are blank if only two, three, or four input files are to be collated. Characters 19 and 20 designate the number of input reels in the fifth file; these characters are blank if there is no fifth input file. Characters 21 and 22 designate the address of the output tape drive. Characters 23 and 24 designate the address of an alternate tape drive; if an alternate output tape is not used, these characters are blank. Item and Record Sizes (Parameter Characters 25-36) Characters 25 through 28 specify the maximum number of characters for any item. that items will vary in size, so that a maximum item size must be specified. Note The maximum number is specified in decimal with leading zeros (if needed). Characters 29 through 32 designate the maximum number of characters per input record. Characters 33 through 36 designate the maximum number of characters per output record. Record Blocking (Parameter Character 37) Record blocking is specified for bannerless files only; for all other file types, this character is blank. If bannerless files are designated (a "1" in character 42 or 43), the options given in the table below are available to the user. Character 37 4/28/67 Input Records Output Records ~ Blocked Blocked 1 Unblocked Unblocked 2 Blocked Blocked 3 Unblocked Unblocked 7-2 • j :: J SECTION VII. COLLATE C(V) PROGRAM SPECIALIZATION Tape Labels (Parameter Characters 39-40) Characters 39 and 40 specify tape labeling options as indicated in Table 7 -1. Table 7-1. Characters 39 and 40 Collate C(V) Label Options End of File Beginning of File ~~ No label Tape mark ~T No label Tape mark, trailer, and tape mark ST Standard label Tape mark, standard trailer, and tape mark SSl Standard label (with or without following tape mark) Standard trailer (with or without tape marks) N~ Nonstandard label Tape mark NT Nonstandard label Tape mark, trailer, and tape mark lIf a tape mark appears at the beginning of file, one must precede the trailer at the end of a file; if a tape mark precedes a trailer, the final output will always have a tape mark following the trailer. The output file will have the same type of labeling as the primary input file, unless the user formulates a change through own-coding. If standard labels and trailers are specified, the output tape header label will be identical to the header label of the primary input tape, except "-.../ that the serial number of the output tape will be retained. One exception occurs in that the Collate C(V} program references the 5-character data field as the Loader-Monitor communication area (octal locations 216 through 222) and writes the data field configuration in the output header label. The data is written in character positions 31 through 35 of an 80-character label. Note also that Collate C(V) inserts a reel sequence number in character positions 17 through 19. The output trailer will be identical to the trailer of the last reel of the primary input file, except that record and item counts for the combined file will be established by the collate program. If nonstandard labels are specified, the header label of the primary input file and the trailer record, if any, on the last reel of this file will be copied onto the final output reel. Output Label Verification (Parameter Character 41) Character 41 is a "1" if multireel output is expected and it is desired to have the collate program verify the date and retention cycle on all final output reels except the first. (It is the user's responsibility to assure that the first final output tape can be written on. ) For each output reel after the first, the tape is read forward, so that one record is read into memory. If the first five characters of the record are "lHDR~, 11 the date and retention cycle are compared against those prescribed by the Loader-Monitor, and a check occurs if the label is in error (checkpoint 24). Character 41 is blank if the output label check is not desired. 4/28/67 7-3 SECTION VII. COLLATE C(V) PROGRAM SPECIALIZATION Banner Characters (Parameter Characters 42-43) Characters 42 and 43 are used to specify the presence or absence of banner characters in input and output records. input. Character 37 is a "1" if banner characters are not expected on the If character 37 is blank, the collate program checks input records for a banner charac- ter, regardless of its binary configuration. If character 37 is any nonblank character other than "1," the collate program will select from the input files only those records that have the specified banner character. The option to select on a specific banner character allows the user to process certain types of records from the input file while bypassing all records without the designated banner. For example, if the user's input file consists of records of information from Washington, Paris, London, Los Angeles, etc., (the records of the file should have specific banner characters, e. g., "418" for Washington, "428" for Paris, etc.) and he wished to collate only those items with information from Washington, he could specify a "J" (equivalent to a "41 8 ") in character 42, and the collate program would accept only the input records with banner character::; of "418" and collate the items contained therein. NOTE: It is recommended that the special banner character designated be in the range 41 through 77 (octal). Character 43 is a "I" if output records are not to have banner character s or a blank if the first character in each output record is to be a banner character (56 octal). As with input records, if an alphanumeric character other than "I" is specified in character 43, that specific character is written as a banner character in each output record. The possible configurations for characters 42 and 43 are summarized in the following table, where "x" represents any desired alphanumeric character (l excluded). Character 42 Character 43 x or.t:. .t:.or x x or .t:. 1 1 1 .t:.or x 1 Input Data Record Output Data Record Banner character Banner character Banner character No banner character No banner character Banner character No banner character No banner character NOTE: A relationship must prevail between parameters 42 and 44 and between parameters 43 and 45, as bannered files are read and written in odd parity and bannerless files are read and written in even parity. Parity and Record Gap (Parameter Characters 44-45) Character 44 is blank for odd parity input or specifies an "E" for even parity input. Character 45 is blank if the output is to be written with odd parity and short interrecord gaps, 4/28/67 7-4 SECTION VIII. COLLATE C(V) OPERATING CONSIDERATIONS a three-character mode Loader-Monitor should not be used to load a version of Collate C(V) in four-character mode that includes typewriter options. . 1. The Console Call card. The Console Call card is punched as follows: Columns 1-6 contain the characters AAEC2V (or AAEC 2F if fourcharacter) to indicate the program name; Columns 7-8 contain the characters 00 to indicate the segment name; Column 9 contains the character a to indicate the address of the program run tape containing the Collate program; Columns 10-17 contain either blanks to specify program execution after program loading or a specific program and segment name to designate a program halt after loading the specified segment; Column 18 contains an asterisk (,:,) to identify the Console Call card. 2. Parameter Card 1 (parameters 1-80 in Table 8-2 on page 8-4). 3. Parameter Card 2 (parameters 81-160 in Table 8-2 on page 8-4). Figure 8-1. Parameter Card Input for Loading Collate C(V) Parameters Programmed Call for Collate C(V) Program on Cards If Collate C(V) is loaded within a series of programs, it is recommended that the preceding program enter the collate parameters in their proper memory locations (the locations are specified in Table 8-2 on page 8- 4). The program which precedes Collate C(V) is used to initiate a call by entering the Collate C(V} programname (AAEC2V) andfirst segment name (01) in the appropriate fields of the Loader-Monitor communication area. The program run deck should be placed in the card reader in the order shown in Figure 9-2 on page 9-3. The Collate C(V} program deck is made up of segments, as indicated on page 8-1, each of which is identified by a segment header card, a card with an X8 (Q) or an X84 (,:,) punch in column 1. After the preceding program has entered the parameters in memory and initiated a call for Collate C(V}, the Loader-Monitor searches forward, reads the ~ segment header card (with the collate program name in columns 11 through 16 and the segment name in columns 17 and 18), and begins loading the Collate C(V) program. 4/28/67 8-3 SECTION VIII. COLLATE C(V) OPERA TING CONSIDERATIONS Card Call for Collate C(V) Program and Parameters on Cards When Collate C(V) is on cards in BRT format and is to be run as the initial program in a series or as a single program, the collate parameters are punched on parameter cards and placed in the program deck between segments 00 and 01 (the parameter cards are placed after the end-of-segment card for 00, which contains an X4 "M" punch in column 1). When typewriter segment TO is used, the parameter cards should be placed after the end-of-segment card for TO. 9-1. The program run deck should be placed in the card reader in the order shown in Figure Once the Loader-Monitor has been loaded, it will search forward for a loading unit, read the 00 segment header card, and load the collate program. CALLING AND LOADING OWN-CODING The user must provide a method of loading Collate C(V) own-coding. Own-coding can be called and loaded in the same manner as any other segment of a loading unit, but it must be loaded before the first collate segment is loaded. COLLATE C(V) PARAMETER SUMMARY Table 8-2 lists and defines the parameters for Collate C(V), gives the octal locations for the first character of each parameter field, and describes the specific parameter configurations (giving options where possible) to be entered into memory. NOTE: In Table 8-2, "T" is used to designate a tape control unit and the I/O sector to which it is connected; "t" specifies a tape drive attached to the control unit; and "x, " unless otherwise specified, represents a decimal digit. Table 8-2. Parameter Group Tape Unit Spec ifications 4/28/67 Collate C (V) Parameter Specification Octal Location of First Character of Field Description 1-2 2477 Address of primary input file Tt 3-4 2501 Number of reels in primary file xx 5-6 2503 Address of second input file Tt 7-8 2505 Number of reels in second input file xx 9-10 2507 Address of third input file (optional) Tt or blank 11-12 2511 Number of reels in the third input file (optional) xx or blank 13-14 2513 Address of fourth input file ( optional) Tt or blank 15-16 2511 Number of reels in fourth input file (optional) xx or blank Parameter Number 8-4 Parameter Configuration · .v ....................... ..,. TECHNICAL PUBLICATIONS REMARKS FORM TITLE: MOD 1 (TR) TAPE SOR T C(V) AND COLLATE C(V) ADDENDUM NO. 1 SOFTWARE BULLETIN DATED: APRIL, 1967 FILE NO: 123.6005. 021C. 1-207 ERRORS NOTED IN PUBLICATION: I ~ :: Fold Q) c: :.:::i bO c: o < .... SUGGESTIONS FOR IMPROVEMENT TO PUBLICATION: ::l o Fold FROM: NAME _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ COMPANY _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ TITLE _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ ADDRESS _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __ '--1 I I I I I I DATE _'_ _ _ __ --------------------------------------------------PERMIT NO. 39531 WELLESLEY HILLS MASS. BUSINESS REPLY . MAIL No postage stamp necessary if maited in tne Uni~· States POSTAGE WILL BE " t HONEYWELL ELECTRONIC DATA PROCESSING DIVISION 60 WALNUT STREET WELLESLEY HILLS, MASS. 02181 ATT'N: TECHNICAL COMMUNICATIONS DEPARTMENT [ r Honey~ell ELECTRONIC DATA PROCESSING ~ < I I I I I I
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.4 Linearized : No XMP Toolkit : Adobe XMP Core 4.2.1-c041 52.342996, 2008/05/07-21:37:19 Modify Date : 2016:11:11 10:45:56-07:00 Create Date : 2016:11:11 09:41:04-07:00 Metadata Date : 2016:11:11 10:45:56-07:00 Format : application/pdf Document ID : uuid:81913d4a-aea6-934a-b8ef-0d2ff44441df Instance ID : uuid:276cd7a0-0fb8-e54d-82d2-3d183b6d3eba Producer : Adobe Acrobat 9.0 Paper Capture Plug-in Page Layout : SinglePage Page Count : 28EXIF Metadata provided by EXIF.tools