Issue with TryFetch - Error Unknown Procedure Label

Hi All,

C10

I am using some code i have used loads of times before for other files and I am getting errors compiling.

Access:jobdocs.tryfetch(jdd:key:1)

I am getting unknown procedure label.

I think I have seen this before where abc objects can’t be seen. This is a dll in a multi dell app. This file has probably not been used.

Anything stand out to you guys please. Also if it is the ABC’s what is the best way to fix this please.

Ta

If the table is not used in any templates then it won’t be generated in the app.
If you are positive the file name and key name are correct, you can force the file to generate in the global embed. Go to Global Properties -> Actions. Then go to the individual file overrides tab and find the jobdcos table. Click on the ‘Generate file declaration’

3 Likes

You could add a simpler call with no parms to double check: Access:jobdocs.UseFile(). When the Parameter type is wrong ( expects KEY you pass STRING ) you’ll sometimes get a confusing error.

An alternative to Rick’s way I add a Source procedure FilesUsedInSource where I would add JobDocs to Other files. It has no embed code and is never called, but forces the App to include the file. I find that more visible.

In DLLs I like to have the App Main Procedure be a Source named DLL_MAIN_AppName. It never gets called. I’ll add these source files to that. I have the Called Procs be all the Exported so I get a Tree of what the DLL exposes.

1 Like

Thanks Carl

I knew there was another way !

In the meantime I added the file a dummy procedure and added a field to the form which generated the abc’s

I would double check that your Data DLL has the Global > File Control Tab > Generate All File Declarations ticked (template symbol: %DefaultGenerate).

This is the template code which includes the files in your data dll.
#FOR(%File)
#IF(%DefaultGenerate OR %OverrideGenerate OR %DefaultExport OR %OverrideExport)
#ADD(%UsedFile,%File)
#ENDIF
#ENDFOR

The option Rick highlighted is the template symbol %OverrideGenerate but as %DefaultGenerate should be ticked, the rest of the statement is satisfied unless something is going wrong with the logic on your dev machine?