|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
tds writing problem |
« View previous topic :: View next topic » |
Author |
Message
|
mrgate |
Posted: Mon Apr 21, 2008 1:54 pm Post subject: tds writing problem |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
Hello All,
I am working on an integration where source is sap and target is tds format.
I have to map from source from source to target.
Target structure looks like this.
Root(1..N)
AREF(1)
AENV(1)
A010(1..N)
. A015(1..N)
. A025(1..N)
. A020(1..N)
. A030(1)
. A035(1..N)
. A040(0..N)
PO10(1..N)
. PO15(0..N)
. PO25(1..N)
S010(1)
Each element AREF,AENV...etc will have elements of fixed length and at start of element will have respective indicators like AREF,AENV... etc.
Here root is having 1 to n cardinality and AREF is having single cardinality.
when I have created message set for this structure,
I have created complex types to AREF,AENV,A010....etc. All of them are having "data element separation" property as fixed length and group indicators as AREF,AENV,A010.... etc and group terminator as <LF>.
for parent complex types, for A010,A015,A020,PO10,Root, I have given "data element separation" as tagged fixed length where length of tag is set to 4.
the structure designed is working fine when correct lengths are specified.
when the lengths are reduced by more than 1 character it is throwing exception(normal and expected output).
when the lengths are reduced by 1 character it is not throwing any exception and taking line feed as a character(which is not an expected output). _________________ MQSeries terrorist |
|
Back to top |
|
 |
mrgate |
Posted: Mon Apr 21, 2008 2:06 pm Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
I am sorry to post second time as the structure is not posted properly.
Root(1..N)
..................AREF(1)
..................AENV(1)
..................A010(1..N)
.................................. A015(1..N)
...................................................A025(1..N)
..................................A020(1..N)
...................................................A030(1)
...................................................A035(1..N)
...................................................A040(0..N)
..................PO10(1..N)
...................................PO15(0..N)
...................................................PO25(1..N)
..................S010(1)
under root structure comes AREF,AENV,A010,PO10,S010.
under A010 comes A015, A020.
under po10 comes P015.
In the same way structure comes out _________________ MQSeries terrorist |
|
Back to top |
|
 |
kimbert |
Posted: Tue Apr 22, 2008 2:41 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
the structure is not posted properly |
Code: |
use \[code\] tags
if
you
want
indentation
preserved |
Quote: |
when the lengths are reduced by 1 character it is not throwing any exception and taking line feed as a character |
Your message consists of fixed-length records separated by line-feeds. Your message definition contains fixed-length structures only. You have not told the parser anything about line feeds. The parser is therefore behaving exactly as you have instructed it.
I suggest:
- Represent each record type with a complex type with Data Element Separation set to 'Variable Length Elements Delimited'
- Set the length of all fields in the complex type apart from the final field
- Set the Group Terminator to '<LF>' ( or whatever combination of line feed chars you require ).
- Create an element from each complex type and set its tag to the record identifier.
- Create a top-level message definition which uses Tagged Fixed Length. Set the Tag Length to 4. Add a reference to each of the record elements.
This will ensure that the line feeds cannot be interpreted as part of the data. However, the final field of each record is now variable-length.
If you want the length of the final field to be checked, you should
- Put a 'Length' Value Constraint on its simple type
- Enable validation in the message flow |
|
Back to top |
|
 |
mrgate |
Posted: Tue Apr 22, 2008 6:02 am Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
kimbert wrote: |
Represent each record type with a complex type with Data Element Separation set to 'Variable Length Elements Delimited'
|
Hello Kimbert,
when we are setting complex type's Data Element Separation to 'Variable Length Elements Delimited' we are prompted for entering the delimiter in the delimiter field.
our test data looks like this:
Code: |
AREFmvicf90042 01 177667227 01
AENV200802202024000001105CF 1105 8440001 1005000001
A01020080220 20080220 008051AMKBWL 20080220PM002292900 1105 1
A012DBMcK MCKESSON DRUG WILSONVILLE
A01511PM0022929 Y
A012SU
A0159290042 Y
P010STCASCADE HEALTHCARE-BEND 2500 NE NEFF ROAD BEND OR97701 40162509 P01511AS6610693 Y
P020000001000001 0000003 EA 0055.80 7332618181 20080212 000081.60000000083
P025N450419018802 Y
S010000000001000000081.60
|
length of each segment is too long so thats why data came in new line for A010,P010,P015,P020 segments but the entire data for segment comes in one single straight line. _________________ MQSeries terrorist |
|
Back to top |
|
 |
mrgate |
Posted: Tue Apr 22, 2008 6:05 am Post subject: |
|
|
 Centurion
Joined: 28 Feb 2007 Posts: 141 Location: India
|
Hello Kimbert,
From our data, we can clearly see that there is no delimiter between fields of each segment. can we get any suggestion. _________________ MQSeries terrorist |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Apr 22, 2008 7:25 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Please follow the second suggestion kimbert made, as well as the remaining ones, in addition to the first one of changing to variable length elements delimited. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
Bartez75 |
Posted: Fri Apr 25, 2008 4:25 am Post subject: |
|
|
 Voyager
Joined: 26 Oct 2006 Posts: 80 Location: Poland, Wroclaw
|
Hi mrgate.
Have you been able to solve it? How you did it? |
|
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
|
|
|
|