infor.com
concierge
infor u
developer portal
Home
Groups
FACTS - Partner Community
Facts 7.7 - Inquiry Companion Files
Legacy Contributor
To All:
I was asked to post this to the message board so here it is........
I have been having difficulties trying to associates a companion file to the primary file in an inquiry within Facts 7.7. In the prior versions of 7.x all I had to do was add in the filename, string template, and key eval within the SMGCTL record of the inquiry and the record would stay consistent with the primary file. In 7.7 even if I do this, after reviewing the trace, it seems when first initiating an inquiry, it reads through the first 16 or so records of the primary file, which it also reads the companion file properly at that time, and then starts over and reads the primary file via the search load procedure but the companion record never gets set to the correct record. After reviewing the search load it seems to rebuild f$ but there is no hook points for a companion search load procedure and it seems that the companion file fields in the Inquiries primary SMGCTL record are not longer relevent and only used for the actual search.
As a temporary, well I think it is temporary, in the instance of ICI610, i have added a perform within "prog/IC/ICI610;search_load" to "prog/IC/ICI61A;search_load" so I can pull in the companion file information, as below.....
ICI610 -
21049 perform "prog/IC/ICI61A;search_load",err=*next ! ea
Then in ICI61A...... using the ICI610 SMGCTL record companion values...
21000 SEARCH_LOAD:
21001 setesc 9710; seterr 9810
21005 if cust_file and not(nul(cust_key$)) then {
21010 dim cf$:xfa(cf$); find record (cust_file,key=evs(cust_key$),dom=*next)cf$
21015 }
21050 return
Is this now the correct way to handle companion files and if not is there a proper way to handle reading in companion file information? Is there somewhere in Metadata that I am supposed to set up a search_load procedure or setup the companion file information that I am just not seeing?
Thanks ahead of time for any and all help!!
Josh Fake
Find more posts tagged with
Comments
Eddy Vittini
Josh,
While I will not comment on whether this will be temporary or not, what I would do is avoid adding code to ICI610 and change the SMINQY record for ICI610 "Search Load Proc" to be your version "prog/IC/ICI61A;search_load".
Then in your ICI61A program first thing would be this:
21000 SEARCH_LOAD:
21001 setesc ESC_LINE; seterr ERR_LINE
21005 perform "prog/IC/ICI610;search_load"
...
21050 return
Then you can process your piece of code. This way you don't need to remember to keep adding line 21049 to ICI610 with every incremental.
Bob Fitzgibbon
Legacy Contributor
Bob,
In regards to using your search_load method of performing the standard search_load subroutine within the custom one makes sense and I never thought of doing it that way.
But what I was hoping was that there is a way to maintain the reads of the companion files within Metadata so I did not have to write extra code to handle it. It sounds like the "search load" procedure is currently the only way to handle this though.
Thanks Bob!
Josh
Eddy Vittini
Josh,
You're welcome, but I should not take all the credit a couple of years ago I needed to do something similar and asked Stephanie Keller for a new hook point to add into standard code to allow me to do it and she suggested changing the standard procedure to a custom one and perform the "standard procedure" first in the custom process.
But to your original point...
I agree that it appears with the new driver for the SMGCTL process that Infor has abdicated some of the drivers responsibility to the standard programs (namely the populating of F$) and they appear to have forgotten about the CF$ value that we have come to rely on.
Personally I think they need to add your logic to the "standard" search_load procedures to populate CF$ like they populate F$. But, until they do I guess we need to do the "dirty" work for them.
Bob Fitzgibbon
Important Links
Community Hubs
Discussion Forums
Groups
Community News
Popular Tags
ION Connect
ION Workflow
ION API Gateway
Syteline Development
CPQ Discussion Ask a Colleague
Infor Data Fabric
Infor Document Management (IDM)
LN Development
FAQs, How-To, and Best Practices
API Usage