SCL内で、同一のFORMATエントリを繰り返し定義する場合の反映方法 [OS]ALL
[リリース] 8.1, 8.2
[キーワード] SCL, FORMAT, _setupformat
[質問]SAS/AF(FRAMEエントリ、SCLエントリなど)で作成するアプリケーションにおいて、アプリケーション内(SUBMITブロック)でフォーマットエントリの作成を繰り返したいとき、なにか便利な方法はありますか。 [回答]「_setupformatコンポーネント」を利用することで、作成が便利になることがあります。 ■ _setupformatコンポーネントの使用例init: /* 変数宣言 */ dcl object id; dcl string temp; /* SASHELP.CLASSESS.NUMFORMAT.CLASS のロードおよびインスタンス化 */ id= instance(loadclass('sashelp.classes.numformat')); /* フォーマット FOO の作成 */ submit continue; proc format; value foo 0= 'Man'; run; endsubmit; rc= id._setUpFormat('foo.'); if rc = 0 then do; temp= id._put(0); put temp=; end; id._delFormat(0); /* フォーマット FOO の再作成 */ submit continue; proc format; value foo 0= 'Woman'; run; endsubmit; rc= id._setUpFormat('foo.'); if rc = 0 then do; temp= id._put(0); put temp=; end; return; main: return; term: return;■ 出力結果 LOGウィンドウに、以下のように表示されます。 temp=Man temp=Woman [詳細]setupformat コンポーネントの詳細については、SASヘルプから「_Setupformat」をキーワードにして検索してください。検索結果から「Format/Informat Component: _setupFormat」をクリックすると、詳細が確認できます。 |