IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

S0C4 Abend in DB2 Stored Procedure


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
rahuindo

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Thu Jan 23, 2014 3:41 am
Reply with quote

Hi,
I have a COBOL DB2 Stored Procedure which is having the following linkage variables:
Code:

01  SP-IP-1                        PIC X(09) .     
01  SP-IP-2                PIC X(100).     
01  SP-IP-3                   PIC X(06) .     
01  SP-IP-4                  PIC X(01) .     
01  SP-IP-5                  PIC X(02) .     
01  SP-IP-6          PIC X(02) .     
01  SP-IP-7                 PIC X(01) .     
01  SP-IP-8                  PIC X(03) .     
01  SP-IP-9                   PIC X(08) .     
01  SP-IP-10                PIC X(08) .     
01  SP-IP-11             PIC X(08) .     
01  SP-OP-SQL-CD                     PIC X(06).     
01  SP-OP-OUT-SQL-MSG.                               
     49  SP-OP-SQL-MSG-LTH           PIC S9(4) COMP.
     49  SP-OP-SQL-MSG-TXT           PIC X(1000).   
01  SP-OP-INFO-MSG.                                 
     49  SP-OP-INFO-MSG-LTH          PIC S9(4) COMP.
         49  SP-OP-INFO-MSG-TXT          PIC X(1200).         
    01  SP-OUT-CLOB     USAGE IS SQL TYPE IS CLOB(700000).


While compiling this Stored Procedure, I did not see any warnings from Compiler.
This Stored Procedure calls another Stored Procedure and then reformats the output and generates XML and moves the XML to the CLOB variable SP-OUT-CLOB.

With the above layout, I face a 0C4 abend whenever I try to move any values to the O/P variables.
this is a sample code of where I face the abend:

Code:

MOVE ' ' TO SP-OP-INFO-MSG-TXT
MOVE 1 TO SP-OP-INFO-MSG-LTH


I can confirm that since I debugged using the Xpeditor.

However, the strange fact is that the Stored Procedure does not abend when I remove the following variables from the output parameters:
Code:
01  SP-OP-OUT-SQL-MSG.                               
     49  SP-OP-SQL-MSG-LTH           PIC S9(4) COMP.
     49  SP-OP-SQL-MSG-TXT           PIC X(1000).   


Has it something to do with the fact that I've 2 VARCHARs in my O/P parameters?
Back to top
View user's profile Send private message
rahuindo

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Thu Jan 23, 2014 4:19 am
Reply with quote

I looked at the Compiler warnings and I found this:
"SP-OP-INFO-MSG" or one of its subordinates was referenced, but
"SP-OP-INFO-MSG" was a "LINKAGE SECTION" item that did not have
addressability. This reference will not be resolved successfully at
execution.

This error implied that the SP-OP-INFO-MSG should also be referenced in the PROCEDURE division. I was not referencing this variable in the PROCEDURE division.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Jan 23, 2014 5:27 am
Reply with quote

You mean the PROCEDURE DIVISION USING...?

The parameter also needs to be supplied by the CALLing program. else you'll still have a problem.
Back to top
View user's profile Send private message
rahuindo

New User


Joined: 09 Apr 2008
Posts: 83
Location: Chennai

PostPosted: Thu Jan 23, 2014 6:09 am
Reply with quote

Hi Bill,
Yes, I meant the PROCEDURE DIVISION Using.. The Calling program was passing this parameter. It was just not defined in the PROCEDURE DIVISION Using.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts ISAM and abend S03B JCL & VSAM 10
No new posts Abend S0C4 11 (Page Translation Excep... PL/I & Assembler 16
No new posts WER999A - UNSUCCESSFUL SORT 8ED U Ab... SYNCSORT 5
No new posts the system or user abend SF0F R=NULL COBOL Programming 0
No new posts Need to get an DLI abend like U0200 IMS DB/DC 2
Search our Forums:

Back to Top