Sender File Adapter-Content conversion for a tab delimited file
Hi all,
I have a FIle to IDoc scenario, where the File is with the structure Header,Detail,Trailer.
Header and Trailer are with fixed field lengths, whereas the detail records are tab delimited.(Functional spec says delimited by H'05').
I have given the parameters as follows:
Header.keyFieldValue H
Header.fieldFixedLengths 1,1,4,1,8
Header.fieldNames a,b,c,d,e
Header.endSeparator 'nl'
Detail.fieldNames a,b,c,d,e,f
Detail.fieldSeparator '0h05'
Detail.keyFieldValue LOA
Detail.endSeparator 'nl'
Trailer.fieldFixedLengths 1,1,8
Trailer.fieldNames a,b,c
Trailer.keyFieldValue T
ignoreRecordsetName true
In SXMB_MONI, I get the payload with just the Header and Trailer and not the detail records, even though my file has so many records in it.I m pretty sure, this happens because of my Detail.fieldSeparator parameter.
Can anyone please help me with this?What is the correct value for this parameter?
Thanks a lot in advance!
Anjana.
first of all make sure with a hex editor that the hex code of the delimiter sign is really 05. This is an odd character, as the normal tab is hex 09.
when you have confimred it, check online help for file adapter config for the correct entry of hex codes. I think it is something like '0x05',
Edited by: Stefan Grube on Feb 10, 2011 6:43 PM
Similar Messages
-
Content conversion for multilevel varying structure File to Idoc
Hi All,
I have following file structure.
VO
C1
S1 1 to unbounded
H1 1 to unbounded
D1 0 to unbounded
D2 0 to unbounded
U2 0 to unbounded
UC 0 to unbounded
My Idoc structure.
ISU_EL34
IDOC 0 to unbounded
E1ISU34 1 to unbounded
ZSEGMENT 0 to 1
I have applied the content conversion for the length specific file as follows.
Recordset structure: VO,1,C1,1,S1,1,H1,1,D1,,D2,,U2,,UC,
Do I need to do any changes over here to satisfy the above file structure.
V0 and C1 occurs only once in a file.
for S1 I should have H1 compulsory and others are optional, but i need to create Idoc when D1 data is available only.
I'm able to read the total file with the above content conversion.
MY requirements:
1) I need to create the Idoc based on the occurance of D1 node. I'm using H1 data also in the idoc not S1.
2) My doubt is whether the content conversion I have provide is applicable to the structure I have prepared.
3) When I'm trying useOneAsMany function for the above ie H1 data should repeat in Idoc as and when D1 repeats.I'm failing the error is both queues are not contain same number of data..
Could anyone suggest how I should approach for the above scenario.Hi Sravya,
It is really helpfull answer , Thanks for sharing my problem .
It worked for this purpose, but I'm facing following problems
MY scenario
The file contains records V0,C1,S1,H1,D1,D2,U2 and Uc
In which Im using the data of H1,D1,D2,U2 and UC for creating target Idoc.
Every H1 contains at least 1 D1 record, If D1 exists D2 ,U2 and UC may or may not exist.If exists those are in a sequence and should consider the data of them to create Idoc.
Idoc should be created for every D1.
Problem facing:
Do we have any mechanism to group the D1 records to the relevant header.since Im unable do this with content conversion.
I think bcz of above problem; some records (D2 & U2 & UC) data is populating in Idoc even there is no D2,U2 and Ucs.
Thanks,
venu. -
File sender adapter: Content conversion for very deep nested structure
Hi all
I have a file which looks like this
HDOCKET 9800000660980000061911062009AA123456bbWM100012349800000619
DDOCKET_TEST001 4012YAG1
WZOA00000000010000000001
WZOA00000000020000000002
WZOB00000000030000000003
IAAXX000001
IAAXX000002
C0000000000000000000100000000000000000001000000000000000000020000000000000000000300000000000000000004
T2
and my structure is
Header - 1
Detail - 0....Unbounded
Bag - 0.....Unbounded (sub node of detail)
Track - 0.....Unbounded (sub node of detail)
Customer - 0.....Unbounded (sub node of detail)
Trailer - 1
and in the file sender adapter i mentioned the following content conversion setting
HEADER,1,DETAIL,*,Bag,*,Track,*,Customer,*,TRAILER,*
But when i go and see in the monitoring i received the following conversion
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_REQ xmlns:ns="http://royalmail.com/dd_c">
<HEADER>
<ID>H</ID>
<INT>DD</INT>
<CAR>9899999660</CAR>
<CUS>9899999619</CUS>
<POST>11062009</POST>
<NUMBER>AA123456bbWM10001234</NUMBER>
<ACC>9899999619</ACC>
</HEADER>
<DETAIL>
<ID>D</ID>
<Bag>DOCKET_TEST001</Bag>
<S>4012</S>
<Code>YAG</Code>
<mat>1</mat>
<count/>
<Mixed />
</DETAIL>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
<TRAILER>
<ID>T</ID>
<Count>2</Count>
</TRAILER>
</ns:MT_REQ>
whereas i wanted it like:
<?xml version="1.0" encoding="utf-8" ?>
<ns:MT_REQ xmlns:ns="http://royalmail.com/dd_c">
<HEADER>
<ID>H</ID>
<INT>DD</INT>
<CAR>9899999660</CAR>
<CUS>9899999619</CUS>
<POST>11062009</POST>
<NUMBER>AA123456bbWM10001234</NUMBER>
<ACC>9899999619</ACC>
</HEADER>
<DETAIL>
<ID>D</ID>
<Bag>DD_TEST001</Bag>
<S>4012</S>
<Code>egg</Code>
<mat>1</mat>
<count/>
<Mixed />
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
</DETAIL>
<DETAIL>
<ID>D</ID>
<Bag>DD_TEST002</Bag>
<S>4012</S>
<Code>egg</Code>
<mat>1</mat>
<count/>
<Mixed />
<Bag>
<ID>W</ID>
<Zone>zzzzzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>ZOA</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
<Bag>
<ID>W</ID>
<Zone>zzz</Zone>
<Item>0000000001</Item>
<Number>0000000001</Number>
</Bag>
</Bag>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Track>
<Track>
<ID>I</ID>
<Item>AAXX000001</Item>
</Tracked>
<Customer>
<ID>C</ID>
<OrigCustomer>00000000000000000001</OrigCustomer>
<Field1>00000000000000000001</Field1>
<Field2>00000000000000000002</Field2>
<Field3>00000000000000000003</Field3>
<Field4>00000000000000000004</Field4>
</Customer>
</DETAIL>
<TRAILER>
<ID>T</ID>
<Count>2</Count>
</TRAILER>
</ns:MT_REQ>
i.e. i need all Bag ,Track and Customer inside detail tag.
could anyone help me in this..i've already searched SDN and got some link as useful but none of them were totally related.
Regards
NainaNaina
Pls. check my forum link, i had the single level hierarchy XML file which I converted into nested structure & then into flat file.
File Conversion in Rec File Adapter with subnodes
This can give you an idea how to go ahead. Let me know in case you need any more info about this. -
Sender File Adapter - Content Conversion
HI Friends,
I got a scenario where I need to convert the File to XML document through Sender file adapter..
My file looks like below.
BATCH1234........
12DASER123142JMM
237DSAFDLKC839890
45SDFLASJ90011
BATCH3455...
132FGAR
SD21352525
BATCH998898...
123145DSRTW
12FSTS
So there is a Header and Body for each record set..
My XML Structure is as follows.
<TimeStructure>
<TimeRecord>
<ControlRec>
<Field1>BATCH </Field1>
<Field2> ...</Field2>
</ControlRec>
<DataRec>
<F1> ...... </F1>
<F2> ...... </F2>
</DataRec>
</TimeRecord>
<TimeRecord>
<ControlRec>
<Field1> BATCH </Field1>
<Field2> ADFAS </Field2>
</ControlRec>
<DataRec>
<F1> ...... </F1>
<F2> ...... </F2>
</DataRec>
</TimeRecord>
</TimeStructure>
The blog <a href="/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem:///people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
is somewhat relevant to my requirement.
But the problem is I have the keyfield "BATCH" for my header file but don't have any <b>key field in the data record</b> of the input file.
Please help me out how to mention the configuration parameters.
Regards,
KumarHi,
If you don't have constant key value for your detail records, then you can not directly get the required xml.
So in this case, you can read all the records in a common Row model, i.e each record will be considered as a one row with all the values, and then split this row with Substring or java functions in the mapping.
Even you can do this in the Adapter module .
If you have key value for each record to identify then you can try with content conversion.
Regards,
Moorthy -
Key field from content - Sender file adapter content conversion
I am reading a source CSV file that has this structure. All rows in the source file are the same structure: line items of a PO. But there will be multiple POs in a single file, identified by the PO number as one column in the file.
PONum,LineItemNum,Qty,Description
001,1,34,Carrots
001,2,17,Apples
001,3,22,Bananas
002,1,4,Mangos
002,2,9,Coconuts
003,1,44,Grapes
Goal is to generate 3 messages, one for each PO:
<po>
<num>001</num>
<line_items>
... 3 line items for PO # 001 ...
</line_items>
</po>
<po>
<num>002</num>
<line_items>
... 2 line items for PO # 002 ...
</line_items>
</po>
<po>
<num>003</num>
<line_items>
... 1 line item for PO # 003 ...
</line_items>
</po>
Is there any way to use the Content Conversion Key Field Name to group the line items into the correct 3 messages? "Key Field Name" expects a static identifier for each type of row; but mine varies by the PO number in the content.
Or do I need to do this in the mapping? If so, what is the easiest way to split 1 large message of all line items into multiple target messages based on the PO number? (I assume this is better than sending individual line item messages and aggregating them later, as long as the file size is OK.)
Thanks in advance!
RBL
Edited by: Robert Burfoot-Lobo on Apr 8, 2009 11:43 AMHi Robert,
If ur goal is to split into 3 messages one for each PO, you can go for message split and using graphical mapping you can achieve that.
Within the message mapping go to the tab Messages.
Change the occurrence of the target message to 0..unbounded.
Also this link may help you.
/people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
Regards,
Madhu -
Sender file adapter - content conversion question
Hi all
We have a .csv file to be passed to XI that has column headings as well. Is there a way of stripping the header using "Content conversion". We declared the RecordsetStructure as "header,1,item,*" but then it needs a keyFieldname and identifier which is obviously not available as the first line only has column headings.
Hoping for a reply soon.
Thanks
SalilSalil,
In RecordsetStructure you define as header,1,item,9999999999. But if you have more than 9999999999 records then the extra records after this will come as a second file.
If you expect more item records then increase the number of 9's. Then we dont need to give the key field.
---Satish -
Sender File Adapter content conversion problem
Hi all,
is it possible to do content conversion like this:
Key;Field1;Field2;Field3
PO00H;0482000000;20061102;PL61
PO01I;00010;0A720;Material 1;100.000
PO02D;20061102;100.000;
PO00H;0482000001;20061102;PL63
PO01I;00010;0A730;Material 2;40.000
PO02D;20061102;40.000;
PO01I;00010;0A740;Material 3;140.000
PO02D;20061102;30.000;
PO02D;20061103;110.000;
convert to
<?xml version="1.0" encoding="utf-8" ?>
<MT_PO>
<DT_PO>
<DocumentHeader>
<PONumber>0482000000</PONumber>
<PODate>20061102</PODate>
<CompanyCode>PL61</CompanyCode>
</DocumentHeader>
<Item>
<ItemHeader>
<ItemNumber>00010</ItemNumber>
<MaterialCode>0A720</MaterialCode>
<MaterialDescription>Material 1</MaterialDescription>
<Quantity>100.000</Quantity>
</ItemHeader>
<ItemDetail>
<DeliveryDate>20061102</DeliveryDate>
<Quantity>100.000</Quantity>
</ItemDetail>
</Item>
</DT_PO>
<DT_PO>
<DocumentHeader>
<PONumber>0482000001</PONumber>
<PODate>20061102</PODate>
<CompanyCode>PL63</CompanyCode>
</DocumentHeader>
<Item>
<ItemHeader>
<ItemNumber>00010</ItemNumber>
<MaterialCode>0A730</MaterialCode>
<MaterialDescription>Material 2</MaterialDescription>
<Quantity>40.000</Quantity>
</ItemHeader>
<ItemDetail>
<DeliveryDate>20061102</DeliveryDate>
<Quantity>40.000</Quantity>
</ItemDetail>
</Item>
<Item>
<ItemHeader>
<ItemNumber>00010</ItemNumber>
<MaterialCode>0A740</MaterialCode>
<MaterialDescription>Material 3</MaterialDescription>
<Quantity>140.000</Quantity>
</ItemHeader>
<ItemDetail>
<DeliveryDate>20061102</DeliveryDate>
<Quantity>30.000</Quantity>
</ItemDetail>
<ItemDetail>
<DeliveryDate>20061103</DeliveryDate>
<Quantity>110.000</Quantity>
</ItemDetail>
</Item>
</DT_PO>
</MT_PO>Ivan,
I fear this is not possible.
You can have
<?xml version="1.0" encoding="utf-8" ?>
<MT_PO>
<DocumentHeader>
<PONumber>0482000000</PONumber>
<PODate>20061102</PODate>
<CompanyCode>PL61</CompanyCode>
</DocumentHeader>
<ItemHeader>
<ItemNumber>00010</ItemNumber>
<MaterialCode>0A720</MaterialCode>
<MaterialDescription>Material 1</MaterialDescription>
<Quantity>100.000</Quantity>
</ItemHeader>
<ItemDetail>
<DeliveryDate>20061102</DeliveryDate>
<Quantity>100.000</Quantity>
</ItemDetail>
</MT_PO>
Multiple <Item header> and multiple <Item details>
Do the content conversion like this and then in mapping, convert it to any structure you need.
Regards,
JaiShankar -
Receiver File Adapter Content Conversion Problem.
Hi All,
I am getting in receiver file adapter due to content conversion setting. Problem is that all the fields coming in file adapter are optional. In content conversion , i have specified fieldfixedlengths. So whenever any optional field is not present , it fails . How should we handle it? is there any option to declare fields as optional, I know that is the there for sender adapter. But no. of fields is also very large, so putting each and every field as optional is very time consuming.
What should i do?
Ranjeet Singh.Hi Daniele,
Instead of using the standard funciton , i created a UDF for handling this situation.
My logic is UDF is like
//write your code here
int Size = Integer.parseInt(Truncate_Size);
String Return_Value = "";
if (!("".equals(Input)) )
if (Input.length() > Size )
Return_Value = Input.substring(0,Size);
else
Return_Value = Input.substring(0, Input.length());
else
for(int i = 0; i< Size ; i++)
Return_Value = Return_Value + " " ;
return Return_Value;
SO in this case also , it should be able to handle empy source element. But it is not working. -
File adapter content conversion
Hi all,
We are having File to File Scenario
We are facing problem in Content conversion in File
Adapter(Sender)
The source file is in text format and fields are
seperated by '|' character
The source file structure is :
Header|No. of Records
Data Record1
Data Record2
Data Recordn
Trailer|No. of Records
where Data Recordn is of type Field1|Field2|Field3|Field4
and the number of data records is variable
e.g.
Header|5
2|144012|20050801|20050801
212|012|20050801|20050801
244012|2|20050801|20050801
2144|144012|20050801|20050801
212|012|20050801|20050801
Trailer|5
Now , we need to ignore the contents of Header and Trailer Records
For Header , we are setting the property Document Offset to 1
Hence the Header record is ignored
However , we are facing problems in ignoring the Trailer record
We want to know :
1. Is there a direct way ( or some propety ) wherein we can ignore the last record of the file ,
which in this case is Trailer record
2. We also tried the following :
a. We set the Recordset Structure to : row,*,trailer,1
b. However in this case , the keyField is required for row ;
but since the number of data records is variable ,
the keyFieldValue cannot be specified
How should we go about in this case
Please guide us on this
Regards
ShikhaHi all
Thanks for replies
Actually , we are able to ignore header and that is not an issue
Now if we need to discard the trailer record , we believe that RecordSet Structure should be <b>row,,trailer,1</b> or <b>header,1,row,,trailer,1</b>
However , since structure is <b>row,*</b> ; we need to specify the <b>keyField</b> column for row ( data records )
Since <u>number of data records</u> is variable , we are not able to set the <b>keyFieldValue</b> for <u>row ( data record )</u>
Can you'all please guide us on this as we are stuck on this .
Regards
Shikha
Message was edited by: Shikha Jain -
Sender Mail Adapter Content Conversion
Hi All,
I just want to know if we can send a flat file(Rather Than the XML) with content conversion using Mail Adapter. If yes then what are all the possible ways for this.
I have tried but i am sucessful in sending the complete payload as a XML file, but i want the file with the content conversion, so that this should be able to picked by the third party systems.
Will be oblidge if any supported blog or pdf is provided for the same.
Thanks in Advance.
JayHi,
Now for the negative items, i want to send them back to business as flat file format
using the mail adapter as attachment. This will help them to process the file as for there
requirement.
Since you need to send an email message you have to use the format mentioned here: (S-UserID required)
https://websmp205.sap-ag.de/~sapidb/012006153200000361852004E/ximail30_xsd.txt
Save this file as an XSD in you local system and upload it as an External Definition in your XI server.
Develop MI based on this External Definition (IN, ASYNC)
Create an Interface Mapping with Source as the file containing Negative items and target as the above developed MI
Now you need to develop an XSLT mapping (can use StylusStudio to do it) between the source and target Message Types
This XSLT mapping has to be designed in such a way that it extracts the payload out of the Negative Items message and maps it to the target (Content) field....you need to use CDATA element of XSLT here.
In this mapping itself you can define to what email-id you want to send the message.....
Everything happens on the XI --> Business service side...so it is not the sender channel but is the receiver channel:)
Your XSLT mapping will look something like:
<Mail>
<Content>
XSLT CODE
</Content>
</Mail>
where Mail and Content are the tags in the email message format...the External definition one.....
If you are new to XSLT then refer to my answer in this thread...
Re: JAVA MAPPING
regards,
Abhishek. -
Receiver File adapter content conversion using StrictXml2PlainBean
Hi All,
For receiver file adapter i am using the module StrictXml2PlainBean, and also i mentioned the module configuration like this
parameter name parameter value
recordTypes Header,TransactionHeader,TransactionDetail,TransactionTrailer,FileTrailer
FileTrailer.endSeparator |\n
FileTrailer.fieldSeparator |
Header.endSeparator |\n
Header.fieldSeparator |
TransactionDetail.endSeparator |\n
TransactionDetail.fieldSeparator |
TransactionHeader.endSeparator |\n
TransactionHeader.fieldSeparator |
TransactionTrailer.endSeparator |\n
TransactionTrailer.fieldSeparator |
But when i send the idoc, The receiver CC is throwing an error
Message processing failed. Cause: com.sap.aii.af.modules.conversion.xml2plain.ConversionException: Invalid structure name encountered during conversion: Transaction at XML element MT_DeliveryOrder,Transaction
My actual structure is
MT_DelvOrder
Header 0...1
Transaction 0....Unbounded
TransactionHeader 1..1
TransactionDetail 0...unbounded
TransactionTrailer 1...1
FileTrailer 0...1
The module is checking for the Transaction node,but i require the rest 3.
Same configuration i have done successfully with FCC without using the module....
So can any one suggest me where i am missing... why the module is pointint towards, the Transaction cant i ignore this node . and continue with the rest???
Regards,
Sridhar
Edited by: sridhar reddy kondam on Aug 10, 2009 12:35 AMHi Rajesh,
The same FCC configuration was working fine with FCC and when i am using this module configuration i am getting the prob...
In the file i need the Header,TransactionHeader,TransactionDetail,TransactionTail,Filetrailer
my sample output file is
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_DeliveryOrder>
<Header>
</Header>0...1
<Transaction>0...Unbounded
<TransactionHeader> 1..1
</TransactionHeader>
<TransactionDetail> 0...Unbounded
</TransactionDetail>
<TransactionTrailer>1...1
</TransactionTrailer>
</Transaction>
<FileTrailer> 0...1
</FileTrailer>
Any suggestions will be great help...
I think i need to go with other options without using this module....
Regards,
Sridhar
Edited by: sridhar reddy kondam on Aug 10, 2009 6:03 AM -
Receiver File Adapter - Content Conversion
Hi,
I don't quite get this:
I have a structure
<?xml version="1.0" encoding="UTF-8"?>
<AnElement1>
<AnElement2>
Bla bla bla
</AnElement2>
</AnElement1>
I want to convert this to a flat file with a line containing
Bla bla bla
In te receiver file adapter I define the following:
In the 'Content Conversion Parameters'
Recordset Structure : AnElement2
Name Value
AnElement2.addHeaderLine 0
AnElement2.fieldSeparator 'nl'
AnElement2.endSeparator 'nl'
This results in an Empty file each time indicating some error somewhere.
What am I missing?
Thanks
AndreHi Andre,
Just check the link <a href="http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/frameset.htm">File content conversion</a>
Also check out this web log <a href="/people/venkat.donela/blog/2005/03/03/introduction-to-simple-file-xi-filescenario-and-complete-walk-through-for-starterspart2 to TXT</a>
Is there any error log shown in File adapter ?
Regards,
Keith
Message was edited by: keith thompson -
Replace String in csv file with file adapter content conversion
Hello experts,
I have a sender file channel to receive csv files from an external server. I can process the csv files but I have a little problem. Since the separator in the csv file is a comma and sometimes a comma also appears in the dates but this time it is not a separator.
Example:
1234,20120123,ABCD,customer, which has a comma in it's name,...
5678,20120123,FGHI,customer without comma,...
My plan is to remove all commas when a blank follows.
My current content conversion looks like this:
Record.fieldNames field1,field2,...
Record.fieldSeparator ,
Record.endSeparator 'nl'
Is there something like Record.fieldReplaceString or something similar which I can use? Or is there perhaps a better way to do this?
I'd appreciate every help I can get here.
Best regards.
Oliver.Hi Oliver,
I think I've got a solution for you, after all. All you need to do is have your customer name enclosed in quotes, like that:
1234,20120123,ABCD,"customer, which has a comma in it's name",...
Use the rest of FCC configuration as usually. You might also want to have a look at this wiki entry for a configuration example:
http://wiki.sdn.sap.com/wiki/display/XI/FileContentConversion
Moreover, see the description for "NameA.enclosureSign" in the help document below:
http://help.sap.com/saphelp_nwpi71/helpdata/en/44/6830e67f2a6d12e10000000a1553f6/frameset.htm
Hope this helps,
Greg -
Receiving file adapter content conversion issue
Guys,
Could someone please help me with a Receiving file adapter issue?
My output structure is something like this:
Vendor_file_MT (occurence 1)
--Recordset (occurence 0..unbounded)
Vendor (occurence 1)
Field1
Field2
Field3
Field73
Field74
My content conversion is very simple:
Recordset Structure: Vendor
Parameters:
Vendor.fieldFixedLengths 30,30,30, (...) ,1,27
Vendor.fixedLengthTooShortHandling Cut
Vendor.endSeparator 'nl'
If I don't do the content conversion, it works fine, I get all the fields in the XML format.
When I do the content conversion however, I get multiple lines but only the very first field of each line.
What could be the problem? What am I missing here? Any idea?
Your help would be much appreciated.
Thanks,
ViktorVarga:
Its little strange that its not working even after adding that. Did you check the receiver channel in your RWB for any logs. Add the statement in my previous post and Also try to clear the Cache and activate the channel again..See if it works
Glad it worked
Edited by: Guru on Apr 21, 2008 3:15 PM -
File Adapter - Content conversion parameters at Receiver
Hi all,
I'm trying to translate a XML message to a text line file.
My XML message is this:
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Proveedor_100011 xmlns:ns1="http://sap.com/xi/webservices/buyordint">
<config>
<directory>c:/tmp</directory>
<filename>dynamicFile3.txt</filename>
</config>
<root><string>Header;423423</string>
<lines>
<value>LINE;</value>
</lines>
</root>
</ns1:Proveedor_100011>
I only want to write to text file the "root" TAG content.
I try different "Content conversion parameters" in the integration builder (configuration)
For example:
RecordSet Structure: root
root.addHeaderLine 0
root.fieldSeparator ;
root.endSeparator ;
but the better result is all XML content.
Can someone tell me how to skip "Config" TAG and only write the "ROOT" one?
I'll apreciate any help.
Thanks in advance,
Diego.Hi Sravya,
I've tried again without better luck.
I change the root element of my message from
Proveedor_100011 to Proveedor100011. (removed underscore)
I created the next message as in your weblog:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://sap.com/xi/webservices/buyordint" targetNamespace="http://sap.com/xi/webservices/buyordint">
<xsd:element name="Proveedor100011" type="Proveedor100011" />
<xsd:complexType name="Proveedor100011">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
54650790d48f11dab96c001438eb3b44
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="root">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f20d48e11dab854d06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="head" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f21d48e11da8f1dd06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="rows" minOccurs="0" maxOccurs="unbounded">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f22d48e11da894ad06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f23d48e11dab889d06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="filenode">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f24d48e11daab91d06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="filename" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f25d48e11da8becd06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
<xsd:element name="filepath" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
45f01f26d48e11dac56cd06ec0a8004a
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<Proveedor100011>
<root>
<rows>
<value></value>
</rows>
</root>
<filenode>
<filename></filename>
<filepath></filepath>
</filenode>
</Proveedor100011>
I've tried to set "Recordset Structure" in file adapter configuration to "root,filenode" and to "Proveedor110001, filenode" but no output is writed
We are using XI version: SAPKB64015, which version did you use in your weblog?
Thanks and regards,
Diego.
Maybe you are looking for
-
Please review my code, i am not able to get all the indesign files information as per my code, i can export only first two files, then the loop repeatedly process the second file only,not getting 3rd and 4th...., Please advice. app.scriptPreferences.
-
Revision: 3787 Author: [email protected] Date: 2008-10-21 12:16:28 -0700 (Tue, 21 Oct 2008) Log Message: Added FxTextArea, FxTextInput, and TextView class-level examples to the Component Explorer. Modified Paths: flex/sdk/trunk/samples/explorer/explo
-
In building a new computer, my biggest question comes down to motherboard selection. If I choose the Asus Sabertooth vs the Asus Rampage II for about $100 more, what am I really gaining? Anything that will significantly help in video editing? Does
-
Greetings, Not to long ago i got a Sound Blaster Live! 24bit external usb and tried to make it work with linux. The gentoo wiki for this card worked, however because it is a usb card, the front speakears are the only ones that are working. Since I ha
-
Installing ADF Runtime without GUI
I'm trying to install Application Development Runtime 11.1.1.6 (http://www.oracle.com/technetwork/developer-tools/adf/downloads/index.html) on Oracle Enterprise Linux with no X window installed. I've successfully installed Weblogic Server (without X)