1

以下の jcl を使用して、既存の ps を変更しました。パラメータを変更できました。しかし、I/O エラーが発生します。

//TXXXXXSP JOB (MOD),'PRAMOD',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),

// NOTIFY=&SYSUID
//FIXPDS EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD DSN=XXXXXX.CREATE.GDG,
// DISP=MOD,SPACE=(TRK,(10, 10,0),RLSE),UNIT=SYSDA,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSUT1 DD *
/*
//

4

2 に答える 2

8

DISP=MODを指定してデータセットの属性を変更しようとしているように見えます。MODの文書化された目的は、データ・セットが存在し、レコードがその最後に追加されるか、新しいデータ・セットが作成されることを示すことです。

ただし、データセットの属性を変更するために使用できます。データセットが簡単に破損する可能性があるため、これを行う場合は注意が必要です。たとえば、既存のPSのDCBを変更することは合理的かもしれませんが、そのPSデータにすでにデータが含まれている場合は、それを破損する可能性があります。私はこれを試していませんが、16エクステントを通過しない限り、スペースを増やすことができると思います。PSをPDSに再度変更することもできると思いますが、データを再度表示できるとは期待しないでください。

これの要点は、お勧めできないということだと思います。リスクを実行するのではなく、LIKEを使用してデータセットをコピーし、変更したいものをオーバーライドするために、ジョブを使用する可能性があります。次に、問題がなければ古いデータセットを削除し、新しいデータセットの名前を古い名前に変更します。

次の例はメモリから実行されたものであるため、構文エラーが発生する可能性があります。SPACEを指定する必要がありますが、「修正」する必要のない他のパラメーターはすべて削除してください。

例えば。PS用

//FIXPS    EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*                            
//SYSUT1   DD DSN=XXXXXX.CREATE.GDG,DISP=SHR     
//SYSUT2   DD DSN=XXXXXX.CREATE.GDG.NEW, 
//            DISP=(NEW,CATLG,DELETE), 
//            SPACE=(TRK,(10,10,0),RLSE),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),           
//            LIKE=XXXXXX.CREATE.GDG             

例えば。PDSの場合

//FIXPDS    EXEC PGM=IEBCOPY
//SYSPRINT DD SYSOUT=*                            
//SYSUT1   DD DSN=XXXXXX.CREATE.GDG,DISP=SHR     
//SYSUT2   DD DSN=XXXXXX.CREATE.GDG.NEW, 
//            DISP=(NEW,CATLG,DELETE), 
//            SPACE=(TRK,(10,10,0),RLSE),UNIT=SYSDA,
//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),           
//            LIKE=XXXXXX.CREATE.GDG             
//SYSUT3   DD UNIT=SYSDA,SPACE=(TRK,(30,30),RLSE) 
//SYSUT4   DD UNIT=SYSDA,SPACE=(TRK,(30,30),RLSE) 
//SYSIN    DD *                                   
 C I=SYSUT1,O=SYSUT2                              
/*                                        

詳細については、JCLリファレンスマニュアルhttp://publibz.boulder.ibm.com/epubs/pdf/iea2b6b0.pdfの第12章にあるDISPパラメーターを参照してください。

于 2012-03-27T07:46:00.547 に答える
0

「ウーキーを動揺させるのは賢明ではありません。」PDS の属性を実際に変更したい場合は、問題のライブラリの X バージョンを実際に割り当て、すべてのメンバーをそれにコピーし、比較を実行して、破損したビットまたはバイトがないことを確認することを強くお勧めします。 、古いライブラリを削除し、新しいライブラリの名前を古い名前に変更します。

于 2017-07-20T20:21:21.873 に答える