Home

Expipe User Guide

image

Contents

1. RECORDING MODE F U V clause for the files with implementor name TAPE in UCS COBOL programs A pipe can be seen as a COBOL sequential file however it will have functional restrictions as discussed in 2 3 2 The following examples of COBOL SELECT clauses can use E xpipe SELECT file name ASSIGN TO DISC pi pe name SELECT file name ASSIGN TO TAPE pi pe name The following examples of COBOL SELECT clauses cannot use Expipe SELECT file name ASSIGN TO MASS STORAGE pi pe name SELECT file name ASSIGN TO UNI SERVO pi pe name SELECT file name ASSIGN TO PRINTER pi pe name SELECT file name ASSIGN TO DISC pi pe name ORGANIZATION IS RELATIVE SELECT file name ASSIGN TO DISC pi pe name ORGANI ZATION 15 INDEXED Notes Expi pecan be used for the files speci fied as RECORDING MODE SDF in ASCII COBOL programs however this is not recommended It is allowed only because it is impossi ble to diagnose such usage Expi pecan be used for the files specified as ASSIGN TO TAPE in the SELECT clause only if the program is desi gned with the assumption that the actual files are assi gned to the disk device with the ASG control statement Using Multiple Pipes between COBOL Programs When using multiple pipes between COBOL programs you must ensure that the writing program and reading program or programs have similar cycles when accessing pipes The following example shows a writing program and a reading program
2. Assign scratch files XA XB XC etc manually prior to calling the SORT processor Specify one or more of the following parameters to the SORT processor RECORD parameter NUMREC parameter VOLUME parameter DISKS parameter with the file size specified DRUM parameter with the file size specified FAST parameter with the file size specified Unavailable SORT Processor Parameters Thefollowing features of the SORT processor for PCIOS SDF sequential files cannot be used with Expipe File assign capability of FILEOUT parameter for an Expipe output file e SORT processor determining the size of scratch files based on the input Expipe file size e CKPT parameter e MOVE parameter REELS parameter 7846 7024 000 2 7 Section 3 Using Expipe Utility Processors 3 1 This section describes the utility processors used with Expipe Each processor call statement includes the format along with a detailed explanation and example EXPDEF Processor Call Statement Function EXPDEF processor call statement defines or deletes a pipe Format EXPDEF option pipe name size unit o run i runl i run2 i run3 Explanation To define a pipe specify the following on the GE XPDEF processor call statement Pipe name e Size of FIFO buffer e Unit for size of FIFO buffer Run ids that can be connected to the pipe Defined pipes are registered in Expipe and can be assigned to the runs with the specified
3. run ids using the E XPASG processor call statement If the same pipe name is already defined the GE XPDEF will replace it with the new specifications Following are the explanations of the fields on EXPDEF processor call statement option is the name of the option You must specify D when deleting a pipe pi pename is the name of the pipe to be defined or deleted sizefunit is the size of FIFO buffer and its unit The size can be either physical number of kilowords or logical number of blocks Expipe converts the logical buffer size to a physical size which must be in the range of 65 535 words to 262 143 words 7846 7024 000 3 1 Using Expipe Utility Processors The physical buffer size can be specified by n KW where n is a value in the range of 65 to 262 The logical buffer size can be specified by n BLOCK where n is the number of blocks When the size is specified but the unit is omitted BLOCK is assumed for the unit When both size and unit are omitted 262KW is assumed o run is the run id associated with the writing output side of the pipe run1 i run2 i run3 are the run ids associated vvith the reading input side of the pipe Up to three run ids can be specified At least one run id i run1 must be specified Different run ids must be specified for o run i run1 run2 and i run3 none of them can be the same E xamples of Usage The following example defines a pipe named EMPL
4. This is because Expipe transfers records from A to B as they are created In actual implementation Expipe synchronizes runs A and B at each block of records That is when run A has completed writing a block of records to the FIFO file then run B can immediately read the block from the FIFO file and start processing each record of the block Write XANANI FIFO File Pipe AAKNN Elapsed Time Figure 1 2 Tuvo Batch Runs Using a FIFO File As shown by these figures Expipe reduces the elapsed time by up to 30 or 40 percent In equation form the time savings are X Y X 0 3 to 0 4 1 2 7846 7024 000 Section 2 Getting Started This section describes how to use Expipe with a COBOL program and the SORT processor SORT It includes an example Expipe runstream 2 1 Using Expipe Expipe can be used from the application programs compiled by UCS COBOL and ASCII COBOL as well as the SORT processor SORT No changes are required to your COBOL programs or SORT processor parameters if they use PCIOS sequential SDF files Otherwise some changes are required The files defined as follows implying PCIOS sequential SDF files can be designated as FIFO files with no changes to your existing application programs e For application programs developed in UCS COBOL and ASCII COBOL SELECT file name ASSIGN TO DISC ORGANIZATION 15 SEQUENTIAL SELECT file name ASSIGN TO TAPE without RECORDING
5. each with a different cycle trying to access two pipes 7846 7024 000 Getting Started Writing Program WRPROG OPEN OUTPUT PI PE1 PIPE2 PERFORM WRIT1 nn TIMES CLOSE WRI T1 WRI TE WRI TE P PEL PI PE2 REC1 4 REC2 4 Reading Program RPROG OPE PERFOR PUT PI PE1 PI PE2 READ1 UNTIL co nd 1 PERFOR READ UNTIL cond_2 READ 1 READ PIPE1 AT END 1 lt 3 READ2 READ PI PE AT END para 2 lt 4 In this example the reading program RPROG has a cycle to access the pipe PIPE 2 which is quite different from that of the writing program WPROG That is RPROG starts reading PIPE 2 after it finishes reading PIPE 1 whereas WPROG writes to PIPE1 and PIPE2concurrently Therefore it is possible for the FIFO buffer for PIPE2 to become full before control is passed to the READ statement 4 which results in both WPROG and RPROG becoming deadlocked In order to avoid a deadlock situation the writing program WPROG must be modified so that it can have the cycle to access PIPE1 and PIPE2 similar to that of the reading program RPROG The modified writing program is shown in the following example Modified Writing Program WPROG OPEN OUTPUT PI PE1 PI PE2 PERFORM WRIT1 nn TIMES CLOSE PI PEL PERFORM WRIT2 nn TIMES CLOSE PIPE2 WRI T1 WRI TE RECI lt 1 WRI T2 WRI TE REC2 lt 2 7846 7024 000 2 5 Getting Started 2 3 2 Unavailable
6. 205 ERROR ACTIVE pipe is not found No ACTIVE pipe is found for GEXPSTA processor call statement with option A 206 ERROR USED pipe is not found No USED pipe is found for EXPSTA processor call statement with option U 207 ERROR WAITING pipe is not found No WAITING pipe is found for EXPSTA processor call statement with option W 208 ERROR SLEEP pipe is not found No SLEEP pipe is found for GEXPSTA processor call statement with option 5 209 ERROR ACTIVE USED WAITING and SLEEP pipe are not found No ACTIVE SLEEP USED and WAITING pipe are found for GEXPSTA processor call statement with option L That is no pipe is currently defined 210 ERROR Illegal character in pipe_name At least one illegal character is specified in pipe name 8 4 7846 7024 000 Diagnostic Messages 211 ERROR Pipe name already defined replaced The pipe name specified in the EXPDEF processor call statement is already defined The previous definition of the pipe is replaced by the new definition 212 ERROR Illegal character in output run id At least one illegal character is specified in output run id 213 ERROR Number of read runs is invalid The number of read runs is out of the allowed range of one to three 214 ERROR Illegal character in input run id At least one illegal character is specified in input run id 215 1 NTERNAL 5 CONV fail statusennnnnnnnnnnn Error element n
7. BDI 78467024 000 Section 6 Inside Expipe This section describes the internal structure of Expipe Expipe consists of three utility processors GEXPASG and E XPSTA one common bank and one fixed gate shared subsystem FGSS These components are shown in Figure 6 1 EXPIPE Common Bank 5 UDUR EXPIPE Fixed Gate Shared Subsystem System Configuration File SYS LIB PIPESCONFIG gt control Flow gt Data Flow Figure 6 1 Structure of Expipe 78467024 000 6 1 Inside Expipe 6 2 Major characteristics of the internal structure of Expipe are as follows The Expipe F GSS is a protected subsystem which is the kernel of Expipe The Expipe basic mode common bank supports mode switching between the basic mode PCIOS and the extended mode Expipe FGSS e Theutility processors GE XPDEF EXPASG and GE XPSTA are packaged as ZOOMs The pipe definition file SYS PIPE DEF is created as a catalogued file when Expipe is used It contains information about pipe definitions The system configuration file SYS LIB PIPE CONFIG is created as a catalogued file when Expipe is installed It contains configuration information for the Expipe system The system administrator can change the configuration parameter in this file if necessary 7846 7024 000 Section 7 Expipe Installation and Configuration 7 1 This section describes how to install Ex
8. COBOL Sequential I O Features The following features of COBOL Sequential 1 0 cannot be used with Expipe e PADDING CHARACTER clause e RECORD DELIMITER clause e RERUN clause e MULTIPLE FILE TAPE clause OPEN I O statement e OPEN EXTEND statement e OPEN REVERSED statement OPEN NO REWIND statement e REWRITE statement e Implied CLOSE in STOP RUN statement UCS COBOL All of the remaining features of COBOL Sequential can be used with E xpipe including the following e OPTIONAL clause e SAME RECORD AREA clause e USE declaratives File concatenation 2 0 78467024 000 Getting Started 2 4 2 4 1 2 4 2 Using Expipe from the SORT Processor To use Expipe from the SORT processor you must specify SDF for the MODE parameter A pipe then can be seen as a PCIOS SDF sequential file however it will have functional restrictions as discussed in 2 4 2 The following is an example of using Expipe with SDF files SORT FILEOUT pipe_name MODE SDF FI LEI N pi pe_name MODE SDF DI SKS 5 TRK 50 The following is an example of file types that cannot use E xpipe SORT FILEOUT pi pe name MODE ACOB FTLE N pi pe name MODE MSAM R Using a Pipe as an Input File to the SORT Processor When using a pipe as an input file to the SORT processor it is impossible for the SORT processor to estimate the amount of input data and to assign scratch files automatically Therefore you must do either of the following
9. EA30 5A31 Status USED Define DEF P yyyyl mm dd hhmm ss Connect 15430 GYM203 W yyyyl mm dd hhm ss yyyy my dd hhmm ss 15431 GYM203 R yyyy mm dd hhmn ss yyyy my dd hhmm ss 6Y1203 W Sectors 894 Wait hh mm ss Stat NORMAL gt GYM203 R Sectors 9650 Wait hh mm ss Stat ERROR EXP PE OB50 EXPI PENAME01 J 0851 0852 Status WAITING hh mm ss Buffer size 0 L BDI 000000 limit 000000 000000 Define DEF P yyyy mm dd hhmm ss Connect 10851 I oh 10852 GYM503 R yyyyl mm dd hhmm ss EXP PE 0860 EXP PENAME01 200 KW J 0861 0862 Status WAI TBUF hh mm ss Buffer size 0 L BDI 000000 limit 000000 000000 Define DEF P yyyyl mm dd hhmm ss Connect 10861 GYM603 W yyyy mm dd hhmm ss 0B62 1 3 8 7846 7024 000 Section 4 Characteristics of Expipe 4 1 4 2 4 3 This section describes operational considerations that are permanent These considerations will help to promote the effective use of Expipe Program Execution Modes While the main target of Expipe is batch programs it can also be used by demand programs Expipe cannot be used by the following programs e Real time mode programs TIP programs HVT P programs e Multiactivity programs Naming a Pipe Pipes are identified by the pipe names which have a format similar to external file names for example qualifier pipe name The USE and EQUAL control statements c
10. FOR nnn MINS run_o Meaning The reading run run id is waiting nnn minutes because the pipe qual filehas been empty and the writing run run_o does not write data blocks to the pipe Action Inspect the status of the writing run run_o run id EXPIPE704 qual file ASSIGN FOR nnn MINS run_o Meaning The reading run run id is waiting nnn minutes for the pipe qual fileto be assigned by the writing run run_o Action Inspect the status of the writing run run_o 7846 7024 000 Diagnostic Messages run id EXPIPE705 qual file HOLD FOR nnn M 5 run ill run i2l run i311 Meaning The writing run run id is waiting nnn minutes for the reading run s such as run 1 to terminate the execution of the program s reading from the pipe qual file The run ids indicated are the reading runs which are executing the programs that are reading from the pipe Action Inspect the status of the reading runs run i1 run i2 and run i3 run id EXPIPE706 qual file HOLD FOR nnn MINS Meaning The writing run run id is waiting nnn minutes because 100 pipes are in use and no FIFO buffer is available for the pipe le Action Inspect the status of the other runs using E xpipe 7846 7024 000 8 17 Diagnostic Messages 8 6 Other Messages PCIOS returns the following error codes and messages to ts caller when an error other than a contingency has taken place in Expipe ASCII COBOL UCS COBOL and the
11. MODE F U V for UCS COBOL For the SORT processor FILE N name MODE SDF FILEOUT name MODE SDF A small change is required for your existing runstreams in order to use the FIFO files This change involves replacing the ASG A control statements for PCIOS sequential SDF files with E XPASG processor call statements that declare use of the FIFO files In addition the FIFO files must be defined by the EXPDEF processor call statements prior to issuing an E XPASG processor call 7846 7024 000 2 1 Getting Started 2 2 2 2 Example of Using Expipe When using Expipe perform the following steps 1 Define a pipe by EXPDEF processor call statement 2 Prepare the runstreams to use the pipe including E XPASG processor call statements to assign the pipe in each runstream e Only onerunstream is used to write records to the pipe Up to three runstreams can be used to read records from the pipe The EXPDEF processor call statement is similar to CAT control statement whereas the E XPASG processor call statement is similar to the ASG control statement See 3 1 for additional information on EXPDEF and 3 2 for information on EXPASG The following example shows a pipe definition using an EXPDEF processor call statement GEXPDEF QUAL PIPE1 200 KW RUN1 RUN2 RUN3 RUN4 Reading Run 3 Reading Run 2 Reading Run 1 Writing Run Size of FIFO Buffer Default 262KW External Pipe Name The
12. a Pipe Writing to and Reading from a Pipe Contents 4 7 4 8 4 9 Error Detection and Recovery When a System Failure Occurs No Interhost Pipe Support Section 5 Operational Considerations 5 1 5 2 5 3 5 4 5 5 5 6 5 7 5 8 5 9 Using Pipes with Newly Developed Programs Access to Pipes Not through PCIOS C2SSDF Access to Pipes through PCIOS C2SSDF from Programs other than ACOB UCOB or SORT Using Expipe on a Memory Tight System Applying Expipe Gradually to Batch Runs Avoiding the X Keyin Avoiding the E Keyin X T No Support for Checkpoint Restart CKRS Collection of the ACOB Program Section 6 Inside Expipe Section 7 Expipe Installation and Configuration 7 1 7 2 7 3 7 3 1 7 3 2 Installing Expipe Installation Verification System Configuration SYS LIB PIPE CONFIG ALLABORT Parameter BUFNUM Parameter Section 8 Diagnostic Messages 8 1 8 2 8 3 8 4 8 5 8 6 8 7 Diagnostic Message Format on Print File Diagnostic Messages Issued by Expipe Utility Processors Diagnostic Messages Issued by Utility Portion of Expipe Fixed Ga
13. but are not in use currently Display usage status information for waiting pipes Waiting pipes are those pipes whose creation by writing runs is delayed until reading runs can complete reading a buffer is the name of the pipe whose usage status information is to be displayed You must specify the pi penameif you want to know the usage status of a specific pipe When pi penameis specified options A F S U and W are ignored When pi pe nameand option L are specified it is equivalent to specifying pi penameand options B and C 7846 7024 000 Using Expipe Utility Processors Example Listing with Explanation QEXPSTA BCD EXSAMPLE EXpi pel EXPSTA xRy yymmdd hhmm ss yymmdd hh mm ss Pipes DEFINED 22 MAX 2000 1 ACTIVE 1 WAI TING 4 WAI TBUF 1 USED 4 SLEEP 12 2 Banks 210002 code limit 001000 000000175561 size 63 9 KW 3 210171 work limit 000000 000001103000 size 296 4 KW 4 210141 buffer limit 000000 000000176750 size 65 0 KW 5 Config ALLABORT YES 6 BUFNUM 25 7 FIFO Bank BDI 210171 210170 210167 210166 210165 210164 210163 210162 210161 210160 210157 210156 210155 210154 210153 210152 210151 210150 210147 210146 210145 210144 210143 210142 210141 8 EXSAMPLE EXPIPE1 65 KW 0811 0821 0822 9 Status ACTIVE 10 Buffer size 65000 L BD 210141 imi t 000000 176750 11 Define 10803A yyyy mm dd hhmm ss 12 Connect 108
14. following is an example runstream used to write records to a pipe by a COBOL program RUN RUN1 EXPASG QUAL PI PEL USE OUT FILE QUAL PI PET X QT PROGRAM The following is an example runstream used to read records from a pipe by the SORT processor RUN RUN2 EXPASG QUAL PI PE1 QUSE IN FILE QUAL PI PEL 050RT FILEIN IN FILE MODE SDF RECORD 10 7846 7024 000 Getting Started Pipes are identified by external pipe names which have a format similar to external file names for example qualifier pipe name The USE and EQUAL control statements can be used for pipes in the same manner as for external file names When a qualifier is not specified for a pipe name the run s project id is used as the qualifier Figure 2 1 shows an example using two pipes The run named SETUP defines two pipes Q AA and Q BB as follows Pipe Q AA has a writing run RUN1 and two reading runs RUN2 and RUN3 The size of the pipe or its FIFO buffer is 262KW the default Pipe Q BB has a writing run RUN2 and a reading run RUN4 The size of the pipe is 100 blocks PIPE Q AA PIPE Q BB Figure 2 1 Example of Using Expipe 7846 7024 000 2 3 Getting Started 2 3 2 3 1 Using Expipe from COBOL Programs To use Expipe from COBOL programs you must specify the following for the file to be connected to a pipe e DISC or TAPE as implementor name of SELECT clause e ORGANIZATION IS SEQUENTIAL
15. id identifying the program using it when a contingency takes place in the Expipe FGSS 7846 7024 000 8 19 Bibliography OS 1100 ASCII COBOL Programming Reference Manual UP 8582 Unisys Corporation OS 2200 Sort Merge Programmi ng Gui de 7831 0687 Unisys Corporation OS 2200 Universal Compiling System UCS COBOL Programmi ng Reference Manual Volume 1 COBOL Statements 7831 0448 Unisys Corporation OS 2200 Universal Compili ng System UCS COBOL Programmi ng Reference Manual Volume 2 Compi ler and System Interface 7831 0455 Unisys Corporation 78467024 000 Bibliography 1 Index Symbols X T avoiding use of 5 2 EXPASG processor call 3 3 GE XPDEF pipe definition example 2 2 EXPDEF processor call 3 1 GEXPSTA processor call 3 4 A A option EXPSTA 3 4 active pipes displaying status of 3 4 ALLABORT parameter configuring during installation 7 3 displaying 3 4 format and description 7 3 application programs COBOL 2 1 ASCII COBOL application programs 2 1 assigning a pipe 3 3 B option GEXPSTA 3 4 banks displaying information about 3 4 batch runs applying Expipe to 5 2 using Expipe with 1 2 benefits of Expipe 1 1 buffer waiting pipes displaying status of 3 4 BUFNUM parameter configuring during installation 7 3 displaying 3 4 format and description 7 4 C option EXPSTA 3 4 characteristics Expipe 4 1 Checkpoint Restart no support for 5 2 CKRS SeeCheckpoint R
16. initial loading of an Expipe FGSS after recovery or an initial boot 8 6 7846 7024 000 Diagnostic Messages 239 INTERNAL REG4TERM fail status nnnnnnnnnnnn The REG4TERM returned an error status of nnnnnnnnnnnn 240 ERROR This pi pe name is already defined and active status nnnnnnnnnnnn EXPDEF has failed because the pipe named on the EXPDEF processor call is already defined and active in use This GEXPDEF call is ignored 241 ERROR The output run id and input run id are duplicated QEXPDEF has failed because the same run id is specified for both the output and input runs Different run ids must be specified for output and input runs none of them can be the same 242 INTERNAL Free error on SYS PIPES DEF status ennnnnnnnnnnn Expipe has failed to free the pipe definition file named SYS PIPE DEF nnnnnnnnnnnn indicates the status code for the F REE control statement 243 ERROR Cannot assign this temporary file statusennnnnnnnnnnn QEXPASG has failed to assign a temporary file having the same name as the pipe nnnnnnnnnnnn indicates the status code for the ASG control statement 244 ERROR Write error on temporary file statusennnnnnnnnnnn E XPASG has failed to write to a temporary file having the same name as the pipe nnnnnnnnnnnn indicates the I O status code 245 INTERNAL Cannot use attach internal file name QUSE to temporary file Expipe has failed to attach an USE internal file name to
17. runs with the same original run id are executing e AnX keyin was issued to a run using a pipe making the pipe purge incorrectly 323 INTERNAL Console message cannot be issued statusennnnnnnnnnnn Expipe could not issue a console message 328 INTERNAL LS BANK_NAME fail status nnnnnnnnnnnn Bank BDI is BDI value The Linking System s program callable interface LS BANK_NAME has returned error status nnnnnnnnnnnn when E xpipe called LS BANK NAME to obtain bank names 7846 7024 000 8 11 Diagnostic Messages 329 INTERNAL LS VA_OM_REL fail statusennnnnnnnnnnn Bank BDI is BDI value The Linking System s program callable interface LS VA OM REL has returned an error status nnnnnnnnnnnn when Expipe calls LS VA_OM_REL to obtain a relative address in object module for a virtual address 330 CONTINGENCY Contingency error occurs in Expipe A contingency error has occurred in the E xpipe fixed gate shared subsystem FGSS 331 CONTINGENCY Contingency error occurs in contingency processing A contingency error has occurred during contingency processing of Expipe making it impossible for Expipe to continue contingency processing 331 CONTINGENCY Expipe contingency processing terminated Expipe cannot continue contingency processing and has terminated 333 INTERNAL REG4TERM fail statusennnnnnnnnnnn Element name is elt name The Exec extended mode call REG4TERM has returned error status nnnnnnnnnnnn when E xpipe
18. these parameters if necessary using the following procedure 1 Install Expipe in your system but do not start the IVP runstream 2 Change a parameter value using a symbolic editor such as IPF 3 Execute GEXPSTA control statement with option C and confirm that the configuration value has been changed 4 Start the LIBSAVE run if needed ALLABORT Parameter Multiple reading programs can connect to a pipe This parameter selects an action for the writing program if one of the reading programs has terminated in error Format NO ALLABORT YES Explanation NO As long as there is at least one remaining reading program executing normally the writing program will not terminate in error This is the default value YES The writing program and all of the reading programs will immediately terminate in error f one of the reading programs has terminated in error Note One or more space characters are required before and after the equal sign 7846 7024 000 7 3 Expipe Installation and Configuration 7 3 2 BUFNUM Parameter This parameter specifies the maximum number of pipes concurrently used in a system Format BUFNUM number Explanation The number value also specifies the maximum number of FIFO buffer banks that have high BDIs more than 010000 at APPLICATION level If the Exec configuration parameter APLDYNBDS is not set high enough to allocate FIFO buffer banks you must reduce the value of number You can s
19. 00 5 1 Operational Considerations 5 5 5 6 5 7 5 8 5 9 5 2 Applying Expipe Gradually to Batch Runs When using Expipe with writing runs and reading runs that affect each other as explained in 4 6 and 4 7 Unisys recommends that you apply Expipe gradually to batch runs by first focusing on I O bottlenecks of intermediate sequential files Avoiding the X Keyin You must never use an X keyin to kill a run that is currently using Expipe The X keyin will cause Expipe to malfunction This is because the X keyin prevents the purge of a pipe which includes the freeing of the FIFO buffer and the initialization of a pipe Avoiding the E Keyin X T You should avoid using an E keyin from the system console or an X T froma demand terminal to terminate the Expipe utility processors GEXPASG and QEXPSTA when first executing Expipe after a system boot The E keyin will cause Expipe to malfunction because it prevents the initialization of the Expipe FGSS No Support for Checkpoint Restart CKRS Expipe does not support Checkpoint Restart CKRS This means that CKRS cannot be used for any run that makes use of Expipe Collection of the ACOB Program Expipe internally uses a PROGRAM level working bank whose address range is 030000 through 031777 The data bank of the ACOB user program must be allocated to an address greater than or equal to 032000 or else the program may abort with an IGDM illegal
20. 11 PRGO12 yyyy mm dd hhmm 55 13 Open yyyy mm dd hhmm ss yyyy mm dd hhmm ss 14 Write yyyy mm dd hhmn ss yyyy mm dd hhmm ss 15 Close yyyy mm dd hhmm ss 16 0821 PRG021 yyyy mm dd hhmn ss yyyy mm dd hhmm ss 17 Open yyyy mm dd hhmn ss yyyy mm dd hhmm ss Write yyyy mm dd hhmn ss yyyy mm dd hhmm ss 18 Close yyyy mm dd hhmm ss yyyy mi dd hhmm ss 0B22 PROG22 yyyy mm dd hhmm ss Open yyyy mm dd hhmn ss yyyy mm dd hhmm ss Write yyyy mm dd hhmm ss Close yyyy mm dd hhmm ss PRG012 Sectors 9832 Wait hh mm ss Stat ACTIVE 19 gt PRG021 Sectors 9650 Wait hh mm ss Stat NORMAL 20 gt PRG022 Sectors 9200 Wait hh mm ss Stat ACTIVE Note For this example lines 1 through 5 are di splayed by specifying opti on B and lines 6 through 8 are di splayed by specifying opti on C Lines 19 and 20 areshown only for ACTIVE or USED pi pes They are not shown for WAITING WAITBUF or SLEEP pi pes 1 DEFINED shows the number of the pipes currently defined by the GEXPDEF processor call statement MAX shows the maximum number of the pipes that can be defined by processor call statement 2 ACTIVE shows the number of pipes that are in use WAITING shows the number of pipes that are waiting to be created by writing runs but are delayed until reading runs can complete reading a buffer WAITBUF shows the number of pipes whose FIFO buffer is not available USED shows the number of pipe
21. DEF 8 10 7846 7024 000 Diagnostic Messages 316 INTERNAL This external pipe name must be defined in internal table after pipepreread qual file The external pipe qual fileis not defined in an internal table of Expipe where it should have been defined as a result of the first read request to the pipe by the SORT processor 317 1NTERNAL Read request word count is larger than FIFO buffer bank An illegal read request was made that specifies a word count larger than the size of FIFO buffer bank 318 1 NTERNAL Cannot allocate FIFO buffer status nnnnnnnnnnnn The Exec extended mode call MODIFY BANK has returned error status nnnnnnnnnnnn when E xpipe called MODIFY BANK to allocate a FIFO buffer bank for a pipe 319 INTERNAL Cannot free FIFO buffer statusennnnnnnnnnnn The Exec extended mode call MODIFY BANK has returned error status nnnnnnnnnnnn when E xpipe called MODIFY BANK to release a FIFO buffer bank for a pipe 320 ERROR Your run cannot use this pipe This run cannot use this pipe because the run id has not been specified on EXPDEF processor call statement 321 INTERNAL Mass storage addr is max logical page over 322 ERROR Cannot perform pi pepreread function because pipeconnect function already performed qual file The SORT processor has made its first read request to the pipe qual fi le but failed because the pipe is already connected Possible causes include the following e Two or more reading
22. Expipe 5 1 messages console 8 16 diagnostic 8 1 PCIOS 8 18 MODE parameter specifying SDF for 2 7 modified write program example 2 5 multiactivity programs using Expipe with 4 1 multiple pipes restrictions with COBOL programs 2 4 naming a pipe 4 1 number of pipes limits on 4 1 Index 2 o operational considerations Expipe 5 1 options EXPSTA 3 4 P PCIOS files using Expipe with 2 1 pipe using as input SORT 2 7 pipe availability vvaiting for 4 2 pipe definition example 2 2 pipes attempting to access other than PCIOS 5 1 creating 4 2 naming 4 1 purging 4 2 reading from 4 2 using with newly developed programs 5 1 vvriting to 4 2 processor call 2 2 processor call statement EXPASG 3 3 EXPDEF 3 1 EXPSTA 3 4 program execution modes Expipe 4 1 programming considerations Expipe 2 6 2 7 purgingapipe 4 2 R read program example 2 5 reading from a pipe 4 2 real time mode programs using Expipe with 4 1 recovery Expipe 4 3 runs maximum number supported 4 1 runstreams installation verification 7 2 S S option EXPSTA 3 4 scratch files assigning prior to calling SORT 2 7 SDF files using Expipe with 2 1 SELECT clause COBOL 2 4 sleep pipes displaying status of 3 4 SOLAR using to install Expipe 7 1 7846 7024 000 Index SORT example parameters 2 7 installation verification 7 2 parameter restrictions 2 7 SORT proces
23. G cannot be assigned Default values are used as BUFNUM and ALLABORT parameters 262 ERROR SYS LIB PIPE CONFIG is exclusively assigned by another run default value is assumed The pipe configuration file SYS LIB CONFIG is exclusively assigned by another run Default values are used as BUFNUM and ALLABORT parameters 263 ERROR Read error on file SYS LIB PI PE CONFIG default value is assumed Expipe cannot read the configuration file SYS LIB CONFIG Default values are used as BUFNUM and ALLABORT parameters 265 ERROR Specified parameters in file SYS LIB PIPESCONFIG are illegal default value orlatest correct value s assumed A syntax error was detected in the configuration file 5Y5 LI B PI PE CONFI G Default values or the latest correct values are assumed for the BUFNUM and ALLABORT parameters 266 ERROR Cannot free file SYS LIB PIPESCONFIG The pipe configuration file SYS LIB CONFIG cannot be freed 270 ERROR Pipe initialization in progress Do not enter X or X T At initial loading of the Expipe subsystem the keyins X X T and X E are not allowed This warning message will be displayed from E XPDEF E XPASG or OEXPSTA only for the first demand user following a system boot 8 8 78467024 000 Diagnostic Messages 8 4 Diagnostic Messages Issued by Kernel Portion of Expipe Fixed Gate Shared Subsystem 300 ERROR Cannot allocate FIFO buffer replace 262K word The size of FIFO buffer spec
24. L Clear bdi_lock Expipe EXPCLR unlocked the BDI table 401 INTERNAL Clear pce initial lock Expipe EXPCLR unlocked the initial_stat_flag of the PCE table 402 INTERNAL Clear tbl lock Expipe EXPCLR unlocked the PCE table 403 INTERNAL Clear bdi lock and pce_initial_lock Expipe EXPCLR unlocked the BDI table and the initial stat flag of the PCE table 7846 7024 000 Diagnostic Messages 404 INTERNAL Clear bdi_lock and tbl_lock Expipe EXPCLR unlocked the BDI table and PCE table 405 INTERNAL Clear pce initial lock and tbl_lock Expipe EXPCLR unlocked the initial stat flag of the PCE table and the PCE table itself 406 INTERNAL Clear bdi lock pce initial lock and tbl_lock Expipe EXPCLR unlocked the BDI table and the initial stat flag of the PCE table and the PCE table itself 7846 7024 000 8 15 Diagnostic Messages 8 5 Console Messages run id EXPIPE701 qual file HOLD FOR nnn MINS run_o Meaning The reading run run id is waiting nnn minutes for the pipe qual fi leto be created by the writing run run_o Action Inspect the status of the writing run run o run id EXPIPE702 qual file FULL FOR nnn MINS run_ Meaning The writing run run id is waiting nnn minutes because the pipe qual filehas been full and the reading run run_i does not read data blocks from the pipe Action Inspect the status of the reading run run_i run id EXPIPE703 qual file EMPTY
25. OY SORT OUT with a size of 262K words between a run named SORT1 and another run named RPT1 EXPDEF EMPLOY SORT OUT SORT1 RPT1 The following example defines a pipe named TEMPORARY with size of 50K words between a writing run named APPL1 and two reading runs named APPL2 and APPL3 This example will generate an error EXPDEF TEMPORARY 50 KW APPL1 APPL2 APPL3 Listing Examples EXPDEF EMPLOY SORT OUT SORT1 RPT1 EXPDEF xRy yymmdd hhmm ss yymmdd hh mm ss EXPIPE101 Completed EXPDEF TEMPORARY 50 KW APPL1 APPL2 APPL3 EXPDEF xRy yymmdd hhmn ss yymmdd hh m ss EXP PE221 ERROR Buffer size is out of range Should be 65KW through 262KW 3 2 7846 7024 000 Using Expipe Utility Processors 3 2 EXPASG Processor Call Statement Function The GEXPASG processor call statement assigns a pipe to the run which executed the QEXPASG statement Format EXPASG pi pe name where pi pe nameis the name of the pipe to be assigned to the run The pipe must be defined by the E XPDEF processor call statement prior to issuing the EXPASG processor call statement The run that executes the E XPASG statement must have its run id specified by the E XPDEF statement for the pipe as o run i run1 i run2 or i run3 Otherwise the pipe cannot be assigned to the run by the GE XPASG statement If a pipe is used more than once in a runstream the E XPASG statement must be specified each time The pipe is automatically
26. SORT processor issue their own message text as specified in the following table Error Message and Explanation 1 An error occurred while using a pipe A diagnostic message by Expipe precedes this message For UCS COBOL ERROR URTS 35001 FILE SYSTEM 1 I O error returned Code 000011 For ASCII COBOL and SORT VO STATUS CODE 11 31 READ WRITE TYPE INHIBITED FOR THIS FILE Specified type of read or write operation is not allowed for the pipe Possible causes include Read write requests by programs other than ACOB UCOB and SORT e Use of features not supported by Expipe such as COBOL OPEN EXTEND statement For UCS COBOL FERROR URTS 19002 FILE SYSTEM 90 Expipe is not allowed For ASCII COBOL and SORT Expipe IS NOT ALLOWED 8 18 78467024 000 Diagnostic Messages 8 7 8 8 Dump List for Expipe Internal Errors When an unrecoverable contingency error has taken place in Expipe FGSS Expipe issues an error message and prints a dump list which is used for problem analysis The dump list has the following characteristics File name Expipe CGYDUMP e Run id of the the run using Expipe e Standard print queue named PR Reporting Problems The following materials are required for prompt resolution of reported problems that pertain to Expipe Program execution listing that shows the problem e Listing created by EXPSTA L processor call statement e Dump listing produced by Expipe with the run
27. UNISYS OS 2200 Expipe User Guide Copyright 1995 Unisys Corporation All rights reserved Unisys is a registered trademark of Unisys Corporation Release SB6 November 1995 Printed in U S America Priced Item 78467024 000 NO WARRANTIES OF ANY NATURE ARE EXTENDED BY THE DOCUMENT Any product and related material disclosed herein are only furnished pursuant and subject to the terms and conditions of a duly executed Program Product License or Agreement to purchase or lease equipment The only warranties made by Unisys if any with respect to the products described in this document are set forth in such License or Agreement Unisys cannot accept any financial or other responsibility that may be the result of your use of the information in this document or software material including direct indirect special or consequential damages You should be very careful to ensure that the use of this information and or software material complies with the laws rules and regulations of the jurisdictions with respect to which it is used The information contained herein is subject to change without notice Revisions may be issued to advise of such changes and or additions Correspondence regarding this publication should be forwarded using the Business Reply Mail form in this document or remarks can be addressed directly to Unisys Corporation Pl Response Card P O Box 64942 St Paul Minnesota 55164 9544 U S A Remarks can also be sent to t
28. a temporary file having the same name as the pipe 246 NTERNAL Cannot free TEMP file with A option Expipe has failed to free F REE A the internal file name attached to a temporary file having the same name as the pipe 247 INTERNAL Cannot display console message statusennnnnnnnnnnn Element name elt name Expipe has failed to display a message upon console nnnnnnnnnnnn indicates the error status code 248 INTERNAL LS BANK L ST fail statusennnnnnnnnnnn The Linking System s program callable interface LS BANK LIST returned an error status of nnnnnnnnnnnn when Expipe called LS BANK_LIST to obtain BDI values of banks 78467024 000 8 7 Diagnostic Messages 249 INTERNAL S STORAGE _INSPECT fail status nnnnnnnnnnnn Bank name bank name Bank BDI BDI value A call to S STORAGE_INSPECT has failed nnnnnnnnnnnn indicates the error status code 250 ERROR The definition cannot delete an active or waiting pipe An attempt to delete a pipe using an E XPDEF processor call statement with option D has failed because the status of the pipe is active in use or waiting The QEXPDEF call is ignored 251 1NTERNAL Error occurs on UCSMAKE OPK An error is detected in a call to UCSMAKEIOPK Expipe calls UCSMAKEIOPK to make an I O packet to write to the pipe definition file SYS PIPE DEF 260 ERROR Cannot assign file SYS LIB PI PE CONFIG default value is assumed The pipe configuration file SYS LIB CONFI
29. ame elt name The conversion by S CONV failed nnnnnnnnnnnn indicates the error status code 216 ERROR Cannot perform EXPASG for ACTIVE or WAI TBUFF pipe E XPASG is not allowed for the ACTIVE or WAITBUFF pipe A writing run is running or was erroneously terminated by an X keyin 217 ERROR Cannot perform EXPASG because pipeconnect function already performed E XPASG is not allowed because the specified pipe is in an ACTIVE or WAIT state A reading run is running or was erroneously terminated by an X keyin 218 ERROR Cannot rerun this input run before the corresponding output run does not terminate The input run reading run cannot be executed again because the corresponding output run writing run is still running 219 INTERNAL The BDI value of FIFO bank is NULL Expipe cannot get a BDI value assigned to a FIFO bank 220 ERROR Fifo unit not correct An illegal value is specified as unit for E XPDEF processor call statement The legal values are BLOCK or KW only There may be an internal error within E XPDEF processor 7846 7024 000 8 5 Diagnostic Messages 221 ERROR Buffer size is out of range Should be 65KW through 262KW The value specified as the FIFO buffer size is out of the allowed range of 65KW through 262K words The value less than 65K words is replaced by 65KW whereas the value larger than 262K words is replaced by 262KW 230 ERROR Pipe_name is not defined No pipe name is specif
30. an be used for pipes in the same manner as for external file names If a qualifier is not specified for a pipe name the run s project id is used as the qualifier Upper Limits of Expipe The upper limits of Expipe are as follows e Maximum number of pipes that can be defined in a system is 2000 e Maximum number of pipes that can be concurrently used in a system is 100 This number can be changed see 7 3 2 e Maximum number of runs that can be read from a pipe is 3 e Maximum number of pipes that can be concurrently used in a run is 20 e Maximum size of FIFO buffer for a pipe is 262 143 words 78467024 000 4 1 Characteristics of Expipe 4 4 4 5 4 6 4 2 Waiting for Pipe Availability After assigning a pipe using the E XPASG processor control statement a reading run waits for the writing run to complete execution of the E XPASG statement Expipe displays a message on your system console every 30 minutes when the reading run waits for GEXPASG by the writing run for more than 30 minutes Creating and Purging a Pipe A pipe is created when the writing program opens the pipe for output The creation of a pipe means that E xpipe has allocated a shared APPLICATION level bank as a FIFO buffer for the pipe and is ready for data transfer If a pipe has not been created when a reading program opens a pipe for input the reading program waits for the creation of the pipe by a writing program Writing programs however can
31. annot be connected to this reading run because the pipe is already active in use or waiting and connected Possible causes include the following e Two or more reading runs with the same original run id are executing e An X keyin was issued to a run using a pipe making the pipe purge incorrectly 309 INTERNAL Error occurs in this output run Output runid is run id External pipe name is qual file An error has occurred in this writing run This message is issued by the termination routine of Expipe 310 INTERNAL Error occurs in this input run Input runid is run id External pipe name is qual file An error has occurred in this reading run This message is issued by the termination routine of Expipe 311 INTERNAL This pipe is locked The number of PCE s number The lock cell is locked for this pipe This message is issued by the termination routine of Expipe 312 INTERNAL This bank is not FIFO bank Bank BDI is BDI value This bank is not used for FIFO buffer for a pipe 313 ERROR The sector address of PIPEPREREAD must be 0 The sector address was not zero when the SORT processor made the first read request to a pipe It must be zero 314 ERROR The word count of PIPEPREREAD must be 28 The word count is not 28 when the SORT processor made the first read request to a pipe It must be 28 315 ERROR This external pipe name is not defined qual file The external pipe qual fi leis not defined by E XP
32. bank calls RTS NPESETUP to call the Expipe fixed gate shared subsystem FGSS 341 INTERNAL The locality of this bank is not PROGRAM LOCAL Bank name name Bank locality locality The locality of this bank is not PROGRAM local which is required by Expipe 342 1NTERNAL The locality of this bank is not ACTIVITY LOCAL Bank name name Bank locality locality The locality of this bank is not ACTIVITY local which is required by Expipe 343 INTERNAL The locality of this bank is not APPLICATION LOCAL Bank name name Bank locality locality The locality of this bank is not APPLICATION local which is required by Expipe 344 1NTERNAL This program bank does not have the header PIPE This program bank does not have the identifier ASCII character string PIPE which indicates the bank is used by Expipe 345 CONTINGENCY Contingency routine terminated successfully Expipe contingency routine has terminated its processing successfully 346 INTERNAL External pipe name corresponding to internal pipe name was not found pipe name Expipe has failed to find the external pipe name corresponding to the internal pipe named pipe name 347 ERROR The number of pipe exceeds max number 20 in a program pipe name External pipe name is qual file This program cannot use the pipe named pi pe namebecause it already uses 20 pipes Expipe allows a program or arun to use up to 20 pipes concurrently 7846 7024 000 8 13 Dia
33. called REG4TERM to register an activity termination routine 334 1NTERNAL S_STORAGE_INSPECT fail statusennnnnnnnnnnn A call to S STORAGE INSPECT has failed nnnnnnnnnnnn indicates the error status code 335 INTERNAL ER BANK cannot produce a PROGRAM l evel working storage bank ER BANK has failed when E xpipe calls ER BANK to acquire a program level working storage bank 336 INTERNAL The upper limit of PROGRAM l evel working storage bank is not 031777 The program level working storage bank has failed to meet the Expipe requirement that its upper limit must be 031777 337 INTERNAL The lower limit of PROGRAM l evel working storage bank is not 030000 The program level working storage bank has failed to meet the Expipe requirement that its lower limit must be 030000 8 12 78467024 000 Diagnostic Messages 338 1NTERNAL The call of RTS NPESTAT fai The URTS TPE to NPE utility routine RTS NPESTAT has returned an error status a status other than 0 or 1 when the Expipe common bank calls RTS NPESTAT to see if the NPE environment already exists 339 INTERNAL The call of RTS TPENPE fal The URTS TPE to NPE utility routine RTS TPENPE has returned an error status when the Expipe common bank calls RTS TPENPE to call the Expipe fixed gate shared subsystem FGSS 340 INTERNAL The call of RTS NPESETUP fai The URTS TPE to NPE utility routine RTS NPESETUP has returned an error status when the Expipe common
34. e which performs sort merge operations on your application programs Notation Conventions Syntax formats in this guide use e Italics to denote variable information that you supply e Brackets to denote optional information Reader Response If you have any questions or comments about this document you can either mail or fax the Business Reply Mail Form at the back of this document or send comments to the following Internet E mail address rsvildoc rsvl unisys com You can help us by including the following information e Your name e Your company s name optional e Your Internet E mail address e The document title and the 11 digit part number for the document if applicable e The SB level or software level software documents only e The system number and plateau level hardware documents only e Any additional information that will help us in responding to your comments 78467024 000 X Section 1 Introduction This section describes Expipe and how it can benefit your programming environment 1 1 What Is Expipe Expipe is a software program that provides an inter run FIFO first in first out file capability for application programs developed in UCS COBOL or ASCII COBOL and which use the SORT processor SORT As a batch run writes records to a FIFO file Expipe transfers them to up to three other concurrently executing batch runs allowing the runs to read the records from the FIFO file in the order in
35. es how to change Expipe system configuration parameters Section 8 Diagnostic Messages This section lists and explains diagnostic messages issued by Expipe and its utility processors Related Product Information The following documents may be helpful to you when using Expipe Use the version of these documents that corresponds to the level of software in use at your site OS 1100 ASCII COBOL Programming Reference Manual UP 8585 This manual describes the components syntax specifications and structure requirements of ASCII COBOL programs It is intended for programmers using ASCII COBOL under control of the Exec operating system OS 2200 Universal Compiling System UCS COBOL Programming Reference Manual Volume 1 COBOL Statements 7831 0448 This manual documents the components syntax specifications and structure requirements of UCS COBOL programs UCS COBOL generates code for execution in extended mode on 2200 Series systems X 78467024 000 About This Guide OS 2200 Universal Compiling System UCS COBOL Programming Reference Manual Volume 2 Compiler and System Interface 7831 0455 This manual describes the UCS implementation of the COBOL language It describes how to compile link and debug programs and how to interact with other system software such as relational databases or E xecutive requests OS 2200 Sort Merge Programming Guide 7831 0687 This describes in detail how to use the Sort Merge software packag
36. estart 78467024 000 COBOL installation verification 7 2 programs using multiple pipes 2 4 SELECT clause 2 4 unavailable Sequential 1 O features 2 6 components Expipe 6 1 console messages 8 16 creating a pipe 4 2 D D option GEXPSTA 3 4 defining a pipe 3 1 deleting a pipe 3 1 demand programs using Expipe with 4 1 diagnostic messages 8 1 displaying a pipe 3 4 E keyin avoiding use of 5 2 E option GEXPSTA 3 4 error detection and recovery 4 3 error processing description 4 3 example listing EXPSTA 3 5 Expipe applying to batch runs 5 2 benefits of 1 1 characteristics 4 1 description 1 1 diagnostic messages 8 1 error detection and recovery 4 3 example of using 2 2 installation 7 1 installation verification 7 2 inter hostsupport 4 4 internal structure 6 1 operational considerations 5 1 pipe definition 2 2 program execution modes 4 1 programming considerations 2 6 2 7 Index upper limits 4 1 using on memory tight systems 5 1 using with batch runs 1 2 using with COBOL and SORT 2 1 using with SORT processor 2 7 external pipe names 2 3 F FIFO buffer maximum size 4 1 files FIFO 2 1 H HVTIP programs using Expipe with 4 1 installation verification COBOL and SORT 7 2 installing Expipe 7 1 inter host pipe support 4 4 internal structure Expipe 6 1 L L option EXPSTA 3 4 limits Expipe 4 1 M memory considerations when using
37. freed when the execution of the program that uses the pipe terminates The GEXPASG processor internally assigns a temporary file with the same name as the pipe You cannot free or erase this file Therefore you cannot have a file with the same name as a pipe in a runstream Listing Example EXPASG OUR PI PE EXPASG xRy yymmdd hhhh mm yymmdd hh mm ss Expipel01 Completed 7846 7024 000 3 3 Using Expipe Utility Processors 3 3 EXPSTA Processor Call Statement Function The GEXPSTA processor call statement displays a pipe s usage status information Format QEXPSTA option pipe name Explanation opti on is the option to be specified as follows A B pi pe name Display usage status information for active in use pipes Display the information on banks used by Expipe Display value of BUFNUM and ALLABORT configuration parameters see 7 3 and the BDI values of FIFO banks Display detailed information for pipes when option A F L U W or pi pe nameis specified Display usage status information for buffer vvaiting pipes Buffer waiting pipes are pipes whose FIFO buffer cannot be allocated because of the BUFNUM limit Equivalent to specifying options A B S U and W Display usage status information for sleep pipes Sleep pipes are pipes that are defined but have not been used by any runs yet Display usage status information for used pipes Used pipes are pipes that were previously used
38. gnostic Messages 348 ERROR External pipe name cannot find internal file table qual file in qual file Expipe has failed to find the external pipe qual fi lein its internal table 349 ERROR Cannot continue pipewrite process because all input reading runs have terminated in error mode ALLABORT NO This writing program cannot continue to write to a pipe because all reading runs for the pipe have terminated in error It is necessary to check the status of the reading runs 350 ERROR Cannot rerun this input run until the corresponding output run terminates This reading run cannot be rerun because the corresponding writing run is still running although this reading run has terminated prematurely 351 ERROR The value of word_count exceeds 65k words The value of word count for read or write request to Expipe exceeds 65 535 353 ERROR The value of word_count is 0 word The value of word count for read or write request to E xpipe is zero 354 INTERNAL Internal Pipe name cannot be found in internal file table qual file An internal pipe name cannot be found in the pipe definition table 355 ERROR Cannot continue pipewrite process because input run has terminated in error mode ALLABORT YES The output run writing run cannot continue to write data into a pipe because one of the input runs reading runs terminated in error mode This message is issued when the configuration parameter ALLABORT YES 400 INTERNA
39. he following Internet E mail address rsvidoc rsvl unisys com RESTRICTED RIGHTS LEGEND Use reproduction or disclosure is subject to the restrictions set forth in DFARS 252 227 7013 and 252 211 7015 FAR 52 227 14 and 52 227 19 for commercial computer software as applicable Contents About This Guide Section 1 Section 2 Section 3 Section 4 7846 7024 000 ntroduction 1 1 1 2 What Is Expipe Benefits of Expipe Getting Started NN NNN N N 2 4 1 2 1 2 3 3 1 3 4 A 2 1 Using EXPIDO inca A ay y Example of Using Expipe Using Expipe from COBOL Programs Using Multiple Pipes between COBOL Programs Unavailable COBOL Sequential HO Features Using Expipe from the SORT Processor Using a Pipe as an Input File to the SORT Processot ai a Unavailable SORT Processor Parameters Using Expipe Utility Processors 3 1 3 2 3 3 EXPDEF Processor Call Statement EXPASG Processor Call Statement GEXPSTA Processor Call Statement Characteristics of Expipe 4 1 4 2 4 3 4 4 4 5 4 6 Program Execution Modes Naming a Pipe Upper Limits of Expipe Waiting for Pipe Availability Creating and Purging
40. herefore it is necessary to resolve the cause of the error and then to re execute the reading program When an error is detected in Expipe during execution of a user program the following error processing takes place e Expipe either displays an error message or returns an error code to PCIOS For contingency errors Expipe produces a dump listing after contingency processing e PCIOS returns the error status returned by Expipe to its caller URTS ACOB Runtime Library or SORT processor URT5 ACOB Runtime Library or SORT processor displays an error message indicating an error return from PCIOS and performs standard error processing e f a program has terminated without closing a pipe Expipe purges the pipe 78467024 000 4 3 Characteristics of Expipe 4 8 4 9 When a System Failure Occurs If a system failure takes place while pipes are being used the pipes are lost along with the data being transferred However pipe definitions and usage status remain intact unless an initial boot I boot is done Runs lost by a system failure can be reexecuted from a point prior to the start of pipe use No Interhost Pipe Support Expipe does not support interhost pipes in a multiple host environment such as XTC 78467024 000 Section 5 Operational Considerations 5 1 5 2 5 3 This section describes Expipe permanent operational considerations These considerations are included in this guide to en
41. ied for E XPDEF processor call statement There may be an internal error within E XPDEF processor 231 ERROR Your run cannot assign this pipe The E XPASG assignment of a pipe to a run has failed because the run id was not specified by E XPDEF processor call statement 232 ERROR Too many pipes defined max 2000 The EXPDEF definition of a pipe has failed because 2000 pipes are already defined in the system 233 ERROR Cannot free this temporary file status nnnnnnnnnnnn E XPASG has failed to free a temporary file having the same name as the pipe prior to assigning that file again nnnnnnnnnnnn indicates the status code for the FREE control statement 234 INTERNAL Cannot catalogue SYS PI PE DEF status nnnnnnnnnnnn CAT SYS PIPE DEF returned an error status of nnnnnnnnnnnn 235 INTERNAL Cannot assign SYS PIPE DEF at reboot or 1 boot ti me statusennnnnnnnnnnn ASG A SYS PIPE DEF returned an error status of nnnnnnnnnnnn This message may be issued during the initial loading of an Expipe FGSS after recovery or an initial boot 236 1NTERNAL Error occurs on UCSMAKEIOP at reboot ti me statusennnnnninnnnnn An error was detected in a call to UCSMAKEIOPK Expipe cannot read the file SYS PIPE DEF after a recovery boot 238 1NTERNAL Free error on SYS PIPE DEF at reboot or 1 boot ti me statusennnnnnnnnnnn FREE SYS PIPE DEF returned an error status of nnnnnnnnnnnn This message may be issued during the
42. ified by n BLOCK on the GEXPDETF call exceeds 262K words Expipe allocates a FIFO buffer size of 262K words when creating the pipe 301 ERROR Cannot perform pipecreate function for ACTIVE or WAI T BANK pipe qual file The pipe qual filecannot be created because it is already active in use Possible causes include the following e Two or more writing runs are executing e AnX keyin was issued to a run using the pipe making the pipe purge incorrectly 302 INTERNAL The condition of pipe is not ACTIVE WAIT SLEEP or USED The status of the pipe is in error it is not active waiting sleep or used 303 ERROR Cannot continue piperead process because the output run has terminated in error mode This reading run cannot continue the read access to the pipe because the writing run has terminated in error It is necessary to inspect the status of the writing run 304 ERROR Not sequential 1 0 The data block specified by a read or write request is out of sequence 305 ERROR This function is invalid Error element name elt name An invalid function has been requested to Expipe 306 ERROR The value of word count is not a multiple of 28 The value of word count for a read or write request to Expipe is not a multiple of 28 78467024 000 8 9 Diagnostic Messages 308 ERROR Cannot perform pipeconnect function because pipeconnect function already performed External pipe name is qual file The pipe qual filec
43. llegal option specified At least one illegal option was specified on GE XPDEF E XPASG or EXPSTA processor call statement 103 ERROR Pipe_name not specified No pipe name is specified for EXPDEF or 5 processor call statement 104 ERROR Illegal unit specified BLOCK or K is allowed An illegal value is specified as unit for EXPDEF processor call statement The legal values are BLOCK or KW only 105 ERROR Write or read run id not specified Write or read run id is not specified for EXPDEF processor call statement Only one write run id must be specified Also at least one read run id must be specified 106 ERROR Too many read run id max is 3 Four or more read runs are specified for GEXPDEF processor call statement Up to three read run ids can be specified 107 ERROR Neither pipe name nor option specified Neither pipe name nor option is specified for E XPSTA processor call statement 108 INTERNAL ER CLIST fail statusennnnnnnnnnnn ER CLIST has returned an error status of nnnnnnnnnnnn in the AO register 109 1NTERNAL ER 5YMB fail status nn ER SYMB has returned an error status of nn 110 13NTERNAL The READ NFOR error occurs status nnnnnnnnnnnn The READ INFOR routine has returned an error status of nnnnnnnnnnnn 8 2 7846 7024 000 Diagnostic Messages 111 1NTERNAL The SEARCH NFOR error occurs statusennnnnnnnnnnn The SEARCH NFOR routine has returned an error status of
44. nnnnnnnnnnnn 112 1 NTERNAL S CONV fail status nnnnnnnnnnnn S CONV has returned an error status of nnnnnnnnnnnn 113 1 NTERNAL Cannot assign DMY status nnnnnnnnnnnn Expipe failed to assign the internal working file named DMY nnnnnnnnnnnn indicates the status code for ASG control statement 115 1 NTERNAL Cannot get qualifier of DMY Expipe failed to get qualifier of the internal working file named DMY 116 13NTERNAL Cannot free DMY status nnnnnnnnnnnn Expipe failed to free the internal working file named DMY nnnnnnnnnnnn indicates the status code for the FREE control statement 78467024 000 8 3 Diagnostic Messages 8 3 Diagnostic Messages Issued by Utility Portion of Expipe Fixed Gate Shared Subsystem 201 ERROR Write error on SYS PIPES DEF status nnnnnnnnnnnn Expipe failed to write to the pipe definition file named SYS PIPES DEF nnnnnnnnnnnn indicates the 1 0 status code 202 ERROR Cannot assign SYS PIPE DEF file status nnnnnnnnnnnn Expipe failed to assign the pipe definition file named SYS PIPE DEF nnnnnnnnnnnn indicates the status code for ASG control statement 203 ERROR Read error on SYS PI PE DEF statusennnnnnnnnnnn Expipe failed to read from the pipe definition file named SYS PIPE DEF indicates the 1 0 status code 204 ERROR WAI TBUFF pipe is not found No WAITBUFF pipe is found for EXPSTA processor call statement with option F
45. ows the following information Run id for the writing side of the pipe Name of the program that writes to the pipe e Date and time the writing program started execution Date and time the writing program finished execution This line shows the date and time when E xpipe started the opening process and the date and time when E xpipe finished the opening process This line shows the date and time when E xpipe wrote a first data block into the pipe and the date and time when E xpipe finished writing all data blocks into the pipe This line shows the date and time when E xpipe started the closing process and the date and time when Expipe finished the closing process 7846 7024 000 Using Expipe Utility Processors 17 This line shows the following information Run id for the reading side of the pipe e Name of the program that reads from the pipe Date and time the reading program started execution Date and time the reading program finished execution 18 This line shows the date and time Expipe read the first data block from the pipe and the date and time Expipe finished reading data blocks from the pipe 19 This line shows the following information Name of the program that writes to the pipe e Number of sectors written to the pipe e Accumulated amount of time the program has waited due to the FIFO buffer being full e Status of the writing program as follows ACTIVE program executing NORMAL program te
46. pecify a value between 20 and 100 The default is 100 Note Oneor more space characters are requi red before and after the equal sign Figure 7 1 shows how FIFO buffer banks and data banks are allocated in an Expipe FGSS APLDYNBDS BDI 2 010000 077776 Code banks and FIFO buffer banks in EXPIPE FGSS are allocated here Data banks in EXPIPE FGSS are allocated here Figure 7 1 Allocation of BDIs at APPLICATION Level 7 4 7846 7024 000 Section 8 Diagnostic Messages This section lists and describes diagnostic messages issued by Expipe and its utility processors 8 1 Diagnostic Message Format on Print File The following is the format of diagnostic messages displayed on print file EXPIPEnnn message class message text where nnn is a number consisting of three digits with the first most significant digit having the following meaning Most Significant Digit 1 Message was issued by one of the Expipe utility processors 2 Message was issued by the utility portion of the Expipe fixed gate shared subsystem FGSS 3 Message was issued by the kernel portion of the Expipe FGSS For internal or contingency errors additional information may be displayed after the diagnostic messages 78467024 000 8 1 Diagnostic Messages 8 2 Diagnostic Messages Issued by Expipe Utility Processors 101 Completed The execution of a utility processor has completed successfully 102 ERROR I
47. pied to the product file created by the installation process There are three IVP runstreams IVP ACOB IVP UCOB and IVP SORT You should note the following for these runstreams e ASCII COBOL is required for executing IVP ACOB and IVP SORT UCS COBOL is required for executing IVP UCOB SORT is required for executing the IVP SORT Use the following procedure to execute the Expipe IVP 1 Enter one of the following ST keyins from the system console to start the Expipe IVP runstream named IVP ACOB IVP UCOB or IVP SORT ST SYS LIB EXPIPE VP ACOB account id user id for ACOB ST SYS L B EXP PE 1 VP UC B account id luser id for UCOB ST SYS L B EXP PE VP SORT account id luser id for SORT Each of these runstreams automatically starts two additional IVP runstreams IVPx1 and IVPx2 2 All runs should finish within a few minutes Expipe has been properly installed and s ready to use if all runs finish normally 7846 7024 000 Expipe Installation and Configuration 7 3 7 3 1 System Configuration SYS LIB PIPESCONFIG The system configuration file SYS LIB PIPE CONFIG is created as a cataloged file when Expipe is installed This file is a symbolic system definition file SSDEF and contains the parameters ALLABORT and BUFNUM These two parameters define the configuration for your Expipe system ALLABORT NO BUFNUM 100 The system administrator can change the value of
48. pipe in your system It also describes how to change Expipe system configuration parameters Installing Expipe SOLAR should be used to install Expipe Use the following procedure to install Expipe using SOLAR from the system console 1 2 Start the INSTALLPKG runstream the following ST keyin with the account id user id and password that have the privileges required for software installation ST I NSTALLPKG account id user id Specify tape in response to the following prompt displayed by the INSTALLPKG runstream in the following manner n INSTALL FROM lt TAPE gt DISK OR RSS n tape Provide the reel numbers assign options and device type of the tapes in response to the prompt displayed by the INSTALLPKG runstream in the following manner n ENTER REEL NUMBER n reel id reel id options type where opti ons is TJ for an unlabeled table TF for a labeled tape tape number checked or T for a fully labeled tape tape name and number checked type is U9S for a 6250 bpi open reel tape or HICL or HIC40 for a U40 cartridge tape 7846 7024 000 7 1 Expipe Installation and Configuration 7 2 7 2 Installation Verification The Expipe release tape contains a procedure that verifies whether Expipe has been properly installed and is ready to use This installation verification procedure IVP consists of runstreams and programs to ensure that Expipe is installed and functional The IVP is co
49. rminated execution normally ERROR program terminated execution in error 20 This line shows the following information e Name ofthe program that reads from the pipe e Number of sectors read from the pipe e Accumulated amount of time the program has waited because the pipe was not created or the FIFO buffer was empty e Status of the reading program as follows ACTIVE program executing NORMAL program terminated execution normally ERROR program terminated execution in error 7846 7024 000 3 7 Using Expipe Utility Processors Example 2 EXPSTA BAUWS EXPSTA xRy yymmdd hhmm ss yymmdd hh mm ss Pipes DEFI NED 5 MAX 2000 ACTIVE 1 WAI TING 1 WAI TBUF 1 USED 1 SLEEP 1 Banks 210002 code limi t 001000 000000175561 sizez 63 9 KW 210171 work limi t 000000 000001103000 size 296 4 KW 210141 buffer limit 000000 000000176750 sizez 65 0 KW 210142 buffer limi t 000000 000000377777 size 128 0 KW EXSAMPLE EXPI PET 65 KW J 0811 OB21 0822 Status ACTIVE Buffer size 65000 L BDI 210141 limit 000000 176750 Define 108B03A yyyyl mm dd hhmm ss Connect 10811 PR6012 yyyy mm dd hhmn ss 10821 PR6021 yyyyl mm dd hhmn ss yyyy m dd hhmm ss 10822 PR6022 yyyyl mm dd hhmn ss PR6012 Sectors 9832 Wait hh mm ss Stat ACTIVE gt PRG021 Sectors 9650 Wait hh mm ss Stat NORMAL gt PR6022 Sectors 9200 Wait hh mm ss Stat ACTIVE EXP I PE DEF NE1 10 BLOCK J
50. s Guide Read Section 1 through Section 5 for a general description of Expipe and how it is used These sections are for applications programmers Read Section 6 and Section 7 for information on installing and configuring Expipe These sections are for system administrators Refer to Section 8 for a list of Expipe diagnostic messages and their meanings Organization This guide is organized as follows Section 1 Introduction This section introduces E xpipe and describes benefits associated with ts use 7846 7024 000 ix About This Guide Section 2 Getting Started This section describes the COBOL program and SORT processor used with E xpipe An example runstream is included Section 3 Using Expipe Utility Processors This section provides detailed information on the utility processors used with Expipe It includes the format of each processor call statement followed by an example with explanation Section 4 Operating Characteristics This section describes Expipe operating characteristics which are permanent and are included to promote the effective use of Expipe Section 5 Operational Considerations This section describes Expipe operational considerations Section 6 Inside E xpipe This section explains the internal structure of Expipe Section 7 Expipe Installation and Configuration This section describes how to install Expipe in your system including the installation verification procedure It also describ
51. s that were used previously but are not in use currently SLEEP shows the number of pipes that are defined but have not been used by any runs yet 78467024 000 3 5 Using Expipe Utility Processors O ou on xm 11 12 13 14 15 16 3 6 This line shows the following bank information regarding the code bank of the Expipe fixed gate shared subsystem e L BDI value Lower and upper limit of offset Sizein kilowords This line shows the bank information for the data bank of Expipe fixed gate shared subsystem This is where the system wide pipe definition and status information is maintained This line shows bank information for the bank allocated as a FIFO buffer for a pipe This line shows the value of the ALLABORT configuration parameter This line shows the value of the BUFNUM configuration parameter These lines show the BDI values of the FIFO buffer banks This line shows the external pipe name and definition of a pipe The format of this line is the same as that of the EXPDEF processor call statement This line shows the status of the pipe ACTIVE WAITING WAITBUF USED or SLEEP This line shows the following information for the bank allocated as the pipe s FIFO buffer Size in kilowords L BDI value e Lower and upper limit of offset in octal This line shows the run id defined by the GE XPDEF processor call statement and the date and time the pipe was defined This line sh
52. sor assigning parameters for 2 7 unavailable parameters 2 7 using a pipe as input to 2 7 using Expipe with 2 1 2 7 SYS LIB PIPESCONFIG file 7 3 system configuration file 7 3 system failure affect on pipes 4 4 T TIP programs using Expipe with 4 1 U U option GEXPSTA 3 4 7846 7024 000 UCS COBOL application programs 2 1 upper limits Expipe 4 1 usage status displaying information about 3 4 used pipes displaying status of 3 4 utility processors diagnostic messages 8 2 W W option QEXPSTA 3 4 waiting pipes displaying status of 3 4 write program example 2 5 writing to a pipe 4 2 X X keyin avoiding useof 5 2 Index 3
53. start writing records to the pipe without waiting for a reading program to open the pipe for input A reading program can start reading records from a pipe when it opens the pipe for input and the writing program opens the pipe for output Expipe displays a message on the system console every five minutes when a reading program waits for the creation of the pipe by the writing program for more than five minutes A pipe is purged when all of the programs that previously opened the pipe have terminated Purging a pipe means that Expipe has freed the shared bank used as the FIFO buffer for the pipe and has marked the pipe unavailable Writing to and Reading from a Pipe A block of records written to a pipe is stored in a FIFO buffer These records are discarded when all of the reading programs have finished reading the FIFO buffer If the reading programs are significantly slower at accessing the pipe than the writing program the FIFO buffer may become full which forces the writing program to wait If the writing program is significantly slower at accessing the pipe than the reading programs the FIFO buffer may become empty which forces the reading program to exit This means that the writing program and reading programs for a pipe must have similar access cycle times to the pipe Expipe displays a message on the system console every five minutes if the pipe is full and the writing program cannot write to the pipe for more than five minutes Like
54. sure that you use Expipe effectively Using Pipes with Newly Developed Programs When using pipes with newly developed programs Unisys recommends that you start using Expipe after making sure that the programs work with disk files Access to Pipes Not through PCIOS C2SSDF Any attempt to access a pipe other than through PCIOS C2SSDF ends up in to a temporary file with the same name as the pipe which the E XPASG processor assigns internally Access to Pipes through PCIOS C2SSDF from Programs other than ACOB UCOB or SORT When attempting to access a pipe through PCIOS C2SSDF from programs other than ASCII COBOL ACOB UCS COBOL UCOB or the SORT processor such programs will terminate in error when attempting to open the pipe for input or output If a user erroneously intends to use such programs as writing or reading programs for a pipe coupled with ACOB UCOB or SORT then the program connected to the other end of the pipe will also have errors as explained in 4 7 Note Expi pe cannot detect erroneous access to a pi pefrom a Query Language Processor QLP 2200 program or a UCS FORTRAN program Do not use Expi pe vvi th these types of programs Using Expipe on a Memory Tight System On memory tight C series systems such as the 2200 400 it is possible that Expipe will not improve performance This is especially true when the FIFO buffers in APPLICATION level banks are swapped in and out frequently 78467024 0
55. te Shared Subsystem Diagnostic Messages Issued by Kernel Portion of Expipe Fixed Gate Shared Subsystem Console Messages Other Messages Dump List for Expipe Internal Errors 7846 7024 000 Contents 8 8 Reporting Problems 8 19 Biblioqraply oc a 1 Mi iia OS aire 70 1 78467024 000 Figures 7846 7024 000 Two Batch Runs Using a Sequential File Two Batch Runs Using a FIFO File Example of Using Expipe Structure of EXpipe Allocation of BDIs at APPLICATION Level vil About This Guide Purpose This guide describes Expipe which provides an inter run first in first out FIF O file capability for application programs developed using ASCII COBOL and UCS COBOL as well as the Sort Merge processor SORT Scope This guide introduces you to Expipe and provides detailed information on how to use Expipe with your application programs Audience This guide is intended for systems and applications programmers and analysts who are already familiar with the COBOL programming language Prerequisites To use this guide effectively you should have a thorough understanding of specific application programs at your site as well as familiarity with the COBOL programming language SORT processor and Exec Control Language ECL concepts How to Use Thi
56. which they were written The FIFO file is considered a pipe which is where the name E xpipe comes from 1 2 Benefits of Expipe The primary benefit of Expipe is the accelerated execution of a sequence of batch runs This is because of the FIFO file implementation which has the following characteristics For each FIFO file Expipe allocates one shared APPLICATION level bank that is divided into buffers to store blocks of records e Expipe does not assign mass storage back up for FIFO files Each FIFO file is transferred between runs using the buffers without the need for 1 0 to mass storage Since access to the FIFO file is sequential as soon as all the succeeding runs finish reading a block in a buffer Expipe discards the block and prepares the buffer for reuse by another block Other benefits of Expipe include e Faster execution by eliminating I O to mass storage e Avoidance of errors due to insufficient mass storage space For example suppose there are two batch runs A and B that are connected by an intermediate sequential file They must run in sequence as shown in Figure 1 1 In this situation run B must wait for run A to finish creating the sequential file 7846 7024 000 1 1 Introduction Elapsed Time X gt Figure 1 1 Two Batch Runs Using a Sequential File By replacing the sequential file with a FIFO file as shown in Figure 1 2 the two runs can be executed in parallel
57. wise Expipe displays another message on the system console every five minutes if a pipe is empty and the reading programs cannot read from the pipe for more than five minutes forcing reading programs to wait 7846 7024 000 Characteristics of Expipe 4 7 Error Detection and Recovery When a program using a pipe has terminated in error the data transferred using the pipes cannot be recovered Therefore it is necessary to re execute the runs from a point prior to the start of using the pipes When a writing program has terminated in error after opening a pipe for output all of the reading programs that have opened the pipe for input will terminate in error after printing a diagnostic message When a reading program has terminated in error after opening a pipe for input the writing programs that have opened the pipe for output will terminate in error unless there is at least one remaining reading program executing normally When a writing program has terminated in error before opening a pipe for output all of the reading programs that have opened the pipe for input will keep waiting for the creation of the pipe by the writing program Therefore it is necessary to resolve the cause of the error and then to re execute the writing program When a reading program has terminated in error before opening a pipe for input the writing program starts writing records to the pipe and eventually stalls as the FIFO buffer becomes full T

Download Pdf Manuals

image

Related Search

Related Contents

Origin Storage KB-2CR8X  Artwizz ScratchStopper  Black Box Headphones hs300a User's Manual    here  

Copyright © All rights reserved.
Failed to retrieve file