Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

SOC4 Abend while getting message from a MQ

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Java & MQSeries
View previous topic :: :: View next topic  
Author Message
siva102

New User


Joined: 28 Nov 2007
Posts: 64
Location: Chennai

PostPosted: Thu Jul 29, 2010 7:20 pm    Post subject: SOC4 Abend while getting message from a MQ
Reply with quote

hi,

when I tried to get a message from a queue, I am getting SOC4. How ever I could get the message successfully into the Buffer area, when the MQ-BUFFER-LENGTH is 32800 bytes instead of 2000000 bytes.

Can any one help me on this. The maximum message lenght i expect from the queueu is 2000000 bytes.

The queue specifications are as follows:
MQ-CURRENT-Q-DEPTH :000000057
MQ-MAX-MSG-LENGTH :004194304
MQ-MAX-Q-DEPTH :000010000



Code:

     MOVE  2000000                    TO MQ-BUFFER-LENGTH.       
                                                                 
     MOVE MQMI-NONE                   TO MQMD-MSGID.             
     MOVE MQCI-NONE                   TO MQMD-CORRELID.         
                                                                 
*****WAIT FOR UNLIMITED TIME BEFORE SUCCESSFUL CALL             
     MOVE MQWI-UNLIMITED              TO MQGMO-WAITINTERVAL     
     COMPUTE MQGMO-OPTIONS = MQGMO-WAIT + MQGMO-SYNCPOINT       
                                        + MQGMO-CONVERT.         
                                                                 
     MOVE SPACES                      TO MQ-BUFFER-RECORD       
                                             
                                                                 
     CALL MQBATCHGET  USING MQ-HCONN                             
                            MQ-HOBJO-AJD-CLMLD                   
                            MQMD                                 
                            MQGMO                               
                            MQ-BUFFER-LENGTH                     
                            MQ-BUFFER-RECORD                     
                            MQ-DATA-LENGTH                       
                            MQ-COMPCODE                         
                            MQ-REASON.                           
                                                                 
     IF MQ-REASON = MQRC-NO-MSG-AVAILABLE                       
                             
        DISPLAY 'ALL MESSAGES ARE PROCESSED'                   
        SET EOD-MSG                   TO TRUE                   
     END-IF.                                                     
     IF (MQ-COMPCODE NOT = MQCC-OK)                             
             
        PERFORM ABORT-RTN                   
     END-IF.                                                     


Thanks in Advance.
Back to top
View user's profile Send private message

dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6967
Location: porcelain throne

PostPosted: Thu Jul 29, 2010 7:28 pm    Post subject:
Reply with quote

first, this is a waste of time:
Code:

MOVE SPACES                      TO MQ-BUFFER-RECORD

you receive a data length from the getmsg,
moving spaces is just a waste of time.

two:
provide us with the data definition of MQ-BUFFER-RECORD.
is it in linkage, working-storage or local storage?
cut&paste, please no paraphrasing.
Back to top
View user's profile Send private message
siva102

New User


Joined: 28 Nov 2007
Posts: 64
Location: Chennai

PostPosted: Thu Jul 29, 2010 7:56 pm    Post subject:
Reply with quote

Code:
 ***** MESSAGE BLOCK HANDLES                                       
  01 MQ-MQM                          PIC X(48) VALUE SPACES.       
  01 MQ-OBJECTNAME                   PIC X(48) VALUE SPACES.       
  01 MQ-BUFFER-RECORD.                                             
     05 MQ-BUFFER-BYTES              PIC X(01) OCCURS 0 TO 2000000
                      TIMES DEPENDING ON MQ-BUFFER-LENGTH.         
  01 MQ-BUFFER-LENGTH                PIC S9(9) BINARY.             
  01 MQ-OPTIONS                      PIC S9(9) BINARY.             
  01 MQ-HOBJ                         PIC S9(9) BINARY.             
  01 MQ-DATA-LENGTH                  PIC S9(9) BINARY.             
  01 MQ-COMPCODE                     PIC S9(9) BINARY.             
  01 MQ-REASON                       PIC S9(9) BINARY.             
Back to top
View user's profile Send private message
siva102

New User


Joined: 28 Nov 2007
Posts: 64
Location: Chennai

PostPosted: Thu Jul 29, 2010 8:02 pm    Post subject:
Reply with quote

And the above data definition is in Working storage section
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6967
Location: porcelain throne

PostPosted: Thu Jul 29, 2010 8:38 pm    Post subject:
Reply with quote

what instruction is receiving the SOC4?
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6967
Location: porcelain throne

PostPosted: Thu Jul 29, 2010 9:17 pm    Post subject:
Reply with quote

I would also put 01 MQ-BUFFER-RECORD. as the last entry in working-storage.
Back to top
View user's profile Send private message
siva102

New User


Joined: 28 Nov 2007
Posts: 64
Location: Chennai

PostPosted: Fri Jul 30, 2010 5:41 pm    Post subject:
Reply with quote

Code:

A storage reference exception occurred during execution of program     
CSQBPTUB.  The expected completion code is S0C4.                       
                                                                       
*******************************************                             
*            Analysis of Error            *                             
*******************************************                             
                                                                       
The system completion code of 0C4 is issued when the program attempts to
use storage that is not accessible.                                         






                      A B E N D - A I D                         
                                                                     
**********************************************************************
* Program storage for CSECT CSQBPTUB                                 *
* located in PDSE object module CSQBSTUB                             *
* Length is 000002D8                                                 *
* Language is HLASM                                                  *
**********************************************************************
                                                                     
**********************************************************************
* The save area used to call this program is not available.          *
**********************************************************************
                                                                     
**********************************************************************
* The save area used to call this program is not available.          *
**********************************************************************
                                                                     
**********************************************************************
* 64-bit register values are not available for this type of save     *
* area.                                                              *
**********************************************************************
                                                                     
**********************************************************************
* Storage of CSECT CSQBPTUB                                          *
**********************************************************************
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> Java & MQSeries All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts IMS region inactive - User abend code... gthmrj IMS DB/DC 5 Tue Mar 07, 2017 12:29 pm
No new posts IMS BMP program causes 878 system abend Artemk IMS DB/DC 7 Tue Nov 22, 2016 8:26 pm
No new posts abend sort based on count records in ... anatol DFSORT/ICETOOL 5 Mon Oct 17, 2016 10:10 pm
No new posts hot to get details when "EXEC CI... Andi1982 CICS 11 Tue Sep 20, 2016 5:01 pm
No new posts How to show message using batch jobs madprasy TSO/ISPF 7 Fri Sep 09, 2016 6:55 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us