IBM 메인프레임 유틸리티 프로그램
은
MVS
와 같은
IBM
메인프레임
運營 體制
에 供給되는
유틸리티 소프트웨어
로서,
데이터셋
等에 關聯한 다양한 作業을 遂行한다.
다음의 目錄은
OS/360
以後 世代에 配布된 유틸리티를 記述한다.
VSE
나
VM
유틸리티는 包含되지 않는다.
歷史/共通 JCL
[
編輯
]
유틸리티들 多數가 IBM 使用者들에 依해 設計되었다.
이 유틸리티들은
作業 制御 言語
(JCL)를 통해 呼出되는 것이 普通이다. 이들은 데이터셋을 위해 共通 JCL DD 識別者를 使用하는 傾向이 있다.
DDNAME
|
機能
|
SYSIN
|
유틸리티의 '命令語'를 위한 入力 파일. 基本 動作을 願하는 境遇 DUMMY로 설정.
|
SYSUT1
|
入力 파일
|
SYSUT2
|
出力 파일
|
SYSUT3
|
출력물 (SYSUT1)를 위한 作業用 파일 (자주 쓰이지 않음)
|
SYSUT4
|
출력물 (SYSUT2)를 위한 作業用 파일 (자주 쓰이지 않음)
|
SYSPRINT
|
유틸리티로부터 PRINT된 出力물을 위한 出力 파일
|
SYSOUT
|
유틸리티로부터의 메시지를 위한 出力 파일
|
SYSUDUMP
|
프로그램 失敗 時 시스템 덤프를 위한 出力 파일
|
데이터셋 유틸리티
[
編輯
]
유틸리티
|
機能
|
IDCAMS
|
VSAM
, 비VSAM 데이터셋을 만들고 修正한다.
|
IEBCOMPR
|
順次 또는 파티션된 데이터셋의 레코드를 比較한다.
|
IEBCOPY
|
파티션된 데이터셋을 複寫, 壓縮, 倂合한다.
|
IEBDG
|
패턴化된 데이터를 이루는 테스트 데이터셋을 만든다.
|
IEBEDIT
|
JCL의 一部를 選擇的으로 複寫한다.
|
IEBGENER
|
順次 데이터셋으로부터 레코드를 複寫하거나 파티션된 데이터셋을 만든다.
|
IEBIMAGE
|
IBM 3800 레이저 印刷 下位 시스템과 IBM 4248 프린터를 위한 여러 種類의 定義들(이미지)을 造作한다.
|
IEBISAM
|
ISAM
데이터셋의 積載를 解除하거나 摘載하고, 複寫하고 印刷한다.
|
IEBPTPCH
|
順次 또는 파티션된 데이터셋으로부터의 레코드를 出力하거나 穿孔한다.
|
IEBUPDTE
|
順次 또는 파티션된 데이터셋의 變更 事項들을 統合한다. UNIX의 patch 유틸리티와 비슷하지만 相異한 入力 포맷 마커를 使用한다.
(예: MVS의 "./ INSERT ..."는 유닉스 Patch의 "@@..." 가 된다.)
|
IDCAMS
[
編輯
]
IDCAMS ("Access Method Services")는
假想 記憶 接近 方式
(VSAM)과 VSAM이 아닌 데이터셋을 만들고 修正한다. IDCAMS는
OS/VS
의 VSAM과 함께 導入되었다. "接近 方式" 參照는 "VSAM이 다른 모든 接近 方式을 代替한다"는 OS/VS의 마인드에서 비롯된다. IDCAMS는 VSAM과 비VSAM 파일 모두를 위해 수많은 機能을 遂行하는 것으로 看做된다.
예:
//
XXXXXXXW
JOB
XXXXXXX
,
AAAA
,
CLASS
=
G
,
MSGCLASS
=
1
,
NOTIFY
=&
SYSUID
//
STEP001
EXEC
PGM
=
IDCAMS
//
SYSIN
DD
*
REPRO INFILE(FILE01) OUTFILE(FILE02)
/*
//
FILE01
DD
DSN
=
PROD
.
FILE1
.
INPUT
,
disp
=
shr
.....
//
FILE02
DD
DSN
=
PROD
.
FILE2
.
OUTPUT
,
//
DISP
=
(
NEW
,
CATLG
,
DELETE
),
//
UNIT
=
DASD
,
//
SPACE
=
(
TRK
,(
100
,
10
),
RLSE
),
//
DCB
=
(
RECFM
=
FB
,
BLKSIZE
=
0
,
LRECL
=
80
)
//
SYSPRINT
DD
SYSOUT
=
*
//
SYSOUT
DD
SYSOUT
=
*
//
SYSUDUMP
DD
SYSOUT
=
*
//*
위의 例에서 SYSIN 컨트롤 카드들은 인스트림 파일에서 가져오지만, 使用者가 願하는 境遇 順次 파일이나 PDS 멤버, 또는 臨時 데이터셋을 가리키게 할 수도 있다. SYSIN 파일의 使用 例는 다음과 같다:
//
SYSIN
DD
DSN
=
PROD
.
MYFILE
.
REPRO
,
DISP
=
SHR
다음과 같이 할 수도 있다:
//
SYSIN
DD
DSN
=
PROD
.
MYLIB
.
CNTLLIB
(
REPRO
),
//
DISP
=
SHR
IEBCOMPR
[
編輯
]
IEBCOMPR는 順次 또는 파티션 데이터셋의 레코드들을 比較한다.
IEBCOMPR 유틸리티는 두 個의 順次 또는 파티션 데이터셋을 比較하는데 使用된다. 이 데이터셋 比較는 論理 레코드 水準에서 遂行된다. 그러므로 IEBCOMPR은 데이터셋의 백업 寫本이 올바른지 (原本과 完全히 一致하는지) 確認하는데 흔히 使用된다.
處理 中에 IEBCOMPR은 各各의 데이터셋에서 各各의 레코드를 하나씩 比較한다. 레코드가 同等하지 않으면, IEBCOMPR은 SYSOUT에 다음의 情報를 羅列한다:
- 疑問視되는 레코드 및 블록 番號.
- 不一致가 發生한 DD 門의 이름.
- 同等하지 않은 레코드.
順次 데이터셋을 比較할 때, IEBCOMPR은 다음의 條件이 充足하는 境遇 데이터셋을 同等하다고 認識한다:
- 데이터셋에 同一한 數의 레코드가 包含되어 있다.
- 一致하는 레코드와 키가 同一하다.
파티션 데이터셋의 境遇, IBECOMPR은 다음의 條件이 充足하는 境遇 데이터셋을 同等하다고 認識한다:
- 두 個의 파티션 데이터셋의 디렉터리 엔트리가 一致한다. 卽, 이름이 同一하고 엔트리 수도 同一하다.
- 一致하는 멤버에는 同一한 數의 레코드를 包含하고 있다.
- 一致하는 레코드와 키는 同一하다.
10個의 同等하지 않은 比較가 處理 中에 發生하면, IECOMPR은 適切한 메시지와 함께 終了된다.
//
XXXXXXXW
JOB
XXXXXXX
,
AAAA
.
A
.
A
,
CLASS
=
G
,
MSGCLASS
=
1
,
NOTIFY
=
XXXXX
//
STEP01
EXEC
PGM
=
IEBCOMPR
,
ACCT
=
PJ00000000
//
INCLUDE
MEMBER=@BATCHS
//*SYSIN DD DUMMY
//
SYSIN
DD
*
COMPARE TYPORG=PO
/*
//
SYSUT1
DD
DSN
=
XXXXXXX
.
OLDFILE
,
UNIT
=
DASD
,
DISP
=
SHR
//
SYSUT2
DD
DSN
=
XXXXXXX
.
NEWFILE
,
UNIT
=
DASD
,
DISP
=
SHR
//
SYSUT
#
DD
參考: IEBCOMPR은 使用者에게 친숙하도록 設計된 比較 프로그램이 아니다. 特定한 컬럼에만 比較를 制限할 수 없고, 空白의 差異를 無視할 수도 없으며, 레코드의 어느 部分에서 差異가 있는지 알려주지도 않으며, 10個의 差異 以後에는 中斷된다. 한便, 速度가 빠르며 모든 IBM 메인프레임에 存在한다. 그러므로 재차단되지 않은 로드 모듈을 比較한다든지, 複寫 作業이 올바르게 이루어졌는지를 確認하는 等 完全히 一致하는지를 確認할 때 有用하다. 프로그램이나 報告書를 比較할 때에는
ISPF
SuperC (ISRSUPC) 比較 프로그램이 代身 種種 使用된다.
IEBCOPY
[
編輯
]
IEBCOPY는 파티션된 데이터셋을 複寫, 壓縮, 倂合한다. 또, 複寫 作業 途中 指定된 멤버를 選擇, 除外시킬 수 있으며, 멤버를 代替하거나 멤버 이름을 바꿀 수 있다.
IBECOPY 유틸리티의 境遇, 複寫에 必要한 JCL 門은 다음과 같다:
//
stepname
EXEC
PGM
=
IEBCOPY
//
SYSPRINT
DD
SYSOUT
=
class
//
MYDD1
DD
DSN
=
xxxx
.
ppp
.
psps
,
DISP
=
SHR
//
MYDD2
DD
DSN
=
xxxx
.
ppp
.
pssp
,
DISP
=
SHR
//
SYSIN
DD
*
COPY INDD=MYDD1,OUTDD=MYDD2
SELECT MEMBER=(MEM1,MEM2,MEM3)/ EXCLUDE MEMBER=(SF,DF,SA)
IEBDG
[
編輯
]
IEBDG('Data Generator')는 패턴化된 데이터를 이루는 테스트 데이터셋을 만든다.
IEBEDIT
[
編輯
]
IEBEDIT는 JCL의 一部를 選擇的으로 複寫한다.
IEBEDIT 프로그램의 例는 다음과 같다:
//
IEBEDITJ
JOB
ACCT
,
''
,
CLASS
=
P
,
MSGCLASS
=
T
,
MSGLEVEL
=
(
1
,
1
),
NOTIFY
=&
SYSUID
//
STEP0001
EXEC
PGM
=
IEBEDIT
//
SYSPRINT
DD
SYSOUT
=
*
//
SYSUT1
DD
DSN
=
xxxxx
.
yyyyy
.
zzzzz
,
DISP
=
SHR
//
SYSUT2
DD
SYSOUT
=
(
*
,
INTRDR
)
//
SYSIN
DD
*
EDIT TYPE=INCLUDE,STEPNAME=(STEP10,STEP5,STEP15)
/*
//
IEBGENER
[
編輯
]
IEBGENER는 順次 데이터셋으로부터 레코드를 複寫하거나 파티션된 데이터셋을 만든다.
IEBGENER 프로그램을 使用하여 데이터셋을 다른 것으로 複寫하는 例이다:
//
IEBGENER
JOB
ACCT
,
'DATA COPY'
,
MSGCLASS
=
J
,
CLASS
=
A
//
STEP010
EXEC
PGM
=
IEBGENER
//
SYSUT1
DD
DSN
=
xxxxx
.
yyyyy
.
zzzzz
,
DISP
=
SHR
//
SYSUT2
DD
DSN
=
aaaaa
.
bbbbb
.
ccccc
,
DISP
=
(,
CATLG
),
//
UNIT
=
SYSDA
,
SPACE
=
(
TRK
,(
5
,
5
),
RLSE
),
//
DCB
=
(
RECFM
=
FB
,
LRECL
=
1440
)
//
SYSPRINT
DD
SYSOUT
=
*
//
SYSIN
DD
DUMMY
IEBIMAGE
[
編輯
]
IEBIMAGE는 IBM 3800 레이저 印刷 下位 시스템과 IBM 4248 프린터를 위한 여러 種類의 定義들(이미지)을 造作한다. 一般的으로는 FCB(forms control buffer), 文字 整列票, 文字 正義, 폼의 이미지가 텍스트와 나란히 출력물에 印刷한다든지, 會社 로고를 文書에 印刷한다든지, 單純히 그레이바 페이지를 印刷하는 目的으로 使用된다. 이 유틸리티를 使用하여 다른 수많은 形態의 로고들을 그림으로 貯藏할 수 있고 必要하면 印刷할 수도 있으며 모두 同一한 標準 블랙 페이퍼를 使用하므로 미리 印刷된 수많은 폼을 쌓아둘 必要가 없고 造作者가 프린터들 中斷하고 用紙를 交換할 必要도 없다.
IEBISAM
[
編輯
]
IEBISAM은
ISAM
데이터셋의 積載를 解除하거나 摘載하고, 複寫하고 印刷한다. ISAM은 現代의 大部分의 運營 體制에서 VSAM으로 代替되었기 때문에 흔히 使用되지 않는다. VSAM 파일들은 IEBISAM 代身 IDCAMS 유틸리티를 使用한다.
IEBPTPCH
[
編輯
]
IEBPTPCH ("PrinT and PunCH")는 順次 또는 파티션된 데이터셋으로부터의 레코드를 出力하거나 穿孔한다.
//
IEBPTPCH
JOB
//
EXEC PGM=IEBPTPCH
//
SYSIN
DD
*
PRINT MAXFLDS=2
TITLE ITEM=('Name',22),
ITEM=('GPA',50)
TITLE ITEM=(' ',1)
RECORD FIELD=(25,1,,22),
FIELD=(4,51,,50)
/*
//
SYSPRINT
DD
SYSOUT
=
*
//
SYSUT1
DD
*
Person 1 307 C Meshel Hall 3.89
Second person 123 Williamson Hall 2.48
3rd person 321 Maag Library 1.52
/*
//
SYSUT2
DD
SYSOUT
=
*
//
비어있는 데이터셋 確認:
데이터셋이 비어있는 것으로 確認되면 RC=4를, 그렇지 않으면 0을 返還한다.
//
IEBPTPCH
JOB
//
EXEC PGM=IEBPTPCH
//
SYSUT1
DD
DSN
=
<
filename
>,
DISP
=
SHR
//
SYSUT2
DD
DUMMY
,
//
DCB
=
(
BLKSIZE
=
<
block
size>,RECFM=FA)
//
SYSIN
DD
*
PRINT TYPORG=PS
/*
//
SYSPRINT
DD
SYSOUT
=
*
//
IEBUPDTE
[
編輯
]
IEUPDTE는 順次 또는 파티션된 데이터셋의 變更 事項들을 統合한다. UNIX의 patch 유틸리티와 비슷하지만 相異한 入力 포맷 마커를 使用한다. (예: MVS의 "./ INSERT ..."는 유닉스 Patch의 "@@..." 가 된다.)
IEUPDTE에 쓰이는 作業 制御는 다음과 같다:
//
stepname
EXEC
PGM
=
IEUPDTE
,
PARM
=
NEW
//
SYSPRINT
DD
SYSOUT
=
class
//
SYSUT1
DD
...
//
SYSUT2
DD
...
//
SYSIN
DD
...
스케줄러 유틸리티
[
編輯
]
IEFBR14
[
編輯
]
IEFBR14
는 데이터셋의 割當이나 削除만 取할 境遇 JCL에 흔히 追加하는 더미 프로그램이다.
IEFBR14의 스텝의 例는 다음과 같다:
//
IEFBR14
JOB
ACCT
,
'DELETE DATASET'
//
STEP01
EXEC
PGM
=
IEFBR14
//
DELDD
DD
DSN
=
xxxxx
.
yyyyy
.
zzzzz
,
//
DISP
=
(
MOD
,
DELETE
,
DELETE
),
UNIT
=
DASD
시스템 유틸리티
[
編輯
]
유틸리티
|
機能
|
ICKDSF
|
運營 體制 下에서 또는 獨立的으로 DASD를 設置, 初期化, 管理한다.
|
IEHDASDR
|
現在의 z/OS 매뉴얼에서는 보이지 않는 오래된 프로그램으로서, 디스크로부터 데이터셋을 프린터로 덤프하거나 백업 裝置로부터 이들을 백업/復舊한다.
IEHDASDR는 MVS/XA에서 除去되었다.
[1]
|
IEHINITT
|
테이블 레이블을 記錄함으로써 테이프를 初期化한다.
|
IEHLIST
|
파티션된 데이터셋(PDS) 디렉터리의 項目을 羅列하거나 볼륨 目錄(
VTOC
)의 內容을 羅列하기 위해 使用한다.
|
IEHMOVE
|
데이터 集合을 移動하거나 複寫한다.
|
IEHPROGM
|
시스템 制御 데이터를 빌드하고 管理한다.
|
支援 프로그램
[
編輯
]
유틸리티
|
機能
|
SORT
|
SORT/MERGE 유틸리티는 指定된 順序로 파일 內의 레코드를 整列하거나 미리 整列된 파일을 倂合하기 위해 使用하는 프로그램이다.
|
컴파일러/링커
|
컴퓨터 가게에 쓰이는 各
프로그래밍 言語
는 原始 프로그램을 機械語 오브젝트 모듈로 變換하는 關聯
컴파일러
를 갖추고 있을 수 있다.
컴파일러로부터 가져온 오브젝트 모듈은 實行 可能한 로드 모듈을 만들기 爲해 IEWL이라는 링키지 에디터를 통해 處理되어야 한다.
|
DFSMS
|
運營 體制 스스로가 스토리지 管理 作業(以前에 시스템 프로그래머가 手動으로 遂行한 作業)의 多數를 掌握하는 프로그램들의 集合이다.
|
各州
[
編輯
]
外部 링크
[
編輯
]