メインフレーム環境で区分編成データセットのメンバ名を出力する方法
[OS]MVS
[リリース] 6.07, 6.08, 6.09E
[キーワード] SOURCE
[質問]メインフレーム上の区分編成データセットのメンバ名を、SASデータセットに出力できますか。
[回答]
メインフレーム版のSASには、SOURCE、PDSCOPY、TAPELABELなど、システム運用に役立つ便利なユーティリティプロシジャがあります。
上記質問の場合には、SOURCEプロシジャとDATAステップを利用して、メンバ情報をSASデータセットに出力することができます。 /* 使用方法 */ %pdsdir(区分データセット名,作成するSASデータセット名) /*マクロプログラム*/ %macro pdsdir(pds, outds) ; filename pdsdd "&pds" disp=shr ; proc source indd=pdsdd nodata noprint dirdd=sasparm ; run ; filename pdsdd clear ; data &outds ; infile sasparm ; input member $8. ttr pib3. ind pib1. @ ; datalen = 2 * mod(ind,32) ; if datalen=30 then do ; input ver pib1. mod pib1. blank pib2. create pd4. changed pd4. hh pk1. mm pk1. size pib2. init pib2. mod1 pib2. userid $8. ; jcreate = datejul(create) ; jchange = datejul(changed) ; format jcreate date7. jchange date7. ; end ; run ; proc sort data=&outds ; by member ; run ; %mend ; 注意:ホスト環境により、$マークを\マークに変更する必要があります。
|