136
OpenFrame JCL 문법 안내서 OpenFrame/Batch for VOS3 2.0 Copyright © 2009 TmaxSoft Co., Ltd. All Rights Reserved.

JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame

JCL 문법 안내서

OpenFrame/Batch for VOS3 2.0

Copyright © 2009 TmaxSoft Co., Ltd. All Rights Reserved.

Page 2: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

Copyright Notice

Copyright © 2009 TmaxSoft Co., Ltd. All Rights Reserved.

대한민국 경기도 성남시 분당구 서현동 263 분당스퀘어(AK프라자) 12층 우)463-824

Restricted Rights Legend

All TmaxSoft Software (Tmax OpenFrame®) and documents are protected by copyright laws and the Protection

Act of Computer Programs, and international convention. TmaxSoft software and documents are made available

under the terms of the TmaxSoft License Agreement and may only be used or copied in accordance with the terms

of this agreement. No part of this document may be transmitted, copied, deployed, or reproduced in any form or

by any means, electronic, mechanical, or optical, without the prior written consent of TmaxSoft Co., Ltd.

이 소프트웨어(Tmax OpenFrame®) 사용설명서의 내용과 프로그램은 저작권법, 컴퓨터프로그램보호법 및 국제

조약에 의해서 보호받고 있습니다. 사용설명서의 내용과 여기에 설명된 프로그램은 TmaxSoft Co., Ltd.와의 사용

권 계약 하에서만 사용이 가능하며, 사용권 계약을 준수하는 경우에만 사용 또는 복제할 수 있습니다. 이 사용설명

서의 전부 또는 일부분을 Tmaxsoft의 사전 서면 동의 없이 전자, 기계, 녹음 등의 수단을 사용하여 전송, 복제, 배

포, 2차적 저작물작성 등의 행위를 하여서는 안 됩니다.

Trademarks

Tmax® and Tmax OpenFrame®are registered trademarks of TmaxSoft Co., Ltd. Other products, titles or services

may be registered trademarks of their respective companies.

Tmax®와 Tmax OpenFrame®은 TmaxSoft Co., Ltd.의 등록 상표입니다. 기타 모든 제품들과 회사 이름은 각각 해

당 소유주의 상표로서 참조용으로만 사용됩니다.

Open Source Software Notice

This product includes open source software developed and/or licensed by "OpenSSL", "RSA Data Security, Inc.",

"Apache Foundation", and "Jean-loup Gailly and Mark Adler". Information about the aforementioned and the related

open source software can be found in the "${INSTALL_PATH}/license/oss_licenses" directory.

본 제품은 “OpenSSL”, “RSA Data Security, Inc.”, “Apache Foundation” 및 “Jean-loup Gailly와 Mark Adler”에 의

해 개발 또는 라이선스된 오픈 소스 소프트웨어를 포함합니다. 관련 상세 정보는 제품의 디렉터리 “${IN

STALL_PATH}/license/oss_licenses”에 기재된 사항을 참고해 주십시오.

안내서 정보

안내서 제목: OpenFrame JCL 문법 안내서

발행일: 2009-10-30

소프트웨어 버전: OpenFrame/Batch for VOS3 2.0

안내서 버전: v2.1.1

Page 3: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

내용 목차

안내서에 대하여 .......................................................................................................................... vii

제1장 JCL 개요 .......................................................................................................................... 1

1.1. 소개 ............................................................................................................................ 1

1.2. 기술 형식 ..................................................................................................................... 1

1.2.1. OS JCL ............................................................................................................. 1

1.2.2. JSS3 JCL ......................................................................................................... 5

1.3. 오퍼랜드 ...................................................................................................................... 6

1.3.1. 위치 오퍼랜드 ................................................................................................... 6

1.3.2. 키워드 오퍼랜드 ................................................................................................ 6

1.3.3. 예제 .................................................................................................................. 7

1.3.4. 파라미터 지정 ................................................................................................... 7

1.3.5. 기술 규약 .......................................................................................................... 8

1.4. JCL ........................................................................................................................... 11

1.4.1. JOB의 시작과 종료 .......................................................................................... 11

1.4.2. 기술 순서 ........................................................................................................ 12

제2장 OS JCL .......................................................................................................................... 15

2.1. JOB 문 ...................................................................................................................... 15

2.1.1. SYNTAX ......................................................................................................... 15

2.1.2. 오퍼랜드 ......................................................................................................... 19

2.2. EXEC 문 .................................................................................................................... 31

2.2.1. SYNTAX ......................................................................................................... 31

2.2.2. 오퍼랜드 ......................................................................................................... 35

2.3. DD 문 ........................................................................................................................ 46

2.3.1. SYNTAX ......................................................................................................... 46

2.3.2. 오퍼랜드 ......................................................................................................... 56

2.4. 스페셜 DD 문 ............................................................................................................. 81

2.4.1. SYSIN DD ....................................................................................................... 81

2.4.2. SYSOUT DD와 SYSPRINT DD ........................................................................ 82

2.4.3. JOBLIB DD와 STEPLIB DD ............................................................................. 82

2.4.4. JOBCAT DD와 STEPCAT DD ........................................................................... 83

2.5. 단락문 ....................................................................................................................... 84

2.5.1. SYNTAX ......................................................................................................... 85

2.6. 공문 ........................................................................................................................... 85

2.6.1. SYNTAX ......................................................................................................... 85

2.7. 주석문 ....................................................................................................................... 85

2.7.1. SYNTAX ......................................................................................................... 85

2.8. PROC 문 ................................................................................................................... 86

2.8.1. SYNTAX ......................................................................................................... 86

2.9. PEND 문 .................................................................................................................... 88

2.9.1. SYNTAX ......................................................................................................... 88

OpenFrame iii

Page 4: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

2.10. OS 커맨드문 ............................................................................................................ 88

제3장 JSS3 JCL ....................................................................................................................... 89

3.1. PRIORITY 문 ............................................................................................................. 89

3.1.1. SYNTAX ......................................................................................................... 89

3.2. XEQ 문 ...................................................................................................................... 90

3.2.1. SYNTAX ......................................................................................................... 90

3.3. JOBPARM 문 ............................................................................................................. 91

3.3.1. SYNTAX ......................................................................................................... 91

3.3.2. 오퍼랜드 ......................................................................................................... 94

3.4. MESSAGE 문 ............................................................................................................. 95

3.4.1. SYNTAX ......................................................................................................... 95

3.5. SETUP 문 .................................................................................................................. 95

3.5.1. SYNTAX ......................................................................................................... 95

3.6. OUTPUT 문 ............................................................................................................... 95

3.6.1. SYNTAX ......................................................................................................... 96

3.6.2. 오퍼랜드 ....................................................................................................... 100

3.7. ROUTE 문 ................................................................................................................ 106

3.7.1. SYNTAX ........................................................................................................ 106

3.8. MAIN 문 ................................................................................................................... 106

3.8.1. SYNTAX ........................................................................................................ 106

3.8.2. 오퍼랜드 ....................................................................................................... 107

3.9. NET 문 .................................................................................................................... 109

3.9.1. SYNTAX ........................................................................................................ 109

3.9.2. 오퍼랜드 ....................................................................................................... 112

3.10. ADMIT 문 ............................................................................................................... 117

3.10.1. SYNTAX ...................................................................................................... 117

3.11. JSS3 커맨드문 ....................................................................................................... 117

3.11.1. SYNTAX ...................................................................................................... 117

색인 .......................................................................................................................................... 121

iv OpenFrame JCL 문법 안내서

Page 5: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

그림 목차

[그림 1.1] OS JCL 기술 형식 ........................................................................................................ 1

[그림 1.2] JSS3 JCL 기술 형식 ..................................................................................................... 5

[그림 1.3] JSS3 JCL 기술 형식 - MAIN 문이나 NET 문 .................................................................. 5

[그림 2.1] 실행프로그램의 지정 .................................................................................................. 36

OpenFrame v

Page 6: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요
Page 7: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

안내서에 대하여

안내서의 대상

본 안내서는 리호스팅 솔루션인 Tmax OpenFrame®(이하 OpenFrame)/Batch 시스템에서 JCL을 작성하

는 개발자를 대상으로 기술한다. 본 안내서는 Hitachi Mainframe의 JCL에 대응하는 OpenFrame의 VOS3

JCL 문법에 대한 지원 사항과 설명을 기술한다.

안내서의 전제 조건

본 안내서를 이해하기 위해서는 Hitachi Mainframe과 JCL에 대한 기본 지식을 필요로 한다.

안내서의 제한 조건

본 안내서는 JCL 문법 안내서로 문법 이외의 관련 환경설정 및 유틸리티에 대해서는 언급하지 않는다.

참고

1. 환경설정에 대한 자세한 설명은 OpenFrame 안내서 중 "TJES 안내서"를 참고한다.

2. 유틸리티에 대한 자세한 설명은 OpenFrame 안내서 중 "유틸리티 참조 안내서"를 참고한다.

안내서에 대하여 vii

Page 8: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

안내서 구성

JCL 문법 안내서는 총 3개의 장으로 구성되어 있다.

각 장의 주요 내용은 다음과 같다.

● 제1장: JCL 개요

OpenFrame에서 사용할 수 있는 JCL을 소개하고, JCL의 기술 형식, 오퍼랜드, JCL의 시작과 종료에 대

해 기술한다.

● 제2장: OS JCL

OS JCL의 제어문, 오퍼랜드에 대해 설명한다.

● 제3장: JSS3 JCL

JSS3 JCL의 제어문, 오퍼랜드에 대해 설명한다.

viii OpenFrame JCL 문법 안내서

Page 9: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

안내서 규약

의미표기

프로그램 소스 코드의 파일명, 디렉터리<AaBbCc123>

Ctrl과 C를 동시에 누름<Ctrl>+C

GUI의 버튼 또는 메뉴 이름[Button]

강조진하게

다른 관련 안내서 또는 안내서 내의 다른 장 및 절 언급" "(따옴표)

화면 UI에서 입력 항목에 대한 설명'입력항목'

메일계정, 웹 사이트하이퍼링크

메뉴의 진행 순서>

하위 디렉터리 또는 파일 있음+----

하위 디렉터리 또는 파일 없음|----

참고 또는 주의사항참고

그림 이름[그림 1.1]

표 이름[표 1.1]

명령어, 명령어 수행 후 화면에 출력된 결과물, 예제코드AaBbCc123

필수 인수 값{ }

옵션 인수 값[ ]

선택 인수 값|

안내서에 대하여 ix

Page 10: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

시스템 사용 환경

요구 사항

IBM AIX 5.xPlatform

HP-UX 11.xx

Solaris 9 (SunOS 5.9)

Linux IA64 2.6.x

최소 120MB 하드디스크 공간Hardware

256MB 이상 메모리 공간

1GB 이상 하드디스크와 512MB 이상 메모리 공간 권장

Tibero 3.0Database

Oracle 9i 또는 10g

OpenFrame/BatchOpenFrame 제품군

x OpenFrame JCL 문법 안내서

Page 11: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

관련 안내서

설명안내서

TJES가 OpenFrame 시스템의 Batch JOB 관리하는 내용에 대해 기술

한 안내서이다.

OpenFrame

TJES 안내서

제품의 설치와 환경 설정에 대한 부분을 기술한 안내서이다.OpenFrame

Batch 설치 안내서

OpenFrame 엔진과 함께 제공되는 다양한 유틸리티 프로그램에 대해

기술된 안내서이다.

OpenFrame

유틸리티 참조 안내서

OpenFrame 데이터 셋에 대한 소개와 데이터 셋 종류 및 카탈로그 방법

등에 대해 기술한 안내서이다.

OpenFrame

데이터 셋 안내서

참고 문헌

안내서제품

Hitachi VOS3 JOB제어언어 문법서 6190-3-144-E0Mainframe

안내서에 대하여 xi

Page 12: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

연락처

Korea

TmaxSoft Co., Ltd

263 BundangSquare (AK Plaza) 12th floor, Seohyeon-dong, Bundang-gu,

Seongnam-si, Gyeonggi-do, 463-824

South Korea

Tel: +82-31-8018-1000

Fax: +82-31-8018-1115

Email: [email protected]

Web (Korean): http://www.tmax.co.kr

기술지원: http://technet.tmaxsoft.com

USA

TmaxSoft, Inc.

560 Sylvan Avenue Englewood Cliffs, NJ 07632

U.S.A

Tel: +1-201-567-8266

Fax: +1-201-567-7339

Email: [email protected]

Web (English): http://www.tmaxsoft.com

Japan

TmaxSoft Japan Co., Ltd.

5F Sanko Bldg, 3-12-16 Mita, Minato-Ku, Tokyo, 108-0073

Japan

Tel: +81-3-5765-2550

Fax: +81-3-5765-2567

Email: [email protected]

Web (Japanese): http://www.tmaxsoft.co.jp

xii OpenFrame JCL 문법 안내서

Page 13: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

China

TmaxSoft China Co., Ltd.

Beijing Silver Tower, RM 1508, 2# North Rd Dong San Huan,

Chaoyang District, Beijing, China, 100027

China

Tel: +86-10-6410-6145~8

Fax: +86-10-6410-6144

Email: [email protected]

Web (Chinese): http://www.tmaxsoft.com.cn

안내서에 대하여 xiii

Page 14: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요
Page 15: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

제1장 JCL 개요

1.1. 소개OpenFrame은 Hitachi Mainframe의 JCL에 대응하는 VOS3 JCL을 제공한다.

현재 OpenFrame에서는 다음 2종류의 VOS3 JCL을 지원한다.

● OS JCL

JOB이 실행되어 종료될 때까지를 제어하는 JCL이다.

● JSS3 JCL

JOB이 실행되기까지와 종료되고 나서 출력될 때까지를 제어하는 JCL이다.

1.2. 기술 형식본 절에서는 OS JCL와 JSS3 JCL의 기술 형식에 대해 기술한다.

1.2.1. OS JCL

다음은 OS JCL의 기술 형식이다.

[그림 1.1] OS JCL 기술 형식

설명항목

OS JCL 문장의 명칭을 지정한다. 다른 JCL 문장과 구별하거나 시스템에서

참조할 때 사용된다. 명칭을 지정할 때는 반드시 3번째 칸에서부터 기술해야

한다.

명칭(Name)

명칭은 8문자 이내의 영, 숫자이여야 하며, 1번째 문자는 반드시 영문자이어

야 한다.

제1장 JCL 개요 1

Page 16: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

주석문, 단락문, 공문에는 명칭이 없다.

OS JCL의 오퍼레이션을 지정한다. 명칭을 지정한 경우에는 명칭과 1개 이상

의 공백을 넣어야 한다. 명칭을 생략한 경우에는 4번째 칸 이후부터 기술해야

한다.

오퍼레이션(Operation)

주석문, 단락문, 공문에는 오퍼레이션이 없다.

각각의 OS JCL의 문장에 맞는 오퍼랜드를 기술한다. 각각의 오퍼랜드는 콤

마(,)로 구분한다.

오퍼랜드(Operand)

오퍼랜드는 오퍼레이션 뒤에 기술하며 그 사이에는 1개 이상의 공백을 넣어

야 한다.

주석문, 단락문, 공문, PEND 문에는 오퍼랜드가 없다.

오퍼랜드 뒤에 주석을 기술하면 그 사이에는 1개 이상의 공백을 넣어야 한다.주석(Comment)

오퍼랜드가 있는 문장(JOB 문, EXEC 문, DD 문, PROC 문)에서 오퍼랜드를

생략하면 주석을 기입할 수 없다.

공문에는 주석을 기입할 수 없다.

하나의 JCL 문장을 1줄에 기술할 수 없는 경우에는 표 다음에 기술된 방법으

로 여러 줄에 걸쳐서 기술할 수 있다.

계속(Continued operand)

주석문, 단락문, 공문에는 계속을 지정할 수 없다.

계속에 대한 자세한 내용은 표 이후에 설명한다.

73번째 칸부터 80번째 칸까지는 임의의 문자를 넣을 수 있다.임의(Ignored space)

81번째 이후 공간은 시스템에서 무시한다.

계속적 표현

다음은 오퍼랜드, 주석, 인용 캐릭터 라인을 계속적으로 표현하기 위한 방법이다.

● 오퍼랜드의 계속 1

– 71번째 칸 이전에 오퍼랜드가 콤마(,)로 끝나면 오퍼랜드의 계속이 지정된 것으로 판단한다.

– 계속되는 줄의 1번째 칸과 2번째 칸에는 "//"를 기술한다.

– 계속되는 줄에서는 명칭을 기술해서는 안된다.

– 계속하는 오퍼랜드는 4번째 칸부터 16번째 칸 사이에서 기술하기 시작한다.

2 OpenFrame JCL 문법 안내서

Page 17: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 오퍼랜드의 계속 2

– 오퍼랜드가 콤마(,)로 끝나지 않고 주석을 기술하지 않은 상태에서 72번째 칸에 공백 이외의 문자를

기술하면 오퍼랜드가 계속된 것으로 판단한다.

– 계속되는 줄의 1번째 칸과 2번째 칸에는 "//"를 기술한다.

– 계속되는 줄에서는 명칭을 기술해서는 안된다.

– 계속하는 오퍼랜드는 4번째 칸부터 16번째 칸 사이에서 기술하기 시작하고 오퍼랜드의 구분을 위한

콤마(,)가 먼저 기술되어야 한다.

● 주석의 계속

주석을 기술할 수 있는 제어문에서 오퍼랜드의 기술이 끝나고 주석이 기술할 때 72번째 칸에 공백 이외

의 문자를 기술하면 다음 줄까지 주석이 기술되는 것으로 판단한다.

● 인용 캐릭터 라인의 계속

오퍼랜드의 값이 작은 따옴표(') 로 둘러쌓여 있는 경우 값의 내용이 길어서 여러 줄에 이어서 기술하는

경우에는 작은 따옴표(') 가 없으면 계속으로 판단한다.

이후 계속되는 줄의 1번째 칸과 2번째 칸에는 "//"를 기술하고 내용은 4번째 칸부터 16번째 칸 사이에서

기술하기 시작한다.

다음은 계속적 표현의 예제이다.

● 예제 1

'오퍼랜드의 계속 1'의 규칙에 따라서 계속이 지정된 것으로 판단된다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ),

// MSGLEVEL=(1,1)

● 예제 2

콤마(,) 이후 주석을 기술해도 이와 관계없이 '오퍼랜드의 계속 1'의 규칙에 따른다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ), this is comment

// MSGLEVEL=(1,1)

● 예제 3

제1장 JCL 개요 3

Page 18: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

오퍼랜드가 콤마(,)로 끝나고 주석을 기술한 상태에서 72번째 칸에 계속 마크를 했기 때문에 '오퍼랜드

의 계속 1'과 '주석의 계속' 규칙이 만족되었다. 이런 경우에는 '오퍼랜드의 계속 1'의 규칙으로 판단한다.

따라서 다음 줄이 주석 처리되지 않고 MSGLEVEL 오퍼랜드를 인식한다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ), this is comment A

// MSGLEVEL=(1,1)

● 예제 4

오퍼랜드가 콤마(,)로 끝나지 않았지만 주석없이 계속 마크가 72번째 칸에 있기 때문에 '오퍼랜드의 계

속 2'의 규칙을 따른다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ) B

// ,MSGLEVEL=(1,1)

● 예제 5

오퍼랜드가 콤마(,)로 끝나지 않고 주석을 기술하다가 계속 마크가 72번째 칸에 기술되었기 때문에 '주

석의 계속' 규칙을 따른다. 따라서 다음 줄은 주석으로 간주되어서 MSGLEVEL=(1,1)은 주석 처리된다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ) this is comment C

// ,MSGLEVEL=(1,1)

● 예제 6

EXEC 문의 PARM 오퍼랜드의 값이 '인용 캐릭터 라인의 계속' 규칙에 따라서 계속으로 처리되었다.

PARM의 값은 'this is tmaxsoft program argument'이다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ),MSGLEVEL=(1,1)

//STEP1 EXEC PGM=TMAXSOFT,COND=(0,NE),PARM='this is tmaxsoft program a

// rgument'

● 예제 7

tmaxsoft_는 tmaxsoft 이후에 공백이 있음을 의미한다. 위와 같이 설정되면 공백까지 값으로 판단한다.

따라서 PARM의 값은 'this is tmaxsoft program argument'이다.

123-------------------------------------------------------------------72

//JOB1 JOB CLASS=A,MSGCLASS=A,COND=(0,EQ),MSGLEVEL=(1,1)

//STEP1 EXEC PGM=TMAXSOFT,COND=(0,NE),PARM='this is tmaxsoft_

// program argument'

4 OpenFrame JCL 문법 안내서

Page 19: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.2.2. JSS3 JCL

JSS3 JCL은 다음과 같이 1줄에 전부 기술해야 한다.

[그림 1.2] JSS3 JCL 기술 형식

MAIN 문이나 NET 문에 한해서 다음과 같이 계속되는 줄에 "//*"로 시작하여 2줄 이상으로 기술할 수 있다.

[그림 1.3] JSS3 JCL 기술 형식 - MAIN 문이나 NET 문

설명항목

JSS3 JCL의 오퍼레이션을 지정한다. "/*"에 이어서 3번째 칸부터 기술해야

한다.

오퍼레이션(Operation)

MAIN 문 및 NET 문의 경우 "//*"에 이어서 4번째 칸부터 기술해야 한다.

각각의 JSS3 JCL의 문장에 맞는 오퍼랜드를 기술한다. 각각의 오퍼랜드는

콤마(,)로 구분한다.

오퍼랜드(Operand)

73번째 칸부터 80번째 칸까지는 임의의 문자를 넣을 수 있다.임의(Ignored space)

81번째 칸 이후 공간은 시스템에서 무시한다.

제1장 JCL 개요 5

Page 20: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.3. 오퍼랜드JCL의 오퍼랜드를 기술하는 방식으로 위치 오퍼랜드 방식과 키워드 오퍼랜드 방식이 있다.

1.3.1. 위치 오퍼랜드

위치 오퍼랜드는 오퍼랜드의 위치가 결정되어 있어서 처음부터 몇 번째에 있는가에 따라서 해당 오퍼랜

드의 값이 지정되는 방식이다.

위치 오퍼랜드 각각의 구분은 콤마(,)로 구분한다.

값1,값2,값3

위치 오퍼랜드를 생략하는 경우에도 해당 위치를 나타내기 위해서 콤마(,)는 생략해서는 안된다.

값1,,값3

생략하려는 위치 오퍼랜드 이후로 위치 오퍼랜드가 없다면, 이후의 위치 오퍼랜드를 구분할 필요가 없기

때문에 콤마(,)를 생략할 수 있다.

값1,값2,,키워드 = 값4

값1,값2,키워드 = 값4

위치 오퍼랜드 이후로 키워드 오퍼랜드가 없다면 마지막 콤마(,)는 생략해야 한다.

값1,값2

1.3.2. 키워드 오퍼랜드

키워드 오퍼랜드는 키워드와 값이 등호(=)로 지정되는 방식이다.

키워드 = 값

키워드 오퍼랜드 각각의 구분은 콤마(,)로 구분한다. 키워드 오퍼랜드는 위치에 관계없기 때문에 키워드

오퍼랜드를 생략하는 경우에는 콤마(,)도 함께 생략한다.

키워드 오퍼랜드의 순서의 경우 EXEC 문의 PROC 오퍼랜드와 PGM 오퍼랜드를 제외하고는 순서의 의미

가 없다.

위치 오퍼랜드와 키워드 오퍼랜드가 모두 있는 경우에는 모든 위치 오퍼랜드를 먼저 기술하고 키워드 오

퍼랜드를 기술한다.

위치 오퍼랜드를 모두 생략한 경우에는 키워드 오퍼랜드 전에 콤마(,)를 지정할 필요가 없다.

6 OpenFrame JCL 문법 안내서

Page 21: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.3.3. 예제

다음은 JOB 문에 과금 식별 정보와 프로그래머명을 위치 오퍼랜드로 지정하고 CLASS와 MSGCLASS가

키워드 오퍼랜드로 지정하는 예제이다.

//JOB1 JOB A001,TMAX.PROGRAM,CLASS=A,MSGLEVEL=(1,1)

과금 식별 정보와 프로그래머명을 지정할 때 과금 식별 정보(A001)을 생략할 때는 최초의 콤마(,)는 생략

할 수 없다.

//JOB1 JOB ,TMAX.PROGRAM,CLASS=A,MSGLEVEL=(1,1)

프로그래머명(TMAX.PROGRAM)을 생략할 경우에는 위치 오퍼랜드가 더이상 존재하지 않기 때문에 생

략을 위한 콤마(,)는 지정하지 않아도 된다.

//JOB1 JOB A001,CLASS=A,MSGLEVEL=(1,1)

과금 식별 정보와 프로그래머명 모두를 생략할 때는 다음과 같이 지정할 수 있다.

//JOB1 JOB CLASS=A,MSGLEVEL=(1,1)

1.3.4. 파라미터 지정

오퍼랜드의 값이 파라미터의 리스트로 기술되어 있는 경우에도 각 파라미터에 대해서 “1.3.1. 위치 오퍼랜

드”와 “1.3.2. 키워드 오퍼랜드”에서 설명한 위치 오퍼랜드 기술 방식과 키워드 오퍼랜드 기술 방식을 따른

다.

다음은 파라미터를 지정하는 예제이다.

LABEL=(3,SL,PASSWORD,OUT,RETPD=350)

