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 » Mainframe, CICS, TXSeries » WebSphere MQ - Z/OS Mainframe Challenge

Post new topic  Reply to topic Goto page 1, 2  Next
 WebSphere MQ - Z/OS Mainframe Challenge « View previous topic :: View next topic » 
Author Message
Kenzi
PostPosted: Fri May 16, 2014 10:14 pm    Post subject: WebSphere MQ - Z/OS Mainframe Challenge Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

The problem is regarding IBM z/OS and WebSphere MQ. The task at hand is to create(define) a reply queue for WebSphere MQ. This is the main WebSphere terminal:

Code:
                     IBM WebSphere MQ for z/OS - Main Menu                     
                                                                               
 Complete fields. Then press Enter.                                             
                                                                               
 Action  . . . . . . . . . .       0. List with filter   4. Manage             
                                   1. List or Display    5. Perform             
                                   2. Define like        6. Start               
                                   3. Alter              7. Stop               
 Object type . . . . . . . .               +                                   
 Name  . . . . . . . . . . .                                                   
 Disposition . . . . . . . .    Q=Qmgr, C=Copy, P=Private, G=Group,             
                                S=Shared, A=All                                 
                                                                               
 Connect name  . . . . . . .       - local queue manager or group               
 Target queue manager  . . .                                                   
            - connected or remote queue manager for command input               
 Action queue manager  . . .       - command scope in group                     
 Response wait time  . . . . 30    5 - 999 seconds                             
                                                                               
 (C) Copyright IBM Corporation 1993,2005. All rights reserved.


The reply queue is to be defined with all the properties of another predefined queue named SYSTEM.DEFAULT.LOCAL.QUEUE. It has to be named <userid>.REPLY, where <userid> is my mainframe ID. According to my comprehension, the 2. Define like Action has to be used to define a new object(queue in our case) based on an existing one. The Object type field can have either QUEUE or QLOCAL value.

As it is documented in the IBM-Infocenter, Name should hold the queue on whose attributes the new queue is to be defined; so Name gets SYSTEM.DEFAULT.LOCAL.QUEUE. Disposition is best declared A. Connect name is the name of the queue manager: CSQ1. The Target Queue Manager and Action queue manager is same as the Connect name.

What's going wrong with the step sequence?

Code:
                     IBM WebSphere MQ for z/OS - Main Menu                     
                                                                               
 Complete fields. Then press Enter.                                             
                                                                               
 Action  . . . . . . . . . . 2  0. List with filter   4. Manage             
                                   1. List or Display    5. Perform             
                                   2. Define like        6. Start               
                                   3. Alter              7. Stop               
 Object type . . . . . . . . QLOCAL              +                                   
 Name  . . . . . . . . . . . SYSTEM.DEFAULT.LOCAL.QUEUE                                                 
 Disposition . . . . . . . . Q  Q=Qmgr, C=Copy, P=Private, G=Group,             
                                S=Shared, A=All                                 
                                                                               
 Connect name  . . . . . . . CSQ1  - local queue manager or group               
 Target queue manager  . . . CSQ1                                                   
            - connected or remote queue manager for command input               
 Action queue manager  . . . CSQ1  - command scope in group                     
 Response wait time  . . . . 30    5 - 999 seconds                             
                                                                               
 (C) Copyright IBM Corporation 1993,2005. All rights reserved.


Next Step \/

Code:
                           List Local Queues - CSQ1                  Row 1 of 1
                                                                               
 Type action codes, then press Enter.  Press F11 to display queue status.       
  1=Display   2=Define like   3=Alter   4=Manage                               
                                                                               
                                                                    Get Usage   
     Name                                             Disposition    Put  Trig 
 <>  SYSTEM.DEFAULT.LOCAL.QUEUE                       PRIVATE CSQ1             
 2   SYSTEM.DEFAULT.LOCAL.QUEUE                       QMGR    CSQ1  YY  N NF   
                      ******** End of list ********                             


Next Step \/

