Tools

70. TAPE にもバックアップできる SAVUSRLIB

先に「 64. ライブラリーを別のサーバーに BACKUPする SAVUSRLIB 」で
紹介した SAVUSRLIB コマンドは Ftp で別のサーバーにライブラリーを
バックアップできるがテープ装置にバックアップする機能はなかった。

IBM i のユーザーではやはりテープへのバックアップがお馴染みであり
保管や復元も容易である。
そこで今回は SAVUSRLIB コマンドにテープ装置へのバックアップ機能を追加した。
テープ装置へのバックアップするということは SAVLIB *ALLUSR に比べて
何が優れているのだろうか?
SAVLIB *ALLUSR で十分ではないだろうか?

実は SAVLIB コマンドの *ALLUSR というオプションはユーザー・ライブラリーとは
名前の頭 1 文字が Q から始まる名前ではないライブラリーを意味しているに
過ぎないのである。
従って弊社のサンプル・ライブラリー QTRSRC, QTROBJ, QTRFIL は *ALLUSR の
指定ではバックアップされない。
弊社ではこれ以外にもライブラリー: QUATTRO, QSROAD などを保有している。
これに対して SAVUSRLIB コマンドでは *ALL を指定しても QTRSRC, QTROBJ, QTRFIL
もバックアップすることができる。
しかし一方ではシステム・ライブラリーはバックアップされることはない。
頭が Q であっても必要なライブラリーは保管してそれ以外の Q で始まるライブラリーを
除外しているからである。
またシステム・ライブラリーとして除外しなければならないのは
#LIBRARY, #CGULIB, ...などの S/36 環境ライブラリー および
SYSIBM, SYSIBMADM, ...などの DB2 関連ライブラリー もあるので
頭 Q 以外だけをユーザー・ライブラリーとして判断する *ALLUSER では
判定としては不十分である。

このように SAVUSRLIB コマンドはすべてのライブラリー名を判定することができる。
この改訂によって SAVUSRLIB は

のような保管および印刷が可能になった。

弊社では予算の関係から IBM i の新規の導入時点ではテープ装置はつけていなかったが
ようやく最近、テープ装置を追加設置した。
( 以前はローカル PC に手動で BACKUP していた。)
そこで SAVUSRLIB コマンドを深夜の無人不介入として実行して

  • CLOUD (弊社が契約している OCN のインターネット経由のサーバー)
  • 社内 PC サーバー
    ( Windows 2000 サーバー近々 Win 2013 サーバーに変更の予定)
  • TAPE 装置( LTE )

の三つの媒体に毎日、自動でバックアップを行っている。
なぜ三つも行う必要があるのかと言うと復元のときの問題があるからである。
復元のときには

  • 自社ではなく特約店の装置で復元したいときにテープへの BACKUP であると
    テープ装置によっては使えない場合がある。
    IBM i のテープ装置はこれまで
    • オープン・リール TAPE
    • 1/4 カートリッジ TAPE
    • 8MM TAPE
    • LTE TAPE

    と目まぐるしく変わってきている。
    そこで IBM 特約店やユーザーとのあいだで互換性がない場合が
    発生してきた経験がある。
    同じ社内でもこれらのテープ装置の互換性がない。
    またテープ保管の場合、1/4 カートリッジ TAPE では
    10 年も維持されず劣化してしまうことが経験上でわかっている。
    現在は LTE が主流であるがこれもいつまで続くかわからない。
    また経年劣化や読取りエラーの発生の可能性も否定できない。
    PC サーバーであれば社内 LAN を通じて容易に復元が可能であるが
    昨今の台風や地震対策での物理的災害の可能性は残されている。
    ( 弊社のビルは免震構造なので地震にはかなり強いことがわかっている)
    インターネット( CLOUD )であれば物理的にロケーションも
    自社とは異なり業者( NTT )によって電源も含めて相当な安全性が
    担保されているのである程度災害には対応できる。
    とはいうものの最も復元の容易なものはやはりテープ装置であるので
    今回、テープ装置への BACKUP も機能として追加した。

【 コマンド: SAVUSRLIB 】
0001.00              CMD        PROMPT(' ユーザー・ライブラリーの保管 ')         
0002.00              PARM       KWD(SAVLIB) TYPE(*CHAR) LEN(10) DFT(*ALL) +      
0003.00                           SPCVAL((*ALL)) MAX(50) +                       
0004.00                           PROMPT(' ライブラリー ')                       
0005.00              PARM       KWD(OPTION) TYPE(*CHAR) LEN(6) RSTD(*YES) +      
0006.00                           DFT(*NONE) VALUES(*NONE *CLOUD *SEND +         
0007.00                           *TAPE *PRINT) PROMPT(' 出力オプション ')       
0008.00  CLOUD:      PMTCTL     CTL(OPTION) COND((*EQ *CLOUD))                   
0009.00              PARM       KWD(NFSDIR) TYPE(*PNAME) LEN(5000) +             
0010.00                           DFT('/QNFS') VARY(*YES *INT4) +                
0011.00                           CASE(*MIXED) PMTCTL(CLOUD) +                   
0012.00                           PROMPT(' 保管先 NFS ディレクトリー ')          
0013.00  SEND:       PMTCTL     CTL(OPTION) COND((*EQ *SEND))                    
0014.00              PARM       KWD(FRMADDRESS) TYPE(*CHAR) LEN(15) +            
0015.00                           DFT('*DFT') PMTCTL(SEND) +                     
0016.00                           PROMPT(' ホスト IP アドレス ')                 
0017.00              PARM       KWD(TOADDRESS) TYPE(*CHAR) LEN(15) +             
0018.00                           DFT('192.168.1.8') PMTCTL(SEND) +              
0019.00                           PROMPT(' 相手先 IP アドレス ')                 
0020.00              PARM       KWD(TODIR) TYPE(*PNAME) LEN(132) +               
0021.00                           DFT('/BACKUP/V6R1/LIB/') CASE(*MIXED) +        
0022.00                           PMTCTL(SEND) PROMPT(' 相手先ファイル DIR')     
0023.00              PARM       KWD(USER) TYPE(*CHAR) LEN(13) DFT(BACKUP) +      
0024.00                           SPCVAL((*NONE)) CASE(*MIXED) PMTCTL(SEND) +    
0025.00                           PROMPT(' 遠隔ユーザー ID')                     
0026.00              PARM       KWD(PASSWORD) TYPE(*CHAR) LEN(13) DFT(*NONE) +   
0027.00                           SPCVAL((*NONE)) CASE(*MIXED) +                 
0028.00                           DSPINPUT(*NO) PMTCTL(SEND) +                   
0029.00                           INLPMTLEN(*PWD) PROMPT(' 遠隔パスワード ')     
0030.00              PARM       KWD(LOG) TYPE(*CHAR) LEN(4) RSTD(*YES) +         
0031.00                           DFT(*YES) VALUES(*YES *NO) PMTCTL(SEND) +      
0032.00                           PROMPT(' ログ表示 ')                           
0033.00  TAPE:       PMTCTL     CTL(OPTION) COND((*EQ *TAPE))                    
0034.00              PARM       KWD(DEV) TYPE(*CHAR) LEN(10) DFT(TAP01) +        
0035.00                           PMTCTL(TAPE) PROMPT(' 装置 ')                  
0036.00              PARM       KWD(VOL) TYPE(*CHAR) LEN(32) DFT(IBMIRD) +       
0037.00                           PMTCTL(TAPE) PROMPT(' ボーリューム ID')        
0038.00              PARM       KWD(SEQNBR) TYPE(*DEC) LEN(8 0) DFT(*END) +      
0039.00                           RANGE(1 16777215) SPCVAL((*END 0)) +           
0040.00                           PMTCTL(TAPE) PROMPT(' 順序番号 ')              
0041.00              PARM       KWD(LABEL) TYPE(*CHAR) LEN(17) DFT(*LIB) +       
0042.00                           PMTCTL(TAPE) PROMPT(' ラベル ')                
0043.00              PARM       KWD(EXPDATE) TYPE(*DATE) DFT(*PERM) +            
0044.00                           SPCVAL((*PERM 1999999)) +                      
0045.00                           PMTCTL(TAPE) PROMPT(' ファイル満了日 ')        
0046.00              PARM       KWD(ENDOPT) TYPE(*CHAR) LEN(7) RSTD(*YES) +      
0047.00                           DFT(*REWIND) VALUES(*REWIND *LEAVE +           
0048.00                           *UNLOAD) PMTCTL(TAPE) +                      
0049.00                           PROMPT(' 媒体の終わりオプション ')           
0050.00              PARM       KWD(STRLIB) TYPE(*CHAR) LEN(10) DFT(*FIRST) +  
0051.00                           PMTCTL(TAPE) PROMPT(' 開始ライブラリー ')    
0052.00              PARM       KWD(INZTAP) TYPE(*CHAR) LEN(4) RSTD(*YES) +    
0053.00                           DFT(*YES) VALUES(*YES *NO) +                 
0054.00                           PMTCTL(TAPE) PROMPT(' テープの初期設定 ')    
0055.00              PARM       KWD(CHECK) TYPE(*CHAR) LEN(4) RSTD(*YES) +     
0056.00                           DFT(*NO) VALUES(*YES *NO) +                  
0057.00                           PMTCTL(TAPE) PROMPT(' 活動ファイルの検査 ')  
0058.00              PARM       KWD(DENSITY) TYPE(*CHAR) LEN(10) RSTD(*YES) +  
0059.00                           DFT(*CTGTYPE) VALUES(*DEVTYPE *CTGTYPE +     
0060.00                           *QIC120 10000 *QIC525 16000 *QIC1000 +       
0061.00                           *QIC2GB *QIC3040 *QIC5010 *FMT3480 38000 +   
0062.00                           *FMT3090E *FMT3570 *FMT3570E *FMT3590 +      
0063.00                           1600 3200 6250 *FMT2GB 43200 *FMT5GB +       
0064.00                           *FMT7GB *ULTRIUM3 *ULTRIUM4) +               
0065.00                           PMTCTL(TAPE) PROMPT(' テープ密度 ')          
0066.00  PRINT:      PMTCTL     CTL(OPTION) COND((*EQ *PRINT))                 
0067.00              PARM       KWD(SAVACT) TYPE(*CHAR) LEN(8) RSTD(*YES) +    
0068.00                           DFT(*LIB) VALUES(*NO *LIB *SYNCLIB +         
0069.00                           *SYSDFN) EXPR(*YES) PMTCTL(*PMTRQS) +        
0070.00                           PROMPT(' 活動状態保管 ')                     
0071.00              PARM       KWD(ACCPTH) TYPE(*CHAR) LEN(7) RSTD(*YES) +    
0072.00                           DFT(*YES) VALUES(*SYSVAL *NO *YES) +        
0073.00                           EXPR(*YES) PMTCTL(*PMTRQS) +                
0074.00                           PROMPT(' アクセス・パス保管 ')              
0075.00              PARM       KWD(SPLFDTA) TYPE(*CHAR) LEN(5) RSTD(*YES) +  
0076.00                           DFT(*ALL) VALUES(*ALL *NONE) +              
0077.00                           PMTCTL(*PMTRQS) +                           
0078.00                           PROMPT(' スプール・ファイル・データ ')      
0079.00              PARM       KWD(QDTA) TYPE(*CHAR) LEN(5) RSTD(*YES) +     
0080.00                           DFT(*DTAQ) VALUES(*NONE *DTAQ) EXPR(*YES) + 
0081.00                           PMTCTL(*PMTRQS) PROMPT(' 待ち行列データ ')  
0082.00              PARM       KWD(DTACPR) TYPE(*CHAR) LEN(7) RSTD(*YES) +   
0083.00                           DFT(*HIGH) VALUES(*DEV *NO *YES *LOW +      
0084.00                           *MEDIUM *HIGH) EXPR(*YES) PMTCTL(*PMTRQS) + 
0085.00                           PROMPT(' データ圧縮 ')                      
0086.00              PARM       KWD(OMITLIB) TYPE(*GENERIC) LEN(10) +         
0087.00                           DFT(*NONE) SNGVAL((*NONE) (*USRSPC)) +      
0088.00                           MAX(300) EXPR(*YES) VARY(*YES) +            
0089.00                           PMTCTL(*PMTRQS) +                           
0090.00                           PROMPT(' 除外するライブラリー ')            
【解説】

テープ装置のために追加したのは

0005.00              PARM       KWD(OPTION) TYPE(*CHAR) LEN(6) RSTD(*YES) +      
0006.00                           DFT(*NONE) VALUES(*NONE *CLOUD *SEND +         
0007.00                           *TAPE *PRINT) PROMPT(' 出力オプション ')

