Author |
Message
|
scravr |
Posted: Thu Jul 15, 2010 11:36 am Post subject: create cobol and xml msg-sets with mqsicreatemsgdefs |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
I have 2 directoies; one with 3 cbl files and one with 3 xsd files.
1. When runing mqsicreatemsgdefs to create cobol set/definitions, I get errors on a cbl file with "VALUES:
05 MONTH PIC X(10) VALUE 'JUNE'.
05 FILLER PIC X(15) VALUE SPACES.
Same error comesup when changed the mqsicreatemsgdefs.xml file to :
<!-- QUOTE = (SINGLE|DOUBLE) -->
<QUOTE>SINGLE</QUOTE>
<!-- PRESERVE_CASE_IN_VARIABLE_NAMES = (true|false) -->
<PRESERVE_CASE_IN_VARIABLE_NAMES>true</PRESERVE_CASE_IN_VARIABLE_NAMES>
2. When runing mqsicreatemsgdefs to create XML/XSD set/definitions, it runs and completes with no werrors. But on toolkit I see lot of errors
on duplicate type names:
A Message Set can not contain two global element declarations with the same name and namespace (target or chameleon): '#GROUP_MSG_ERROR_GRP'
msg.level1.header.mxsd MS_ACCT_TRAN_PRJ/MS_ACCT_PRJ line 62 Cached Message Set Core Validation Problem
Same errors when changed the mqsicreatemsgdefs.xml file to:
<XSD>
<!-- MSG = (elements|types|both) -->
<!-- Create messages from imported complex global elements, -->
<!-- or from imported global complex types, or both -->
<MSG>both</MSG>
</XSD>
any ideas? |
|
Back to top |
|
 |
fjb_saper |
Posted: Thu Jul 15, 2010 1:42 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
Quote: |
A Message Set can not contain two global element declarations with the same name and namespace (target or chameleon): '#GROUP_MSG_ERROR_GRP'
msg.level1.header.mxsd MS_ACCT_TRAN_PRJ/MS_ACCT_PRJ line 62 Cached Message Set Core Validation Problem |
Which part of this error message did you not understand?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
scravr |
Posted: Fri Jul 16, 2010 5:22 am Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
Beside the Grand Joker:
Anyone knows if it is possible to:
1. Create a msg definition from a COBOL format with the initial VALUES?
2. Create a single msg-set with multiple definitions; while the definition xsd files may have same TYPES? |
|
Back to top |
|
 |
Vitor |
Posted: Fri Jul 16, 2010 5:27 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
scravr wrote: |
Beside the Grand Joker:
Anyone knows if it is possible to:
1. Create a msg definition from a COBOL format with the initial VALUES?
2. Create a single msg-set with multiple definitions; while the definition xsd files may have same TYPES? |
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 16, 2010 5:52 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
scravr wrote: |
Beside the Grand Joker:
Anyone knows if it is possible to:
1. Create a msg definition from a COBOL format with the initial VALUES?
2. Create a single msg-set with multiple definitions; while the definition xsd files may have same TYPES? |
Make sure you only DEFINE the TYPE ONCE with the same name in the same namespace, in the same message set. You can reuse it, as a reference or building block, as many times as you want...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
scravr |
Posted: Fri Jul 16, 2010 6:05 am Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
Diff NS is a great idea...
Whats's about COBOL definition with VALUES 'xyx' or VALUE SPACES? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 16, 2010 6:09 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
scravr wrote: |
Diff NS is a great idea...
What's about COBOL definition with VALUES 'xyx' or VALUE SPACES? |
You should not hit the finish button before having seen the last screen of the import wizard. It allows you to specify null values for the fields but it also allows you use the COBOL VALUE clause to generate a default value for the field or the 88 level VALUES to generate an Enum for the field.
COBOL uses those values to default the fields on a CLEAR statement if my memory serves me well. It is also the value I would expect the field to have if the COBOL is INITIAL returns true...
Not to be confused with 88 Level or 89 Level statements...
Check it out...  _________________ MQ & Broker admin |
|
Back to top |
|
 |
