|
カテゴリ
|
ツール
|
説明
|
|---|---|---|
|
読み込みまたは書き込み
|
SYMGET
|
SCLの実行中に、グローバルマクロ変数の値を返します。
|
|
|
SYMGETN
|
グローバルマクロ変数の値を数値として返します。
|
|
|
CALL SYMPUT
|
SCLで生成された値をグローバルマクロ変数に割り当てます。
|
|
|
CALL SYMPUTN
|
数値をグローバルマクロ変数に割り当てます。
|
&を使用して参照することも効率的ではありません。代わりに、SYMGETNを使用してください。さらに、SYMGETNおよびCALL SYMPUTNを、数値以外の値で使用することも効率的ではありません。
/* Display an error message if AMOUNT */
/* is less than zero or larger than 1000. */
%macro ckamount(amount);
if (&amount < 0) or (&amount > 1000) then
do;
erroron borrowed;
_msg_='Amount must be between $0 and $1,000.';
stop;
end;
else erroroff borrowed;
%mend ckamount;
/* Display an error message if RATE */
/* is less than 0 or greater than 1.5 */
%macro ckrate(rate);
if (&rate < 0) or (&rate > 1) then
do;
erroron interest;
_msg_='Rate must be between 0 and 1.5';
stop;
end;
else erroroff interest;
%mend ckrate;
/* Open the window with BORROWED at 0 and INTEREST at .5. */
INIT:
control error;
borrowed=0;
interest=.5;
return;
MAIN:
/* Run the macro CKAMOUNT to validate */
/* the value of BORROWED. */
%ckamount(borrowed)
/* Run the macro CKRATE to validate */
/* the value of INTEREST. */
%ckrate(interest)
/* Calculate payment. */
payment=borrowed*interest;
return;
TERM:
return;