独自のスクリプトを作成するか、サイトの要件に応じて配布 JCL モデル(CSIQOPTN ライブラリの #RJNDVRA および #RJNDVRB)を編集することによって、モデル スクリプト ジョブ ステップをカスタマイズできます。 これらのモデルには、リモート ジョブのジョブ ステップが含まれています。このジョブ ステップは、配布にスクリプト データ セットが含まれているかどうかに基づいて、ジョブがパッケージ出力をターゲット データ セットへコピーする前またはコピーした後に実行されます。
条件付き実行を有効にする場合、シンボルは各スクリプト データ セットを表します。 シンボルは、ホスト データ セット名の最後の修飾子に基づいており、文字 ZZ が先頭に付けられます(たとえば、データ セット BST.USER12.CICSNEWC では &ZZCICSNEWC になります)。 シンボルの値は、スクリプト データ セットのリモート ステージング データ セット名です。
シンボルは、@IF ステートメントおよび @IFNOT ステートメントを使用して、パッケージ配布モデル制御メンバ内で確認できます。 したがって、スクリプト ジョブ ステップは、データ セットのシンボルを解決してスクリプト データ セットが配布に存在するかどうかを判定することで、条件に応じてリモート ジョブ ステップに生成することができます。
例: CICS NEW COPY の配布後スクリプト ステップのモデル
このモデル コードは、CSIQOPTN ライブラリの #RJNDVRA として配布されます。 このコード サンプルは、データ セットがリモート ターゲットにコピーされた後に CICS NEW COPY を実行します。 スクリプト ファイルは、PDS/ライブラリ メンバとして、スクリプトを作成したメンバごとに 1 つ転送され、多くのスクリプト ファイルに転送される可能性があります。
@REM ************************************************************ @REM * THESE STEPS WILL EXECUTE AFTER THE COPY TO THE REMOTE TGT @REM ************************************************************ //* START #RJNDVRA @IF &ZZCICSNEWC //* START SCRIPT CICS NEW COPY //ASCRIPT1 EXEC PGM=<YourNewCopyUtil> //SCRIPTIN DD DISP=SHR, // DSN=&ZZCICSNEWC ... <insert your site specific JCL here...> ... //* END SCRIPT 1 @ENDIF
例: PDS をシーケンシャル ファイルに フラット化する配布後スクリプト ステップのモデル
このモデルは、CSIQOPTN ライブラリの #RJNDVRB として配布されます。 このコード サンプルは、PDS をシーケンシャル ファイルに フラット化します。 (この例には変更された区切り線が含まれます。)処理のためにシーケンシャル入力が必要な場合は、独自のユーティリティまたは標準的な IBM ユーティリティを使用して、この例に示すようにライブラリ構造をフラット化する必要がある場合があります。
@REM ************************************************************
@REM * THESE STEPS provide a sample FLATTEN process
@REM ************************************************************
@IF &ZZSCRIPTFB
//***************************************************************
//* THIS SCRIPT WILL TAKE A PDS & CREATE A FLAT (SEQUENTIAL) FILE
//* FROM ITS MEMBERS USING STANDARD IBM UTILITIES.
//* //***************************************************************
//*
//SCR010 EXEC PGM=IDCAMS * FIRST CLEAN UP TEMP MEMBERS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEL &ZZSCRIPTFB.P
DEL &ZZSCRIPTFB.S
SET MAXCC = 0
//*
//SCR020 EXEC PGM=IEBPTPCH * THEN PUNCH OUT ALL MEMBERS
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DISP=SHR,
// DSN=&ZZSCRIPTFB
//SYSUT2 DD DISP=(,CATLG),
// DSN=&ZZSCRIPTFB.P,
// SPACE=(CYL,(1,1),RLSE),
// UNIT=SYSDA,
// DCB=(RECFM=FBA,LRECL=81)
//SYSIN DD *
PUNCH TYPORG=PO
//*
//SCR030 EXEC PGM=SORT * USE SORT TO STRIP OFF LEADING
//SYSOUT DD SYSOUT=* * PUNCH CONTROL CHARACTERS
//SYSPRINT DD SYSOUT=* * AND REPLACE MEMBER CARDS
//SYSUDUMP DD SYSOUT=*
//REPORT1 DD SYSOUT=*
//SORTIN DD DISP=SHR,
// DSN=&ZZSCRIPTFB.P
//SORTOUT DD DSN=&ZZSCRIPTFB.S,
// DISP=(,CATLG),
// UNIT=SYSDA,
// SPACE=(CYL,(1,1)),
// DCB=(RECFM=FB,LRECL=80)
//SORTWK01 DD UNIT=DISK,SPACE=(CYL,(5,5))
//SORTWK02 DD UNIT=DISK,SPACE=(CYL,(5,5))
//SORTWK03 DD UNIT=DISK,SPACE=(CYL,(5,5))
//SYSIN DD *
SORT FIELDS=COPY
INREC IFTHEN=(WHEN=(2,13,CH,EQ,C'MEMBER NAME '),
BUILD=(C'./ ADD NAME=',15,8)),
IFTHEN=(WHEN=NONE,BUILD=(1:2,80))
//*
//* END SCRIPT 1
@ENDIF
@IFNOT &ZZSCRIPTFB
//* START SCRIPT - THIS STEP WILL RUN IF THERE IS NO SCRIPT FILE
//BSCRIPT1 EXEC PGM=IEFBR14,COND=((0,LE),ONLY) NO SCRIPT STEP
//* END SCRIPT 1
@ENDIF
|
Copyright © 2013 CA.
All rights reserved.
|
|