FUSSMFIL

You can use the FUSSMFIL exec to queue transfers to send multiple files to a remote node.

You can use this exec to send multiple files to a remote system in one command. The FUSSMFIL exec uses the same parameters as the FUSSEND exec. This exec uses the LFILE parameter as a high-level prefix and scans the catalog for all files that match the high-level prefix. Then, it substitutes information of the LFILE parameter into the RFILE parameter, and queues a file transfer for each data set that matches the high-level qualifier.

The platform server only supports to initiate up to 500 transfers on any single FUSSMFIL transfer. If more than 500 files match the LFILE prefix, an error message is displayed and no transfers is queued.

Note: You can use the WAIT and MWAIT operands in this exec. The platform server only supports to queue up to 40 transfers before a FUSWAIT command is executed for an address space.

Wildcard Parameter

The LFILE parameter accepts a single wildcard parameter, *.

You must use at least one full z/OS prefix before the first wildcard. For example, LF=PROD.* is acceptable, while LF=PROD* is illegal and will not be processed.

The following examples show how to use the wildcard parameter in the FUSSMFIL exec:

  • LF=FUSION.* or LF=FUSION: send all files starting with FUSION.
  • LF=FUSION.ABC* or LF=FUSION.ABC.*: send all files starting with FUSION.ABC.
Note: It is more efficient to put the wildcard character after the period than before the period. It is more efficient to use LF=FUSION.PROD.* than using LF=FUSION.PROD*. Because the first setting reads only the entries starting with FUSION.PROD in the catalog, while the second setting reads all entries starting with FUSION in the catalog to see whether a match on FUSION.PROD* exists.

Substitutable Parameters

Three substitutable parameters can be set with the FUSSMFIL exec. You must define one of these parameters within the RFILE parameter; otherwise, the request fails.

Parameter Description
%LFILE Substitutes the entire LFILE parameter.

For example:

FUSSMFIL NODE=SNANODE LF=LOCAL.FILE.CRE* RF=C:\%LFILE INTERVAL=3 SAY WAIT

The output of this example is the same as that of the FUSSEND or FUSRECV exec. You get the output for each file that is transferred.

%SUFFIX Substitutes the data after the high-level prefix defined.

For example:

FUSSMFIL IPADDR=127.127.127.1 IPPORT=46464 LF=LOCAL.FILE.CRE* RF=C:\ACCT.%SUFFIX INTERVAL=3 SAY WAIT

The output of this example is the same as that of the FUSSEND or FUSRECV exec. You get the output for each file that is transferred.

%NOHLQ Substitutes all data except the high-level qualifier (HLQ).

For example:

FUSSMFIL NODE=SNANODE LF=LOCAL.FILE.CRE* RF=C:\ACCT.%NOHLQ INTERVAL=3 SAY WAIT

The output of this example is the same as that of the FUSSEND or FUSRECV exec. You get the output for each file that is transferred.

In the following example, you can extract four files from the catalog:

LF=PROD.TESTV*

The following table shows the remote files for each RF command:

RF=%LFILE RF= ACCT.%SUFFIX RF= ACCT.%NOHLO.bkup
PROD.TESTVB PROD.TESTVB ACCT.B ACCT.TESTVB.BKUP
PROD.TESTVBA PROD.TESTVBA ACCT.BA ACCT.TESTVBA.BKUP
PROD.TESTVB2 PROD.TESTVB2 ACCT.B2 ACCT.TESTVB2.BKUP
PROD.TESTVB3 PROD.TESTVB3 ACCT.B3 ACCT.TESTVB3.BKUP

The TEST Parameter

When you use the TEST parameter in the FUSSMFIL exec, the exec displays and tests the LF and RF files to be passed to the platform server instead of queuing the request. In this way, you can ensure that only the correct files are queued before a transfer request is queued.

For example:

FUSSMFIL lf=prod.acct98.* rf=acct.%nohlq ipaddr=14.0.0.0 ipport=46464 test,

The response is as follows:

LFILE=PROD.ACCT98.PAYROLL     RFILE=acct.ACCT98.PAYROLL
LFILE=PROD.ACCT98.TAXES  	   RFILE=acct.ACCT98.TAXES
LFILE=PROD.ACCT98.TAXES.BKUP  RFILE=acct.ACCT98.TAXES.BKUP
Note: No transfers is queued when the TEST parameter is used on the command line. After you validate that the parameters in this exec are correct, you can remove the TEST parameter and execute the FUSSMFIL exec.

The following example queues a transfer to send multiple files to a remote node, substitutes the entire %LFILE parameter, and tests the local files (LF) and the remote files (RF) that are queued:

FUSSMFIL NODE=SNANODE LF=LOCAL.FILE.CRE* RF=C:\%LFILE INTERVAL=3 SAY WAIT TEST

The output of this example is as follows:

LFILE=LOCAL.FILE.CREATE.FILE1  RFILE=C:\LOCAL.FILE.CREATE.FILE1
LFILE=LOCAL.FILE.CREATE.FILE2  RFILE=C:\LOCAL.FILE.CREATE.FILE2
LFILE=LOCAL.FILE.CREATE.FILE3  RFILE=C:\LOCAL.FILE.CREATE.FILE3
LFILE=LOCAL.FILE.CREATE.FILE4  RFILE=C:\LOCAL.FILE.CREATE.FILE4

The following example queues a transfer to send multiple files to a remote node, substitutes the data after the high-level prefix defined, and tests the local files (LF) and the remote files (RF) that are queued:

FUSSMFIL IPADDR=127.127.127.1 IPPORT=46464 LF=LOCAL.FILE.CRE* RF=C:\ACCT.%SUFFIX INTERVAL=3 SAY WAIT TEST

The output of this example is as follows:

LFILE=LOCAL.FILE.CREATE.FILE1  RFILE=C:\acct.ATE.FILE1  
LFILE=LOCAL.FILE.CREATE.FILE2  RFILE=C:\acct.ATE.FILE2 
LFILE=LOCAL.FILE.CREATE.FILE3  RFILE=C:\acct.ATE.FILE3