Content Conversion Doubt
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 advance
Hi
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
Similar Messages
-
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
-
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
DinakarDinakar,
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. -
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 -
Right Justification on Content Conversion
Hi Guys,
I've created a receiver communication channel with content conversion to convert from the XML to a flat fixed length file. Unfortunately all the fields written to the file are left justified.
Eg writing the value "123" to a field that's ten characters long gets
123.......
Rather than
.......123
All that is in the content conversion section at the moment is the Record Set structure and the field lengths for each of the different record types.
Any ideas on how to force it to right justify the fields?
Many thanks,
JohnHi John,
I have done testing on my machine regarding formatting and everything works fine.
First of all you can use NameA.fieldContentFormatting = nothing in both sender & receiver FCC without any issue. Secondly if I am not guessing wrong then you are looking your Paylod in SXMB_MONI, if yes then you will NEVER see a content with any formatting.
For example if your content is like ......Sarvesh (6 space in the begining)
Then it will always look like <NAME>Sarvesh</NAME> and not like this
<NAME> Sarvesh</NAME>
Check your data in either XI server directory using AL11 (if you are saving it there) or check at receiver side.
I hope this solves your problem as well as doubt.
Regards,
Sarvesh
Maybe you are looking for
-
CS5.5 Mac crashes every time I change Window Size in Design View
I'm using DW CS5.5 (version 11.5 build 5344) in Lion 10.7.3. I added in a couple of window sizes (in Preferences) that correspond to iPhone and Android phones - 320x480, 480x320, 480x800, 640x960. The 640x960 one works, as does a 592w one that came
-
Apple ID no longer accepts password
Thank you Apple. Thank you for changing my password for me. So, I was one of the first on board to get an iPhone. At the time, I had an email address that I used for everything and I naturally used it to sign up for app purchases. All was good. Then,
-
Bug in CS3! When I tilt-crop a picture, the result is a distorted picture, why is that!? The pictuer gets squezed togeher and faces look markably thinner.
-
Java.lang.IllegalStateException: cannot resize buffer
I am running Bea Weblogic 7.0.0 on Sun Solaris 2.8. I see the following error message appearing in the weblogic server logfile: java.lang.IllegalStateException: cannot resize buffer: 60 bytes have already been
-
How can I stop Tomcat server during Integration Component Installation?
I had problems to work with the integration component. I tried to repare it but it didn´t work Then I uninstall it But when I am trying to install it again I can´t because I have a tomcat server already in place. How can I stop the tomcat server? In