Page 1 of 2

Problem with System completion code = 0C7

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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

PostPosted: 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.