Martin Yergeau Posted August 23, 2021 Posted August 23, 2021 In which format have you HOLDed your files and where I suggest that you HOLD them in FOCUS or XFOCUS. Using those format, you are sure that you dont need to allocate them and a master file will be created ON TABLE HOLD AS Master_HOLD_FILE FORMAT FOCUS / XFOCUS
Rene Nunnington 2 Posted August 23, 2021 Posted August 23, 2021 Hi Benjamin When you created the files, did you run the query too Unless you run the query, and get the message lines written the file isnt actually created. Hold files in foccache will only persist with the session typically. So when you log out, the file is cleaned up automatically.
Ben Maxwell Posted August 23, 2021 Author Posted August 23, 2021 Im working in InfoAssist (version 8207.27), and I am simply trying to join 2 hold files which reside in foccache. In a nutshell, my join looks like this. However when I try to bring one of the fields from the HOLD_BOG_STRCT table into an InfoAssist Report or Chart I get this nasty message What is the best way to resolve this Something similar in App Studio doesnt seem to pose any difficulties.
Brian Suter Posted August 24, 2021 Posted August 24, 2021 I agree with Rene - usually that error happens because the file you want has not been re-created. But there is another way I have seen this which is suppose you have a dashboard that is run at first and it has two fexs (A and B) each of which creates a foccache file. When your session initially connects to a server - there is no foccache ticket passed in so there is no space set up. When a fex attempts to access foccache and there is not a preexisting foccache there - it will create one on the fly and the foccache ticket is returned. So when fex A and B are both fired off initially - their connection will each get their own focache space - and they will return different tickets. The last ticket returned will be the one retained. So when a subsequent fex runs, it will have either the A hold file or the B hold file. But there is a solution for this which is to get the foccache ticket set up at signon. There is a client configuration parm called something like IBFS_SIGNON_PATHS that can contain a list of fexs paths that are run at signon. So making a simple fex that creates anything in focccache (write a .txt file) will get the ticket assigned. The other use of signon paths is that a fex can return msgs that will be added to the signin msg for the user. You can use that to broadcast information to some user groups and not others, etc.
Ben Maxwell Posted August 25, 2021 Author Posted August 25, 2021 By changing the format to FOCUS I was successfully able to perform my join in InfoAssist. Somewhat curious as to why the files could live in foccache, and you are able to add them to the join, but the had to be set to a FOCUS format to really do the join.
Manoj Chaurasia Posted August 25, 2021 Posted August 25, 2021 Benjamin Flat files need to have a FILEDEF allocation before they are usable. This can be done with a FILEDEF statement or a DATASET attribute in the master file. FOCUS files do not require the FILEDEF so are instantly usable.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now