Author |
Message
|
rdx |
Posted: Mon Jul 25, 2005 6:38 am Post subject: numeric values messageset |
|
|
Novice
Joined: 21 Dec 2004 Posts: 21
|
Hi all,
I have a message comming with all the fields seprated by comma,I have created a TDS message set. the CSV(COMMA SEPRATED VALUES) contain different data types (ex string ,integer, float) with specific length's associated with it, If the input message is not in the correct format(if the length(of an element) is more than specified(suppose the element is an integer with a maximum length of 6 and i get a element whoes length is more than 6) I have to regect the incomming message.
For this I have created tds message set(all elements delimited by a comma) and assigined the required length's and type to the elements,but when i put the message on the input queue the message is not getting regected(for example if the assigining the length of the first element as 6 which is an integer and passing an message whoes first element is of length is 10 the message is not getting regected)
Thanks in advance |
|
Back to top |
|
 |
jefflowrey |
Posted: Mon Jul 25, 2005 6:40 am Post subject: |
|
|
Grand Poobah
Joined: 16 Oct 2002 Posts: 19981
|
Did you instruct the message flow to validate the data? _________________ I am *not* the model of the modern major general. |
|
Back to top |
|
 |
rdx |
Posted: Mon Jul 25, 2005 6:55 am Post subject: |
|
|
Novice
Joined: 21 Dec 2004 Posts: 21
|
Hi jefflowrey,
Thanks for the reply i have instructed the message flow to validate the data but still the message set is not regecting it.
Thanks |
|
Back to top |
|
 |
Ramphart |
Posted: Mon Jul 25, 2005 11:33 pm Post subject: |
|
|
 Disciple
Joined: 21 Jul 2004 Posts: 150 Location: South Africa, JHB
|
Not ALL value constraints works with ALL Physical Formats when validating. I know that MaxVal is one of those thats NOT USED in validation when using TDS CSV format. _________________ Applications Architect |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jul 26, 2005 1:13 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Ramphart:
Value Constraints are a part of the logical model, so they do not depend on the physical format. I don't know what you mean by 'MaxVal', but I do know that the MRM value validation logic handles maxInclusive value constraints without any problem.
rdx:
You are getting confused between the logical model and the physical format. In your example, the length of 6 characters is a physical property which instructs the TDS parser to extract the correct number of bytes from the input buffer. This length is not a value constraint and will not be validated. If you want your values to be validated, you need to add value constraints to your logical model.
If you really want to validate the length (as opposed to the value) of an integer field, you can
- model it as a string (xsd:string) and add a maxLength value constraint. If you do this, the field will be created as a string in the tree
- model is as a decimal (xsd:decimal) and add a 'total digits' value constraint to the simple type.
- leave it as an integer (xsd:integer) and add a maxInclusive value constraint which limits it to a maximum of 999999.
It's up to you. |
|
Back to top |
|
 |
Ramphart |
Posted: Tue Jul 26, 2005 3:46 am Post subject: |
|
|
 Disciple
Joined: 21 Jul 2004 Posts: 150 Location: South Africa, JHB
|
you are correct kimbert. Max Length is enforced. I was a bit hasty in my reply. I know some are not enforced by the broker though. Here's an extract from the manual:
Code: |
-Value constraints of Null Permitted and Default Value are used by the broker, Max Length is enforced by the broker. The remaining value constraints are not enforced by the broker. They are for documentation purposes only. |
_________________ Applications Architect |
|
Back to top |
|
 |
kimbert |
Posted: Tue Jul 26, 2005 6:02 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Ramphart: Your quote must be from a very old manual (pre 2.1 CSD2).
The behaviour described in that quote only applies when validation is disabled in the message flow. When validation is enabled, almost all Value Constraints are applied. |
|
Back to top |
|
 |
rdx |
Posted: Tue Jul 26, 2005 6:12 am Post subject: |
|
|
Novice
Joined: 21 Dec 2004 Posts: 21
|
Hi all ,
Thanks for the replies to solve this particular problem. i have created simple types (like decimal and integer) and added 'total digits' value constraint and it works thanks again for the help. |
|
Back to top |
|
 |
|