|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
TDS Tagged Fixed Length, default char |
« View previous topic :: View next topic » |
Author |
Message
|
BrisVegas |
Posted: Tue Mar 10, 2009 10:23 pm Post subject: TDS Tagged Fixed Length, default char |
|
|
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 |
|
 |
MQEnthu |
Posted: Tue Mar 10, 2009 10:42 pm Post subject: |
|
|
 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 |
|
 |
BrisVegas |
Posted: Wed Mar 11, 2009 5:16 pm Post subject: |
|
|
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 |
|
 |
MQEnthu |
Posted: Wed Mar 11, 2009 8:29 pm Post subject: |
|
|
 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 |
|
 |
|
|
 |
|
Page 1 of 1 |
|
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
|
|
|
|