HFZLANGX ユーティリティーを使用したサイド・ファイルの作成

HFZLANGX ユーティリティー・プログラムは、コンパイラー・リスト (SYSADATA ファイル) を LANGX サイド・ファイルに変換します。

プログラムのコンパイルおよびリストの処理によるサイド・ファイルの作成

COBOL プログラムをコンパイルし、サイド・ファイルを保管するためのサンプル JCL の JCL は HFZ.SHFZSAM1 データ・セットのメンバー HFZSCMPS のサンプルとして提供されます。以下の手順を実行します。
  1. COBOL プログラムをコンパイルする。
    注:
    コンパイラー・リスト PDS(E) メンバーに名前を付けるため (区分データ・セットを使用している場合)、さらに 1 つのコンパイラー・リストのみ出力ファイルに書き込み可能にするため、コンパイル・ステップごとに 1 つのプログラムのみコンパイルできます。ネストされた COBOL プログラムはサポートされていません。
  2. HFZLANGX ユーティリティーを実行して、リストを処理し、サイド・ファイルとして保管しますHFZLANGX によって発行される戻りコードについては、戻りコードを参照してください。
  3. ジョブ出力の一部としてリストを書き込む。

サイド・ファイルを作成および保管した後は、リストを破棄できます。

1. COBOL プログラムをコンパイルし、サイド・ファイルを保管するためのサンプル JCL

//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 のサンプルとして提供されます。

2. COBOL リストからサイド・ファイルを作成するサンプル JCL

//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 ストリングの内容:

3. Syntax

1  PARM= '? mbr_name (language? 
2.1+ 
2.1 ERROR
2.1  PermitLangx + ,(msg_id) '
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 オプションを参照してください。