Author |
Message
|
whytec |
Posted: Tue Jan 10, 2006 7:27 pm Post subject: SOLVED: Problem with V5 Message Set outputting element name |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
Hi All,
I'm a bit of a noob when it comes to message sets.
I have a TDS (EDIFACT style) message set that I am using to format the output of a message flow. The resulting output message has mostly everything correct except for one particular part of the message where instead of data being displayed, the message set element name is being displayed instead.
This message set was recently exported from V2.1, run through the V5 message set migration script, and imported into V5.
I've checked the element in the message set and am at a loss to what the problem is.
Thanks in advance.
Last edited by whytec on Wed Jan 11, 2006 6:55 pm; edited 1 time in total |
|
Back to top |
|
 |
whytec |
Posted: Tue Jan 10, 2006 8:25 pm Post subject: |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
I should also add that this message set was working fine in v2.1 with exactly the same flow. All I've done is migrate the message set and the flow that uses it using the mqsimigratemsgflows and mqsimigratemsgsets commands.
Should I have used one of the optional parameters with the mqsimigreatemsgsets command? |
|
Back to top |
|
 |
whytec |
Posted: Tue Jan 10, 2006 8:35 pm Post subject: |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
Here is the output that I'm talking about.
UNA:+.? '
UNB+UNOA:3+9313539000009:ZZ+9323528574404:ZZ+060111:1125+++++1++1'
UNH+MsgRefNo+DESADV:D:96A:UN:EAN005'
BGM+351+951047+9'
DTM+137:20050808:102'
DTM+17:20050505:102'
RFF+ON:B674654/0'
DTM+171:20050803:102'
NAD+SU+N/A::Unknown'
NAD+ST+5103::92'
CPS+1'
PAC+1++CT'
CPS+2+1+3'
LIN+1'
ASN_SegmentGroup20+'
CPS+3+2+2'
PAC+1++CT'
PCI+33E'
GIN+BJ+00393135390004206484'
LIN+1++4960999865201:EN'
QTY+12:3'
LIN+1++4960999864846:EN'
QTY+12:3'
CNT+2:3'
UNT+23+MsgRefNo'
UNZ+1+MsgRefNo'
The ASN_SegmentGroup20 (in red) is the actual element name, not data. This element is defined as containing sub-elements and has a local (anonymous) type definition which was created during the migration. |
|
Back to top |
|
 |
elvis_gn |
Posted: Tue Jan 10, 2006 9:20 pm Post subject: |
|
|
 Padawan
Joined: 08 Oct 2004 Posts: 1905 Location: Dubai
|
Hi whytec,
Are u using namespaces ? Is the complex type referenced from some other definition.
Is the Type definition supposed to be "anonymous" ? If you finnd the correct complex type definition in the Types, can u reference that to this element.
Are u coding or just mapping ? If coding could we see the ESQL.
Regards. |
|
Back to top |
|
 |
whytec |
Posted: Tue Jan 10, 2006 10:19 pm Post subject: |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
Namespaces are not being used.
The migration script made the type definition "anonymous" and this has happened with all complex types in the message set, and the rest of them are working ok.
A complex type definition does not exist for this complex type in the Types. It exists under the complex type setup for the message. So in the Types it has a local complex type of "anonymous".
I'm not using a mapping node, just coding via ESQL. This code was migrated from version 2.1 using the migration script. The actual code is extremely long (around 850 lines long), so here's a snippet of some of the code.
-- snippet from declaration
DECLARE REF_OUT REFERENCE TO "OutputRoot"."MRM";
-- snippet from REF_OUT move. OUT_ITEM_IDX is controlled by a counter.
MOVE REF_OUT TO OutputRoot."MRM"."ASNItem"[OUT_ITEM_IDX];
-- snippet from the actual assignment code
SET SEGMENTCTR = SEGMENTCTR + 1;
SET REF_OUT."ASN_SegmentGroup17"."LIN_LineItem"."LineItemIdentifier" = '1';
SET CTN_LIN_CTR = CTN_LIN_CTR + 1;
SET SEGMENTCTR = SEGMENTCTR + 1;
SET REF_OUT."ASN_SegmentGroup17"."ASN_SegmentGroup20"."LOC_PlaceLocationIdent"."LocationFunctionCodeQualf" = '7';
SET REF_OUT."ASN_SegmentGroup17"."ASN_SegmentGroup20"."LOC_PlaceLocationIdent"."LocationIdentification"."LocationNameCode" = NEW_STORE_ID;
SET REF_OUT."ASN_SegmentGroup17"."ASN_SegmentGroup20"."LOC_PlaceLocationIdent"."LocationIdentification"."CodeListResponsibleAgency" = '92';
The SEGMENTCTR and CTN_LIN_CTR variables don't have much to do with this part of the code. They are used later for creating the UNT section of the document. |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 11, 2006 1:31 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Looks very strange. Can you take a trace of the message tree just before the message gets written, and post the output here. |
|
Back to top |
|
 |
