Converting C8 to C11 - Window ERROR: Variable is not found by GUID in the data schema

I’ve started helping a team to convert their apps from C8 to C11. The app and dct are converted automatically, but the window definitions seem to have problems like the following:

!!> ERROR: Variable is not found by GUID in the data schema. Last known name: ****

I’ve also seen errors for invalid SEQ tokens. Has anyone dealt with this before?

Thanks

The IDE wants to connect USE() Variables on Window / Report to the Procedure’s Data Pad i.e. “data schema” that the IDE knows about. It does not know about your embed declarations or other procedures.

You will always have to Delete these !!> Error lines in the Window… Editor, they will Not be auto cleaned up. Often after the last END there will be more !!> Error lines to delete so always page down to the bottom.

Sometimes you can just delete these lines and they don’t come back, but I would check the below fixes first.

If the USE() variable is for a File then if you add the file to the Data Pad that will fix it. E.g. USE(Cus:Name) you would add CUSTOMER file to Local Files. Note that you are now opening and closing that file in the Procedure which you may not want.

If the USE() variable is declared in a Data Embed then you’ll have to add it to Local Data.


I’ve seen it happen. Usually you just need to enter the correct (number) the template and its variables still exist. I export the Procedure to a TXA and look for the [ADDITION] to get the [INSTANCE] INSTANCE # that is the #SEQ(). Or you can look back in C8 and try that number. Example:

image

image

image

2 Likes

Thanks Carl. I got one more solved with your help. Many more to go. Hopefully they follow the same pattern.