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 » TDS Tagged Fixed Length, default char

Post new topic  Reply to topic
 TDS Tagged Fixed Length, default char « View previous topic :: View next topic » 
Author Message
BrisVegas
PostPosted: Tue Mar 10, 2009 10:23 pm    Post subject: TDS Tagged Fixed Length, default char Reply with quote

Novice

Joined: 05 Aug 2004
Posts: 14
Location: Brisbane, Australia

Hi all,

MQSI6.1 novice here, been struggling away with MQSI for a while. I'm modelling SAP IDOCs at the moment and need to output them as Fixed Length with Tags identifying the record type, ie. EDI_DC40, E1EDKA1 etc etc

Anyway, I created COBOL copybooks to load the (large) number of fields and their lengths in the various record types. I've used this technique in the past to load up big message sets, rather than to construct them manually in the toolkit.

At runtime, the parser is expecting non-populated fields, of which there are heaps, to have a default value. I can't find where to set the default <space> anywhere. It doesn't seem to be at the messageSet.mset level, nor at the Compund Type. I have already got the 'Output Policy for missing elements' as 'UseDefaultValue' and the check in the box for 'Derive default length from logical type' under the General Settings at the .mset TDS properties.

When I run a dumplog, I get this info

Item ''EDIDC40'' from the logical tree has matched with the message model as ''[MESSAGE]_ORDERS05/CONTROL/EDIDC40''
Item ''MANDT'' from the logical tree has matched with the message model as ''[MESSAGE]_ORDERS05/CONTROL/EDIDC40/MANDT''
Item ''DOCNUM'' from the logical tree has matched with the message model as ''[MESSAGE]_ORDERS05/CONTROL/EDIDC40/DOCNUM''
Item ''DIRECT'' from the logical tree has matched with the message model as ''[MESSAGE]_ORDERS05/CONTROL/EDIDC40/DIRECT''.
Item ''OUTMOD'' from the logical tree has matched with the message model as ''[MESSAGE]_ORDERS05/CONTROL/EDIDC40/OUTMOD''.
....
etc etc
...
ParserException BIP5447S: Tagged/Delimited String Format (TDS) writing error while writing message ''/ORDERS05/CONTROL/EDIDC40/DIRECT''
See following errors for more details.
ParserException BIP5452E: Mandatory Element '63^DOCREL' has no value or default value set.
Mandatory element ('63^DOCREL') has not been set and has no default value. A mandatory fixed length element must have a value set or a default value specified.
Set a value or specify a default value for this element.

EDIDC40/DOCREL is not a field I want to map to, but obviously i need it's field length to be defaulted to spaces in the output flat-file. DIRECT is the next field I map a value to after the 'missing' field DOCREL, which is where the parser throws the exception.

There has to be a global setting somewhere? It's impractical to individually map spaces to all unused fields (there are 500+!!!).

Please help if you can.

BV
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Tue Mar 10, 2009 10:42 pm    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

BrisVegas wrote:
MQSI6.1 novice here, been struggling away with MQSI for a while.


It is called WMB (WebSphere Message Broker) now.

BrisVegas wrote:
At runtime, the parser is expecting non-populated fields, of which there are heaps, to have a default value. I can't find where to set the default <space> anywhere. It doesn't seem to be at the messageSet.mset level, nor at the Compund Type. I have already got the 'Output Policy for missing elements' as 'UseDefaultValue' and the check in the box for 'Derive default length from logical type' under the General Settings at the .mset TDS properties.



You can set the default value at the logical properties of the local element and the padding characters at the physical properties (TDS) of the local element..


http://publib.boulder.ibm.com/infocenter/wmbhelp/v6r1m0/topic/com.ibm.etools.mft.doc/ad12100_.htm
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
Back to top
View user's profile Send private message
BrisVegas
PostPosted: Wed Mar 11, 2009 5:16 pm    Post subject: Reply with quote

Novice

Joined: 05 Aug 2004
Posts: 14
Location: Brisbane, Australia

Thanks, yes I realise it's now called WMB, but I've always known it as MQSI, since I first used it in 2.02.

Thankyou for the tip and the doco link, that fix has worked. Only catch with that is you can only apply the default character to "simple" types, not the compounds. Not a drama if your messages are simple, but a PITA with my message as I have so many elements. In any event I fixed it externally by editing the .mxsd to replace the element declarations to have the default " " inserted. works a treat!

Now, back to mapping....
Back to top
View user's profile Send private message
MQEnthu
PostPosted: Wed Mar 11, 2009 8:29 pm    Post subject: Reply with quote

Partisan

Joined: 06 Oct 2008
Posts: 329
Location: India

BrisVegas wrote:
Thankyou for the tip and the doco link, that fix has worked. Only catch with that is you can only apply the default character to "simple" types, not the compounds. Not a drama if your messages are simple, but a PITA with my message as I have so many elements


Yeah, true you can set it at local element level. but I wounder if there will be any requirement to have same defaualt value to all the elements in a complex type ... However you can set the default value to local element of type a complex element... Do not know how does it work though..

BrisVegas wrote:
In any event I fixed it externally by editing the .mxsd to replace the element declarations to have the default " " inserted. works a treat!


Yeah, don't know how good it is but when there are many feilds it is easy to set these things in text editer...
_________________
-----------------------------------------------
It is good to remember the past,
but don't let past capture your future
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 » TDS Tagged Fixed Length, default char
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.