4:Re: ディクファイルのディアロケートJS生成方法 05/20 12:38 3000以上あるとなればJSですね。 長文になりますが、ご勘弁を。 概要 JS11/JS12:置換機能&0を使用してのJS JS2:削除するファイル名を羅列するJS 装置名MSD001/カンパニ"TT"等は現状にそって変更してください。 JS11: /RUN #ABC,DEV=MSD; MN1=01_MN2=01_MN3=02_PA1=MSD001_PA2=&0_O02=YES_CID=TT_O03=YES_EXP=NO_ MN1=99_ /> ; JS12: /RUN #ABC,DEV=MSD; MN1=01_MN2=01_MN3=02_PA1=MSD001_PA2=&0_O02=YES_CID=TT_O03=YES_EXP=NO_ UOD=ALL_ MN1=99_ /> ; JS11/JS12の使い分けはUOD=ALLが必要か否かですが、 エリアのアロケート時に使用した、ユーティリティによります。 JS11:#ABC等でアロケートか? JS12:表定義よりアロケートか? JS11/JS12の違いについては、自信がありません。 JS2: /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME1); /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME2); /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME3); JS11/JS12とJS2を作成し、JS2を実行すればファイルがデアロケートされるとおもいます。 そこで、 JS11/JS12は#ABCのパラメータ登録機能で作成し、 ファイル名を&0に加工 JS2は下記の要領で作成 前提: F80:レコード長=80のORG=SEQのファイル #FLCNV; IDE=MSD001 IFI=SYS@FDF ODE=MSD OFI=F80 OUT=(@***@),(9,17),(@+++@) SEL=(7,2,C,EQ,@TT@)A(26,2,C,NE,@I0@) ←アイオーではなくアイゼロです 上記を実行すると、下記のような内容のファイルができます ***FILENAME1 +++ ***FILENAME2 +++ ***FILENAME3 +++ 次に、 TYP=JCL で#TEDITを起動し R MSD F80 とし、上記ファイルを読み込む 置換機能を利用し S ALL S"***","/RUN JS11,FIL=SYS@JSL,DEV=MSD,(" 再度、置換機能を利用し S ALL S"+++","); " すると、下記のようになります /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME1 ); /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME2 ); /RUN JS11,FIL=SYS@JSL,DEV=MSD,(FILENAME3 ); 名前をJS2にして、登録します。 (注)複数索引ファイルの場合、キーファイルから削除しないといけないのですが、 面倒なので、JS2を2回実行し、「ファイルなし」、「キーファイルがある」的なエラーは リセットで読み飛ばすようにすれば、全ファイル削除できるとおもいます。 |