FileToIDoc-Scenario: Additional level in recordset structure
Hello,
can I configure the content conversions of the Fileadapter in a way, that an additional level will be inserted (e.g. group1 or group2) ?
I want to get the following structure:
==========================
<recordset>
....<header>
....</header>
....<group1>
........<NameA>
............<field1>....</field1>
........</NameA>
........<NameB>
............<field2>....</field2>
........</NameB>
....</group1>
....<group2>
........<NameC>
............<field3>....</field3>
........</NameC>
....</group2>
</recordset>
At the "Recordset Structure" I would have expected a structure like:
=> header,1,group1(NameA,,NameB,),group2(NameC,*)
Does such a kind of notation exist?
Thanks in advance for any hints...
Cheers,
Juergen
Edited by: Juergen Grallert on Feb 23, 2009 2:09 PM
Hi Juergen,
I've been making 2 level heirarchies from flat files using node functions. This blog post might help you.
/people/stefan.grube/blog/2005/12/29/new-functions-in-the-graphical-mapping-tool-xi-30-sp13
Also this:
http://www.riyaz.net/blog/xipi-convert-flat-file-to-deeply-nested-xml-structures-using-only-graphical-mapping/
Regards,
Aaron
Edited by: Aaron Myers on Apr 9, 2009 3:25 PM
Similar Messages
-
Recordset structure in receiver communication channel
Hi gurus!
I have a problem with my receiver communication channel it says "Unknown structure 'Headers' found in document', probably configuration error in file adapter (XML parser error)'"
It's for sure that the problem is in the configuration of the adapter.
My scenario is from iDoc to File and i need to write only one header and many Lines, i made the data type like:
Headers
---Header
Lines
---Line
And the problem is in the configurarion of the recordset structure and the lines below.
If you know another way better to make the data type to acommplish what i've to do, just tell me I just made it that way because i thought it could work.
If something is not clear just let me know, what i more need is the config. of the receiver adapter.
Thanx in advance.
JuanHi Juan
If i understand correctly .. you are doing FCC on your receiver communication channel...and the following is your Target Data type
Headers
---Header
Lines
---Line
and FCC parameters you created are as below
Recordset structure: Headers,Header,Lines,Line
Header.fieldSeparator \r\n
Header.endSeparator \r\n
Line.fieldSeparator \r\n
Line.endSeparator \r\n
If the above data is correct, then I would like you try out the FCC parameters in my previous post. Because in the FCC parameters, you used only substructures(Header and Line) and you did not mention the lists ( Headers and Lines). That's why i think it is errored out.
If my interpretation is wrong, please let me know where i went wrong, i will try to look at again. -
'*' in the recordset structure resulting no val's for fieldFixedLengths
'*' in one of the recordset structure resulting no values for fieldFixedLengths
Dear All, I have a strange (at least, strange to me) problem in file content conversion in sender file adapter.
I have Data type with following structures
DT_FLAT_IN
-Struc1 (0..1)
--FKEY
--FVAL
-Struc2 (0..1)
--FKEY
--FVAL
-Struc3 (0..1)
--FKEY
--FVAL
-Struc4 (0..Unbounded)
--FKEY
--FLD1
--FLD2
--FLD3
Flat File i get is like this
KEY1 1234567
KEY2 2343434
KEY345 XVD
102003171979SS^^
in the content conversion, i have 2 sets of parameters (this is FTP and ContentConv)
ignoreRecordsetName -> true
Struc1.fieldFixedLengths -> 8,12
Struc1.fieldNames -> FKEY,FVAL
Struc1.processConfiguration ->FromConfiguration
Struc1.keyFieldValue -> KEY1
Struc1.lastFieldsOptional -> YES
Struc1.keyFieldInStructure ->ignore
Struc1.endSeparator ->'nl'
Pretty much same for Struc2 and Struc3 but the struc4 has different set of parameters as this
has the separator instead of fixed length.
Struc4.fieldSeparator -> ^
Struc4.fieldNames -> FKEY,FLD1,FLD2,FLD3
Struc4.processConfiguration ->FromConfiguration
Struc4.keyFieldValue -> 1020
Struc4.lastFieldsOptional -> YES
Struc4.keyFieldInStructure ->ignore
Struc4.endSeparator ->'nl'
The problem is if I specify * in recordset structure field then i don't see any of the
Struc1, Struc2, Struc3 values in inbound message payload.
for example: Struc1,1,Struc2,1,Struc3,1,Struc4,*
or
Struc1,1,Struc2,*,Struc3,1,Struc4,1
If i change it to 1 then i see the values in inbound payload for everything in the file.
For example: Struc1,1,Struc2,1,Struc3,1,Struc4,1
I have gone through the blogs,SDN forum, SAP Help for parameters as well as google but i couldnt find
anything that solves this problem.
Please let me know what i am missing or is there any order in Parameter specifications?
I have added/removed parameters (Trial and error) but couldnt figured it out on my own.
Any help regarding this is appreciated.
Thanks in advance.Dear All,
Thanks for sharing your thoughts. After a long struggle, i was able to figure it out the problem and the solution may not be appropriate but at least working for me.
fixedFieldLengths was 8,12 but i have changed it to the length of the value... in my scenario, for example, the value is 'YES' - though the length will be 8 including spaces, i have changed it to 3 from 8.
Somehow, this worked and i am, now, able to use * for other structures.
Just in case, if anyone has the problem. -
Sender FCC with unbounded RecordSet Structure produces Empty File
Hi Experts,
My scenario is File (FTP) to IDoc, using FCC on the sender.
The source file is a flat file representation of the IDoc e.g. with the segment names preceeding each record row.
FCC parameters are as follows:
RecordSet Name: Z1RECORDSETNAME
RecordSet Structure: EDI_DC,1,E1TPDLH,1,Z1TPI2H,1,E1TPACC,E1TPTRM,,E1EDT13,,E1TPDIH,1,Z1TPI2HD,1,E1TPNOT,*
RecordSet Sequence: Variable OR Ascending
.fieldFixedLengths
.fieldNames
.keyFieldValue
.endSeparator
.keyFieldInStructure
above parameters are used in all segments, except in E1TPNOT where ignoreRecordsetName is added
My issue is when the test file contains more than 1 value for the unbounded segments E1TPTRM, E1EDT13 (e.g. 3 row values for E1TPTRM and 2 row values for E1EDT13) the Content Conversion succesfully finishes but produces an Empty File (size = 0)
Does anyone know how to fix this issue? Am i missing something in the parameters to be able to support the current file structure?
Kindly share your ideas/solution
I've tried to edit the test file to have only 1 record value for the unbounded segments and it is succesfull and does not produce an empty file.Try giving
EDI_DC,1,E1TPDLH,1,Z1TPI2H,1,E1TPACC,E1TPTRM, * ,E1EDT13, * ,E1TPDIH,1,Z1TPI2HD,1,E1TPNOT,*
I got it, i guess even you have given the astrix after E1TPTRM and E1EDT13 and it changed to bold.
Ok ignore my answer. -
Reg: consistency check in recordset structure validation
Hi all,
I am doing FCC to FCC scenario, i am getting this error. Help me out, it is very urgent for me.
Sender Adapter v2723 for Party '', Service 'bs_text2text':
Configured at 2007-08-21 08:00:49 UTC
History:
- 2007-08-21 09:29:06 UTC: Retry interval started. Length: 2.000 s
- 2007-08-21 09:29:06 UTC: Error: Conversion of complete file content to XML format failed around position 0: Exception: ERROR consistency check in recordset structure validation (line no. 87: missing structure(s) in last recordset
- 2007-08-21 09:29:06 UTC: Processing started
- 2007-08-21 09:29:04 UTC: Error: Conversion of complete file content to XML format failed around position 0: Exception: ERROR consistency check in recordset structure validation (line no. 87: missing structure(s) in last recordset
- 2007-08-21 09:29:04 UTC: Processing started
Regards,
Ajay.Hi Ajay,
Problem with the file content conversion parameters you specified in the sender file adapter.
Do let us know your DT structure and FCC parameters specified in adapter.
Regards,
Sumit -
FCC Recordset structure question.
Hi,
I have completed the config for scenarion File>XI>IDOC(R/3)
After activating the File comm channel, the message coming out of XI (in sxmb_moni) has the following error
'Parsing an empty source. Root element expected'
I want to know:
1> Does the Recordset-structure field names (defined in .fieldNames) need to match exactly with the Data_type structure defined in IR. Currently my Data_type in IR does not have a key field, which I have introduced in the FCC keyField parameter.
2>I have generated all my ID config by importing 'Integration Scenario' from IR and this has resulted in Automatic Creation of HTTP, RFC, IDOC,XI Receiver channels. ( GeneratedReceiverChannel_HTTP, GeneratedReceiverChannel_RFC, GeneratedReceiverChannel_IDOC, GeneratedReceiverChannel_XI ). Do I require all of these to be active?
Thanks and Regards
ShirinHI
FCC Paremeters:
nameA.fieldSeparator =~
nameA.endSeparator ='nl'
nameA.fieldNames =text1,text2,text3,text4
nameA.processFieldNames fromConfiguration
nameA.lastFieldsOptional Yes
nameA.missingLastFields Add
nameA.additionalLastFields ignore
ignoreRecordsetName: true
if endSeparator = newline, then
nameA.endSeparator = 'nl'
nameA.fieldSeparator =~
nameA.fieldNames = field1,field2,field3,field4
if endSeparator = #, then
nameA.endSeparator = #
nameA.fieldSeparator =~
nameA.fieldNames = field1,field2,field3,field4
1. NameA.missingLastfields
If the inbound structure has less fields than specified in the configuration then the XML outbound structure is created as follows:
○ ignore
Outbound structure only contains the fields in the inbound structure
○ add
Outbound structure contains all fields from the configuration; the fields missing in the inbound structure are empty.
○ error
Conversion is terminated due to the incomplete inbound structure. An error message is displayed.
2. NameA.additionalLastFields
If the inbound structure has more fields than specified in the configuration then the XML outbound structure is created as follows:
○ ignore
Outbound structure only contains the fields in the inbound structure
○ error
Conversion is terminated due to the incomplete inbound structure. An error message is displayed.
The default value is ignore. If you have defined the NameA.fieldFixedLengths parameter, the default value is error.
If you have defined the NameA.fieldFixedLengths parameter and do not set either of the parameters described above, apart from the default values, the conversion routine works the same as described under Handling Structure Deviations.
Only once you set one of the two parameters will the other parameter be evaluated with its default value.
To ensure a well-defined runtime behavior for variable inbound structures, we recommend that you always set both parameters.
cheers -
FileContentConvesation.(Recordset Structure)
If the record is mandary and comes only once
we declare in recordset structure as
record,1
if record has multiple occurences we declare as
record,*
if the record id optional .....?? what we need to give ??recordset structure. Thanks
sagarHi
Recordset structure is at records level. If you specify as record,1 we have only one record and if you specify as * then you have multiple records.
But I think what you are talking about is for a particualr field. If your recordid is a field and it is optional then in recordset try to give as * because you dont know whether you have one or multiple.
So dont confuse yourself between the recordset(at record level) and your record id which is a field level.
Regards,
---Satish -
Hi.
I'm new to XI and I'm currently trying to build a simple File to File scenario. I have a flat file that looks like:
name,address,id,age,....
name....
so each element is comma seperated and each record is on a new line.
I have a DT that looks like:
DT_Flat_File
-name
-address
-id
etc
I am currently building the Comunication Channel for the pickup and i dont know what to put into the "Recordset Structure" field.
Any help would be appreciated, and maybe a summary of what can go into this field also.
Thanks
Garethmake the DT as
DT_Flat_File
-Root
name
address
id
etc
so that name, id etc comes under root
Now your recordset is root.
In the other case;
DT_Flat_File
-name
-address
-id
you will not be able to provide a recordset and it wudnt be possible to read the file using content conversion. -
Components in the lowest level of costing structure in SO
Hi,
Could you please let me know is any function module to get Components in the lowest level of costing structure in Sales order.
Thanks,
HarinathYes, you can manipulate your components any way you like. Becareful about the layout manager though as it likes to handle the positioning and sizing, so there is an intimate relationship there.
Also call validate() on the container after you make your changes. -
RecordSet Structure Sequence Variable in JMS like in File Adapter
Hi all,
We are having some problems trying to find how to implement the functionality of the variable recordset structure in a JMS adapter.
We do have a structure with this form:
HR - data
AR - data
AR - data
HR - data
The two first chars are the keyfield, and our comm channel is just ignoring the second occurence of the Header (HR).
In a File adapter, we would use the Recordset Sequence = Variable parameter but, is there anything similar for the JMS adapter?
Thanks in advance, Iñaki.Hi Kamesh,
I believe it's a namespace issue, pls check namespace of your consumed message and one used in your transformation..should match.
Test your xslt separately (by including correct namespaces,especially in tag <element1> ... source in ur xslt)
Thanks,
Faiz -
File Content Conversion - Recordset Structure required??
Hi,
I have a File Sender Communication Channel (CC) to convert very simple csv format to XI data type (XML).
The contect of csv file will look something like this and will always have one line per file.
111,222,333,444,555
And I have defined the Data Type/Message Type with 5 fields as follows:
Sender_DT
---F1
---F2
---F3
---F4
---F5
Assuming that I'll always get one line of data in a csv file, I don't really need to set Recordset Structure in Content Conversion Paramters of File Sender CC but it is required parameter so you can't save it without populating this parameter.
I understand that I can add a recordset to my DT so that it will look like below and type in Recordset in the Recordset Structure parameter but wanted to see if there is any other way to go around this without adding Recordset to DT.
Sender_DT
---Recordset
F1
F2
F3
F4
F5
Thanks,
JayHi Jay,
You are correct. You can't have a struct like
DT_SOURCE
--F1
--F2
--F3
You need another node with in DT_SOURCE like recordset
DT_SOURCE
-Recordset
--F1
--F2
--F3
If you don't get multiple lines in source file, you can simpl set the Recordset occurance to 1..1 but it is mandatory.
Regards,
Jai Shankar -
ERROR consistency check in recordset structure validation
Hi,
I have a file that has the format below. The file is managed with the below content conversion parameters. However, it's not working and the error message that i get is "Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR consistency check in recordset structure validation (line no. 7: missing structure(s) in last recordset". Any idea, what when wrong? Thanks.
Message Type defined:
FileHeader (occurrence = 1)
ARPostingRecord (occurrence = 1 to unbounded)
RecordHeader (occurrence = 1 to unbounded)
RecordDetail (occurrence = 1 to unbounded)
Source file looks like this:
01 Field1 Field2...Field-n
H Field1 Field2...Field-n
L Field1 Field2...Field-n
L Field1 Field2...Field-n
H Field1 Field2...Field-n
L Field1 Field2...Field-n
L Field1 Field2...Field-n
where:
01 is the keyfieldvalue for FileHeader
H is the keyfieldvalue for RecordHeader
L is the keyfieldvalue for RecordDetail
Specified parameters:
FileHeader.fieldSeparator
FileHeader.endSeparator
FileHeader.fieldNames
FileHeader.keyFieldValue
RecordHeader.fieldSeparator
RecordHeader.endSeparator
RecordHeader.fieldNames
RecordHeader.keyFieldValue
RecordHeader.missingLastFields
RecordHeader.keepIncompleteFields
RecordDetail.fieldSeparator
RecordDetail.endSeparator
RecordDetail.fieldNames
RecordDetail.keyFieldValue
RecordDetail.missingLastFields
RecordDetail.keepIncompleteFields
ignoreRecordsetName
Recordset Name:
ARPostingRecord
Recordset Structure:
FileHeader,1,RecordHeader,1000000,RecordDetail,1000000>ERROR consistency check in recordset structure validation (line no. 7: missing structure(s) in last recordset". Any idea, what when wrong?
When you are not sure about number of records for RecordHeader and RecordDetail, Please specify wildchar character. Dont give max numbers. The errors says expecting the specified number for recordset and since it is missing gives errror. -
ERROR consistency check in recordset structure
Hello All,
Below is my input file format looks like:
HEADER
REC_1
REC_1
REC_1
REC_2
FOOTER
And I have defined the Recordset structure as HEADER,1,REC_1,*,REC_2,*,FOOTER,1.But the occurence of REC_2 is optional (0 to Unbounded).
Conversion of file content to XML failed at
position 0: java.lang.Exception: ERROR consistency check in recordset structure
validation (line no. 4: missing structure(s) before type 'HEADER'
It looks like the error is due to missing REC_2 segment in the input file.
Can you please tell me how to handle this in FCC
Thanks,Hi Naresh
IMHO, I don't think that the error is due to missing REC_2 in the input file.
From SAP library, * includes also 0 occurence.
Converting Text Format in the Sender File/FTP Adapter to XML - Configuring the File/FTP Adapter in Integration Directory…
Under Recordset Structure, enter the sequence and the number of substructures as follows:<NameA,nA,NameB,nB,...>, where nA=1,2,3,... or * (for a variable, unlimited number, including 0).
Please provide screenshot of your FCC configuration and also sample input file that is causing the error so that it can be analysed further.
Rgds
Eng Swee -
Hi !
I need to enter a value for the number of records in the Recordset Structure in the Content Conversion Parameters of the File Adapter. The records should be atleast one with a possibility of more than one records ....... in other words - one or more than one records. I do not want to enter 'fieldName, ' as '' could also equal zero records. What would be the correct syntax ?
Cheers,
Ashok.File adapter or <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm">Sender</a> or <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm">receiver</a> ?
If it is of type sender, you have to put the name of the recordset and ",*"
Regards,
Sandro -
From the help
Under Recordset Structure, enter the sequence and the number of substructures as follows: <NameA,nA,NameB,nB,...>.
Where, nA=1,2,3,... or * (for a variable, unlimited number, including 0).
Can anybody give me examples .......of M/T structure for nA=1, 2 and * (star) ?? Actually I wan to know when to use numbers(nA=1, 2 etc) and when to use ' * ' .
thanks
kumarHi,
In the below structure recordset structure will be:
SubStrucutreA,2,SubStructureB,1
indicates that a structure can occur any number of times..It might not occur as well.
<MessageType>
<RecordSet>
<SubStructureA>
<field1A></field1A>
</SubStructureA>
<SubStructureA>
<field2A></field2A>
</SubStructureA>
<SubStructureB>
<field1B></field1B>
</SubStructureB>
</RecordSet>
</MessageType>
Regards,
Sudheer.
Maybe you are looking for
-
Optimization of Drill Down time to Base level members
Hi All, I have built a Balance Sheet Lead Sheet in which I need to show all the Entities in rows which have values for a particular Balance Sheet Account.What I am doing is providing the Entities structure at Consolidated level and then allowing user
-
9iR2 XSLT: disable-output-escaping bug if input is escaped
If my interpretation of XSLT standards is correct, the "disable-output-escaping" attribute in the following example should output <table width="100%"> before the first attribute of the current element, and </table> after the last one. The overall res
-
Airplay and airfoil cut out all the time
Whenever I stream music from my mba via either iTunes or AirFoil to my speakers the sound will cut out all the time. If I switch the sound output in sound preferences to the airplay speakers then everything works fine and there's no cutting out. Ho
-
Hi, I'm currently away on a training course for the week and I'm trying to work on my publication in the evenings, but the hotel WiFi is not letting me download my publications to the iPad content viewer. Is there anyway to preview a publication loca
-
Can't import mpeg video - not supported
Production Premium user. The whole purpose of multitracking against video is useless as I've just found out Audition does not support MPEG MPEG-2. I went to the Apple site where I was led to believe that buying the QuickTime MPEG-2 Playback Component