前のトピック: 配布先設定ファイルの作成次のトピック: ホスト パッケージ出荷ジョブステップ


モデル スクリプト ステップの作成

独自のスクリプトを作成するか、サイトの要件に応じて配布 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