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 » WebSphere Message Broker (ACE) Support » Need to add CICS header before sending it to Mainframe -

Post new topic  Reply to topic
 Need to add CICS header before sending it to Mainframe - « View previous topic :: View next topic » 
Author Message
Bharat_123
PostPosted: Mon Feb 09, 2009 8:47 pm    Post subject: Need to add CICS header before sending it to Mainframe - Reply with quote

Acolyte

Joined: 15 Sep 2008
Posts: 58

Hello

I am in a position not getting any ideas to solve this.

Scenario:

MQInput BLOB -- >Transform into XML for internal audit purpose --> Here need to add CICS header --> to Main Frame MQ Out BLOB(CICSHD+BLOB)


I need to add CICS Header before sending it to Main frame. which is a different different header. I tried to to add CICSHD by adding RCD node inbetween but didnt work. Because When i add RCD in properties i am setting the values as BLOB...but i am not getting any values from XML Msg. Its new header to be generated just before sending it to CICS.

I have the copy book and parameters. But i am not getting any idea how to add inbetween the flow. Tried couple of options didnt workout.

Any ideas

Input BLOB == Output (MQMD + CICSHD+BLOB)

Thank YOu for ur time and valuable information
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Mon Feb 09, 2009 9:29 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Have you thought about something like

Code:
Create next sibling of OutputRoot.MQMD domain 'CICSHD' name 'CICSHD';


Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bharat_123
PostPosted: Tue Feb 10, 2009 12:17 pm    Post subject: Reply with quote

Acolyte

Joined: 15 Sep 2008
Posts: 58

let me clarify for my self

could u please eloborate that.


before sending to output Mian frame Queue i need t strip off the MQMD and need to add InternalUse header(name changed).

before sending it to MQOut i have the msg structure as XML and in Environment variables i have the Inbound msg to send it to Main frame.


So before sending tha MF = OutputRoot.XMLNSC = NULL;

Now I am struck add the Internal Use header

I have the copy book for that header and need to change the values of some fields. So what i did is imported copy book in MSP and changed the values to fixed where ever i have to over write the values.

in compute node

CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'MRM' NAME 'msg_INTHD';

before sending it to MQ Out MF

SET OutputRoot.BLOB.BLOB = CAST( InputRoot.MRM AS BLOB) || CAST(Environment.Variables AS BLOB);

Didnt work ...

Am i am doing wrong anywhere....? please give me some kind of information i can proceeed further in this.

Thanks for ur help
Back to top
View user's profile Send private message
smdavies99
PostPosted: Tue Feb 10, 2009 12:27 pm    Post subject: Reply with quote

Jedi Council

Joined: 10 Feb 2003
Posts: 6076
Location: Somewhere over the Rainbow this side of Never-never land.

Quote:
i need t strip off the MQMD


You are going to need the MQMD if you are sending the data to the Mainframe using an MQOutput Node.....
You should also take a look at the MQ Programming docs about how to structure a message with a CICS Header.
I'm sure that searching the other forums here will reveal other posts about this as well.
_________________
WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995

Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions.
Back to top
View user's profile Send private message
Bharat_123
PostPosted: Tue Feb 10, 2009 1:13 pm    Post subject: Reply with quote

Acolyte

Joined: 15 Sep 2008
Posts: 58

Thanks for ur reply

Basically i have a header we can call that as CICS header. what it does is trigger the foundation software to recognise the right Qmgr and Q (Thats what i under stood from other team may be i am wrong - so i call this as a internal header rather CICS).

before sending to MF MQ Output Q i need to add that. So i have copy book and the values need to be changed.


I did ESQL for changing values for required elemensts of copy book. BTW the total length of header is 514 bytes.

Its fixed length. so i impored the copybook and generated mxsd. When i concatanate i dont c the results.

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Feb 10, 2009 2:20 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Read about header chaining.
Set up your header as next sibling to MQMD.
Set up the output as OutputRoot.BLOB as last child of Root.

