2018年3月3日土曜日

EGで作ったSASプログラムを、バッチジョブ化する方法

割とよくある話ですが、調べるのに時間が掛かったのでメモしておきます。
EGで作った.SASのプログラムをJP1のようなジョブスケジューラから実行したいということは良くあります。このとき、Metaデータに登録されているライブラリをどうやって定義するのか?

元ネタは以下の記事です。
how to write a .sh file to run a sas program

$ /opt/sas/config/Lev1/SASApp/sas.sh -nodms -sysin ~/foo.sas -log ~/foo.log
$ grep '論理' ~/foo.log
NOTE: ライブラリ参照名SASDATAは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名STPSAMPは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名ACMは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名ARTIFACTは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名EVDMは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名KITSは論理サーバーから正常に割り当てられました。
NOTE: ライブラリ参照名EVDBは論理サーバーから正常に割り当てられました。
$
当然ながらPre-Assignされていないライブラリは明示的にSASプログラム内部でLIBNAMEステートメントを書いてください。