Code:
                           Define a Local Queue - 1                             
                                                                               
 Complete fields, then press F8 for further fields, or Enter to define queue.   
                                                                               
                                                                 More:    +     
 Queue name  . . . . . . . . . <userID>.REPLY                                   
 Disposition . . . . . . . . . Q  G=Group, S=Shared, Q=Qmgr on CSQ1             
 Description . . . . . . . . .                                                 
                                                                               
 Put enabled . . . . . . . . . Y  Y=Yes, N=No                                   
 Get enabled . . . . . . . . . Y  Y=Yes, N=No                                   
 Usage . . . . . . . . . . . . N  N=Normal, X=XmitQ                             
 Storage class . . . . . . . . DEFAULT                                         
 CF structure name . . . . . .                                                 


And returns:

Code:
                             Display messages                   Row 1 of 3
                                                                           
                                                                           
 CSQM095I CSQ1 CSQMAQLC QLOCAL(<userID>.REPLY) ALREADY EXISTS               
 CSQM090E CSQ1 CSQMAQLC FAILURE REASON CODE X'00D44003'                   
 CSQ9023E CSQ1 CSQMAQLC ' DEFINE QLOCAL' ABNORMAL COMPLETION               
                      ******** End of list ********                       


I've tried create a QALIAS, QREMOTE, DELETE the queue, but it's the same result: ABNORMAL COMPLETION...

I'm going crazy!!!! Please Help!

Thanks!


Last edited by Kenzi on Sat May 17, 2014 7:25 am; edited 1 time in total
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 4:32 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Display messages Row 1 of 3


CSQM095I CSQ1 CSQMAQLC QLOCAL(BRA0600.REPLY) ALREADY EXISTS
CSQM090E CSQ1 CSQMAQLC FAILURE REASON CODE X'00D44003'
CSQ9023E CSQ1 CSQMAQLC ' DEFINE QLOCAL' ABNORMAL COMPLETION
******** End of list ********
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
MQsysprog
PostPosted: Sat May 17, 2014 4:45 am    Post subject: Reply with quote

Centurion

Joined: 24 Feb 2014
Posts: 116

Hi firstly have you checked that the name of the queue ,you are trying to create ,is really a new one ?. From the error message , it seems already defined and used on the Qmanager .
Then probably if you have to use a family of reply queues with tsoid as first prefix , may be useful to have a model queue ,like the one used in the csqorexx iispf interface .
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 4:52 am    Post subject: Re: WebSphere MQ - Z/OS Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Kenzi wrote:
The problem is regarding IBM z/OS and WebSphere MQ. The task at hand is to create(define) a reply queue for WebSphere MQ.

This is not a z/OS issue. Rather, it is an application design issue that applies to WMQ on all platforms.

Reply-to-queues are usually created in-flight (dynamically) by application programs, and NOT by sysprogs (administrators), when the application MQOPENs a QModel definition.

Please research for QModel.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Sat May 17, 2014 6:06 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

Most reply queues I have seen are defined ahead of time and the app just uses the same reply queue going forward. Nothing wrong with that approach.

Dynamic queues for reply queues make the most sense when there are large numbers of short lived requestors, who need their own reply queue for a short period of time and then never again.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 6:29 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.



This is an application-design choice - static vs. dynamic reply-to-queues.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Kenzi
PostPosted: Sat May 17, 2014 8:03 am    Post subject: Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

Ty guys for the answers, but what appears is that I have no permission to edit, copy, or create anything within WebSphere MQ, see the codes below:

Code:
                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' DEFINE' command request not authorized                   
 CSQ9023E CSQ1 CSQ9SCND 'DEFINE QMODEL' ABNORMAL COMPLETION               
                      ******** End of list ********                       

                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' CLEAR' command request not authorized                     
 CSQ9023E CSQ1 CSQ9SCND 'CLEAR QLOCAL' ABNORMAL COMPLETION                 
                      ******** End of list ********                       

                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' DELETE' command request not authorized                   
 CSQ9023E CSQ1 CSQ9SCND 'DELETE QALIAS' ABNORMAL COMPLETION               
                      ******** End of list ********                       


I forgot, I have the JCL what goes do the credit card transaction:

Code:
//PAYMENT  JOB MSGCLASS=H                       
//STEP1    EXEC PGM=PAYMENT,REGION=1024K,                     
// PARM='CSQ1,CARD.PAYMENTS,<userID>.REPLY,<userID>,100.00,"PAY"'
//STEPLIB  DD DSN=<userID>.PART2.LOAD,DISP=SHR                 
//         DD DSN=WMQ.V6R0.SCSQLOAD,DISP=SHR                   
//         DD DSN=WMQ.V6R0.SCSQANLE,DISP=SHR                   
//         DD DSN=WMQ.V6R0.SCSQAUTH,DISP=SHR                   
//STDOUT   DD SYSOUT=*                                         
//STDERR   DD SYSOUT=*                                         
//SYSPRINT DD SYSOUT=*                                         


