Date: Wed, 25 Jun 2003 03:57:28 -0700
Reply-To: Xavier Autret <xav_x@NOOS.FR>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Xavier Autret <xav_x@NOOS.FR>
Subject: Re: Problem with SETCAM (SCL V8)
Content-Type: text/plain; charset=ISO-8859-1
"Richard A. DeVenezia" <firstname.lastname@example.org> wrote in message news:<bd9tbr$ofmdq$1@ID-168040.news.dfncis.de>...
> > So why there's no error produced when using Attribute linking?
> Because SI has an incomplete attribute linking implementation (ALI) ?
> Since the setcam runs here are two speculations
> case 1 - The ALI utilizes _setAttributeValue() and does not properly analyze
> return code
> case 2 - The ALI bypasses _setAttributeValue() and calls setCam directly and
> not properly analyze the return code
> I have not been able to override _setAttributeValue(), so I can't be sure if
> the ALI is using it or not.
Yes me too...
> try this in your frame init:
> rc = red1._setAttributeValue('red', 1234);
> put rc=;
> you won't get an error and rc will =1 (case 1)
I didn't think about it.
Well the return code is 1 and do not produce Error message, but when
the attribute value through _setAttributeValue it's your
responsability to trap the error. In SAS doc:
Explicitly invoking the _getAttributeValue or _setAttributeValue
method allows the program to control the halt behavior. The
_getAttributeValue or _setAttributeValue method also enables you to
check the return code from the method. For example:
rc = obj._setAttributeValue (`abc');
if ( rc ) then do;
/* error detected in the _setAttributeValue method */
One solution is to remove the possibility to link the attribute...
But I don't want that solution.
"SI has an incomplete attribute linking implementation (ALI) ?"
I think that is the correct answer ;-)
Note : valid values can be set only for character attribute.