scravr |
Posted: Fri Jul 16, 2010 6:21 am Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
With mqsicreatemsgdefs: How do i bring the VALUES? |
|
Back to top |
|
 |
fjb_saper |
Posted: Fri Jul 16, 2010 6:36 am Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
scravr wrote: |
With mqsicreatemsgdefs: How do i bring the VALUES? |
Don't know. I've always used the wizard to import a copy book.
Too many times I got a copy book that was pre-production and the errors in it were never corrected before I got it...
Have you checked out all the switches available to the mqsicreatemsgdefs command?  _________________ MQ & Broker admin |
|
Back to top |
|
 |
scravr |
Posted: Fri Jul 16, 2010 6:49 am Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
Have more that 1200 cobol copy books !!!
mqsicreatemsgdefs makes more sence.
Change trhe followings:
<!-- QUOTE = (SINGLE|DOUBLE) -->
<QUOTE>SINGLE</QUOTE>
<!-- PRESERVE_CASE_IN_VARIABLE_NAMES = (true|false) -->
<PRESERVE_CASE_IN_VARIABLE_NAMES>true</PRESERVE_CASE_IN_VARIABLE_NAMES> |
|
Back to top |
|
 |
kimbert |
Posted: Fri Jul 16, 2010 1:22 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
|
Back to top |
|
 |
scravr |
Posted: Sun Jul 18, 2010 1:14 pm Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
On my original post I mentioned changes i made to mqsicreatemsgdefs . |
|
Back to top |
|
 |
fjb_saper |
Posted: Sun Jul 18, 2010 4:16 pm Post subject: |
|
|
 Grand High Poobah
Joined: 18 Nov 2003 Posts: 20756 Location: LI,NY
|
scravr wrote: |
On my original post I mentioned changes i made to mqsicreatemsgdefs . |
And I told you, you needed to explore additional options. Check out ALL the options as mentioned in the link Jeff gave you!.  _________________ MQ & Broker admin |
|
Back to top |
|
 |
mqjeff |
Posted: Sun Jul 18, 2010 5:43 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
fjb_saper wrote: |
scravr wrote: |
On my original post I mentioned changes i made to mqsicreatemsgdefs . |
And I told you, you needed to explore additional options. Check out ALL the options as mentioned in the link Jeff gave you!.  |
No, that was not me.
That was kimbert. He's at least a nicer fellow all around, and may perhaps even be better looking. It's a shame about his drinking habits though. |
|
Back to top |
|
 |
scravr |
Posted: Mon Jul 19, 2010 5:37 am Post subject: |
|
|
 Partisan
Joined: 03 Apr 2003 Posts: 391 Location: NY NY USA 10021
|
On WIN XP, I am executing:
mqsicreatemsgdefs -p MS_CMD_VALUE_CBL_PRJ -d C:\WmbMsLoadCBL -data "C:\Documents and Settings\.....\IBM\wmbt70\workspace" -opt H:\Personal\Work\......\mqsicreatemsgdefs.xml -msg -v -rmp -rmd
There are 2 files on C:\WmbMsLoadCBL:
One with 01, 03, 05 levels defined with PIC X and few with PIC S9(0004) USAGE COMP-4.
2nd file has 01, 03, 05 levels with PIC X, PIC 9 and PIC S9(0004) USAGE COMP-4. Few of these fields have VALUEs: SPACES, 'XYZ' and 1 (for numeric).
I run mqsicreatemsgdefs.xml with few combinations with no success !
The first file comeup OK, 2nd file gets errors.
When removing the VALUES on 2nd file, it run OK too.
Errors are like these:
Line No : 1 IGYDS1000-E A "IDENTIFICATION DIVISION" header was not found in this program. It was assumed present.
Line No : 1 IGYDS1003-E A "PROGRAM-ID" paragraph was not found. Program-name "CBLNAM01" was assumed.
Line No : 2 IGYDS1022-E A data-name or file-name definition was found outside of the "DATA DIVISION". Scanning was resumed at the next area "A" item or the start of the next entry. |
|
Back to top |
|
 |
|