여기서 PASSWORD 위치 파라미터를 생략했을 때에는 다음과 같이 기술한다.

LABEL=(3,SL,,OUT,RETPD=350)

SL 파라미터와 RETPD 파라미터만 지정할 때는 다음과 같이 기술한다.

LABEL=(,SL,RETPD=350)

제1장 JCL 개요 7

Page 22: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.3.5. 기술 규약

본 안내서에서 오퍼랜드의 기술 규약은 다음과 같다.

● [ ] (brackets)

– 의미

이 기호로 표현된 오퍼랜드는 생략할 수 있음을 의미한다.

– 예제

다음과 같이 기술되어 있다면 그 다음 설명된 4가지 경우가 가능하다.

A[,B][,C]

• A

• A,B

• A,C

• A,B,C

● { } (braces)

– 의미

이 기호로 표현된 오퍼랜드는 세로의 항목 중 1개의 항목을 선택하는 것을 의미한다.

– 예제

다음과 같이 기술되어 있다면 그 다음 설명된 2가지 경우가 가능하다.

{B}

{C}

• B

• C

● | (vertical bar)

– 의미

이 기호로 구분되어 있으면 구분되는 항목 중 1개의 항목을 선택하는 것을 의미한다.

8 OpenFrame JCL 문법 안내서

Page 23: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 예제

다음과 같이 기술되어 있다면 그 다음 설명된 2가지 경우가 가능하다.

{ PS | PSU }

• PS

• PSU

● Bold

– 의미

선택 기호 { } 안의 어떤 값도 기술하지 않았을 경우 디폴트로 사용되는 기본값을 의미한다.

– 예제

다음과 같이 기술되어 있다면 FREE 파라미터가 생략될 경우 FREE=END가 지정된다.

FREE = {END | CLOSE}

● ... (ellipsis)

이 기호의 직전에 나타나고 있는 항목을 반복해서 지정할 수 있는 것을 의미한다.

● 지정값 타입

다음은 오퍼랜드에 지정할 수 있는 지정값 타입에 대한 설명이다.

– 숫자

0|1|2|3|4|5|6|7|8|9의미

0,1,9예제

– 영문자

A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z|$|#|@의미

C,J,@,$예제

– 특수 문자

숫자, 영문자를 제외한 임의의 문자로, 특수 문자 중에 , , ' , = , ( , ) ,공백에 대해서는

