Page 1 of 2
Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 7:50 pm
by Dashimir
My program go and stop in the call comand, the called program in my dataset is compiled and with the right name.
Thank you in advance for your help.
Original Condition:
CEE3207S The system detected a data exception (System Completion Code=0C7).
PSW AT TIME OF ERROR 078D1000 87A1455A ILC 2 INTC 0D
NO ACTIVE MODULE FOUND
NAME=UNKNOWN
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 8:02 pm
by Robert Sample
This abend means that data that is not numeric is being handled as numeric data by COBOL. The origination of the problem could be in the calling program, or in the subprogram, or in the interface between the two (a mis-match between calling program values and called program arguments, for example). With the little you posted, there is not a whole lot more we can tell you.
The abend information should tell you the exact offset in the program; you can use the compile output to find the line of code represented by that offset. Once you know the line of code, you need to review each variable used in the code to determine which has invalid data (and remember there could be more than one variable with invalid data).
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 8:30 pm
by Dashimir
Thank you but i coudnt find in the line of code so i used some display :S.
with display i soo that it stops here :
MOVE CLIENTES-CGCCPF TO CPF-CONV
05 CPF-CONV PIC S9(15) VALUE ZEROES.
CLIENTES-CGCCPF 335 DECIMAL(15,0) IN DCLCLIENTES
708
10 CLIENTES-CGCCPF PIC S9(15)V USAGE COMP-3.
i tried 05 CPF-CONV PIC S9(15)v VALUE ZEROES. i need declare as comp too ?
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 8:47 pm
by BillyBoyo
If you have identified the correct statement, then you have invalid data in CLIENTES-CGCCPF. "invalid data" can include "no data at all". For instance, if you were accessing the field before doing the database access...
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 8:49 pm
by Akatsukami
Dashimir wrote:Thank you but i coudnt find in the line of code so i used some display :S.
with display i soo that it stops here :
MOVE CLIENTES-CGCCPF TO CPF-CONV
05 CPF-CONV PIC S9(15) VALUE ZEROES.
CLIENTES-CGCCPF 335 DECIMAL(15,0) IN DCLCLIENTES
708
10 CLIENTES-CGCCPF PIC S9(15)V USAGE COMP-3.
i tried 05 CPF-CONV PIC S9(15)v VALUE ZEROES. i need declare as comp too ?
You do not. However, you must ascertain what data CLIENTES-CGCCPF contains and, if it is not a valid packed decimal value, why not.
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 8:56 pm
by Akatsukami
Dashimir wrote:Thank you but i coudnt find in the line of code so i used some display :S.
Incidentally, be aware that the offset displayed identifies the failing
machine instruction, not the failing
COBOL statement (there are typically several machine instructions per HLL statement). To find the statement, look at the PMAP; it identifies the offset of the
first instruction in that statement. Choose the last statement whose offset is not greater than the offset of the failing instruction.
Re: Problem with System completion code = 0C7
Posted:
Wed Jan 02, 2013 9:54 pm
by BillyBoyo
The PMAP these days is produced by specifying compiler options "NOLIST,OFFSET".
LINE # HEXLOC VERB LINE # HEXLOC VERB
000034 0004A4 MOVE 000035 0004B2 DISPLAY
000042 0004C6 DISPLAY 000044 0004D0 PERFORM
It is the stuff which looks like the above. A more detailed listing of the generated code can be produced with "LIST,NOOFFSET" and there is a "hexloc" for each generated instruction.
Re: Problem with System completion code = 0C7
Posted:
Thu Jan 03, 2013 5:18 pm
by Dashimir
BillyBoyo wrote:If you have identified the correct statement, then you have invalid data in CLIENTES-CGCCPF. "invalid data" can include "no data at all". For instance, if you were accessing the field before doing the database access...
display CLIENTES-CGCCPF = 000000000000000
Re: Problem with System completion code = 0C7
Posted:
Thu Jan 03, 2013 6:18 pm
by BillyBoyo
That doesn't help at all. While processing for the DISPLAY, the actual invalid value can easily be "masked" if it is the low-order half-byte that indicates the sign which is invalid.
Instead, DISPLAY the group-item which the field is part of, then look at the output in hex. Or try to REDEFINES the comp-3 as PIC X, and display, look at in hex. Or find a program called BBHEXD on the internet - if you are allowed to, use that.
Re: Problem with System completion code = 0C7
Posted:
Tue Jan 08, 2013 8:32 pm
by Dashimir
i am trying to move anything with this variable and i get same error all the times OC7 ..
exemple
05 INTERMEDIARIO PIC S9(15)V9.
PROPOSTA PIC S9(15)V USAGE COMP-3.
DISPLAY 1
MOVE INTERMEDIARIO TO PROPOSTA
DISPLAY 2
SYSOUT
1
END.