JES2 JCL 제어문
본 장에서는 JES2 JCL 제어문과 각 오퍼랜드에 대해 설명한다.
1. 개요
다음은 JES2 JCL 제어문에 대한 목록이다.
JES2 JCL 제어문 | 설명 |
---|---|
JES2 커맨드를 기술한다. |
|
JOB의 제어 정보를 기술한다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
JOB의 우선순위를 지정한다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
|
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다. |
2. JES2 커맨드문
JES2 커맨드를 기술한다. JES2 커맨드문은 최초의 JOB 문이 나타나기 전에 기술한다.
이외의 위치에서 기술된 JES2 커맨드문은 사용되지 않는다. JES2 커맨드문을 통해서 실행된 커맨드의 성공 여부는 JES2 커맨드문 이후에 기술된 JOB이 SUBMIT되거나 실행되는 데 전혀 영향을 주지 않는다.
JOB 문 없이 JES2 커맨드만을 기술할 수도 있다. JES2 커맨드만 있는 JCL를 실행하는 경우 OpenFrame/Batch에서는 임시로 JOBNAME(TJESSUBM)을 할당하여 JES2 커맨드를 실행한 후 JOB은 DONE으로 종료된다.
JES2 커맨드의 실행 결과는 OpenFrame 환경설정에 ofsys 서브젝트, DIRECTORY 섹션의 LOG_DIR 키의 VALUE 항목에 지정된 디렉터리의 하위 디렉터리 job 안에 submit_YYYYMMSS.log 형태로 기록된다.
|
다음은 JES2 커맨드문에 대한 설명이다.
-
사용법
/*\커맨드△°오퍼랜드
항목 설명 커맨드
오퍼레이션 기술 위치로 "/*\" 또는 "/*$"에 이어서 4번째 칸에 커맨드를 기술한다. 지원되는 커맨드에 대한 설명은 커맨드를 참고한다.
오퍼랜드
오퍼레이션 이후로 0개 이상의 공백 또는 콤마(,)를 두고 오퍼랜드를 기술한다. 오퍼랜드는 커맨드의 종류에 따라서 다르다.
커맨드
다음은 앞에서 언급한 커맨드 항목에 대한 설명으로 OpenFrame에서 지원하는 커맨드는 다음과 같다.
-
VS
입력한 OS command를 실행한다.
/*\VS[ ],'OS command'
다음은 OS command의 설명이다.
커맨드 설명 입력한 프러시저를 SUBMIT한다.
해당 커맨드를 OSI 시스템을 통해서 실행한다.
위에 설명되지 않은 커맨드는 지원하지 않는다. |
2.1. S
입력한 프러시저를 SUBMIT한다.
-
사용법
S 프러시저명,기호 파라미터=값[,기호 파라미터=값]...
항목 설명 프러시저명
SUBMIT할 프러시저명을 지정한다.
기호 파라미터
PROC 문의 기호 파라미터를 참고한다.
3. JOBPARM 문
JOB의 제어 정보를 기술한다. JOBPARM 문은 JOB 문 이후에 기술한다. 오퍼랜드가 중복될 경우 처음 기술된 값이 사용된다.
-
사용법
/*JOBPARM△¹키워드 오퍼랜드[,키워드 오퍼랜드]...△¹[주석]
항목 설명 JOBPARM
오퍼레이션 기술 위치로 "/*"에 이어서 3번째 칸에 'JOBPARM’라고 기술한다.
키워드 오퍼랜드[,키워드 오퍼랜드]
오퍼레이션란 이후로 1개 이상의 공백을 두고 키워드 오퍼랜드를 기술한다. 오퍼랜드의 순서는 상관없다. 자세한 내용은 오퍼랜드와 각 오퍼랜드 절의 설명을 참고한다.
[주석]
오퍼랜드란 이후에 1개 이상의 공백을 두고 기술한다.
주석은 71번째 칸까지 기술할 수 있다.
오퍼랜드
다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 각 오퍼랜드에 대한 자세한 내용은 해당 절의 내용을 참고한다.
-
키워드 오퍼랜드
항목 설명 OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
출력의 최대 라인 갯수를 설정한다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
STEP에서 실행할 프러시저를 찾는 데 사용된다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.
3.9. PROCLIB/P
STEP에서 실행할 프러시저를 찾는 데 사용된다. PROCLIB이 지정되면 시스템은 STEP에서 실행할 프러시저를 지정된 PROCLIB을 통해서 검색한다.
OpenFrame 환경설정에 tjes 서브젝트, PROCLIB 섹션의 {ddname} 키의 VALUE 항목에 지정된 카탈로그 프러시저의 라이브러리 DD 이름으로 데이터셋 리스트를 가져온다. 가져온 데이터셋 리스트의 멤버들 중에서 프러시저를 우선적으로 검색한다.
STEP에서 실행할 프러시저를 검색하는 순서는 다음과 같다. 5번까지 검색하고도 대상 프러시저를 찾지 못하면 FLUSH가 발생한다.
-
입력 스트림 프러시저 중에서 검색한다.
-
JCLLIB 문이 기술되어 있다면 JCLLIB 문에 기술된 멤버를 통해서 검색한다.
-
JES2 JCL 제어문인 JOBPARM 문에 PROCLIB={ddname} 오퍼랜드가 지정되어 있다면 OpenFrame 환경설정에 tjes 서브젝트, PROCLIB 섹션의 {ddname} 키의 VALUE 항목으로 설정된 데이터셋들의 멤버 중에서 검색한다.
-
OpenFrame 환경설정에 tjes 서브젝트, PROCLIB 섹션의 PROC00 키의 VALUE 항목으로 설정된 데이터셋들의 멤버 중에서 검색한다.
-
SYS1.PROCLIB의 멤버 중에 검색한다.
tjes 서브젝트의 세부 내용은 OpenFrame Batch "환경설정 안내서"를 참고한다. |
다음은 PROCLIB 오퍼랜드에 대한 설명이다.
-
사용법
PROCLIB | P = {ddname}
항목 설명 {ddname}
카탈로그 프러시저를 찾을 때 참조할 라이브러리 리스트가 설정된 DD 이름을 지정한다.
-
주의사항
OpenFrame 환경설정에 tjes 서브젝트, PROCLIB 섹션의 {ddname} 키의 VALUE 항목에 카탈로그 프러시저의 라이브러리 DD 이름이 없으면 해당 오퍼랜드는 사용되지 않는다.
-
예제
다음은 JOBPARM 문에서 PROCLIB을 사용하는 예제이다. PROCLIB을 PROC00으로 지정하였으므로 STEP1의 PROC01은 OpenFrame 환경설정에 tjes 서브젝트, PROCLIB 섹션의 PROC00 키의 항목에 지정된 데이터셋들의 멤버 중에서 프러시저를 검색한다.
//JOB1 JOB /*JOBPARM PROCLIB=PROC00 //STEP1 EXEC PROC01 //SYSOUT DD SYSOUT=*
6. NOTIFY 문
JOB이 끝나고 메시지를 남겨 놓으면 NOTIFY로 지정된 유저가 tjesmgr에서 명령을 통해서 해당 메시지를 확인할 수 있다.
-
사용법
/*NOTIFY△¹{userid}
항목 설명 NOTIFY
오퍼레이션 기술 위치로 "/*"에 이어서 3번째 칸에 'NOTIFY’라고 기술한다.
userid
8자리 이내의 기호명칭으로 지정한다.
-
주의사항
만약 JOB 문에 NOTIFY가 기술되어 있고 JES JCL문에도 NOTIFY가 기술되어 있다면 JOB 문의 NOTIFY 파라미터의 값은 무시되고 JES JCL문의 NOTIFY 값이 사용된다.
-
예제
다음은 사용자 USER1에게 메시지를 남기겠다는 예제이다.
/*NOTIFY USER1
8. PRIORITY 문
JOB의 우선순위를 지정한다. PRIORITY 문은 JOB 문 이전에 기술한다.
-
사용법
/*PRIORITY△¹우선순위
항목 설명 PRIORITY
오퍼레이션 기술 위치로 "/*"에 이어서 3번째 칸에 'PRIORITY’라고 기술한다.
우선순위
오퍼레이션란 이후로 1개 이상의 공백을 두고 1~15의 숫자를 기술한다.
우선순위에 대한 자세한 내용은 우선순위의 설명을 참고한다.
우선순위
JOB의 우선순위를 기술한다. JOB의 우선순위는 JOB CLASS와 함께 스케줄링에 사용되며 숫자가 높을수록 우선순위가 높다. 스케줄러에서는 동일 CLASS를 가진 JOB들이 있을 때 이 오퍼랜드의 값에 따라서 어떤 JOB을 먼저 실행할지를 결정한다.
동일한 우선순위를 가질 경우에는 먼저 SUBMIT된 JOB이 실행된다. JOB의 우선순위는 Aging 정책에 따라서 시간이 지날수록 높아진다. 우선순위에 대한 처리는 tjes 서브젝트, SCHEDULING 섹션의 PRTYHIGH, PRTYLOW 키에 설정한다.
tjes 서브젝트 설정에 대한 자세한 내용은 OpenFrame Batch "환경설정 안내서"를 참고한다. |
-
사용법
우선순위
항목 설명 우선순위
JOB의 스케줄링에 관계되는 우선순위를 1~15의 숫자로 기술한다.
-
주의사항
-
오퍼랜드를 사용하기 위해서는 OpenFrame 환경설정에 tjes 서브젝트, SCHEDULING 섹션의 PRTYJECL 키의 VALUE 항목을 YES로 설정해야 한다.
-
PRIORITY 문에 우선순위를 지정하고 JOB 문에 PRTY 오퍼랜드를 통해서 우선순위를 지정한 경우 PRIORITY 문의 우선순위가 적용된다.
-
-
예제
다음은 우선순위를 10으로 지정한 예제이다.
/*PRIORITY 10 //JOB1 JOB CLASS=A
다음은 JOB 문과 PRIORITY 문에 동시에 우선순위를 지정할 경우 PRIORITY 문의 우선순위를 따르는 예제이다. 다음 예제에서는 JOB의 우선순위가 5로 지정된다.
/*PRIORITY 5 //JOB1 JOB CLASS=A,PRTY=10
9. ROUTE 문
SYSOUT 데이터셋의 출력처를 지정하거나 작업이 실행될 네트워크 노드를 식별한다. 현재 OpenFrame에서는 PRINT 문만 지원한다.
-
사용법
/*ROUTE△¹PRINT△¹출력처
항목 설명 ROUTE
오퍼레이션 기술 위치로 "/*"에 이어서 3번째 칸에 'ROUTE’라고 기술한다.
PRINT
SYSOUT 데이터셋의 출력처를 지정한다. PRINT 오퍼랜드 뒤에 공백을 1개 이상 기술한 후 출력처를 지정한다.
SYSOUT DD 문이나 OUTPUT 문에서 DEST 지정이 없는 경우에만 적용되며, 해당 지정이 있는 경우 적용 우선순위는 다음과 같다.
-
SYSOUT DD
-
OUTPUT
-
ROUTE
-