HFZLANGX ユーティリティーを使用したサイド・ファイルの作成
HFZLANGX ユーティリティー・プログラムは、コンパイラー・リスト (SYSADATA ファイル) を LANGX サイド・ファイルに変換します。
プログラムのコンパイルおよびリストの処理によるサイド・ファイルの作成
COBOL プログラムをコンパイルし、サイド・ファイルを保管するためのサンプル JCL の JCL は HFZ.SHFZSAM1 データ・セットのメンバー HFZSCMPS のサンプルとして提供されます。以下の手順を実行します。
- COBOL プログラムをコンパイルする。注:コンパイラー・リスト PDS(E) メンバーに名前を付けるため (区分データ・セットを使用している場合)、さらに 1 つのコンパイラー・リストのみ出力ファイルに書き込み可能にするため、コンパイル・ステップごとに 1 つのプログラムのみコンパイルできます。ネストされた COBOL プログラムはサポートされていません。
- HFZLANGX ユーティリティーを実行して、リストを処理し、サイド・ファイルとして保管しますHFZLANGX によって発行される戻りコードについては、戻りコードを参照してください。
- ジョブ出力の一部としてリストを書き込む。
サイド・ファイルを作成および保管した後は、リストを破棄できます。
//HFZSCMPS JOB (GSF),'GENERATE.SIDE.FILE',NOTIFY=&SYSUID.,
// MSGCLASS=X,CLASS=A,MSGLEVEL=(1,1)
// JCLLIB ORDER=(IGY.V2R1M0.SIGYPROC) <== INSTALLATION
//* IGYWCLG PROC
//*
//************************************************************/
//* THIS JOB RUNS A COBOL COMPILE PLUS PRODUCES A SIDE FILE */
//* FROM A PROGRAM LISTING THAT Z ABEND INVESTIGATOR CAN */
//* USE FOR OBTAINING SOURCE INFORMATION. */
//* THE COMPILED OUTPUT IS THEN WRITTEN TO SYSUT2 IN THE */
//* IEBGENER STEP. */
//************************************************************/
//*
//CBLRUN EXEC IGYWC,PARM.COBOL='LIST,MAP,Source,XREF'
//COBOL.SYSIN DD DATA,DLM='##'
⋮
(Program source not shown)
⋮
##
//COBOL.SYSPRINT DD DSN=&&COBLIST(HFZSCBL1),
// DISP=(,PASS),SPACE=(TRK,(10,5,5),RLSE),
// DCB=(RECFM=FBA,LRECL=133,BLKSIZE=0)
//*
//HFZLANGX EXEC PGM=HFZLANGX,REGION=4096K,
// PARM='HFZSCBL1 (COBOL ERROR'
//LISTING DD DISP=(OLD,PASS),DSN=&&COBLIST ❶
//HFZLANGX DD DISP=SHR,DSN=HFZ.HFZLANGX ❷
//SYSUDUMP DD SYSOUT=*
//*
//IEBGENER EXEC PGM=IEBGENER,REGION=4096K
//SYSUT1 DD DISP=OLD,DSN=&&COBLIST(HFZSCBL1)
//SYSUT2 DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
/*Copy
注:
- ❶
- DDname は LISTING (すべてのタイプのコンパイラー・リスト) または SYSADATA (アセンブラー ADATA ファイル) でなければなりません。
- ❷
- DDname は HFZLANGX (出力 LANGX サイド・ファイル) でなければなりません。データ・セットは順次データ・セット、PDS(E)、RECFM=VB、または LRECL≥1562 でなければなりません。
リストからのサイド・ファイルの作成
リストが既に存在する場合は、これをサイド・ファイルに変更できます。COBOL リストからサイド・ファイルを作成するサンプル JCL の JCL は HFZ.SHFZSAM1 データ・セットのメンバー HFZSFILE のサンプルとして提供されます。
//HFZLANGX JOB (C97),'HFZLANGX',MSGCLASS=X,
// CLASS=A,NOTIFY=&SYSUID
//*************************************************************
//* This job produces a side file from a program listing that
//* Z Abend Investigator can use to obtain source information.
//* This particular example is set up for a COBOL extraction
//* from HFZ.LISTING.COBOL(COBOLA)to HFZ.HFZLANGX
//*************************************************************
//HFZLANGX EXEC PGM=HFZLANGX,REGION=4096K,
// PARM='COBOLA (COBOL ERROR'
//LISTING DD DISP=SHR,DSN=HFZ.LISTING.COBOL ❶
//HFZLANGX DD DISP=SHR,DSN=HFZ.HFZLANGX ❷
//SYSUDUMP DD SYSOUT=*Copy
注釈:
- ❶
- DDname は LISTING (すべてのタイプのコンパイラー・リスト) または SYSADATA (アセンブラー ADATA ファイル) でなければなりません。
- ❷
- DDname は HFZLANGX (出力 LANGX サイド・ファイル) でなければなりません。データ・セットは順次データ・セット、PDS(E)、RECFM=VB、または LRECL≥1562 でなければなりません。
HFZLANGX パラメーター
HFZLANGX に渡される PARM ストリングの内容:
- mbr_name
- LISTING DD 名 (コンパイラー・リストの場合) または SYSADATA DD 名 (ADATA ファイルの場合) によって識別される、コンパイラー・リストまたは入力データ・セット内の ADATA ファイル・メンバー名。このパラメーターはオプションです。省略された場合、JCL は、コンパイラー・リストまたは ADATA ファイルに、順次データ・セットまたはメンバー名が指定された PDS(E) データ・セットのいずれかを指定する必要があります。また、出力 HFZLANGX メンバーは、入力プログラム名に従って命名されます。例えば、COBOL の場合は、PROGRAM-ID ソース行で見つかった名前になります。
- language
- 以下のキーワードのいずれかとして、コンパイラー・リストまたは ADATA ファイルの言語。
- COBOL
- PLI
- C
- ASM
- ERROR
- 情報が不完全な変数において、さらに診断を提供するオプション・パラメーター。
- PermitLangx(msg_id, ...)
- 無視すべきコンパイル・エラー・メッセージのメッセージ ID を指定するオプション・パラメーター。コンマまたは空白で区切られた複数のメッセージ。詳細については、Z Abend Investigator PermitLangx オプションを参照してください。