の *TAPE の入力を追加した。

次にテープ装置の入力パラメータとして追加したのが以下の記述である。

0033.00  TAPE:       PMTCTL     CTL(OPTION) COND((*EQ *TAPE))                    
0034.00              PARM       KWD(DEV) TYPE(*CHAR) LEN(10) DFT(TAP01) +        
0035.00                           PMTCTL(TAPE) PROMPT(' 装置 ')                  
0036.00              PARM       KWD(VOL) TYPE(*CHAR) LEN(32) DFT(IBMIRD) +       
0037.00                           PMTCTL(TAPE) PROMPT(' ボーリューム ID')        
0038.00              PARM       KWD(SEQNBR) TYPE(*DEC) LEN(8 0) DFT(*END) +      
0039.00                           RANGE(1 16777215) SPCVAL((*END 0)) +           
0040.00                           PMTCTL(TAPE) PROMPT(' 順序番号 ')              
0041.00              PARM       KWD(LABEL) TYPE(*CHAR) LEN(17) DFT(*LIB) +       
0042.00                           PMTCTL(TAPE) PROMPT(' ラベル ')                
0043.00              PARM       KWD(EXPDATE) TYPE(*DATE) DFT(*PERM) +            
0044.00                           SPCVAL((*PERM 1999999)) +                      
0045.00                           PMTCTL(TAPE) PROMPT(' ファイル満了日 ')        
0046.00              PARM       KWD(ENDOPT) TYPE(*CHAR) LEN(7) RSTD(*YES) +      
0047.00                           DFT(*REWIND) VALUES(*REWIND *LEAVE +           
0048.00                           *UNLOAD) PMTCTL(TAPE) +                      
0049.00                           PROMPT(' 媒体の終わりオプション ')           
0050.00              PARM       KWD(STRLIB) TYPE(*CHAR) LEN(10) DFT(*FIRST) +  
0051.00                           PMTCTL(TAPE) PROMPT(' 開始ライブラリー ')    
0052.00              PARM       KWD(INZTAP) TYPE(*CHAR) LEN(4) RSTD(*YES) +    
0053.00                           DFT(*YES) VALUES(*YES *NO) +                 
0054.00                           PMTCTL(TAPE) PROMPT(' テープの初期設定 ')    
0055.00              PARM       KWD(CHECK) TYPE(*CHAR) LEN(4) RSTD(*YES) +     
0056.00                           DFT(*NO) VALUES(*YES *NO) +                  
0057.00                           PMTCTL(TAPE) PROMPT(' 活動ファイルの検査 ')  
0058.00              PARM       KWD(DENSITY) TYPE(*CHAR) LEN(10) RSTD(*YES) +  
0059.00                           DFT(*CTGTYPE) VALUES(*DEVTYPE *CTGTYPE +     
0060.00                           *QIC120 10000 *QIC525 16000 *QIC1000 +       
0061.00                           *QIC2GB *QIC3040 *QIC5010 *FMT3480 38000 +   
0062.00                           *FMT3090E *FMT3570 *FMT3570E *FMT3590 +      
0063.00                           1600 3200 6250 *FMT2GB 43200 *FMT5GB +       
0064.00                           *FMT7GB *ULTRIUM3 *ULTRIUM4) +               
0065.00                           PMTCTL(TAPE) PROMPT(' テープ密度 ') 

注意して欲しいのはテープの初期設定として INZTAP コマンドでテープ密度
として *CTGTYPE を DENSITY パラメータとして指定することである。
これは LTE テープ装置の場合で指定するようにして欲しい。
手動で INZTAP を実行する場合も

INZTAP DEV(TAP01) NEWVOL(IBMIRD) CHECK(*NO) DENSITY(*CTGTYPE)

のように指定すること。

