02.05.2013 Views

SAS(R) 9.1.3 Companion for z/OS

SAS(R) 9.1.3 Companion for z/OS

SAS(R) 9.1.3 Companion for z/OS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Using <strong>SAS</strong> Data Libraries Pipe Libraries (Experimental) 51<br />

3 <strong>SAS</strong> does not support a mode of operation in which there are multiple readers or<br />

multiple writers <strong>for</strong> a pipe library. For example, using two different jobs to<br />

simultaneously write to a pipe that is being read by another <strong>SAS</strong> job would lead to<br />

errors and/or incorrect results.<br />

3 It is important to monitor and verify that pipe-related jobs are running as<br />

expected. Under normal circumstances, the receiving <strong>SAS</strong> DATA step or procedure<br />

will read all the member pages sent by the sending <strong>SAS</strong> DATA step or procedure.<br />

After sending the last member page, the sending step or procedure will close the<br />

pipe library, and the receiving step or procedure will receive an end-of-file<br />

indication after reading the last member page. However, if the receiving step or<br />

procedure encounters an error condition (such as out-of-space on a library or<br />

external file to which it is copying the member data), the receiving step or<br />

procedure will close the pipe library be<strong>for</strong>e it has read all the member pages that<br />

the sending step or procedure has sent (or will send). To avoid the sending job<br />

suspending indefinitely in this case, specify the option ERC=DUMMY on the<br />

SUBSYS parameter of the DD statement <strong>for</strong> the sending job. If the receiving step<br />

or procedure closes the pipe library prematurely, the ERC=DUMMY option will<br />

cause the sending stepor procedure to continue processing. In this case, the<br />

member pages will be discarded instead of sent to the receiving job.<br />

Allocating a <strong>SAS</strong> Data Library to a Pipe<br />

3 Externally assign the pipe library using a JCL DD statement. On this DD<br />

statement, use the SUBSYS parameter to specify the name of the BatchPipes<br />

subsystem that will be managing the pipe. Within the <strong>SAS</strong> job, refer to this pipe<br />

library using the DDNAME specified as the libref. Specify the DSN parameter on<br />

the DD statement using a data set name that con<strong>for</strong>ms to the standards <strong>for</strong> your<br />

installation.<br />

3 Distinguish between the sending and receiving sides of the pipe library using the<br />

LABEL parameter of the DD statement. On the DD statement <strong>for</strong> the pipe library,<br />

specify LABEL=(,,,OUT) if <strong>SAS</strong> will be sending <strong>SAS</strong> data sets to the pipe library.<br />

Specify LABEL=(,,,IN) if <strong>SAS</strong> will be reading <strong>SAS</strong> data sets from the pipe library.<br />

3 The DCB attributes <strong>for</strong> a pipe library vary from those used <strong>for</strong> other sequential<br />

access bound libraries. Specify DSORG=PS, RECFM=F <strong>for</strong> both the sending and<br />

receiving sides of the pipe library. Specify an LRECL between 1024 and 32760 <strong>for</strong><br />

the pipe library. The values specified <strong>for</strong> LRECL in the sending and receiving<br />

sides of the pipe library must match exactly.<br />

3 Identify, if necessary, the engine to be used <strong>for</strong> processing the pipe library. By<br />

default, <strong>SAS</strong> will use the value of the SEQENGINE option to determine the engine<br />

to use <strong>for</strong> processing the pipe library. If this value is appropriate and set<br />

identically <strong>for</strong> both the sending and receiving jobs, it is not necessary to explicitly<br />

identify the engine. To explicitly use another engine, specify a LIBNAME<br />

statement with the libref and engine and no other parameters.<br />

3 No other DD statement parameters other than those described in this section<br />

should be specified unless explicitly described in the IBM documentation.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!