Gentle Breeze

[MainFrame] JCL Statements 본문

⑨ 직무역량강화/MainFrame

[MainFrame] JCL Statements

재령 2009. 8. 5. 22:03

COMMON JCL Statements / Cards


-JOB Statement
  JOB 을 시작하고 알려 주고, JOB NAME을 정한다.
-EXEC Statement (Execution)
  JOB STEP의 시작을 알려 주고, JOB STEP NAME을 정한다.
-DD Statement  (Data definition)
  사용되는 DATA SET을 알려 주고, 그 DATA SET에 대한 정보를 준다.


JCL Statement Format

-Indicates a JCL Statement
  //  : All JCL Statements except the delimiter.
  /*  : Delimiter , JES2 Control Statements.
  //*  : Comment , JES3 Control Statements.
   (Delimiter : INPUT STREAM DATA의 끝을 나타낸다.
    영구보관이 아닌 1회성인 DATA를 처리할 때 사용한다.)
-Name field
  maximum 8자, alphanumeric ( A~Z, 0~9), national characters(#,@,£)
  첫 글자는 반드시 alphabetic or national.
-Operation field
  JCL Statement의 종류를 알려 준다.
  JOB, EXEC, DD
  IF, JCLLIB, COMMAND, SET, etc.
-Parameter field
  JCL Statement에서 사용되는 Parameter로서 COMMA(,)로 분리한다.


Positional parameters
  위치가 정해져 있으므로 서로 위치를 바꿀 수 없다.
  생략으로 인해 남아있는 위치는 ','로 생략되었음을 알려 준다.
 //NAME OPERATION P1,P2,P3,K1=A,K2=B,K3=C
 //NAME OPERATION ,P2,P3,K1=A,K2=B,K3=C       (P1을 생략한 경우)
 //NAME OPERATION P1,,P3,K1=A,K3=C,K2=B       (P2를 생략한 경우)
 //NAME OPERATION K1=A,K2=B,K3=C       (Parameter를 모두 생략한 경우)   

Keyword parameters
 위치가 정해져 있지 않으므로 어느 위치에나 적을 수 있다.
 생략시 생략되었음을 알려 줄 필요가 없다.
 //NAME OPERATION P1,K2=B

 //NAME OPERATION ,P2,K3=C,K1=A
 //NAME OPERATION P1,P2

-Comment field
  User가 기록하고자 하는 Comments를 적는다.


JOB CARD PARAMETER
 CLASS  : JOB에 수행하게 될 CLASS를 지명한다.
               JOB의 Initiator와 match되어 작업됨.
 MSGCLASS : JOB LOG에 OUTPUT CLASS를 지명한다.
 MSGLEVEL : JOB LOG에 있는 내용을 보여 준다. (PRINT할 내용을 지정)
 MSGLEVEL=(M,N)
                    M:WHAT WILL BE WRITTEN
                    (0 - only JOB Statement, 1 - all JCL & Procedures, 2 - only INPUT JCL)
                    N:ALLOCATION/TEAM MESSAGES
                    (0 - only IF JOB abends, 1 - JES & OP Messages)
 PRTY  : JOB이 수행되기 위해 SELECTION되는 PRIORITY를 정한다. 우선순위 결정
 ADDRSPC  : JOB이 VIRTUAL STORAGE/ REAL STORAGE에서 수행되는가를 정한다.
 REGION   : JOB에  할당되는 STORAGE의 크기를 정한다. (MEMORY 사용크기)
 COND   :  CONDITION PARAMETER
               각 JOB STEP의 RETURN CODE를 TEST하여 JOB의 수행여부를 결정한다.
               COND=((VALUE,OPERATOR,STEPNAME),EVEN/ONLY)
 OPERATOR : GT/LT/EQ/NE/GE/LE
 PERFORM  : JOB에 PERFORMANCE GROUP을 정한다.
 TIME   : JOB이 사용할 수 있는 MAXIMUM PROCESSOR TIME을 설정한다.
             TIME=(1440) 무한루프허용
 TYPRUN  : JOB이 수행되는 TYPE을 정한다. 
 HOLD : OPERATOR가 풀어 줄 때까지 JOB을 수행하지 않고 HOLD 한다.
 JCLHOLD : JCL PROCESSING 이전 상태에서 HOLD 한다.
 SCAN : JOB을 수행하지 않고 JCL의 SYNTAX ERROR만을 CHECK한다.
 COPY : JOB을 수행하지 않고 INPUT STREAM을 SYSTEM OUTPUT DATA SET으로
            
CONVERSION을 한다.


EXEC CARD PARAMETERS
 POSITIONAL PARAMETER
  PGM : 수행할 PROGRAM의 이름
  PROC : 수행할 PROCEDURE의 이름 (PROC=COBUCLG)
              KEYWORD PARAMETER
  PARM :이 JOB STEP에서 수행할 PROGRAM에 VARIABLE INFORMATION을 제공
  ACCT :이 JOB STEP에 ACCOUNTING INFORMATION을 제공한다.



JOB CARD PARAMETERS
//JOBA  JOB DEPT1,SDS,CLASS=A,MSGCLASS=X,
//    MSGLEVEL=(1,1),PRTY=10,ADDRSPC=REAL,
//   REGION=1024K,COND=(4,LT),PERFORM=3,
//   TIME=(3,30),TYPRUN=HOLD

EXEC CARD PARAMETERS
//STEPB  EXEC  PGM=PAYROLL(or COBUCLG),
//     PARM='MM/DD/YY',ACCT=DEPT1,ADDRSPC=REAL,
//    REGION=512K,TIME=5,COND=(12,LE,STEPA)

DD CARD PARAMETERS
//ddname  DD  DSN=PAYROLL.MAS01,DISP=(NEW,KEEP),
//     UNIT=3380,VOL=SER=WORK01,
//     DCB=(RECFM=FB,LRECL=80,BLKSIZE=2000),
//     SPACE=(CYL,(5,3))

//ddname  DD  LABEL=(3,SL)

//ddname  DD  SYSOUT=*

//ddname  DD  *


SYSTEM DEFINED DDNAME
  JOBLIB : JOB에서 사용할 PROGRAM이 들어있는 LIBRARY를 명시한다.
  STEPLIB : STEP에서 사용할 PROGRAM이 들어있는 LIBRARY를 명시한다.
  JOBCAT : JOB에서 사용하는 DATA SET이 등록 되있을 때 CATALOG를 명시한다.
  STEPCAT : STEP에서 사용하는 DATA SET이 등록 되었을 때 CATALOG를 명시한다.
  SYSABEND, SYSUDUMP, SYSMDUMP : DUMP DATA SET
  SYSCHK : CHECKPOINT DATA SET을 명시한다.
  DSN : DATA SET NAME
           DSN=ddname(member name) ---> LIBRARY 사용할 때.
           DSN=&&ddname(member name) ---> TEMPORARY DATA SET 사용할 때.

           EXAMPLE : DSN=MYDATA, DSN=MYLIB(DATA),DSN=&&TEMP1
                             DSN=&&TEMP(GO),DSN=MASTER(+1)

  UNIT : UNIT PARAMETER
            UNIT=3380
             DEVICE TYPE ---> 3380, 3375, 3480,3390
                                          CTAPE(3480),ACS(3490),DISK,VSM 등

VOLUME PARAMETER
  VOLUME=(PRIVATE,RETAIN,2,5,SER=(VOLA,VOLB))
  PRIVATE : DATA SET이 CLOSE된 후 VOLUME이 DEMOUNT된다.
  RETAIN : VOLUME 이 DEMOUNT 및 REWOUND 되지 않도록 한다.(TAPE일 때)
                SER=(SERIAL-NUMBER,SERIAL-NUMBER)
                DATA SET이 위치하는 VOLUMES

DISP PARAMETER
  DISP=(NEW,CATLG,DELETE)
           NEW : 새로운 DATA SET을 만들려고 할 때.
           OLD : 존재하는 DATA SET을 EXCLUSIVE CONTROL한다.
           SHR : 존재하는 DATA SET을 다른 JOB과 SHARE한다.
           MOD : 기존 DATA SET에 덧 붙일 때.
           CATLG : DATA SET을 KEEP하며, CATALOG에 등록한다.
           UNCATLG : DATA SET은 KEEP하며, UNCATALOG 한다.
           PASS : DATA SET을 JOB의 연결되는 STEP에게 PASS한다.
           KEEP : DATA SET을 KEEP한다. 원 상태로 유지.
           DELETE : DATA SET을 DELETE 한다.

SPACE PARAMETER
           SPACE=(TRK,(20,2,10),RLSE,CONTIG,ROUND)
           ALLOCATION TYPE : TRK, CYL, BLOCKLENGTH
           PRIMARY QUANTITY : INITIAL VALUE (주 할당 영역)
           SECONDARY QUANTITY : 추가되는 SPACE (16번까지 ALLOCATE)
           DIRECTORY : DIRECTORY RECORD 수
           RLSE : OUTPUT DATA SET에 ALLOCATE되었던 SPACE중 사용하지 않은
                     부분을 RELEASE한다. 재사용하도록...
           CONTIG : PRIMARY SPACE ALLOCATION이 CONTINUOUS한 상태로
                          이루워지도록 지정한다. 할당 영역이 한 곳으로 모이도록 지정한 것
           ROUND : DATA SET에 ALLOCATE되는 SPACE를 CYLINDER경계로 할 것을 지정.

SYSOUT PARAMETER
     SYSOUT=(P1,P2,P3)
                P1 : OUTPPUT CLASS
                       SYSOUT=* : MSGCLASS의 CLASS와 같은 OUTPUT CLASS를 사용한다.
                P2 : WRITER NAME
                       EXTERNAL WRITER의 이름
                P3 : FORM NAME
                       PRINT/PUNCH FORM의 이름

DCB(DATA CONTROL BLOCK) PARAMETER
      DCB=(RECFM=FB,LRECL=80,BLKSIZE=800,..)
              RECFM : RECORD FORMAT ......F, FB, V, VB, U,...
              LRECL : LOGICAL RECORD LENGTH ......NUMBER OF BYTES
              BLKSIZE : PHYSICAL RECORD LENGTH......NUMBER OF BYTES
  그 밖의 쓰지 잘 않는 것  DSORG : DATA SET ORGANIZATION...PS,PO,DA...
     DEN : TAPE DENSITY...1:556,2:800,4:6450 BPI

Comments