Example

Assume that JES is configured to schedule all jobs with DEST=NTPRT1 to an MVS Download FSA that downloads them to an InfoPrint Manager system that then uses the default supplied DCF and Exit to submit the jobs to an IPDS printer, ntprt1. The MVS Download FSA uses a routing control data set that contains this statement:

DEST=NTPRT1
IPADDR=dept01.myststem
PORTNUM=5002
RETRYNUM=3
RETRYINTV=60
We have decided this about the configuration:
  • Leave the existing MVS Download receiver (on our Windows system) alone.
  • Create a new receiver to processes the AFP resources, but continue using the existing MVS Download FSA.
  • Pass only the AFP resource name, not the directory path for it to be stored in.
  • Use the FORMS keyword to identify the job as an AFP resource since the Routing Control Statements can use FORMS to direct files to different receivers.
  • Use the NAME JCL keyword to identify the AFP resource name.

In the JCL job for putting modified AFP resources on the spool, we have an OUTPUT statement with:

OUTPUT     DEST=NTPRT1,FORMS=AFPRES,NAME='C0MYFNT.300',....
No changes to the JES inish deck are required since the MVS Download FSA already receives jobs with DEST=NTPRT1.

We change the routing control file as follows to send this job to a separate receiver and to prefix these resources with no length field. Jobs that do not have FORMS=AFPRES would continue to be sent to the existing receiver.

DEST=NTPRT1
FORMS=AFPRES
IPADDR=dept01.mysystem
PORTNUM=5003
SEND_REC_LENGTH=NO
RETRYNUM=3
RETRYINTV=60
DEST=NTPRT1
IPADDR=dept01.myststem
PORTNUM=5002
RETRYNUM=3
RETRYINTV=60
Now we need to define a new receiver on the dept01.mysystem machine. The new receiver will use port number 5003 (as identified in the routing control statement), a modified DCF, and a user-written Exit.

We make a copy of the supplied DCF and modify it to change the mapping of the NAME keyword from MVS. The existing statement:

NAME          :: name-text
would be changed to:
NAME          :: target-destination-name
Also, the existing statement that maps DEST to target-destination-name would be commented out as follows:
* DEST        :: target-destination-name
Due to this change in the DCF, the Exit will now receive the AFP resource name as the third passed parameter.

Next, we make a copy of the supplied Exit. We modify the Exit so it copies the received file instead of submitting it to InfoPrint Manager using pdpr. The Exit must use the first passed parameter as the name of the resource file and the third passed parameter to derive the target resource file name, because the DCF mapped it that way. Since we did not pass the desired resource directory name in the JCL, the Exit needs to determine the drive and directory and pre-pend it to the target resource file name. Since this Exit will only be used on a receiver that receives AFP resources, it does not need to identify the file as an AFP resource and have a paths for both copying resources and submitting non-resources to InfoPrint Manager to be printed. The Exit can also be coded to detect and react to error situations as appropriate.

Lastly, we use the Management Console to create the receiver that will use the DCF and Exit that we created. In this example, the Target Destination that we specify when we create the receiver is irrelevant and will only be passed to the Exit if no NAME is specified in the JCL that submitted the resource.