View previous topic :: View next topic
|
Author |
Message |
pravinj
New User
Joined: 10 Jun 2008 Posts: 24 Location: india
|
|
|
|
Hi,
I read a file which contains the totals f each category and the logic is to evaluate that when the totals are less than a particular value read from another file, it'll be writing the error details in another file. My question is here when the input file-totals with 0 observations is read, how the logic above will get executed? Will it be executed every time it evaluates against the null value?
Code: |
DATA BMPCOUNT;
INFILE BMPCNT FIRSTOBS = 1 OBS = 1;
INPUT @001 TOTCNT 10.
;
DATA MAXLIMIT;
INFILE MAXLMT FIRSTOBS = 1 OBS = 1;
INPUT @001 MAX_COUNT 4.
@008 MAX_PERCENT 3.
;
DATA MAXCNT;
SET BMPCOUNT;
SET MAXLIMIT;
SET TABLE_NM;
HIGH_PERCENT = MAX_COUNT * ( MAX_PERCENT / 100 );
H_PERCENT_RND = ROUND(HIGH_PERCENT);
IF TOTCNT > HIGH_PERCENT THEN
FILE MAILRPT; |
I tested it with MAXLIMIT data with zero observation, but the above condition evaluates to false. But i felt that as the high_percent calculated will be null, and if it's evaluated with TOTCNT, the condition will be returning true! How does this work? |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8696 Location: Dubuque, Iowa, USA
|
|
|
|
Quote: |
But i felt that as the high_percent calculated will be null, and if it's evaluated with TOTCNT, the condition will be returning true! |
If you actually print the values in MAXCNT after the 3 SET statements you may find the values are not what you believe them to be. |
|
Back to top |
|
|
|