작은 따옴표(')로 둘러싸서 기술해야한다.

의미

, , . , / , ' , ( , ) , * , & , + , - , = , 공백예제

제1장 JCL 개요 9

Page 24: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 영,숫자

영문자, 숫자, 또는 영문자와 숫자의 조합이다.의미

A,7,A56,8X,ABC,997예제

– 부호없는 정수

부호가 없는 숫자 또는 부호가 없는 숫자의 조합이다.의미

01,375예제

– 정수

부호가 붙어 있어도 되는 숫자 또는 숫자의 조합이다.의미

99,+76,-143예제

– 특수 캐릭터 라인

영, 숫자, 특수 문자 또는 영, 숫자와 특수 문자의 조합이다.의미

32 A5,*315'?&A예제

– 인용 캐릭터 라인

<영, 숫자> | '<특수 캐릭터 라인>' 특수 캐릭터 라인에 작은 따옴표(')가 있다면 이것

은 2개를 연속으로 지정해야 시스템에서 하나의 작은 따옴표(')로 간주한다.

의미

ampersand(&)의 경우도 2개가 연속으로 지정되어 있으면 하나의 ampersand(&)로

간주한다. ampersand(&)는 1개만 지정되어 있어도 한 문자의 ampersand(&)로 간주

한다.

인용 캐릭터 라인이 작은 따옴표(')로 둘러싸여 있을 때 문자수에는 작은 따옴표(')는

포함되지 않는다.

'5&23' '8=/' 'A''B' ,8X3B예제

– 기호명칭

영문자로 시작되는 8문자 이내의 영,숫자의 조합이다.의미

Z7@, LMN, A123BC예제

10 OpenFrame JCL 문법 안내서

Page 25: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.4. JCL본 절에서는 JCL에서 사용되는 JOB의 시작과 종료 및 기술 순서에 대해 설명한다.

1.4.1. JOB의 시작과 종료

다음은 JOB의 시작과 종료이다.

● JOB의 시작

JOB 문 또는 PRIORITY 문이 JOB 문 직전에 있는 경우는 이 PRIORITY 문이 JOB의 시작이다.

● JOB의 종료

공문, 다음 JOB의 시작을 나타내는 JOB 문, 또는 PRIORITY 문이 JOB의 종료이다.

입력 스트림 중 마지막 JOB인 경우에는 입력 스트림의 마지막이 JOB의 종료이다.

JOB에는 1개 이상의 STEP이 있어야 한다. 즉, JOB 문과 다음 JOB 문의 사이에는 하나 이상의 EXEC 문

이 존재해야 한다.

다음은 JOB STEP의 시작과 종료이다.

● JOB STEP의 시작

EXEC 문의 시작이 JOB STEP의 시작이다.

● JOB STEP의 종료

다음 JOB STEP의 시작을 나타내는 EXEC 문이 JOB STEP의 종료이다.

JOB의 마지막 STEP인 경우에는 JOB의 종료와 JOB STEP의 종료가 동일하다.

제1장 JCL 개요 11

Page 26: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

1.4.2. 기술 순서

JOB STEP은 각각의 JOB 범위 내에 기술하여야 한다. 따라서 EXEC 문은 JOB 문의 뒤에 기술한다.

OS JCL의 기술 순서

다음은 OS JCL의 기술 순서이다.

1. JOB 문

JOB의 시작을 의미한다. 단, PRIORITY 문이 있는 경우에는 PRIORITY 문의 뒤에 기술한다.

2. EXEC 문

EXEC 문은 다음 3가지로 나뉜다.

● 프로시저 내에 기술되지 않은 경우

JOB 문, JOBLIB DD 문, JOBCAT DD 문의 다음에, 각 JOB STEP의 선두에 기술한다.

● 입력 스트림 프로시저 내에 기술된 경우

PROC 문의 다음에, 각 프로시저 STEP의 선두에 기술한다.

● 카탈로그 프로시저 내에 기술된 경우

각 프로시저 STEP의 선두에, PROC 문이 있을 때에는 PROC 문 다음에 기술한다.

3. DD 문

DD 문은 다음 2가지로 나뉜다.

● JOBLIB DD 문, JOBCAT DD 문

JOB 문의 바로 다음에, 최초의 JOB STEP을 정의하는 EXEC 문의 전에 기술한다. 단, JOB 문과 해

당 DD 문 사이에 JSS3 JCL은 기술 가능하다.

● 이외의 DD 문

EXEC 문 다음에 기술한다.

4. 단락문

SYSIN 데이터 셋의 마지막에 기술한다.

5. 공문

JOB의 마지막에 기술한다. 입력 스트림 프로시저나 카탈로그 프로시저에는 기술할 수 없다.

12 OpenFrame JCL 문법 안내서

Page 27: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

6. 주석문

JOB의 범위 내에서는 어디라도 관계없다. 단, Instream 데이터 셋 내에는 지정해서는 안된다.

7. PROC 문

PROC 문은 다음 2가지로 나뉜다.

● 입력 스트림 프로시저 중

각 입력 스트림 프로시저의 선두에 기술한다. JOB 문의 다음에 입력 스트림 프로시저를 호출하는

JOB STEP 전에 기술한다.

● 카탈로그 프로시저 중

카탈로그 프로시저의 선두에 기술한다.

8. PEND 문

각 입력 스트림 프로시저의 마지막에 기술한다.

JSS3 JCL의 기술 순서

다음은 JSS3 JCL의 기술 순서이다.

1. PRIORITY 문

JOB 문의 직전에 기술한다.

2. XEQ 문

JOB 문으로부터 OS JCL의 사이에 기술한다.

3. JOBPARM 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

4. MESSAGE 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

5. SETUP 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

6. OUTPUT 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

제1장 JCL 개요 13

Page 28: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

7. ROUTE 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

8. MAIN 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

9. NET 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

10. ADMIT 문

JOB 문의 다음에 JOB 범위 내에서는 어디라도 관계없다.

11. JSS3 커맨드문

입력 스트림의 선두에 기술한다.

14 OpenFrame JCL 문법 안내서

Page 29: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

제2장 OS JCL

2.1. JOB 문JOB의 시작을 의미하고, JOB의 속성을 기술한다.

2.1.1. SYNTAX

//JOB 이름△¹JOB△¹위치 오퍼랜드[,키워드 오퍼랜드]...△¹[주석]

//JOB 이름△¹JOB

설명항목

명칭 기술 위치로, "//"에 이어서 3번째 칸부터 기술한다.JOB 이름

JOB 이름은 생략할 수 없으며 기호명칭으로 한다.

오퍼레이션 기술 위치로, JOB 이름 뒤에 1개 이상의 공백을 두고 'JOB'이라

고 기술한다.

JOB

'JOB' 이후에 1개 이상의 공백을 두고 오퍼랜드를 기술하며 모든 위치 오퍼

랜드를 먼저 기술하고 이후에 키워드 오퍼랜드를 기술한다. 오퍼랜드에 대한

자세한 내용은 표 이후에 설명한다.

위치 오퍼랜드[,키워드 오

퍼랜드]

오퍼랜드란 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째 칸까지

기술할 수 있다.

[주석]

모든 오퍼랜드를 생략한 경우에는 주석을 기술할 수 없다.

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서는 문법 오류만 검

사하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 위치 오퍼랜드

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

● 키워드 오퍼랜드

– ADDRSPC

제2장 OS JCL 15

Page 30: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

ADDRSPC = 값

– CLASS

JOB CLASS를 지정한다.

CLASS = job class

설명항목

A~Z, 0~9 사이의 1문자로 지정한다.job class

– COND

JOB STEP 종료 후 반환코드와 비교하여 이후 STEP의 실행여부를 결정하는 조건을 지정한다. 조건

이 만족되어 이후 STEP의 실행없이 종료하면 이 JOB은 에러로 처리된다.

COND = ((코드,연산 부호),...)

설명항목

부호없는 정수로 지정한다.코드

EQ|NE|GT|GE|LT|LE 중 지정한다.연산 부호

– DPRTY

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

DPRTY = 값

– GROUP

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

GROUP = 값

– IAP

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

IAP = 값

– ICODE

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

ICODE = 값

16 OpenFrame JCL 문법 안내서

Page 31: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– MSGCLASS

시스템 메시지가 출력되는 데이터 셋의 출력 클래스를 지정한다. OpenFrame에서는 DD 문의

"SYSOUT=*"을 지정하는 경우 적용되는 용도로만 사용된다.

MSGCLASS = class

설명항목

A~Z, 0~9 사이의 1문자로 지정한다.class

– MSGLEVEL

JOB의 시스템 메시지의 출력 레벨을 지정한다. OpenFrame에서는 2번째 파라미터만 사용한다.

MSGLEVEL = ([값][,{0}])

{1}

설명항목

시스템 메시지의 출력 레벨을 지정한다.[{0} {1}]

– NOTIFY

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

NOTIFY = 값

– OPSET

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

OPSET = 값

– PASSWORD

비밀번호를 지정한다.

PASSWORD = (password[,값])

설명항목

8자리 이내의 영, 숫자로 지정한다.password

– PERFORM

JOB이 실행 중에 속하는 퍼포먼스 그룹을 지정한다. OpenFrame에서는 config에 등록된 퍼포먼스

그룹 번호에 따른 NICE 값으로 변경시킨다.

제2장 OS JCL 17

Page 32: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

PERFORM = 퍼포먼스 그룹 번호

설명항목

1~255의 부호없는 정수로 지정한다.퍼포먼스 그룹

번호

– PRTY

JOB의 우선순위를 지정한다.

PRTY = 우선순위

설명항목

1~15의 부호없는 정수로 지정한다.우선순위

– RD

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

RD = 값

– REGION

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

REGION = 값

– RESTART

JOB의 재시작 STEP을 지정한다.

RESTART = ({*} [,값])

{STEP 이름}

설명항목

재시작 STEP이 1번째 STEP인 것을 의미한다.asterisk(*)

기호명칭으로 지정한다.STEP 이름

– STZ

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

STZ = 값

– SWALOC

18 OpenFrame JCL 문법 안내서

Page 33: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

SWALOC = 값

– TYPRUN

JOB의 실행 형태를 지정한다. OpenFrame에서는 HOLD, JCLHOLD, SCAN만을 지원한다. COPY나

JSPECAID가 지정된 경우는 TYPRUN을 지정하지 않는 것과 동일하게 작동한다.

TYPRUN = {COPY}

{HOLD}

{JCLHOLD}

{SCAN}

{JSPECAID}

설명항목

JOB을 HOLD 상태로 지정한다.HOLD

JOB을 JCLHOLD 상태로 지정한다.JCLHOLD

JOB을 실행하지 않고 SCAN만 하는 것을 지정한다.SCAN

– USER

사용자를 지정한다.

USER = user

설명항목

8자리 이내의 기호명칭으로 지정한다.user

2.1.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

CLASS

JOB CLASS를 지정한다.

● 기능

JOB 문에 지정된 CLASS는 해당 JOB의 스케줄링에 관여된다. TJES에서는 각각의 노드별로 Runner

Slot들을 설정한다. 그리고 Runner Slot들은 각각 자신이 실행할 수 있는 CLASS들이 지정되어있다.

제2장 OS JCL 19

Page 34: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

TJES 스케줄러는 SUBMIT된 JOB의 CLASS에 맞는 Runner Slot이 비어있으면 해당 JOB을 실행하도

록 한다.

TJES에서는 CLASS별로 설정을 하여 SUBMIT된 JOB을 START나 HOLD 상태로 설정할 수 있다. 예를

들어 A CLASS를 START, B CLASS를 HOLD로 설정하면 A CLASS로 지정한 JOB은 SUBMIT 후 START

상태가 되고 B CLASS로 지정한 JOB은 SUBMIT 후 HOLD 상태가 된다. 설정이 되어 있지 않는 CLASS

로 SUBMIT한 JOB은 START 상태가 된다. JOB 문의 TYPRUN 오퍼랜드를 통해서 JCLHOLD나 HOLD

를 지정한 경우에는 이 CLASS별 설정과 관계없이 HOLD 상태가 된다.

참고

1. 스케줄링에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"를 참고한다.

2. Runner Slot의 설정에 대한 내용은 tjes.conf 파일의 [INITDEF] 절을 참고한다.

3. CLASS별 설정에 대한 내용은 tjes.conf 파일의 [JOBCLASS] 절을 참고한다.

● 사용법

CLASS = job class

설명항목

JOB의 스케줄링에 사용되는 클래스를 A~Z, 0~9 사이의 1문자로 지정한다.job class

● 주의사항

JOB 문에서 이 오퍼랜드를 생략한 경우 JOB의 CLASS는 tjclrun.conf 파일 [JOB] 절의 CLASS 지정에

따른다.

참고

config에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 예제

다음은 JOB CLASS를 A로 지정하는 예제이다.

//JOB1 JOB CLASS=A

20 OpenFrame JCL 문법 안내서

Page 35: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

COND

JOB STEP 종료 후 반환코드와 비교하여 이후 STEP의 실행여부를 결정하는 조건을 지정한다. 조건이 만

족되어 이후 STEP의 실행없이 종료하면 이 JOB은 에러로 처리된다.

● 기능

COND 오퍼랜드가 지정되어 있으면 매 STEP이 종료될 때마다 STEP의 반환코드와 지정된 코드를 비

교한다. 조건이 맞으면 이 JOB은 이후의 STEP들을 처리하지 않고 에러로 종료된다. 이 경우 EXEC 문

의 COND를 통한 STEP별 실행여부를 고려하지 않는다.

COND 오퍼랜드에 지정된 조건이 여러 개인 경우 지정된 조건들 중에 하나라도 만족하게 되면 COND

조건은 만족된 것으로 판단한다.

COND 오퍼랜드의 처리와 유사하게 OpenFrame에서는 config의 rc.conf 파일을 통한 STEP의 반환코

드를 검사하여 에러 처리하는 기능이 있다. UNIX로 리호스팅하면서 실행되는 프로그램들의 반환코드

가 Mainframe에서와 다르게 나올 수가 있기 때문에 STEP의 에러 여부를 유연하게 판단하기 위해 rc.conf

파일을 사용하게 되었다. rc.conf 파일을 통해서 JOB이 에러로 처리되는 경우에는 EXEC 문의 COND를

통한 실행여부를 고려한다.

COND 오퍼랜드를 먼저 검사하고 이후에 rc.conf 파일을 검사한다.

참고

rc.conf 파일에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 사용법

COND = ((코드,연산 부호),...)

설명항목

JOB STEP의 반환코드와 비교할 조건코드를 부호없는 정수로 지정한다.코드

다음 연산 부호 중 원하는 값을 지정한다.연산 부호

- EQ : 코드가 반환코드와 같다.

- NE : 코드가 반환코드와 다르다.

- GT : 코드가 반환코드보다 크다.

- GE : 코드가 반환코드보다 크거나 같다.

- LT : 코드가 반환코드보다 작다.

- LE : 코드가 반환코드보다 작거나 같다.

제2장 OS JCL 21

Page 36: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 주의사항

조건 파라미터는 최대 8개까지 유효하며, 9번째 이상의 조건 파라미터는 무시된다. 조건 파라미터를 1

개만 지정한 경우에는 가장 밖에 있는 괄호를 생략할 수 있다.

JOB 문과 EXEC 문에 COND가 지정되어 있을 때 JOB 문의 COND가 만족되면 EXEC 문의 COND는

고려되지 않는다.

COND 오퍼랜드의 값은 문법 검사할 때 검사하지 않는다.

● 예제

다음은 반환코드가 0일 때만 JOB이 계속 실행되도록 지정하는 예제이다.

//JOB1 JOB COND=(0,NE)

다음은 반환코드가 4,8,12일 때만 JOB을 종료하도록 지정하는 예제이다.

//JOB1 JOB COND=((4,EQ),(8,EQ),(12,EQ))

다음은 반환코드가 0~12일 때만 JOB이 계속 실행되도록 지정하는 예제이다.

//JOB1 JOB COND=(12,LT)

다음은 반환코드가 4~12일 때만 JOB이 계속 실행되도록 지정하는 예제이다.

//JOB1 JOB COND=((4,GT),(12,LT))

MSGCLASS

JOB 내의 DD 문에서 SYSOUT=* 을 지정할 때 "*"의 값을 지정한다.

● 사용법

MSGCLASS = class

설명항목

출력 클래스를 A~Z, 0~9 사이의 1문자로 지정한다.class

● 주의사항

JOB 문에서 이 오퍼랜드를 생략한 경우 MSGCLASS는 tjclrun.conf 파일 [JOB] 절의 MSGCLASS 지정

에 따른다.

22 OpenFrame JCL 문법 안내서

Page 37: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

참고

config에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 예제

다음은 MSGCLASS를 Z로 지정하는 예제이다.

//JOB1 JOB 8493,KIM,MSGCLASS=Z

MSGLEVEL

JOB의 시스템 메시지의 출력 레벨을 지정한다.

● 사용법

MSGLEVEL = ([값][,{0}])

{1}

설명항목

시스템 메시지의 출력 레벨을 지정한다.[{0} {1}]

- 0 : 시스템 메시지 중 에러 메시지만을 출력한다.

- 1 : 시스템 메시지 중 에러 메시지와 함께 데이터 셋의 LOCK, ALLOCATE 등의 정보

메시지를 출력한다.

● 주의사항

JOB 문에서 이 오퍼랜드를 생략한 경우 MSGLEVEL은 tjclrun.conf 파일 [JOB] 절의 MSGLEVEL 지정

에 따른다.

참고

config에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 예제

다음은 MSGCLASS를 Z, MSGLEVEL을 1,0으로 지정하는 예제이다.

//JOB1 JOB MSGCLASS=Z,MSGLEVEL=(1,0)

제2장 OS JCL 23

Page 38: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

PASSWORD

비밀번호를 지정한다.

● 기능

JOB 문의 USER 오퍼랜드와 함께 사용된다. 따라서 USER 오퍼랜드를 지정하지 않으면 오퍼랜드는 무

시된다.

USER 오퍼랜드를 지정하고 이 오퍼랜드를 지정하지 않으면 시스템은 TACF 대리자 기능을 사용하는

것으로 판단한다.

참고

TACF 대리자 기능에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "3.1.13 보안"을

참고한다.

● 사용법

PASSWORD = (password[,값])

설명항목

OpenFrame 보안 모듈인 TACF의 사용자에 대한 비밀번호를 지정한다.password

password는 8자리 이내의 영, 숫자로 지정한다.

● 예제

다음은 USER을 KIM으로 지정하고, PASSWORD를 tmaxsoft로 지정하는 예제이다.

//JOB1 JOB USER=KIM,PASSWORD=tmaxsoft

다음은 USER을 KIM으로 지정하고 PASSWORD를 지정하지 않아서 TACF 대리자 기능을 사용하는 예

제이다.

//JOB1 JOB USER=KIM

24 OpenFrame JCL 문법 안내서

Page 39: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

PERFORM

JOB이 실행 중에 속하는 퍼포먼스 그룹을 지정한다. OpenFrame에서는 config에 등록된 퍼포먼스 그룹

번호에 따른 NICE 값으로 변경시킨다.

● 기능

OpenFrame에서는 퍼포먼스 그룹 번호를 UNIX의 NICE 값으로 치환해서 사용한다.

오퍼랜드가 지정되면 Runner는 퍼포먼스 그룹 번호를 NICE 값으로 치환시켜서 STEP 프로그램의 NICE

값을 변경시킨다.

JOB 문에도 PERFORM이 지정되어 있고 STEP 문에도 PERFORM이 지정되어 있다면 해당 STEP에서

는 해당 STEP의 PERFORM 설정을 따르고 나머지 STEP에서는 JOB의 PERFORM 설정을 따른다.

● 사용법

PERFORM = 퍼포먼스 그룹 번호

설명항목

1~255의 부호없는 정수로 퍼포먼스 그룹 번호를 지정한다.퍼포먼스 그룹

번호

● 주의사항

PERFORM 오퍼랜드를 NICE 기능으로 대체해서 사용하고자 한다면 tjclrun.conf 파일 [PERFORM] 절

의 USE_PERFORM을 YES로 설정해야 한다.

또한 NICE의 값을 변경시키는 것은 슈퍼유저의 권한을 필요로 하므로 Runner에 setuid 설정을 함께 해

야 한다.

참고

1. PERFORM 오퍼랜드의 사용 여부 및 퍼포먼스 그룹 번호의 NICE 값 치환에 대해서는 "TJES 안내

서"의 "7.5 TJCLRUN 설정" [PERFORM] 부분을 참고한다.

2. setuid 설정에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제3장 JOB Execution"에서

setuid root tjclrun 부분을 참고한다.

● 예제

다음은 PERFORM을 100으로 지정하는 예제이다.

//JOB1 JOB PERFORM=100

제2장 OS JCL 25

Page 40: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

PRTY

JOB의 우선순위를 지정한다.

● 기능

JOB의 우선순위는 JOB CLASS와 함께 스케줄링에 사용되며 숫자가 높을수록 우선순위가 높다.

스케줄러에서는 동일 CLASS를 가진 JOB들이 있을 때 이 오퍼랜드의 값에 따라서 어떤 JOB을 먼저 실

행할지를 결정한다.

동일한 우선순위를 가질 때는 먼저 SUBMIT된 JOB이 실행된다. JOB의 우선순위는 Aging 정책에 따라

서 시간이 지날수록 높아진다.

참고

우선순위에 관한 config는 tjes.conf 파일의 [SCHEDULING] 절을 참고한다.

● 사용법

PRTY = 우선순위

설명항목

1~15의 부호없는 정수로 JOB의 우선순위를 지정한다.우선순위

● 주의사항

이 오퍼랜드를 사용하기 위해서는 tjes.conf 파일 [SCHEDULING] 절의 PRTYJOB을 YES로 설정해야

한다.

● 예제

다음은 PRTY를 5로 지정하는 예제이다.

//JOB1 JOB PRTY=5

26 OpenFrame JCL 문법 안내서

Page 41: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

RESTART

JOB의 재시작 STEP을 지정한다.

● 기능

해당 JOB이 어떤 이유로 실행 중에 종료되어서 나중에 다시 이 JOB을 실행할 때 중간에서부터 시작하

고 싶을 때 지정하는 오퍼랜드이다.

이 오퍼랜드의 값을 지정하면 JOB은 지정된 STEP에서부터 실행한다. 해당하는 STEP 이름이 여러 개

있을 때는 가장 먼저 나오는 STEP에서 시작한다.

존재하지 않는 STEP을 적용하면 FLUSH가 발생한다.

● 사용법

RESTART = ({*} [,값])

{STEP 이름}

설명항목

재시작 STEP이 1번째 STEP인 것을 의미한다.asterisk(*)

재시작 STEP의 이름을 지정한다. 이름은 8자리 이내의 기호명칭으로 지정한다.STEP 이름

● 예제

다음은 RESTART를 asterisk(*)로 지정하는 예제이다.

//JOB1 JOB RESTART=*

다음은 RESTART를 STEP3으로 지정하는 예제이다.

//JOB1 JOB RESTART=STEP3

제2장 OS JCL 27

Page 42: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

TYPRUN

JOB의 실행 형태를 지정한다. OpenFrame에서는 HOLD, JCLHOLD, SCAN만을 지원한다.

● 기능

JCL이 SUBMIT되는 과정은 다음과 같다.

1. JCL을 입력받는다.

2. 입력받은 JCL의 기본 문법 검사를 하는 JCL 파싱 처리를 한다.

기본 문법 검사에서는 JOB 제어문의 위치에 대한 체크, 각각 제어문에 맞는 키워드 체크, 해당 키워

드에 넣을 수 있는 값에 대한 체크, 계속 지정에 대한 체크가 포함된다.

3. 입력받은 JCL에서 사용하는 프로시저를 SPOOL에 COPY하고 그 프로시저의 기본 문법 검사를 하

는 컨버전 처리를 한다.

4. 스케줄링 처리를 한다.

● 사용법

TYPRUN = {COPY}

{HOLD}

{JCLHOLD}

{SCAN}

{JSPECAID}

OpenFrame에서는 HOLD, JCLHOLD, SCAN만을 지원한다.

설명항목

JCL 파싱 처리와 컨버전까지만 처리하고 스케줄링 처리는 하지 않은 상태로 HOLD

상태가 된다.

HOLD

TJESMGR의 PS 또는 PSJOB 명령어를 통해서 확인할 수 있다.

스케줄링 처리를 하려면 TJESMGR의 START 명령어를 통해서 변경할 수 있다.

JCL 파싱 처리만 하고 JCLHOLD 상태가 된다.JCLHOLD

JOB의 [W]HOLD 상태로 TJESMGR의 PS 또는 PSJOB 명령어나 OpenStudio의 BM

에서 확인할 수 있다.

컨버전 처리와 스케줄링 처리를 하려면 TJESMGR의 START 명령어를 통해서 변경

할 수 있다.

JCL 파싱 처리와 컨버전까지 처리하고 스케줄링 처리를 하지 않은 상태로 결과 리포

트를 SYSMSG에 기록한 후 DONE으로 종료된다.

SCAN

28 OpenFrame JCL 문법 안내서

Page 43: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

이 오퍼랜드는 JOB의 SUBMIT을 통과하는 검사만 하고 실제 스케줄링은 하지 않도

록 지정하는 것이다.

● 주의사항

TYPRUN 오퍼랜드가 지정되지 않으면 JCL은 모든 SUBMIT 과정을 거쳐 스케줄링 처리가 된다.

● 예제

다음은 TYPRUN을 SCAN으로 지정하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A,TYPRUN=SCAN

//STEP1 EXEC PGM=JDJDUMMY

//SYSOUT DD SYSOUT=*

//

다음은 SYSMSG에 기록된 결과 리포트이다.

------------------------------------------------------------------------------

** JCL SCAN start **

------------------------------------------------------------------------------

1 //JOB1 JOB CLASS=A,MSGCLASS=A,TYPRUN=SCAN

2 //STEP1 EXEC PGM=JDJDUMMY

3 //SYSOUT DD SYSOUT=*

//

------------------------------------------------------------------------------

** JCL SCAN finish **

------------------------------------------------------------------------------

다음은 TYPRUN을 SCAN으로 지정하고 JCL 파싱 처리에서 에러가 발생하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A,TYPRUN=SCAN

//STEP1 EXEC PGM=JDJDUMMY, this comma is wrong.

//SYSOUT DD SYSOUT=*

//

다음은 SYSMSG에 기록된 결과 리포트이다.

1 //JOB1 JOB CLASS=A,MSGCLASS=A,TYPRUN=SCAN

2 //STEP1 EXEC PGM=JDJDUMMY, this comma is wrong.

3 //SYSOUT DD SYSOUT=*

//

Syntax Error [Line:2;Column: ;Keyword: ;Message:Expected continuation not received]

제2장 OS JCL 29

Page 44: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

USER

사용자를 지정한다.

● 기능

이 오퍼랜드는 PASSWORD 오퍼랜드인 비밀번호와 함께 사용해서 TACF에 사용자 인증 및 자원에 대

한 사용 권한을 체크하는 용도로 사용한다.

JCL을 SUBMIT하면 시스템은 TACF에 사용자에 대한 인증 체크를 한다. USER 오퍼랜드가 지정되어

있다면 PASSWORD 오퍼랜드의 비밀번호와 함께 인증 체크(실행 user)를 하고 USER 오퍼랜드가 지

정되어 있지 않다면 시스템은 JCL을 SUBMIT한 USER로 TACF에 사용자 인증 체크(SUBMIT user)를

한다.

이 오퍼랜드를 지정하고 PASSWORD 오퍼랜드를 지정하지 않으면 시스템은 TACF 대리자 기능을 사

용하여 사용자 인증 체크(대리 user)를 한다.

Runner에서는 사용자 인증이 된 실행 user, SUBMIT user 또는 대리 user로 사용 권한을 체크한다. 사

용 권한 체크를 하게 되는 리소스는 JOB에서 사용하는 모든 데이터 셋과 모든 프로그램들이다. 사용자

가 특정 리소스에 대해서 권한 체크를 하려면 대상 리소스를 TACF에 등록해야 한다. 그 리소스가 데이

터 셋이면 DATASET CLASS에, 프로그램이면 UTILITY CLASS에 등록한다.

참고

TACF 대리자 기능에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "3.1.13 보안"을

참고한다.

● 사용법

USER = user

설명항목

OpenFrame 보안 모듈인 TACF의 사용자를 지정한다. user는 8자리 이내의 기호명칭

으로 지정한다.

user

● 주의사항

DATASET과 UTILITY에 관한 사용 권한의 체크 여부는 tjclrun.conf 파일의 [TACF] 절을 통해서 지정한

다.

● 예제

다음은 USER을 KIM으로 지정하고, PASSWORD를 tmaxsoft로 지정하는 예제이다.

//JOB1 JOB USER=KIM,PASSWORD=tmaxsoft

30 OpenFrame JCL 문법 안내서

Page 45: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 USER을 KIM으로 지정하고, PASSWORD를 지정하지 않아서 TACF 대리자 기능을 사용하는

예제이다.

//JOB1 JOB USER=KIM

2.2. EXEC 문STEP의 시작을 나타내고, 그 STEP의 속성을 기술한다.

2.2.1. SYNTAX

//STEP 이름△¹EXEC△¹위치 오퍼랜드[,키워드 오퍼랜드]...△¹[주석]

설명항목

명칭 기술 위치로, "//"에 이어서 3번째 칸부터 기술한다.STEP 이름

STEP 이름을 생략하면 시스템은 임의의 STEP 이름으로 설정한다. 임의의

STEP 이름은 $S00000$에서 1씩 증가시키며 생성된다.

STEP 이름은 JOB 내에서 유일한 이름이 되도록 한다. 유일하지 않을 경우

의도하지 않은 STEP을 참조하게 되거나 참조를 하지 못할 수 있다.

STEP 이름은 8자리 이내의 영, 숫자이어야 하며 1번째 문자는 영문자이어야

한다.

오퍼레이션 기술 위치로, STEP 이름 뒤에 1개 이상의 공백을 두고 'EXEC'라

고 기술한다.

EXEC

'EXEC' 이후에 1개 이상의 공백을 두고 오퍼랜드들을 기술하며 위치 오퍼랜

드를 먼저 기술하고 이 후에 키워드 오퍼랜드들을 기술한다. 오퍼랜드 사이

위치 오퍼랜드[,키워드 오

퍼랜드]

의 구분은 콤마(,)로 한다. 오퍼랜드에 대한 자세한 내용은 표 이후에 설명한

다.

오퍼랜드란 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째 칸까지

기술할 수 있다.

[주석]

모든 오퍼랜드를 생략한 경우에는 주석을 기술할 수 없다.

제2장 OS JCL 31

Page 46: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서 문법 오류만 검사

하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 위치 오퍼랜드

STEP 문의 위치 오퍼랜드는 PGM, PROC, 프로시저 이름 중 하나만 기술한다. PGM과 PROC 오퍼랜

드는 키워드 오퍼랜드 형태이지만 위치 오퍼랜드처럼 모든 키워드 오퍼랜드들 앞에 기술해야 한다.

– PGM

STEP에서 실행할 프로그램명을 지정한다.

PGM = 프로그램명

설명항목

특수 캐릭터 라인으로 지정한다.프로그램명

– PROC

STEP에서 실행할 프로시저명을 지정한다.

{PROC = 프로시저명}

{프로시저명}

설명항목

기호명칭으로 지정한다.프로시저명

● 키워드 오퍼랜드

– ADDRSPC

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

ADDRSPC[.프로시저 STEP 이름] = 값

– ACCT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

ACCT[.프로시저 STEP 이름] = 값

– COND

해당 STEP을 실행할지, 스킵할지 여부를 결정하는 조건을 지정한다.

32 OpenFrame JCL 문법 안내서

Page 47: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

COND[.프로시저 STEP 이름]=

((코드,연산 부호[,STEP 이름[.프로시저 STEP 이름]]) )

([,(코드,연산 부호[,STEP 이름[.프로시저 STEP 이름]])]...)

([,EVEN] )

([,ONLY] )

설명항목

기호명칭으로 지정한다.프로시저 STEP 이름

부호없는 정수로 지정한다.코드

EQ|NE|GT|GE|LT|LE 중 원하는 값으로 지정한다.연산 부호

기호명칭으로 지정한다.STEP 이름

– DPRTY

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DPRTY[.프로시저 STEP 이름] = 값

– DYNAMNBR

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DYNAMNBR[.프로시저 STEP 이름] = 값

– IAP

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

IAP[.프로시저 STEP 이름] = 값

– JSPEC

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

JSPEC[.프로시저 STEP 이름] = 값

– OPSET

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

OPSET[.프로시저 STEP 이름] = 값

– PARM

STEP에서 실행하게 될 해당 프로그램의 파라미터를 지정한다.

PARM[.프로시저 STEP 이름] = 파라미터값

제2장 OS JCL 33

Page 48: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

기호명칭으로 지정한다.프로시저 STEP 이름

인용 캐릭터 라인으로 지정한다.파라미터값

– PERFORM

STEP이 실행 중에 속하는 퍼포먼스 그룹을 지정한다. OpenFrame에서는 config에 등록된 퍼포먼스

그룹 번호에 따른 NICE 값으로 변경시킨다.

PERFORM[.프로시저 STEP 이름] = 퍼포먼스 그룹 번호

설명항목

기호명칭으로 지정한다.프로시저 STEP 이름

1~255의 부호없는 정수로 지정한다.퍼포먼스 그룹 번호

– RD

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

RD[.프로시저 STEP 이름] = 값

– REGION

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

REGION[.프로시저 STEP 이름] = 값

– TIME

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.

TIME[.프로시저 STEP 이름] = 값

– 기호 파라미터

STEP에서 실행하는 프로시저의 기호 파라미터의 값을 지정한다.

기호 파라미터 = [값]

설명항목

인용 캐릭터 라인으로 지정한다.값

34 OpenFrame JCL 문법 안내서

Page 49: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

2.2.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

PGM

STEP에서 실행할 프로그램명을 지정한다.

● 기능

이 오퍼랜드는 해당 STEP에서 실행할 프로그램을 지정한다. 지정할 수 있는 프로그램은 UNIX에서 실

행할 수 있는 모든 Excutable 바이너리들이다.

만약 프로그램이 Shared Object로 되어 있다면 해당 프로그램은 직접 실행이 되지 않으므로 PGMRTS00

이라는 유틸리티를 통해서 실행할 수 있다. PGMRTS00 유틸리티를 이용할지의 여부는 tjclrun.conf 파

일 [PGM] 절의 USE_PRMRTS00 설정을 통해서 지정할 수 있다.

참고

1. PGMRTS00에 대한 자세한 내용은 OpenFrame 안내서 중 "유틸리티 안내서"를 참고한다.

2. config에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한

다.

제2장 OS JCL 35

Page 50: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

프로그램명을 기술하면 해당 프로그램을 다음과 같은 순서로 검색한다.

[그림 2.1] 실행프로그램의 지정

1. STEPLIB DD가 STEP에 지정되어 있다면 지정된 데이터 셋의 멤버 중에서 검색한다.

2. STEPLIB DD가 STEP에 지정되어 있지 않고 JOBLIB DD가 JOB에 지정되어 있다면 지정된 데이터

셋의 멤버 중에서 검색한다.

3. tjclrun.conf 파일의 [SYSLIB] 절에 BIN_PATH가 설정되어 있다면 BIN_PATH에 설정된 디렉터리에

서 검색한다.

4. tjclrun.conf 파일의 [SYSLIB] 절에 BIN_PATH가 설정되어 있지 않다면 obmjinit 서버가 기동될 때의

환경 변수 PATH에 설정된 디렉터리에서 검색한다.

● 사용법

PGM = {프로그램명}

설명항목

STEP에서 실행할 프로그램명을 특수 캐릭터 라인으로 지정한다.프로그램명

● 주의사항

36 OpenFrame JCL 문법 안내서

Page 51: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

EXEC 문의 오퍼랜드 중에 가장 먼저 기술해야 한다.

● 예제

다음은 실행프로그램의 이름을 지정하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC PGM=TMAXSOFT

다음은 PROD.BATCHLIB에 있는 TMAXSOFT를 실행프로그램의 이름으로 지정하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC PGM=TMAXSOFT

//STEPLIB DD DSN=PROD.BATCHLIB,DISP=SHR

PROC

STEP에서 실행할 프로시저명을 지정한다.

● 기능

이 오퍼랜드는 해당 STEP에서 실행할 프로시저를 지정한다. 프로시저에는 카탈로그 프로시저와 입력

스트림 프로시저가 있다.

카탈로그 프로시저는 데이터 셋의 멤버로 저장되어 있는 프로시저를 말하며 어느 JOB에서든 실행할

수 있다.

입력 스트림 프로시저는 입력 스트림 중에 지정된 프로시저로 입력 스트림 내의 JOB에서만 일시적으

로 실행할 수 있다.

프로시저를 찾는 순서는 다음과 같다.

1. 입력 스트림 프로시저 중에서 검색한다.

2. JOBPARM JSS3 문이 지정되어 있다면 tjes.conf 파일 [PROCLIB] 절의 JOBPARM 값으로 설정된

데이터 셋들의 멤버 중에서 검색한다.

3. SYS1.PROCLIB의 멤버 중에 검색한다.

참고

config에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 사용법

제2장 OS JCL 37

Page 52: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

{PROC = 프로시저명}

{프로시저명}

설명항목

STEP에서 실행할 프로시저명을 기호명칭으로 지정한다.프로시저명

● 주의사항

EXEC 문의 오퍼랜드 중에 가장 먼저 기술해야 한다.

● 예제

다음은 TMAXPROC 프로시저를 실행하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC TMAXPROC

다음은 입력 스트림의 TMAXPROC 프로시저를 실행하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PEND

//STEP1 EXEC TMAXPROC

프로시저 STEP 이름

오퍼랜드의 뒤에 기술할 수 있는 프로시저 STEP 이름에 대해서 설명한다.

● 기능

프로시저를 실행하는 STEP에서 지정한 키워드 오퍼랜드들은 프로시저 내의 모든 STEP에서 지정한

키워드 오퍼랜드들을 오버라이드한다.

만약 프로시저 내의 특정 STEP의 오퍼랜드만을 오버라이드하고 싶을 경우에는 오퍼랜드에 프로시저

STEP 이름을 같이 기술하며 해당 STEP에서만 오퍼랜드를 오버라이드하게 할 수 있다.

● 사용법

오퍼랜드[.프로시저 STEP 이름] = 값

설명항목

해당 오퍼랜드가 적용될 프로시저 STEP을 기호명칭으로 지정한다.프로시저 STEP 이름

● 주의사항

38 OpenFrame JCL 문법 안내서

Page 53: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

프로시저 STEP 이름은 프로시저를 실행하는 STEP에서만 유효하다. 만약 프로그램을 실행하는 STEP

이라면 프로시저 STEP 이름은 무시된다.

● 예제

다음은 프로시저 내의 모든 STEP의 COND 값을 (8,EQ)로 오버라이드하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT,COND=(0,EQ)

//PSTEP2 EXEC PGM=TMAXSOFT,COND=(4,EQ)

//PEND

//STEP1 EXEC TMAXPROC,COND=(8,EQ)

다음은 프로시저 STEP인 PSTEP1의 COND 값을 (0,NE)로 오버라이드하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT,COND=(0,EQ)

//PSTEP2 EXEC PGM=TMAXSOFT,COND=(4,EQ)

//PEND

//STEP1 EXEC TMAXPROC,COND.PSTEP1=(0,NE)

다음은 프로시저 STEP인 PSTEP1의 COND 값을 (0,NE)로 PSTEP2의 COND 값을 (4,NE)로 오버라이

드하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT,COND=(0,EQ)

//PSTEP2 EXEC PGM=TMAXSOFT,COND=(4,EQ)

//PEND

//STEP1 EXEC TMAXPROC,COND.PSTEP1=(0,NE),COND.PSTEP2=(4,NE)

COND

해당 STEP을 실행할지, 스킵할지의 여부를 결정하는 조건을 지정한다.

● 기능

COND 오퍼랜드가 지정되어 있으면 해당 STEP을 시작하기 전에 이전 STEP들의 반환코드와 비교해서

이 STEP을 실행할지의 여부를 결정한다.

COND 오퍼랜드에 지정된 조건이 여러 개인 경우 지정된 조건들 중에 하나라도 만족하게 되면 COND

조건은 만족된 것으로 판단한다.

STEP 이름이나 프로시저 STEP 이름을 기술할 때 이전에 언급된 STEP 중에 기술하여야 한다. 만약 이

전 STEP이 아닌 것을 기술할 경우 해당 조건은 만족하지 않은 것으로 판단한다.

제2장 OS JCL 39

Page 54: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 사용법

COND[.프로시저 STEP 이름]=

((코드,연산 부호[,STEP 이름[.프로시저 STEP 이름]]) )

([,(코드,연산 부호[,STEP 이름[.프로시저 STEP 이름]])]...)

([,EVEN] )

([,ONLY] )

설명항목

JOB STEP의 반환코드와 비교할 조건코드를 부호없는 정수로 지정한다.코드

다음 연산 부호 중 원하는 값을 지정한다.연산 부호

- EQ : 코드가 반환코드와 같다.

- NE : 코드가 반환코드와 다르다.

- GT : 코드가 반환코드보다 크다.

- GE : 코드가 반환코드보다 크거나 같다.

- LT : 코드가 반환코드보다 작다.

- LE : 코드가 반환코드보다 작거나 같다.

STEP 이름을 기술하면 해당 조건은 기술된 STEP의 반환코드하고만 비교한다. 기호

명칭으로 지정한다.

STEP 이름

STEP 이름과 함께 기술하며 반환코드를 비교하려는 STEP이 프로시저 내의 STEP일

때 지정한다. 기호명칭으로 지정한다.

프로시저 STEP

이름

조건의 마지막에 기술하며 비정상 종료의 경우에도 해당 STEP을 실행할지의 여부를

결정한다. 비정상 종료를 발생시키는 반환코드는 rc.conf 파일의 [PGM_NAME] 절을

EVEN, ONLY

통해서 각 프로그램 별로 지정할 수 있다. 일반적으로 이전의 STEP이 비정상 종료되

면 이후의 STEP은 스킵을 하는데 EVEN이나 ONLY가 있다면 실행할 수도 있다.

- EVEN: 이전 STEP의 정상, 비정상 종료와 관계없이 조건이 만족되면 스킵하고 만족

되지 않으면 현재 STEP이 실행한다. EVEN만 지정했을 경우에는 항상 조건이 만족

되지 않는 것으로 판단한다.

- ONLY: 이전 STEP이 정상 종료하면 스킵하고 비정상 종료하면 조건을 비교해서 스

킵 또는 실행을 결정한다. ONLY만을 지정했을 경우에는 항상 조건이 만족되지 않은

것으로 판단한다.

EVEN, ONLY 지정에 대한 설명은 표 이후에 설명한다.

40 OpenFrame JCL 문법 안내서

Page 55: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 EVEN, ONLY의 지정과 관련된 STEP의 설명이다.

현재 STEP의 실행 여부이전 STEP들의 상태COND 오퍼랜드

실행모두 정상 종료미지정

스킵1개라도 비정상 종료미지정

조건이 하나라도 만족되면 스킵, 아니면 실행모두 정상 종료조건만 지정

스킵1개라도 비정상 종료조건만 지정

실행모두 정상 종료EVEN만 지정

실행1개라도 비정상 종료EVEN만 지정

조건이 하나라도 만족되면 스킵, 아니면 실행모두 정상 종료EVEN과 조건을 지정

조건이 하나라도 만족되면 스킵, 아니면 실행1개라도 비정상 종료EVEN과 조건을 지정

스킵모두 정상 종료ONLY만 지정

실행1개라도 비정상 종료ONLY만 지정

스킵모두 정상 종료ONLY와 조건을 지정

조건이 하나라도 만족되면 스킵, 아니면 실행1개라도 비정상 종료ONLY와 조건을 지정

● 주의사항

– 조건 파라미터는 최대 8개까지 유효하며, 9번째 이상의 조건 파라미터는 무시된다. 조건 파라미터의

개수에 EVEN과 ONLY는 포함하지 않는다.

– 조건 파라미터를 1개만 지정한 경우에는 가장 밖에 있는 괄호를 생략할 수 있다.

– JOB 문과 EXEC 문에 COND가 지정되어 있을 때 JOB 문의 COND가 만족되면 EXEC 문의 COND는

고려되지 않는다.

– COND 오퍼랜드의 값은 문법 검사할 때 검사하지 않는다.

● 예제

다음은 STEP1의 반환코드가 4이고 STEP2에서 12가 4보다 크므로 조건을 만족하여 STEP2가 스킵되

는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC TMAXSOFT,COND=(12,GT)

다음은 STEP1의 반환코드가 4이고 STEP2에서 2가 4보다 작고 12가 4보다 크므로 조건을 하나도 만

족하지 않아서 STEP2가 실행되는 예제이다.

제2장 OS JCL 41

Page 56: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC TMAXSOFT,COND=((2,GT),(12,LT))

다음은 STEP1의 반환코드가 4이고 STEP2에서 ONLY가 지정되어 있고 STEP1이 정상 종료되었으므

로 조건을 만족하지 않았지만 ONLY 파라미터로 인해 STEP2가 스킵되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC TMAXSOFT,COND=((2,GT),(12,LT),ONLY)

다음은 STEP1의 반환코드가 4이고 STEP1이 비정상 종료되었는데 STEP2에서 ONLY가 지정되어 있

고 조건을 만족하지 않아서 STEP2가 실행되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC ABEND,PARM=4

//STEP2 EXEC TMAXSOFT,COND=((2,GT),(12,LT),ONLY)

다음은 STEP1의 반환코드가 4이고 STEP2에서 EVEN이 지정되어 있으므로 무조건 STEP2가 실행되

는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC ABEND,PARM=4

//STEP2 EXEC TMAXSOFT,COND=EVEN

다음은 STEP1의 반환코드가 4이고 STEP2는 반환코드가 8인데 STEP3에서 STEP1과 STEP2의 반환

코드를 비교해서 STEP1의 반환코드가 4로 조건을 만족해서 STEP3가 스킵되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC RETURN,PARM=8

//STEP3 EXEC TMAXSOFT,COND=(4,EQ)

다음은 STEP1의 반환코드가 4이고 STEP2는 반환코드가 8인데 STEP3에서 STEP2의 반환코드가 4가

아니므로 조건이 만족되지 않아서 STEP3가 실행되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC RETURN,PARM=8

//STEP3 EXEC TMAXSOFT,COND=(4,EQ,STEP2)

다음은 STEP1의 프로시저 STEP인 PSTEP1의 반환코드는 4인데 STEP2에서 비교해서 조건을 만족하

므로 STEP2가 스킵되는 예제이다.

42 OpenFrame JCL 문법 안내서

Page 57: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=RETURN,PARM=4

//PSTEP2 EXEC PGM=RETURN,PARM=8

//PEND

//STEP1 EXEC TMAXPROC

//STEP2 EXEC TMAXSOFT,COND=(4,EQ,STEP1.PSTEP1)

다음은 STEP1의 반환코드가 4이고 STEP2의 프로시저 STEP에서 PSTEP1은 조건을 만족하여 스킵,

PSTEP2는 COND 오퍼랜드를 적용하지 않으므로 실행되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PSTEP2 EXEC PGM=TMAXSOFT

//PEND

//STEP1 EXEC RETURN,PARM=4

//STEP2 EXEC TMAXPROC,COND.PSTEP1=(4,EQ)

PARM

STEP에서 실행할 프로그램에 전달하게 될 파라미터값을 지정한다.

● 사용법

PARM[.프로시저 STEP 이름] = 파라미터값

설명항목

STEP에서 실행할 프로그램에게 전달할 파라미터값을 지정한다.파라미터값

● 예제

다음은 STEP1에서 실행하는 PRINT 프로그램의 파라미터로 argv1을 전달하는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//STEP1 EXEC PRINT,PARM='argv1'

다음은 STEP1의 프로시저 STEP인 PSTEP1에는 파라미터로 argv1을, PSTEP2에는 argv2를 전달하는

예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=PRINT,PARM='argv2'

//PSTEP2 EXEC PGM=PRINT,PARM='argv2'

제2장 OS JCL 43

Page 58: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//PEND

//STEP1 EXEC TMAXPROC,PARM.PSTEP1='argv1'

PERFORM

STEP이 실행 중에 속하는 퍼포먼스 그룹을 지정한다. OpenFrame에서는 config에 등록된 퍼포먼스 그룹

번호에 따른 NICE 값으로 변경시킨다.

● 기능

OpenFrame에서는 퍼포먼스 그룹 번호를 UNIX의 NICE 값으로 치환해서 사용한다.

이 오퍼랜드가 지정되면 Runner는 퍼포먼스 그룹 번호를 NICE 값으로 치환시켜서 STEP 프로그램의

NICE 값을 변경시킨다.

STEP 문에 PERFORM이 지정되어 있다면 JOB 문에 지정된 PERFORM은 무시한다.

● 사용법

PERFORM = 퍼포먼스 그룹 번호

설명항목

1~255의 부호없는 정수로 퍼포먼스 그룹 번호를 지정한다.퍼포먼스 그룹 번호

● 주의사항

PERFORM 오퍼랜드를 NICE 기능으로 대체해서 사용하고자 한다면 tjclrun.conf 파일 [PERFORM] 절

의 USE_PERFORM을 YES로 설정해야한다.

또한 NICE의 값을 변경시키는 것은 슈퍼유저의 권한을 필요로 하므로 Runner에 setuid 설정을 함께 해

야 한다.

참고

1. PERFORM 오퍼랜드의 사용 여부 및 퍼포먼스 그룹 번호의 NICE 값 치환에 대해서는 "TJES 안내

서"의 "7.5 TJCLRUN 설정"의 [PERFORM] 부분을 참고한다.

2. setuid 설정에 대한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제3장 JOB Execution"에서

setuid root tjclrun 부분을 참고한다.

● 예제

다음은 STEP1에 PERFORM을 10으로 지정하는 예제이다.

//JOB1 JOB PERFORM=100

//STEP1 EXEC PGM=TMAXSOFT,PERFORM=10

44 OpenFrame JCL 문법 안내서

Page 59: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

기호 파라미터

STEP에서 실행하는 프로시저의 기호 파라미터의 값을 지정한다.

● 기능

– 기호 파라미터들은 STEP에서 실행할 프로시저의 기호 파라미터들로 사용된다.

– 기호 파라미터들은 프로시저의 PROC 문에서 지정한 동일한 기호 파라미터의 값들을 오버라이드한

다.

– 프로시저 내에서 기호 파라미터들은 "&기호 파라미터" 형식으로 사용하여 프로시저가 실행될 때 지

정된 값으로 치환된다.

● 사용법

기호 파라미터 = [값]

설명항목

인용 캐릭터 라인으로 기호 파라미터의 값을 지정한다.값

● 주의사항

"&기호 파라미터" 형식으로 사용을 하는데 해당 기호 파라미터가 정의되지 않으면 "&기호 파라미터"는

치환되지 않고 그대로 남는다.

● 예제

다음은 기호 파라미터 A=step1으로 지정하여 PSTEP1의 PARM의 값은 step1, PSTEP2의 값은 default

가 되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC A=default,B=default

//PSTEP1 EXEC PGM=TMAXSOFT,PARM=&A

//PSTEP2 EXEC PGM=TMAXSOFT,PARM=&B

//PEND

//STEP1 EXEC TMAXPROC,A=step1

다음은 기호 파라미터 A=,B=step1으로 지정하여 PSTEP1의 PARM의 값이 NULL이 되고 PSTEP2의

값은 step1이 되는 예제이다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC A=default,B=default

//PSTEP1 EXEC PGM=TMAXSOFT,PARM=&A

//PSTEP2 EXEC PGM=TMAXSOFT,PARM=&B

제2장 OS JCL 45

Page 60: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//PEND

//STEP1 EXEC TMAXPROC,A=,B=step1

2.3. DD 문JOB 또는 JOB STEP에서 사용하는 데이터 셋을 정의하고 그 속성을 설정한다.

2.3.1. SYNTAX

//[DD 이름]△¹DD△¹[위치 오퍼랜드][,키워드 오퍼랜드]...△¹[주석]

//[프로시저 STEP 이름.DD 이름]△¹DD△¹[위치 오퍼랜드][,키워드 오퍼랜드]...△¹[주석]

설명항목

명칭 기술 위치로, "//"에 이어서 3번째 칸부터 기술한다.DD 이름

DD 이름을 생략하면 이 DD는 CONCATED DD로 판단한다.프로시저 STEP 이름.DD

이름DD 이름은 8자리 이내의 영, 숫자이어야 하며 1번째 문자는 영문자이어야 한

다.

프로시저 STEP 이름과 함께 DD 이름을 기술하면 해당 DD는 프로시저 STEP

의 같은 이름의 DD 속성을 오버라이드한다. 만약 같은 이름의 DD가 없다면

해당 이름으로 DD가 추가된다.

프로시저 STEP 이름은 8자리 이내의 영, 숫자이어야 하며 1번째 문자는 영

문자이어야 한다.

CONCATED DD 및 프로시저 STEP에 추가 또는 오버라이드에 대한 자세한

내용은 표 이후에 설명한다.

오퍼레이션 기술 위치로, DD 이름 뒤에 1개 이상의 공백을 두고 'DD'라고 기

술한다.

DD

'DD' 이후에 1개 이상의 공백을 두고 오퍼랜드를 기술하며 모든 위치 오퍼랜

드를 먼저 기술하고 이후에 키워드 오퍼랜드를 기술한다. 오퍼랜드에 대한

자세한 내용은 표 이후에 설명한다.

[위치 오퍼랜드][,키워드

오퍼랜드]

오퍼랜드란 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째 칸까지

기술할 수 있다.

[주석]

모든 오퍼랜드를 생략한 경우에는 주석을 기술할 수 없다.

46 OpenFrame JCL 문법 안내서

Page 61: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 CONCATED DD, 프로시저 STEP에 추가 또는 오버라이드에 대한 설명이다.

● CONCATED DD

여러 개의 입력용 데이터 셋을 논리적으로 1개의 데이터 셋처럼 처리해서 사용하는 것을 데이터 셋의

연결이라고 한다. 그리고 데이터 셋의 연결을 위해서 CONCATED DD를 사용한다.

CONCATED DD는 DD 이름을 생략하는 방식으로 사용하는데, 이 DD는 앞서 선언된 DD와 논리적으로

연결이 된다.

JOBCAT이나 STEPCAT와 같은 스페셜 DD도 연결하여 사용할 수 있다.

다음은 3개의 데이터 셋을 CONCATED DD를 통해서 논리적으로 연결하는 예제이다.

//SYSIN DD DSN=TMAX.SYSIN1,DISP=SHR

// DD DSN=TMAX.SYSIN2,DISP=SHR

// DD DSN=TMAX.SYSIN3,DISP=SHR

● 프로시저 STEP에 추가 또는 오버라이드

프로시저를 호출하는 STEP에서 지정한 DD는 해당 STEP에서 사용되지 않고 호출된 프로시저 내의

STEP에서 사용된다. 프로시저를 호출하는 STEP에서 DD를 지정할 때는 해당 DD가 프로시저 내의 어

떤 STEP에서 사용할지를 명백히 지정해 주어야 한다. 프로시저 내의 STEP은 "//" 이후에 프로시저 STEP

이름.DD 이름으로 지정한다. 프로시저 STEP 이름을 지정하지 않으면 해당 DD는 바로 전의 DD에서 지

정한 프로시저 STEP 이름이 사용된다. 프로시저 STEP 이름이 생략된 DD가 해당 STEP에서 1번째 DD

였다면 해당 DD는 프로시저 내의 1번째 STEP에서 사용되는 것으로 판단한다. 지정한 프로시저 STEP

이름이 프로시저 내에서 존재하지 않는다면 해당 DD는 사용되지 않는다.

다음은 PSTEP1에서 DD1이, PSTEP2에서 DD2가 사용되는 예제이다.

//JOB1 JOB

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PSTEP2 EXEC PGM=TMAXSOFT

// PEND

//STEP1 EXEC TMAXPROC

//PSTEP1.DD1 DD DSN=TMAX.DSN,DISP=SHR

//PSTEP2.DD2 DD DSN=TMAX.DSN2,DISP=SHR

//

다음은 DD2의 프로시저 STEP 이름이 생략되었으나 DD1의 프로시저 STEP 이름이 PSTEP2이므로

PSTEP2에서 DD2가 사용되는 예제이다.

//JOB1 JOB

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PSTEP2 EXEC PGM=TMAXSOFT

// PEND

제2장 OS JCL 47

Page 62: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//STEP1 EXEC TMAXPROC

//PSTEP2.DD1 DD DSN=TMAX.DSN,DISP=SHR

//DD2 DD DSN=TMAX.DSN2,DISP=SHR

//

다음은 DD1과 DD2의 프로시저 STEP 이름이 생략되어서 TMAXPROC의 1번째 STEP인 PSTEP1에서

사용되는 예제이다.

//JOB1 JOB

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PSTEP2 EXEC PGM=TMAXSOFT

// PEND

//STEP1 EXEC TMAXPROC

//DD1 DD DSN=TMAX.DSN,DISP=SHR

//DD2 DD DSN=TMAX.DSN2,DISP=SHR

//

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서는 문법 오류만 검

사하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 위치 오퍼랜드

DD 문의 위치 오퍼랜드는 asterisk(*), DATA, DUMMY, DYNAM 중 하나만 기술한다.

– asterisk(*)와 DATA

Instream 데이터의 입력을 지정한다. DLM 오퍼랜드를 사용하면 JCL 문장도 Instream 데이터로 받을

수 있다.

*

DATA

– DUMMY

DUMMY 데이터 셋을 지정한다.

DUMMY

– DYNAM

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DYNAM

48 OpenFrame JCL 문법 안내서

Page 63: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 키워드 오퍼랜드

– AMP

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

AMP = 값

– CHARS

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 지정한다. SYSOUT 파라미터로 사용

될 경우 외부 프린터 모듈에 필요할 때 전달된다.

CHARS = {테이블명}

{(테이블명[,테이블명]...)}

설명항목

1~4자리의 영, 숫자로 지정한다.테이블명

– CHKPT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

CHKPT = 값

– CIPHER

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

CIPHER = 값

– COPIES

SYSOUT 데이터 셋의 전체 및 페이지 단위의 복사 횟수를 지정한다. SYSOUT 파라미터로 사용될 경

우 외부 프린터 모듈에 필요할 때 전달된다.

COPIES = (복사 횟수[,(그룹 복사 횟수[,그룹 복사 횟수]...)])

설명항목

1~255의 부호없는 정수로 지정한다. (기본값: 1)복사 횟수

1~255의 부호없는 정수로 지정한다. (기본값: 1)그룹 복사 횟수

– CPUCOMP

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

CPUCOMP = 값

제2장 OS JCL 49

Page 64: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– DCB

Non-VSAM 데이터 셋의 DCB(Data Control Block) 정보를 지정한다.

DCB = (dcb 파라미터[,dcb 파라미터]...)

DCB = ({데이터 셋 이름} [,dcb 파라미터]...)

({*.DD 이름} )

({*.STEP 이름.DD 이름} )

({*.STEP 이름.프로시저 STEP 이름.DD 이름} )

설명항목

DCB 오퍼랜드의 서브 파라미터이다.dcb 파라미터

1~8자리의 기호문자로 지정한다. 또는 최대 44자리의 "기호문자[.기호문자]"

형식으로 지정한다.

데이터 셋 이름

1~8자리의 기호문자로 지정한다.DD 이름

1~8자리의 기호문자로 지정한다.STEP 이름

1~8자리의 기호문자로 지정한다.프로시저 STEP 이름

– DDNAME

DD 이름을 지정해서 지정된 DD가 나올 때까지 데이터 셋의 정의를 미룬다. 지정된 DD의 데이터 셋

설정으로 데이터 셋을 정의한다.

DDNAME = DD 이름

설명항목

기호명칭으로 지정한다.DD 이름

– DISP

데이터 셋의 상태 및 후처리에 대한 설정을 지정한다.

DISP = ([NEW][,DELETE][,DELETE])

[OLD][,KEEP] [,KEEP])

[RNW][,PASS] [,CATLG])

[SHR][,CATLG] [,UNCATLG])

