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 » Is setting OutputRoot to NULL Illegal?

Post new topic  Reply to topic Goto page Previous  1, 2
 Is setting OutputRoot to NULL Illegal? « View previous topic :: View next topic » 
Author Message
mqjeff
PostPosted: Thu Jan 28, 2016 12:59 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

... Did you remove your Set OutputRoot=NULL statement?
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jan 29, 2016 5:19 am    Post subject: Reply with quote

Grand High Poobah

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

akkypaul wrote:
Hi Mr. fjb_saper,

Quote:

Would be easier to detach from the tree, change the parser and attach to the tree...
Saves all that parsing from being done twice...



I am trying to do exactly what you wrote:-
For detaching the message from the tree I am using :-
SET OutputRoot = NULL;
For having a new parser I have:-
CREATE OutputRoot.XMLNSC.SomthingElse;
And so on.....
[/quote]

Not the right way to do it!
Make sure your PROPAGATE statement uses DELETE NONE
Then review the DETACH and ATTACH commands
Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Fri Jan 29, 2016 6:29 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

fjb_saper wrote:
Make sure your PROPAGATE statement uses DELETE NONE


Why? Does this method (with detach) release memory faster/better than using DELETE DEFAULT .. ?
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Fri Jan 29, 2016 9:10 am    Post subject: Reply with quote

Grand High Poobah

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

mqjeff wrote:
fjb_saper wrote:
Make sure your PROPAGATE statement uses DELETE NONE


Why? Does this method (with detach) release memory faster/better than using DELETE DEFAULT .. ?

No but it may avoid mapping twice from the input tree.
If the output tree under the Object Domain matches the needs for the XML tree, a DETACH and ATTACH will avoid an additional mapping.

That is assuming that there is a mapping from the input tree to the dataObject output tree....

Just being lazy: avoiding a copy to not use twice the memory, and if possible avoiding twice the mapping...

Now I don't know that the internals of the DETACH / ATTACH process uses less memory than a copy followed by a delete field... That would probably be for somebody in Hursley to give the details / or not...

_________________
MQ & Broker admin


Last edited by fjb_saper on Fri Jan 29, 2016 9:18 am; edited 1 time in total
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Fri Jan 29, 2016 9:17 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

It's a DFDL input, not a DataObject.

But, yes, if the structure matches the required XML schema, then one can indeed skip some steps.

This has not been true in 99% of the cases I've seen.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
akkypaul
PostPosted: Fri Jan 29, 2016 2:32 pm    Post subject: Reply with quote

Apprentice

Joined: 30 Jun 2014
Posts: 44
Location: India

No. I did not remove it.
I checked with my counterparts and no body else has any problems with OutputRoot = NULL;
They they it works perfectly.
Back to top
View user's profile Send private message
akkypaul
PostPosted: Mon Feb 01, 2016 11:50 am    Post subject: Reply with quote

Apprentice

Joined: 30 Jun 2014
Posts: 44
Location: India

SOLVED!
The PROPAGATE statement had to have DELETE NONE;
This made sure that the OutputRoot is not already empty or NULL.
Making the OutputRoot NULL again was illegal because the DELETE DEFAULT converts the OutputRoot's contents into Bitstream which is propagated to next node or output.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Feb 01, 2016 12:01 pm    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

akkypaul wrote:
SOLVED!
The PROPAGATE statement had to have DELETE NONE;
This made sure that the OutputRoot is not already empty or NULL.
Making the OutputRoot NULL again was illegal because the DELETE DEFAULT converts the OutputRoot's contents into Bitstream which is propagated to next node or output.


Well. Ok. So you didn't need to set it to NULL twice.

Is using the set statement really better than using DELETE DEFAULT?
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
akkypaul
PostPosted: Wed Feb 03, 2016 8:08 am    Post subject: Reply with quote

Apprentice

Joined: 30 Jun 2014
Posts: 44
Location: India

The data in the OutputRoot gets really large which is why it has to be set to NULL.
I just used the SET statement once.
Not Twice.
And I am not sure if its better than using DELETE default.
The thing is I was needed to discard OutputRoot.DataObject message tree once it had been propagated and then have a OutputRoot.XMLNSC message tree for some further process.
Back to top
View user's profile Send private message
inMo
PostPosted: Wed Feb 03, 2016 1:15 pm    Post subject: Reply with quote

Master

Joined: 27 Jun 2009
Posts: 216
Location: NY

The latest question is focused on the behavior of DELETE DEFAULT. After executing it, you have confirmed that OutputRoot is empty. However, you don't seem to like that. So you are using DELETE NONE followed by a SET OutputRoot = NULL statement so that you achieve an empty OutputRoot.
Back to top
View user's profile Send private message
akkypaul
PostPosted: Wed Feb 03, 2016 5:13 pm    Post subject: Reply with quote

Apprentice

Joined: 30 Jun 2014
Posts: 44
Location: India

Yes.
I am doing that because after propagating the IDOC to the next node with the propagate statement, I am using this some functions with the OutputRoot.DataObject as parameter and then setting it to NULL because I do not need it after that anymore!
Latest Error is that when I try to execute:-
SET outputMsgBlob = ASBITSTREAM(OutputRoot.DataObject ENCODING 273 CCSID 1208)
it gives me an error that says:-
XML Writing Errors have occurred : Unexpected XML type at this point in document
Apparently the OutputRoot contains a folderType and I whcih is not what this statement expects.
And nobody has any solution to this problem.
I suspect that this is due to the incorrect CCSID or Encoding values, but then again, I have tried different combos. Nothing works.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Thu Feb 04, 2016 5:27 am    Post subject: Reply with quote

Grand High Poobah

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

The reason I wanted you to use DELETE NONE is so that you could reuse the sub -tree of the Object domain.
Create an additional branch as last child of OutputRoot in the XMLNSC Domain.
DETACH the tree from the Object Domain and ATTACH it to the XMLNSC Domain.
Delete the Object Domain and PROPAGATE again as needed...
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » WebSphere Message Broker (ACE) Support » Is setting OutputRoot to NULL Illegal?
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.