Author |
Message
|
lequimm |
Posted: Wed Sep 28, 2005 12:59 am Post subject: CWF default values for missing elements |
|
|
Apprentice
Joined: 18 Aug 2005 Posts: 26
|
Dear all,
I have the following problem:
I have modelled a message that has a CWF physical representation.
When I add the message into a bar file, there is the following warning:
CWF format "CWF1" uses "Output Policy For Missing Elements" set to a value other than "UseDefaultValue".
This option is not supported by brokers earlier than the version 5 CSD 4.
However in the physical properties "CWF1" in the file "messageSet.mset", there is a section "Output Settings" and within a field "Policy For Missing Elements".
This field is set to "Use Default Value" !!!
So the message set adding to the bar file acts as it doesn't take into account this parameter ! Is it a bug?
And in fact when i test my flow, if a element is missing in the MRM the broker throw an exception (the element has a default value defined in his logical properties).
Here is the configuration of my toolkit: I have the WSADIE 5.1 and i have installed the CSD05:
Version: 5.1.5
Build id: 20050513_1127 |
|
Back to top |
|
 |
kimbert |
Posted: Wed Sep 28, 2005 2:20 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
This sounds like a defect. You should raise a PMR. |
|
Back to top |
|
 |
Sandman |
Posted: Thu Feb 08, 2007 7:23 am Post subject: I searched this forum & read the manuals, but still have |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
In order to get the Broker to create fields that I haven't coded, must I have specified a Default Value in the Logical Properties/Local Element section for each and every field? Is there no way to set this at the message set level or to tell the Importer to do it when I imported the copybooks (which is too late now that I've modeled everything).
If I want spaces for my text elements, do I have to physically/manually go into each element's Default Value field and hit the space bar? The fact that Default is selected (by "default") and that the field next to it has nothing in it doesn't mean "blanks"?
Thank you. |
|
Back to top |
|
 |
kimbert |
Posted: Thu Feb 08, 2007 8:06 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Quote: |
must I have specified a Default Value in the Logical Properties/Local Element section for each and every field? |
Yes. But I don't blame you for enquiring. |
|
Back to top |
|
 |
Sandman |
Posted: Thu Feb 08, 2007 8:08 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
So, seeing that I didn't find this before importing:
Code: |
Create default values from INITIAL VALUEs
If you want to create default values from the initial values, select the Create default values from INITIAL VALUES check box. |
Do I now have to go into each Default Value field that I want default of spaces and press the space bar once? Or is there a way to "retroactively" apply this?
Thank you. |
|
Back to top |
|
 |
kimbert |
Posted: Thu Feb 08, 2007 2:26 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
It's a feature of the importer. Once imported, the message set does not maintain any link with the original COBOL copybook. So there's no way to retrospectively apply that setting.
Any reason why you cannot simply re-import the copybook? |
|
Back to top |
|
 |
Sandman |
Posted: Fri Feb 09, 2007 4:50 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
I'd rather not reimport the copybook because I've tweaked the message set a bit after importing.
So I went back into each field in each message def and pressed the space bar once in the Default Value field. But I still don't get the right output message. Do I have to insert a number of spaces = each field length or should 1 be sufficient?
Thank you again. |
|
Back to top |
|
 |
Sandman |
Posted: Fri Feb 09, 2007 7:19 am Post subject: |
|
|
Centurion
Joined: 16 Oct 2001 Posts: 134 Location: Lincoln, RI
|
Ok, so as far as I can tell, I shouldn't have to insert an = number of spaces to match each field's length. I imported a new copybook that did have a VALUES clause - PIC X(3) - and in the message def it showed just a single space as the default.
Is there a different behavior regarding default values for multipart messages? |
|
Back to top |
|
 |
kimbert |
Posted: Fri Feb 09, 2007 2:21 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Hi Sandman,
In theory you need to specify 3 spaces for a 3-character field. However, if you specify a single space for the default and set the padding character to a space character, you should get the result you need.
Before you ask, I've no idea why the COBOL importer only imported a single space for the PIC-X(3) default value. Maybe it also set the padding character to space?
Quote: |
Is there a different behavior regarding default values for multipart messages? |
No |
|
Back to top |
|
 |
fjb_saper |
Posted: Sat Feb 10, 2007 7:41 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
When using the Cobol import wizard make sure you do not press Finish until it is the only choice left.
There are at least 2 more screens of importance.
They include the compiler (use the value for the platform the broker is running on-- not the platform the cobol copy book gets compiled on).
They include encoding for numeric values (big/little endian etc..)
They include defaults for text and numeric values....
Default behavior for level 88 etc...
Enjoy  _________________ MQ & Broker admin |
|
Back to top |
|
 |
ak |
Posted: Tue Nov 13, 2007 1:08 am Post subject: "Create default values from INITIAL VALUEs" |
|
|
Apprentice
Joined: 07 Aug 2006 Posts: 48 Location: England
|
Sorry guys - all that was suggested on this thread does not seem to work for me any ideas why?
I imported a cobol copybook with extension .ccp - and all fields have are initialised using the VALUE clause.e.g
01 Fixed
03 MsgId PIC X(3) VALUE 'ABC'
03 Type PIC X(4) VALUE SPACES
03 ID PIC 9( VALUE ZEROS
When I check the "Create default values from INITIAL VALUEs". It creates the message definition file but without the default values displayed in the logical properties.  |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Nov 13, 2007 10:48 am Post subject: Re: "Create default values from INITIAL VALUEs" |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ak wrote: |
Sorry guys - all that was suggested on this thread does not seem to work for me any ideas why?
I imported a cobol copybook with extension .ccp - and all fields have are initialised using the VALUE clause.e.g
01 Fixed
03 MsgId PIC X(3) VALUE 'ABC'
03 Type PIC X(4) VALUE SPACES
03 ID PIC 9( VALUE ZEROS
When I check the "Create default values from INITIAL VALUEs". It creates the message definition file but without the default values displayed in the logical properties.  |
I don't think we ever used ccp as extension ... Try cpy and if that does not work cbl.... _________________ MQ & Broker admin |
|
Back to top |
|
 |
ak |
Posted: Tue Nov 13, 2007 10:59 am Post subject: |
|
|
Apprentice
Joined: 07 Aug 2006 Posts: 48 Location: England
|
thanks I will try using a different file extension - but did you really get this concept of setting default values working! |
|
Back to top |
|
 |
fjb_saper |
Posted: Tue Nov 13, 2007 11:03 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
ak wrote: |
thanks I will try using a different file extension - but did you really get this concept of setting default values working! |
No problem. As I said previously you need to go through all screens on the wizard and I believe the defaults for the import operation are on the 3rd or 4th screen...
Also make sure you use nill literal value set to space AND padding set to space.... and in your output tree all elements need to be present even though they may have a null VALUE (set elt VALUE = null;)
 _________________ MQ & Broker admin |
|
Back to top |
|
 |
|