tag:blogger.com,1999:blog-84005240147175363372024-03-13T22:42:57.545-07:00soumyapremjisoumyapremjihttp://www.blogger.com/profile/06132126802836042625noreply@blogger.comBlogger2125tag:blogger.com,1999:blog-8400524014717536337.post-91210382936317651272009-06-19T00:39:00.000-07:002009-06-19T00:59:38.605-07:00Trendy Salwars For Ladies<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J65bys1l5RY/SjtFWcfyHsI/AAAAAAAAAEA/YWLB-jB_-Wk/s1600-h/download-4.jpeg"><img style="cursor:pointer; cursor:hand;width: 218px; height: 320px;" src="http://1.bp.blogspot.com/_J65bys1l5RY/SjtFWcfyHsI/AAAAAAAAAEA/YWLB-jB_-Wk/s320/download-4.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348945234341535426" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_J65bys1l5RY/SjtFOvct_ZI/AAAAAAAAAD4/ApHShX0P-9s/s1600-h/download-10.jpeg"><img style="cursor:pointer; cursor:hand;width: 218px; height: 320px;" src="http://1.bp.blogspot.com/_J65bys1l5RY/SjtFOvct_ZI/AAAAAAAAAD4/ApHShX0P-9s/s320/download-10.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348945101990002066" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_J65bys1l5RY/SjtE5ExZRNI/AAAAAAAAADw/3CwAZYqDcLE/s1600-h/download-3.jpeg"><img style="cursor:pointer; cursor:hand;width: 218px; height: 320px;" src="http://3.bp.blogspot.com/_J65bys1l5RY/SjtE5ExZRNI/AAAAAAAAADw/3CwAZYqDcLE/s320/download-3.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348944729756746962" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_J65bys1l5RY/SjtExfmEteI/AAAAAAAAADo/_tPUSTpeXu0/s1600-h/download-2.jpeg"><img style="cursor:pointer; cursor:hand;width: 218px; height: 320px;" src="http://3.bp.blogspot.com/_J65bys1l5RY/SjtExfmEteI/AAAAAAAAADo/_tPUSTpeXu0/s320/download-2.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348944599518066146" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_J65bys1l5RY/SjtEjTZEspI/AAAAAAAAADg/2gByN3dQmpU/s1600-h/download+-1.jpeg"><img style="cursor:pointer; cursor:hand;width: 166px; height: 320px;" src="http://3.bp.blogspot.com/_J65bys1l5RY/SjtEjTZEspI/AAAAAAAAADg/2gByN3dQmpU/s320/download+-1.jpeg" border="0" alt=""id="BLOGGER_PHOTO_ID_5348944355724145298" /></a>soumyapremjihttp://www.blogger.com/profile/06132126802836042625noreply@blogger.com0tag:blogger.com,1999:blog-8400524014717536337.post-80232042484067266842009-05-17T05:17:00.000-07:002009-05-18T04:54:40.179-07:00Mainframe Application programming Development Solutions<div style="text-align: left;"><b> </b><span style="font-size:130%;"><span style="font-weight: bold;">Mainframe </span><span style="font-weight: bold;">Application</span><span style="font-weight: bold;"> & programming</span></span>
<br />
<br /><span style="font-weight: bold;font-family:times new roman;" >JCL</span> :
<br />For your program to execute on the computer and perform the work you designed it to do, your program must be processed by your operating system. Your operating system consists of a base control program (BCP) with a job entry subsystem (JES2 or JES3) and DFSMSdfp installed with it. <p> For the operating system to process a program, programmers must perform certain job control tasks. These tasks are performed through the job control statements, which are listed in the first chapter. The job control tasks and introductory information about JCL are introduced in the second chapter. The charts in the third chapter divide these tasks into detailed subtasks. The tasks are: </p><p> </p><ul><li> Entering jobs </li><li> Processing jobs </li><li> Requesting resources </li></ul><span style="font-weight: bold;">JCL Essentials </span>:
<br /><ul><li> The programmer name parameter</li><li> The NOTIFY parameter</li><li> The MSGCLASS and MSGLEVEL parameters</li><li> How to code the EXEC statement</li><li> The PGM parameter</li><li> The PARM parameter</li><li> How to code the DD statement for DASD data sets</li><li> The syntax of the DD statement for DASD data</li><li>sets</li><li> The ddname and the DSNAME parameter
<br /></li><li>The DISP parameter</li><li> The UNIT and VOLUME parameters</li><li> The SPACE parameter</li><li> The DCB parameter</li><li> How to code the DD statement for instream and</li><li>SYSOUT data sets</li><li> The DD statement for instream data sers</li><li> The DD statements of SYSOUT data sets</li><li> Two complete job streams</li><li> The transaction-posting application</li><li> The job control requirements for a reportpreparation</li><li>application</li><li> The JCL for the report-preparation application</li></ul><span style="font-weight: bold;">JCL Statements</span>:
<br />You use JCL to convey this information to MVS through a set of statements known as <b>job</b> <b>control</b> <b>statements</b>. JCL's set of job control statements is quite large, enabling you to provide a great deal of information to MVS. <p> Most jobs, however, can be run using a very small subset of these control statements. Once you become familiar with the characteristics of the jobs you typically run, you may find that you need to know the details of only some of the control statements. </p><p> Within each job, the control statements are grouped into <b>job</b> <b>steps</b>. A job step consists of all the control statements needed to run <i>one</i> program. If a job needs to run more than one program, the job would contain a different job step for each of those programs. </p><table cellpading="3" border="1"><tbody><tr><td rowspan="1" colspan="3" style="font-family: monospace; font-size: 10pt;"> Table 1-1. MVS Job Control Language (JCL) Statements </td> </tr> <tr><th rowspan="1" colspan="1" style="font-weight: normal; font-family: monospace; font-size: 10pt;"> <b>Statement</b> </th> <th rowspan="1" colspan="1" style="font-weight: normal; font-family: monospace; font-size: 10pt;"> <b>Name</b> </th> <th rowspan="1" colspan="1" style="font-weight: normal; font-family: monospace; font-size: 10pt;"> <b>Purpose</b> </th> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // command
<br />
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> JCL command
<br />
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Enters an MVS system operator
<br />command through the input
<br />stream. The command statement is
<br />used primarily by the operator.
<br />Use the COMMAND statement
<br />instead of the JCL command
<br />statement. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // COMMAND
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> command
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Specifies an MVS or JES command
<br />that the system issues when the
<br />JCL is converted. Use the
<br />COMMAND statement instead of the
<br />JCL command statement. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> //* comment
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> comment
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Contains comments. The comment
<br />statement is used primarily to
<br />document a program and its
<br />resource requirements. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // CNTL
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> control
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the beginning of one or
<br />more program control statements. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // DD
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> data definition
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Identifies and describes a data
<br />set. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> /*
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> delimiter
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Indicates the end of data placed
<br />in the input stream.
<br />
<br /><b>Note:</b> A user can designate any
<br />two characters to be the
<br />delimiter. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // ENDCNTL
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> end control
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the end of one or more
<br />program control statements. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // EXEC
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> execute
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the beginning of a job
<br />step; assigns a name to the
<br />step; identifies the program or
<br />the cataloged or in-stream
<br />procedure to be executed in this
<br />step. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> //
<br />IF/THEN/ELSE/ENDIF
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> IF/THEN/ELSE/ENDI
<br />statement
<br />construct </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Specifies conditional execution
<br />of job steps within a job.
<br /> </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // INCLUDE
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> include
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Identifies a member of a
<br />partitioned data set (PDS) or
<br />partitioned data set extended
<br />(PDSE) that contains JCL
<br />statements to be included in the
<br />job stream. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // JCLLIB
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> JCL library
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Identifies the libraries that
<br />the system will search for:
<br />
<br />° INCLUDE groups
<br />° Procedures named in EXEC
<br /> statements. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // JOB
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> job
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the beginning of a job;
<br />assigns a name to the job. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> null </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the end of a job. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // OUTPUT
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> output JCL
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Specifies the processing options
<br />that the job entry subsystem is
<br />to use for printing a sysout
<br />data set. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // PEND
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> procedure end
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the end of an in-stream or
<br />cataloged procedure. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // PROC
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> procedure
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Marks the beginning of an
<br />in-stream procedure and may mark
<br />the beginning of a cataloged
<br />procedure; assigns default
<br />values to parameters defined in
<br />the procedure. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // SET
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> set
<br />
<br />
<br />
<br />
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Defines and assigns initial
<br />values to symbolic parameters
<br />used when processing JCL
<br />statements. Changes or nullifies
<br />the values assigned to symbolic
<br />parameters. </td> </tr> <tr><td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> // XMIT
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> transmit
<br /> </td> <td rowspan="1" colspan="1" style="font-family: monospace; font-size: 10pt;"> Transmits input stream records
<br />from one node to another. </td> </tr> </tbody></table><pre><!-- * -->Let us start with an example jcl, how it looks like, The following jcl is
<br />used to run an cobol program. I will explain in this chapter each and every
<br />line of this jcl. If you are already fimiliar with jcl, please skip first
<br />6 chapters.
<br />
<br />JCL , used to run a cobol program
<br />
<br />//JOB1 JOB (034D),'SOUMYA PREMJI NAIR',CLASS='A',PRTY=6
<br />//STEP01 EXEC PGM=COBPROG.
<br />//INFILE DD DSN=SED.GLOB.DES.INFILE,DISP=SHR
<br />//OUTIFLE DD DSN=SED.GLOB.DES.OUTFILE,
<br />// DISP=(NEW,CATLG,DELETE),
<br />// UNIT=DISK,
<br />// SPACE=(CYL,(1,5),RLSE),
<br />// DCB=(RECFM=FB,LERECL=70,BLKSIZE=700)
<br />
<br />Now let us discuss JCL which we have seen.Before explaining, I will explain few basics about JCL.
<br />
<br />All JCL statements can consists of up to five types of
<br />fields
<br />
<br /> // The two forward slashes are required at the beginning of each
<br /> JCL statement in Columns 1 and 2.
<br />
<br /> <span style="font-weight: bold; font-style: italic;">Name field</span> - This is an optional field. If coded, should start at
<br /> Column 3. It maximum length is 8.
<br />
<br /> <span style="font-weight: bold; font-style: italic;">Operation field</span> - Which indicates the operation that is to be performed
<br />
<br /> <span style="font-weight: bold; font-style: italic;">Operand</span> - This field must appear after Operation field. Must start at 16
<br /> column
<br />
<br /> <span style="font-weight: bold; font-style: italic;">Comments</span> - Comments begin one space after the last operand. Our simple
<br /> example has no comments.
<br />
<br /> // <span style="font-weight: bold;">Name Operation Operand</span>
<br />
<br /> // JOB1 JOB (034D),
<br /> 'SOUMYA',
<br /> CLASS='A',
<br /> PRTY=6
<br />
<br /> // STEP01 EXEC PGM=COBPROG
<br />
<br /> // INFILE DD DSN=SED.GLOB.DES.INFILE,
<br /> DISP=SHR
<br /> // OUTIFLE DD DSN=SED.GLOB.DES.OUTFILE,
<br /> // DISP=(NEW,CATLG,DELETE),
<br /> // UNIT=DISK,
<br /> // SPACE=(CYL,(1,5),RLSE),
<br /> // DCB=(RECFM=FB,
<br /> // LERECL=70,BLKSIZE=700)
<br />
<br /> The following image explain How our JCL will execute cobol program
<br />
<br /><span style="font-weight: bold; color: rgb(51, 51, 255);">//JOB1 JOB (034D),'SOUMYA PREMJI NAIR',CLASS='A',PRTY=6 </span>
<br />//STEP01 EXEC PGM=<span style="color: rgb(51, 51, 255); font-weight: bold;">COBPROG</span>.
<br />//<span style="font-weight: bold; color: rgb(51, 51, 255);">INFILE </span> DD DSN=SED.GLOB.DES.INFILE,DISP=SHR
<br />//<span style="color: rgb(51, 51, 255); font-weight: bold;">OUTFILE</span> DD DSN=SED.GLOB.DES.OUTFILE,
<br />// DISP=(NEW,CATLG,DELETE),
<br />// UNIT=DISK,
<br />// SPACE=(CYL,(1,5),RLSE),
<br />// DCB=(RECFM=FB,LERECL=70,BLKSIZE=700)
<br />
<br /><span style="font-weight: bold; color: rgb(51, 51, 255);">//JOB1 JOB (034D),'</span><span style="font-weight: bold; color: rgb(51, 51, 255);">SOUMYA PREMJI NAIR</span><span style="font-weight: bold; color: rgb(51, 51, 255);">',CLASS='A',PRTY=6 - </span><span style="color: rgb(51, 51, 255);"><span style="color: rgb(0, 0, 0);">Starting</span><span style="color: rgb(0, 0, 0);"> </span><span style="color: rgb(0, 0, 0);">of</span><span style="color: rgb(0, 0, 0);"> job</span></span>
<br />
<br /><span style="color: rgb(51, 51, 255); font-weight: bold;">COBPROG - </span><meta equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 9"><meta name="Originator" content="Microsoft Word 9"><link rel="File-List" href="file:///C:/DOCUME%7E1/ADMINI%7E1/LOCALS%7E1/Temp/msoclip1/01/clip_filelist.xml"><!--[if gte mso 9]><xml> <w:worddocument> <w:view>Normal</w:View> <w:zoom>0</w:Zoom> <w:donotoptimizeforbrowser/> </w:WordDocument> </xml><![endif]--><style> <!-- /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; color:navy;} pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Courier New"; mso-bidi-font-family:"Times New Roman";} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style>Cobol program name to be executed
<br />
<br /><span style="color: rgb(51, 51, 255); font-weight: bold;">OUTFILE</span><span style="color: rgb(51, 51, 255); font-weight: bold;"> - </span>Output file name which is used in
<br /> SELECT OUTPUT-FILE ASSIGN TO OUTFILE.
<br />
<br /><span style="font-weight: bold; color: rgb(51, 51, 255);">INFILE - </span>Input file name which is used in
<br /> SELECT INPUT-FILE ASSIGN TO INFILE.
<br />
<br /><span><span style="font-size:Verdana, Arial, Helvetica, sans-serif;"><b>EXPLANATION -</b>
<br />
<br />
<br /> <span style="color:#7c0f03;"><b>//JOB1 JOB (034D),'SOUMYA',CLASS='A',PRTY=6</b></span>
<br />
<br /> job card is mainly used to identify job, and tell to MVS about type of job
<br /> it is, priority it has.
<br />
<br /> JOB1 is the job name
<br /> 034D is accounting information
<br /> SOUMYA is name of the programmer
<br /> CLASS is category of job
<br /> PRTY is priority in the class
<br />
<br /> <span style="color:#7c0f03;"><b>//STEP01 EXEC PGM=COBPROG</b></span>
<br />
<br /> EXEC is used to specify the program to be executed.
<br />
<br /> STEP01 is the name of the step (you can give any name here)
<br /> COBPROG is the program name to be executed
<br />
<br /><span style="color:#7c0f03;"> <b>//INFILE DD DSN=SED.GLOB.DES.INFILE,DISP=SHR</b> </span>
<br />
<br /> INFILE is the name of input file, which is used in cobol program
<br />
<br /> DSN=SED.GLOB.DES.INFILE - It is dataset contains actual information to be read.
<br />
<br /> DISP=SHR - means another program also can read this program while we
<br /> are reading this file.
<br />
<br /><span style="color:#7c0f03;">
<br /><b>//OUTFILE DD DSN=SED.GLOB.DES.OUTFILE,
<br />// DISP=(NEW,CATLG,DELETE),
<br />// UNIT=DISK,
<br />// SPACE=(CYL,(1,5),RLSE),
<br />// DCB=(RECFM=FB,LERECL=70,BLKSIZE=700)
<br /></b></span>
<br />OUTFILE is the name of outputfile, which is used in cobol program
<br />
<br />DSN=SED.GLOB.DES.OUTFILE is the output file data will be written
<br />
<br />DISP=(NEW,CATLG,DELETE) Disp specifies the disposition of dataset,
<br />
<br /> NEW - Dataset not exists, need to create
<br /> CATLG - If step executed successfully, dataset should be cataloged
<br /> DELETE - If any error occurred, Dataset should be deleted
<br />
<br /></span></span>
<br />
<br />
<br />
<br /></pre>
<br /></div>soumyapremjihttp://www.blogger.com/profile/06132126802836042625noreply@blogger.com0