[MOD][,UNCATLG]

[,] [,]

– DLM

asterisk(*) 또는 DATA 오퍼랜드와 함께 사용되며 Instream 데이터의 끝을 나타낼 delimiter를 지정한

다.

DLM = 단락기호

50 OpenFrame JCL 문법 안내서

Page 65: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

2자리의 인용 캐릭터 라인으로 지정한다.단락기호

– DSID

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DSID = 값

– DSNAME 또는 DSN

데이터 셋의 이름을 지정한다.

&&로 시작하면 임시 데이터 셋을 의미한다. asterisk(*)로 시작되면 이전에 선언된 DD의 데이터 셋 이

름을 그대로 사용한다는 것을 의미한다.

{DSNAME | DSN} = {데이터 셋 이름 }

{데이터 셋 이름(멤버명) }

{데이터 셋 이름(세대번호) }

{&&데이터 셋 이름 }

{&&데이터 셋 이름(멤버명) }

{*.DD 이름 }

{*.STEP 이름.DD 이름 }

{*.STEP 이름.프로시저 STEP 이름.DD 이름}

설명항목

1~8자리의 기호문자로 지정한다. 또는 최대 44자리의 "기호문자[.기호문자]"

형식으로 지정한다.

데이터 셋 이름

1~8자리의 기호문자로 지정한다.멤버명

부호있는 정수로 지정한다.세대번호

1~8자리의 기호문자로 지정한다.DD 이름

1~8자리의 기호문자로 지정한다.STEP 이름

1~8자리의 기호문자로 지정한다.프로시저 STEP 이름

– DUMP

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DUMP = 값

– FCB

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

제2장 OS JCL 51

Page 66: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

FCB = 값

– FCDFLT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FCDFLT = 값

– FLASH

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 식별명, 적용 매수를

지정한다.

FLASH = (필름 식별명〔,적용 매수〕)

설명항목

1~4자리의 영, 숫자로 지정한다.필름 식별명

1~255의 부호없는 정수로 지정한다. (기본값: 255)적용 매수

– FREE

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FREE = 값

– GAIJI

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

GAIJI = 값

– HSS

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

HSS = 값

– IMGDCHK

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

IMGDCHK = 값

– LABEL

데이터 셋의 라벨을 지정한다.

52 OpenFrame JCL 문법 안내서

Page 67: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

LABEL = ([데이터 셋 순서번호][,_SL_][,PASSWORD][,IN] [,EXPDT={yyyyddd}])

[,SUL] [,NOPWREAD][,OUT] {yyddd}

[,JL] [,] [,] [,RETPD=nnnn]

[,JUL]

[,NSL]

[,NL]

[,BLP]

[,LTM]

[,]

설명항목

0~9999의 부호없는 정수로 지정한다. (기본값: 1)데이터 셋 순서번호

yyyy는 4자리의 년도, ddd는 001~366로 일자를 지정한다.yyyyddd

yy는 2자리의 년도, ddd는 001~366로 일자를 지정한다.yyddd

0~9999의 부호없는 정수로 지정한다.nnnn

– MODIFY

SYSOUT 데이터 셋의 COPY 수식 모듈명과 CHARS 오퍼랜드로 지정하는 테이블의 순서번호를 지

정한다. SYSOUT 파라미터로 사용될 경우 외부 프린터 모듈에 필요할 때 전달된다.

MODIFY = (모듈명[,테이블번호])

설명항목

1~4자리의 영, 숫자로 지정한다.모듈명

0,1,2,3 중 원하는 번호를 지정한다.테이블번호

– OVERLAY

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 서식 OVERLAY 모듈을 지정한다.

OVERLAY = (모듈명[,적용 매수][,APPEND])

[,] [,RESET]

설명항목

1~4자리의 영, 숫자로 지정한다.모듈명

1~255의 부호없는 정수로 지정한다. (기본값: 255)적용 매수

문법 오류만 검사하고 사용하지 않는다.APPEND, RESET

– PAGEC

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

제2장 OS JCL 53

Page 68: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

PAGEC = 값

– PARALLEL 또는 PRL

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PARALLEL | PRL = 값

– PREST

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PREST = 값

– PROTECT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PROTECT = 값

– PW

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PW = 값

– SPACE

직접 액세스 볼륨에 신규 데이터 셋에 대해 공간의 할당을 지정한다.

SPACE = ({TRK,} (초기값[,추가값][,디렉터리])[,RLSE] [,CONTIG][,ROUND])

{CYL,} [,] [,XRLSE][,MXIG]

{MB,} [,] [,ALX]

{평균블럭길이,} [,]

SPACE = (ABSTR,(초기값,주소[,디렉터리]))

설명항목

0~16777215의 부호없는 정수로 지정한다.초기값

0~16777215의 부호없는 정수로 지정한다.추가값

0~16777215의 부호없는 정수로 지정한다.디렉터리

1~65535의 부호없는 정수로 지정한다.평균블럭길이

0~16777215의 부호없는 정수로 지정한다.주소

– SYSOUT

SYSOUT 데이터 셋의 출력 속성을 지정한다.

54 OpenFrame JCL 문법 안내서

Page 69: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

SYSOUT = ([클래스][,프로그램명][,서식번호][,sysout 파라미터]...])

[*]

설명항목

A~Z, 0~9의 1문자로 지정한다.클래스

기호명칭으로 지정한다.프로그램명

1~4자리의 영, 숫자로 지정한다.서식번호

SYSOUT 오퍼랜드의 서브 파라미터이다.sysout 파라미터

– TERM

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

TERM = 값

– TRANS

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

TRANS = 값

– UNIT

데이터 셋을 할당할 장치를 지정한다.

UNIT = ([장치기호명][,개수][,DEFER])

[장치타입명][,P]

[장치그룹명][,]

[기억풀명]

UNIT = AFF = DD 이름

설명항목

미지원 기능이다.장치번호

1~8자리의 영, 숫자로 지정한다.장치타입

1~8자리의 영, 숫자로 지정한다.장치그룹

미지원 기능이다.기억풀명

– UNLOAD

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

UNLOAD = 값

– VOLUME 또는 VOL

제2장 OS JCL 55

Page 70: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

데이터 셋의 볼륨을 지정한다.

{VOLUME | VOL}=

([PRIVATE][,RETAIN] [,볼륨순서번호][,개수][,][SER=볼륨일련번호] )

[,RESERVE] [,] [SER=(볼륨일련번호[,볼륨일련번호]...)]

[,] [REF=[데이터 셋 이름][,ALL]]

[,MOD]

[REF=*.DD 이름]

[REF=*.STEP 이름,DD 이름]

[REF=*.STEP 이름.프로시저 STEP 이름.DD

이름]

설명항목

0~255의 부호없는 정수로 지정한다.볼륨순서번호

0~255의 부호없는 정수로 지정한다.개수

1~6자리의 인용 캐릭터 라인으로 지정한다.볼륨일련번호

2.3.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

asterisk(*)와 DATA

Instream 데이터의 입력을 지정한다. DLM 오퍼랜드를 사용하면 JCL 문장도 Instream 데이터로 받을 수

있다.

● 기능

해당하는 DD 문 이후로 Instream 데이터가 나타나는 것을 의미한다. 그리고 해당 DD는 Instream 데이

터의 내용을 가지고 JOB SPOOL에 임시적으로 생성되어서 일반 데이터 셋과 동일하게 사용된다.

Instream 데이터는 다음과 같은 경우에 마지막으로 판단한다.

– 단락문이 나타난 경우

– 입력 스트림의 마지막, UNIX 파일로 EOF가 나타난 경우

– 단락문 이외의 제어문이 나타난 경우

– DLM 오퍼랜드가 지정되었다면 지정한 delimiter가 나타난 경우

● 사용법

56 OpenFrame JCL 문법 안내서

Page 71: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

*

DATA

● 주의사항

asterisk(*)의 경우에는 DLM 오퍼랜드를 사용할 수 없다.

● 예제

다음은 asterisk(*)를 사용해 Instream 데이터를 SYSIN으로 사용하는 예제이다.

//SYSIN DD *

this is sysin data

