NAT1106 Field to long

ERROR-LINE is the INPUT statement, but there are no information regarding which field.
You get a hint with actual length and the length available on the screen.

Any ideas on how to find the field-name ?

Strange, the error message says:

NAT1106 Value (length :2:) too long for input field (length :1:).

Value (length …) too long for input field (length …).
The data string entered for a field in delimiter mode is
longer than the internal length definition of the field.
Enter a data string of correct length.

So it should be telling you the field in the error message. I would look at the data string and look for “misplaced” or missing delimiters.

Have tried to debug and display variables, but found no fields that looked suspicius.

How do I identify ‘delimiter mode’ ? Found an N3,2 with EM = ^999,99
The map editor shows the field as ?MMMMMM. Could the result of this EM be more than the 6 chars available if the value is 123,45 or -543,21 ?

Delimiter Mode could have been invoked by a GLOBALS or SET GLOBALS statement. They would have IM=D.

Could you describe what is happening in the program? Is this actually a Map on which a user is entering data?
Or is it an INPUT statement which is getting its value from the Stack? If the latter, could you show us the input strings on the stack.

If it is an INPUT statement rather than a map you can change your INPUT to something like


Where each field is defined as A100 or whatever so that each is bigger than necessary to hold each data element - thus avoiding the 1106

then after the INPUT do a STACK of each element in turn followed by an INPUT for each element in turn but this time into the original variables that were in your ‘real’ INPUT statement. Whichever line it abends on is then the field that had the 1106 problem.