【 CLP: SAVUSRLIBC 】
0001.00              PGM        PARM(&LIBR &OPTION &NFSDIR &FROMIP &TOIP +         
0002.00                           &TODIRP &USER &PASSWRD &LOG &DEV &VOL +          
0003.00                           &SEQNBR &LABEL &EXPDATE7 &ENDOPT &STRLIB +       
0004.00                           &INZTAP &CHECK &DENSITY &SAVACT &ACCPTH +        
0005.00                           &SPLFDTA &QDTA &DTACPR &OMITLIB)                 
0006.00 /*-------------------------------------------------------------------*/    
0007.00 /*   SAVUSRLIBC :  ユーザー・ライブラリーの保管                      */    
0008.00 /*                                                                   */    
0009.00 /*   2018/09/20  作成                                                */    
0010.00 /*-------------------------------------------------------------------*/    
0011.00              DCL        VAR(&LIBR) TYPE(*CHAR) LEN(500)                    
0012.00              DCL        VAR(&OPTION) TYPE(*CHAR) LEN(6)                    
0013.00              DCL        VAR(&NFSDIR) TYPE(*CHAR) LEN(5004)                 
0014.00              DCL        VAR(&NFS) TYPE(*CHAR) LEN(5000)                    
0015.00              DCL        VAR(&LEN) TYPE(*DEC) LEN(4 0)                      
0016.00              DCL        VAR(&FLD4) TYPE(*CHAR) LEN(4)                      
0017.00              DCL        VAR(&FLD1) TYPE(*CHAR) LEN(1)                      
0018.00              DCL        VAR(&SAVACT) TYPE(*CHAR) LEN(8)                    
0019.00              DCL        VAR(&ACCPTH) TYPE(*CHAR) LEN(7)                    
0020.00              DCL        VAR(&SPLFDTA) TYPE(*CHAR) LEN(5)                   
0021.00              DCL        VAR(&QDTA) TYPE(*CHAR) LEN(5)                      
0022.00              DCL        VAR(&DTACPR) TYPE(*CHAR) LEN(7)                    
0023.00              DCL        VAR(&OMITLIB) TYPE(*CHAR) LEN(3002)                
0024.00              DCL        VAR(&OMITSU) TYPE(*DEC) LEN(4 0)   
0025.00              DCL        VAR(&LIB01) TYPE(*CHAR) LEN(10)    
0026.00              DCL        VAR(&LIB02) TYPE(*CHAR) LEN(10)    
0027.00              DCL        VAR(&LIB03) TYPE(*CHAR) LEN(10)    
0028.00              DCL        VAR(&LIB04) TYPE(*CHAR) LEN(10)    
0029.00              DCL        VAR(&LIB05) TYPE(*CHAR) LEN(10)    
0030.00              DCL        VAR(&LIB06) TYPE(*CHAR) LEN(10)    
0031.00              DCL        VAR(&LIB07) TYPE(*CHAR) LEN(10)    
0032.00              DCL        VAR(&LIB08) TYPE(*CHAR) LEN(10)    
0033.00              DCL        VAR(&LIB09) TYPE(*CHAR) LEN(10)    
0034.00              DCL        VAR(&LIB10) TYPE(*CHAR) LEN(10)    
0035.00              DCL        VAR(&LIB11) TYPE(*CHAR) LEN(10)    
0036.00              DCL        VAR(&LIB12) TYPE(*CHAR) LEN(10)    
0037.00              DCL        VAR(&LIB13) TYPE(*CHAR) LEN(10)    
0038.00              DCL        VAR(&LIB14) TYPE(*CHAR) LEN(10)    
0039.00              DCL        VAR(&LIB15) TYPE(*CHAR) LEN(10)    
0040.00              DCL        VAR(&LIB16) TYPE(*CHAR) LEN(10)    
0041.00              DCL        VAR(&LIB17) TYPE(*CHAR) LEN(10)    
0042.00              DCL        VAR(&LIB18) TYPE(*CHAR) LEN(10)    
0043.00              DCL        VAR(&LIB19) TYPE(*CHAR) LEN(10)    
0044.00              DCL        VAR(&LIB20) TYPE(*CHAR) LEN(10)    
0045.00              DCL        VAR(&LIB21) TYPE(*CHAR) LEN(10)    
0046.00              DCL        VAR(&LIB22) TYPE(*CHAR) LEN(10)    
0047.00              DCL        VAR(&LIB23) TYPE(*CHAR) LEN(10)    
0048.00              DCL        VAR(&LIB24) TYPE(*CHAR) LEN(10)        
0049.00              DCL        VAR(&LIB25) TYPE(*CHAR) LEN(10)        
0050.00              DCL        VAR(&LIB26) TYPE(*CHAR) LEN(10)        
0051.00              DCL        VAR(&LIB27) TYPE(*CHAR) LEN(10)        
0052.00              DCL        VAR(&LIB28) TYPE(*CHAR) LEN(10)        
0053.00              DCL        VAR(&LIB29) TYPE(*CHAR) LEN(10)        
0054.00              DCL        VAR(&LIB30) TYPE(*CHAR) LEN(10)        
0055.00              DCL        VAR(&FLD2) TYPE(*CHAR) LEN(2)          
0056.00              DCL        VAR(&SAVSU) TYPE(*DEC) LEN(4 0)        
0057.00              DCL        VAR(&LIB) TYPE(*CHAR) LEN(10)          
0058.00              DCL        VAR(&INZLIB) TYPE(*CHAR) LEN(10)       
0059.00              DCL        VAR(&MSG) TYPE(*CHAR) LEN(132)         
0060.00              DCL        VAR(&MSGID) TYPE(*CHAR) LEN(7)         
0061.00              DCL        VAR(&MSGF) TYPE(*CHAR) LEN(10)         
0062.00              DCL        VAR(&MSGFLIB) TYPE(*CHAR) LEN(10)      
0063.00              DCL        VAR(&MSGDTA) TYPE(*CHAR) LEN(132)      
0064.00              DCL        VAR(&TYPE) TYPE(*CHAR) LEN(1)          
0065.00              DCL        VAR(&TOPGMQ) TYPE(*CHAR) LEN(10)       
0066.00              DCL        VAR(&MSGTYPE) TYPE(*CHAR) LEN(10) +    
0067.00                           VALUE('*ESCAPE   ')                  
0068.00              DCL        VAR(&APIERR) TYPE(*CHAR) LEN(116) +    
0069.00                           VALUE(X'000074') /* 2 進数  */       
0070.00              DCL        VAR(&NULL4) TYPE(*CHAR) LEN(4) +       
0071.00                           VALUE(X'00000000')                   
0072.00              DCL        VAR(&STSMSG) TYPE(*CHAR) LEN(128)                  
0073.00              DCL        VAR(&KOSU) TYPE(*DEC) LEN(4 0) VALUE(0)            
0074.00              DCL        VAR(&KOSUD) TYPE(*CHAR) LEN(4)                     
0075.00              DCL        VAR(&FROMMBR) TYPE(*CHAR) LEN(128)                 
0076.00              DCL        VAR(&TOSTMF) TYPE(*CHAR) LEN(128)                  
0077.00              DCL        VAR(&N) TYPE(*DEC) LEN(8 0) VALUE(1) /* WORK */    
0078.00              DCL        VAR(&POS) TYPE(*DEC) LEN(4 0)                      
0079.00              /*( QUSLOBJ のための変数 )*/                                  
0080.00              DCL        VAR(&RCVDTA) TYPE(*CHAR) LEN(256) /* +             
0081.00                            受取データ  */                                  
0082.00              DCL        VAR(&OBJOBJLIB) TYPE(*CHAR) LEN(20) +              
0083.00                           VALUE('オブジェクト/ライブラリー')                        
0084.00              DCL        VAR(&STRPOS) TYPE(*CHAR) LEN(4) +                  
0085.00                           VALUE(X'0000007D') /* 2 進数開始位置  : +        
0086.00                           125 */                                           
0087.00              DCL        VAR(&LENDTA) TYPE(*CHAR) LEN(4) +                  
0088.00                           VALUE(X'00000010') /* 2 進数受取長さ  : 16 */    
0089.00              DCL        VAR(&RCVVAR) TYPE(*CHAR) LEN(16) +                 
0090.00                           VALUE(X'0000000000000000')                       
0091.00              DCL        VAR(&OFFSET) TYPE(*CHAR) LEN(4) /* +               
0092.00                           2 進数 オフセット */                                  
0093.00              DCL        VAR(&NOENTR) TYPE(*CHAR) LEN(4) /* +               
0094.00                           2 進数項目数  */                                 
0095.00              DCL        VAR(&LSTSIZ) TYPE(*CHAR) LEN(4) /* +               
0096.00                           2 進数リストサイズ  */                       
0097.00              DCL        VAR(&DEC08) TYPE(*DEC) LEN(8 0) /* WORK */     
0098.00              DCL        VAR(&ADDLEN) TYPE(*DEC) LEN(8 0) /* WORK */    
0099.00              DCL        VAR(&NOENT) TYPE(*DEC) LEN(8 0) /* WORK */     
0100.00  /*( QCLSCAN のための変数 )*/                                          
0101.00              DCL        VAR(&PATLEN1) TYPE(*DEC) LEN(3 0) VALUE(1)     
0102.00              DCL        VAR(&PATLEN3) TYPE(*DEC) LEN(3 0) VALUE(2)     
0103.00              DCL        VAR(&STRPOT) TYPE(*DEC) LEN(3 0) VALUE(1)      
0104.00              DCL        VAR(&STRLEN) TYPE(*DEC) LEN(3 0) VALUE(10)     
0105.00              DCL        VAR(&RESULT) TYPE(*DEC) LEN(3 0)               
0106.00              /*( SNDFTP 送信のための変数 )*/                           
0107.00              DCL        VAR(&FROMIP) TYPE(*CHAR) LEN(15)               
0108.00              DCL        VAR(&FROMPASS) TYPE(*CHAR) LEN(128)            
0109.00              DCL        VAR(&TOIP) TYPE(*CHAR) LEN(15)                 
0110.00              DCL        VAR(&TODIRP) TYPE(*CHAR) LEN(132)              
0111.00              DCL        VAR(&TODIR) TYPE(*CHAR) LEN(128)               
0112.00              DCL        VAR(&TOPASS) TYPE(*CHAR) LEN(128)              
0113.00              DCL        VAR(&USER) TYPE(*CHAR) LEN(13)                 
0114.00              DCL        VAR(&PASSWRD) TYPE(*CHAR) LEN(13)              
0115.00              DCL        VAR(&LOG) TYPE(*CHAR) LEN(4)                   
0116.00              DCL        VAR(&TEXT) TYPE(*CHAR) LEN(50)                 
0117.00              DCL        VAR(&DEV) TYPE(*CHAR) LEN(10)                  
0118.00              DCL        VAR(&VOL) TYPE(*CHAR) LEN(32)                  
0119.00              DCL        VAR(&SEQNBR) TYPE(*DEC) LEN(8 0)               
0120.00              DCL        VAR(&SEQNBRC) TYPE(*CHAR) LEN(8)              
0121.00              DCL        VAR(&LABEL) TYPE(*CHAR) LEN(17)               
0122.00              DCL        VAR(&ENDOPT) TYPE(*CHAR) LEN(7)               
0123.00              DCL        VAR(&STRLIB) TYPE(*CHAR) LEN(10)              
0124.00              DCL        VAR(&INZTAP) TYPE(*CHAR) LEN(4)               
0125.00              DCL        VAR(&CHECK)  TYPE(*CHAR) LEN(4)               
0126.00              DCL        VAR(&DENSITY) TYPE(*CHAR) LEN(10)             
0127.00              DCL        VAR(&EXPDATE7) TYPE(*CHAR) LEN(7)             
0128.00              DCL        VAR(&EXPDATE) TYPE(*CHAR) LEN(8)              
0129.00              DCL        VAR(&CYYYY) TYPE(*CHAR) LEN(4)                
0130.00              DCL        VAR(&CYY) TYPE(*CHAR) LEN(2)                  
0131.00              DCL        VAR(&CMM) TYPE(*CHAR) LEN(2)                  
0132.00              DCL        VAR(&CDD) TYPE(*CHAR) LEN(2)                  
0133.00              MONMSG     MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))       
0134.00                                                                       
0135.00 /*( 環境の取得 )*/                                                    
0136.00              RTVJOBA    TYPE(&TYPE)                                   
0137.00              IF         COND(&TYPE *EQ '0') THEN(DO) /*  バッチ  */   
0138.00              CHGVAR     VAR(&TOPGMQ) VALUE('*SYSOPR   ')              
0139.00              ENDDO      /*  バッチ  */                                
0140.00              ELSE       CMD(DO) /*  対話式  */                        
0141.00              CHGVAR     VAR(&TOPGMQ) VALUE('*TOPGMQ   ')              
0142.00              ENDDO      /*  対話式  */                                
0143.00                                                                       
0144.00 /*( パラメータの取得 )*/                                                
0145.00              CHGVAR     VAR(&FLD2) VALUE(%SST(&LIBR 1 2))               
0146.00              CHGVAR     VAR(&SAVSU) VALUE(%BIN(&FLD2))                  
0147.00              CHGVAR     VAR(&INZLIB) VALUE(%SST(&LIBR 3 10))            
0148.00              CHGVAR     VAR(&FLD2) VALUE(%SST(&OMITLIB 1 2))            
0149.00              CHGVAR     VAR(&OMITSU) VALUE(%BIN(&FLD2))                 
0150.00              IF         COND(&OMITSU *EQ 1) THEN(DO)                    
0151.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
0152.00              IF         COND(&LIB01 *EQ '*NONE     ') THEN(DO)          
0153.00              CHGVAR     VAR(&OMITSU) VALUE(0)                           
0154.00              ENDDO                                                      
0155.00              ENDDO                                                      
0156.00              IF         COND(&OPTION *EQ '*SEND ') THEN(DO) /* +        
0157.00                            送信  */                                     
0158.00              IF         COND(%SST(&PASSWRD 1 5) *EQ '*NONE') THEN(DO)   
0159.00              CHGVAR     VAR(&MSG) +                                     
0160.00                           VALUE(' パスワードが指定されていません。 ')   
0161.00              GOTO       SNDMSG                                          
0162.00              ENDDO                                                      
0163.00              ENDDO      /*  送信  */                                    
0164.00                                                                         
0165.00 /*( パラメータの検査 )*/                                                
0166.00              IF         COND(&OPTION *EQ '*CLOUD') THEN(DO) +           
0167.00                           /* クラウド */                                
0168.00              CHGVAR     VAR(&FLD4) VALUE(%SST(&NFSDIR 1 4))             
0169.00              CHGVAR     VAR(&LEN) VALUE(%BIN(&FLD4))                    
0170.00              CHGVAR     VAR(&FLD4) VALUE(&LEN)                          
0171.00              CHGVAR     VAR(&NFS) VALUE(%SST(&NFSDIR 5 &LEN))           
0172.00              IF         COND(%SST(&NFS &LEN 1) *NE '/') THEN(DO)        
0173.00              CHGVAR     VAR(&MSG) +                                     
0174.00                           VALUE(' パスの末尾は / でなくてはなりませ +   
0175.00                            ん。 ')                                      
0176.00              GOTO       SNDMSG                                          
0177.00              ENDDO                                                      
0178.00              ENDDO      /*  クラウド  */                                
0179.00              IF         COND(&OPTION *EQ '*SEND ') THEN(DO) /* +        
0180.00                           FTP 送信  */                                  
0181.00              CHGVAR     VAR(&LEN) VALUE(1)                              
0182.00  NXTLEN:     IF         COND(%SST(&TODIRP &LEN 1) *NE ' ') THEN(DO)     
0183.00              CHGVAR     VAR(&LEN) VALUE(&LEN + 1)                       
0184.00              GOTO       NXTLEN                                          
0185.00              ENDDO                                                      
0186.00              CHGVAR     VAR(&LEN) VALUE(&LEN - 1)                       
0187.00              CHGVAR     VAR(&TODIR) VALUE(%SST(&TODIRP 1 &LEN))         
0188.00              IF         COND(%SST(&TODIR &LEN 1) *NE '/') THEN(DO)      
0189.00              CHGVAR     VAR(&FLD1) VALUE(%SST(&TODIR &LEN 1))           
0190.00              CHGVAR     VAR(&MSG) +                                     
0191.00                           VALUE(' パスの末尾は / でなくてはなりませ +   
0192.00                            ん。 ' *CAT &FLD1)                             
0193.00              GOTO       SNDMSG                                            
0194.00              ENDDO                                                        
0195.00              ENDDO      /* FTP 送信  */                                   
0196.00 /*( テープの初期設定 )*/                                                  
0197.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO) /* +          
0198.00                            テープ保管  */                                 
0199.00              IF         COND(&INZTAP *EQ '*YES') THEN(DO) /* +            
0200.00                            初期設定  */                                   
0201.00              INZTAP     DEV(&DEV) NEWVOL(&VOL) NEWOWNID(&LABEL) +         
0202.00                           CHECK(&CHECK) DENSITY(&DENSITY) +               
0203.00                           CODE(*EBCDIC) ENDOPT(*REWIND) CLEAR(*NO)        
0204.00              ENDDO      /*  初期設定  */                                  
0205.00              CHGVAR     VAR(&CYY) VALUE(%SST(&EXPDATE7 2 2))              
0206.00              CHGVAR     VAR(&CMM) VALUE(%SST(&EXPDATE7 4 2))              
0207.00              CHGVAR     VAR(&CDD) VALUE(%SST(&EXPDATE7 6 2))              
0208.00              CHGVAR     VAR(&CYYYY) VALUE('20' *CAT &CYY)                 
0209.00              CHGVAR     VAR(&EXPDATE) VALUE(&CYYYY *CAT &CMM *CAT +       
0210.00                           &CDD)                                           
0211.00              IF         COND(%SST(&EXPDATE 1 8) *EQ '20999999') +         
0212.00                           THEN(DO)                                        
0213.00              CHGVAR     VAR(&EXPDATE) VALUE('*PERM   ')                   
0214.00              ENDDO                                                        
0215.00              IF         COND(&SEQNBR *EQ 0) THEN(DO)                      
0216.00              CHGVAR     VAR(&SEQNBRC) VALUE('*END    ')                     
0217.00              ENDDO                                                          
0218.00              ELSE       CMD(DO)                                             
0219.00              CHGVAR     VAR(&SEQNBRC) VALUE(&SEQNBR)                        
0220.00              ENDDO                                                          
0221.00              CHGVAR     VAR(&DTACPR) VALUE('*DEV   ')                       
0222.00              ENDDO      /*  テープ保管  */                                  
0223.00 /*( 環境の設定 )*/                                                          
0224.00              IF         COND(&INZLIB *EQ '*ALL      ') THEN(DO) /* +        
0225.00                           *ALL */                                           
0226.00              CALL       PGM(QUSCRTUS) PARM('QUSLOBJ   +                     
0227.00                           QTEMP     ' 'PF        ' 1000 ' ' +               
0228.00                           '*ALL      ' 'QUSLOBJ 用ユーザー空間 ' +          
0229.00                           '*YES      ' &APIERR)                             
0230.00              MONMSG     CPF9870                                             
0231.00 /*( QUSLOBJ :  オブジェクト・リストAPI )*/                               
0232.00              CALL       PGM(QUSLOBJ) PARM('QUSLOBJ   QTEMP     ' +          
0233.00                           'OBJL0200' '*ALL      *ALL      ' '*LIB      ' +  
0234.00                           &APIERR)                                          
0235.00 /*( リストAPIで作成されたユーザー空間の検索 )*/                          
0236.00      /*( リストデータセクションのオフセットを検索 )*/                       
0237.00              CALL       PGM(QUSRTVUS) PARM('QUSLOBJ   QTEMP     ' +         
0238.00                           &STRPOS &LENDTA &RCVVAR)                          
0239.00              CHGVAR     VAR(&OFFSET) VALUE(%SST(&RCVVAR 1 4))               
0240.00              CHGVAR     VAR(&NOENTR) VALUE(%SST(&RCVVAR 9 4))           
0241.00              CHGVAR     VAR(&LSTSIZ) VALUE(%SST(&RCVVAR 13 4))          
0242.00                                                                         
0243.00          /*( RCVVAR によって OFFSET,LSTSIZ を受取った )*/               
0244.00              CHGVAR     VAR(&STRPOS) VALUE(&OFFSET)                     
0245.00              CHGVAR     VAR(&DEC08) VALUE(%BIN(&STRPOS))                
0246.00              CHGVAR     VAR(&DEC08) VALUE(&DEC08 + 1)                   
0247.00              CHGVAR     VAR(%BIN(&STRPOS)) VALUE(&DEC08)                
0248.00              CHGVAR     VAR(&LENDTA) VALUE(&LSTSIZ)                     
0249.00              CHGVAR     VAR(&ADDLEN) VALUE(%BIN(&LENDTA))               
0250.00              CHGVAR     VAR(&NOENT) VALUE(%BIN(&NOENTR))                
0251.00              CHGVAR     VAR(&SAVSU) VALUE(&NOENT)                       
0252.00              ENDDO      /* *ALL */                                      
0253.00                                                                         
0254.00              CHGVAR     VAR(&KOSU) VALUE(0)                             
0255.00              CHGVAR     VAR(&N) VALUE(1)                                
0256.00              CHGVAR     VAR(&POS) VALUE(3)                              
0257.00              CHGVAR     VAR(&KOSU) VALUE(0)                             
0258.00              /*( 処理の開始 )*/                                         
0259.00  NXTSAV:                                                                
0260.00              IF         COND(&INZLIB *EQ '*ALL      ') THEN(DO) /* +    
0261.00                           *ALL */                                       
0262.00              CALL       PGM(QUSRTVUS) PARM('QUSLOBJ   QTEMP     ' +     
0263.00                           &STRPOS &LENDTA &RCVDTA)                      
0264.00              CHGVAR     VAR(&LIB) VALUE(%SST(&RCVDTA  1 10))         
0265.00              /*( *ALL の場合は除外するライブラリーは除く )*/         
0266.00         /*( 保管ライブラリー SAVUSRLIB は除く )*/                    
0267.00              IF         COND(&LIB *EQ 'SAVUSRLIB ') THEN(DO)         
0268.00              GOTO       PASS                                         
0269.00              ENDDO                                                   
0270.00              IF         COND(&LIB *EQ 'BACKUP    ') THEN(DO)         
0271.00              GOTO       PASS                                         
0272.00              ENDDO                                                   
0273.00              IF         COND(&LIB *EQ 'SPOOL.MOD ') THEN(DO)         
0274.00              GOTO       PASS                                         
0275.00              ENDDO                                                   
0276.00              IF         COND(&LIB *EQ 'PANEL.MOD ') THEN(DO)         
0277.00              GOTO       PASS                                         
0278.00              ENDDO                                                   
0279.00              IF         COND(&LIB *EQ 'IFSLIB    ') THEN(DO)         
0280.00              GOTO       PASS                                         
0281.00              ENDDO                                                   
0282.00              IF         COND(&LIB *EQ 'SYSIBM    ') THEN(DO)         
0283.00              GOTO       PASS                                         
0284.00              ENDDO                                                   
0285.00         /*( 頭 SYS は除く )*/                                        
0286.00              IF         COND(%SST(&LIB 1 3) *EQ 'SYS') THEN(DO)      
0287.00              GOTO       PASS                                         
0288.00              ENDDO                                                    
0289.00         /*( 頭 # は除く )*/                                           
0290.00              IF         COND(%SST(&LIB 1 1) *EQ '#') THEN(DO)         
0291.00              GOTO       PASS                                          
0292.00              ENDDO                                                    
0293.00         /*( 頭 OOTAKE は除く )*/                                      
0294.00              IF         COND(%SST(&LIB 1 6) *EQ 'OOTAKE') THEN(DO)    
0295.00              GOTO       PASS                                          
0296.00              ENDDO                                                    
0297.00         /*( 文字 _ を含むものは除く )*/                               
0298.00              CALL       PGM(QCLSCAN) PARM(&LIB &STRLEN &STRPOT +      
0299.00                           '_' &PATLEN1 ' ' ' ' ' ' &RESULT)           
0300.00              IF         COND(&RESULT *NE 0) THEN(DO)                  
0301.00              GOTO       PASS                                          
0302.00              ENDDO                                                    
0303.00         /*( 文字 TEST を含むものは除く )*/                            
0304.00              CALL       PGM(QCLSCAN) PARM(&LIB &STRLEN &STRPOT +      
0305.00                           'TEST' &PATLEN3 ' ' ' ' ' ' &RESULT)        
0306.00              IF         COND(&RESULT *NE 0) THEN(DO)                  
0307.00              GOTO       PASS                                          
0308.00              ENDDO                                                    
0309.00         /*( 頭 @ は除く )*/                                           
0310.00              IF         COND(%SST(&LIB 1 1) *EQ '@') THEN(DO)         
0311.00              GOTO       PASS                                          
0312.00              ENDDO                                                      
0313.00         /*( 頭 DDM は除く )*/                                           
0314.00              IF         COND(%SST(&LIB 1 3) *EQ 'DDM') THEN(DO)         
0315.00              GOTO       PASS                                            
0316.00              ENDDO                                                      
0317.00         /*( 頭 LIC は除く )*/                                           
0318.00              IF         COND(%SST(&LIB 1 3) *EQ 'LIC') THEN(DO)         
0319.00              GOTO       PASS                                            
0320.00              ENDDO                                                      
0321.00         /*( 頭 PTF は除く )*/                                           
0322.00              IF         COND(%SST(&LIB 1 3) *EQ 'PTF') THEN(DO)         
0323.00              GOTO       PASS                                            
0324.00              ENDDO                                                      
0325.00         /*( 頭 SAVF は除く )*/                                          
0326.00              IF         COND(%SST(&LIB 1 4) *EQ 'SAVF') THEN(DO)        
0327.00              GOTO       PASS                                            
0328.00              ENDDO                                                      
0329.00         /*( ASNET.COM 本番用だけを保管 )*/                              
0330.00              IF         COND(%SST(&LIB 1 9) *EQ 'ASNET.COM') THEN(DO)   
0331.00              IF         COND(&LIB *NE 'ASNET.COM ') THEN(DO)            
0332.00              GOTO       PASS                                            
0333.00              ENDDO                                                      
0334.00              ENDDO                                                      
0335.00              IF         COND(%SST(&LIB 1 8) *EQ 'ASNETCOM') THEN(DO)    
0336.00              GOTO       PASS                                               
0337.00              ENDDO                                                         
0338.00         /*( ASNET.USR 本番用だけを保管 )*/                                 
0339.00              IF         COND(%SST(&LIB 1 9) *EQ 'ASNET.USR') THEN(DO)      
0340.00              IF         COND(&LIB *NE 'ASNET.USR ') THEN(DO)               
0341.00              GOTO       PASS                                               
0342.00              ENDDO                                                         
0343.00              ENDDO                                                         
0344.00              IF         COND(%SST(&LIB 1 8) *EQ 'ASNETUSR') THEN(DO)       
0345.00              GOTO       PASS                                               
0346.00              ENDDO                                                         
0347.00         /*( SPOOLWTR  本番用だけを保管 )*/                                 
0348.00              IF         COND(%SST(&LIB 1 8) *EQ 'SPOOLWTR') THEN(DO)       
0349.00              IF         COND(&LIB *NE 'SPOOLWTR  ') THEN(DO)               
0350.00              GOTO       PASS                                               
0351.00              ENDDO                                                         
0352.00              ENDDO                                                         
0353.00         /*( QTRSRC    本番用だけを保管 )*/                                 
0354.00              IF         COND(%SST(&LIB 1 6) *EQ 'QTRSRC') THEN(DO)         
0355.00              IF         COND(&LIB *NE 'QTRSRC    ') THEN(DO)               
0356.00              GOTO       PASS                                               
0357.00              ENDDO                                                         
0358.00              ENDDO                                                         
0359.00         /*( QTROBJ    本番用だけを保管 )*/                                 
0360.00              IF         COND(%SST(&LIB 1 6) *EQ 'QTROBJ') THEN(DO)       
0361.00              IF         COND(&LIB *NE 'QTROBJ    ') THEN(DO)             
0362.00              GOTO       PASS                                             
0363.00              ENDDO                                                       
0364.00              ENDDO                                                       
0365.00         /*( QTRFIL    本番用だけを保管 )*/                               
0366.00              IF         COND(%SST(&LIB 1 6) *EQ 'QTRFIL') THEN(DO)       
0367.00              IF         COND(&LIB *NE 'QTRFIL    ') THEN(DO)             
0368.00              GOTO       PASS                                             
0369.00              ENDDO                                                       
0370.00              ENDDO                                                       
0371.00         /*( CGIBIN    本番用だけを保管 )*/                               
0372.00              IF         COND(%SST(&LIB 1 6) *EQ 'CGIBIN') THEN(DO)       
0373.00              IF         COND(&LIB *NE 'CGIBIN    ') THEN(DO)             
0374.00              GOTO       PASS                                             
0375.00              ENDDO                                                       
0376.00              ENDDO                                                       
0377.00         /*( 頭が Q で QTR, QUATTRO,QSROAD 以外は除く )*/                 
0378.00              IF         COND(%SST(&LIB 1 1) *EQ 'Q') THEN(DO) /* +       
0379.00                            頭が Q */                                     
0380.00              IF         COND((%SST(&LIB 1 3) *EQ 'QTR') *OR +            
0381.00                           (%SST(&LIB 1 7) *EQ 'QUATTRO') *OR +           
0382.00                           (%SST(&LIB 1 6) *EQ 'QSROAD')) THEN(DO)        
0383.00              GOTO       EXEC                                             
0384.00              ENDDO                                                        
0385.00              ELSE       CMD(DO)                                           
0386.00              GOTO       PASS                                              
0387.00              ENDDO                                                        
0388.00              ENDDO      /*  頭が Q */                                     
0389.00              ELSE       CMD(IF COND(%SST(&LIB 1 3) *NE 'PTF') THEN(DO))   
0390.00              GOTO       EXEC                                              
0391.00              ENDDO                                                        
0392.00              ENDDO      /* *ALL */                                        
0393.00              ELSE       CMD(DO) /*  ライブラリー指定  */                  
0394.00              CHGVAR     VAR(&LIB) VALUE(%SST(&LIBR &POS 10))              
0395.00              ENDDO      /*  ライブラリー指定  */                          
0396.00                                                                           
0397.00  EXEC:       RTVOBJD    OBJ(&LIB) OBJTYPE(*LIB) TEXT(&TEXT)               
0398.00              MONMSG     MSGID(CPF9800) EXEC(DO)                           
0399.00              CHGVAR     VAR(&MSG) VALUE(' ライブラリー ' *CAT +           
0400.00                           &LIB *TCAT ' が見つからない。 ')                
0401.00              GOTO       SNDMSG                                            
0402.00              ENDDO                                                        
0403.00              /*****************/                                          
0404.00              /* PRINT: 印刷   */                                          
0405.00              /*****************/                                          
0406.00              IF         COND(&OPTION *EQ '*PRINT') THEN(DO)               
0407.00              CHGVAR     VAR(&STSMSG) VALUE(' ライブラリー ' *CAT +        
0408.00                           &LIB *TCAT ' を印刷中です。 ')                
0409.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +  
0410.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                 
0411.00              DSPLIB     LIB(&LIB) OUTPUT(*PRINT)                        
0412.00              CHGVAR     VAR(&KOSU) VALUE(&KOSU + 1)                     
0413.00              GOTO       PASS                                            
0414.00              ENDDO                                                      
0415.00              CHKOBJ     OBJ(QTEMP/&LIB) OBJTYPE(*FILE)                  
0416.00              MONMSG     MSGID(CPF9800) EXEC(DO)                         
0417.00              CRTSAVF    FILE(QTEMP/&LIB) TEXT(&TEXT) AUT(*ALL)          
0418.00              ENDDO                                                      
0419.00              CLRSAVF    FILE(QTEMP/&LIB)                                
0420.00              /*******************************************/              
0421.00              /* (1) QTEMP/SAVF にライブラリーを保管する */              
0422.00              /*******************************************/              
0423.00              CHGVAR     VAR(&STSMSG) VALUE(' ライブラリー ' *CAT +      
0424.00                           &LIB *TCAT ' を保管中です。 ')                
0425.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +  
0426.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                 
0427.00              IF         COND(&OMITSU *EQ 0) THEN(DO)                    
0428.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)             
0429.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                 
0430.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +              
0431.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +           
0432.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0433.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0434.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0435.00                           QDTA(&QDTA) DTACPR(&DTACPR) OMITLIB(*NONE)   
0436.00              MONMSG     CPF3700                                        
0437.00              ENDDO                                                     
0438.00              ELSE       CMD(DO)                                        
0439.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0440.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0441.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0442.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0443.00                           DTACPR(&DTACPR) OMITLIB(*NONE)               
0444.00              MONMSG     CPF3700                                        
0445.00              ENDDO                                                     
0446.00              ENDDO                                                     
0447.00              IF         COND(&OMITSU *EQ 1) THEN(DO)                   
0448.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
0449.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
0450.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
0451.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
0452.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
0453.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0454.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0455.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0456.00                           QDTA(&QDTA) DTACPR(&DTACPR) OMITLIB(&LIB01)  
0457.00              MONMSG     CPF3700                                        
0458.00              ENDDO                                                     
0459.00              ELSE       CMD(DO)                                        
0460.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0461.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0462.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0463.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0464.00                           DTACPR(&DTACPR) OMITLIB(&LIB01)              
0465.00              MONMSG     CPF3700                                        
0466.00              ENDDO                                                     
0467.00              ENDDO                                                     
0468.00              IF         COND(&OMITSU *EQ 2) THEN(DO)                   
0469.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
0470.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))        
0471.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
0472.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
0473.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
0474.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
0475.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0476.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0477.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0478.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
0479.00                           OMITLIB(&LIB01 &LIB02)                       
0480.00              MONMSG     CPF3700                                  
0481.00              ENDDO                                               
0482.00              ELSE       CMD(DO)                                  
0483.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +  
0484.00                           PRECHK(*NO) SAVACT(&SAVACT) +          
0485.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +        
0486.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +        
0487.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02) 
0488.00              MONMSG     CPF3700                                  
0489.00              ENDDO                                               
0490.00              ENDDO                                               
0491.00              IF         COND(&OMITSU *EQ 3) THEN(DO)             
0492.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))   
0493.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))  
0494.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))  
0495.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)      
0496.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +          
0497.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +       
0498.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +    
0499.00                           STRLIB(&STRLIB) PRECHK(*NO) +          
0500.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +      
0501.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +      
0502.00                           QDTA(&QDTA) DTACPR(&DTACPR) +          
0503.00                           OMITLIB(&LIB01 &LIB02 &LIB03)          
0504.00              MONMSG     CPF3700                                          
0505.00              ENDDO                                                       
0506.00              ELSE       CMD(DO)                                          
0507.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +          
0508.00                           PRECHK(*NO) SAVACT(&SAVACT) +                  
0509.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +                
0510.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +                
0511.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 &LIB03)  
0512.00              MONMSG     CPF3700                                          
0513.00              ENDDO                                                       
0514.00              ENDDO                                                       
0515.00              IF         COND(&OMITSU *EQ 4) THEN(DO)                     
0516.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))           
0517.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))          
0518.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))          
0519.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))          
0520.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)              
0521.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                  
0522.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +               
0523.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +            
0524.00                           STRLIB(&STRLIB) PRECHK(*NO) +                  
0525.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +              
0526.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +              
0527.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                  
0528.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04)    
0529.00              MONMSG     CPF3700                                   
0530.00              ENDDO                                                
0531.00              ELSE       CMD(DO)                                   
0532.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +   
0533.00                           PRECHK(*NO) SAVACT(&SAVACT) +           
0534.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +         
0535.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +         
0536.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 + 
0537.00                           &LIB03 &LIB04)                          
0538.00              MONMSG     CPF3700                                   
0539.00              ENDDO                                                
0540.00              ENDDO                                                
0541.00              IF         COND(&OMITSU *EQ 5) THEN(DO)              
0542.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))    
0543.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))   
0544.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))   
0545.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))   
0546.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))   
0547.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)       
0548.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +           
0549.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +        
0550.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +     
0551.00                           STRLIB(&STRLIB) PRECHK(*NO) +           
0552.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +          
0553.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +          
0554.00                           QDTA(&QDTA) DTACPR(&DTACPR) +              
0555.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 &LIB05)
0556.00              MONMSG     CPF3700                                      
0557.00              ENDDO                                                   
0558.00              ELSE       CMD(DO)                                      
0559.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +      
0560.00                           PRECHK(*NO) SAVACT(&SAVACT) +              
0561.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +            
0562.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +            
0563.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +    
0564.00                           &LIB03 &LIB04 &LIB05)                      
0565.00              MONMSG     CPF3700                                      
0566.00              ENDDO                                                   
0567.00              ENDDO                                                   
0568.00              IF         COND(&OMITSU *EQ 6) THEN(DO)                 
0569.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))       
0570.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))      
0571.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))      
0572.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))      
0573.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))      
0574.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))      
0575.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)          
0576.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +           
0577.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +        
0578.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +     
0579.00                           STRLIB(&STRLIB) PRECHK(*NO) +           
0580.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +       
0581.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +       
0582.00                           QDTA(&QDTA) DTACPR(&DTACPR) +           
0583.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +   
0584.00                           &LIB05 &LIB06)                          
0585.00              MONMSG     CPF3700                                   
0586.00              ENDDO                                                
0587.00              ELSE       CMD(DO)                                   
0588.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +   
0589.00                           PRECHK(*NO) SAVACT(&SAVACT) +           
0590.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +         
0591.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +         
0592.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 + 
0593.00                           &LIB03 &LIB04 &LIB05 &LIB06)            
0594.00              MONMSG     CPF3700                                   
0595.00              ENDDO                                                
0596.00              ENDDO                                                
0597.00              IF         COND(&OMITSU *EQ 7) THEN(DO)              
0598.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))    
0599.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))   
0600.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))     
0601.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))     
0602.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))     
0603.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))     
0604.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))     
0605.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)         
0606.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +             
0607.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +          
0608.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +       
0609.00                           STRLIB(&STRLIB) PRECHK(*NO) +             
0610.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +         
0611.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +         
0612.00                           QDTA(&QDTA) DTACPR(&DTACPR) +             
0613.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +     
0614.00                           &LIB05 &LIB06 &LIB07)                     
0615.00              MONMSG     CPF3700                                     
0616.00              ENDDO                                                  
0617.00              ELSE       CMD(DO)                                     
0618.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +     
0619.00                           PRECHK(*NO) SAVACT(&SAVACT) +             
0620.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +           
0621.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +           
0622.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +   
0623.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07)       
0624.00              MONMSG     CPF3700                                   
0625.00              ENDDO                                                
0626.00              ENDDO                                                
0627.00              IF         COND(&OMITSU *EQ 8) THEN(DO)              
0628.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))    
0629.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))   
0630.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))   
0631.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))   
0632.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))   
0633.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))   
0634.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))   
0635.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))   
0636.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)       
0637.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +           
0638.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +        
0639.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +     
0640.00                           STRLIB(&STRLIB) PRECHK(*NO) +           
0641.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +       
0642.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +       
0643.00                           QDTA(&QDTA) DTACPR(&DTACPR) +           
0644.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +   
0645.00                           &LIB05 &LIB06 &LIB07 &LIB08)            
0646.00              MONMSG     CPF3700                                   
0647.00              ENDDO                                                
0648.00              ELSE       CMD(DO)                                       
0649.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +       
0650.00                           PRECHK(*NO) SAVACT(&SAVACT) +               
0651.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +             
0652.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +             
0653.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +     
0654.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08)  
0655.00              MONMSG     CPF3700                                       
0656.00              ENDDO                                                    
0657.00              ENDDO                                                    
0658.00              IF         COND(&OMITSU *EQ 9) THEN(DO)                  
0659.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))        
0660.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))       
0661.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))       
0662.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
0663.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))       
0664.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))       
0665.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
0666.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
0667.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
0668.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)           
0669.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +               
0670.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +            
0671.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +         
0672.00                           STRLIB(&STRLIB) PRECHK(*NO) +               
0673.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +           
0674.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +           
0675.00                           QDTA(&QDTA) DTACPR(&DTACPR) +               
0676.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +       
0677.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09)         
0678.00              MONMSG     CPF3700                                       
0679.00              ENDDO                                                    
0680.00              ELSE       CMD(DO)                                       
0681.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +       
0682.00                           PRECHK(*NO) SAVACT(&SAVACT) +               
0683.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +             
0684.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +             
0685.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +     
0686.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 + 
0687.00                           &LIB09)                                     
0688.00              MONMSG     CPF3700                                       
0689.00              ENDDO                                                    
0690.00              ENDDO                                                    
0691.00              IF         COND(&OMITSU *EQ 10) THEN(DO)                 
0692.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))        
0693.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))       
0694.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))       
0695.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
0696.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))        
0697.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))        
0698.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))        
0699.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))        
0700.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))        
0701.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))        
0702.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
0703.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
0704.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
0705.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
0706.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0707.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0708.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0709.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
0710.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
0711.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10)   
0712.00              ENDDO                                                     
0713.00              ELSE       CMD(DO)                                        
0714.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0715.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0716.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0717.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0718.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
0719.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
0720.00                           &LIB09 &LIB10)                            
0721.00              MONMSG     CPF3700                                     
0722.00              ENDDO                                                  
0723.00              ENDDO                                                  
0724.00              IF         COND(&OMITSU *EQ 11) THEN(DO)               
0725.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))      
0726.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))     
0727.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))     
0728.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))     
0729.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))     
0730.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))     
0731.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))     
0732.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))     
0733.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))     
0734.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))     
0735.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))    
0736.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)         
0737.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +             
0738.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +          
0739.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +       
0740.00                           STRLIB(&STRLIB) PRECHK(*NO) +             
0741.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +         
0742.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +         
0743.00                           QDTA(&QDTA) DTACPR(&DTACPR) +             
0744.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +       
0745.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 + 
0746.00                           &LIB11)                                     
0747.00              ENDDO                                                    
0748.00              ELSE       CMD(DO)                                       
0749.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +       
0750.00                           PRECHK(*NO) SAVACT(&SAVACT) +               
0751.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +             
0752.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +             
0753.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +     
0754.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 + 
0755.00                           &LIB09 &LIB10 &LIB11)                       
0756.00              MONMSG     CPF3700                                       
0757.00              ENDDO                                                    
0758.00              ENDDO                                                    
0759.00              IF         COND(&OMITSU *EQ 12) THEN(DO)                 
0760.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))        
0761.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))       
0762.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))       
0763.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
0764.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))       
0765.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))       
0766.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
0767.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
0768.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))         
0769.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))         
0770.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))        
0771.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))        
0772.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)             
0773.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                 
0774.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +              
0775.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +           
0776.00                           STRLIB(&STRLIB) PRECHK(*NO) +                 
0777.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +             
0778.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +             
0779.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                 
0780.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +         
0781.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +   
0782.00                           &LIB11 &LIB12)                                
0783.00              MONMSG     CPF3700                                         
0784.00              ENDDO                                                      
0785.00              ELSE       CMD(DO)                                         
0786.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +         
0787.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
0788.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
0789.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
0790.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
0791.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
0792.00                           &LIB09 &LIB10 &LIB11 &LIB12)             
0793.00              MONMSG     CPF3700                                    
0794.00              ENDDO                                                 
0795.00              ENDDO                                                 
0796.00              IF         COND(&OMITSU *EQ 13) THEN(DO)              
0797.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))     
0798.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))    
0799.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))    
0800.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))    
0801.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))    
0802.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))    
0803.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))    
0804.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))    
0805.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))    
0806.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))    
0807.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))   
0808.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))   
0809.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))   
0810.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)        
0811.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +            
0812.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +         
0813.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +      
0814.00                           STRLIB(&STRLIB) PRECHK(*NO) +            
0815.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +        
0816.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0817.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
0818.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
0819.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
0820.00                           &LIB11 &LIB12 &LIB13)                        
0821.00              MONMSG     CPF3700                                        
0822.00              ENDDO                                                     
0823.00              ELSE       CMD(DO)                                        
0824.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0825.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0826.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0827.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0828.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
0829.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
0830.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13)          
0831.00              MONMSG     CPF3700                                        
0832.00              ENDDO                                                     
0833.00              ENDDO                                                     
0834.00              IF         COND(&OMITSU *EQ 14) THEN(DO)                  
0835.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
0836.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))        
0837.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))        
0838.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))        
0839.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))        
0840.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))      
0841.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))      
0842.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))      
0843.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))      
0844.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))      
0845.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))     
0846.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))     
0847.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))     
0848.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))     
0849.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)          
0850.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +              
0851.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +           
0852.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +        
0853.00                           STRLIB(&STRLIB) PRECHK(*NO) +              
0854.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +          
0855.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +          
0856.00                           QDTA(&QDTA) DTACPR(&DTACPR) +              
0857.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +      
0858.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +
0859.00                           &LIB11 &LIB12 &LIB13 &LIB14)               
0860.00              MONMSG     CPF3700                                      
0861.00              ENDDO                                                   
0862.00              ELSE       CMD(DO)                                      
0863.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +      
0864.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0865.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0866.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0867.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
0868.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
0869.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14)   
0870.00              MONMSG     CPF3700                                        
0871.00              ENDDO                                                     
0872.00              ENDDO                                                     
0873.00              IF         COND(&OMITSU *EQ 15) THEN(DO)                  
0874.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
0875.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))        
0876.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))        
0877.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))        
0878.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))        
0879.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))        
0880.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))        
0881.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))        
0882.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))        
0883.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))        
0884.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))       
0885.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))       
0886.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))       
0887.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))       
0888.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))       
0889.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
0890.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
0891.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
0892.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
0893.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0894.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0895.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0896.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
0897.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
0898.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
0899.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15)          
0900.00              MONMSG     CPF3700                                        
0901.00              ENDDO                                                     
0902.00              ELSE       CMD(DO)                                        
0903.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0904.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0905.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0906.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0907.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
0908.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
0909.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +  
0910.00                           &LIB15)                                      
0911.00              MONMSG     CPF3700                                        
0912.00              ENDDO                                                   
0913.00              ENDDO                                                   
0914.00              IF         COND(&OMITSU *EQ 16) THEN(DO)                
0915.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))       
0916.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))      
0917.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))      
0918.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))      
0919.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))      
0920.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))      
0921.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))      
0922.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))      
0923.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))      
0924.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))      
0925.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))     
0926.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))     
0927.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))     
0928.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))     
0929.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))     
0930.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))     
0931.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)          
0932.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +              
0933.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +           
0934.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +        
0935.00                           STRLIB(&STRLIB) PRECHK(*NO) +              
0936.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +             
0937.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +             
0938.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                 
0939.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +         
0940.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +   
0941.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16)    
0942.00              MONMSG     CPF3700                                         
0943.00              ENDDO                                                      
0944.00              ELSE       CMD(DO)                                         
0945.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +         
0946.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
0947.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
0948.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
0949.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
0950.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
0951.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +   
0952.00                           &LIB15 &LIB16)                                
0953.00              MONMSG     CPF3700                                         
0954.00              ENDDO                                                      
0955.00              ENDDO                                                      
0956.00              IF         COND(&OMITSU *EQ 17) THEN(DO)                   
0957.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
0958.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
0959.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
0960.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
0961.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))       
0962.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))       
0963.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
0964.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
0965.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
0966.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))       
0967.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))      
0968.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))      
0969.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))      
0970.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))      
0971.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))      
0972.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))      
0973.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))      
0974.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)           
0975.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +               
0976.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +            
0977.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +         
0978.00                           STRLIB(&STRLIB) PRECHK(*NO) +               
0979.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +           
0980.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +           
0981.00                           QDTA(&QDTA) DTACPR(&DTACPR) +               
0982.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +       
0983.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 + 
0984.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
0985.00                           &LIB17)                                      
0986.00              MONMSG     CPF3700                                        
0987.00              ENDDO                                                     
0988.00              ELSE       CMD(DO)                                        
0989.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
0990.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
0991.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
0992.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
0993.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
0994.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
0995.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +  
0996.00                           &LIB15 &LIB16 &LIB17)                        
0997.00              MONMSG     CPF3700                                        
0998.00              ENDDO                                                     
0999.00              ENDDO                                                     
1000.00              IF         COND(&OMITSU *EQ 18) THEN(DO)                  
1001.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
1002.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))        
1003.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))        
1004.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))        
1005.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))        
1006.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))        
1007.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))        
1008.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
1009.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
1010.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))       
1011.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))      
1012.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))      
1013.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))      
1014.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))      
1015.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))      
1016.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))      
1017.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))      
1018.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))      
1019.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)           
1020.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +               
1021.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +            
1022.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +         
1023.00                           STRLIB(&STRLIB) PRECHK(*NO) +               
1024.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +           
1025.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +           
1026.00                           QDTA(&QDTA) DTACPR(&DTACPR) +               
1027.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +       
1028.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 + 
1029.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 + 
1030.00                           &LIB17 &LIB18)                              
1031.00              MONMSG     CPF3700                                       
1032.00              ENDDO                                                    
1033.00              ELSE       CMD(DO)                                       
1034.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +       
1035.00                           PRECHK(*NO) SAVACT(&SAVACT) +               
1036.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +             
1037.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +             
1038.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +     
1039.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 + 
1040.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 + 
1041.00                           &LIB15 &LIB16 &LIB17 &LIB18)                
1042.00              MONMSG     CPF3700                                       
1043.00              ENDDO                                                    
1044.00              ENDDO                                                    
1045.00              IF         COND(&OMITSU *EQ 19) THEN(DO)                 
1046.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))        
1047.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))       
1048.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))       
1049.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
1050.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))       
1051.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))       
1052.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
1053.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
1054.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
1055.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))       
1056.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))       
1057.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))       
1058.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))       
1059.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))       
1060.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))       
1061.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))       
1062.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))       
1063.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))       
1064.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))       
1065.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
1066.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
1067.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
1068.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
1069.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
1070.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
1071.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
1072.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
1073.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
1074.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
1075.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
1076.00                           &LIB17 &LIB18 &LIB19)                        
1077.00              MONMSG     CPF3700                                        
1078.00              ENDDO                                                     
1079.00              ELSE       CMD(DO)                                        
1080.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +          
1081.00                           PRECHK(*NO) SAVACT(&SAVACT) +                  
1082.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +                
1083.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +                
1084.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +        
1085.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +    
1086.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +    
1087.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19)            
1088.00              MONMSG     CPF3700                                          
1089.00              ENDDO                                                       
1090.00              ENDDO                                                       
1091.00              IF         COND(&OMITSU *EQ 20) THEN(DO)                    
1092.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))           
1093.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))          
1094.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))          
1095.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))          
1096.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))          
1097.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))          
1098.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))          
1099.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))          
1100.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))          
1101.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))          
1102.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))         
1103.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))         
1104.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))       
1105.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))       
1106.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))       
1107.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))       
1108.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))       
1109.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))       
1110.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))       
1111.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))       
1112.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
1113.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
1114.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
1115.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
1116.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
1117.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
1118.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
1119.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
1120.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
1121.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
1122.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
1123.00                           &LIB17 &LIB18 &LIB19 &LIB20)                 
1124.00              MONMSG     CPF3700                                        
1125.00              ENDDO                                                     
1126.00              ELSE       CMD(DO)                                        
1127.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
1128.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
1129.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
1130.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
1131.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
1132.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
1133.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +   
1134.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20)    
1135.00              MONMSG     CPF3700                                         
1136.00              ENDDO                                                      
1137.00              ENDDO                                                      
1138.00              IF         COND(&OMITSU *EQ 21) THEN(DO)                   
1139.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
1140.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
1141.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
1142.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))         
1143.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))         
1144.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))         
1145.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))         
1146.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))         
1147.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))         
1148.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))         
1149.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))        
1150.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))        
1151.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))        
1152.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))          
1153.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))          
1154.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))          
1155.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))          
1156.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))          
1157.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))          
1158.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))          
1159.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))          
1160.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)               
1161.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                   
1162.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +                
1163.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +             
1164.00                           STRLIB(&STRLIB) PRECHK(*NO) +                   
1165.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +               
1166.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +               
1167.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                   
1168.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +           
1169.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +     
1170.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +     
1171.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21)             
1172.00              MONMSG     CPF3700                                           
1173.00              ENDDO                                                        
1174.00              ELSE       CMD(DO)                                           
1175.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +           
1176.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
1177.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
1178.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
1179.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
1180.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
1181.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +   
1182.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +   
1183.00                           &LIB21)                                       
1184.00              MONMSG     CPF3700                                         
1185.00              ENDDO                                                      
1186.00              ENDDO                                                      
1187.00              IF         COND(&OMITSU *EQ 22) THEN(DO)                   
1188.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
1189.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
1190.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
1191.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))         
1192.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))         
1193.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))         
1194.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))         
1195.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))         
1196.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))         
1197.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))         
1198.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))        
1199.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))        
1200.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))        
1201.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))        
1202.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))        
1203.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))        
1204.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))        
1205.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))        
1206.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))        
1207.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))        
1208.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))        
1209.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))        
1210.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)             
1211.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                 
1212.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +              
1213.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +           
1214.00                           STRLIB(&STRLIB) PRECHK(*NO) +                 
1215.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +             
1216.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +             
1217.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                 
1218.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +         
1219.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +   
1220.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +   
1221.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22)    
1222.00              MONMSG     CPF3700                                         
1223.00              ENDDO                                                      
1224.00              ELSE       CMD(DO)                                       
1225.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +       
1226.00                           PRECHK(*NO) SAVACT(&SAVACT) +               
1227.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +             
1228.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +             
1229.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +     
1230.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 + 
1231.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 + 
1232.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 + 
1233.00                           &LIB21 &LIB22)                              
1234.00              MONMSG     CPF3700                                       
1235.00              ENDDO                                                    
1236.00              ENDDO                                                    
1237.00              IF         COND(&OMITSU *EQ 23) THEN(DO)                 
1238.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))        
1239.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))       
1240.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))       
1241.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))       
1242.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))       
1243.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))       
1244.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
1245.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
1246.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
1247.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))       
1248.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))     
1249.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))     
1250.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))     
1251.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))     
1252.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))     
1253.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))     
1254.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))     
1255.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))     
1256.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))     
1257.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))     
1258.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))     
1259.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))     
1260.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))     
1261.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)          
1262.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +              
1263.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +           
1264.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +        
1265.00                           STRLIB(&STRLIB) PRECHK(*NO) +              
1266.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +          
1267.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +          
1268.00                           QDTA(&QDTA) DTACPR(&DTACPR) +              
1269.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +      
1270.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +
1271.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +
1272.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +   
1273.00                           &LIB23)                                       
1274.00              MONMSG     CPF3700                                         
1275.00              ENDDO                                                      
1276.00              ELSE       CMD(DO)                                         
1277.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +         
1278.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
1279.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
1280.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
1281.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
1282.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
1283.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +   
1284.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +   
1285.00                           &LIB21 &LIB22 &LIB23)                         
1286.00              MONMSG     CPF3700                                         
1287.00              ENDDO                                                      
1288.00              ENDDO                                                      
1289.00              IF         COND(&OMITSU *EQ 24) THEN(DO)                   
1290.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
1291.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
1292.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
1293.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))         
1294.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))         
1295.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))         
1296.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))       
1297.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))       
1298.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))       
1299.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))       
1300.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))      
1301.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))      
1302.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))      
1303.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))      
1304.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))      
1305.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))      
1306.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))      
1307.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))      
1308.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))      
1309.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))      
1310.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))      
1311.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))      
1312.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))      
1313.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))      
1314.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)           
1315.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +               
1316.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +            
1317.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +         
1318.00                           STRLIB(&STRLIB) PRECHK(*NO) +               
1319.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +           
1320.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
1321.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
1322.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
1323.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
1324.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
1325.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +  
1326.00                           &LIB23 &LIB24)                               
1327.00              MONMSG     CPF3700                                        
1328.00              ENDDO                                                     
1329.00              ELSE       CMD(DO)                                        
1330.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
1331.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
1332.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
1333.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
1334.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
1335.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
1336.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +  
1337.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +  
1338.00                           &LIB21 &LIB22 &LIB23 &LIB24)                 
1339.00              MONMSG     CPF3700                                        
1340.00              ENDDO                                                     
1341.00              ENDDO                                                     
1342.00              IF         COND(&OMITSU *EQ 25) THEN(DO)                  
1343.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
1344.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))     
1345.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))     
1346.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))     
1347.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))     
1348.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))     
1349.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))     
1350.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))     
1351.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))     
1352.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))     
1353.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))    
1354.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))    
1355.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))    
1356.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))    
1357.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))    
1358.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))    
1359.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))    
1360.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))    
1361.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))    
1362.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))    
1363.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))    
1364.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))    
1365.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))    
1366.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))    
1367.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10))    
1368.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
1369.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
1370.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
1371.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
1372.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
1373.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
1374.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
1375.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
1376.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
1377.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
1378.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
1379.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +  
1380.00                           &LIB23 &LIB24 &LIB25)                        
1381.00              MONMSG     CPF3700                                        
1382.00              ENDDO                                                     
1383.00              ELSE       CMD(DO)                                        
1384.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
1385.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
1386.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
1387.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
1388.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
1389.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
1390.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +  
1391.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +  
1392.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25)        
1393.00              MONMSG     CPF3700                                      
1394.00              ENDDO                                                   
1395.00              ENDDO                                                   
1396.00              IF         COND(&OMITSU *EQ 26) THEN(DO)                
1397.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))       
1398.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))      
1399.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))      
1400.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))      
1401.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))      
1402.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))      
1403.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))      
1404.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))      
1405.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))      
1406.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))      
1407.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))     
1408.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))     
1409.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))     
1410.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))     
1411.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))     
1412.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))     
1413.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))     
1414.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))     
1415.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))     
1416.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))       
1417.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))       
1418.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))       
1419.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))       
1420.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))       
1421.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10))       
1422.00              CHGVAR     VAR(&LIB26) VALUE(%SST(&OMITLIB 255 10))       
1423.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
1424.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
1425.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
1426.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
1427.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
1428.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
1429.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
1430.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                
1431.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +        
1432.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +  
1433.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +  
1434.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +  
1435.00                           &LIB23 &LIB24 &LIB25 &LIB26)                 
1436.00              MONMSG     CPF3700                                        
1437.00              ENDDO                                                     
1438.00              ELSE       CMD(DO)                                        
1439.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +        
1440.00                           PRECHK(*NO) SAVACT(&SAVACT) +                
1441.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +              
1442.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +              
1443.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +      
1444.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +  
1445.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +  
1446.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +  
1447.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25 &LIB26)   
1448.00              MONMSG     CPF3700                                        
1449.00              ENDDO                                                     
1450.00              ENDDO                                                     
1451.00              IF         COND(&OMITSU *EQ 27) THEN(DO)                  
1452.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))         
1453.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))        
1454.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))        
1455.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))        
1456.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))        
1457.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))        
1458.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))        
1459.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))        
1460.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))        
1461.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))        
1462.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))       
1463.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))       
1464.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))    
1465.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))    
1466.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))    
1467.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))    
1468.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))    
1469.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))    
1470.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))    
1471.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))    
1472.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))    
1473.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))    
1474.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))    
1475.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))    
1476.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10))    
1477.00              CHGVAR     VAR(&LIB26) VALUE(%SST(&OMITLIB 255 10))    
1478.00              CHGVAR     VAR(&LIB27) VALUE(%SST(&OMITLIB 265 10))    
1479.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)         
1480.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +             
1481.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +          
1482.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +       
1483.00                           STRLIB(&STRLIB) PRECHK(*NO) +             
1484.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +         
1485.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +         
1486.00                           QDTA(&QDTA) DTACPR(&DTACPR) +             
1487.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +     
1488.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +    
1489.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +    
1490.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +    
1491.00                           &LIB23 &LIB24 &LIB25 &LIB26 &LIB27)            
1492.00              MONMSG     CPF3700                                          
1493.00              ENDDO                                                       
1494.00              ELSE       CMD(DO)                                          
1495.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +          
1496.00                           PRECHK(*NO) SAVACT(&SAVACT) +                  
1497.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +                
1498.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +                
1499.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +        
1500.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +    
1501.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +    
1502.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +    
1503.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25 &LIB26 +    
1504.00                           &LIB27)                                        
1505.00              MONMSG     CPF3700                                          
1506.00              ENDDO                                                       
1507.00              ENDDO                                                       
1508.00              IF         COND(&OMITSU *EQ 28) THEN(DO)                    
1509.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))           
1510.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))          
1511.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))          
1512.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))  
1513.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))  
1514.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))  
1515.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))  
1516.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))  
1517.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))  
1518.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))  
1519.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10)) 
1520.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10)) 
1521.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10)) 
1522.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10)) 
1523.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10)) 
1524.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10)) 
1525.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10)) 
1526.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10)) 
1527.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10)) 
1528.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10)) 
1529.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10)) 
1530.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10)) 
1531.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10)) 
1532.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10)) 
1533.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10)) 
1534.00              CHGVAR     VAR(&LIB26) VALUE(%SST(&OMITLIB 255 10)) 
1535.00              CHGVAR     VAR(&LIB27) VALUE(%SST(&OMITLIB 265 10)) 
1536.00              CHGVAR     VAR(&LIB28) VALUE(%SST(&OMITLIB 275 10))          
1537.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)               
1538.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                   
1539.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +                
1540.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +             
1541.00                           STRLIB(&STRLIB) PRECHK(*NO) +                   
1542.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +               
1543.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +               
1544.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                   
1545.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +           
1546.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +     
1547.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +     
1548.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +     
1549.00                           &LIB23 &LIB24 &LIB25 &LIB26 &LIB27 &LIB28)      
1550.00              MONMSG     CPF3700                                           
1551.00              ENDDO                                                        
1552.00              ELSE       CMD(DO)                                           
1553.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +           
1554.00                           PRECHK(*NO) SAVACT(&SAVACT) +                   
1555.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +                 
1556.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +                 
1557.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +         
1558.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +     
1559.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +     
1560.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +   
1561.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25 &LIB26 +   
1562.00                           &LIB27 &LIB28)                                
1563.00              MONMSG     CPF3700                                         
1564.00              ENDDO                                                      
1565.00              ENDDO                                                      
1566.00              IF         COND(&OMITSU *EQ 29) THEN(DO)                   
1567.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
1568.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
1569.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
1570.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))         
1571.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))         
1572.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))         
1573.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))         
1574.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))         
1575.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))         
1576.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))         
1577.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))        
1578.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))        
1579.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))        
1580.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))        
1581.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))        
1582.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))        
1583.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))        
1584.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))        
1585.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))        
1586.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))        
1587.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))        
1588.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))        
1589.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))        
1590.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))        
1591.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10))        
1592.00              CHGVAR     VAR(&LIB26) VALUE(%SST(&OMITLIB 255 10))        
1593.00              CHGVAR     VAR(&LIB27) VALUE(%SST(&OMITLIB 265 10))        
1594.00              CHGVAR     VAR(&LIB28) VALUE(%SST(&OMITLIB 275 10))        
1595.00              CHGVAR     VAR(&LIB29) VALUE(%SST(&OMITLIB 285 10))        
1596.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)             
1597.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                 
1598.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +              
1599.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +           
1600.00                           STRLIB(&STRLIB) PRECHK(*NO) +                 
1601.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +             
1602.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +             
1603.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                 
1604.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +         
1605.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +   
1606.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +   
1607.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +   
1608.00                           &LIB23 &LIB24 &LIB25 &LIB26 &LIB27 &LIB28 +   
1609.00                           &LIB29)                                       
1610.00              MONMSG     CPF3700                                         
1611.00              ENDDO                                                      
1612.00              ELSE       CMD(DO)                                         
1613.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +         
1614.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
1615.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
1616.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
1617.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
1618.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
1619.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +   
1620.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +   
1621.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25 &LIB26 +   
1622.00                           &LIB27 &LIB28 &LIB29)                         
1623.00              MONMSG     CPF3700                                         
1624.00              ENDDO                                                      
1625.00              ENDDO                                                      
1626.00              IF         COND(&OMITSU *EQ 30) THEN(DO)                   
1627.00              CHGVAR     VAR(&LIB01) VALUE(%SST(&OMITLIB 5 10))          
1628.00              CHGVAR     VAR(&LIB02) VALUE(%SST(&OMITLIB 15 10))         
1629.00              CHGVAR     VAR(&LIB03) VALUE(%SST(&OMITLIB 25 10))         
1630.00              CHGVAR     VAR(&LIB04) VALUE(%SST(&OMITLIB 35 10))         
1631.00              CHGVAR     VAR(&LIB05) VALUE(%SST(&OMITLIB 45 10))         
1632.00              CHGVAR     VAR(&LIB06) VALUE(%SST(&OMITLIB 55 10))   
1633.00              CHGVAR     VAR(&LIB07) VALUE(%SST(&OMITLIB 65 10))   
1634.00              CHGVAR     VAR(&LIB08) VALUE(%SST(&OMITLIB 75 10))   
1635.00              CHGVAR     VAR(&LIB09) VALUE(%SST(&OMITLIB 85 10))   
1636.00              CHGVAR     VAR(&LIB10) VALUE(%SST(&OMITLIB 95 10))   
1637.00              CHGVAR     VAR(&LIB11) VALUE(%SST(&OMITLIB 105 10))  
1638.00              CHGVAR     VAR(&LIB12) VALUE(%SST(&OMITLIB 115 10))  
1639.00              CHGVAR     VAR(&LIB13) VALUE(%SST(&OMITLIB 125 10))  
1640.00              CHGVAR     VAR(&LIB14) VALUE(%SST(&OMITLIB 135 10))  
1641.00              CHGVAR     VAR(&LIB15) VALUE(%SST(&OMITLIB 145 10))  
1642.00              CHGVAR     VAR(&LIB16) VALUE(%SST(&OMITLIB 155 10))  
1643.00              CHGVAR     VAR(&LIB17) VALUE(%SST(&OMITLIB 165 10))  
1644.00              CHGVAR     VAR(&LIB18) VALUE(%SST(&OMITLIB 175 10))  
1645.00              CHGVAR     VAR(&LIB19) VALUE(%SST(&OMITLIB 185 10))  
1646.00              CHGVAR     VAR(&LIB20) VALUE(%SST(&OMITLIB 195 10))  
1647.00              CHGVAR     VAR(&LIB21) VALUE(%SST(&OMITLIB 205 10))  
1648.00              CHGVAR     VAR(&LIB22) VALUE(%SST(&OMITLIB 215 10))  
1649.00              CHGVAR     VAR(&LIB23) VALUE(%SST(&OMITLIB 225 10))  
1650.00              CHGVAR     VAR(&LIB24) VALUE(%SST(&OMITLIB 235 10))  
1651.00              CHGVAR     VAR(&LIB25) VALUE(%SST(&OMITLIB 245 10))  
1652.00              CHGVAR     VAR(&LIB26) VALUE(%SST(&OMITLIB 255 10))  
1653.00              CHGVAR     VAR(&LIB27) VALUE(%SST(&OMITLIB 265 10))  
1654.00              CHGVAR     VAR(&LIB28) VALUE(%SST(&OMITLIB 275 10))  
1655.00              CHGVAR     VAR(&LIB29) VALUE(%SST(&OMITLIB 285 10))  
1656.00              CHGVAR     VAR(&LIB30) VALUE(%SST(&OMITLIB 295 10))        
1657.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)             
1658.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                 
1659.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +              
1660.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +           
1661.00                           STRLIB(&STRLIB) PRECHK(*NO) +                 
1662.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +             
1663.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +             
1664.00                           QDTA(&QDTA) DTACPR(&DTACPR) +                 
1665.00                           OMITLIB(&LIB01 &LIB02 &LIB03 &LIB04 +         
1666.00                           &LIB05 &LIB06 &LIB07 &LIB08 &LIB09 &LIB10 +   
1667.00                           &LIB11 &LIB12 &LIB13 &LIB14 &LIB15 &LIB16 +   
1668.00                           &LIB17 &LIB18 &LIB19 &LIB20 &LIB21 &LIB22 +   
1669.00                           &LIB23 &LIB24 &LIB25 &LIB26 &LIB27 &LIB28 +   
1670.00                           &LIB29 &LIB30)                                
1671.00              MONMSG     CPF3700                                         
1672.00              ENDDO                                                      
1673.00              ELSE       CMD(DO)                                         
1674.00              SAVLIB     LIB(&LIB) DEV(*SAVF) SAVF(QTEMP/&LIB) +         
1675.00                           PRECHK(*NO) SAVACT(&SAVACT) +                 
1676.00                           ACCPTH(&ACCPTH) SAVFDTA(*YES) +               
1677.00                           SPLFDTA(&SPLFDTA) QDTA(&QDTA) +               
1678.00                           DTACPR(&DTACPR) OMITLIB(&LIB01 &LIB02 +       
1679.00                           &LIB03 &LIB04 &LIB05 &LIB06 &LIB07 &LIB08 +   
1680.00                           &LIB09 &LIB10 &LIB11 &LIB12 &LIB13 &LIB14 +     
1681.00                           &LIB15 &LIB16 &LIB17 &LIB18 &LIB19 &LIB20 +     
1682.00                           &LIB21 &LIB22 &LIB23 &LIB24 &LIB25 &LIB26 +     
1683.00                           &LIB27 &LIB28 &LIB29 &LIB30)                    
1684.00              MONMSG     CPF3700                                           
1685.00              ENDDO                                                        
1686.00              ENDDO                                                        
1687.00              CHGVAR     VAR(&KOSU) VALUE(&KOSU + 1)                       
1688.00 /*******************/                                                     
1689.00 /* CLOUD: クラウド */                                                     
1690.00 /*******************/                                                     
1691.00              IF         COND(&OPTION *EQ '*CLOUD') THEN(DO) +             
1692.00                           /* クラウド */                                  
1693.00              CHGVAR     VAR(&STSMSG) VALUE(' ライブラリー ' *CAT +        
1694.00                           &LIB *TCAT ' をクラウドへ転送中です。 ')        
1695.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +    
1696.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                   
1697.00              CHGVAR     VAR(&FROMMBR) VALUE('/QSYS.LIB/QTEMP.LIB/' +      
1698.00                           *CAT &LIB *TCAT '.FILE')                        
1699.00              CHGVAR     VAR(&TOSTMF) VALUE(&NFSDIR *TCAT &LIB +           
1700.00                           *TCAT '.FILE')                                  
1701.00              CPYTOSTMF  FROMMBR(&FROMMBR) TOSTMF(&TOSTMF) +               
1702.00                           STMFOPT(*REPLACE) CVTDTA(*NONE)                 
1703.00              ENDDO      /*  クラウド  */                                  
1704.00 /******************/                                                    
1705.00 /* SEND: FTP 送信 */                                                    
1706.00 /******************/                                                    
1707.00              /*******************************************/              
1708.00              /* (2) IFS に保管ファイルを転送する        */              
1709.00              /*******************************************/              
1710.00              IF         COND(&OPTION *EQ '*SEND ') THEN(DO) /* +        
1711.00                            送信  */                                     
1712.00              CHGVAR     VAR(&FROMMBR) VALUE('/QSYS.LIB/QTEMP.LIB/' +    
1713.00                           *CAT &LIB *TCAT '.FILE')                      
1714.00              CHGVAR     VAR(&TOSTMF) VALUE('/TEST/' *CAT &LIB +         
1715.00                           *TCAT '.FILE')                                
1716.00              CPYTOSTMF  FROMMBR(&FROMMBR) TOSTMF(&TOSTMF) +             
1717.00                           STMFOPT(*REPLACE) CVTDTA(*NONE)               
1718.00              /*******************************************/              
1719.00              /* (3) FTP で保管ファイルを転送する        */              
1720.00              /*******************************************/              
1721.00              CHGVAR     VAR(&STSMSG) VALUE(' ライブラリー ' *CAT +      
1722.00                           &LIB *TCAT ' を FTP で転送中です。 ')         
1723.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +  
1724.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                 
1725.00              CHGVAR     VAR(&TOPASS) VALUE(&TODIR *TCAT &LIB *TCAT +    
1726.00                           '.SAV')                                       
1727.00              CHGVAR     VAR(&FROMPASS) VALUE(&TOSTMF)                   
1728.00              SPOOLWTR/SNDFTP FRMADDRESS(&FROMIP) FROMFILE(&FROMPASS) +    
1729.00                           TOADDRESS(&TOIP) TOFILE(&TOPASS) +              
1730.00                           USER(&USER) PASSWORD(&PASSWRD) +                
1731.00                           CONVERT(*NO) LOG(&LOG)                          
1732.00              /*******************************************/                
1733.00              /* (4) IFS の作業ファイルを削除しておく    */                
1734.00              /*******************************************/                
1735.00              CHGVAR     VAR(&STSMSG) VALUE(&TOSTMF *TCAT +                
1736.00                           ' を削除中。 ')                                 
1737.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +    
1738.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                   
1739.00              RMVLNK     OBJLNK(&TOSTMF)                                   
1740.00              ENDDO      /*  送信  */                                      
1741.00              /*( 処理の終了 )*/                                           
1742.00  PASS:       IF         COND(&N < &SAVSU) THEN(DO)                        
1743.00              CHGVAR     VAR(&N) VALUE(&N + 1)                             
1744.00              IF         COND(&INZLIB *EQ '*ALL      ') THEN(DO) /* +      
1745.00                           *ALL */                                         
1746.00              CHGVAR     VAR(&DEC08)  VALUE(%BIN(&STRPOS))                 
1747.00              CHGVAR     VAR(&DEC08) VALUE(&DEC08 + &ADDLEN)               
1748.00              CHGVAR     VAR(%BIN(&STRPOS)) VALUE(&DEC08)                  
1749.00              ENDDO      /* *ALL */                                        
1750.00              ELSE       CMD(DO) /*  ライブラリー指定  */                  
1751.00              CHGVAR     VAR(&POS) VALUE(&POS + 10)                        
1752.00              ENDDO      /*  ライブラリー指定  */                    
1753.00              GOTO       NXTSAV                                      
1754.00              ENDDO                                                  
1755.00  REDEND:     CHGVAR     VAR(&KOSUD) VALUE(&KOSU)                    
1756.00  ZEROS:      IF         COND(%SST(&KOSUD 1 1) *EQ '0') THEN(DO)     
1757.00              CHGVAR     VAR(&KOSUD) VALUE(%SST(&KOSUD 2 3) *CAT ' ')
1758.00              GOTO       ZEROS                                       
1759.00              ENDDO                                                  
1760.00                                                                     
1761.00              IF         COND(&OPTION *EQ '*PRINT') THEN(DO)         
1762.00              CHGVAR     VAR(&MSG) VALUE(&KOSUD *TCAT +              
1763.00                           ' 個のライブラリーを印刷しました。 ')     
1764.00              ENDDO                                                  
1765.00              ELSE       CMD(DO)                                     
1766.00              CHGVAR     VAR(&MSG) VALUE(&KOSUD *TCAT +              
1767.00                           ' 個のライブラリーを保管しました。 ')     
1768.00              ENDDO                                                  
1769.00              CHGVAR     VAR(&MSGTYPE) VALUE('*DIAG     ')           
1770.00              GOTO       SNDMSG                                      
1771.00              RETURN                                                 
1772.00                                                                     
1773.00  APIERR:                                                            
1774.00              CHGVAR     VAR(&MSGID) VALUE(%SST(&APIERR 9 7))        
1775.00              CHGVAR     VAR(&MSGDTA) VALUE(%SST(&APIERR 17 100))    
1776.00              CHGVAR     VAR(&MSGF) VALUE('QCPFMSG   ')                
1777.00              CHGVAR     VAR(&MSGFLIB) VALUE('QSYS      ')             
1778.00              GOTO       SNDMSG                                        
1779.00                                                                       
1780.00  ERROR:      RCVMSG     MSGTYPE(*LAST) RMV(*NO) MSG(&MSG) +           
1781.00                           MSGDTA(&MSGDTA) MSGID(&MSGID) MSGF(&MSGF) + 
1782.00                           MSGFLIB(&MSGFLIB)                           
1783.00  SNDMSG:     IF         COND(&MSGID *EQ ' ') THEN(DO)                 
1784.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&MSG) +   
1785.00                           TOMSGQ(&TOPGMQ) MSGTYPE(&MSGTYPE)           
1786.00              MONMSG     MSGID(CPF2400) EXEC(RETURN)                   
1787.00              ENDDO                                                    
1788.00              ELSE       CMD(DO)                                       
1789.00              SNDPGMMSG  MSGID(&MSGID) MSGF(&MSGFLIB/&MSGF) +          
1790.00                           MSGDTA(&MSGDTA) TOMSGQ(&TOPGMQ) +           
1791.00                           MSGTYPE(&MSGTYPE)                           
1792.00              MONMSG     MSGID(CPF2400) EXEC(RETURN)                   
1793.00              ENDDO                                                    
1794.00              ENDPGM                                                   
【解説】