Let the MQOutput node serialize and check the stuff on the queue.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bharat_123
PostPosted: Tue Feb 10, 2009 4:47 pm    Post subject: Reply with quote

Acolyte

Joined: 15 Sep 2008
Posts: 58

Thanks

I c some difference in msg. when i use debugger i can c that Under MQMD i c BLOB and then OutputRoot.BLOB.BLOB.

My question here is i have copy book and the header is fixed length and i need to change some values in Header

CREATE NEXTSIBLING OF OutputRoot.MQMD DOMAIN 'BLOB' NAME 'BLOB' ;

SET OutputRoot.BLOB.BD_HEAD.BD_VERSION_ID = 'BD03';
SET OutputRoot.BLOB.BD_HEAD.BD_TARM_COUNT = '0001';
SET OutputRoot.BLOB.BD_HEAD.BD_USER_ID = 'PBDMQ000';
SET OutputRoot.BLOB.BD_HEAD.BD_CLASS_FUN = 'BANKOFENGLAND-BENEFIT-CLAIM.SUP';

SET OutputRoot.BLOB.BD_SAREA.COPYLIB_NAME_VERSION = 'abcdefg ';
SET OutputRoot.BLOB.BD_SAREA.FORMAT_LENGTH_SIGN = '+';
SET OutputRoot.BLOB.BD_SAREA.FORMAT_LENGTH = 3055;
SET OutputRoot.BLOB.BD_SAREA.FORMAT_NAME = 'BASE';
SET OutputRoot.BLOB.BD_SAREA.SCOPE_NAME = 'AB-RESPONSE-FROM-BOE';
SET OutputRoot.BLOB.BD_SAREA.BLOCK_LENGTH = 3055;
SET OutputRoot.BLOB.BD_SAREA.CURSOR_LINE_SIGN = '+';
SET OutputRoot.BLOB.BD_SAREA.RETRIEVED_RECORDS_SIGN = '+';
SET OutputRoot.BLOB.BD_SAREA.RETRIEVED_RECORDS = 1;
SET OutputRoot.BLOB.BD_SAREA.CURRENT_LINE_SIGN = '+';
SET OutputRoot.BLOB.BD_SAREA.TOTAL_LINE_SIGN = '+';



SET OutputRoot.BLOB.BLOB = CAST(Environment.Variables AS BLOB);

Those are the variables i need to change from the copy book and the header is fixed length. When i use debugger i dont c the strcture of the copybook. may be because i am not using the MXSD at all.

Or do i have to hard code the remaining fields with 'o' and padding char spaces. Its very odd. Is there any other way to do it.

Thanks
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Tue Feb 10, 2009 7:07 pm    Post subject: Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

Did you create a message set, import the copy book(s) and use the MRM CWF parser ?

It looks very much like you need to get some training in the product.
As well as some understanding as to what a header in broker and MQ terms is....

What you are talking about looks much more like a header record than a header.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Bharat_123
PostPosted: Wed Feb 11, 2009 10:04 am    Post subject: Reply with quote

Acolyte

Joined: 15 Sep 2008
Posts: 58

Appreciate u all for ur time for giving me your valuable responses.


I think i didnt represnt my question in proper way i believe thats all this confusion.


As i mentioned earlier also, i need to add Blob message to output blob message in between the flow. I tried to use RCD node but could not successed problem is the input message i have is XML to RCD node. and in RCD i am trying to use my copybook with Binary 1 and i need output also in Binary1. here my question is how do i get the values for the copy book as i am not getting any input for that. Its has to built there itself. I dont get any input value for that. its 514 fixedlength.

Thanks all if u understand my question or problem
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed Feb 11, 2009 10:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Bharat_123 wrote:
here my question is how do i get the values for the copy book as i am not getting any input for that.


fjb_saper wrote:
Did you create a message set, import the copy book(s) and use the MRM CWF parser ?

It looks very much like you need to get some training in the product.



_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Need to add CICS header before sending it to Mainframe -
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.