Author |
Message
|
marco |
Posted: Tue Jan 29, 2008 2:43 am Post subject: TDS Variable Delimiter |
|
|
Apprentice
Joined: 16 Feb 2004 Posts: 46
|
Hi,
does anybody know if it is possible to have a variable delimiter ?
(V5 Broker)
The first part of my message is a fixed string header, containing the delimiter which will be used in the message body.
Any ideas ?
Tx |
|
Back to top |
|
 |
jefflowrey |
Posted: Tue Jan 29, 2008 4:17 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
You can't do this with MRM.
That doesn't mean you can't do it in MB v5 - although MB v5 is going out of support this year, and you should be spending more time migrating your code to v6 than developing new stuff on v5.
What format are your messages? MIME? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
marco |
Posted: Tue Jan 29, 2008 5:47 am Post subject: |
|
|
Apprentice
Joined: 16 Feb 2004 Posts: 46
|
it is a custom (very old) message-format
I have a solution, but I just wanted to know if there was an out-of-the-box thing for this.
I strip the header, check the delimiter and change the delimiter in the message if needed. So I parse the rest of the message with a TDS using the default delimiter. |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 30, 2008 4:25 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Jefflowrey said:
Quote: |
You can't do this with MRM. |
Not exactly, perhaps. However, the TDS parser supports EDI and HL7 formats which do exactly this. It may be possible to exploit that support to accomplish what marco requires.
Marco : please provide an example message, and I will tell you whether the TDS parser will handle it. |
|
Back to top |
|
 |
jefflowrey |
Posted: Wed Jan 30, 2008 4:33 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
So then I should be able to exploit the same mechanism to model MIME in TDS...
Presumably the MIME parser is faster. _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
marco |
Posted: Wed Jan 30, 2008 4:35 am Post subject: |
|
|
Apprentice
Joined: 16 Feb 2004 Posts: 46
|
it is quite complex actually, I'm sure a manual parsing in ESQL will be much less effort the trying to put an MRM together.
But !!!! For academical reasons I will absolutely post the format
first there is a TDS like header which indicates the sender and the receiver and so on. The fixed delimiter is "+"
+data+data+data+data+data+
The second header has a fixed format (9 char) and looks like
0XYZ99999
where
0 should always be the char '0' (zero) (mandatory)
X record delimiter char (mandatory if recordlength is set to zero)
Y field delimiter char (mandatory if recordlength is set to zero)
Z textfield encapsulation char (optional)
99999 recordlength (mandatory if record delimiter is missing)
for records of fixed length
set to zero if delimiters are used
a complete Sample
+data+data+data+data+data+
0#;"00000
1;"test";"AA";"91292391";5;0;"20070925";#
1;"test";"AA";"12345678";25;100;"20070925";#
you can see ... a very nice one ) |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 30, 2008 5:24 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Sorry - you're out of luck. You said
Quote: |
The first part of my message is a fixed string header, containing the delimiter |
...but in fact you have two variable delimiters. WMB supports several standards which contain a 'service string' but they all require a fixed number of delimiters ( and two is not one of those 'fixed numbers' ). If it had been a single delimiter you could have (mis-)used the HL7 Field Separator. I think your your ESQL fix-up offers the best solution. |
|
Back to top |
|
 |
|