|
System SAMPLIB member DFMXTSOI, for example, SYS1.SAMPLIB(DFMXTSOI)
shown in Figure 1, shows how to install
the two DataAgent routines: DFMXTSO and DFMQTSO.
Figure 1. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 1 of 7//DFMXTSOI JOB ,'DFMXTSO SETUP',MSGLEVEL=(1,1),MSGCLASS=A,
// USER=IBMUSER,PASSWORD=IBM,REGION=1M
//********************************************************************/
//*PROPRIETARY V3 STATEMENT
//*LICENSED MATERIALS - PROPERTY OF IBM
//*5695-DF1
//*(C) COPYRIGHT 1997 IBM CORP.
//*END PROPRIETARY V3 STATEMENT
//********************************************************************/
//* Install two TSO DataAgent routines, DFMXTSO and DFMQTSO by
//* installing two procedures DFMXTSO and DFMQTSO and by producing
//* a load module for DFMQTSO. No executable is produced for
//* procedure (or DataAgent) DFMXTSO because it uses the standard
//* TSO batch program, IKJEFT01.
//*
//* DFMXTSO is full function in that it is intended to be used with
//* IKJEFT01 which accepts input from SYSTSIN. DFMQTSO (or quick
//* TSO) only accepts input from the PARM() parameter.
//*
//* Once this installation job has run, DFMACALL TSO or DFMACALL QTSO
//* can be run from a workstation that has SdU installed and that has
//* an APPC connection to the mainframe. Refer to DFMACALL for
//* details. (Note that you might want to set up some typical
//* SYSTSIN files and preallocate several SYSTSPRT files for the
//* anticipated users.)
//*
Figure 2. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 2 of 7//********************************************************************/
//* General setup */
//********************************************************************/
//********************************************************************/
//* Clean up old SYSTSIN and SYSTSPRT files. */
//* (Remove or modify if copying this to production JCL.) */
//********************************************************************/
//CLEANUP EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DELETE ( -
IBMUSER.DFMXTSO.SYSTSIN -
) NONVSAM PURGE SCRATCH
DELETE ( -
IBMUSER.DFMQTSO.SYSTSPRT -
) NONVSAM PURGE SCRATCH
DELETE ( -
IBMUSER.DFMXTSO.SYSTSPRT -
) NONVSAM PURGE SCRATCH
IF LASTCC = 8 THEN
DO
SET LASTCC = 0
SET MAXCC = 0
END
Figure 3. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 3 of 7/*
//********************************************************************/
//* Allocate output files */
//* (Remove or modify if copying this to production JCL.) */
//********************************************************************/
//ALLOCATE EXEC PGM=IEFBR14
//ALLOC1 DD DSN=IBMUSER.DFMQTSO.SYSTSPRT,DISP=(NEW,CATLG),UNIT=SYSDA,
// DCB=(DSORG=PS,LRECL=121,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(15,5))
//ALLOC2 DD DSN=IBMUSER.DFMXTSO.SYSTSPRT,DISP=(NEW,CATLG),UNIT=SYSDA,
// DCB=(DSORG=PS,LRECL=121,BLKSIZE=0,RECFM=FBA),
// SPACE=(TRK,(15,5))
//********************************************************************/
//* Generate sample input file for full function DFMXTSO */
//* (Remove or modify if copying this to production JCL.) */
//********************************************************************/
//GENINPUT EXEC PGM=IEBGENER
//SYSUT2 DD DSN=IBMUSER.DFMXTSO.SYSTSIN,DISP=(NEW,CATLG),UNIT=SYSDA,
// DCB=(LRECL=80,BLKSIZE=0,RECFM=FB),
// SPACE=(TRK,(1,1))
//SYSUT1 DD DATA
/* This is a sample input file for SYSTSIN. */
LISTC
/*
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//*
Figure 4. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 4 of 7//********************************************************************/
//* 1. Setup for the DFMXTSO DataAgent procedure. Modify the job
//* statement, etc. as appropriate for your installation.
//********************************************************************/
//* This setup job installs a sample procedure, DFMXTSO, to allow
//* workstations to invoke TSO.
//*
//* The procedure is intended to be used with PGM(IKJEFT01) and will
//* accept input from both the PARM field (processed first) and
//* from userID.DFMXTSO.SYSTSIN.
//*
//* It uses userID.DFMXTSO.SYSTSPRT to contain the TSO output.
//*
//* Note that SYSTSPRT allocation is DISP=SHR.
//* This causes SYSTSPRT to be reset each invocation
//* of TSO so the output produced by a file declaration
//* will be overlain by a subsequent delete file declaration.
//* Therefore, end users or applications will have to use the
//* SYSTSPRT file contents before closing the file replaces it.
//* The SYSTSPRT allocation could also be changed to DISP=MOD to
//* cause appending of output.
//*
//* You must create the SYSTSPRT or SYSTSIN files that
//* will be needed before invoking the exit. If parameters are
//* to be passed through the PARM field only, SYSTSIN could
//* be changed to DD DUMMY or the input file could be cleared.
//*
//* The exit must be invoked with at least the following
//* parameters: ...,AGENT(DFMXTSO,U=userID),PARM(...)
//*
//* (DFM for z/OS will automatically provide the U=userID parameter)
//*
//********************************************************************/
Figure 5. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 5 of 7//*********************************************************************
//* Build Agent JCL in SYS1.PROCLIB
//*********************************************************************
//GENPROC1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DISP=SHR,DSN=SYS1.PROCLIB(DFMXTSO)
//SYSUT1 DD DATA
//DFMXTSO JOB ,MSGCLASS=A
//*********************************************************************
//* Set appropriate msgclass above for debug vs production
//* Note that DFM will provide the DFMINIT parameter and the
//* U parameter (high-level name qualifier or userID).
//*********************************************************************
//DFMXTSO PROC DFMINIT=,U=
//DFMAGENT EXEC PGM=&DFMINIT.,
// PERFORM=2,
// REGION=5000K,
// DYNAMNBR=20
//*********************************************************************
//* Run DFMXTSO DataAgent Sample
//*********************************************************************
//* Add STEPLIB statements as appropriate for your installation.
//* Note that if IKJEFT01 was installed into LPALIB, a STEPLIB will
//* be required because DFM's DataAgent processing uses the BLDL
//* function.
//*STEPLIB DD DSN=...,DISP=SHR
//* DD DSN=SYS1.LINKLIB,DISP=SHR
//* DD DSN=SYS1.LPALIB,DISP=SHR <-- See note above
//*
//* TSO/E input comes from the SYSTSIN file (as well as from PARM).
//*
//* TSO/E output goes to the SYSTSPRT file.
//*
//* Sample using a generic CLIST...
//*SYSPROC DD DSN=&U..CLIST.CLIST,DISP=SHR
//SYSPROC DD DSN=SYS1.CLIST,DISP=SHR
//SYSTSIN DD DSN=&U..DFMXTSO.SYSTSIN,DISP=SHR
//SYSTSPRT DD DSN=&U..DFMXTSO.SYSTSPRT,DISP=SHR
//SYSOUT DD SYSOUT=*
//DFMXTSO PEND
//GO EXEC DFMXTSO
/*
Figure 6. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 6 of 7//********************************************************************/
//* 2. Setup for the DFMQTSO DataAgent procedure. Modify the job
//* control statements, etc. as appropriate for your installation.
//********************************************************************/
//* This setup job installs a sample procedure, DFMQTSO, to allow
//* workstations to invoke program DFMQTSO which will, in turn, invoke
//* IKJTSOEV to establish the TSO environment and then call TSO to
//* process the input from the PARM field. It ignores file
//* userID.DFMXTSO.SYSTSIN.
//*
//* Like DFMXTSO, it uses userID.DFMXTSO.SYSTSPRT to contain
//* the TSO output.
//*
//* The exit must be invoked with at least the following
//* parameters: ...,AGENT(DFMQTSO,U=userID),PARM(...)
//*
//* (DFM for z/OS will automatically provide the U=userID parameter)
//*
//********************************************************************/
//*********************************************************************
//* Assemble the Quick TSO Sample DataAgent Routine, DFMQTSO
//*********************************************************************
//ASM01 EXEC PGM=IEV90,PARM='OBJECT,NODECK'
//SYSPRINT DD SYSOUT=*
//SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(1700,(600,100))
//SYSUT2 DD UNIT=SYSDA,SPACE=(1700,(600,100))
//SYSUT3 DD UNIT=SYSDA,SPACE=(1700,(600,100))
//SYSLIN DD DSN=&&DFMQTSO,DISP=(,PASS),
// UNIT=SYSDA,SPACE=(TRK,(2,2,2))
//SYSIN DD DSN=SYS1.SAMPLIB(DFMQTSO),DISP=SHR
//********************************************************************
//* Link Edit DataAgent Routine DFMQTSO *
//********************************************************************
//LINK1 EXEC PGM=IEWL,PARM='XREF,LET,LIST,AMODE=31,RMODE=ANY'
//SYSPRINT DD SYSOUT=*
//OBJ DD DSN=&&DFMQTSO,DISP=(OLD,DELETE)
//SYSLMOD DD DSN=SYS1.LINKLIB(DFMQTSO),DISP=SHR
//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(80,10))
//SYSLIN DD *
INCLUDE OBJ
ENTRY DFMQTSO
NAME DFMQTSO(R)
/*
Figure 7. Sample Installation for the DFMXTSO and DFMQTSO
DataAgent Routines Part 7 of 7//*********************************************************************
//* Build DFMQTSO Agent JCL in SYS1.PROCLIB
//*********************************************************************
//GENPROC2 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DISP=SHR,DSN=SYS1.PROCLIB(DFMQTSO)
//SYSUT1 DD DATA
//DFMQTSO JOB ,MSGCLASS=A
//*********************************************************************
//* Set appropriate msgclass above for debug vs production
//* Note that DFM will provide the DFMINIT parameter and the
//* U parameter (high-level name qualifier or userID).
//*********************************************************************
//DFMQTSO PROC DFMINIT=,U=
//DFMAGENT EXEC PGM=&DFMINIT.,
// PERFORM=2,
// REGION=5000K,
// DYNAMNBR=20
//*********************************************************************
//* Run DFMQTSO DataAgent Sample
//*********************************************************************
//* Add STEPLIB statements as appropriate for your installation.
//*STEPLIB DD DSN=...,DISP=SHR
//* DD DSN=SYS1.LINKLIB,DISP=SHR
//*
//* Sample shown using a global CLIST library.
//*SYSPROC DD DSN=&U..CLIST.CLIST,DISP=SHR
//SYSPROC DD DSN=SYS1.CLIST,DISP=SHR
//*
//* TSO/E output goes to the SYSTSPRT file.
//*
//SYSTSPRT DD DSN=&U..DFMQTSO.SYSTSPRT,DISP=SHR
//*
//* Note that the program DFMQTSO does not use SYSTSIN for input
//* so a dummy SYSTSIN DD statement is provided.
//*
//SYSTSIN DD DUMMY
//SYSOUT DD SYSOUT=*
//DFMQTSO PEND
//GO EXEC DFMQTSO
/*
|