한국   대만   중국   일본 
IBM 메인프레임 유틸리티 프로그램 - 위키百科, 우리 모두의 百科事典 本文으로 移動

IBM 메인프레임 유틸리티 프로그램

위키百科, 우리 모두의 百科事典.
( IDCAMS 에서 넘어옴)

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 運營 體制 스스로가 스토리지 管理 作業(以前에 시스템 프로그래머가 手動으로 遂行한 作業)의 多數를 掌握하는 프로그램들의 集合이다.

各州 [ 編輯 ]

  1. “GC28-1143-2, MVS/XA Conversion Notebook, May 1984, page 1-1” (PDF) . 2014年 11月 29日에 原本 文書 (PDF) 에서 保存된 文書 . 2014年 11月 23日에 確認함 .  

外部 링크 [ 編輯 ]