Date: Wed, 18 Jun 2008 11:31:26 -0400
Reply-To: Dave Scocca <dave@SCOCCA.ORG>
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: Dave Scocca <dave@SCOCCA.ORG>
Subject: Re: Create "hidden" rows
In-Reply-To: <9f370784-98e8-4a01-be30-a00f2a5f3cfd@m3g2000hsc.googlegroups.com>
Content-Type: text/plain; charset=us-ascii; format=flowed
--On 6/18/2008 8:22 AM -0700 tiramisu wrote:
> Yes well the thing is I have to do a change in one table, but we have
> 30 programs that use the table and will process wrong data if they use
> the new type of column <abg> (which they will per default). We must
> implement the new type, but we do not want to change all our programs,
> because of time limitations. Our new type must, however exist because
> it is crucial for other reports.
You need a view. Say your existing reports point to table MYLIB.ABC, and
you only want them to get rows where COLTYPE is not "NEW".
First, change the program that creates the table to create it with a new
name--e.g. "MYLIB.ABC_NEW".
Then create a view in the library:
proc sql ;
create view MyLib.ABC as
select * from MyLib.ABC_NEW
where COLTYPE ne 'NEW' ;
quit ;
Then programs which point to MyLib.ABC will see the view--which looks like
the dataset with the rows "hidden".
Your new reports will need to point to MYLIB.ABC_NEW rather than MYLIB.ABC,
but since these reports are new it's not an existing-code-maintenance
problem--just write the new code to point to the new table.
Dave Scocca