メインフレーム環境で区分編成データセットのメンバ名を出力する方法
[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 ;
注意:ホスト環境により、$マークを\マークに変更する必要があります。
|
|