CLP としては約 1800 ステップあるので大きいと思うかも知れないが
保管に除外するライブラリーの個数によって場合わけしているので
結果的に多くなっているがロジックは複雑ではない。
除外ライブラリーの個数によって場合分けするのはスマートな方法ではないが
複数のライブラリーの記述をまとめて動的に指定する方法がないかとどうか
以前に日本 IBM に相談したことがあるがないとのことで
あきらめた経緯がある。

テープ保管のために追加した記述は次のとおりである。

0196.00 /*( テープの初期設定 )*/                                                  
0197.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO) /* +          
0198.00                            テープ保管  */                                 
0199.00              IF         COND(&INZTAP *EQ '*YES') THEN(DO) /* +            
0200.00                            初期設定  */                                   
0201.00              INZTAP     DEV(&DEV) NEWVOL(&VOL) NEWOWNID(&LABEL) +         
0202.00                           CHECK(&CHECK) DENSITY(&DENSITY) +               
0203.00                           CODE(*EBCDIC) ENDOPT(*REWIND) CLEAR(*NO)        
0204.00              ENDDO      /*  初期設定  */                                  
0205.00              CHGVAR     VAR(&CYY) VALUE(%SST(&EXPDATE7 2 2))              
0206.00              CHGVAR     VAR(&CMM) VALUE(%SST(&EXPDATE7 4 2))              
0207.00              CHGVAR     VAR(&CDD) VALUE(%SST(&EXPDATE7 6 2))              
0208.00              CHGVAR     VAR(&CYYYY) VALUE('20' *CAT &CYY)                 
0209.00              CHGVAR     VAR(&EXPDATE) VALUE(&CYYYY *CAT &CMM *CAT +       
0210.00                           &CDD)                                           
0211.00              IF         COND(%SST(&EXPDATE 1 8) *EQ '20999999') +         
0212.00                           THEN(DO)                                        
0213.00              CHGVAR     VAR(&EXPDATE) VALUE('*PERM   ')                   
0214.00              ENDDO                                                        
0215.00              IF         COND(&SEQNBR *EQ 0) THEN(DO)                      
0216.00              CHGVAR     VAR(&SEQNBRC) VALUE('*END    ')                     
0217.00              ENDDO                                                          
0218.00              ELSE       CMD(DO)                                             
0219.00              CHGVAR     VAR(&SEQNBRC) VALUE(&SEQNBR)                        
0220.00              ENDDO                                                          
0221.00              CHGVAR     VAR(&DTACPR) VALUE('*DEV   ')                       
0222.00              ENDDO      /*  テープ保管  */       

