File content conversion: Target Field is optional
I am using FCC in receiver file adapter.
My file is getting generated.
In target structure one field is optional and hence target xml element doesnt have value. hence that field is not there in txt file. with this what happens next subsequent field gets shifted to my optional field place and then i get error field length is not correct.
I want to put 2 spaces if that optional field length is 2 char and then there should be field separator(space) and the subsequent column.
I am already giving fixedfieldlegnth of all the fields.
Pl can anyone suggest how to do this.
thanks,
sharada
Hi Sharada,
Do your normal mapping to the target field that is optional.
Use a If function before mapping the field.
Check if the node is created in usual mapping, else map a constant with 2 spaces.
DO something like this:
Mapping ---------------->
equalsS ----> if
constant(empty Value)--->
constant(2 spaces)--> then -> tgtField
Mapping -----------> else
regards,
P.Venkat
Similar Messages
-
File Content Conversion - Key Field Value
Hi Experts,
I am using File to Idoc scenario for my mapping. In the receiver Communication channel, I am using File Content Conversion. My scenario is as follows :
I have a recordset with Header and Line items with Key Field Indicator as 'H' and 'L'. In some cases, the value for this Key Field is coming in as something other than 'H' and 'L'. I need to throw an exception when this Key Field is not 'H' or 'L'.
In the 'Content Conversion' tab, my attributes are as:
Header_Structure.keyFieldValue = 'H' and Line_Structure.keyFieldValue = 'L'. Is there any more attributes that I need to add ?
Please advise. Thanks a lot.
Regards,
Freddy.>>multiple key field values in FCC configuration i.e Line_Structure.keyFieldValue = H or L
AFAIK it is not possible but lets wait for other experts to comment on this...
>>Can keyFieldInStructure (add, ignore) parameter help me in this case ?
No. this parameter is only used when you want to include key filed in ur XML structure(add) or not (ignore)...
Chk this:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm -
File Content Conversion ( avoid fields in conversion)
Hi all
An IDoc to File scenario , I am doing file content conversion in receiver File adapter.
my message type for file 2 HEADER each having its own substructure
Like 1header
fieldA
2header
fieldC
fieldD
I want the "<b>1header and its 1 subelement not be converted in file content conversion" </b>
because its used for dynamic file name configuration, so i do'nt want it to be written on file.
Regards
Ashutosh.rRawat,
Yes I know you will get that error. That is the reason why I have told you to add another parameter fixedLengthTooShortHandling as Cut. So add one more parameter in your file receiver communicaion channel: Also I hope ASFD0101 is your strcuture not the field in the strcuture.
ASFD0101.fixedLengthTooShortHandling : Cut
Then I think it should work like a boom.
---Satish -
File Content Conversion ignore fields
HI ,
I need to ignore some rows in the middle of the data in File content conversion for exaple
H1,Field1,Field2,Field3
A,GB07,MICHEL,1000
H2,Field3,Field4,Field5
B,GB08,andrew,2000
The above is the sample text file from the source , I need to parse in the below
RECORDset1
<Field1>A</Field1>
<Field2>MICHEL</Field2>
<Field3>100</Field4>
RecrodSet2
<Field4>A</Field4>
<Field5>andrew</Field5>
<Field6>200</Field6>
I need to omit or ignore the H1 and H2 rows from the File Content conversion.,
Please guide me how to achive this using File Content conversionHi Krishna,
In case if H1 and H2 is your record type or line type then to ignore line for this type... just do not handle "keyFieldValue" in the content conversion for H1 and H2 record type.
Thanks,
Binod -
File content conversion without field separator
Hi experts,
in my scenario I'm sending a txt file to an external receiver.
Each field of the file must be separated from the others with differents field separators according with the requirement of the receiver, for example:
field1;field2:field3, field4; ecc....
For this reason I've created in the source message many "FieldSeparator" fields. These fields will be populated by ABAP program.
I thought that it was possible to omit parameter fieldSeparator in content conversion, but testing the interface I receive an error because fieldSeparator is missing.
Is possible to omit fieldSeparator or to specify a fieldSeparator null?
The fields in the target file must be of variable lenght, so I cannot use FieldFixedLenght.
The only solution I found is to create in the target message structure a single string with each field concatenated, is the only possible solution?
Thanks
Fabio Boni
Edited by: Fabio Boni on Oct 21, 2010 5:47 PMSorry...posting error earlier..
The seperator can be concatenated at the end of each field in mapping.So seperator will be part of field value.
But with receiver FCC, you need to either mentione fieldfixedlenght or fieldseperator.Please check if space is going to to work for you as separator.
Edited by: nagarjuna _s on Oct 21, 2010 6:36 PM -
File Content Conversion(SenderFileadapter) fields parameters
Hi all
I am doing aFile to File scenario,
Using content Conversion at SENDER FILE adapter
my source message type is as :
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_Cnet_Source xmlns:ns0="http://abc.com/Cnet">
<<b>HeaderPayment</b>>
<First_Payt_Doc/>
<Beneficiary_email_id/>
<<b>/HeaderPayment</b>>
<<b>AdviceFormat</b>>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
<<b>/AdviceFormat</b>>
<<b>LineItem</b>>
<Title1/>
<Title3/>
<<b>/LineItem</b>>
<<b>FILENAME</b>>
<FNAME/>
<<b>/FILENAME</b>>
</ns0:MT_Cnet_Source>
it has 3 structures :HeaderPayment(0,1),AdviceFormat(0,1),LineItem(0,unbounded)
in Recordsetstructure i gave= HeaderPayment,1,AdviceFormat,1,LineItem,1
in FCC parameters i used
HeaderPayment.fieldname... =First_Payt_Doc,Beneficiary_email_id
HeaderPayment.fieldseperator ='nl'
HeaderPayment.endseperator ='nl'
ignorerecordset = true
similarly for rest 2 structure also
my source text file is type :
we0023
[email protected]
xyc
acd
21/05/2007
10034
acccd
payment
i tried alot of options,refering sdn..still on reading the file value are not coming in the designated fields...
Thanks &Regards,
ajayYou are Right i correct it but i sxmb_moni
i get as <HeaderPayment>
<First_Payt_Doc/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
</AdviceFormat>
<LineItem>
<Title1/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
<HeaderPayment>
<First_Payt_Doc/>
<Beneficiary_email_id/>
</HeaderPayment>
<AdviceFormat>
<Client_Code/>
<Payment_Document_No/>
<Document_Date/>
</AdviceFormat>
<LineItem>
<Title1/>
<Title3/>
</LineItem>
<FILENAME>
<FNAME/>
</FILENAME>
the header payment should not repeat....
Regards
Ajay -
Flat file content conversion repeating fields
Hello,
I have a flat file where the first three fields are fixed; the rest of the file line is made up of 1 .. n analysis characteristic results. The name of the field (Result) is always the same, but I never know how many results I will have on one line. Could anyone tell me how I might define this in content conversion ? Thanks in advance.
Peter DOUGHERTY.Sorry,
Of course ... here it is
10059514 22/09/08 8:29:02 20,2 0 0 0 0,30 0 133 0 0 0 0 0 0 0 0 0 0 0
The first field is the Id of the sample
Second field Date
Third field Time
The 4th ... 21st fields a (varying) number of results (here there are 18, but there could be any number from 1 upwards)
Hope it is clearer
Thanks
Peter -
File Content Conversion some fields are missing
Hello Friends,
I am trying to convert a fixed length flat file to XML.
Here are my parameters
CompanyCodeRecord.fieldNames = field1,field2,....field50
CompanyCodeRecord.fieldFixedLengths = 1,4,15,20...,50 (for all 50 fields)
CompanyCodeRecord.processFieldNames = fromConfiguration
CompanyCodeRecord.lastFieldsOptional = YES
CompanyCodeRecord.endSeparator = nl
If I do not use lastFieldsOptional=YES then the adapter is throwing an exception Error: <b>Conversion of complete file content to XML format failed around position 0 with java.lang.Exception: ERROR converting document line no. 1 according to structure 'CompanyCodeRecord':java.lang.Exception: Consistency error: field(s) missing - specify 'lastFieldsOptional' parameter to allow this
last retry interval started 19:31:08 2005-07-11</b>
If I use lastFieldsOptional=YES then the message does not contain last 8 columns (That means each record is containing only 42 columns).
Please help.
Thanks
SKMHi SKM
Go through this blog on sending fixed length flat file
<b>/people/michal.krawczyk2/blog/2004/12/15/how-to-send-a-flat-file-with-fixed-lengths-to-xi-30-using-a-central-file-adapter
and
>><i>lastFieldsOptional=YES then the message does not contain last 8 columns</i>
<b>lastFieldOptioanl parameter specifies whether the last fields can be omitted (YES) or not (NO) in a CSV structure. If you do not make a specification, the default value is NO</b>.
So i think u should use <b>NO</b> in this parameter.
Hope it helps.
Regards
Arpit Seth -
Skip field in file content conversion (file adapter)
hy guys,
I have a log file and want to convert it into xml. that works fine.
the problem is: can I skip some fields that I do not need in the xml with file content conversion
the fields I want to skip are the same in every record of the log file.
thanks.Ralf,
You can only ignore lines in the begiining of the file using Document Offset option.
If you have the unwanted field in the end of the record and you are in SPS12 (PI 7.0), you can use the option additionalLasstFields in FCC parameters. have a look into the blog /people/sukumar.natarajan/blog/2007/06/12/content-conversion-in-sender-file-adapter--2-new-useful-parameters
Easier, is to ignore those fields in mapping.
Also, you can try to remove those fields using a shell script which can be called from the File adapter.
Regards,
Jai Shankar -
File Content Conversion - Error in keyfield Value
Hello experts,
I am doing file content conversion for a file to file scenario. The input file is a csv file which is converted to xml using the file content conversion. The key field of input file is used for implementing conversion.
While testing the FCC, I noticed that if the keyfield value is wrong for a record in the file, the record is ignored altogether without throwing any errors or warnings. Is there any way to notify if any records have been ignored as a result of incorrect keyfield value??
Thanks in advance!
RRThere seems to be NO way to handle it in FCC.
File Content Conversion - Key Field Value
u can think of work arounds by handling it in mapping....
-santosh. -
Duplicate field names in File content conversion
Hi,
I need some details for csv to xml file conversion.I have configured the file content conversion adapter for these conversions.In source CSV file we will receive below details in single line.
0020000001000 0020000002000 0020000003000 0020000004000
Now i can successfully generate
<?xml version="1.0" encoding="utf-8" ?>
- <ns:MT_GLMast_out xmlns:ns="http://sap.com/PI/GLMast">
- <GLMasterData>
- <GLMAST>
<Customer1>0020000201000</Customer1>
<Customer2>0020000200000</Customer2>
<Customer3>0020000199000</Customer3>
<Customer4>0020000198000</Customer4>
</GLMAST>
</GLMasterData>
</ns:MT_GLMast_out>
with following parameters
GLMAST.fieldSeparator ,
GLMAST.fieldNames Customer1,Customer2,Customer3,Customer4
GLMAST.endSeparator 'nl'
Now the issue is customer wants to send 3000 customer number in single file.How to maintain the parameter to duplicate filednames just customer instead of customer1,customer2,customer3 etc...
<Customer>0020000201000</Customer>
<Customer>0020000200000</Customer>
<Customer>0020000199000</Customer>
<Customer>0020000198000</Customer>
This can be done if customer sends file like one customer number in one line.please help me how to process multiple customer number in single file separated with comma.
Thanks,
VijayFor this what you can do is, create the source and target data types as shown below
Source Data Type
<DTO_Customer>
<Records> 0..unbounded
<Customers> </Customers>0..1
</Records>
</DTO_Customer>
Target Data Type
<DTI_Customer>
<Records> 0..1
<Customer> </Customer> 0..unbounded
</Records>
</DTI_Customer>
Now since your data will come in a single string therefore do the FCC in sender channel as shown below
Records.fieldNames = Customers
Records.fieldSeparator = 'nl'
ignoreRecordsetName = true
So by doing this you will get the data into XI mapping in as single string. Now you need to write an UDF which will split this string into individual customers based on your delimiter in the string.
Now map the output of this UDF to <Customer> field.
You may need to do some other small fixes accordingly.
I hope this will solve your problem. -
Key field values for file content conversion at sender communicationchannel
Hi all,
I am working on scenario File to Idoc.In this scenario at the sender side we configure the file content conversion for .CSV file.
In the flat file i am having more than one orders, XI will pick the file and creates a separate Idoc for each sales order at r/3.
We have similar fields "Order Item Number" both header and item.
If we got '00000' on the Header item then it should create a new idoc at the r/3 side other wise it will create line item.
Order item number will be 00000 for header but it will differ from order item to item.
source structure
Order Header
Order type
Sold-to-code
PO number
Order item number
Order date
AdresName1
AdresName2
Street and House number
Postal Code
City
Country Code
Filler
Order Item
Order type
Sold-to-code
PO number
Order item number
Order date
Product code
Order quantity
Item text
Filler
Now I have some questions....
I don't have standard filed values to give the key fileds at source structure.
I need to create the Idoc at r/3 system for each individual record.
Is it possible to create new idoc with out using the Key filed value?
If it is possible then how can i proceed with fcc?
please give me your valuable suggestions
Best Regards,
satya
Edited by: satyatanuku on Mar 3, 2010 1:41 PM
Edited by: satyatanuku on Mar 3, 2010 1:42 PM
Edited by: satyatanuku on Mar 3, 2010 1:44 PMHi,
Just check the Content Conversion Parameters- Recordset Structure.
If you have filled in this parameter with
Header,1,Item,1
then change it to
Header,1,Item,3
Regards
Chandra -
File to File scenario, file content conversion
HI there,
I am facing this scenario, flat file -> XI -> flat file. Files are fixed length ones and .txt.
the structure of the incoming file is something like:
field1field2field3field4
field1field2field3field4field5
That means that there is no separation between fields (neither comma nor space) and there are optional fields that may appear or not.
My aim is to transform this file into another file, XI will do some maps with some fields but the rest will be the same (same fieldnames and same field lengths). So, the outcoming file should be similar as the incoming one:
field1field2field3field4(transformed)
field1field2field3field4field5
These are my FCC parameters (i think i have to use FCC):
Row.fieldNames= field1,field2,field3....
Row.fieldFixedLengths=1,3,4....
Row.processConfiguration=FromConfiguration
Row.endSeparator='nl'
...and my data type structure:
DT_XX
Record
Row
field1
field2
Here are my questions:
I have configurated the file content conversion in sender and receiver adapter, are they both necessary or should i only configurate the sender??
How can i manage the fields that are not mandatory?
What should be the transfer mode, binary or text?
I am a new come in development so, could anyone of you please give some support??
Thanks in advance and kind regards,
DavidHi David,
I have configurated the file content conversion in sender and receiver adapter, are they both necessary or should i only configurate the sender??
YES.
Suppose you only confgure it for sender then the target file that is generated will be in XML format.
How can i manage the fields that are not mandatory?
If the inbound structure has less fields than specified in the configuration then the XML outbound structure the you can set
Row.missingLastfields = ignore / add / error
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
What should be the transfer mode, binary or text?
If it is a txt file then text and set code page as UTF-8else binary.
<b>Cheers,
*RAJ*</b> -
Sorting the file in file content conversion.
Hi all,
we have a file(xml)-pi-file(flat file) scenario,
where we need to sort the output file by employee id field.
Where can we achieve the sorting of file by particular field.
Do we have any option in Mapping(Functions) ??
Any option is Reciever File Adapter??
Reciever File content conversion??
Any inputs will be of gr8 help.
Regards.
santosh.Hello,
Where can we achieve the sorting of file by particular field.
Do we have any option in Mapping(Functions) ??
Yes, there is a function in message mapping called sort and sortByKey, these can be found under node functions. To sort the ID, you can use this code
ID --> removeContext --> sort:(ascending or descending) --> ID
Use sortByKey to sort the additional details of the flatfile according to ID number e.g.
ID --> removeContext --> sortByKey:(ascending or descending) --> IDDetails
Details --> removeContext --> /
Any option is Reciever File Adapter??
Reciever File content conversion??
The receiver file adapter with FCC only converts the structure that is defined in your target message type into, say for example a text file. You have to do the manipulations in the message mapping.
Hope this helps,
Mark -
File Content Conversion - Header
Hi,
I need to produce an pipe delimited file. The only problem is that that column fields would need to be differentiated with an hypen.
A typical file format is
NAME
ADDRESS
AGE
ONE
134,DSTREET
27
TWO
222,SSTREET
28
How do i specify the two lines of hypen(-) in file content conversion, is it possible or do i need to use any unix script to achieve it.
When i posted, the pipe delimited disappeared.
Please note that there is pipe delimeted between each fields.
Regards
Krish
Edited by: Krish on Dec 21, 2011 2:20 PMhi Krish,
you can do it in your target Data Type, by specifying a structture which is not only based on your records, but like that:
HypenLine1
your headerLine (with field names)
HypenLine2
your Records... (so your current structure)
so something like:
DT_MyDataType
....HypenLine1 level with occurence 0..1
.............LineField with occurence 0..1
.... headerLine level with occurence 0..1
and in your mapping,
¤ you put constant in each field of your HeaderLine to provide the name of your field. (*)
¤ you put as many '-' character you want in your single field "LineField" of HypenLine1 and HypenLine2.
(*) of course, in your receiver CC, you should remove your option which produces the headerLine based on your fields names, as now this line is maintained directly in your mapping.
Mickael
Edited by: Mickael Huchet on Dec 21, 2011 2:38 PM
Maybe you are looking for
-
Why do my applications keep unexpectedly closing?
Everytime I open an application on my mac book pro it automatically sends me to an error message saying "insert name of application" quit unexpectedly click reopen to open the application again. This report will be sent to Apple automatically. Once i
-
Hi, I have 2 queries wrt to Bean usage in JSPDynPage. 1. I am trying a very simple example which goes as follows: Dynpage: public void doProcessBeforeOutput() throws PageException { testbeanclass4 testBean4 = new testbeanclass4(); ((IPort
-
Why is video stopping and starting
Two tv shows I bought recently are unwatchable because of the stop/start issue. I have a MBP, 4g memory, and even with all programmes closed except itunes, the problem persists
-
Hello, how can i convert a DTD into an XSD easily? (i want to use JAXB .. therefore i need an XSD but only have a DTD) thx
-
Xtreme Music/ Vista/ Installed but no sou
Hi guys, Im having great trouble with my Xtreme Music card. I have downloaded the vista driver from the Soundblaster site. I made sure any other drivers were uninstalled and disabled the onboard sound. I am using a Creative Digital i/o adapter also.