2018年3月3日土曜日

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

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

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

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