After migration to natural 8.2, we have , sometimes, one error NAT0012 in some programs
This error is intercepted by “on error” but the line number is not in th pgm
(By example, error line 17, 35, … and line pgm is 10,20,30,…)
I think this is related to the use of NOC but I can not make the link with the option recompiling +PGEN,TSTMT = ON
How find the line with PGEN ?
Anyone know how it NAT0012 error occurs? [on example if possible because i don’t understand the natural documention about this]
Thank’s for your response
I found for natural line
This line does not match the program, but the map
Remains the problem of NAT0012
Code is
FORMAT PS=021 LS=080 ZP=OFF SG=OFF KD=ON IP=OFF
INPUT ( IP=OFF HE=‘HPTRXMPR’ /*
)
It’s the Input line who, sometimes, causing error
This map have not changed for a long time
Since migration to NAT 8.2 we have, from time to time, this error
Why ?
The Map should be useful, but what we would need to see is the INPUT USING MAP statement in its entirety, and the statement after the INPUT USING MAP statement
When the error line does not exist in the program where the error i “found”, where the ON ERROR is activated, it is important to notice, that the program where the ON ERROR block is activated, might not be the program where the error occured.
So *ERROR-NR and *PROGRAM, does not tell where the error occured, you need the data on the stack to find the program that is really failing. Have a look in the manual:
“…/nat822mf/pg/pg_furth_appl_err_proc.htm#pg_furth_appl_err_proc_et_prog”
Perhaps a long shot, but I noticed that £M-CHOIX is defined as A2. It looks like this should be a number from 01-07. Do any of the processing rules enforce this? Or is there program code to enforce this?
Are there any statements in the program that might be trying to use £M-CHOIX before it has been validated?
Sorry for the delay but August 15 is a holiday in France
To Jesper O.led
Thank’s for your link
Indeed the n0 line corresponded to a command (input) into a map
To Steve Robinson
The £M-CHOIX is enforced by program
Ok tomorrow i post the statment in program
The difficulty of this bug is that
A) It is random
B) It has only been migration NAT.8.22
C) The wording of the error is very vague
“Length adjustment of search variable not possible.”
Where is a "search variable 'in an Input?
MOVE ‘MNGEN-M’ TO £M-NOMMAP
INCLUDE H-RECTIT
INPUT USING MAP ‘MNGEN-M’
*
IF *PF-KEY EQ ‘PF1’ OR *PF-KEY EQ ‘PF13’
REINPUT USING HELP
END-IF
Here, the laste H-RECTIT’s lines
MOVE H-TABLE.TE-DATA(1) TO £TH-6003-DATA
MOVE £TH-6003-TITRE TO £M-MAP-TITRE
Bye
Edit of 08/19/2013
When we have NAT0012 , we have also abend 0C7/AKEA in CICS Region
Unfortunately our cics is configured not to take dump on this code