Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

コンパイルおよびバインド (IBMZCB)

図 9 の IBMZCB カタログ式プロシージャーには、2 つのプロシージャー・ステップがあります。1 つは PLI で、これは カタログ式プロシージャー IBMZC と同じです。もう 1 つは BIND で、 これは最初のプロシージャー・ステップで作成されたオブジェクト・モジュールを バインドするためにプログラム管理バインダー (シンボル名 IEWBLINK) を 呼び出します。

コンパイル・プロシージャー・ステップ用の入力データには、修飾 dd 名の PLI.SYSIN が 必要です。EXEC ステートメント BIND の COND パラメーターは、 コンパイラーが生成した戻りコードが 8 より大きい場合 (つまり、 コンパイル中に重大エラーまたは回復不能エラーが起こった場合) に、 このプロシージャー・ステップをバイパスするよう指定します。

図 9. カタログ式プロシージャー IBMZCB
//IBMZCB  PROC LNGPRFX='IBMZ.V3R8M0',LIBPRFX='CEE',
//             SYSLBLK=3200,GOPGM=GO
//*
//********************************************************************
//*                                                                  *
//* LICENSED MATERIALS - PROPERTY OF IBM                             *
//*                                                                  *
//* 5655-H31 (C) COPYRIGHT IBM CORP. 1999, 2008                      *
//* ALL RIGHTS RESERVED.                                             *
//*                                                                  *
//* US GOVERNMENT USERS RESTRICTED RIGHTS - USE,                     *
//* DUPLICATION OR DISCLOSURE RESTRICTED BY GSA                      *
//* ADP SCHEDULE CONTRACT WITH IBM CORP.                             *
//*                                                                  *
//********************************************************************
//*
//* IBM ENTERPRISE PL/I FOR Z/OS
//* VERSION 3 RELEASE 8 MODIFICATION 0
//*
//*  COMPILE AND BIND A PL/I PROGRAM
//*
//*  PARAMETER  DEFAULT VALUE    USAGE
//*   LNGPRFX   IBMZ.V3R8M0      PREFIX FOR LANGUAGE DATA SET NAMES
//*   LIBPRFX   CEE              PREFIX FOR LIBRARY DATA SET NAMES
//*   SYSLBLK   3200             BLKSIZE FOR OBJECT DATA SET
//*   GOPGM     GO               MEMBER NAME FOR PROGRAM OBJECT
//*
//*********************************************************************
//* COMPILE STEP
//*********************************************************************
//PLI      EXEC PGM=IBMZPLI,PARM='OBJECT,OPTIONS'
//STEPLIB  DD  DSN=&LNGPRFX;.SIBMZCMP,DISP=SHR
//         DD  DSN=&LIBPRFX;.SCEERUN,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSLIN   DD  DSN=&&LOADSET,DISP=(MOD,PASS),UNIT=SYSALLDA,
//             SPACE=(CYL,(1,1)),DCB=(LRECL=80,BLKSIZE=&SYSLBLK)
//SYSUT1   DD  DSN=&&SYSUT1,UNIT=SYSALLDA,
 //             SPACE=(1024,(200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024
//*********************************************************************
//* BIND STEP
//*********************************************************************
//BIND     EXEC PGM=IEWBLINK,COND=(8,LT,PLI),
//             PARM='XREF,COMPAT=PM3'
//SYSLIB   DD  DSN=&LIBPRFX..SCEELKED,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSLIN   DD  DSN=*.PLI.SYSLIN,DISP=(OLD,DELETE)
//         DD  DDNAME=SYSIN
//SYSLMOD  DD  DSN=&&GOSET(&GOPGM),DISP=(MOD,PASS),UNIT=SYSALLDA,
//             SPACE=(1024,(50,20,1)),DSNTYPE=LIBRARY
//SYSDEFSD DD  DUMMY
//SYSIN    DD  DUMMY

プログラム管理バインダーは、常に、SYSLMOD という名前の DD ステートメント で定義された標準データ・セットに、作成した プログラム・オブジェクトを入れます。 カタログ式プロシージャーの中のこのステートメントは、 新しい一時ライブラリー &&GOSET を指定します。プログラム・オブジェクトは この一時ライブラリーに入れられ、GO というメンバー名を与えられます。一時ライブラリーを指定する際は、カタログ式プロシージャーは プログラム・オブジェクトが同じジョブ内で実行されることを想定します。 プログラム・オブジェクトを保持したい場合は、SYSLMOD という名前 の DD ステートメントをユーザー独自の名前に置き換えなければなりません。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)