Date: Tue, 20 Jul 1999 11:30:32 +0100
Reply-To: R.Ashmore@ITD.MAFF.GOV.UK
Sender: "SAS(r) Discussion" <SAS-L@LISTSERV.UGA.EDU>
From: R.Ashmore@ITD.MAFF.GOV.UK
Subject: SAS/AF: format remains in memory
System: WIN95, SAS6.11/SAS6.12
We have an AF GUI application in which a sas format is
updated and then used within the same application. However, the original
version of the format remains as the 'active' format. It seems that
this format is loaded into memory and stays there despite all attempts
to 'refresh' it. Options such as catcache, cde, resident do not help
in flushing out the old format values. Even re-creating the format does not
replace it in memory. Seems as though the only way we can use the new
format is to shut down the existing AF application and re-start it. Unfortunately
this method is not possible within the broader context of the application.
I suspect that there is no resolution to this problem but would love it if
someone could show me otherwise!
SI have a usage note stating that it will be looked at in ver 7 but it
doesn't seem to have progressed any further than that.
Here is a simplified example of the problem:
****************SCL ENTRY***********************************
/*try and replace format in memory
within the same af application */
init:
submit continue;
options fmtsearch=(work.fm) ;
proc format library=work.fm;
value $testit
'a'=1 ;
run;
endsubmit;
test1=put('a',$testit.);
put test1= ;
/*Re build the testit format*/
submit continue;
proc format library=work.fm;
value $testit
'a'=0 ;
run;
endsubmit;
test2=put('a',$testit.);
put test2= ;
return;
********************END****************
The values for test1 and test2 are both '1' rather than the
desired '1' and '0' respectively.
cheers, rob