Doubt on Content Conversion
Hi All,
I am new to XI.I need some clarifications on content Conversion ASAP.In my input Flat file i have four fields and the format of input file looks like FirstnameLastnameAddress*Email where * is the delimiter seperating fields.But my output Flat file should be as "Firstname","Lastname" where every field should be in double quotes and * should be replaced with , truncating last two fields namely address and email.How is this Possible.Can you please explain every step in Detail starting from Data type and also specifying conversion parameters.
Thanks in Advance
Dinakar
Dinakar,
Please find the below strucure and config needs to be done.
Input Data type.
DT_Input
Root <b>1</b>
Details <b>1..Unbounded</b>
Fname <b>1</b>
Lname <b>1</b>
Address<b> 1</b>
EMail <b>1</b>
DT_Output
Root <b>1</b>
Details <b>1..Unbounded</b>
Fname <b>1</b>
Lname <b>1</b>
Use Mapping Program and Map Details , Fname,Lname alone. Don't map Address and EMail. Also use the logic for adding "Fname" & "Lname" in your mapping program.
I think rest of the design parts u can manage.
<b>Config:</b>
<b>Sender Comm.Channel</b>
Document Name : MT_Input (Your Message type name)
Document namespace : urn:yournamespace
Recordset Name : Root
Recordset Structure : Details,*
Recordset per Message : *
<b>Parameters</b>
Details.fieldNames : Fname,Lname,Address,EMail
Details.fieldSeparator: *
Details.endSeparator: 'nl'
<b>Receiver Comm.Channel</b>
Recordset Structure : Root,Details
Details.fieldSeparator : ,
Details.endSeparator : 'nl'
Root.fieldSeparator : 'nl'
The above config is working fine. I checked and suggesting you the same.
I hope it helps.
Best regards,
raj.
Similar Messages
-
Hi experts
I have the following input format be converted in the sender file adapter
'ubn09748298:jui6878huh:psdhi0087'ubr87457:pod+1783'
to
<row>ubn09748298:jui6878huh:psd+hi0087</row>
<row>ubr87457:pod1783</row>
i.e <u><b>'</b></u> should be the field seperator
Thanks in advance
regards
saravananSaravana,
Apply the foll. parameters in Sender channel.
Document Name: Your Message type name(Outbound)
Document namespace: Mess.Type namespace.
Recordset Name: Records
Recordset Structure:Rows,*
Name Value
Rows.fieldNames Field1,Field2
Rows.fieldSeparator '
Rows.endSeparator 'nl'
Input :
'ubn09748298:jui6878huh:psdhi0087'ubr87457:pod+1783'
Output :
<Records>
<Rows>
<Field1>ubn09748298:jui6878huh:psd+hi0087</Field1>
<Field2>ubr87457:pod1783</Field2>
</Rows>
</Records>
Best regards,
raj. -
Hi Experts
I need to do content conversion in the sender file adapter for the following Data type
Dt_Details
> X
>Y (Subelement of X)
>Z (Subelement of Y)
> A
>B
>C
My doubt is that is it possible to to do content conversion for a structure that has a three level hireachy as given
Thanks in advanceHi
If the the fieldseperator and end seperator parameter is '. How can i give it in the FCC.
Ex. if the incoming data is like
'IBNRNDA:84580505257068:247780507126723:24878508:0377DX6148900656328HI'IBR18+ASDE05:P:895F:58W:GASMI'
AND IT SHOULD BE SPILLED AT THE ' AS
IBNRNDA:84580505257068:247780507126723:24878508:0377DX6148900656328+HI
AND
IBR18ASDE05:P:895F:58W:GASMI
IN THE xml what should i do...?
Thanks in advance -
Doubt regarding Sender adapter file content conversion to RFC
Hi Experts,
Below is the my Source and Target XML structure ( i have creaated source structure same as target RFC structure), This scenario is working fine when i give XML file as input. File -> XI -> RFC , xml file is able to update the information in R3.
How should i configure sender file adapter for file content conversion for above structure(in this case input is fixed lenth text), and i could able to change source structure according to our req, without changing target RFC strucuture.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_HSA_IDNumber xmlns:ns0="urn:passhe.com/UpdateIdNumberISA32">
<COMMIT_I>X</COMMIT_I>
<IDENTIFICATION>
<STUDENT>6500001191</STUDENT>
<ID_TYPE>FS0030</ID_TYPE>
<ID_NUMBER>testxml</ID_NUMBER>
<VALID_FROM>20070421</VALID_FROM>
<VALID_TO>20091231</VALID_TO>
</IDENTIFICATION>
</ns0:MT_HSA_IDNumber>
I have configured sender file adapter with FCC like :
Document name as: MT_HSA_IDNumber
Document name space as: urn:passhe.com/UpdateIdNumberISA32
Record structure as: COMMIT_I,1,IDENTIFICATION,1
COMMIT_I.fieldNames : COMMIT_I
COMMIT_I.fieldFixedlengths: 1
IDENTIFICATION.fieldNames: STUDENT,ID_TYPE,ID_NUMBER,VALID_FROM,VALID_TO
IDENTIFICATION.fieldFixedlengths: 12,6,60,8,8
i am getting error like this: even when i change source structure like below metioned:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_HSA_IDNumber xmlns:ns0="urn:passhe.com/UpdateIdNumberISA32">
<COMMIT>
<COMMIT_I>X</COMMIT_I>
</COMMIT>
<IDENTIFICATION>
<STUDENT>6500001191</STUDENT>
<ID_TYPE>FS0030</ID_TYPE>
<ID_NUMBER>idnumber1</ID_NUMBER>
<VALID_FROM>20070421</VALID_FROM>
<VALID_TO>20091231</VALID_TO>
</IDENTIFICATION>
</ns0:MT_HSA_IDNumber>
Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: Parameter 'COMMIT_I.fieldFixedLengths' or 'COMMIT_I.fieldSeparator' is missing Consistency check: no. of arguments in 'COMMIT_I.fieldFixedLength' does not match 'COMMIT_I.fieldNames' (0 <> 1)
Please help me out
thanks
dhanushHi Dhanush,
Try giving the Sender FCC this way for the source structure you have mentioned above.
Record structure as: COMMIT,1,IDENTIFICATION,1
COMMIT.fieldNames : COMMIT_I
COMMIT.fieldFixedlengths: 1
Hope this helps.
Thanks and Regards,
Induja -
Doubt regarding Recever file adapter file content conversion (FCC)
Hi Expetrts, below is the my target structure.
<?xml version="1.0" encoding="TF-8"?>
<ns1:MT_StatusChange xmlns:ns1="urn:passhe.com/ChangeOfStatusISA26">
<IV_ST_OBJID>65390091</IV_ST_OBJID>
<IV_BEGDA>25082008</IV_BEGDA>
<LT_STUDENT_STATUS>
<item>
<HS_CAMPUS>65</HS_CAMPUS>
<STOBJID>65390091</STOBJID>
<STUDENT12>michal</STUDENT12>
<HS_STATUS>MISC</HS_STATUS>
<item>
<LT_STUDENT_STATUS>
</ns1:MT_StatusChange>
How to configure in File Content Conversion Recever File Adapter for above target structure. i have done as below, but i am getting error. please correct me where i did mistake.
Recordset Structure : IV_ST_OBJID,IV_BEGDA,LT_STUDENT_STATUS,item
IV_ST_OBJID.fieldNames : IV_ST_OBJID -> for this field there is no subfield
IV_ST_OBJID.fieldSeparator: , (comma)
IV_BEGDA.fieldNames : IV_BEGDA -> for this field there is no subfield
IV_BEGDA.fieldSeparator: , (comma)
LT_STUDENT_STATUS.fieldNames : HS_CAMPUS,STOBJID,STUDENT12,HS_STATUS
LT_STUDENT_STATUS.fieldSeparator: 'nl'
item.fieldNames : HS_CAMPUS,STOBJID,STUDENT12,HS_STATUS
item.fieldSeparator: , (comma)
I am getting below error:
'Conversion configuration error: Unknown structure 'ns1:MT_StatusChange' found in document', probably configuration error in file adapter (XML parser error)'
Thanks
Dhanush.Hi Dhanush,
It is better always if u have a structure with Header and trailers if u have a subsrtuctures in it & always try make it in this format:
<?xml version="1.0" encoding="UTF-8"?>
<MT_ContentConversion_Test>
<Header>
<F1>HF1</F1>
<F2>HF2</F2>
</Header>
<Item>
<F1>IF1</F1>
<F2>IF2</F2>
<Item>
<Trailer>
<F1>TF1</F1>
<F2>TF2</F2>
</Trailer>
</ns0:MT_ContentConversion_Test>
Try to go through this blog it will be very helpful to u :
/people/shabarish.vijayakumar/blog/2007/08/03/file-adapter-receiver--are-we-really-sure-about-the-concepts
Regards,
Vinod. -
Doubt regarding sender file content conversion
Hi Experts
This is my source XML structure, how to define Sender file adapter (Content Conversion) and filed lenths: COMMIT_I 1, STUDENT 12, ID_TYPE 6, ID_NUMBER 60, VALID_FROM 8,VALID_TO 8
<?xml version="1.0" encoding="UTF-8"?>
<ns0:IDENTIFICATION_ADD_Req_MT xmlns:ns0="urn:passhe.com/UpdateIdNumberISA32">
<COMMIT_I>X</COMMIT_I>
<IDENTIFICATION>
<STUDENT>Student</STUDENT>
<ID_TYPE>New</ID_TYPE>
<ID_NUMBER>12345</ID_NUMBER>
<VALID_FROM>12/03/2008</VALID_FROM>
<VALID_TO>13/04/2008</VALID_TO>
</IDENTIFICATION>
</ns0:IDENTIFICATION_ADD_Req_MT>
Please suggest me how to configure Sender file content conversion
Thanks
Dhanush.hi sekhar,
Just go through this blogs & links.
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
reward points if found helpfull
regards
chandra.k -
Doubt regarding file content conversion Recever File adapter.
target structure.
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_ChangeOfAddress xmlns:ns1="urn:passhe.com/ChangeOfAddressISA28">
<BUSINESS_PARTNER>
<item>
<CAMPUSCODE>65</CAMPUSCODE>
<STUDENTNUMBER>6500000192</STUDENTNUMBER>
<ST_OBJID>732298498</ST_OBJID>
</item>
</BUSINESS_PARTNER>
</ns1:MT_ChangeOfAddress>
target structure is look like this.
MT_ChangeOfAddress
BUSINESS_PARTNER (1,1)
item (0 to unbounded)
CAMPUSCODE (0,1)
STUDENTNUMBER (0,1)
ST_OBJID (0,1)
I have given below parameters in recever file adapter (file content conversion)
Recordset Structure : item
item.fieldNames : CAMPUSCODE,STUDENTNUMBER,ST_OBJID
item.fieldSeparator: , (comma)
i am getting first two digits in my output file: that file has only first two digits that is : 65
may i know how hould i define file contente conversion recever adapter to get proper data in file adapter.
thanks,s
DhanushHi,
Go through these blogs:
/people/venkat.donela/blog/2005/03/02/introduction-to-simplefile-xi-filescenario-and-complete-walk-through-for-starterspart1
/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/shabarish.vijayakumar/blog/2005/08/17/nab-the-tab-file-adapter
/people/jeyakumar.muthu2/blog/2005/11/29/file-content-conversion-for-unequal-number-of-columns
/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
/people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion
Thanks,
Satya -
Doubt in jms content conversion
Hi ,
I m doing content conversion in sender jms channel.
My input is of the format
AAAAAAA#bbbbbbb#ccccccc#
I want to map it to XML Structure
<Root>
<Record>
<item>AAAAA </item>
</Record>
<Record>
<item>bbbbb</item>
</Record>
<Record>
<item>CCCC</item>
</Record>
</Root>
Is it possible?Resolved
-
Content Conversion in sender channel
Hi,
I am having file to proxy scenario. Input file is a .txt file, which is having this type of data
111111 0000000 AAAAAAAA BBBBBBBBBBBBBBBBBBBB
222222222222222 CCCCCCCCCCCC 1111111111111111111112222
I want to pick this file from FTP and put all the content of txt file in one single field of data type.What content conversion parameters needs to be set in this case.
Thanks.Hi Pothana,
Thanks for your efforts.I have one doubt here.As you said that we can do this in mapping.but if I want to try this in mapping, the input payload tags must have the spaces at the start of the tag.But my problem is I am not able to read that spaces from text file itself.e.g. if my i/p txt file is
AAAAA BBBBBBBBBBBB
CCCCCCCCCCCC DDDDDD
1111111111111111 22222
the i/p payload in moni looks like this
<Record>
<Content>AAAAA BBBBBBBBBBBB</Content>
</Record>
<Record>
<Content>CCCCCCCCCCCC DDDDDD</Content>
</Record>
<Record>
<Content>1111111111111111 22222</Content>
</Record>
It ignores that line gap. neither its giving me a empty content tag for each line gap, nor it is appending the spaces at the start of second and third tag value.
Please provide your inputs.
Thanks. -
...file Sender content conversion 'lastFieldsOptional' error
Hi All,
I am working on a File Sender content conversion--> flat file to XI.
it's fixed length field all the rows with same column.
090627 344535AFDFG+GBP65433 ASDSSD GFD dFSSGFD 6757532
090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
090627 344535AFDFG-GBP65433 ASDSSD GFD dFSSGFD 6757532
090628 344536AFDFG+GBP45434 ASDSSD GFD dFSSGFD 6757532
090628 344536AFDFG-GBP45434 ASDSSD GFD dFSSGFD 6757532
**EOF**
I am sucessfully able to handle the file if i remove "**EOF*" from incoming file. But i get "lastfieldsOptional" error with "*EOF**"
>
Parameters-
Recordset Structure - ROW,*
Recordsets per message - *
ROW.fieldFixedLengths - 6,8,20,10,30,1,3,1,11,1,11,6,10,10,20,10,10,2,6,6,2,6,6,3
ROW.fieldNames - INV_DATE,INV_NO,PAYMENT_REF,CUST_NO,CUST_NAME...etc etc
ignoreRecordsetName - true
There are parameters available to ignore Last field(last column) of a Row/Rocerdset
but how to ignore the last row of the file.
Plz suggest some parameter to ignore the last row/field of the file.
Regs,
AnshAnsh,
.lastFieldsOptional is obselete and you cannot use. Please see sap help:
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
The best thing comes to my mind is use:
.keepIncompleteFields as YES
Also give a try with:
.missingLastfields as add
So with this I think your last line in the file will read into XI. But the value of last line is **EOF**. So the length is 9. Since your the first two fixed lengths are 6 and 8. You will have these values as ***EOF and ***. So while mapping you can use doesnot satrt with * and map it, so that your last line will be ignored.
Note: with this apporach you have to make sure your first two columns never start with *. If you have a doubt then you can use the condition doesnot equal to ***EOF for first field and doesnot equal to *** for the second field when you map. I hope it makes sense to you.
Regards,
---Satish -
Content conversion parameters for fixed length file
Hi,
Hey i have a small doubt.My input is like this
99443 123213 232234 12312 127544 23423
Here i have four recorsetnames namely HEADER1,HEADER2,HEADER3,HEADER4,HEADER5,HEADER6 all the recordsets are of same size but the lengths of the fields in it vary so i specified the following parameters
HEADER1.fieldFixedLengths=1,3,1
HEADER1.fieldNames=value1,value2,value3
HEADER1.endseperator=" "
HEADER2.fieldFixedLengths=1,3,2
HEADER2.fieldNames=value1,value2,value3
HEADER2.endseperator=" "
MY OUPUT XML STRUCTURE SHOULD BE like this
<header1>
<value1>9<\value1>
<value2>944<\value2>
<value3>3<\value3>
<\header1>
<header2>
<value1>1<\value1>
<value2>232<\value2>
<value3>13<\value3>
<\header2>
Is the content conversion parameters i specified enough for that. I wanted to know how would it know the begin of the next recordset(ie the seperation between the two recordsets) .Please help me its vey urgent
Thanks in advance
SriandhAre header 1 fields always going to occur first , then header 2 and so on?
By default file adapters do not support Nested Strcutures and so if the sequence is going to be the same and all of these have an occurence of 1..1 then things will work.
But if there is going to be an occurnece of * then you will need to use KeyFields.
Regards
Bhavesh -
JMS Adapter module content conversion
Hi,
I'm developing a module for the jms adapter(sender). My requirement is to parse the XI message(text) using some XML parsing api and do some formatting, logic etc and to make the jms adapter create a xml file with the processed information. Jms File Content Conversion does not suit our requirement and thats the reason we are trying this option.
My understanding is: Access the payload in the "process" method of the local ejb, apply XML parsing using JDOM etc, make a xml which should be the output of the jms adapter. This xml will be the xml with my user defined tag elements after content conversion. Can i form this xml and assign to the inputModuleData? Will the jms adapter use this string to create the xml and send to IS? Are there any other parameters to be set or processes to be done?
Also in which sequence should I put my adapter module in communication channel.
================================================
My code snippet:
public ModuleData process(ModuleContext moduleContext, ModuleData inputModuleData)
throws ModuleException
Object obj = null; // Handler to get Principle data
Message msg = null; // Handler to get Message object
try
obj = inputModuleData.getPrincipalData();
msg = (Message)obj;
AuditMessageKey amk = new AuditMessageKey(msg.getMessageId(),AuditDirection.INBOUND);
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---efore reading payload");
try
XMLPayload xmlpayload = msg.getDocument();
String messageStr = xmlpayload.getText();
String inputStr = null;
String tags[] = new String[2];
String values[] = new String[2];
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---before content conversion");
String tagvalue1 = messageStr.substring(messageStr.indexOf("BEGIN+"), messageStr.indexOf("'");
String tagvalue2 = messageStr.substring(messageStr.indexOf("'"), messageStr.lastindexOf("ENDING");
tags[0] = "tag1";
tags[1] = "tag2";
values[0] = tagvalue1 ;
values[1] = tagvalue2 ;
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---after content conversion");
Document xmldoc = null;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation impl = builder.getDOMImplementation();
org.w3c.dom.Element e = null;
Node n = null;
xmldoc = impl.createDocument(null, "MT940", null);
org.w3c.dom.Element root = xmldoc.getDocumentElement();
for(int i = 0; i < tags.length; i++)
e = xmldoc.createElementNS(null, tags<i>);
n = xmldoc.createTextNode(values<i>);
e.appendChild(n);
root.appendChild(e);
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---before dom creation");
DOMSource domSource = new DOMSource(xmldoc);
ByteArrayOutputStream myBytes = new ByteArrayOutputStream();
Result dest = new StreamResult(myBytes);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer serializer = tf.newTransformer();
serializer.setOutputProperty("indent", "yes");
serializer.transform(domSource, dest);
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---before setting principal data");
byte[] docContent = myBytes.toByteArray();
if (docContent != null) {
xmlpayload.setContent(docContent);
inputModuleData.setPrincipalData(msg);
Audit.addAuditLogEntry(amk, AuditLogStatus.SUCCESS,"sample: Inside sample Module---after setting principal data");
catch(ArrayIndexOutOfBoundsException e)
e.printStackTrace();
catch(StringIndexOutOfBoundsException e)
e.printStackTrace();
catch(TransformerException e)
e.printStackTrace();
catch(Exception e)
e.printStackTrace();
catch(Exception e)
ModuleException me = new ModuleException(e);
throw me;
return inputModuleData;This is for sender channel. The doubt in adapter module is in the process block how will I get the main data being read by the jms adapter from the text file.As I am reading text file from websphere MQ, the content of the text file can be obtained thru xmlpayload.getText() or is there any other way.
obj = inputModuleData.getPrincipalData();
msg = (Message)obj;
XMLPayload xmlpayload = msg.getDocument();
String messageStr = xmlpayload.getText();
At present I am using my adapter module before call sap adapter, but before sap adapter there are two other modules(toBinary and to Xmb), so shld I place it before both or after both the modules.
Thanx in advance
Rachit -
File content conversion:move files to a new directory
hi all,
I have a file content conversion sender and receiver scenario.Now my doubt is: XI is running on sap27 server.Input file is being created by an ABAP program in r/3 and file being put in sap29 server.
In source directory if i am giving the sap29 path it is not working.Is there any way that i can write a OS command to move files from 29 to 27 before message processing ??
Any other option available??
thanks,
Nisheetahi,
Yes the basis people have shared the folder and they have mapped the sap29 folder into sap27 using I:\ drive
But the files are not getting picked....am i giving the source directory wrong??
I am giving I:\Folder_Name
suggestions needed
thanks,
Nisheeta -
Content conversion-source XSD structure
hi expert,
I am doing content conversion from pdf to xml using content master studio.I have export the XSD file from source or target message type(IR). I have completed IR and ID including module configuration for transformation. now i am import the XSD file in content conversion master studio. also deployment was completed.I put the deployment folder under content master engine(c:\programfiles\SAP\ContentAgent\ServiceDB).but source(pdf) file is not polling from sender communication channel.
my doubt is " XSD structure was different while generaing from XI(IR) machine" its given unique id for each element. also alert message comes" the namespace http://www.w3.org/2001/XMLschema already carries a different alias" while import the XSD file in conversion master studio.The problem is with XDS File, use same file for Conversion Program and Design Interfaces.
Sandeep -
Hierarchy on file content conversion for receiver?
Y'all,
I'm stuck in this problem and I haven't find a solution to solved it... so, all your clues and reply's are really appreciate...
The basic problem is a File content conversion for a receiver C.C. that is not working and it's raising some errors in the RWB, I have gone thru some blogs but I still having a lot of doubts...
I want to produce a flat TXT file that will have a line for every node or subnode, it doesn't matter if it's not represented as hierarchical structure like this one... but the records must be produced or written in the same order...
Man_Del_Header as main node with Man_Header, Delete_Detail and Trailer as subnodes...
<?xml version="1.0" encoding="UTF-8"?>
<ns1:MT_DISTRIBUTOR_DELETE xmlns:ns1="http://xxx.com/xi/POSout">
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>051</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>051</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005010</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005011</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00005</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00002</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
<Man_Del_Header>
<MD_Header>|HM|1|</MD_Header>
<MD_StoreNumber>061</MD_StoreNumber>
<MD_filler1>|2|0000|3|</MD_filler1>
<MD_EffDate>09/17/07</MD_EffDate>
<MD_filler2>|4|005|5|dsdvnd|7|</MD_filler2>
<MD_BatchNumber>500</MD_BatchNumber>
<MD_fiiller3>|8|</MD_fiiller3>
<MD_BatchDescr>DELETE PREV CST BTCH</MD_BatchDescr>
<MD_filler4>|10|D|</MD_filler4>
<MD_linef>1</MD_linef>
<Man_Header>
<Man_Header>|HM|1|</Man_Header>
<Man_StoreNumber>061</Man_StoreNumber>
<Man_filler1>|2|0000|3|</Man_filler1>
<Man_EffDate>09/17/07</Man_EffDate>
<Man_filler2>|4|005|5|dsdvnd|7|</Man_filler2>
<Man_BatchNumber>500</Man_BatchNumber>
<Man_filler3>|8|</Man_filler3>
<Man_BatchDescription>Delete Distributor</Man_BatchDescription>
<Man_filler4>|</Man_filler4>
<Man_linef>Constant</Man_linef>
</Man_Header>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005012</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005013</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Delete_Detail>
<Delete_Detail>|D|901|170|</Delete_Detail>
<Delete_DistribNumber>0000005014</Delete_DistribNumber>
<filler9>|</filler9>
<delete_linef>1</delete_linef>
</Delete_Detail>
<Trailer>
<Trailer>|T|1|</Trailer>
<TotalRecCnt>00006</TotalRecCnt>
<filler1>|2|</filler1>
<NoOfHeaders>00002</NoOfHeaders>
<filler2>|3|</filler2>
<NoOfAdds>00000</NoOfAdds>
<filler3>|4|</filler3>
<NoOfChanges>00000</NoOfChanges>
<filler4>|5|</filler4>
<NoOfDeletes>00003</NoOfDeletes>
<filler5>|13|</filler5>
<NoOfSubstitution>00000</NoOfSubstitution>
<filler6>|</filler6>
<linef>1</linef>
</Trailer>
</Man_Del_Header>
</ns1:MT_DISTRIBUTOR_DELETE>
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|051|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005010|1
|D|901|170|0000005011|1
|T|1|00005|2|00002|3|00000|4|00000|5|00002|13|00000|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|DELETE PREV CST BTCH|10|D|1
|HM|1|061|2|0000|3|09/17/07|4|005|5|dsdvnd|7|500|8|Delete Distributor|Constant
|D|901|170|0000005012|1
|D|901|170|0000005013|1
|D|901|170|0000005014|1
|T|1|00006|2|00002|3|00000|4|00000|5|00003|13|00000|1
So as you can see, i wanna produce a flat file that will have line or record for each node, it doesn't matter that it has a hierarchy or a deeper level, it should be a simple flat file...
The thing is that i have been trying to setup the receiver comm. channel and it's raising some errors like Could not process due to error:
<i>java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.Exception: Message processing failed in XML parser: 'java.lang.Exception: Consistency error: more fields found in XML structure than specified in conversion parameters! (Value 'XXXX')', probably configuration error in file adapter (XML parser error)'</i>
I have checked this blog:
/people/karthiknarayan.kesavan2/blog/2007/08/22/file-content-conversion-for-multi-hierarchical-structure
Unfortunately i don't know if there's another way to achieve this...Jerry,
it easy if you go with multi mapping concept and without BPM if you are above >XI3.0 SP14.and use Append mode in the receiver file adapter.
just create the target structure like root under that Man_Del_Header,Man_Header,Detail,Trailer at the same level but got be careful with occurences.
<b>Source:</b>
I think from your structure you have
Man_Del_Header (1-unb)
Man_Header (1-1)
detail (0-unb ) may be (1-unb)
trailer (1-1)
create <b>target DT</b> like:
ROOT
..Man_Del_Header (1-1)
..Man_Header (1-1)
..detail (0-unb ) may be (1-unb)
..trailer (1-1)
all are at same level under ROOT.
create MT,MI,MM,IM.
in MM just map correspoding fields and if you have any unbounded onces map the nodes too. and map Man_Del_Header in the source to MT_XYZ (important)
and in the MM go to MESSAGES tab and change the occurences of the target Message to 0-unbounded same way in the interface mapping 0-unbounded.
here it create anothe extra node in the mapping something like Message1,this is ok.
and in ID just create all other objects like as usual except creating Interface determination ,in that select the extended radio button.
in reciever File CC use FCC ,would be very simple in the recordsetstrcture give
your four nodes Man_Del_Header,Man_Header,Detail,Trailer.
and use either fixed or field seperator.use append mode in recv File CC otherwise it will generate files as many occurences your source "Man_Del_Header" has ,cos we are mapping it to the MT--xyz .
thats it you are ready to go...
if any error post back here again.
you can make use of this thread
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible (here there are two target DT ,but you just create one DT,remaining are similar)
good luck.
Babu
Maybe you are looking for
-
Iphone 4 ios 5 upgrade error 14
I have updated my itunes to latest version and tried to update iphone 4 to IOS 5. It killed the phone and now I cannot restore as is giving me an error of the iphone cannot be restored an unknown error occured (14). I have removed my anti virus, remo
-
How do I create a calendar event for the first Sunday of every moth?
Trying to create an event on my iPhone 4 (iOS 5) calendar that repeats on the first Sunday of every month. Is there a way to do this? Thanks
-
How can I create a Login-page with jsp???
Hello, I have to create a page with JSP code on the Netweaver Developer Studio. But I do not know how I do it. Can anyone tell me what to write in the portalapp.xml? An example would be very helpful. Thank you Greetings
-
How hard is it to change battery in 3g iphone
is it very hard to change the battery in the 3g iphone.also i had it unlocked will this affect my unlock.
-
Merge catalog function process starts and runs but does not complete
I am trying to merge my laptop catalog with my desktop catalog. Both machines are LR5.4 and OSX 10.9.3. I am following the documented LR process. The merge starts, runs and looks like it completes but the new data (photos and catalog information) doe