注意して欲しいのは SAVLIB コマンドのデータ圧縮パラメータ
( DTACPR )である。
*SAVF に保管するときは *HIGH を指定して圧縮することができるのだが
テープ装置へ保管するときは圧縮はできないので DTACPR は *DEV に
変更しておかなければならない。

各、除外ライブラリーの場合わけのひとつずつに応じて

0449.00              IF         COND(&OPTION *EQ '*TAPE ') THEN(DO)            
0450.00              SAVLIB     LIB(&LIB) DEV(&DEV) VOL(&VOL) +                
0451.00                           SEQNBR(&SEQNBRC) LABEL(&LABEL) +             
0452.00                           EXPDATE(&EXPDATE) ENDOPT(&ENDOPT) +          
0453.00                           STRLIB(&STRLIB) PRECHK(*NO) +                
0454.00                           SAVACT(&SAVACT) ACCPTH(&ACCPTH) +            
0455.00                           SAVFDTA(*YES) SPLFDTA(&SPLFDTA) +            
0456.00                           QDTA(&QDTA) DTACPR(&DTACPR) OMITLIB(&LIB01)  
0457.00              MONMSG     CPF3700                                        
0458.00              ENDDO    

のように *TAPE によるバックアップ記述が必要になる。
このように最大 30 個の除外ライブラリーの指定に応じての記述があるため
全体として長いソースになっているに過ぎない。

