What causes CA Ideal error: ADOMSF02T - Number of symbols in program exceeds maximum?
The CA Datacom Tools - 15.1 section "How CA Ideal for CA Datacom Application Components Are Stored" at
Scroll down to the section...
"Processing the Field Attribute and Symbol Tables"
"The maximum number of symbols-such as names and identifiers-in a CA Ideal™ for CA Datacom® application depends greatly on the amount of storage CA Ideal™ for CA Datacom® has available for the Field Attribute Table and the Symbol Table.
The Field Attribute Table, referred to here as the FAT, contains an entry for each dataview, dataview field, panel, panel field, working data field, literal, and FOR construct. Each entry is 20 bytes long and contains information such as the length, type, displacement, and the offset into the Symbol Table.
The Symbol Table contains an entry for each dataview name, dataview field name, panel name, panel field name, working data field name, report name, procedure name, and label name. The length of these entries varies according to the length of the symbol. Each entry contains information, such as the length of the symbol and the address of the symbol in the FAT, and the literal that identifies the symbol.
During compilation, CA Ideal™ for CA Datacom® creates a variety of blocks. None of these blocks can exceed 32KB. The FAT and Symbol Tables can span multiple blocks. A single data entity occurrence, which means a 01 level data item, dataview, or panel, cannot exceed the 32KB limit. This means that no 01 level can have more than 1,600 fields or it exceeds the FAT table limit. A 01 level can have between 800 and 1,600 fields (depending on the size of the symbols) or it exceeds the Symbol Table limit. ..."
In one situation, the 'ADOMSF02T - Number of symbols in program exceeds maximum' occurred when attempting to catalog an IDEAL Dataview for a table with a large number of fields and the resolution was to turn groups of unused fields into a single, combined 'filler' field.
In another situation, the resolution was to decrease the fieldname values so that the combined length of the all the fieldnames was not exceeded.
In another situation, the resolution was to normalize the single table into multiple tables, thus also decreasing the fieldnames.