ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General IBM MQ Support » send msg from as400 to mainframe, but error with bad format

Post new topic  Reply to topic
 send msg from as400 to mainframe, but error with bad format « View previous topic :: View next topic » 
Author Message
mq newguy
PostPosted: Wed Jun 26, 2002 11:21 am    Post subject: send msg from as400 to mainframe, but error with bad format Reply with quote

Newbie

Joined: 21 Jun 2002
Posts: 8

Im wondering that they cant read the data due to a bad format because I have specified MQPMO_SYNCPOINT, but I didnt set MD.Format = MQFMT_STRING. the program over on the mainframe has a convert option, why would we need that whe they are both EBCIDIC.???
here is a snippet from the MQ code C on the as400. thanks everyone

Code:
MQLONG PutMessage(INT ToQueue)                           
 {                                                       
               /*****Put Message Options Structure*****/ 
                                                         
     memset(&PutMsgOpts, '\0', sizeof(MsgDesc));         
     memcpy(PutMsgOpts.StrucId, MQPMO_STRUC_ID,           
           sizeof(PutMsgOpts.StrucId));                   
                                                         
     PutMsgOpts.Version = MQPMO_VERSION_1;               
     PutMsgOpts.Version = MQPMO_SYNCPOINT;  /* ????? should this be NO_SYNCPOINT??*/             
                                                         
                                                     
           /*****Message Descriptor Structure*****/ 
                                                     
 memset(&MsgDesc, '\0', sizeof(MsgDesc));           
 memcpy(MsgDesc.StrucId, MQMD_STRUC_ID,             
        sizeof(MsgDesc.StrucId));                   
                                                     
 MsgDesc.Version     = MQMD_VERSION_1;               
 MsgDesc.Expiry      = MQEI_UNLIMITED;               
 MsgDesc.Report      = MQRO_NONE;                   
 MsgDesc.MsgType     = MQMT_DATAGRAM;               
 MsgDesc.Priority    = 1;                           
 MsgDesc.Persistence = MQPER_PERSISTENT;                     
                                               /*  ???????MsgDesc.Format = MQFMT_STRING; */               
 memset(MsgDesc.ReplyToQ, '\0', sizeof(MsgDesc.ReplyToQ));   
                                                             
   
                                                             
 if (ToQueue)                                               
   {                                                         
    MQPUT( Hcon,         /* connection handle             */
       Hobj3,            /* object handle                 */
       &MsgDesc,        /* message descriptor            */ 
       &PutMsgOpts,      /* default options (datagram)    */
       sizeof(message_buffer),                               
       message_buffer,                                       
       &iCompCode,       /* completion code               */
       &iReason );       /* reason code                   */
   }                                                         
   else......                                   
Back to top
View user's profile Send private message
mrlinux
PostPosted: Wed Jun 26, 2002 7:51 pm    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

This line

PutMsgOpts.Version = MQPMO_SYNCPOINT; /* ????? should this be NO_SYNCPOINT??*/

should be
PutMsgOpts.Options = MQPMO_SYNCPOINT

also suggest you change
memset(&PutMsgOpts, '\0', sizeof(MsgDesc));
memcpy(PutMsgOpts.StrucId, MQPMO_STRUC_ID,
sizeof(PutMsgOpts.StrucId));

to this

MQPMO PutMsgOpts = {MQPMO_DEFAULT};
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
mq newguy
PostPosted: Mon Jul 01, 2002 8:51 am    Post subject: Reply with quote

Newbie

Joined: 21 Jun 2002
Posts: 8

I had this in my declaration


/* MQ Variables */

static CHAR QMName[MQ_Q_MGR_NAME_LENGTH];
static MQPMO PutMsgOpts = {MQPMO_DEFAULT}; <---------------
static MQGMO GetMsgOpts = {MQGMO_DEFAULT};/* Options which control
static MQBYTE Buffer[1024]; /* Area for message data */
static MQOD od = {MQOD_DEFAULT}; /* Object Descriptor */
static MQHCONN Hcon = (MQHCONN)NULL; /* connection handle */
static MQHOBJ Hobj3 = MQHO_UNUSABLE_HOBJ;/* object handle for BR */
static MQHOBJ Hobj2 = MQHO_UNUSABLE_HOBJ;/* object handle for VEC*/
static MQMD MsgDesc = {MQMD_DEFAULT}; /* Message descriptor */
Back to top
View user's profile Send private message
mrlinux
PostPosted: Mon Jul 01, 2002 9:17 am    Post subject: Reply with quote

Grand Master

Joined: 14 Feb 2002
Posts: 1261
Location: Detroit,MI USA

Small error

PutMsgOpts.Options |= MQPMO_SYNCPOINT;
_________________
Jeff

IBM Certified Developer MQSeries
IBM Certified Specialist MQSeries
IBM Certified Solutions Expert MQSeries
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » General IBM MQ Support » send msg from as400 to mainframe, but error with bad format
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.