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 » IBM MQ API Support » Info regarding MQAI in MQV6

Post new topic  Reply to topic Goto page 1, 2  Next
 Info regarding MQAI in MQV6 « View previous topic :: View next topic » 
Author Message
bhavya123
PostPosted: Tue Jan 17, 2006 10:27 pm    Post subject: Info regarding MQAI in MQV6 Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

Hi,

I have a requirement to list all the queues on the queue manager.I am using MQAI to do this.
Example code is :

#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>

#include <cmqc.h> /* MQI */
#include <cmqcfc.h> /* PCF */
#include <cmqbc.h> /* MQAI */

/******************************************************************************/
/* Function prototypes */
/******************************************************************************/
void CheckCallResult(MQCHAR *, MQLONG , MQLONG);

/******************************************************************************/
/* Function: main */
/******************************************************************************/
int main(int argc, char *argv[])
{
/***************************************************************************/
/* MQAI variables */
/***************************************************************************/
MQHCONN hConn; /* handle to MQ connection */
MQCHAR qmName[MQ_Q_MGR_NAME_LENGTH+1]=""; /* default QMgr name */
MQLONG reason; /* reason code */
MQLONG connReason; /* MQCONN reason code */
MQLONG compCode; /* completion code */
MQHBAG adminBag = MQHB_UNUSABLE_HBAG; /* admin bag for mqExecute */
MQHBAG responseBag = MQHB_UNUSABLE_HBAG;/* response bag for mqExecute */
MQHBAG qAttrsBag; /* bag containing q attributes */
MQHBAG errorBag; /* bag containing cmd server error */
MQLONG mqExecuteCC; /* mqExecute completion code */
MQLONG mqExecuteRC; /* mqExecute reason code */
MQLONG qNameLength; /* Actual length of q name */
MQLONG qDepth; /* depth of queue */
MQLONG i; /* loop counter */
MQLONG numberOfBags; /* number of bags in response bag */
MQCHAR qName[MQ_Q_NAME_LENGTH+1]; /* name of queue extracted from bag*/


printf("Display list of local queues\n\n");

/***************************************************************************/
/* Connect to the queue manager */
/***************************************************************************/
if (argc > 1)
strncpy(qmName, argv[1], (size_t)MQ_Q_MGR_NAME_LENGTH);
MQCONN(qmName, &hConn, &compCode, &connReason);

/***************************************************************************/
/* Report the reason and stop if the connection failed. */
/***************************************************************************/
if (compCode == MQCC_FAILED)
{
CheckCallResult("Queue Manager connection", compCode, connReason);
exit( (int)connReason);
}

/***************************************************************************/
/* Create an admin bag for the mqExecute call */
/***************************************************************************/
mqCreateBag(MQCBO_ADMIN_BAG, &adminBag, &compCode, &reason);
CheckCallResult("Create admin bag", compCode, reason);

/***************************************************************************/
/* Create a response bag for the mqExecute call */
/***************************************************************************/
mqCreateBag(MQCBO_ADMIN_BAG, &responseBag, &compCode, &reason);
CheckCallResult("Create response bag", compCode, reason);

/***************************************************************************/
/* Put the generic queue name into the admin bag */
/***************************************************************************/
mqAddString(adminBag, MQCA_Q_NAME, MQBL_NULL_TERMINATED, "*", &compCode, &reason);
CheckCallResult("Add q name", compCode, reason);

/***************************************************************************/
/* Put the local queue type into the admin bag */
/***************************************************************************/
mqAddInteger(adminBag, MQIA_Q_TYPE, MQQT_LOCAL, &compCode, &reason);
CheckCallResult("Add q type", compCode, reason);

/***************************************************************************/
/* Send the command to find all the local queue names and queue depths. */
/* The mqExecute call creates the PCF structure required, sends it to */
/* the command server, and receives the reply from the command server into */
/* the response bag. The attributes are contained in system bags that are */
/* embedded in the response bag, one set of attributes per bag. */
/***************************************************************************/
mqExecute(hConn, /* MQ connection handle */
MQCMD_INQUIRE_Q_NAMES, /* Command to be executed */
MQHB_NONE, /* No options bag */
adminBag, /* Handle to bag containing commands */
responseBag, /* Handle to bag to receive the response*/
MQHO_NONE, /* Put msg on SYSTEM.ADMIN.COMMAND.QUEUE*/
MQHO_NONE, /* Create a dynamic q for the response */
&compCode, /* Completion code from the mqexecute */
&reason); /* Reason code from mqexecute call */


/***************************************************************************/
/* Check the command server is started. If not exit. */
/***************************************************************************/
if (reason == MQRC_CMD_SERVER_NOT_AVAILABLE)
{
printf("Please start the command server: <strmqcsv QMgrName>\n");
MQDISC(&hConn, &compCode, &reason);
CheckCallResult("Disconnect from Queue Manager", compCode, reason);
exit(9;
}

/***************************************************************************/
/* Check the result from mqExecute call. If successful find the current */
/* depths of all the local queues. If failed find the error. */
/***************************************************************************/
if ( compCode == MQCC_OK ) /* Successful mqExecute */
{
mqInquireBag( responseBag, MQHA_BAG_HANDLE, 0, &qAttrsBag,&compCode,
&reason );
CheckCallResult("Count number of bag handles", compCode, reason);

mqCountItems(qAttrsBag, MQSEL_ALL_USER_SELECTORS, &numberOfBags,
&compCode, &reason);
CheckCallResult("Count number of bag handles", compCode, reason);

printf("\n Number of bags: %d\n", numberOfBags );

for ( i=0; i<numberOfBags; i++)
{
/***********************************************************************/
/* Get the queue name out of the queue attributes bag */
/***********************************************************************/
mqInquireString(qAttrsBag, MQCACF_Q_NAMES, i, MQ_Q_NAME_LENGTH, qName,
&qNameLength, NULL, &compCode, &reason);
CheckCallResult("Get queue name", compCode, reason);

/***********************************************************************/
/* Use mqTrim to prepare the queue name for printing. */
/* Print the result. */
/***********************************************************************/
mqTrim(MQ_Q_NAME_LENGTH, qName, qName, &compCode, &reason);
printf(" %-48s\n", qName);
}
}

else /* Failed mqExecute */
{
printf("Call to get queue attributes failed: Completion Code = %d : Reason = %d\n",
compCode, reason);
/*************************************************************************/
/* If the command fails get the system bag handle out of the mqexecute */
/* response bag.This bag contains the reason from the command server */
/* why the command failed. */
/*************************************************************************/
if (reason == MQRCCF_COMMAND_FAILED)
{
mqInquireBag(responseBag, MQHA_BAG_HANDLE, 0, &errorBag, &compCode, &reason);
CheckCallResult("Get the result bag handle", compCode, reason);

/***********************************************************************/
/* Get the completion code and reason code, returned by the command */
/* server, from the embedded error bag. */
/***********************************************************************/
mqInquireInteger(errorBag, MQIASY_COMP_CODE, MQIND_NONE, &mqExecuteCC,
&compCode, &reason );
CheckCallResult("Get the completion code from the result bag", compCode, reason);
mqInquireInteger(errorBag, MQIASY_REASON, MQIND_NONE, &mqExecuteRC,
&compCode, &reason);
CheckCallResult("Get the reason code from the result bag", compCode, reason);
printf("Error returned by the command server: Completion Code = %d : Reason = %d\n",
mqExecuteCC, mqExecuteRC);
}
}

/***************************************************************************/
/* Delete the admin bag if successfully created. */
/***************************************************************************/
if (adminBag != MQHB_UNUSABLE_HBAG)
{
mqDeleteBag(&adminBag, &compCode, &reason);
CheckCallResult("Delete the admin bag", compCode, reason);
}

/***************************************************************************/
/* Delete the response bag if successfully created. */
/***************************************************************************/
if (responseBag != MQHB_UNUSABLE_HBAG)
{
mqDeleteBag(&responseBag, &compCode, &reason);
CheckCallResult("Delete the response bag", compCode, reason);
}

/***************************************************************************/
/* Disconnect from the queue manager if not already connected */
/***************************************************************************/
if (connReason != MQRC_ALREADY_CONNECTED)
{
MQDISC(&hConn, &compCode, &reason);
CheckCallResult("Disconnect from Queue Manager", compCode, reason);
}
return 0;
}


/******************************************************************************/
/* */
/* Function: CheckCallResult */
/* */
/******************************************************************************/
/* */
/* Input Parameters: Description of call */
/* Completion code */
/* Reason code */
/* */
/* Output Parameters: None */
/* */
/* Logic: Display the description of the call, the completion code and the */
/* reason code if the completion code is not successful */
/* */
/******************************************************************************/
void CheckCallResult(char *callText, MQLONG cc, MQLONG rc)
{
if (cc != MQCC_OK)
printf("%s failed: Completion Code = %d : Reason = %d\n", callText, cc, rc);

}


I have modified the sample IBM code to list all the queues.
This program works fine with MQV5.3 . but with MQV6 it is giving error.
If the queue namanger has 1 queue , number of queues returned by MQAI is 2.
does any one has information as to what is changed in MQV6 with respect to MQAI?

Thanks,
Bhavya
Back to top
View user's profile Send private message
wschutz
PostPosted: Wed Jan 18, 2006 6:52 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

You might want to "reset" your code by starting with the sample that comes with V6: amqsailq.c. I tried that and it works fine.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
wschutz
PostPosted: Wed Jan 18, 2006 6:27 pm    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

LIOR wrote:
The code is the same for WMQ V5.3 and for WMQ V6.
The only different is the linkage you should do.
the mqm.lib is different.
Thus, you should link the program again with the new mqm.lib

Linking with the new mqm.lib will not help.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
bhavya123
PostPosted: Wed Jan 18, 2006 8:36 pm    Post subject: RE:Info regarding MQAI in MQV6 Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

wschutz Wrote :

You might want to "reset" your code by starting with the sample that comes with V6: amqsailq.c. I tried that and it works fine.

Bhavya's Reply:

amqsailq.c program checks for the queue depth as is, but I want to list the number of Queues present in the Queue Manager. Hence we have changed this sample for testing. Can somebody tell why the PCF is returning twice number of Queues actually present on the Queue Manager.

Thanks
Bhavya
Back to top
View user's profile Send private message
wschutz
PostPosted: Thu Jan 19, 2006 3:27 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

LIOR:
Quote:
Why not ?
I checked it and it works fine !
Because there error is in his code.... and you don't need to relink applications when moving to a newer qmgr ... (unless, of course, there is a change to the API that you need)

bhavya123:

If I look at your code and compare it to amqsailq, I see several differences. If you only need to print the number of queues, then I suggest you make this change to amqsailq:
Code:
    mqCountItems(responseBag, MQHA_BAG_HANDLE, &numberOfBags, &compCode, &reason);
     CheckCallResult("Count number of bag handles", compCode, reason);
// Print the number of local queues
 printf("number of local queues = %ld\n", numberOfBags);
//
     for ( i=0; i<numberOfBags; i++)
     {


I've tried compiling your code on my machine, and I get the same error you do. Start with something that works and go from there ....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
bhavya123
PostPosted: Thu Jan 19, 2006 3:52 am    Post subject: Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

Code:
    mqCountItems(responseBag, MQHA_BAG_HANDLE, &numberOfBags, &compCode, &reason);
     CheckCallResult("Count number of bag handles", compCode, reason);
// Print the number of local queues
 printf("number of local queues = %ld\n", numberOfBags);
//
     for ( i=0; i<numberOfBags; i++)
     {





I want tha name of all the queues on the queue manager, not only number.I executed the program on MQV5.3 and it works fine .Only on MQV6 its giving error.

Output of MQV5.3:
$ ./list TESTEMB
Display list of local queues


Number of bags: 19
TEST.LQ
LOCAL.LQ
LT.TRADE.ONE
MQAI.REPLY.43CBD0E820003C01
SYSTEM.ADMIN.CHANNEL.EVENT
SYSTEM.ADMIN.COMMAND.QUEUE
SYSTEM.ADMIN.PERFM.EVENT
SYSTEM.ADMIN.QMGR.EVENT
SYSTEM.AUTH.DATA.QUEUE
SYSTEM.CHANNEL.INITQ
SYSTEM.CHANNEL.SYNCQ
SYSTEM.CICS.INITIATION.QUEUE
SYSTEM.CLUSTER.COMMAND.QUEUE
SYSTEM.CLUSTER.REPOSITORY.QUEUE
SYSTEM.CLUSTER.TRANSMIT.QUEUE
SYSTEM.DEAD.LETTER.QUEUE
SYSTEM.DEFAULT.INITIATION.QUEUE
SYSTEM.DEFAULT.LOCAL.QUEUE
SYSTEM.PENDING.DATA.QUEUE


MQV6 output:
$ ./list NYTSEM1
Display list of local queues


Number of bags: 66
AMQ.MQEXPLORER.994130753
LOCAL.LQ
LT.TRADE.ONE
LT.TRADE.THREE
LT.TRADE.TWO
LT.WHSE.TRANS.ONE
LT.WHSE.TRANS.THREE
LT.WHSE.TRANS.TWO
MQAI.REPLY.43CC629C2002BE02
MQ.ACTIVITY
NYTSEM2
SYSTEM.ADMIN.ACCOUNTING.QUEUE
SYSTEM.ADMIN.ACTIVITY.QUEUE
SYSTEM.ADMIN.CHANNEL.EVENT
SYSTEM.ADMIN.COMMAND.QUEUE
SYSTEM.ADMIN.LOGGER.EVENT
SYSTEM.ADMIN.PERFM.EVENT
SYSTEM.ADMIN.QMGR.EVENT
SYSTEM.ADMIN.STATISTICS.QUEUE
SYSTEM.ADMIN.TRACE.ROUTE.QUEUE
SYSTEM.AUTH.DATA.QUEUE
SYSTEM.CHANNEL.INITQ
SYSTEM.CHANNEL.SYNCQ
SYSTEM.CICS.INITIATION.QUEUE
SYSTEM.CLUSTER.COMMAND.QUEUE
SYSTEM.CLUSTER.REPOSITORY.QUEUE
SYSTEM.CLUSTER.TRANSMIT.QUEUE
SYSTEM.DEAD.LETTER.QUEUE
SYSTEM.DEFAULT.INITIATION.QUEUE
SYSTEM.DEFAULT.LOCAL.QUEUE
SYSTEM.MY.QUEUE
SYSTEM.PENDING.DATA.QUEUE
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Get queue name failed: Completion Code = 2 : Reason = 2306
TEST.LQ
Back to top
View user's profile Send private message
wschutz
PostPosted: Thu Jan 19, 2006 4:10 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Quote:
When I tried to compile the amqsailq.c on a WMQ5.3 environment it worked fine, but when I tried to run the same code on a WMQ 6 environment, I got an error.
What error?
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
wschutz
PostPosted: Thu Jan 19, 2006 4:12 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Quote:
I want tha name of all the queues on the queue manager, not only number.I executed the program on MQV5.3 and it works fine .Only on MQV6 its giving error.
This is the output from my "modified" amqsailq:

Quote:
[wschutz@wschutz tmp]$ ./amqsailq TEST
Display current depths of local queues

number of local queues = 23
0 MQAI.REPLY.43CEAB3820000A02
0 SYSTEM.ADMIN.ACCOUNTING.QUEUE
0 SYSTEM.ADMIN.ACTIVITY.QUEUE
0 SYSTEM.ADMIN.CHANNEL.EVENT
0 SYSTEM.ADMIN.COMMAND.QUEUE
0 SYSTEM.ADMIN.LOGGER.EVENT
0 SYSTEM.ADMIN.PERFM.EVENT
1 SYSTEM.ADMIN.QMGR.EVENT
0 SYSTEM.ADMIN.STATISTICS.QUEUE
0 SYSTEM.ADMIN.TRACE.ROUTE.QUEUE
68 SYSTEM.AUTH.DATA.QUEUE
0 SYSTEM.CHANNEL.INITQ
4 SYSTEM.CHANNEL.SYNCQ
0 SYSTEM.CICS.INITIATION.QUEUE
0 SYSTEM.CLUSTER.COMMAND.QUEUE
2 SYSTEM.CLUSTER.REPOSITORY.QUEUE
0 SYSTEM.CLUSTER.TRANSMIT.QUEUE
1 SYSTEM.DEAD.LETTER.QUEUE
0 SYSTEM.DEFAULT.INITIATION.QUEUE
16 SYSTEM.DEFAULT.LOCAL.QUEUE
0 SYSTEM.PENDING.DATA.QUEUE
0 TEST
0 W
It gives the number and the queue names .....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
bhavya123
PostPosted: Thu Jan 19, 2006 4:20 am    Post subject: Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

wschutz wrote:
Quote:
I want tha name of all the queues on the queue manager, not only number.I executed the program on MQV5.3 and it works fine .Only on MQV6 its giving error.
This is the output from my "modified" amqsailq:

Quote:
[wschutz@wschutz tmp]$ ./amqsailq TEST
Display current depths of local queues

number of local queues = 23
0 MQAI.REPLY.43CEAB3820000A02
0 SYSTEM.ADMIN.ACCOUNTING.QUEUE
0 SYSTEM.ADMIN.ACTIVITY.QUEUE
0 SYSTEM.ADMIN.CHANNEL.EVENT
0 SYSTEM.ADMIN.COMMAND.QUEUE
0 SYSTEM.ADMIN.LOGGER.EVENT
0 SYSTEM.ADMIN.PERFM.EVENT
1 SYSTEM.ADMIN.QMGR.EVENT
0 SYSTEM.ADMIN.STATISTICS.QUEUE
0 SYSTEM.ADMIN.TRACE.ROUTE.QUEUE
68 SYSTEM.AUTH.DATA.QUEUE
0 SYSTEM.CHANNEL.INITQ
4 SYSTEM.CHANNEL.SYNCQ
0 SYSTEM.CICS.INITIATION.QUEUE
0 SYSTEM.CLUSTER.COMMAND.QUEUE
2 SYSTEM.CLUSTER.REPOSITORY.QUEUE
0 SYSTEM.CLUSTER.TRANSMIT.QUEUE
1 SYSTEM.DEAD.LETTER.QUEUE
0 SYSTEM.DEFAULT.INITIATION.QUEUE
16 SYSTEM.DEFAULT.LOCAL.QUEUE
0 SYSTEM.PENDING.DATA.QUEUE
0 TEST
0 W
It gives the number and the queue names .....


Thanks for the response.
Even i changed the amqsailq.c and its working fine.
But i wanted to know what is the problem in the program which i had posted earlier becoz on MQV5.3 it is working as expected and the problem is only on MQV6
Back to top
View user's profile Send private message
wschutz
PostPosted: Thu Jan 19, 2006 6:37 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

Yes, I did a little bit of research.

Your program is counting the number of items in all the returned bags, instead of the number of returned bags.

In V5.3, only the "queue name" is returned on a PCF inquire queue command (so only 1 item per bag). In V6, that has changed, now the queue name and queue type is always returned (two items per bag).

So, it worked in V5.3 only because the number of items == the number of bags.

Hope this all helps ....
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
bhavya123
PostPosted: Fri Jan 20, 2006 12:23 am    Post subject: Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

wschutz wrote:
Yes, I did a little bit of research.

Your program is counting the number of items in all the returned bags, instead of the number of returned bags.

In V5.3, only the "queue name" is returned on a PCF inquire queue command (so only 1 item per bag). In V6, that has changed, now the queue name and queue type is always returned (two items per bag).

So, it worked in V5.3 only because the number of items == the number of bags.

Hope this all helps ....


Thanks a lot for the research done.The answer really helped.
Back to top
View user's profile Send private message
bhavya123
PostPosted: Mon Jan 23, 2006 12:55 am    Post subject: Reply with quote

Novice

Joined: 25 Dec 2005
Posts: 16
Location: Banglore

[quote="bhavya123"]
wschutz wrote:
Yes, I did a little bit of research.

Your program is counting the number of items in all the returned bags, instead of the number of returned bags.

In V5.3, only the "queue name" is returned on a PCF inquire queue command (so only 1 item per bag). In V6, that has changed, now the queue name and queue type is always returned (two items per bag).

So, it worked in V5.3 only because the number of items == the number of bags.

Hope this all helps ....


I needed one more info...
From which document did u get the above information and
is there any document from IBM which documents what is changed from MQV5.3 to MQV6.
Back to top
View user's profile Send private message
wschutz
PostPosted: Mon Jan 23, 2006 3:41 am    Post subject: Reply with quote

Jedi Knight

Joined: 02 Jun 2005
Posts: 3316
Location: IBM (retired)

I got the info by comparing the V5.3 and the V6 Programmable Command Formats and
Administration Interface manual. (the PCF response messages to the INQUIRE QUEUE commands)

I'm not aware of any document that gives the difference at that level.
_________________
-wayne
Back to top
View user's profile Send private message Send e-mail AIM Address
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » IBM MQ API Support » Info regarding MQAI in MQV6
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.