//JOBDDN JOB (,R224),BROOKS,NOTIFY=,TIME=(,5)
//*-------------------------------------------------------------------
//*                 COPYRIGHT (C) 1995, SAS INSTITUTE INC.
//*                   UNPUBLISHED - ALL RIGHTS RESERVED
//*                      S A S / C   S A M P L E
//*
//*         NAME: JOBDDN
//*      PURPOSE: Displays the Jobname/Stepname and all DDs associated
//*               with a job.  In addition to the DDname, it also
//*               displays datasetname, lrecl, blksize, and recfm.
//*               This JCL compiles, links and executes the source
//*               modules TIOTLIST and JOBDDN.
//*
//*   MISC NOTES: The TIOT info is accessed directly from system
//*               control blocks.
//*
//*               The tiotlist function will access the TIOT control
//*               block for each DD allocated to a job.  The first
//*               invocation will return the Jobname and Step name as
//*               well as the first DD name.  Subsequent invocations
//*               will return the next DD name allocated.
//* RETURN VALUE:
//*              The tiotlist function returns a pointer to the TIOT
//*              structure. This structure was generated by the DSECT2C
//*              utility.  A zero in the TIOELNGH field indicates that
//*              there are no more DD entries.
//*     CAUTIONS:
//*              If there are no allocated datasets the result is
//*              undefined.
//*
//* NOTE: Verify the proc and dataset names identified with the
//*               <=== VERIFY
//*------------------------------------------------------------------
//*
//C550 EXEC LC370C,PARM.C='BIT(1),SN(JOBDD)'                <=== VERIFY
//*                   <=== MUST COMPILE WITH THE BIFIELD OPTION
//C.SYSLIN  DD DSN=your.object.library(JOBDDN),DISP=SHR     <=== VERIFY
//C.SYSIN   DD DSN=prefix.SAMPLE.C(JOBDDN),DISP=SHR         <=== VERIFY
//C.H       DD DSN=prefix.SAMPLE.H,DISP=SHR                 <=== VERIFY
//*
//C550 EXEC LC370C,PARM.C='BIT(1),SN(TIOT)'                 <=== VERIFY
//*                   <=== MUST COMPILE WITH THE BIFIELD OPTION
//C.SYSLIN  DD DSN=your.object.library(TIOTLIST),DISP=SHR   <=== VERIFY
//C.SYSIN   DD DSN=prefix.SAMPLE.C(TIOTLIST),DISP=SHR       <=== VERIFY
//C.H       DD DSN=prefix.SAMPLE.H,DISP=SHR                 <=== VERIFY
//*
//C550 EXEC LC370L                                          <=== VERIFY
//LKED.SYSLMOD DD DSN=your.load.library(JOBDDN),DISP=SHR    <=== VERIFY
//LKED.OBJ     DD DSN=your.object.library,DISP=SHR          <=== VERIFY
//LKED.SYSIN   DD *
  INCLUDE OBJ(JOBDDN)
  INCLUDE OBJ(TIOTLIST)
/*
//*
//GO EXEC PGM=JOBDDN                                       <=== VERIFY
//GO.STEPLIB DD DSN=your.load.library,DISP=SHR             <=== VERIFY
//           DD DSN=prefix.LINKLIB,DISP=SHR                <=== VERIFY
//* DDNAME "BOGUSDD" IS ADDED AS A TEST CASE
//GO.BOGUSDD DD DSN=an.existing.dataset,DISP=SHR           <=== VERIFY
//GO.SYSTERM  DD SYSOUT=*
//GO.SYSPRINT DD SYSOUT=*
//GO.DBGTERM  DD SYSOUT=*
//GO.DBGLOG   DD SYSOUT=*
//