/*

다음은 제어문이 나타나면 Instream 데이터가 끝났음을 의미하는 예제이다.

//SYSIN DD *

this is sysin data

//SYSOUT DD SYSOUT=*

DUMMY

해당하는 데이터 셋이 DUMMY 데이터 셋임을 의미한다. DUMMY 데이터 셋으로 지정된 DD에는 어떤 데

이터를 기록해도 실제 기록하지 않고 버리게 된다.

DSNAME=NULLFILE을 설정하면 DUMMY를 설정한 것과 같은 기능을 한다.

● 사용법

DUMMY

● 예제

다음은 SYSOUT을 DUMMY로 설정하는 예제이다.

//SYSOUT DD DUMMY

제2장 OS JCL 57

Page 72: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

CHARS

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 지정한다.

● 사용법

CHARS = {테이블명}

{(테이블명[,테이블명]...)}

설명항목

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 1~4자리의 영,

숫자로 지정한다.

테이블명

● 주의사항

– SYSOUT 데이터 셋에 대한 출력이 아닌 한, CHARS 오퍼랜드는 무시된다.

– OpenFrame에서는 인쇄 출력을 위한 CHAR 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

외부 프린터 모듈에 CHARS=(TBJ1,TBJ2)의 정보를 전달한다.

//EX1 DD SYSOUT=A,CHARS=(TBJ1,TBJ2)

COPIES

SYSOUT 데이터 셋의 전체 및 페이지 단위의 복사 횟수를 지정한다.

● 사용법

COPIES = (복사 횟수[,(그룹 복사 횟수[,그룹 복사 횟수]...)])

설명항목

SYSOUT 데이터 셋의 복사 횟수를 1~255의 부호없는 정수로 지정한다. (기본

값: 1)

복사 횟수

SYSOUT 데이터 셋의 페이지 단위의 복사 횟수를 1~255의 부호없는 정수로 지

정한다. (기본값: 1)

그룹 복사 횟수

● 주의사항

– SYSOUT 데이터 셋에 대한 출력이 아닌 한, COPIES 오퍼랜드는 무시된다.

58 OpenFrame JCL 문법 안내서

Page 73: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– OpenFrame에서는 인쇄 출력을 위한 COPIES 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행

완료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 외부 프린터 모듈에 COPIES=(2,(2,1))의 정보를 전달하는 예제이다.

//OUTPUT DD SYSOUT=A,COPIES=(2,(2,1))

DCB

Non-VSAM 데이터 셋의 DCB(Data Control Block) 정보를 지정한다.

● 사용법

DCB = (dcb 파라미터[,dcb 파라미터]...)

DCB = ({데이터 셋 이름} [,dcb 파라미터]...)

({*.DD 이름} )

({*.STEP 이름.DD 이름} )

({*.STEP 이름.프로시저 STEP 이름.DD 이름} )

– dcb 파라미터

용도dcb 파라미터

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.BFALN=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.BFTEK=값

블록의 길이를 Byte 단위로 지정한다.BLKSIZE={블록길이}

BLKSIZE 오퍼랜드로 지정할 수 있는 최대값은 레코드 형식에 관계

없이 32760Byte이다.

레코드 형식별 블록길이를 지정하는 방법은 표 이후에 설명한다.

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.BUFL=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.BUFNO=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.BUFOFF=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.DEN=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.DIAGNS=값

데이터 셋의 구조를 지정한다.DSORG={PS|PSU|PO|POU|DA|DAU}

- PS: 순서 데이터 셋이다.

- PSU: 이동할 수 없는 순서 데이터 셋이다.

- PO: 구분 데이터 셋이다.

제2장 OS JCL 59

Page 74: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

용도dcb 파라미터

- POU: 이동할 수 없는 구분 데이터 셋이다.

- DA: 직접 데이터 셋이다.

- DAU: 이동할 수 없는 직접 데이터 셋이다.

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.EOR=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.EROPT=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.FUNC=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.KEYLEN=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.LIMCT=값

데이터 셋의 레코드의 길이를 지정한다.LRECL=레코드길이

레코드 형식이 고정길이 블록 레코드이거나 스팬(Span) 레코드인

경우, 반드시 지정해야 한다. 스팬 레코드가 아닌 경우, LRECL 오퍼

랜드로 지정한 레코드 길이는 BLKSIZE 오퍼랜드로 지정한 블록길

이를 넘을 수 없다.

각 레코드 형식에서 지정할 수 있는 최대값은 고정길이 혹은 길이 미

지이정 레코드에 대해서는 32760Byte이다.

레코드 형식별 레코드길이를 지정하는 방법은 표 이후에 설명한다.

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.MODE=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.NCP=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.OPTCD=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.PRTSP=값

데이터 셋의 레코드 형식과 특성을 지정한다. OpenFrame에서는 다

음에 나타난 레코드 형식에 대해서만 지원한다.

RECFM=F[B][A]

V[B|S|BS][A]

- A: ASA 코드 포함 레코드L[A]

- B: 블록 레코드U[A]

- F: 고정 레코드

- L: 라인 단위 레코드

- S: 스팬 레코드

- V: 가변 레코드

- U: 길이가 미지정된 레코드

60 OpenFrame JCL 문법 안내서

Page 75: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

용도dcb 파라미터

L 레코드 형식은 Open 환경에서 텍스트 파일을 저장하는 일반적인

레코드 형식으로 OpenFrame으로 마이그레이션한 이후 원활한 데

이터 연동을 위해서 새로 추가한 레코드 형식이다.

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.STACK=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.TRTCH=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.UNIC=값

다음은 앞의 BLKSIZE 항목 설명 중 레코드 형식별 블록길이를 지정하는 방법이다.

• RECFM={F|FS}

LRECL 오퍼랜드로 레코드길이를 지정했을 경우, 그 값은 블록길이와 같아야 한다.

• RECFM={FB|FBS}

SYSOUT 데이터 셋의 경우, 블록길이가 LRECL 오퍼랜드에서 지정한 레코드길이의 정수배가 아

니면, 블록길이는 레코드 길이의 정수배로 조정(truncate)된다. SYSOUT 데이터 셋 이외의 경우,

반드시 블록길이는 LRECL 오퍼랜드에서 지정한 레코드길이의 정수배로 지정해야 한다.

• RECFM={V|VB|VS|VBS}

최대 블록길이를 지정한다.

• RECFM=U

최대 블록길이를 지정한다.

다음은 앞의 LRECL 항목 설명 중 레코드 형식별 레코드길이를 지정하는 방법이다.

• RECFM={F|FB|FS|FBS}

레코드길이를 지정한다.

• RECFM={V|VB|VS|VBS}

최대 레코드길이를 지정한다. 4Byte RDW를 포함한 길이이다.

• RECFM=U

최대 레코드길이를 지정한다.

– dcb 파라미터 이외의 항목

제2장 OS JCL 61

Page 76: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

지정한 데이터 셋의 DCB 속성을 사용할 것을 지정한다.데이터 셋 이름

데이터 셋 이름은 세대 데이터 그룹 이름(GDG)과 동일해서는 안된

다. GDG의 특정 세대는 지정할 수 있다.

지정된 데이터 셋은 카탈로그되어 있어야 한다. OpenFrame에서는

카탈로그되지 않고 단순히 패스(PASS)된 DD 문의 데이터 셋 이름

으로 참조하는 것은 지원하지 않는다.

"*[.STEP 이름[.프로시저 STEP 이름].DD 이름"의 부분을 역방향 참

조라고 한다.

*.DD 이름

*.STEP 이름.DD 이름

동일한 JOB의 선행 DD 문으로 지정된 DCB 속성을 사용할 것을 의

미한다.*.STEP 이름.프로시저 STEP 이

름.DD 이름

- 선행 DD 문의 위치가 선행 JOB STEP인지, 선행 프로시저 STEP

인지에 따라서 각각 STEP 이름 또는 STEP 이름과 프로시저 STEP

이름을 지정한다.

- 역방향 참조가 지정하는 DD가 존재하지 않으면 JOB은 FLUSH로

처리된다.

DDNAME

DD 이름을 지정해서 지정된 DD가 나올 때까지 데이터 셋의 정의를 미룬다. 이후 지정된 DD의 데이터 셋

설정으로 데이터 셋을 정의한다.

● 기능

DDNAME에 DD 이름이 지정되면 해당 DD는 지정된 DD가 나올 때까지 데이터 셋의 정의를 미룬다.

지정된 DD가 나오면 그 시점에 DDNAME을 지정한 DD의 데이터 셋 설정을 한다. 그리고 지정된 DD는

실제로는 사용되지 않는다.

주로 프로시저를 호출하는 STEP에서 사용되며 프로시저 내에서 Instream 데이터를 사용하지 못하기

때문에 프로시저 내의 STEP에서는 DDNAME을 통해서 데이터 셋의 정의를 미루고 프로시저를 호출하

는 STEP에서 DDNAME에서 지정한 DD를 설정하여 사용하게 된다.

다음 JCL에서는 프로시저 내의 STEP인 PSTEP1에서 SYSIN DD는 프로시저를 호출하는 STEP인

STEP1의 PSTEP1.OUTSTEP1 DD의 속성을 가지게 된다. TMAXSOFT는 SYSIN으로 Instream 데이터

를 받는다.

//JOB1 JOB

//PROC1 PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//SYSIN DD DDNAME=OUTSTEP1

62 OpenFrame JCL 문법 안내서

Page 77: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

// PEND

//STEP1 EXEC PROC1

//PSTEP1.OUTSTEP1 DD *

instream data

/*

//

● 사용법

DDNAME = DD 이름

설명항목

데이터 셋 설정을 가져오고자 하는 DD 이름을 기호명칭으로 지정한다.DD 이름

● 주의사항

DDNAME 오퍼랜드를 사용한 DD와 DDNAME 오퍼랜드에서 지정한 DD는 같은 STEP 내에 있어야 한

다.

프로시저 내의 STEP에서 DDNAME 오퍼랜드를 사용한 경우에는 그 프로시저를 호출하는 STEP에서

DDNAME 오퍼랜드에서 지정한 DD가 해당 STEP에서 사용되는 것으로 인식하므로 같은 STEP 내에

있는 것으로 판단한다.

DDNAME 오퍼랜드를 사용한 DD는 DDNAME 오퍼랜드에서 지정한 DD보다 먼저 나와야 한다.

다른 DD에서 역방향 참조를 하게될 때 DDNAME 오퍼랜드에서 지정한 DD는 참조할 수 없다.

DDNAME 오퍼랜드에서 지정한 DD는 스페셜 DD 이름을 사용해서는 안된다. 이 DD는 DDNAME 오퍼

랜드를 사용한 DD에서 사용하고는 사용되지 않기 때문에 스페셜 DD로의 기능을 수행하지 못한다.

DDNAME 오퍼랜드에서 지정한 DD가 존재하지 않을 때에는 DDNAME 오퍼랜드를 사용한 DD는

DUMMY 데이터 셋으로 간주한다.

● 예제

다음은 SYSOUT DD가 DD2의 내용을 참조하여 SYSOUT 데이터 셋이 되는 예제이다. DD2는 참조만

될 뿐 사용되지 않는다.

//STEP1 EXEC PGM=TMAXSOFT

//SYSOUT DD DDNAME=DD2

//DD2 DD SYSOUT=*

다음은 STEP2의 IN이 STEP1의 OUT을 역방향으로 참조하는 예제이다. 참조되는 부분은 STEP1의

DD2가 아닌 STEP1의 OUT이다.

//STEP1 EXEC PGM=TMAXSOFT

//OUT DD DDNAME=DD2

제2장 OS JCL 63

Page 78: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//DD2 DD DSN=TEST.DATASET,DISP=(NEW,PASS)

//STEP2 EXEC PGM=TMAXSOFT

//IN DD DSN=*.STEP1.OUT,DISP=(OLD,DELETE)

//

DISP

데이터 셋의 상태 및 후처리에 대한 설정을 지정한다.

● 사용법

DISP = ([NEW][,DELETE][,DELETE])

[OLD][,KEEP] [,KEEP])

[RNW][,PASS] [,CATLG])

[SHR][,CATLG] [,UNCATLG])

[MOD][,UNCATLG]

[,] [,]

– 파라미터 1

데이터 셋 상태를 지정한다.

설명항목

데이터 셋이 해당 JOB STEP에서 새롭게 작성되는 것을 나타낸다.NEW

DASD에 데이터 셋을 작성하는 경우, SPACE 오퍼랜드를 함께 지정해야 한다.

데이터 셋이 해당 JOB STEP 이전에 이미 존재하고 있는 것을 나타낸다.OLD

DSNAME 오퍼랜드로 지정한 데이터 셋이 지정된 볼륨에 이미 있을 때, 해당하는 JOB

을 이상 종료(ABEND)로 하지 않고 그 데이터 셋을 다시 이용하도록 한다. 시스템은

RNW

DSNAME 오퍼랜드로 지정된 데이터 셋이 볼륨에 이미 있을 때는 기존 데이터 셋을

볼륨에서 삭제하고 새롭게 해당 볼륨에 데이터 셋을 작성한다.

RNW 파라미터를 지정하는 경우, SPACE 오퍼랜드를 동시에 지정해야 한다.

데이터 셋이 해당 JOB STEP 이전에 이미 존재하고 있는 것을 나타낸다. 또한 다른

JOB으로부터 동시에 사용되는 것을 허락한다.

SHR

데이터 셋을 확장(추가 쓰기)하는 것을 나타낸다. 순서 데이터 셋을 출력으로 Open하

면 그대로 추가 쓰기를 할 수 있다.

MOD

MOD 파라미터를 지정했을 경우, VOLUME 오퍼랜드로 SER 파라미터 또는 REF 파

라미터의 지정이 있으면 이미 데이터 셋이 작성되어 있는 것으로서 처리한다. VOLUME

오퍼랜드로 상기 지정이 없는 경우, 지정한 데이터 셋이 패스(PASS)되어 있거나 카

탈로그 되어 있는 경우에 이미 데이터 셋이 작성되어 있는 것으로 간주한다. 그 이외

의 경우에는 NEW 파라미터 지정으로 간주된다.

64 OpenFrame JCL 문법 안내서

Page 79: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 파라미터 2

JOB STEP이 정상 종료했을 때(ABEND가 아닌 경우) 데이터 셋의 후처리 방법을 지정한다.

설명항목

해당 JOB STEP이 종료된 후 데이터 셋을 삭제한다.DELETE

볼륨 정보를 카탈로그로부터 얻었을 경우, DELETE 처리가 정상적으로 종료했을 때

에 한해 카탈로그에서 삭제된다.

데이터 셋을 보존한다. 단, 데이터 셋을 작성한 JOB STEP이 이상 종료(ABEND)했을

경우 파라미터 3의 DELETE 파라미터 지정이 있으면 삭제된다.

KEEP

JOB STEP 사이의 데이터 셋을 사용한 후, 해당 데이터 셋을 후속 JOB STEP으로 전

달한다.

PASS

후속 JOB STEP에서 전달된 데이터 셋을 받는 경우, 전달된 데이터 셋을 받는 DD 문

에 VOLUME 오퍼랜드의 SER 파라미터 또는 REF 파라미터를 지정해서는 안된다.

PASS 파라미터가 지정된 데이터 셋을 받을 수 있는 것은 후속 JOB STEP에서 1번만

가능하다. 따라서 데이터 셋을 받은 후 1번 더 후속 JOB STEP에 전달하려는 경우에

는 매번 DISP 오퍼랜드로 PASS 파라미터를 지정해야 한다.

하나의 JOB 중에서 같은 데이터 셋명을 가진 데이터 셋이 여러 개 있는 경우 특정 시

점에서 복수의 데이터 셋을 전달해서는 안된다.

VSAM 데이터 셋은 전달할 수 없다.

데이터 셋을 JOB STEP 종료할 때 카탈로그한다.CATLG

시스템이 카탈로그를 참조하여 데이터 셋을 할당한 경우, CATLG 파라미터의 지정이

있으면 재카탈로그한다.

JOB STEP이 종료할 때 데이터 셋을 보존하지만 카탈로그로부터 카탈로그 정보를 삭

제한다.

UNCATLG

– 파라미터 3

JOB STEP이 이상 종료(ABEND)했을 경우의 데이터 셋 처리를 지정한다. 지정할 수 있는 파라미터

는 파라미터 2의 PASS 파라미터를 제외하고는 파라미터 2와 동일하다.

● 주의사항

– 파라미터 1만 지정하는 경우, 괄호로 처리할 필요가 없다.

– DISP 오퍼랜드를 생략하면 DISP=(NEW,DELETE,DELETE)로 처리된다.

– 파라미터 1의 지정을 생략하고 파라미터 2를 지정했을 경우 파라미터 1로서 NEW가 지정된다.

제2장 OS JCL 65

Page 80: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 파라미터 1로 NEW 파라미터 또는 RNW 파라미터를 지정하고 파라미터 2나 파라미터 3를 생략하면

각각 DELETE 파라미터가 지정된다.

– 파라미터 1로 NEW 파라미터 또는 RNW 파라미터 이외를 지정하고 파라미터 2나 파라미터 3를 생략

하면 각각 KEEP 파라미터가 지정된다.

– 일시적 데이터 셋을 지정할 때에 DISP 오퍼랜드의 파라미터 2로 KEEP 파라미터, CATLG 파라미터,

또는 UNCATLG 파라미터를 지정하면 PASS 파라미터 지정으로 간주한다. 파라미터 3로 KEEP 파라

미터, CATLG 파라미터, 또는 UNCATLG 파라미터를 지정하면 DELETE 파라미터 지정으로 간주한

다.

– VSAM 데이터 셋에 대해서는 파라미터 1로 NEW, 또는 RNW를 지정해서는 안 된다.

● 예제

다음은 직접 액세스 볼륨에 일시적 데이터 셋을 작성해서 JOB STEP을 종료할 때 삭제하는 예제이다.

//TEMP DD UNIT=DISK,SPACE=(TRK,(5,1))

다음은 일련번호가 333333인 볼륨에 작성되어 있는 데이터 셋 ORG.SOURCE.TEST의 배타적인 사용

을 요청하는 예제이다. JOB STEP이 종료될 때 데이터 셋을 카탈로그한다.

//DD1 DD DSN=ORG.SOURCE.TEST,UNIT=8598,

// DISP=(OLD,CATLG),

// VOL=SER=333333

다음은 이미 카탈로그되어 있는 데이터 셋 ORG.LIB의 배타적인 사용을 요청하는 예제이다. JOB STEP

이 종료될 때 데이터 셋을 삭제한다. 데이터 셋이 삭제될 뿐만 아니라, 카탈로그에서도 제거된다.

//DD2 DD DSN=ORG.LIB.DISP=(OLD,DELETE)

DLM

asterisk(*) 또는 DATA 오퍼랜드와 함께 사용되며 Instream 데이터의 끝을 나타낼 delimiter를 지정한다.

● 기능

보통 Instream 데이터의 끝은 단락문이라고 하여 "/*"이다. 하지만 이 경우 Instream 데이터로 "/*"나 "//"로

시작하는 데이터를 사용할 수가 없게 된다.

하지만 DLM 오퍼랜드를 통해 단락기호를 "/*"가 아닌 다를 것으로 지정하면 Instream 데이터로 "/*"나

"//"로 시작하는 데이터, 즉 OS JCL이나 JSS3 JCL도 사용할 수 있게 된다.

● 사용법

66 OpenFrame JCL 문법 안내서

Page 81: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

DLM = 단락기호

설명항목

Instream 데이터의 끝을 의미하는 문자를 2자리의 인용 캐릭터 라인으로 지정한다.단락기호

● 예제

다음은 단락기호를 AA로 지정하여 DD1의 Instream 데이터로 OS JCL이 사용 가능한 예제이다.

//DD1 DD *,DLM=AA

//JOB1 JOB --|

//STEP1 EXEC PGM=TMAXSOFT | ---> DD1의 Instream 데이터

// --|

AA

//DD2 ...

DSNAME 또는 DSN

데이터 셋의 이름을 지정한다. DSNAME과 DSN이 동시에 지정된 경우 DSNAME에 지정된 내용이 사용

된다.

"&&"로 시작하면 임시 데이터 셋을 의미한다.

asterisk(*)로 시작하면 이전에 선언된 DD의 데이터 셋 이름을 그대로 사용한다는 것을 의미한다.

● 사용법

{DSNAME | DSN} = {데이터 셋 이름 }

{데이터 셋 이름(멤버명) }

{데이터 셋 이름(세대번호) }

{&&데이터 셋 이름 }

{&&데이터 셋 이름(멤버명) }

{*.DD 이름 }

{*.STEP 이름.DD 이름 }

{*.STEP 이름.프로시저 STEP 이름.DD 이름}

설명항목

DD에서 사용할 데이터 셋의 이름을 기호문자로 지정한다.데이터 셋 이름

데이터 셋 이름은 "기호문자[.<기호문자>]..." 형식으로 최대 44자리까지 기술

한다. 하나의 기호문자는 최대 8자리이다. 세대그룹 데이터 셋(GDG)은 최대

35자리까지이다.

데이터 셋의 멤버명을 데이터 셋과 함께 지정한다. 1~8자리의 기호문자로 지

정한다.

멤버명

제2장 OS JCL 67

Page 82: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

세대그룹 데이터 셋의 세대번호를 부호와 함께 지정한다. 부호가 생략되면

플러스(+)로 간주한다. 세대번호는 세대그룹 데이터 셋의 최대 세대번호를

넘겨서는 안된다.

세대번호

세대그룹 데이터 셋에 대한 내용은 OpenFrame 안내서 중 "데이터 셋 안내

서"를 참고한다.

해당 JOB에서만 임시적으로 사용할 데이터 셋을 지정한다.&&데이터 셋 이름

임시 데이터 셋은 기본적으로 자리수를 차지하고 있기 때문에 데이터 셋명을

너무 길게 작성하면 에러가 발생할 수가 있다. 그래서 임시 데이터 셋으로 작

성하는 데이터 셋은 데이터 셋을 마침표(.)없이 <기호명칭> 정도로만 작성하

는것을 권장한다.

임시 데이터 셋 관련된 자세한 내용은 표 이후에 설명한다.

"*[.STEP 이름[.프로시저 STEP 이름].DD 이름"의 부분을 역방향 참조라고

한다.

*.DD 이름

*.STEP 이름.DD 이름

동일한 JOB의 선행 DD 문으로 지정된 데이터 셋명을 사용할 것을 의미한다.*.STEP 이름.프로시저

STEP 이름.DD 이름 선행 DD 문의 위치가 선행 JOB STEP인지, 선행 프로시저 STEP인지에 따

라서 각각, STEP 이름 또는 STEP 이름과 프로시저 STEP 이름을 지정한다.

역방향 참조가 지정하는 DD가 존재하지 않으면 JOB은 FLUSH로 처리된다.

다음은 앞에서 설명한 "&&데이터 셋 이름"과 관련된 임시 데이터 셋 설명이다.

임시 데이터 셋은 다음과 같은 형식으로 만들어진다.

– "&&데이터 셋 이름"인 경우

SYSyyddd.Thhmmss.RA000.jobname.데이터 셋 이름.Hgg

설명항목

JOB 실행일이다.yyddd

JOB 실행 시간이다.hhmmss

JOB 이름이다.jobname

01이다.gg

– DSN 오퍼랜드가 생략된 경우

SYSyyddd.Thhmmss.RA000.jobname.Rggnnnn

68 OpenFrame JCL 문법 안내서

Page 83: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

JOB 실행일이다.yyddd

JOB 실행 시간이다.hhmmss

JOB 이름이다.jobname

DD 테이블 순번으로 JOB 내에서는 유일한 번호이다.nnnn

– "&&데이터 셋 이름"이면서 SYSOUT 데이터 셋인 경우

jobid(userid.jobname.jobid.Dnnnnnn.데이터 셋 이름)

설명항목

해당 JOB의 사용자명이다.userid

JOB 이름이다.jobname

해당 JOB의 JOBID이다. (JOB00001 ~ JOB99999)jobid

DD 테이블 순번으로 JOB 내에서는 유일한 번호이다.nnnnnn

– DSN 오퍼랜드가 생략되었고 SYSOUT 데이터 셋인 경우

jobid(userid.jobname.jobid.Dnnnnnn)

설명항목

해당 JOB의 사용자명이다.userid

JOB 이름이다.jobname

해당 JOB의 JOBID이다. (JOB00001 ~ JOB99999)jobid

DD 테이블 순번으로 JOB 내에서는 유일한 번호이다.nnnnnn

– "&&데이터 셋 이름"이면서 Instream 데이터 셋인 경우

jobid(userid.jobname.jobid.Dnnnnnn.데이터 셋 이름)

설명항목

해당 JOB의 사용자명이다.userid

JOB 이름이다.jobname

해당 JOB의 JOBID이다. (JOB00001 ~ JOB99999)jobid

DD 테이블 순번으로 JOB 내에서는 유일한 번호이다.nnnnnn

– DSN 오퍼랜드가 생략되었거나 "&&데이터 셋 이름" 형식이 아니면서 Instream 데이터 셋인 경우

제2장 OS JCL 69

Page 84: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

jobid(userid.jobname.jobid.Dnnnnnn)

설명항목

해당 JOB의 사용자명이다.userid

JOB 이름이다.jobname

해당 JOB의 JOBID이다. (JOB00001 ~ JOB99999)jobid

DD 테이블 순번으로 JOB 내에서는 유일한 번호이다.nnnnnn

● 주의사항

DSN 오퍼랜드를 생략하면 해당 DD는 임시 데이터 셋을 사용하는 것으로 판단하지만 데이터 셋의 상태

를 NEW 또는 MOD로 지정하지 않으면 볼륨을 할당하려는 것으로 판단한다.

DSN 오퍼랜드가 있는데 "&&데이터 셋 이름" 형식이 아니면서 SYSOUT 데이터 셋이면 JOB은 FLUSH

가 발생한다.

SYSOUT 데이터 셋은 DD 문의 SYSOUT 오퍼랜드에서 클래스 또는 asterisk(*)가 지정되어있는 경우를

의미한다.

● 예제

다음은 데이터 셋을 TMAX.DATASET으로 지정하는 예제이다.

//DD1 DD DSN=TMAX.DATASET,DISP=SHR

다음은 데이터 셋의 길이가 44자리를 넘으면 문법 에러가 발생하는 예제이다.

//DD1 DD DSN=TMAX.DATASET.OVERFLOW.LENGTH.COLUMN44.ISOCCUR.PARSE.ERROR

다음은 데이터 셋과 멤버를 지정하는 예제이다.

//DD1 DD DSN=TMAX.PDSLIB(DATASET),DISP=(NEW,DELETE,DELETE)

다음은 세대 데이터 셋을 지정하는 예제이다.

//DD1 DD DSN=TMAX.GDG(+1),DISP=(NEW,DELETE,DELETE)

다음은 임시 데이터 셋을 지정하는 예제이다.

//DD1 DD DSN=&&TEMP,DISP=(NEW,PASS)

다음은 임시 데이터 셋을 SYSOUT 데이터 셋으로 지정하는 예제이다.

70 OpenFrame JCL 문법 안내서

Page 85: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

//DD1 DD DSN=&&TEMP,SYSOUT=*

다음은 DSN 오퍼랜드를 생략하는 예제이다.

//DD1 DD DISP=(NEW,PASS)

다음은 STEP의 데이터 셋 이름을 레퍼런스로 하는 예제이다. 예제에서 DD2의 데이터 셋 이름은

TMAX.DATASET이 된다.

//DD1 DD DSN=TMAX.DATASET,DISP=SHR

//DD2 DD DSN=*.DD1,DISP=SHR

다음은 이전 STEP의 데이터 셋 이름을 레퍼런스로 하는 예제이다. 예제에서 STEP2 DD1의 데이터 셋

명은 TMAX.DATASET이 된다.

//STEP1 EXEC PGM=TMAXSOFT

//DD1 DD DSN=TMAX.DATASET,DISP=SHR

//STEP2 EXEC PGM=TMAXSOFT

//DD1 DD DSN=*.STEP1.DD1,DISP=SHR

다음은 이전 프로시저 STEP의 데이터 셋 이름을 레퍼런스로 하는 예제이다. 예제에서 STEP2 DD1의

데이터 셋 이름은 TMAX.DATASET이 된다.

//JOB1 JOB CLASS=A,MSGCLASS=A

//TMAXPROC PROC

//PSTEP1 EXEC PGM=TMAXSOFT

//PDD1 DD DSN=TMAX.DATASET

//PEND

//STEP1 EXEC TMAXPROC

//STEP2 EXEC PGM=TMAXSOFT

//DD1 DD DSN=*.STEP1.PSTEP1.PDD1

FLASH

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 식별명, 적용 매수를 지정

한다.

● 사용법

FLASH = (필름 식별명〔,적용 매수〕)

설명항목

프린터가 출력을 개시하기 전에 오퍼레이터가 설정하는 필름 OVERLAY의 식별명을

1~4의 영, 숫자로 지정한다.

필름 식별명

제2장 OS JCL 71

Page 86: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

지정한 필름 OVERLAY를 적용해 복사하는 매수를 1~255의 부호없는 정수로 지정한

다. 기본값은 255이다.

적용 매수

● 주의사항

SYSOUT 데이터 셋에 대한 출력이 아닌 한, FLASH 오퍼랜드는 무시된다.

OpenFrame에서는 인쇄 출력을 위한 FLASH 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완료

후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 외부 프린터 모듈에 FLASH=(FLM1,2)의 정보를 전달하는 예제이다.

//EXF1 DD SYSOUT=A,FLASH=(FLM1,2)

LABEL

데이터 셋의 라벨을 지정한다.

● 사용법

LABEL = ([데이터 셋 순서번호][,_SL_][,PASSWORD][,IN] [,EXPDT={yyyyddd}])

[,SUL] [,NOPWREAD][,OUT] {yyddd}

[,JL] [,] [,] [,RETPD=nnnn]

[,JUL]

[,NSL]

[,NL]

[,BLP]

[,LTM]

[,]

참고

OpenFrame에서는 EXPDT와 RETPD 파라미터만을 지원한다. 나머지 파라미터에 대해서는 문법오

류만 검사하고 사용하지 않기 때문에 본 안내서에서는 언급하지 않는다.

설명항목

데이터 셋의 만료일자를 지정한다. 데이터 셋을 작성할 경우 지정만 유효하

다. 지정된 날이 지나지 않은 경우, 데이터 셋을 추가 수정하거나 삭제할 수

없다.

EXPDT

={yyyyddd} | {yyddd}

- yyyy : 년도를 지정한다. 범위는 1900 ~ 2099이다.

72 OpenFrame JCL 문법 안내서

Page 87: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

- yy : 년도의 뒷자리 2자리를 기록한다. 범위는 0 ~ 99이다. 1900년대로 인식

한다.

- ddd : 날짜를 기록한다. 범위는 1~ 366이다.

EXPDT=99365 또는 EXPDT=1999/365을 지정했을 경우 영구 보존으로 처

리된다.

데이터셋의 보존할 기한을 일수로 지정한다. 데이터 셋을 작성할 경우 지정

만 유효하다.

RETPD=nnnn

- nnnn : 0~9999의 부호없는 정수로 지정한다.

만료일자가 서기 1999년 365일이 되는 값을 지정한 경우도 영구 보존으로

처리된다.

● 주의사항

OpenFrame에서는 데이터 셋 보존의 만료일자 경과 이전에 추가 수정이나 삭제를 방지하는 기능은 지

원하지 않는다. 만료일자가 경과한 경우 시스템이 해당 데이터 셋을 자동 삭제하는 기능만 제공된다.

● 예제

다음은 새로운 데이터 셋 TMAX.PRESERVE를 자기테이프 볼륨에 작성하고 영구 보존할 것을 지정하

는 예제이다.

//DD2 DD DSN=TMAX.PRESERVE,UNIT=848X-1,

// DISP=(,KEEP),VOL=SER=111111,

// LABEL=EXPDT=99365

MODIFY

SYSOUT 데이터 셋의 COPY 수식 모듈명과 CHARS 오퍼랜드로 지정하는 테이블의 순서번호를 지정한

다.

● 사용법

MODIFY = (모듈명[,테이블번호])

설명항목

COPY 수식 모듈명을 1~4자리의 영, 숫자로 지정한다.모듈명

CHARS 오퍼랜드로 지정된 테이블 중의 순서번호를 영, 숫자로 지정한다.테이블번호

● 주의사항

제2장 OS JCL 73

Page 88: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

SYSOUT 데이터 셋에 대한 출력이 아닌 한, MODIFY 오퍼랜드는 무시된다.

OpenFrame에서는 인쇄 출력을 위한 MODIFY 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 외부 프린터 모듈에 CHARS=(TBJ0,TBJ1,TBJ2), MODIFY=(TLE2,2)의 정보를 전달하는 예제이

다.

//OUT1 DD SYSOUT=A,CHARS=(TBJ0,TBJ1,TBJ2),

// MODIFY=(TLE2,2)

OVERLAY

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 서식 OVERLAY 모듈을 지정한다.

● 사용법

OVERLAY = (모듈명[,적용 매수][,APPEND])

[,RESET]

설명항목

서식 OVERLAY 모듈명을 영, 숫자로 지정한다.모듈명

지정한 서식 OVERLAY를 적용해 복사하는 매수를 1~255의 부호없는 정수로 지

정한다. (기본값: 255)

적용 매수

OpenFrame에서는 문법 오류만 검사하고 사용하지는 않는다.APPEND, RESET

● 주의사항

SYSOUT 데이터 셋에 대한 출력이 아닌 한, OVERLAY 오퍼랜드는 무시된다.

OpenFrame에서는 인쇄 출력을 위한 OVERLAY 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행

완료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 외부 프린터 모듈에 OVERLAY=(OVL1,2)의 정보를 전달하는 예제이다.

//EXA1 DD SYSOUT=A,OVERLAY=(OVL1,2)

74 OpenFrame JCL 문법 안내서

Page 89: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

SYSOUT

SYSOUT 데이터 셋의 출력 속성을 지정한다.

● 사용법

SYSOUT = ([클래스][,프로그램명][,서식번호][,sysout 파라미터]...])

[*]

설명항목

SYSOUT 데이터 셋의 출력 클래스를 지정한다. 출력 클래스의 속성

에 따라서 SYSOUT 데이터 셋의 출력 및 출력 보류 등을 지정된다.

클래스

SYSOUT 출력 클래스에 대한 설정은 OpenFrame의 config인 tjes.conf

파일의 [OUTCLASS] 절을 참고한다.

SYSOUT 데이터 셋의 출력 클래스를 시스템 메시지 클래스와 동일

하게 설정함을 의미한다. 시스템 메시지 클래스는 JOB 문에서 MSG

CLASS 오퍼랜드를 통해 지정한다.

asterisk(*)

내부 리더 또는 외부 라이터를 사용해 SYSOUT 데이터 셋을 출력하

는 경우, 그 프로그램의 명칭을 지정한다. 내부 리더에게 출력하는

경우는 INTRDR를 지정한다.

프로그램명

SYSOUT 데이터 셋을 출력할 용지의 서식번호를 지정한다.서식번호

JSS3 JCL인 OUTPUT 문을 지정하는 경우 사용할 수 있다. 자세한

내용은 OUTPUT 문을 참고한다.

sysout 파라미터에 대한 자세한 설명은 표 이후에 설명한다.sysout 파라미터

다음은 SYSOUT 오퍼랜드의 sysout 파라미터 설명이다.

설명sysout 파라미터

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.STACK=값

DD 문의 CHARS 오퍼랜드 기능과 같다.CHARS={테이블명}

{(테이블명[,테이블명]...)}

DD 문의 COPIES 오퍼랜드 기능과 같다.COPIES=(복사횟수[,(그룹복사횟

수[,그룹복사횟수]...)])

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.CMT=값

SYSOUT 데이터 셋의 출력처를 지정한다.DEST=출력처

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.FCDFLT=값

DD 문의 FLASH 오퍼랜드의 기능과 같다.FLASH=값

제2장 OS JCL 75

Page 90: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명sysout 파라미터

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.GAIJI=값

SYSOUT 데이터 셋의 출력 보류 여부를 지정한다.HOLD=({YES|NO}[,K])

K 파라미터는 사용하지 않는다.

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.IMGCHK=값

DD 문의 MODIFY 오퍼랜드의 기능과 같다.MODIFY=값

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.OUTLIM=값

DD 문의 OVERLAY 오퍼랜드의 기능과 같다.OVERLAY=값

● 주의사항

OpenFrame에서는 HOLD를 제외한 인쇄 출력을 위한 SYSOUT 정보를 외부 프린터 모듈에 전달하기

위해 JOB 종료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 출력 클래스를 8, 외부 라이터 프로그램명을 USERWTR, 출력처를 GROUPA로 지정하는 예제

이다. 해당 정보를 외부 프린터 모듈에 전달한다.

//OUT DD SYSOUT=(8,USERWTR),DEST=GROUPA

SPACE

직접 액세스 볼륨에 신규 데이터 셋에 대해 공간의 할당을 지정한다.

OpenFrame에서는 데이터 셋의 스페이스 할당을 Mainframe과 동일하게 지원하지 않는다. 하지만 해당

데이터 셋이 정해진 최대 크기를 초과해서 사용하는 경우에 오류를 발생시키기 위한 용도로 사용한다.

● 사용법

SPACE = ({TRK,} (초기값1[,추가값1][,디렉터리1])[,RLSE] [,CONTIG][,ROUND])

{CYL,} [,] [,XRLSE][,MXIG]

{MB,} [,] [,ALX]

{평균블럭길이,} [,]

SPACE = (ABSTR,(초기값2,주소2[,디렉터리2]))

파라미터 중 지원 및 미지원 파라미터는 다음과 같다.

– 지원 파라미터: TRK, CYL, 평균 블럭 길이, 초기값1, 추가값1, 디렉터리1

설명항목

스페이스 할당량의 초기값 및 추가값의 단위가 트랙 단위인 것을 의미한다.TRK

스페이스 할당량의 초기값 및 추가값의 단위가 실린더 단위인 것을 의미한다.CYL

76 OpenFrame JCL 문법 안내서

Page 91: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

스페이스 할당량의 초기값 및 추가값의 단위가 블럭 단위인 것을 의미한다.평균블럭길이

평균블럭길이에는 블럭의 길이를 1~65535의 부호없는 정수로 지정한다.

데이터 셋의 작성 중에 스페이스가 부족해서 추가를 해야하는 경우 한번에 추가할 값

을 지정한다.

추가값

0~1677721의 부호없는 정수로 지정한다.

스페이스 추가 할당이 허락되는 최대 회수는 기본적으로 15회까지이다.

OpenFrame에서는 Non-VSAM 데이터 셋인 경우 ds.conf 파일의 NVSM_EXTENT_LIM

IT 값으로 최대 추가 할당 횟수를 지정하는 것이 가능하다.

구분 데이터 셋(PDS)를 작성할 때 디렉터리 영역의 스페이스 할당량을 지정한다.디렉터리

0~1677721의 부호없는 정수로 지정한다.

이 파라미터가 지정되면 구분 데이터 셋으로 간주된다.

OpenFrame에서는 문법 검사만 수행하고 이 파라미터가 지정된 경우 구분 데이터 셋

을 의미한다는 사항만 지원한다. 실제로 지정된 값에 의한 스페이스 할당에는 사용하

지는 않는다.

– 미지원 파라미터: MB, RLSE, XRLSE, CONTIG, MXIG, ALX, ROUNT, ABSTR, 초기값2, 주소2, 디렉

터리2

● 주의사항

SPACE 오퍼랜드와 DDNAME, AMP, DLM, asterisk(*) 또는 DATA 오퍼랜드는 서로 배타적이기 때문에

동시에 지정해서는 안된다.

VSAM 데이터 셋을 작성하는 경우 SPACE 오퍼랜드를 지정해서는 안된다.

● 예제

다음은 JOB1의 DD 문에서 새롭게 작성하는 데이터 셋 DATA에 대해서 20트랙을 할당하고 데이터 기

록 중에 스페이스가 부족하면 그때마다 5트랙씩 추가의 스페이스를 할당하는 예제이다. 작성을 종료하

고 CLOSE할 때 미사용 스페이스를 해제하는 것을 나타내고 있다. OpenFrame에서 RLSE는 무시된다.

//JOB1 JOB

// EXEC PGM=PROG1

//DS1 DD DSN=DATA,UNIT=8598,

// VOL=SER=A11111,

// SPACE=(TRK,(20,5),RLSE)

//

제2장 OS JCL 77

Page 92: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 JOB2의 DD 문에서 새롭게 작성하는 구분 데이터 셋 DATA에 대해서 연속한 10실린더를 할당

해 스페이스의 선두에서 디렉터리용으로서 256Byte의 디렉터리 블록을 20개 할당하는 예제이다.

OpenFrame에서 디렉터리 블록 수 20과 CONTIG 파라미터의 지정은 무시된다. 디렉터리 블록 수가 지

정되었다는 사실로부터 구분 데이터 셋을 새롭게 작성한다.

//JOB2 JOB

// EXEC PGM=PROG2

//DS2 DD DSN=DATA,UNIT=8598,

// VOL=SER=B11111,

// SPACE=(CYL,(10,,20),,CONTIG)

//

UNIT

데이터 셋을 할당할 장치를 지정한다.

● 사용법

UNIT = ([장치기호명][,개수][,DEFER])

[장치타입명][,P]

[장치그룹명][,]

[기억풀명]

UNIT = AFF = DD 이름

OpenFrame에서는 1번째 형식의 1번째 파라미터(장치기호명, 장치타입명, 장치그룹명, 기억풀명)만 지

원한다. 나머지 파라미터의 지정은 무시된다.

설명항목

미지원 기능이다.장치기호명

장치타입을 지정한다. 지정된 타입의 장치 중에 하나가 시스템에 의해 선택된다.장치타입명

장치타입은 영, 숫자 및 하이픈(-)으로 이루어진 1~8개의 문자열로 지정한다.

장치그룹을 지정한다.장치그룹명

장치그룹명은 영, 숫자 및 하이픈(-)으로 이루어진 1~8개의 문자열로 지정한다.

장치그룹을 지정하기 위해서는 OpenFrame의 config인 unit.conf 파일에 먼저 장치그

룹명을 정의해야 한다.

미지원 기능이다.기억풀명

● 주의사항

다음의 경우 장치 정보를 시스템이 자체적으로 판단할 수 있기 때문에 UNIT 오퍼랜드는 생략할 수 있

다.

78 OpenFrame JCL 문법 안내서

Page 93: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 데이터 셋이 카탈로그되었을 때

– 데이터 셋이 선행 STEP에서 패스되었을 때

– VOLUME=REF 지정에 의해 선행 DD 문, 또는 카탈로그되어 있는 데이터 셋을 참조했을 때

OpenFrame에서는 Mainframe의 장치를 사용하는 것이 아니라 UNIX OS의 파일 시스템 위에 데이터 셋

을 구현하고 있기 때문에 장치에 대한 할당은 하지 않는다. 다만, 이 오퍼랜드에 의해 지정되는 장치정

보를 기억해 두었다가 다음과 같은 용도로 사용한다.

– 장치 종류별로 다른 처리를 해야하는 경우에 활용한다. 직접 액세스 장치인지 아니면 테이프 장치인

지를 구분하기 위한 용도로 사용한다.

– 장치가 정해지면 볼륨이 확정되는 경우 결정된 장치로부터 볼륨 일련번호를 알아내는 용도로 사용한

다.

● 예제

다음은 EXDD1 DD 문에서 볼륨 일련번호가 VOL001인 볼륨에 새롭게 일시적 데이터 셋을 작성하는 예

제이다. 8598이라고 하는 장치타입 중에서 1대의 장치를 요구하고 있다.

//EXDD1 DD UNIT=8598,SPACE=(CYL,(1,1,1)),

// VOL=SER=VOL001

다음은 EXDD DD 문에서 VOL001 볼륨에 일시적 데이터 셋을 새롭게 작성하는 것을 시스템에 요구하

는 예제이다. UNIT 오퍼랜드에서는 SYSDA라고 하는 장치그룹 중에서 하나의 장치를 할당하도록 요구

하고 있다.

//EXDD DD UNIT=SYSDA,SPACE=(CYL,(1,1)),VOL=VOL001

VOLUME 또는 VOL

데이터 셋의 볼륨을 지정한다.

● 사용법

{VOLUME | VOL}

=([PRIVATE][,RETAIN] [,볼륨순서번호][,개수][,][SER=볼륨일련번호] )

[,RESERVE] [,] [SER=(볼륨일련번호[,볼륨일련번호]...)]

[,] [REF=[데이터 셋 이름][,ALL]]

[,MOD]

[REF=*.DD 이름]

[REF=*.STEP 이름.DD 이름]

[REF=*.STEP 이름.프로시저 STEP 이름.DD

이름]

제2장 OS JCL 79

Page 94: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

파라미터 중 지원 및 미지원 파라미터는 다음과 같다.

– 지원 파라미터: SER, REF

설명항목

데이터 셋을 작성할 볼륨 또는 데이터 셋이 있는 볼륨의 일련번호를

지정한다.

SER=볼륨일련번호, SER=(볼륨

일련번호[,볼륨일련번호]...)

볼륨일련번호는 1~6자리의 인용 문자열로 지정한다.

VOLUME 오퍼랜드로 SER 파라미터만 지정한 경우에는 VOL

UME=SER=(볼륨 일련 번호,…)와 지정할 수 있다.

볼륨 일련번호를 1개 밖에 지정하지 않는 경우, 괄호는 생략할 수 있

다.

지정한 볼륨 일련번호는 OpenFrame의 config인 volume.conf 파일

에 지정되어 있어야 한다.

지정한 데이터 셋이 사용하는 볼륨과 같은 볼륨을 사용할 것을 지정

한다.

REF=데이터 셋 이름

REF 파라미터로 지정하는 데이터 셋명은 세대 데이터 그룹명(GDG)

이어서는 안 된다. GDG의 특정 세대는 지정할 수 있다.

지정된 데이터 셋은 카탈로그되어 있어야 한다. OpenFrame에서는

카탈로그 되지 않고 단순히 패스(PASS)된 DD 문의 데이터 셋 이름

으로 참조하는 것은 지원하지 않는다.

"*[.STEP 이름[.프로시저 STEP 이름].DD 이름"의 부분을 역방향 참

조라고 한다.

REF=*.DD 이름

REF=*.STEP 이름.DD 이름

동일한 JOB의 선행 DD 문으로 지정된 볼륨을 사용할 것을 의미한

다.REF=*.STEP 이름.프로시저 STEP

이름.DD 이름

선행 DD 문의 위치가 선행 JOB STEP인지, 선행 프로시저 STEP인

지에 따라서 각각, STEP 이름 또는 STEP 이름과 프로시저 STEP

이름을 지정한다.

VOLUME 오퍼랜드로 REF 파라미터만 지정한 경우에는 VOL

UME=REF=(역방향 참조,...)의 형태로 지정할 수 있다.

역방향 참조와 함께 ALL이나 MODE를 지정하지 않는 경우는 괄호

는 생략할 수 있다.

역방향 참조가 지정하는 DD가 존재하지 않으면 JOB은 FLUSH로

처리된다.

80 OpenFrame JCL 문법 안내서

Page 95: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– 미지원 마파라미터: PRIVATE, RETAIN, RESERVE, 볼륨순서번호, 개수, REF파라미터의 ALL과

MOD

● 예제

다음은 EXDD01 DD 문에서 볼륨 일련번호 VOL001의 볼륨에 존재하는 기존의 데이터 셋의 사용을 요

청하는 예제이다.

//EXDD01 DD UNIT=848X,VOL=SER=VOL001,

// DISP=(OLD,KEEP),DSN=TAPEDS1

다음은 카탈로그되어 있는 데이터 셋 FILE.ORG가 존재하는 직접 액세스 볼륨에 데이터 셋 FILE.AUTH

을 작성하는 예제이다.

//DD1 DD DSN=FILE.AUTH,DISP=(,KEEP),VOL=REF=FILE.ORG,

// SPACE=(CYL,(5,1))

다음은 선행 JOB STEP의 DD 문 DD1로 정의된 데이터 셋 FILE을 확장하는 예제이다. OpenFrame에

서 PRIVATE 파라미터와 볼륨 카운트 2의 지정은 무시된다.

//STEP1 EXEC PGM=BUILD

//DD1 DD DSN=FILE,DISP=(OLD,KEEP),VOL=SER=111111,

// UNIT=8598

//STEP2 EXEC PGM=EXPAND

//DD2 DD DSN=FILE,DISP=(MOD,KEEP),

// VOL=(PRIVATE,,,2,REF=*.STEP1.DD1)

2.4. 스페셜 DD 문특별한 이름의 DD 이름을 사용하는 DD 문에 대해서 설명한다. OpenFrame에서는 아래에 기술된 DD를

제외한 DD에 대해서는 스페셜 DD로 취급하지 않는다.

2.4.1. SYSIN DD

해당하는 STEP의 프로그램에서 사용하게 될 stdin 데이터가 있는 데이터 셋을 지정한다.

EXEC 문 이후부터 다음 EXEC 문이나 JOB의 마지막 사이에 기술한다.

다음은 TMAXSOFT 프로그램이 stdin으로 'sysin data' 라는 데이터를 받는 예제이다.

//STEP1 PGM=TMAXSOFT

//SYSIN DD *

sysin data

/*

제2장 OS JCL 81

Page 96: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 TMAXSOFT 프로그램이 stdin으로 'TMAXSOFT.DATA' 라는 데이터 셋의 내용을 받는 예제이다.

//STEP1 PGM=TMAXSOFT

//SYSIN DD DSN=TMAXSOFT.DATA,DISP=SHR

2.4.2. SYSOUT DD와 SYSPRINT DD

SYSOUT DD나 SYSPRINT DD는 모두 해당하는 STEP의 프로그램에서 출력하는 stdout와 stderr를 담을

데이터 셋을 지정한다.

SYSOUT DD과 SYSPRINT DD가 둘다 지정되어 있는 경우 SYSOUT DD가 사용되고 SYSPRINT는 아무

런 내용도 기술되지 않는다.

EZTPA00와 같이 다른 제품과의 연동을 위한 유틸리티에서는 SYSPRINT DD에 대해서 다른 용도로 사용

하기도 한다.

EXEC 문 이후부터 다음 EXEC 문이나 JOB의 마지막 사이에 기술한다.

참고

EZTPA00에서 SYSPRINT DD의 사용에 대한 내용은 OpenFrame 안내서 중 "유틸리티 안내서"를 참

고한다.

다음은 TMAXSOFT 프로그램에서 나온 stdout과 stderr이 SYSOUT DD로 지정한 임시 파일에 기록되는

예제이다.

//STEP1 PGM=TMAXSOFT

//SYSOUT DD DSN=&&OUT,DISP=(NEW,PASS),VOLUME=100000

다음은 SYSOUT DD과 SYSPRINT DD를 같이 사용하면 SYSOUT DD에 TMAXSOFT 프로그램에서 나온

stdout과 stderr이 기록되는 예제이다.

//STEP1 PGM=TMAXSOFT

//SYSOUT DD *

//SYSPRINT DD *

2.4.3. JOBLIB DD와 STEPLIB DD

JOBLIB DD와 STEPLIB DD는 모두 STEP에서 실행할 프로그램을 찾기 위해 사용된다.

● JOBLIB DD

JOBLIB DD로 지정한 것은 JOB 내의 모든 STEP에서 실행할 프로그램을 찾을 때 참조한다.

JOBLIB DD는 JOB 문 이후로 1번째 EXEC 문이 나오기 전에 기술한다.

82 OpenFrame JCL 문법 안내서

Page 97: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● STEPLIB DD

STEPLIB DD로 지정한 것은 해당 STEP에서 실행할 프로그램을 찾을 때 참조한다.

STEPLIB DD는 EXEC 문 이후부터 다음 EXEC 문이나 JOB의 마지막 사이에 기술한다.

JOBLIB DD가 선언되어 있더라도 해당 STEP에서 STEPLIB DD가 선언되어 있으면 해당 STEP에서는

STEPLIB DD만이 사용된다. JOBLIB DD는 STEPLIB DD가 선언되지 않은 STEP에서만 사용된다.

참고

프로그램을 찾는 순서에 대한 내용은 “2.2. EXEC 문”의 PGM 오퍼랜드의 설명을 참고한다.

다음은 TMAXSOFT 프로그램을 JOBLIB DD에서 선언한 TMAX.JOBLIB 데이터 셋에서 우선적으로 찾는

예제이다.

//JOB1 JOB

//JOBLIB DD DSN=TMAX.JOBLIB,DISP=SHR

//STEP1 PGM=TMAXSOFT

//SYSOUT DD *

다음은 STEP1의 TMAXSOFT 프로그램을 STEPLIB DD에서 선언한 TMAX.STEPLIB 데이터 셋에서 우선

적으로 찾고, 찾지 못했더라도 JOBLIB DD로 선언한 TMAX.JOBLIB 데이터 셋에서는 찾지 않는 예제이다.

STEP2의 TMAXSOFT 프로그램을 JOBLIB DD에서 선언한 TMAX.JOBLIB 데이터 셋에서 찾는다.

//JOB1 JOB

//JOBLIB DD DSN=TMAX.JOBLIB,DISP=SHR

//STEP1 PGM=TMAXSOFT

//STEPLIB DD DSN=TMAX.STEPLIB,DISP=SHR

//SYSOUT DD *

//STEP2 PGM=TMAXSOFT

//SYSOUT DD *

2.4.4. JOBCAT DD와 STEPCAT DD

JOBCAT DD와 STEPCAT DD는 모두 STEP에서 사용하는 데이터 셋이 등록되어 있는 카탈로그를 지정

한다.

● JOBCAT DD

JOBCAT DD로 지정한 것은 JOB 내의 모든 STEP에서 사용하는 데이터 셋이 등록되어 있는 카탈로그

이다.

JOBCAT DD는 JOB 문 이후로 1번째 EXEC 문이 나오기 전에 기술한다.

제2장 OS JCL 83

Page 98: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● STEPCAT DD

STEPCAT DD로 지정한 것은 해당 STEP에서 사용하는 데이터 셋이 등록되어 있는 카탈로그이다.

STEPCAT DD는 EXEC 문 이후부터 다음 EXEC 문이나 JOB의 마지막 사이에 기술한다.

JOBCAT DD가 선언되어 있더라도 해당 STEP에서 STEPCAT DD가 선언되어 있으면 해당 STEP에서는

STEPCAT DD만이 사용된다. JOBCAT DD는 STEPCAT DD가 선언되지 않은 STEP에서만 사용된다.

JOBCAT DD나 STEPCAT DD에서 지정한 카탈로그에서 해당 데이터 셋을 찾지 못했을 경우에는 마스터

카탈로그에서 데이터 셋을 찾는다.

다음은 TMAX.SYSIN 데이터 셋을 JOBCAT DD에서 선언한 TMAX.JOBCAT 카탈로그에서 우선적으로 찾

는 예제이다.

//JOB1 JOB

//JOBCAT DD DSN=TMAX.JOBCAT,DISP=SHR

//STEP1 PGM=TMAXSOFT

//SYSIN DD DSN=TMAX.SYSIN,DISP=SHR

//SYSOUT DD *

다음은 STEP1의 TMAX.SYSIN 데이터 셋을 STEPCAT DD에서 선언한 TMAX.STEPCAT 카탈로그에서

우선적으로 찾고, 찾지 못했더라도 JOBCAT DD로 선언한 TMAX.JOBCAT 카탈로그에서는 찾지 않는 예

제이다.

STEP2의 TMAX.SYSIN 데이터 셋을 JOBCAT DD에서 선언한 TMAX.JOBCAT 카탈로그에서 찾는다.

//JOB1 JOB

//JOBCAT DD DSN=TMAX.JOBCAT,DISP=SHR

//STEP1 PGM=TMAXSOFT

//STEPCAT DD DSN=TMAX.STEPCAT,DISP=SHR

//SYSIN DD DSN=TMAX.SYSIN,DISP=SHR

//SYSOUT DD *

//STEP2 PGM=TMAXSOFT

//SYSIN DD DSN=TMAX.SYSIN,DISP=SHR

//SYSOUT DD *

2.5. 단락문Instream 데이터의 마지막 줄 바로 뒤에 위치하여 Instream 데이터의 마지막을 의미한다.

Instream 데이터의 시작을 의미하는 DD 문("DD *" 또는 "DD DATA")이 없는 상태에서 Instream 데이터(//

나 /*로 시작하지 않는 문장)가 나타나면 시스템은 다음의 문장을 자동으로 생성하여 SYSIN DD의 Instream

데이터로 들어가도록 한다.

//SYSIN DD *

84 OpenFrame JCL 문법 안내서

Page 99: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

2.5.1. SYNTAX

/*[주석]

설명항목

주석은 "/*" 이후 3번째 칸부터 기술한다.[주석]

주석을 3번째 칸부터 바로 기술하면 "/*PRIORITY"와 같이 JSS3 문장으로 인

식할 수도 있기 때문에 3번째 칸에는 공백을 기술하는 것을 권장한다.

2.6. 공문JOB의 마지막을 나타낸다.

공문 이후로 다음 JOB 문이나 JSS3의 PRIORITY 문이 나타날 때까지의 데이터는 무시한다.

2.6.1. SYNTAX

//

2.7. 주석문주석을 기술한다.

2.7.1. SYNTAX

//*[주석]

설명항목

주석은 "//*" 이후 4번째 칸부터 기술한다. 주석을 여러 줄에 기술하려면 항상

앞의 3자리는 "//*"로 시작해야 한다.

[주석]

주석을 4번째 칸부터 바로 기술하면 "//*NET"이나 "//*MAIN"과 같이 JSS3 문

장으로 인식할 수도 있기 때문에 4번째 칸에는 공백을 기술하는 것을 권장한

다.

주석문은 어디라도 기술할 수 있다. Instream 데이터의 사이에는 기술해서는 안된다. 기술할 경우 기술한

곳에서 Instream 데이터가 끝난 것으로 간주된다. 그리고 그 이후의 Instream 데이터는 새로운 SYSIN DD

로 등록된다.

OpenFrame에서는 "##"으로 시작하는 문장도 특별히 주석으로 처리한다.

제2장 OS JCL 85

Page 100: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

2.8. PROC 문프로시저의 시작을 의미한다.

프로시저에는 다음의 2가지 타입이 있다.

● 입력 스트림 프로시저

입력으로 받은 JOB의 스트림에 지정이 되어 있어서 해당 JOB에서만 사용할 수 있는 일시적인 프로시

저이다.

PROC 문은 JOB 문 이후로 다음 JOB이 나오기 전까지 어느 위치에든 기술하면 된다. 입력 스트림 프로

시저의 경우 PEND 문을 사용하여 프로시저의 끝을 반드시 기술해야 한다.

● 카탈로그 프로시저

카탈로그에 등록되어 있어서 어느 JOB이나 호출해서 사용할 수 있는 프로시저이다.

2.8.1. SYNTAX

//[PROC 이름]△¹PROC△¹[기호 파라미터=[값]]...△¹[주석]

설명항목

명칭 기술 위치로, "//"에 이어서 3번째 칸부터 기술한다.PROC 이름

PROC 이름은 입력 스트림 프로시저에서는 반드시 기술해야 하며 기호명칭

으로 지정한다.

카탈로그 프로시저에서는 기술하지 않아도 된다. 카탈로그 프로시저를 EXEC

문에서 호출할 때 사용되는 프로시저명은 카탈로그 프로시저가 등록되어 있

는 멤버명이다.

오퍼레이션 기술 위치로, PROC 이름 뒤에 1개 이상의 공백을 두고 'PROC'이

라고 기술한다. PROC 이름을 생략한 경우에는 "//" 이후로 1개 이상의 공백

을 두고 기술한다.

PROC

'PROC' 이후에 1개 이상의 공백을 두고 기호 파라미터들을 기술한다.[기호 파라미터=[값]]

기호 파라미터는 EXEC 문의 오퍼랜드와 같은 것을 사용할 수 없다. 기호 파

라미터에 대한 자세한 내용은 표 이후에 설명한다.

기호 파라미터들 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째

칸까지 기술할 수 있다.

[주석]

기호 파라미터를 하나도 기술하지 않으면 주석은 기술할 수 없다.

86 OpenFrame JCL 문법 안내서

Page 101: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

기호 파라미터

프로시저에서 사용하는 기호 파라미터들의 값들을 지정한다.

기호 파라미터만 정의하고 값을 지정하지 않으면 시스템은 NULL값이 지정된 것으로 판단한다.

해당 프로시저를 호출하는 EXEC 문에서 기호 파라미터가 지정이 되어 있으면 프로시저에서 같은 기호

파라미터는 오버라이드되고 다른 기호 파라미터는 추가된다.

기호 파라미터는 프로시저 내의 제어문에서 다음과 같이 사용된다.

● 기호 파라미터의 앞에 ampersand(&)를 붙여서 사용한다.

시스템은 "&기호 파라미터" 형식으로 되어있는 것을 해당하는 기호 파라미터의 값으로 치환한다.

● "&기호 파라미터"에서 기호 파라미터의 끝은 다음과 같이 지정할 수 있다.

– 공백, 마침표(.), 콤마(,), 괄호, "\n", 작은 따옴표(')가 있으면 그 전까지를 기호 파라미터로 인식한다.

다음 예제에서는 "&ABC" 다음에 콤마(,)가 있으므로 "ABC"를 기호 파라미터로 인식한다.

//STEP1 EXEC PGM=&ABC,PARM=8

– 마침표(.)로 기호 파라미터의 끝을 구분하는 경우 이 마침표(.)까지가 기호 파라미터의 값으로 치환된

다.

다음 예제에서는 "&ABC" 다음에 마침표(.)가 있으므로 "&ABC."가 TMAX로 치환이 되어 PGM의 값은

TMAXSOFT가 된다.

//PROC PROC ABC=TMAX

//STEP1 EXEC PGM=&ABC.SOFT,PARM=8

– 치환할 수 있는 기호 파라미터가 여러 개인 경우에는 가장 긴 이름의 기호 파라미터로 치환한다.

다음 예제에서는 "&ABC"와 "&ABCD"가 모두 기호 파라미터이지만 더 길이가 긴 "ABCD"를 치환하여

PGM의 값은 "tmaxEFG"가 된다.

//PROC PROC ABC=TMAX,ABCD=tmax

//STEP1 EXEC PGM=&ABCDEFG,PARM=8

기호 파라미터는 다음과 같은 경우에는 치환되지 않는다.

● "&&기호 파라미터" 형식으로 ampersand(&)가 2개가 붙어 있으면 치환하지 않는다. "&&&기호 파라미

터" 형식이면 "&&치환값"으로 치환된다.

● 치환하려는 기호 파라미터가 정의되어 있지 않으면 치환하지 않는다.

제2장 OS JCL 87

Page 102: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

2.9. PEND 문프로시저의 마지막을 나타낸다.

입력 스트림 프로시저에서는 마지막에 꼭 기술해야 하지만 카탈로그 프로시저에서는 마지막에 기술하지

않아도 문제되지 않는다.

2.9.1. SYNTAX

//[PEND명]△¹PEND△[주석]

설명항목

명칭 기술 위치로, "//"에 이어서 3번째 칸부터 기술한다. 명칭은 생략할 수 있다.[PEND명]

오퍼레이션 기술 위치로, 명칭 뒤에 1개 이상의 공백을 두고 'PEND'라고 기술한

다. 명칭을 생략한 경우 "//" 이후로 1개 이상의 공백을 두고 기술한다.

PEND

PEND 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째 칸까지 기술할

수 있다.

[주석]

2.10. OS 커맨드문OpenFrame에서는 지원하지 않는다.

88 OpenFrame JCL 문법 안내서

Page 103: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

제3장 JSS3 JCL

3.1. PRIORITY 문JOB의 우선순위를 지정한다.

PRIORITY 문은 JOB 문의 바로 전에 기술한다. JOB 문의 바로 전에 기술하지 않으면 문법 오류가 발생한

다.

3.1.1. SYNTAX

/*PRIORITY△¹우선순위

설명항목

오퍼레이션 기술 위치로, "/*"에 이어서 3번째 칸에 'PRIORITY'라고 기술한다.PRIORITY

오퍼레이션란 이후로 1개 이상의 공백을 두고 1~15의 숫자 또는 asterisk(*)를 기

술한다. 우선순위에 대한 자세한 내용은 표 이후에 설명한다.

우선순위

우선순위

JOB의 우선순위를 기술한다.

● 기능

JOB의 우선순위는 JOB CLASS와 함께 스케줄링에 사용되며 숫자가 높을수록 우선순위가 높다.

스케줄러에서는 동일 CLASS를 가진 JOB들이 있을 때 이 오퍼랜드의 값에 따라서 어떤 JOB을 먼저 실

행할지를 결정한다.

동일한 우선순위를 가질 경우에는 먼저 SUBMIT된 JOB이 실행된다. JOB의 우선순위는 Aging 정책에

따라서 시간이 지날수록 높아진다.

참고

우선순위에 관한 config는 tjes.conf 파일의 [SCHEDULING] 절을 참고한다.

● 사용법

우선순위

제3장 JSS3 JCL 89

Page 104: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

JOB의 스케줄링에 관계되는 우선순위를 1~15의 숫자 또는 asterisk(*)로 기술한다.우선순위

● 주의사항

이 오퍼랜드를 사용하기 위해서는 tjes.conf 파일 [SCHEDULING] 절의 PRTYJECL 항목을 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

3.2. XEQ 문OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

3.2.1. SYNTAX

/*XEQ△¹오퍼랜드

90 OpenFrame JCL 문법 안내서

Page 105: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

3.3. JOBPARM 문JOB의 제어 정보를 기술한다.

JOBPARM 문은 JOB 문 이후에 기술한다. 오퍼랜드가 중복될 경우 처음 기술된 값이 사용된다.

3.3.1. SYNTAX

/*JOBPARM△¹키워드 오퍼랜드[,키워드 오퍼랜드]...△¹[주석]

설명항목

오퍼레이션 기술 위치로, "/*"에 이어서 3번째 칸에 'JOBPARM'라고 기술한

다.

JOBPARM

오퍼레이션란 이후로 1개 이상의 공백을 두고 키워드 오퍼랜드를 기술한다.

오퍼랜드의 순서는 상관없다. 오퍼랜드에 대한 자세한 내용은 표 이후에 설

명한다.

키워드 오퍼랜드[,키워드

오퍼랜드]

오퍼랜드란 이후에 1개 이상의 공백을 두고 기술한다. 주석은 71번째 칸까지

기술할 수 있다.

[주석]

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서는 문법 오류만 검

사하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 키워드 오퍼랜드

– CARDS 또는 C

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

CARDS | C = 값

– LINES 또는 L

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

LINES | L = 값

– PAGELIM 또는 G

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PAGELIM | G = 값

제3장 JSS3 JCL 91

Page 106: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– TIME 또는 T

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

TIME | T = 값

– COPIES 또는 N

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

COPIES | N = 값

– FCB

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FCB = 값

– FORMS 또는 F

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FORMS | F = 값

– LINECT 또는 K

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

LINECT | K= 값

– PROCLIB 또는 P

STEP에서 실행할 프로시저를 찾는 데 사용된다.

PROCLIB | P = 카탈로그 프로시저의 라이브러리 DD 이름

설명항목

카탈로그 프로시저를 찾을 때 참조할 라이브러리 리스트가 설정된

DD 이름을 지정한다.

카탈로그 프로시저의 라이브러리

DD 이름

– ROOM 또는 R

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

ROOM | R = 값

– MDEST

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

92 OpenFrame JCL 문법 안내서

Page 107: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

MDEST = 값

– SYSTEM 또는 S

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

SYSTEM | S = 값

– ESTORAGE 또는 X

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

ESTORAGE | X = 값

– DSPSIZE 또는 D

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DSPSIZE | D = 값

– SSPSIZE 또는 U

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

SSPSIZE | U = 값

– LGC1

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

LGC1 = 값

– PAGEC

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PAGEC = 값

– JSPECAN

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

JSPECAN = 값

– XLGID

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

XLGID = 값

제3장 JSS3 JCL 93

Page 108: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

3.3.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

PROCLIB 또는 P

STEP에서 실행할 프로시저를 찾는 데 사용된다.

● 기능

PROCLIB이 지정되면 시스템은 STEP에서 실행할 프로시저를 지정된 PROCLIB을 통해서 검색한다.

OpenFrame config인 tjes.conf 파일 [PROCLIB] 절에서 PROCLIB에 지정된 카탈로그 프로시저의 라이

브러리 DD 이름으로 데이터 셋 리스트를 가져온다. 가져온 데이터 셋 리스트의 멤버들 중에서 프로시

저를 우선적으로 검색한다.

STEP에서 실행할 프로시저를 검색하는 순서는 다음과 같다. 3번까지 검색하고도 대상 프로시저를 찾

지 못하면 FLUSH가 발생한다.

1. 입력 스트림 프로시저 중에서 검색한다.

2. JOBPARM 문의 PROCLIB이 지정되어 있다면 tjes.conf 파일 [PROCLIB] 절의 PROCLIB의 값으로

설정된 데이터 셋들의 멤버 중에서 검색한다.

3. SYS1.PROCLIB의 멤버 중에 검색한다.

참고

config에 대한 자세한 내용은 OpenFrame 안내서 중 "TJES 안내서"의 "제7장 환경설정"을 참고한다.

● 사용법

PROCLIB | P = 카탈로그 프로시저의 라이브러리 DD 이름

설명항목

카탈로그 프로시저를 찾을 때 참조할 라이브러리 리스트가 설정된

DD 이름을 지정한다.

카탈로그 프로시저의 라이브러리

DD 이름

● 주의사항

OpenFrame config인 tjes.conf 파일 [PROCLIB] 절의 PROCLIB에 카탈로그 프로시저의 라이브러리 DD

이름이 없으면 해당 오퍼랜드는 사용되지 않는다.

● 예제

94 OpenFrame JCL 문법 안내서

Page 109: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 JOBPARM 문에서 PROCLIB을 사용하는 예제이다. PROCLIB을 PROC00으로 지정하였으므로

STEP1의 PROC01은 tjes.conf 파일 [PROCLIB] 절의 PROC00에 지정된 데이터 셋들의 멤버 중에서 프

로시저를 검색한다.

//JOB1 JOB

/*JOBPARM PROCLIB=PROC00

//STEP1 EXEC PROC01

//SYSOUT DD SYSOUT=*

3.4. MESSAGE 문OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

3.4.1. SYNTAX

/*MESSAGE△¹오퍼랜드

3.5. SETUP 문OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

3.5.1. SYNTAX

/*SETUP△¹오퍼랜드

3.6. OUTPUT 문일반적으로 SYSOUT 데이터 셋의 속성은 DD 문의 SYSOUT 오퍼랜드를 통해서 지정하지만, OUTPUT

문은 이미 지정된 SYSOUT 데이터 셋의 속성을 지정한다.

OUTPUT 문이 지정된 경우 DD 문을 통해서 지정한 SYSOUT 데이터 셋 속성(OUTPUT 문과 중복되는 속

성)은 모두 무시된다.

OUTPUT 문은 JOB 문 이후에 기술한다.

JOB 문 내에서 같은 서식번호의 OUTPUT 문이 여러 번 기술된 경우 1번째로 기술된 OUTPUT 문이 사용

된다.

제3장 JSS3 JCL 95

Page 110: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

3.6.1. SYNTAX

/*OUTPUT△¹1번째 오퍼랜드△¹키워드 오퍼랜드[,키워드 오퍼랜드]

설명항목

오퍼레이션 기술 위치로, "/*"에 이어서 3번째란에 'OUTPUT'이라고 기술한

다.

OUTPUT

오퍼레이션란 이후로 1개 이상의 공백을 두고 서식번호 또는 asterisk(*)를 기

술한다. 1번째 오퍼랜드에 대한 자세한 내용은 표 이후에 설명한다.

1번째 오퍼랜드

1번째 오퍼랜드 이후로 1개 이상의 공백을 두고 키워드 오퍼랜드를 기술한

다. 키워드 오퍼랜드의 순서는 상관없다. 오퍼랜드에 대한 자세한 내용은 표

이후에 설명한다.

키워드 오퍼랜드[,키워드

오퍼랜드]

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 오퍼랜드 중 OpenFrame에서는 문법 오류만 검사하고

사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 1번째 오퍼랜드

OUTPUT 문의 1번째 오퍼랜드에는 서식번호 또는 asterisk(*)를 지정한다.

– 서식번호

서식번호는 OUTPUT 문이 수식할 DD의 서식번호를 1~4문자의 영, 숫자로 지정한다.

DD 문에서 서식번호는 SYSOUT 오퍼랜드의 3번째 위치 파라미터에 지정한다.

OUTPUT 문에서 지정한 서식번호와 DD 문의 SYSOUT 데이터 셋의 속성이 중복될 경우 OUTPUT

문에서 지정한 속성이 사용된다.

DD 문의 SYSOUT 오퍼랜드의 2번째 위치 파라미터인 프로그램이 INTRDR로 지정된 DD는 OUTPUT

문이 적용되지 않는다.

다음은 OUTPUT 문에서 지정한 서식번호와 DD 문의 SYSOUT 데이터 셋의 속성이 중복되는 예제이

다. DD1은 OUTPUT 문의 속성이 사용되어서 CHARS는 10으로 COPIES는 10으로 지정된다.

/*OUTPUT OUT1 CHARS=10,COPIES=10

//DD1 DD SYSOUT=(*,,OUT1,CHARS=1,COPIES=10)

– asterisk(*)

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

● 키워드 오퍼랜드

96 OpenFrame JCL 문법 안내서

Page 111: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– COPIES 또는 N

SYSOUT 데이터 셋의 복사 횟수를 지정한다.

COPIES | N = 복사 횟수

설명항목

1~255의 부호없는 정수로 지정한다.복사 횟수

– DEST 또는 D

SYSOUT 데이터 셋의 출력처를 지정한다.

DEST | D = (출력처[,출력처]...)

설명항목

영, 숫자로 지정한다.출력처

– FCB 또는 C

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FCB | C = 값

– FLASH 또는 O

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 식별명을 지정한다.

FLASH | O = 필름명

설명항목

1~4자리의 영, 숫자로 지정한다.필름명

– FLASHC 또는 Q

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 적용 매수를 지정한

다.

FLASHC | Q = 적용 매수

설명항목

부호없는 정수로 지정한다.적용 매수

– FORMS 또는 F

제3장 JSS3 JCL 97

Page 112: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

SYSOUT 데이터 셋의 서식번호를 지정한다.

FORMS | F = 서식번호

설명항목

1~4자리의 영, 숫자로 지정한다.서식번호

– INDEX 또는 I

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

INDEX | I = 값

– LINDEX 또는 L

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

LINDEX | L = 값

– LINECT 또는 K

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

LINECT | K = 값

– KEEP

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

KEEP = 값

– CMT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

CMT = 값

– CHARS 또는 X

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 지정한다.

CHARS | X = (테이블명[,테이블명]...)

설명항목

1~4자리의 영, 숫자로 지정한다.테이블명

– COPYG 또는 G

98 OpenFrame JCL 문법 안내서

Page 113: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

SYSOUT 데이터 셋의 그룹 복사 횟수를 지정한다.

COPYG | G = (그룹 복사 횟수[,그룹 복사 횟수]...)

설명항목

1~255의 부호없는정수이다.그룹 복사 횟수

– FCDFLT

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

FCDFLT = 값

– INTERVAL

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

INTERVAL = 값

– MODIFY 또는 Y

SYSOUT 데이터 셋의 COPY 수식 모듈명을 지정한다.

MODIFY | Y = 모듈명

설명항목

1~4자리의 영, 숫자이다.모듈명

– MODTRC 또는 M

SYSOUT 데이터 셋의 CHARS 오퍼랜드로 지정하는 테이블의 순서를 지정한다.

MODTRC | M = 테이블번호

설명항목

0~3의 부호없는 정수이다.테이블번호

– OVERLAY

서식 OVERLAY 모듈명을 지정한다.

OVERLAY = (모듈명[,모듈명]...)

설명항목

1~4자리의 영, 숫자이다.모듈명

제3장 JSS3 JCL 99

Page 114: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

– OVERC

서식 OVERLAY를 적용하는 매수를 지정한다.

OVERC = (적용 매수[,적용 매수]...)

설명항목

1~255의 부호없는 정수이다.적용 매수

– GAIJI

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

GAIJI = 값

– GAIJIO

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

GAIJIO = 값

– PAGEC 또는 A

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

PAGEC | A = 값

3.6.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

COPIES 또는 N

SYSOUT 데이터 셋의 복사 횟수를 지정한다.

● 사용법

COPIES | N = 복사 횟수

설명항목

SYSOUT 데이터 셋의 복사 횟수를 1~255의 부호없는 정수로 지정한다. 기본값은 1

이다.

복사 횟수

● 주의사항

100 OpenFrame JCL 문법 안내서

Page 115: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame에서는 인쇄 출력을 위한 COPIES 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 SYSOUT 데이터 셋의 복사 횟수를 10으로 지정하는 예제이다.

/*OUTPUT NONP COPIES=10

//OUT DD SYSOUT=(J, , NONP)

DEST 또는 D

SYSOUT 데이터 셋의 출력처를 지정한다.

● 사용법

DEST | D = (출력처[,출력처]...)

설명항목

SYSOUT 데이터 셋의 출력처를 지정한다. 최대 4개까지 지정한다.출력처

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 DEST 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완료

후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 SYSOUT 데이터 셋의 출력처를 BCCOMP로 지정하는 예제이다.

/*OUTPUT NONP DEST=BCCOMP

//OUT DD SYSOUT=(J, , NONP)

FLASH 또는 O

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 식별명을 지정한다.

● 사용법

FLASH | O = 필름명

설명항목

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 식별

명을 지정한다. 식별명은 1~4자리의 영숫자로 지정한다.

필름명

● 주의사항

제3장 JSS3 JCL 101

Page 116: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame에서는 인쇄 출력을 위한 FLASH 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완료

후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 필름 OVERLAY의 식별명을 FLM1로 지정하는 예제이다.

/*OUTPUT NOF5 FLASH=FLM1

//OUT DD SYSOUT=(A, , NOF5)

FLASHC 또는 Q

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 적용 매수를 지정한다

● 사용법

FLASHC | Q = 적용 매수

설명항목

용지에 일정한 서식, 범위를 미리 인쇄하는 경우에 사용하는 필름 OVERLAY의 적용

매수를 1~255의 부호없는 정수로 지정한다. 기본값은 0이다.

적용 매수

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 FLASHC 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 필름 OVERLAY의 적용 매수를 5로 지정하는 예제이다.

/*OUTPUT NOF5 FLASH=FLM1,FLASHC=5

//OUT DD SYSOUT=(A, , NOF5)

FORMS 또는 F

SYSOUT 데이터 셋의 서식번호를 지정한다.

● 사용법

FORMS | F = 서식번호

설명항목

SYSOUT 데이터 셋의 서식번호를 1~4자리의 영, 숫자로 지정한다.서식번호

● 주의사항

102 OpenFrame JCL 문법 안내서

Page 117: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OpenFrame에서는 인쇄 출력을 위한 FORMS 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 SYSOUT 데이터 셋의 서식번호를 5로 지정하는 예제이다.

/*OUTPUT NOF5 FLASH=FLM1,FORMS=5

//OUT DD SYSOUT=(A, , NOF5)

CHARS 또는 X

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 지정한다.

● 사용법

CHARS | X = (테이블명[,테이블명]...)

설명항목

데이터 셋을 출력할 때 출력 문자와 크기에 대한 설정 테이블을 1~4자리의 영, 숫자로

지정한다. 최대 4개까지 지정할 수 있다.

테이블명

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 CHARS 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 데이터 출력 문자와 크기 설정 테이블로 TBL1, TBL2을 지정하는 예제이다.

/*OUTPUT NOF5 CHARS=(TBL1,TBL2)

//OUT DD SYSOUT=(A, , NOF5)

COPYG 또는 G

SYSOUT 데이터 셋의 그룹 복사 횟수를 지정한다.

● 사용법

COPYG | G = (그룹 복사 횟수[,그룹 복사 횟수]...)

설명항목

SYSOUT 데이터 셋의 페이지 단위의 그룹 복사 횟수를 1~255의 부호없는 정수로 지

정한다. 최대 8개까지 지정할 수 있다.

그룹 복사 횟수

제3장 JSS3 JCL 103

Page 118: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 CHARS 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 그룹별로 복사 횟수를 각각 2,3,1로 지정하는 예제이다.

/*OUTPUT NOF2 COPYG=(2,3,1)

//OUT DD SYSOUT=(A, , NOF2)

MODIFY 또는 Y

SYSOUT 데이터 셋의 COPY 수식 모듈명을 지정한다.

● 사용법

MODIFY | Y = 모듈명

설명항목

SYSOUT 데이터 셋의 COPY 수식 모듈명을 1~4자리의 영, 숫자로 지정한다.모듈명

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 MODIFY 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 COPY 수식 모듈명으로 EDIT을 지정하는 예제이다.

/*OUTPUT NONP COPYG=(3,3), MODIFY=EDIT

//OUT DD SYSOUT=(J, , NONP)

MODTRC 또는 M

SYSOUT 데이터 셋의 CHARS 오퍼랜드로 지정하는 테이블 중 사용할 테이블을 순서에 대응한 번호로 지

정한다.

● 사용법

MODTRC | M = 테이블번호

설명항목

SYSOUT 데이터 셋의 CHARS 오퍼랜드로 지정하는 테이블 중 사용할 테이블을 순

서에 대응한 번호로 지정한다.

테이블번호

104 OpenFrame JCL 문법 안내서

Page 119: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

● 주의사항

OUTPUT 문에 MODIFY 오퍼랜드의 지정이 없으면, 이 오퍼랜드의 지정은 무시된다.

OpenFrame에서는 인쇄 출력을 위한 MODTRC 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행

완료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 TBL2를 사용하는 예제이다.

/*OUTPUT NONP CHARS=(TBL1,TBL2), MODIFY=EDIT,MODTRC=2

//OUT DD SYSOUT=(J, , NONP)

OVERLAY

서식 OVERLAY 모듈명을 지정한다.

● 사용법

OVERC = (모듈명[,모듈명]...)

설명항목

서식 OVERLAY 모듈명을 1~4자리의 영, 숫자로 지정한다모듈명

● 주의사항

OpenFrame에서는 인쇄 출력을 위한 OVERLAY 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행

완료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 서식 OVERLAY 모듈명을 OVL1, OVL2로 지정하는 예제이다.

/*OUTPUT NOF1 OVERLAY=(OVL1, OVL2)

//OUT DD SYSOUT=(A, , NOF1)

OVERC

서식 OVERLAY를 적용하는 매수를 지정한다.

● 사용법

OVERC = (적용 매수[,적용 매수]...)

제3장 JSS3 JCL 105

Page 120: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

SYSOUT 데이터 셋의 페이지 단위의 그룹 복사 횟수를 1~255의 부호없는 정수로 지

정한다. 최대 8개까지 지정할 수 있다.

적용 매수

● 주의사항

OUTPUT 문에 OVERLAY 오퍼랜드의 지정이 없으면, 이 오퍼랜드의 지정은 무시된다.

OpenFrame에서는 인쇄 출력을 위한 OVERC 정보를 외부 프린터 모듈에 전달하기 위해 JOB 실행 완

료 후 저장하고 있다. 해당 정보의 사용유무는 외부 프린터 모듈의 필요에 따라 다르다.

● 예제

다음은 OVL1의 서식 OVERLAY 적용 매수를 2, OVL2의 서식 OVERLAY 적용 매수를 3으로 지정하는

예제이다.

/*OUTPUT NOF1 OVERLAY=(OVL1, OVL2),OVERC=(2,3)

//OUT DD SYSOUT=(A, , NOF1)

3.7. ROUTE 문OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

3.7.1. SYNTAX

/*ROUTE△¹오퍼랜드

3.8. MAIN 문JOB 실행의 시작시간 또는 종료시간을 지정한다.

MAIN 문은 JOB 문 이후에 기술한다. 여러 줄에 걸쳐서 기술할 수 있다. 여러 줄에 걸쳐서 기술하려면 1번

째 줄을 콤마(,)로 끝내면서 2번째 줄을 "//*"로 시작하고 4번째 칸부터 내용을 기술한다. JOB 문 내에 MAIN

문이 여러 번 기술된 경우 1번째로 기술된 MAIN 문이 사용된다.

3.8.1. SYNTAX

//*MAIN△¹키워드 오퍼랜드[,키워드 오퍼랜드]

설명항목

오퍼레이션 기술 위치로, "//*"에 이어서 4번째 칸에 'MAIN'이라고 기술한다.MAIN

106 OpenFrame JCL 문법 안내서

Page 121: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

오퍼레이션란 이후로 1개 이상의 공백을 두고 키워드 오퍼랜드를 기술한다.

오퍼랜드의 순서는 상관없다. 오퍼랜드에 대한 자세한 내용은 표 이후에 설

명한다.

키워드 오퍼랜드[,키워드

오퍼랜드]

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서는 문법 오류만 검

사하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 키워드 오퍼랜드

– DEADLINE

OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

DEADLINE = 값

– START

JOB 실행의 시작시간을 지정한다.

START = (JOB 시작시간[,절대일자] )

[,상대날짜,{WEEKLY} ]

{MONTHLY}

{YEARLY}

3.8.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

START

JOB 실행의 시작시간을 지정한다.

● 사용법

START = (JOB 시작시간[,절대일자] )

[,상대날짜,{WEEKLY} ]

{MONTHLY}

{YEARLY}

제3장 JSS3 JCL 107

Page 122: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

JOB 실행의 시작시간을 지정한다. 지정하는 방법에는 3가지가 있다.JOB 시작시간

- nM : JOB을 SUBMIT한 시점부터 n분 경과한 이후에 스케줄링이

되도록 한다. n은 0~5759까지이다.

- nH : JOB을 SUBMIT한 시점부터 n시간 경과한 이후에 스케줄링이

되도록 한다. n은 0~95까지이다.

- hhmm : 절대시간 hh시 mm분 이후에 스케줄링이 되도록 한다.

JOB의 시작일자를 절대일자 기준으로 지정한다. 날짜는 mmddyy

형식으로 지정한다.

절대일자

절대일자를 지정하지 않고 JOB 시작시간을 hhmm 형식인 절대 시

간으로 지정한 경우 해당 시간이 지나지 않았으면 당일이 지정된 것

으로 하고 지났으면 다음날이 지정된 것으로 한다.

yy의 값은 00~74(2000년 ~ 2074년), 75~99(1975년 ~ 199년)까지의

값으로 지정한다.

JOB의 시작일자를 Week,Month,Year을 주기로 그 주기에 대한 상

대일자 기준으로 지정한다. JOB 시작시간을 절대시간으로 지정한

상대날짜,{WEEKLY|MONTH

LY|YEARLY}

경우 해당 시간이 지났으면 다음주, 다음달 또는 다음해로 지정된 것

으로 한다.

- WEEKLY : 주기를 일주일 단위로 한다. 일요일을 1이라고 보고 1~7

사이의 값을 지정한다. 7보다 큰 숫자는 7로 판단한다.

- MONTHLY : 주기를 월 단위로 한다. 1일을 1이라고 보고 1 ~ 31까

지의 값을 지정한다. 해당 달의 마지막날보다 큰 숫자는 마지막날로

판단한다.

- YEARLY : 주기를 년 단위로 한다. 1월 1일을 1이라고 보고 1 ~ 365

(윤년은 1 ~ 366)까지의 값을 지정한다. 해당 년의 마지막 날보다 큰

숫자를 마지막 날로 판단한다.

● 주의사항

날짜를 지정하지 않는 경우 괄호를 생략할 수 있다.

JOB 시작시간을 nM이나 nH와 같은 상대시간으로 지정한 경우 날짜는 지정해서는 안된다.

● 예제

다음은 JOB 실행의 시작시간으로 SUBMIT 이후 40분 이후를 지정한 예제이다.

//*MAIN START=40M

108 OpenFrame JCL 문법 안내서

Page 123: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 JOB 실행의 시작시간으로 SUBMIT 이후 2시간 이후를 지정한 예제이다.

//*MAIN START=(2H)

다음은 JOB 실행의 시작시간으로 15시 00분을 지정한 예제이다.

//*MAIN START=1500

다음은 JOB 실행의 시작시간으로 다음 월요일로 10시로 지정한 예제이다. (현재를 토요일로 가정한다.)

//*MAIN START=(1000,2,WEEKLY)

다음은 JOB 실행의 시작시간으로 11월 11일 15시 24분으로 지정한 예제이다. (현재를 10월 30일로 가

정한다.)

//*MAIN START=(1524,11,MONTHLY)

다음은 JOB 실행의 시작시간으로 다음해의 2월 10일 12시로 지정한 예제이다. (현재를 12월 25일로 가

정한다.)

//*MAIN START=(1200,41,YEARLY)

3.9. NET 문여러 개의 JOB이 상호적인 실행 관계를 갖고 있을 때 해당 JOB들의 모임을 NET이라고 한다.

NET 문은 JOBNET의 상호 실행 관계를 기술하고 JOB 문 이후에 기술한다. 여러 줄에 걸쳐서 기술하려면

1번째 줄을 콤마(,)로 끝내면서 2번째 라인을 "//*"로 시작하고 4번째 칸부터 내용을 기술한다. JOB 문 내

에 NET 문이 여러 번 기술된 경우 1번째로 기술된 NET 문이 사용된다.

3.9.1. SYNTAX

//*NET△¹키워드 오퍼랜드[,키워드 오퍼랜드]

설명항목

오퍼레이션 기술 위치로, "//*"에 이어서 4번째 칸에 'NET'이라고 기술한다.NET

오퍼레이션란 이후로 1개 이상의 공백을 두고 키워드 오퍼랜드를 기술한다.

오퍼랜드의 순서는 상관없다. 오퍼랜드에 대한 자세한 내용은 표 이후에 설

명한다.

키워드 오퍼랜드[,키워드

오퍼랜드]

제3장 JSS3 JCL 109

Page 124: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

오퍼랜드

다음은 앞에서 언급한 오퍼랜드에 대한 설명이다. 키워드 오퍼랜드 중 OpenFrame에서는 문법 오류만 검

사하고 사용하지 않는 오퍼랜드를 제외한 오퍼랜드는 다음 절에서 자세하게 기술한다.

● 키워드 오퍼랜드

– NETID 또는 ID

해당 JOB이 속할 NET 이름을 지정한다.

NETID | ID = NET 이름

설명항목

기호명칭으로 지정한다.NET 이름

– NHOLD 또는 HC

해당 JOB이 실행되기 전에 실행되어야 하는 선행 JOB의 수를 지정한다.

NHOLD | HC = 선행 JOB 수

설명항목

0~255의 부호없는 정수로 지정한다.선행 JOB 수

– RELEASE 또는 RL

해당 JOB의 동일 NET 내에 있는 후행 JOB들을 지정한다.

RELEASE | RL = (JOB 이름[,JOB 이름]...)

설명항목

기호명칭으로 지정한다.JOB 이름

– NORMAL 또는 NC

선행 JOB이 정상적으로 끝났을 때 해당 JOB의 처리 방법을 지정한다.

NORMAL | NC = {D}

{F}

{R}

설명항목

선행 JOB 수(NHOLD 값)를 1을 감소시킨다.D(Default)

110 OpenFrame JCL 문법 안내서

Page 125: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

해당 JOB 및 이후 후행 JOB들을 모두 FLUSH 처리한다.F(Flush)

현재 상태 그대로 유지한다. 선행 JOB 수도 줄이지 않고 FLUSH 처리도 하지 않는다.R(Retain)

– ABNORMAL 또는 AB

선행 JOB이 비정상적으로 끝났을 때 해당 JOB의 처리 방법을 지정한다.

ABNORMAL | AB = {D}

{F}

{R}

설명항목

선행 JOB 수(NHOLD 값)를 1을 감소시킨다.D(Default)

해당 JOB 및 후행 JOB들을 모두 FLUSH 처리한다.F(Flush)

현재 상태 그대로 유지한다. 선행 JOB 수도 줄이지 않고 FLUSH 처리도 하지 않는다.R(Retain)

– NETREL 또는 NR

해당 JOB의 다른 NET 내의 후행 JOB을 지정한다.

NETREL | NR = (NET 이름,JOB 이름)

설명항목

기호명칭으로 지정한다.NET 이름

기호명칭으로 지정한다.JOB 이름

– OPHOLD 또는 OH

해당 JOB을 오퍼레이터 HOLD 상태로 할지 여부를 지정한다.

OPHOLD | OH = {YES}

{NO}

– COND 또는 CD

해당 JOB이 정상 종료해도 후행 JOB에서 이상 종료(ABEND)로 처리되는 조건을 지정한다.

COND | CD = 코드

설명항목

0~4095의 부호없는 정수로 지정한다.코드

제3장 JSS3 JCL 111

Page 126: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

3.9.2. 오퍼랜드

본 절에서는 앞에서 언급한 오퍼랜드 중 OpenFrame에서 문법 오류만 검사하는 오퍼랜드를 제외한 오퍼

랜드에 대해 자세하게 기술한다.

NETID 또는 ID

해당 JOB이 속할 NET 이름을 지정한다.

● 사용법

NETID | ID = NET 이름

설명항목

해당 JOB이 속할 NET 이름을 1~8자리의 영, 숫자로 지정한다.NET 이름

● 주의사항

이 오퍼랜드는 생략할 수 없다.

● 예제

다음은 JOB이 NET1에 속하도록 지정하는 예제이다.

//*NET NETID=NET1

NHOLD 또는 HC

해당 JOB이 실행되기 전에 실행되어야 하는 선행 JOB의 수를 지정한다.

● 기능

선행 JOB 수가 0이 아닐 경우, JOB은 스케줄링되지 않고 0이 되었을 때 스케줄링을 시작한다.

다른 JOB에서 RELEASE나 NETREL 오퍼랜드를 통해서 이 JOB을 릴리즈하면 선행 JOB 수는 1씩 감

소한다.

● 사용법

NHOLD | HC = 선행 JOB 수

설명항목

해당 JOB의 선행 JOB 수를 0~255로 지정한다.선행 JOB 수

● 주의사항

112 OpenFrame JCL 문법 안내서

Page 127: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

이 오퍼랜드가 생략되면 선행 JOB수는 0이 된다.

● 예제

다음은 JOB1에서 NHOLD가 생략된 예제이다. NHOLD가 생략되었기 때문에 선행 JOB 수가 0으로 지

정되어 바로 스케줄링되어 실행한다. 이후 JOB1이 종료되면 JOB2의 선행 JOB수가 1에서 0으로 감소

한다. JOB2의 선행 JOB 수가 0이 되므로 스케줄링되어 실행한다.

//JOB1 JOB

//*NET NETID=NET1,RELEASE=JOB2

//JOB2 JOB

//*NET NETID=NET1,NHOLD=1

RELEASE 또는 RL

해당 JOB의 동일 NET 내에 있는 후행 JOB들을 지정한다.

● 기능

JOB 이름을 하나만 기술할 경우 괄호를 생략할 수 있다.

NET에 속하지 않은 JOB 이름을 기술하면 그 JOB 이름은 무시된다.

● 사용법

RELEASE | RL = (JOB 이름[,JOB 이름]...)

설명항목

동일 NET 내의 후행 JOB들을 지정한다.JOB 이름

● 예제

다음은 후행 JOB으로 JOB2를 지정하는 예제이다.

//*NET NETID=NET1,RELEASE=JOB2

제3장 JSS3 JCL 113

Page 128: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

NORMAL 또는 NC

선행 JOB이 정상적으로 끝났을 때 해당 JOB의 처리 방법을 지정한다.

● 사용법

NORMAL | NC = {D}

{F}

{R}

설명항목

선행 JOB 수(NHOLD 값)를 1을 감소시킨다.D(Default)

해당 JOB 및 이후 릴리즈해야 하는 JOB들을 모두 FLUSH 처리한다.F(Flush)

현재 상태 그대로 유지한다. 즉, 선행 JOB 수도 줄이지 않고 FLUSH 처리도 하지 않

는다.

R(Retain)

● 주의사항

이 오퍼랜드가 생략되면 D가 지정된 것으로 판단한다.

● 예제

다음은 선행 JOB이 정상 종료될 경우의 처리를 R로 지정하는 예제이다.

//*NET NETID=NET1,NHOLD=1,NORMAL=R

ABNORMAL 또는 AB

선행 JOB이 비정상적으로 끝났을 때 해당 JOB의 처리 방법을 지정한다.

● 사용법

ABNORMAL | AB = {D}

{F}

{R}

설명항목

선행 JOB 수(NHOLD 값)를 1을 감소시킨다.D(Default)

해당 JOB 및 이후 릴리즈해야 하는 JOB들을 모두 FLUSH 처리한다.F(Flush)

현재 상태 그대로 유지한다. 즉, 선행 JOB 수도 줄이지 않고 FLUSH 처리도 하지 않

는다.

R(Retain)

● 주의사항

114 OpenFrame JCL 문법 안내서

Page 129: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

이 오퍼랜드가 생략되면 R이 지정된 것으로 판단한다.

● 예제

다음은 선행 JOB이 비정상 종료될 경우 선행 JOB 수(NHOLD 값)를 1을 감소시키는 예제이다.

//*NET NETID=NET1,NHOLD=1,ABNORMAL=D

NETREL 또는 NR

해당 JOB의 다른 NET 내의 후행 JOB을 지정한다.

● 기능

이 오퍼랜드를 통해서 다른 NET 간에도 서로 실행 관계를 가질 수 있게 된다.

● 사용법

NETREL | NR = (NET 이름,JOB 이름)

설명항목

후행 JOB이 속한 NET을 지정한다.NET 이름

후행 JOB 이름을 지정한다.JOB 이름

● 주의사항

이 오퍼랜드를 통해서 기술할 수 있는 후행 JOB은 하나이다.

● 예제

다음은 JOB1이 종료되면 NET2에 속한 JOB2에 릴리즈를 하고, JOB2의 선행 JOB 수는 1에서 0으로

감소하는 예제이다. JOB2의 선행 JOB 수가 0이 되었기 때문에 스케줄링되어 실행한다.

//JOB1 JOB

//*NET NETID=NET1,NETREL=(NET2,JOB2)

//JOB2 JOB

//*NET NETID=NET2,NHOLD=1

제3장 JSS3 JCL 115

Page 130: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

OPHOLD 또는 OH

해당 JOB을 오퍼레이터 HOLD 상태로 할지의 여부를 지정한다.

● 기능

해당 JOB을 오퍼레이터 HOLD 상태로 할지의 여부를 지정한다.

오퍼레이터 HOLD 상태로 지정되면 해당 JOB은 선행 JOB수가 0이 되어도 스케줄링이 되지 않는다.

● 사용법

OPHOLD | OH = {YES}

{NO}

● 주의사항

– 이 오퍼랜드를 생략하면 기본값은 NO이다.

– 오퍼레이터 HOLD 상태로 되어있는 JOB은 TJESMGR COMMAND인 SETNET을 통해서 HOLD 상

태를 해제할 수 있다.

– OS JCL의 JOB 문에 있는 TYPRUN 오퍼랜드에서 지정하는 JCLHOLD나 HOLD와는 별개이다.

● 예제

다음은 오퍼레이터 HOLD 상태로 지정하는 예제이다.

//*NET NETID=NET1,OPHOLD=YES

COND 또는 CD

해당 JOB이 정상 종료해도 후행 JOB에서 이상 종료(ABEND)로 처리되는 조건을 지정한다.

● 기능

해당 JOB이 정상 종료해도 COND 오퍼랜드를 통해 지정한 코드의 값보다 큰 반환코드인 경우, 후행

JOB에서 선행 JOB이 이상 종료(ABEND)된 것으로 처리된다.

● 사용법

COND | CD = 코드

설명항목

부호 없는 정수로 0~4095까지의 값으로 지정한다.코드

● 예제

116 OpenFrame JCL 문법 안내서

Page 131: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

다음은 JOB1의 반환코드가 8 이하이면 정상 종료하도록 지정하는 예제이다. JOB1 이후 JOB인 JOB2

에서 ABNORMAL 오퍼랜드의 설정이 적용된다.

//JOB1 JOB

//*NET NETID=NET1,RELEASE=JOB2,COND=8

3.10. ADMIT 문OpenFrame에서는 문법 오류만 검사하고 사용하지 않는다.

3.10.1. SYNTAX

/*ADMIT△¹오퍼랜드

3.11. JSS3 커맨드문JSS3 커맨드를 기술한다.

3.11.1. SYNTAX

/*\커맨드△°오퍼랜드

설명항목

오퍼레이션 기술 위치로, "/*\"에 이어서 4번째 칸에 커맨드를 기술한다. 지원

되는 커맨드에 대한 설명은 표 이후에 설명한다.

커맨드

오퍼레이션 이후로 0개 이상의 공백을 두고 오퍼랜드를 기술한다. 오퍼랜드

는 커맨드의 종류에 따라서 다르다.

오퍼랜드

JSS3 커맨드문은 최초의 JOB이 나타나기 전에 기술한다. 이외의 위치에서 기술된 JSS3 커맨드문은 사

용되지 않는다. JSS3 커맨드문을 통해서 실행된 커맨드의 성공 여부는 JSS3 커맨드문 이후에 기술된 JOB

이 SUBMIT되거나 실행되는 데 전혀 영향을 주지 않는다.

커맨드

다음은 앞에서 언급한 커맨드 항목에 대한 설명으로, OpenFrame에서 지원하는 커맨드는 다음과 같다.

● P (Stop)

입력하는 jobid에 해당하는 JOB의 출력 작업을 중지하고 출력 데이터 셋을 Purge한다.

/*\P jobid

제3장 JSS3 JCL 117

Page 132: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

설명항목

출력 작업을 중지하고자 하는 JOB의 ID를 지정한다.jobid

● R (Route)

입력하는 jobid에 해당하는 JOB의 출력 클래스를 입력받은 클래스로 변경한다.

/*\R jobid,C=class

설명항목

출력 클래스를 변경할 JOB의 ID를 지정한다.jobid

변경할 클래스를 지정한다.C

● T (Set)

입력하는 JOBNET의 jobid에 해당하는 JOB의 NET 속성을 변경한다.

/*\T NET,ID=JOBNET 이름,jobid,{ D | I }=n

/*\T NET,ID=JOBNET 이름[,jobid],{ C | H | R}

/*\T NET,ID=JOBNET 이름, F

설명항목

변경할 JOB이 속한 JOBNET 이름을 지정한다.JOBNET 이름

변경할 JOB의 ID를 지정한다.jobid

- D=n: n만큼 NET의 NHOLD 값을 감소한다.{ D | I }=n

- I=n: n만큼 NHOLD 값을 증가한다.

- C: OpenFrame에서는 지원하지 않는다.{ C | H | R}

- H: 해당 JOB을 OPHOLD한다. OPHOLD는 JOB의 상태를 HOLD하는 것과는 다르

다.

- R: 해당 JOB을 OPHOLD에서 해제한다.

해당 JOBNET가 FLUSH된다. FLUSH된 JOBNET은 소멸된다.F

● V

입력한 OS command를 실행한다.

/*\V S,'OS command'

다음은 OS command의 설명이다.

– S 또는 START

118 OpenFrame JCL 문법 안내서

Page 133: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

입력한 프로시저를 SUBMIT한다.

S[TART] 프로시저명,기호 파라미터=값[,기호 파라미터=값]...

설명항목

SUBMIT할 프로시저명을 지정한다. 프로시저는 SYS1.PROCLIB에 등록되어 있어야

한다.

프로시저명

PROC 문의 기호 파라미터를 참고한다.기호 파라미터

– C 또는 CANCEL

입력하는 jobid에 해당하는 JOB을 CANCEL시킨다.

C[ANCEL] jobid

설명항목

CANCEL할 JOB의 ID를 지정한다.jobid

제3장 JSS3 JCL 119

Page 134: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요
Page 135: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

색인

DDD 문

asterisk(*)와 DATA, 56

CHARS, 58

COPIES, 58

DCB, 59

DDNAME, 62

DISP, 64

DLM, 66

DSNAME 또는 DSN, 67

DUMMY, 57

FLASH, 71

LABEL, 72

MODIFY, 73

OVERLAY, 74

SPACE, 76

SYSOUT, 75

UNIT, 78

오퍼랜드, 48

EEXEC 문

COND, 39

PARM, 43

PERFORM, 44

PGM, 35

PROC, 37

기호 파라미터, 45

오퍼랜드, 32

프로시저 STEP 이름, 38

JJOB 문

CLASS, 19

COND, 21

MSGCLASS, 22

MSGLEVEL, 23

PASSWORD, 24

PERFORM, 25

PRTY, 26

RESTART, 27

TYPRUN, 28

USER, 30

오퍼랜드, 15

JOBPARM 문

PROCLIB 또는 P, 94

오퍼랜드, 91

JSS3 JCL의 기술 순서, 13

JSS3 커맨드문

커맨드, 117

MMAIN 문

오퍼랜드, 107

NNET 문

ABNORMAL 또는 AB, 114

COND 또는 CD, 116

NETID 또는 ID, 112

NETREL 또는 NR, 115

NHOLD 또는 HC, 112

NORMAL 또는 NC, 114

OPHOLD 또는 OH, 116

RELEASE 또는 RL, 113

오퍼랜드, 110

OOS JCL의 기술 순서, 12

OUTPUT 문

CHARS 또는 X, 103

COPIES 또는 N, 100

COPYG 또는 G, 103

DEST 또는 D, 101

FLASH 또는 O, 101

FLASHC 또는 Q, 102

FORMS 또는 F, 102

MODIFY 또는 Y, 104

색인 121

Page 136: JCL 문법 안내서 - TmaxSoft · 2019-04-09 · jcl 문법 안내서는 총 3개의 장으로 구성되어 있다. 각 장의 주요 내용은 다음과 같다. 제1장: jcl 개요

MODTRC 또는 M, 104

OVERC, 105

OVERLAY, 105

오퍼랜드, 96

PPRIORITY 문

우선순위, 89

122 OpenFrame JCL 문법 안내서