印刷オプションの実行は次のとおりであり、

DSPLIB     LIB(&LIB) OUTPUT(*PRINT)

によって印刷を行っている。

0403.00              /*****************/                                          
0404.00              /* PRINT: 印刷   */                                          
0405.00              /*****************/                                          
0406.00              IF         COND(&OPTION *EQ '*PRINT') THEN(DO)               
0407.00              CHGVAR     VAR(&STSMSG) VALUE(' ライブラリー ' *CAT +        
0408.00                           &LIB *TCAT ' を印刷中です。 ')                
0409.00              SNDPGMMSG  MSGID(CPF9897) MSGF(QCPFMSG) MSGDTA(&STSMSG) +  
0410.00                           TOPGMQ(*EXT) MSGTYPE(*STATUS)                 
0411.00              DSPLIB     LIB(&LIB) OUTPUT(*PRINT)                        
0412.00              CHGVAR     VAR(&KOSU) VALUE(&KOSU + 1)                     
0413.00              GOTO       PASS                                            
0414.00              ENDDO                                                      
0415.00              CHKOBJ     OBJ(QTEMP/&LIB) OBJTYPE(*FILE)                  
0416.00              MONMSG     MSGID(CPF9800) EXEC(DO)                         
0417.00              CRTSAVF    FILE(QTEMP/&LIB) TEXT(&TEXT) AUT(*ALL)          
0418.00              ENDDO                