I want to know:
WMQ.V6R0.SCSQLOAD
WMQ.V6R0.SCSQANLE
WMQ.V6R0.SCSQAUTH

In my JCL needs alter something, in WebSphere MQ?

I'm confused because in my mind I need to make the process of defining a queue within the Z / OS => IBM Products => WebSphere Software => WebSphere MQ for Z / OS

But the help link(http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.1.0/com.ibm.mq.doc/help_home_wmq.htm) show codes in several programming languages​​, but nothing related to the directory I wrote above. But it seems that when trying to use the tool it is locked ..
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 8:40 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Kenzi wrote:

Code:
                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' DEFINE' command request not authorized                   
 CSQ9023E CSQ1 CSQ9SCND 'DEFINE QMODEL' ABNORMAL COMPLETION               
                      ******** End of list ********                       

                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' CLEAR' command request not authorized                     
 CSQ9023E CSQ1 CSQ9SCND 'CLEAR QLOCAL' ABNORMAL COMPLETION                 
                      ******** End of list ********                       

                             Display messages                   Row 1 of 2
                                                                           
                                                                           
 CSQ9016E CSQ1 ' DELETE' command request not authorized                   
 CSQ9023E CSQ1 CSQ9SCND 'DELETE QALIAS' ABNORMAL COMPLETION               
                      ******** End of list ********                       


Exactly what produced these errors? A batch job? An online transaction? Be precise.

Kenzi wrote:

I forgot, I have the JCL what goes do the credit card transaction:

Code:
//PAYMENT  JOB MSGCLASS=H                       
//STEP1    EXEC PGM=PAYMENT,REGION=1024K,                     
// PARM='CSQ1,CARD.PAYMENTS,<userID>.REPLY,<userID>,100.00,"PAY"'
//STEPLIB  DD DSN=<userID>.PART2.LOAD,DISP=SHR                 
//         DD DSN=WMQ.V6R0.SCSQLOAD,DISP=SHR                   
//         DD DSN=WMQ.V6R0.SCSQANLE,DISP=SHR                   
//         DD DSN=WMQ.V6R0.SCSQAUTH,DISP=SHR                   
//STDOUT   DD SYSOUT=*                                         
//STDERR   DD SYSOUT=*                                         
//SYSPRINT DD SYSOUT=*                                         


I want to know:
WMQ.V6R0.SCSQLOAD
WMQ.V6R0.SCSQANLE
WMQ.V6R0.SCSQAUTH

In my JCL needs alter something, in WebSphere MQ?

I'm confused because in my mind I need to make the process of defining a queue within the Z / OS => IBM Products => WebSphere Software => WebSphere MQ for Z / OS

