Gentle Breeze
[MainFrame] JCL Statements 본문
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
'⑨ 직무역량강화 > MainFrame' 카테고리의 다른 글
IBM MAINFRAME FORUMS (0) | 2009.12.31 |
---|---|
[TSO] USER PROFILE 에서 PREFIX 수정 (0) | 2009.12.12 |
7bit n-byte 한글방식 - SI (Shift In) / SO (Shift Out) (0) | 2009.09.30 |
[MainFrame] JCL (Job Control Language) (0) | 2009.08.05 |