このコードはBASE SASのサーバセッションに接続していますが、サーバセッション内でこの%LETコマンドを使用することはできません。これはマクロがローカルで作成され、 RSUBMITコマンドで別の%LETステートメントを使用する必要がありますか、または%SYSLPUTのようなコマンドを使用する必要がありますか?サーバセッションでのマクロ変数の解決
編集:このコードはまだ解決していません。
%LET yymm = 1606 ;
%PUT &yymm;
/* Identify the Month that you want the files to be named */
%LET mon = June ;
%PUT &mon;
/* Specifying the Recipients of the CRA Error files */
%LET recip = MYEMAILs
%MACRO CFPB(date , mon);
%LET remhost=MYSERVER MYPORT;
signon remhost user=&sysuserid. password= _prompt_;
rsubmit;
%syslput date=&date. ;
%syslput mon=&mon. ;
LIBNAME &mon "N4.BANKCRRG.CNSRLOAN.MTRO&date." disp=shr;
data &mon;
set &mon..file (keep= base_cis_id acct_num acct_type);
run;
Proc DOWNLOAD data = &mon.;
run;
endrsubmit;
signoff;
** INSERT SAS LOCAL STATEMENTS ***
%MEND;
%CFPB(&YYMM.,&MON.);
私のマクロ変数は、まだリモートセッションで解決されていません。私は、私の人生のために、エラーを見ることができません。 %LETステートメントでマクロ変数を作成した後、%SYSLPUTを使用して自分のサーバーセッション内でマクロ内に新しいマクロ変数を作成し、マクロを呼び出すと%LETステートメントで作成したマクロを使用して解決しました私が呼び出したもの、さらに%SYSLPUTで解決します。
あなたのLETはあなたのRSubmitになければなりません。サーバー上で宣言されているので、それはあなたのローカルセッションにしかありません。 syslputも使用できます。あなたの心地よいものを使用してください。 – Reeza
RSUBMIT文の外で%SYSLPUTを使用できますか?私は自分のコード全体でマクロ変数YYMM = 1606を使用できるようにしたいが、外部と同様にRSUBMIT内でそれを行う必要はない。 – DukeLuke
リモートセッションとローカルセッションの間でマクロ変数を同期させたい場合は、 'RSUBMIT'の' CSYSRPUTSYNC'オプションをチェックしてください。 – fl0r3k