Posted: Wed Jul 02, 2003 12:42 am Post subject: How to generate an IDOC?!?!
Novice
Joined: 06 Nov 2001 Posts: 17
Hi I am trying to generate an IDOC as output of my MsgFlow. I followed the support pack ia0f: I imported into an MRM a C header corrisponding to the structure of the IDOC I'd like to produce. I can generate the control structure of the IDoc the DC, but I cannot generate the DD structure. This is part of the code that I use tu create the IDOC:
Code:
...
SET "OutputRoot"."IDOC"."DC"."arckey" = '';
SET "OutputRoot"."IDOC"."DC"."serial" = '';
SET OutputRoot.IDOC.DD[1].segnam = 'Z2PU25000';
SET OutputRoot.IDOC.DD[1].mandt2 = '111';
SET OutputRoot.IDOC.DD[1].docnum2 = '9999999999999111';
SET OutputRoot.IDOC.DD[1].segnum = '111000';
SET OutputRoot.IDOC.DD[1].psgnum = '000111';
SET OutputRoot.IDOC.DD[1].hlevel = '11';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."idflusso" = 'A';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."dtaflu" = 'B';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."oraflu" = 'C';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."parte" = 'D';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."foram" = 'E';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."plant" = 'F';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."dtadec" = 'G';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."perfor" = 'H';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."quota" = 'I';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."areaprod" = 'L';
SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."pad927" = '';
I verified that the code I wrote works if I omit the lines that actually papulate the data (es. SET OutputRoot.IDOC.DD[1].sdatatag."MRM"."idflusso" = 'A').
This is the message error that I get:
Code:
( MQSI_SAMPLE_BROKER.default ) Message Translation Interface Writing Errors have occurred:
Message Set Name : ''
Message Set Level : '0'
Message Format : 'CWF'
Message Type Path : 'Z2PU25000'
Review further error messages for an indication to the cause of the errors.
( MQSI_SAMPLE_BROKER.default ) No Physical Format layer with Wire Format Identifier 'CWF' in message set.
Each Physical Format layer in a message set is identified by a Wire Format Identifier (WFI).
The CWF parser or writer could not find any Physical Format with the specified WFI in this message set.
Wire Format Identifiers identify the physical format information for an MRM Message Set. They are created and stored in a database when the Message Set is deployed. A WFI for Wire Format CWF could not be found in the database, which means that the Message Set identifier specified for the message does not match any physical format layer in the message set.
See previous messages for details of the Message Set and Wire Format Identifier
Check that the Message Set Identifier specified for the message is correct. Check that the message set contains a physical format layer with a WFI of 'CWF'. Check that the message set deployed successfully.
What am I missing? My client is pushing me a lot I really neet to find out a solution.
I solved the problem!!! I had to insert the following lines:
Code:
SET OutputRoot.Properties.MessageSet = 'DU0BVM8072001';
SET OutputRoot.Properties.MessageType = 'Z2PU25000';
that can be generated automatically by checking the CheckBox "Use as message body". It might be only me, but I had some problem to find out that "MessageType" is the Message Identifyer and not the "Type Identifyer".
In a line that I did not report in my previous message I had to write this:
Code:
SET OutputRoot.IDOC.DD[1].segnam = 'Z2PU25000';
Note that the value is the "MessageType".
I hope this will help somebody else.
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum