Help[ MAP (declare PROCEDURE prototypes)]
(bold added by me)
"…
A MAP structure is mandatory for any non-trivial Clarion program because the BUILTINS.CLW file is automatically included in your PROGRAM’s MAP structure by the compiler. This file contains prototypes of most of the procedures in the Clarion internal library that are available as part of the Clarion language. This file is required because the compiler does not have these prototypes built into it (making it more efficient). Since the prototypes in the BUILTINS.CLW file use some constant EQUATEs that are defined in the EQUATES.CLW file, this file is also automatically included by the compiler in every Clarion program.
When you read the Class help page, it doesnt link to MAP. I know MAP mentions what you have put above, but if you go back to read the Class help page, in C6 anyway, havent check C11, it doesnt link out to MAP, which would be useful.
It’s not the Class that needs the MAP it’s the MODULE, which the help on that links to MEMBER that discusses and links to MAP. If the Module is a Member of a Program that has a Map then a local Map is not needed.
Some things you have to learn by getting an error and fixing it. For a compiler to look at bad code and come up with a self evident error message is difficult and often misses the mark.
I had this exact problem with a class I created for myself. I looked at some other classes’ INC and CLW files to see how they were structured, and then came up with a solution for my own class.