But the help link(http://www-01.ibm.com/support/knowledgecenter/SSFKSJ_7.1.0/com.ibm.mq.doc/help_home_wmq.htm) show codes in several programming languages​​, but nothing related to the directory I wrote above. But it seems that when trying to use the tool it is locked ..


I'm guessing that you have no z/OS experience.

The three datasets are read-only except for system programmers doing maintenance to WMQ components. Applications never need more than read access to these.

What exactly does the PAYMENTS program do? Is the PAYMENTS program trying to create new WMQ objects? Is PAYMENTS job a modified copy of sample JCL that executes CSQUTIL?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Kenzi
PostPosted: Sat May 17, 2014 9:35 am    Post subject: Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

It's a test that I can use the CICS transaction via WebSphere MQ to simulate a payment on my credit card.

My EXEC step has six parameters:

PARM='CSQ1,CARD.PAYMENTS,<userID>.REPLY,<userID>,100.00,"PAY"'

1 - CSQ1: The name of the WebSphere MQ queue manager
2 - CARD.PAYMENTS: The name of the queue to be used to send a request to the CICS transaction
3 - <userID>.REPLY: The name of the queue that CICS should use to send you a reply when your request has been actioned
4 - <userID>: The name of the credit card account
5 - 100.00: The monetary value of the payment
6 - "PAY": The payment description

The PAYMENT program does that transaction. but there is a failure in the task of WebSphere MQ.

I need to define the reply-queue to my program PAYMENT communicate to CICS and do the transaction.

To fix that, the exercise asks me to define the reply queue like the SYSTEM.DEFAULT.LOCAL.QUEUE and name it like <userID>.REPLY.

when I can set the queue named <userID>.REPLY, my program PAYMENT will can communicate the CICS and do the transaction in my account named <userID>, updating my balance at 100.00

This link show the exercises, more precisely look at page 15
http://www-03.ibm.com/systems/data/flash/pl/MainframeChallenge2013Part2.pdf

I'm frustrated because it does not know if there is an error in the Z / OS or if I'm doing something wrong. Because earlier there was an error in submitting PAYMENT part of the program, but when I logged on Z / OS on another computer without changing anything at all, my program ran normally ...

Yes I'm learning about Z/OS, CICS, WEBSPHERE MQ, JCL, JOBS, etc... doing this exercises. I never had contact with these softwares...


Last edited by Kenzi on Sat May 17, 2014 1:19 pm; edited 1 time in total
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 10:18 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Kenzi wrote:

Yes I'm learning about Z/OS, CICS, WEBSPHERE MQ, JCL, JOBS, etc... doing this exercises. I never had contact with these softwares...

You should consider getting some training on the basics of the z/OS environment. z/OS is very different from Windows/UNIX.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Kenzi
PostPosted: Sat May 17, 2014 1:16 pm    Post subject: Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

Yeah, I'm already familiar with the Z / OS (very basic), it is very different compared to Windows / Unix like you said.

So.. The problem I'm having is that it seems that there is already a queue with the name <userID>. REPLY and the system default (SYSTEM.DEFAULT.LOCAL.QUEUE) and I can not create a QALIAS, QMODEL or any option because of the lack of authority...
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sat May 17, 2014 3:17 pm    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

Kenzi wrote:

So.. The problem I'm having is that it seems that there is already a queue with the name <userID>. REPLY and the system default (SYSTEM.DEFAULT.LOCAL.QUEUE) and I can not create a QALIAS, QMODEL or any option because of the lack of authority...

Yes, that seems to summarize your situation. You will need to seek assistance from a systems programmer and security administrator.

Remember that z/OS is not Windows/UNIX. The only similarity among z/OS and Win/UNIX is that all three are o/s's. There are no rwx permission bits in WMQ for z/OS, and no root authority. Rather, you will need to be granted RACF (or equivalent) mqadmin authority for the objects. If this is a test qmgr, you might be in luck. If it's prod, I doubt you will be given sufficient access.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Kenzi
PostPosted: Sun May 18, 2014 7:44 am    Post subject: Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

Man, I dont know ... just went to sleep and the next day I try again, and to my surprise I could delete the existing queue and now I can set queues ... I did absolutely nothing!

I can now perform tests on my program...

Going research about QMODEL
Back to top
View user's profile Send private message
bruce2359
PostPosted: Sun May 18, 2014 9:31 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9394
Location: US: west coast, almost. Otherwise, enroute.

A mystery.
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
Kenzi
PostPosted: Sun May 18, 2014 10:40 am    Post subject: Reply with quote

Newbie

Joined: 16 May 2014
Posts: 7

I knew I was doing everything in the right place!

So .. I have to define like SYSTEM.DEFAULT.LOCAL.QUEUE named <userID>. REPLY. But that induces me to set object type to QLOCAL ...

I submitted my JOB after I set my queue and I saw this log in SDSF:

Code:
********************************************************                       
Mainframe Challenge - Credit card payment unit test tool                       
********************************************************                       
                                                                               
Incorrect usage!                                                               
                                                                               
Program Usage                                                                 
-------------                                                     
                                                                   
PAYMENT <queue manager> <cics request queue> <reply queue> <userid> <payment value> <payment description>
                                                                   
The payment description has a maximum length of 35 characters.     
                                                                   
The monetary value must be within the range 0.01 - 9999.99.       


I checked my account on CICS and really is not updating the balance to 100.00...
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Mainframe, CICS, TXSeries » WebSphere MQ - Z/OS Mainframe Challenge
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.