whytec |
Posted: Wed Jan 11, 2006 12:54 pm Post subject: |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
OK... will do. Just tracing the ${Root} fine enough? |
|
Back to top |
|
 |
kimbert |
Posted: Wed Jan 11, 2006 2:32 pm Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
Yes - {$Root} will be fine |
|
Back to top |
|
 |
whytec |
Posted: Wed Jan 11, 2006 3:45 pm Post subject: |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
Here's a snippet of the message tree just before it's output to a queue. This is the entire body of the output message (MRM section) minus the Properties, MQMD and MQRFH2 sections. I've highlighted the troublesome section in blue.
(0x01000021):MRM = (
(0x01000000):ServiceStringAdvice = (
(0x03000000):ServiceString = ':+.?'
)
(0x01000000):UNB_InterchangeHeader = (
(0x01000000):SyntaxIdentifier = (
(0x03000000):Version = 'UNOA'
(0x03000000):Identifier = '3'
)
(0x01000000):InterchangeSender = (
(0x03000000):InterchangeSenderIdentification = '9313539000009'
(0x03000000):IdentificationCodeQualifier = 'ZZ'
)
(0x01000000):InterchangeRecipient = (
(0x03000000):InterchangeRecipientIdentification = '9323528574404'
(0x03000000):IdentificationCodeQualifier = 'ZZ'
)
(0x01000000):DateAndTimeOfPrepartion = (
(0x03000000):Date = '060112'
(0x03000000):Time = '0930'
)
(0x03000000):AcknowledgmentRequest = '1'
(0x03000000):TestIndicator = '1'
)
(0x01000000):ASNHeader = (
(0x01000000):UNH_MessageHeader = (
(0x03000000):MessageReferenceNumber = 'MsgRefNo'
(0x03000000):MessageTypeIdentifier = 'DESADV'
(0x03000000):MessageTypeVersionNumber = 'D'
(0x03000000):MessageTypeReleaseNumber = '96A'
(0x03000000):ControllingAgency = 'UN'
(0x03000000):contact admin = 'EAN005'
)
(0x01000000):BGM_BeginningOfMessage = (
(0x01000000):DocumentMessageName = (
(0x03000000):DocumentMessageNameCode = '351'
)
(0x01000000):DocumentIdentification = (
(0x03000000):DocumentIdentifier = '951047'
)
(0x03000000):MessageFunction = '9'
)
(0x01000000):DTM_DateTime = (
(0x01000000):DateTimePeriodElement = (
(0x03000000):DateTimePeriodQualifier = '137'
(0x03000000):DateTimePeriodValue = '20050808'
(0x03000000):DateTimePeriodFormatQualifier = '102'
)
)
(0x01000000):DTM_DateTime = (
(0x01000000):DateTimePeriodElement = (
(0x03000000):DateTimePeriodQualifier = '17'
(0x03000000):DateTimePeriodValue = '20050505'
(0x03000000):DateTimePeriodFormatQualifier = '102'
)
)
(0x01000000):ASN_SegmentGroup1 = (
(0x01000000):RFF_Reference = (
(0x03000000):ReferenceCodeQualf = 'ON'
(0x03000000):ReferenceIdent = 'B674654/0'
)
(0x01000000):DTM_DateTime = (
(0x01000000):DateTimePeriodElement = (
(0x03000000):DateTimePeriodQualifier = '171'
(0x03000000):DateTimePeriodValue = '20050803'
(0x03000000):DateTimePeriodFormatQualifier = '102'
)
)
)
(0x01000000):ASN_SegmentGroup2 = (
(0x01000000):NAD_PartyNameAddress = (
(0x03000000):PartyFunctionCodeQualf = 'SU'
(0x01000000):PartyIdentificationDetails = (
(0x03000000):PartyIdent = 'N/A'
(0x03000000):CodeListResponsibleAgency = 'Unknown'
)
)
(0x01000000):NAD_PartyNameAddress = (
(0x03000000):PartyFunctionCodeQualf = 'ST'
(0x01000000):PartyIdentificationDetails = (
(0x03000000):PartyIdent = '5103'
(0x03000000):CodeListResponsibleAgency = '92'
)
)
)
)
(0x01000000):ASNItem = (
(0x01000000):CPS_ConsignmentPackingSequence = (
(0x03000000):HierarchicalStructureLevelIdentifier = '1'
)
(0x01000000):ASN_SegmentGroup11 = (
(0x01000000):PAC_Package = (
(0x03000000):PackageQuantity = '1'
(0x01000000):PackageType = (
(0x03000000):PackageTypeDescCode = 'CT'
)
)
)
)
(0x01000000):ASNItem = (
(0x01000000):CPS_ConsignmentPackingSequence = (
(0x03000000):HierarchicalStructureLevelIdentifier = 2
(0x03000000):HierarchicalStructureParentIdentifier = '1'
(0x03000000):PackagingLevelCode = '3'
)
(0x01000000):ASN_SegmentGroup17 = (
(0x01000000):LIN_LineItem = (
(0x03000000):LineItemIdentifier = '1'
)
(0x01000000):ASN_SegmentGroup20 = (
(0x01000000):LOC_PlaceLocationIdent = (
(0x03000000):LocationFunctionCodeQualf = '7'
(0x01000000):LocationIdentification = (
(0x03000000):LocationNameCode = '5103'
(0x03000000):CodeListResponsibleAgency = '92'
)
)
)
)
)
(0x01000000):ASNItem = (
(0x01000000):CPS_ConsignmentPackingSequence = (
(0x03000000):HierarchicalStructureLevelIdentifier = 3
(0x03000000):HierarchicalStructureParentIdentifier = '2'
(0x03000000):PackagingLevelCode = '2'
)
(0x01000000):ASN_SegmentGroup11 = (
(0x01000000):PAC_Package = (
(0x03000000):PackageQuantity = '1'
(0x01000000):PackageType = (
(0x03000000):PackageTypeDescCode = 'CT'
)
)
(0x01000000):ASN_SegmentGroup13 = (
(0x01000000):PCI_PackageIdentification = (
(0x03000000):MarkingInstructionsCode = '33E'
)
(0x01000000):ASN_SegmentGroup15 = (
(0x01000000):GIN_GoodsIdentityNumber = (
(0x03000000):ObjectIdentificationCodeQualifier = 'BJ'
(0x01000000):IdentityNumberRange = (
(0x03000000):ObjectIdentifier = '00393135390004206484'
)
)
)
)
)
(0x01000000):ASN_SegmentGroup17 = (
(0x01000000):LIN_LineItem = (
(0x03000000):LineItemIdentifier = '1'
(0x01000000):ItemNumberIdentification = (
(0x03000000):ItemIdentifier = '4960999865201'
(0x03000000):ItemTypeIdentificationCode = 'EN'
)
)
(0x01000000):QTY_Quantity = (
(0x01000000):QuantityDetails = (
(0x03000000):QuantityTypeCodeQualf = '12'
(0x03000000):Quantity = '3'
)
)
)
)
(0x01000000):ASNItem = (
(0x01000000):ASN_SegmentGroup17 = (
(0x01000000):LIN_LineItem = (
(0x03000000):LineItemIdentifier = '1'
(0x01000000):ItemNumberIdentification = (
(0x03000000):ItemIdentifier = '4960999864846'
(0x03000000):ItemTypeIdentificationCode = 'EN'
)
)
(0x01000000):QTY_Quantity = (
(0x01000000):QuantityDetails = (
(0x03000000):QuantityTypeCodeQualf = '12'
(0x03000000):Quantity = '3'
)
)
)
)
(0x01000000):ASNSummary = (
(0x01000000):CNT_ControlTotal = (
(0x01000000):CONTROL = (
(0x03000000):ControlTotalTypeCodeQualifier = '2'
(0x03000000):ControlTotalValue = 3
)
)
(0x01000000):UNT_MessageTrailer = (
(0x03000000):NumberOfSegmentsInMessage = 23
(0x03000000):MessageReferenceNumber = 'MsgRefNo'
)
)
(0x01000000):UNZ_InterchangeTrailer = (
(0x03000000):InterchangeControlCount = '1'
(0x03000000):InterchangeControlReference = 'MsgRefNo'
)
)
) |
|
Back to top |
|
 |
whytec |
Posted: Wed Jan 11, 2006 6:54 pm Post subject: SOLVED: Problem with V5 Message Set outputting element name |
|
|
 Apprentice
Joined: 28 Nov 2005 Posts: 26 Location: Brisbane Australia
|
I managed to solve the problem . I ran the original 2.1 message set through the mqsimigratemsgsets script again, but this time I used the -g option, which created all global complex types and elements. This got rid of all the "Anonymous" local types held with the message. Maybe this is a bug with local complex types or we had something quirky in our 2.1 message set.
Anyway... thanks to elvis_gn and kimbert for trying to help me out  |
|
Back to top |
|
 |
|