JCL(JS)について

4:Re:JCL(JS)について
ソーステキスト太郎 01/18 21:38
私のやっているオフコンのソースをテキスト形式に

変換する方法をお知らせします。



1組目のJS

(JSL名:SU-CNV JSファイル名:AAA-JSL)
/RUN SE&ST0,DEV=MSD,FIL=XXX-LML;
/> ;
/RUN #LBM;
PRD=_MDE=MSD_MFI=&5_ACT=SELECT_ODE=MSD_OFI=F80_NAM=&0_
ODE=_ACT=_DIR=_MDE=_
/> ;
/RUN #FLCNV;
MN=C_MN2=AD_PA1=MSD_PA2=_PA3=F80_PA4=1_PA5=C80_PB1=&4_
PB2=CSV1_PB3=EXCLUSIVE_PB4=COMMA_PB7=C_PB8=CREATE_MN1=Q_
/> ;


2組目のJS

(JSL名:XXXXXX)
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA1,D,OC,TXT,,BBB-SUL);
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA2,D,OC,TXT,,BBB-SUL);
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA3,D,OC,TXT,,BBB-SUL);
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA4,D,OC,TXT,,BBB-SUL);
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA5,D,OC,TXT,,BBB-SUL);
/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(AAAAA6,D,OC,TXT,,BBB-SUL);


上記の2種類のJSを作成し、2組目のJSを実行するとテキスト形式に展開されたソースが

指定された場所に出来上がります。

(説明)

BBB-SUL:変換したいソースが入っているSUL名
AAAAA1〜6:変換したいメンバ名
D :ドライブ名
OC :フォルダ名
TXT:拡張子


1組目のJS内のSE&ST0について

SE&ST0:COBOLでの自作プログラムです

機能:&0,&1,&2,&3より&4を作成します
例:&0=AAAAA1
:&1=D
:&2=OC
:&3=TXT

:&4=D:\OC\AAAAA1.TXT


自作プログラムを作成したくない場合は、1組目のJSの&部分を取り込んでしまったものを、

複写していただければ、可能です

下記のように

/RUN #LBM;
PRD=_MDE=MSD_MCI=_MFI=BBB-SUL_ACT=SELECT_ODE=MSD_OCI=_OFI=F80-1_
NAM=AAAAA1_ODE=_ACT=_DIR=_MDE=_
/> ;
/RUN #NFCNV,DEV=MSD;
MN1=C_MN2=AD_PA1=MSD_PA2=_PA3=F80-1_PA4=1_PA5=C80_
PB1=D:OCAAAAA1.TXT_PB2=CSV1_PB3=EXCLUSIVE_PB4=COMMA_PB7=C_
PB8=CREATE_MN1=Q_
/> ;
/RUN #LBM;
PRD=_MDE=MSD_MCI=_MFI=BBB-SUL_ACT=SELECT_ODE=MSD_OCI=_OFI=F80-1_
NAM=AAAAA2_ODE=_ACT=_DIR=_MDE=_
/> ;
/RUN #NFCNV,DEV=MSD;
MN1=C_MN2=AD_PA1=MSD_PA2=_PA3=F80-1_PA4=1_PA5=C80_
PB1=D:\OC\AAAAA2.TXT_PB2=CSV1_PB3=EXCLUSIVE_PB4=COMMA_PB7=C_
PB8=CREATE_MN1=Q_
/> ;


ここで、問題になるのが2組目のJSの作り方だと思います。
一般的には、「うどん」さんの方法になると思います。

「うどん」さんの方法(多分こうしておられるのではないかと想像しました)

1.ディレクトリ一覧をスプールに落とす
2.#ABC;複写-->ファイル-->SYS@SP????-->F256-->オプション=YES-->出力形式=FIXED-->あとは指示に従ってください
3.F256の8桁目から6文字がメンバ名ですので、#ABC;などでF256からF80に抽出し、加工します。
 抽出時のフィールド編集で(@***@),(8,6),(@+++@)などとしています
4.F80を#TEDITで読み込みSコマンドで
S ALL S”***”,”/RUN SU-CNV,DEV=MSD,FIL=AAA-JSL,(”
S ALL S”+++”,”,D,OC,TXT,,BBB-SUL);”
5.メンバ名をつけて保存し、実行します。

(注)SYS@SP????の????は数字ですが、スプール表示の番号-1を指定します。

以上、長々と書きましたが、参考にならば幸いです。



1-

BluesBB ©Sting_Band