【 実際の運用 】

弊社では次のようなジョブ・スケジュールを投入して毎晩、深夜にテープへ
バックアップするようにした。

ADDJOBSCDE JOB(SAVLIBTAP) CMD(QUATTRO/SAVUSRLIB SAVLIB(*ALL) OPTION(*TAPE)
  INZTAP(*YES)) FRQ(*WEEKLY) SCDDATE(*NONE) SCDTIME(010000)  

これは毎晩月曜日から金曜日の深夜 1:00 から SAVUSRLIB コマンド
によってテープへバックアップすることを意味している。
朝になると QSYSOPR には

「 130 個のライブラリーが保管されました」

とのメッセージが報告されている。

弊社には V3R7M0, Ver5.4, Ver6.1, Ver7.1/7.2 および Ver7.3/7.3 の
合計して 5 台の IBM i を保有しているがこのうち V3R7M0 以外の
4台の IBM i は深夜にバックアップをとるようにスケジュールしている。
Ver5.4 にはテープ装置はないがそれ以外はテープ装置、PC サーバー、
クラウドの 3 通りのバックアップを毎晩行っている。

会社は幸い、免震タワーなので恐らくは南海トラフにも対応できると予想
されるが台風による停電には UPS だけでは対抗できない。
人手による早めのシャットダウンが必要であると昨年の台風で実感したような
次第である。
それゆえにバックアップ体制はより強化しておきたいと感じている。
強固なバックアップ体制が客先への保証につながり会社の存続に繋がると
考えている。