[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference ilbbak::ibi_focus

Title:FOCUS, from INFORMATION BUILDERS
Moderator:ZAYIUS::BROUILLETTE
Created:Thu Feb 19 1987
Last Modified:Mon May 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:615
Total number of notes:1779

500.0. "ALTERNATE VIEWS, USE STATEMENTS & YOU" by KAHALA::FOREMAN (Nothings Impossible, you just run out of time) Mon Mar 16 1992 15:10

    Just me again...
    
    Does anyone know if it's "illegal" to use alternate views with
    concatenated databases ??  I suspect that is the problem I'm having
    today.
    
    USE
    BACK1 AS BACKLOG
    BACK2 AS BACKLOG
    END
    
    TABLE FILE BACKLOG.VIEW_FIELD
    PRINT BLAH BLAH BLAH
    IF THIS EQ THAT
    ON TABLE HOLD
    END
    
    It seems in this scenario only records from the first file (BACK1) are
    getting put out to the hold file - can't find anything in manuals that
    says this won't work, but it doesn't appear to function.
    
    Sharon
T.RTitleUserPersonal
Name
DateLines
500.1Bug in Version 6.1.1 ?????KAHALA::FOREMANNothings Impossible, you just run out of timeTue Mar 17 1992 15:178
    Further testing of this problem has led me to believe this is a bug
    with Version 6.1.1  I have run this logic on a machine still running
    Version 6.1.0 and it works fine.
    
    Is there a contact person to identify if this is a known "bug" or to
    report it ??
    
    Sharon
500.2No answers; just some thoughtsRDGE61::KEEGANPungry of 'orshamWed Mar 18 1992 02:1412
    I'm not *really* sure, bu intuitively I wouldn't have thought that
    Focus could handle that construct, given the 'view' across two files.
    (Although if it worked on a previous release.... ?).
    
    That may be the problem here; the recurring nightmare where "new
    & improved" releases are less tolerant of un-documented (& therefore
    un-supported) features.
    
    ttfn
    
    Paul K
    
500.3Nevermind ;-)KAHALA::FOREMANNothings Impossible, you just run out of timeWed Mar 18 1992 12:5724
    Well - guess I cried "bug" a little too soon ( I should know better ;-)
    
    I kind of over simplified my example in .0  As it happens there were
    other lines in my USE statements define those files as individual files
    and concatenating them as another DDNAME.  In other words, I really
    had...
    
    USE
    BACK1.FOC   READ AS BACKLOG
    BACK2.FOC   READ AS BACKLOG
    BACK1.FOC   READ
    BACK2.FOC   READ
    BACK1.FOC   READ AS TWOBACK
    BACK2.FOC   READ AS TWOBACK
    END
    
    Removing the last 4 lines and only keeping the ones necessary for my
    .FEX corrects the problem.  The USE .FEX on the 6.1.0 machine was not
    like the one above and I can't use the file there today to see if
    there would be a problem in prior versions.  Can't rationalize why
    this would cause this problem, either !  Just when you think you're
    getting to know how FOCUS behaves ..... 
    
    Sharon  
500.4The plot thickens ...KAHALA::FOREMANNothings Impossible, you just run out of timeFri Mar 20 1992 14:4679
Hi all,

I figured I'd update you on my further investigation.  I've uncovered some
bizarre behavior when using alternate views, and it isn't restricted to
use in conjunction with concatenation (guess I'll change my note title).  
While there are ways to stop this behavior from happening, in my opinion 
things should not really happen in this manner. ( but I didn't say the 
bug-word ).

In words what happens is ....

When using an alternate view (Table file DDNAME.FIELD_NAME)  if there are
any other USE statements in the USE directory where the DDNAME equals the
physical file name associated with the DDNAME you're using, it will use that 
USE statement's translation rather than the one you specified in your TABLE
request. Clear as mud, right ?

I'll use a concatenation example first to clarify ( this is the one that 
probably would really be used most often )

USE
Q1DATA.FOC  READ AS Q1DATA
Q2DATA.FOC  READ AS Q2DATA
Q1DATA.FOC  READ AS FYDATA
Q2DATA.FOC  READ AS FYDATA
END

1) DDNAME FYDATA points to physical file Q1DATA.FOC first, then Q2DATA.FOC
2) DDNAME Q1DATA points to physical file Q1DATA.FOC only.

When TABLE FILE FYDATA.VIEW_FIELD is issued data is only pulled from the file
associated with the Q1DATA DDNAME (Q1DATA.FOC)- not the FYDATA one.  Reversing 
the order (sequence) of the FYDATA use statements causes only data from 
Q2DATA DDNAME (Q2DATA.FOC) to be pulled.

The easiest work-around is to make sure that the single file DDNAME's
are called something other than the physical file name.  Then the problem
goes away.  It's not something you would generally think you'd have to
do though.

If you're still with me here, I'll give you an example of one that isn't
specific to using concatenated files ( although after you see this strange
behavior you might disagree ). Probably wouldn't ever do this, but if it
was done here's what happens.

USE
Q1DATA.FOC  READ AS Q2DATA
Q2DATA.FOC  READ AS Q1DATA
END

1) DDNAME Q2DATA points to physical file Q1DATA.FOC only.
2) DDNAME Q1DATA points to physical file Q2DATA.FOC only.

TABLE FILE Q2DATA.VIEW_FIELD pulls data from physical file Q2DATA.FOC only,
even though it is pointing to Q1DATA.FOC only. ( probably what you expected
would happen ), but ....

TABLE FILE Q1DATA.VIEW_FIELD pulls data from both Q1DATA.FOC and Q2DATA.FOC
(concatenates them ??? Why ???).  My head started hurting right around this 
discovery, so maybe whoever is still reading this note can figure out why
FOCUS thought it should concatenate these files.

Reversing the sequence of the USE statements to 

USE
Q2DATA.FOC  READ AS Q1DATA
Q1DATA.FOC  READ AS Q2DATA
END

Causes TABLE FILE Q1DATA.VIEW_FIELD to pull data from Q2DATA.FOC only.
       TABLE FILE Q2DATA.VIEW_FIELD pulls data from both files.

I don't have a 3rd file to play with, so I don't know what would happen
if there's more than 2.  

Well, that's the facts as I know them today.  Glad I'll be working in
COBOL for a while ;-)

Sharon
500.5Looks like a bug to me ...EVTDD1::CARRIEREJean-Claude CarriereMon Mar 23 1992 03:4015
Sharon,

	Can't say it any other way, looks like a bug to me. Probably in
	FOCUS filename translation layer; there seems to be some confusion
	between vms name and ddname (least to say...). Well this part was
	change for FOCUS 6.0 and long filenames support, someone probably
	forgot a piece in alternate view .... (Not me)

	Someone should forward this to IBI, and I'm sure they'll be ashame
	to leave it there much longer. I don't know what's the appropriate
	channel, but it should arrive to IBI's VAX Hotline Michael Einstein
	or VAX QA Joe Donaghy.


Jean-Claude.
500.6A bug by any other name still crawls KAHALA::FOREMANNothings Impossible, you just run out of timeTue Mar 24 1992 10:069
    Jean-Claude,
    
    Thanks for your corroborating opinion.  Does anyone know if there is
    a formal process to report this type of thing to IBI, if not I guess
    I'll just go ahead and call the names you mentioned.  This is DEC,
    though, so there has to be some type of form or something to fill out 
    ;-)
    
    Sharon