Keyfield value
Hi,
My scenario is File to Idoc. For doing file content conversion, I am using X-Link adapter to convert flat file format to XML format.
As per my input file, I am only having detail record in my file without header and footer.
I dont have any keyfield value in my input and hence no keyfield name.
When i am doing the file content conversion, it is asking for the key field value and keyfield name.
Can it be done without using keyfield value and keyfield name? If yes, please provide the solution how to go for it..........
Thanks in advance,
Regards,
Jayaram.G
Hi Jayaram,
if you have data of only one structure in your flat file, you do not need to specify keyfield in your FCC. Make sure you only specify one structure in the Recordset Structure, if here you specify two or more structure names, you will get the error you mentioned. Let me know you detailed configuration of yor FCC if the error still exist.
Jayson
Similar Messages
-
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. -
Content Conversion- Same keyfield value for two different sub structure
Hi,
I have a scenario where the key field value for the 2 substructure of record structure is same.
MY XML structure is like this :
<documentName>
<recordset>
<Header>
<field-nameA1>
<field-nameA2>
<field-nameA3>
<ITM1>
<field-nameB1>
<field-nameB2>
<field-nameB3>
<ROW1>
<field-nameB1>
<field-nameB2>
<field-nameB3>
<ITM2>
<field-nameB1>
<field-nameB2>
<field-nameB3>
<ROW2>
<field-nameB1>
<field-nameB2>
<field-nameB3>
The sample text file is given below where line no. 3 and 5 are different substructure(For ROW1 and ROW2 respectively) with same keyfield value.
"HDR",399,"file",20050302,100642,3289
"ITM1",2,3,4,5,6,7,8,9,10
"ROW",3,4,5,6
"ITM2",2,3,4,5,6,7,8,9,10
"ROW",7,8,9,10
After content conversion I get a XML structure in which there is no ROW2 and all data within the fields of ROW2 are put under ROW1 as the key field values are identical.
In the records only the first field is constant (e.g. ROW).
How to handle such a scenario?
Regards
Satish ChauhanUnless you can somehow expand the key, I don't know that this is possible. The key implies uniqueness - and in your case, unfortunately, it isn't. Is there any way to edit the structure to make it more unique for you? Do you have any control or ability to change that?
Maybe if you add unique keys in your mapping, you can strip them off with content conversion on the way out using the parameter keyFieldInStructure=ignore? -
Regarding keyfield value in payload
Hi
from the sender side I am receiving a flat file with header, body,trailer.
In the payload I don't have keyfied .
can any one suggest me how to configure in content conversion parameters in the sender file adapter.
Thanks & Regards
venkat.Hi Venky,
In addition to above reply check these blogs as well...
/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/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
Sachin -
Reg:working without Keyfield in FCC node structures
Hi All,
I have a scenerio of FCC to RFC , where i need to read a Text file and want to post it to R/3 through RFC
Recordset Structure : Header,1,Item,*,Trailer,1
Is it possible to read the file without Keyfield vale ?
Please give your valuable suggestions.
Thanks & Regards,
S.K.Karthikeyan.Thanks for the inputs folks....
According to our requirement, we have different no. of line items for each node viz. Header, Item and Trailer out of which Item occurs n number of times.
In this case, we have done the FCC using a keyField value itself.
Cheers,
Karthi -
Keyfiled value FCC iIssue.
Hi All,
How can we avoid or add keyfield Value in resulting XML by using FCC?
SameerHi,
>> How can we avoid or add keyfield Value in resulting XML by using FCC?
You can achieve it by using keyFieldInStructure property in FCC.
<node>.keyFieldInStructure : ignore
It indicates that the Key field should not be generated in the resulting XML.
<node>.keyFieldInStructure: add
This would indicates that the key field should be added in the resulting XML.
Try with this I'm sure it must work
Abid Mazhar -
Can we change key field values in table maintenance
Hi,
I have created Z-table and table maintenance for the same...
In table maintenance..Can we change key field values??
Is there any posibility????
Rayuduyou can do it in this way.
open sm30->tablname->edit
snow select the row(s)->copy->change the keyfield values-back->save.
no in that sm30, select records with old primary key and delete->save.
so you got all field similar for those record under modification, only the key field changed. -
Data fileds and key fields in DSO
Can any one explain what exactly difference between data fileds and keyfields in DSO or the concept of these two
And how to know which fields should be assigned to data filed or key field
with regards,
musaiHi Musai,
Let me take an ex. Say you have 3 fields A, B & C. Let us assume 'A' is keyfield, 'B' & 'C' are Datafields.
Lets assume the PSA data is :
A B C
001 Musai 89.9
002 Musai 89.9
003 Pavan 75.00
So when you load the data to DSO, since all the keyfield values are unique (001,002,003), all the records will get loaded to DSO.
But If PSA data is :
A B C
001 Musai 89.9
001 Musai 85.7
003 Pavan 75.00
Only 2nd & 3rd rows will be loaded to DSO since 1st & 2nd row have same value for keyfield (001). So 1st row gets overwritten(or summation depending on what is the setting in Transformation rule for C considering C is Keyfigure) by 2nd when you load to DSO. 3rd row doesn't have any problem. So that will go as it is.
Also please note that we cannot use Keyfigures as keyfield.
Hope it is clear now!
Regards,
Pavan -
File Content Conversion: Sender Problem
Hi,
I'm getting a very typical error in my Sender Communciation channel.
Channel CC_FILE_SENDER_2: Empty document found. Proceed without sending message
I've gone through a few threads and I know that the problem is with the Key Field and using * in the Recordset Structure but I cannot solve it. If I use * in the Recordset structure it fails,when I use a specific number it works. Any ideas
Here is my Communication Channel details
Document Name: MT_SENDER
Document namespace: http:\\sender
Recordset Structure: FileHeaderRecord1,1,FileHeaderRecord2,1,FileHeaderRecord3,1,FileDetailRecord,*,FileTrailerRecord1,1
Recordset Sequence: Ascending
Key Field Name: RType
And the configuration:
FileHeaderRecord1.fieldNames: RType,Filler,Code,Filler2
FileHeaderRecord1.fieldFixedLengths: 10,31,6,69
FileHeaderRecord1.keyFieldValue: V
FileHeaderRecord2.fieldNames: RType,Filler
FileHeaderRecord2.fieldFixedLengths: 3,113
FileHeaderRecord2.keyFieldValue: HDR1
FileHeaderRecord2.fieldNames: RType,Filler,Date,File,Filler2,Num,Filler3
FileHeaderRecord3.fieldFixedLengths: 3,2,5,6,21,3,76
FileHeaderRecord3.keyFieldValue: UH1
FileDetailRecord.fieldNames: RType,Filler,TCode,Filler1,Amount,Filler2,ZGC,Filler3,Date,Filler4
FileDetailRecord.fieldFixedLengths: 14,1,2,18,11,18,9,28,5,10
FileDetailRecord.keyFieldValue: 9
FileTrailerRecord1.fieldNames: RType,Filler,TCode,Filler1,Date
FileTrailerRecord1.fieldFixedLengths: 14,1,2,12,5
FileTrailerRecord1.keyFieldValue: UT1
ignoreRecordsetName: true
This is a copy of my file....
VPR456SCL1 852086
HDR1 SED456RD 345344500428 F 04 094520428 BS 09452
UHL1 09452ESBCL1 00000000 004
85208681123787085 000000000000500FREW RTYU POSWS123704375 09452
85208681123787085 000000000000600FREW RTYU POSWS123705307 09452
85208681123787085 000000000000600FREW RTYU POSWS123705671 09452Hi,
problem is in your keyfield value,
FileHeaderRecord1.fieldNames: RType,Filler,Code,Filler2
FileHeaderRecord1.fieldFixedLengths: 10,31,6,69
FileHeaderRecord1.keyFieldValue: V
keyfield name is RType and it is given a fixedlength of 10 characters, but your keyfieldvalue is "V
" which is not 10 char long that is the reason your adapter is failing to pick it.
same for all the other recordsets, the fieldvalue shd match the fixed length given.
Eg:- give keyfieldvalue like this "V ". it will work. -
Empty document found. Proceed without sending message
Hi All,
I have a file CC and it works fine , simple file.
But when I add Trailer to it... then I have no output file..Instead the CC channel shows that the document is empty and cannot proceed:
Here is the details ( Watch the Trailer added)
ZOUT_MT 11 -ZIN_MT 11
Recordset 1--1
Rec 1unboundedTest01 1-----unbounded
key(string) 1...1----
key 1..1(string)
name11(string) 1..1----
name21 1..1(string)
name12(string) 1..1----
name22 1..1(string)
Trail 1...1 -
Trail 1---1
key(string) 1..1 -
key 1..1(string)
test(string) 1...1 -
test1..1 (string)
In Config: Sender File CC
Doc Name :ZOUT_MT
Doc namspace : http://mytest.com/test1
RecordsetName : Recordset
Recordset Structure : Rec,*,Trail,1
Key Field Name : key
Recordset per message : 1
Rec.fieldNames : key,name11,name12
Rec.fieldSeparator : ,
Rec.endSeparator : 'nl'
Rec.processConfiguration: FromConfiguration
Rec.keyFieldValue : 1
Trail.fieldNames: key,test
Trail.endSeparator: 'nl'
Trail.processConfiguration : FromConfiguration
Trail.keyFieldValue : 1
Trail.fieldSeparator : ,
From all this work above , when I put the file having:
1,111,112
1,222,223
1,333,334
1,99
The output file in empty (null)...
Does anyone out there understand why the output file is becoming null..
here is the log I get in workbecnh (commuunication channel)
Audit Log for Message: c1a434f5-ad9f-4a26-08c1-e7d579a5927a
Time Stamp Status Description
21.01.2009 11:48:22 Success Channel ztest_sender_cc: Entire file content converted to XML format
21.01.2009 11:48:22 Warning Channel ztest_sender_cc: Empty document found. Proceed without sending message
21.01.2009 11:48:22 Success File "/mylocation/interface/SCM/somefolder/in/shilpagirlsinput.txt" deleted after processingkeyFieldValue must be different for Rec and Trail, keyfield is to distinguish Rec and Trail, their value must be different, otherwise how can you tell which record is Rec, and which is Trail?
Try to put different keyfield value, chang the input file and run the scenario.
Also because you specified cardinality 1...1 for Trail element, and 1 is used as keyfield for Rec, XI thinks there is no Trail in the outbound file, thus it produces empty document warning as Trail is required to be present by cardinality 1...1
Jayson -
Handling two record strucutre in incoming file adapter
I have a flat file (fixedlength type), which needs to be converted into the XMLPayload I tried multiple option but didn't work. Here is the file strucutre
P CONTRLT00010 01SCNCTCFSCR 001548340 12 130*
P CONTRLT00020 5 006
P CONTRLT00010 01SCNCTCFSCR 001548340 12 400 *
P CONTRLT00020 011
P CONTRLT00010 01SCNCTCFSCR 001548340 12 800 *
P CONTRLT00020 030
P CONTRLT00010 01SCNCTCFSCR 001548340 12 3200 *
P CONTRLT00020 350
P CONTRLT00010 01NCGRTCFSCR 004824269 12 176*
P CONTRLT00020 7 006
So this file has two record strucutre, I created the Datatypes with following strucutre
DT_TYPE
RECORD_SET1
FIELD1
FIELD2
RECORD_SET2
FIELD1
FIELD2
In the file adapter, I marked the recordsetignore true. and defined the following parameters
RECORD_SET1.fieldFixedLengths 1,8,6,1,1,6,6,1,1,10,15,2,6,7,1,4,7
RECORD_SET1.endSeparator 'nl'
RECORD_SET1.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,COMM_CANCEL,COMPANY_NUMBER,PROGRAM_FIELD,CODE1,CODE2,KEY_FIELD,ADDITIONAL_KEY,CARD_CODE12,REGULAR_HOURS12,REGULAR_RATE12,OT_CODE12,OT_HOURS12,CONTINUATION_IND
RECORD_SET2.fieldFixedLengths 1,8,6,1,4,6,4,4,4,4,10,3,1,6,2,5,1,1,7
RECORD_SET2.endSeparator 'nl'
RECORD_SET2.fieldNames KEY,PRGOGRAM_LITERAL,TASK_NUMBER,FILLER,OT_HOURS12,OT_RATE12,CONTROL12_3,CONTROL12_4,CONTROL12_5,CONTROL12_6,FUNCTION12,HED_NBR_12,TAX_TYPE12,LOCAL_CODE12,STATE_CODE12,PERIOD_DATE12,SHIFT12,DEDUCTION_CYCLE12,ENDO_OF_FORM_IND
ignoreRecordSetName true
RECORD_SET1.keyFieldValue 1
RECORD_SET2.keyFieldValue 2
RECORD_SET1.keyFieldInStructure ignore
RECORD_SET2.keyFieldInStructure ignore
RECORD_SET2.missingLastfields
RECORD_SET1.missingLastfields
On the adapter end its not reading the message and thrwoing the warning
Channel CC_TCFSCR_SENDER: Converted complete file content to XML format.
2009-07-30 13:21:26 Warning Channel CC_TCFSCR_SENDER: Empty document found - proceed without sending message.
Any pointer will be helpful.
Thanks,
SamirHi,
You are mentioning the wrong keyfield values i beleive.
RECORD_SET1.keyFieldValue 1 --- > on place of 1 enter the exactvalue which you want to use as key field.
RECORD_SET2.keyFieldValue 2 --- > same apply here.
As adapter is unable to find 1 or 2 in as keyfield in record its sending the empty document.
Try :
RECORD_SET1.keyFieldValue = P CONTRLT00010
RECORD_SET1.keyFieldValue = P CONTRLT00020
I hope his might help u.
Thanks. -
Hi,
I am working on a scenario File to IDOC.
I have a CSV source file, so I have usd File content conversion in my sender communication channel.
I am unable to convert my file successfully to xml.
My Source Structure is like :
OrderHeader
A
B
C
Item
A
M
N
OrderHeader
A
B
C
Item
A
M
N
Now we do not have any key field specified in the structure. If I try to give the Key Feild Name as 'A', then I cannot hardcode it as I do not know the fixed value. And if I add Key Field Name externally, this extra field won't be present in my source file, so it is unable to parse the source file, and returns the empty document.
Any help on this. If we do not have any field that can be recognized as key field in source structure, how to handle this.
Thanks,
VikasIts is not a flat file but CSV.
@jyothi :
You did not specify the key field anywhere i the example shown.
You just gave the fieldNames as A,B,C. Where should we then add the keyfield and the keyfield value.
Can you explain in a bit detail if possible.
And also you specified AdditionalLastFields for Header and MissingLastField for Item. Any particular reason for this.
I think in both we can add missinglastfield, which eventually doesn't work though.
Also can we add any module for this.
The main problem is that when I add a key field externally, this is not present in my source file due to which it does not parse the source file successfully. Source file has then actually less number of fields than configures in file content conversion.
How can we handle this.?
Thanks,
Vikas -
Content Conversion XI 7.0
Hi
I have configured a sender file adapter to convert csv file to xml. The incomming records are comma separated and optional field will just come as ",". The file adapter is giving following message
2006-10-16 17:22:36 Success Channel CC_TW_TLOG_SENDER: Entire file content converted to XML format
2006-10-16 17:22:36 Warning Channel CC_TW_TLOG_SENDER: Empty document found. Proceed without sending message
If I process records without any blank values it is processing properly
Example : TWS001,01,,XXX,ABC -- Fails
TWS001,01,A,XXX,ABC -- Works
In the second case the value A is populated.
Content conversion configuration, I have made sure that KeyField value is not empty.
Any help on this.
Regards
PrahlladPrahllad,
MDT is a Visual Administrator tool.
XML messages that are successfully delivered to the Adapter Engine, can be monitored with the Message Display Tool (MDT).
This can either be started directly via the URL http://<Host>:<PORT>/mdt/index.jsp or from the Runtime Workbench.
Adapter Engines Messaging System (MS) receives the message, processes it and forwards it to the receiver (that is, the file adapter)
Hope this helps.
Regards
Senthil -
File content conversion in File-to-RFC without BPM
Hi,
I am using FCC for file to RFc scenario.
My input record is in the following format:
Header record
data rec1
data rec2
Trailer record..
The parameters are used in File content conversion:
Recordset Name : Header,item
Recordset Structure: Header,1,item,*
key field name : data1
and in additional parameters:
Header.fieldNames HI,GenDate,Ftype,Fname,Fdate
Header.keyFieldValue Fname
Header.fieldFixedLengths 1,8,1,50,8
Header.endSeparator nl
item.endSeparator nl
item.fieldNames DATA1,DATA2,DATA3,DATA4
item.keyFieldValue item
item.fieldFixedLengths 231,240,241,120
item.lastFieldsOptional YES
Can anyone check whether any parameters are left, b'cos the file is not being read with this settings. and in the C.C its just showing file processing successfully but not able to see the actual file.Hi,
I assume you have header, item and trailer structure in source file.
Source Data Type will be as follows.
RecordSet
--> Header
--> KeyField(Value OH)
--> H1
--> H2
--> Item
--> KeyField (Value OL)
--> I1
--> I2
-->Trailer
--> KeyField (Value OT)
--> T1
--> T2
Where Item Strucutre can come multiple times.
Please use following settings.
Recordset name: RecordSet
RecordSet Structure: Header,1,Item,*,Trailer,1
Key Field Name: KeyField
Header.fieldNames: KeyField,H1,H2
Header.fieldFixedLengths: 2,3,4
Header.processFieldNames: fromConfiguration
Header.keyFieldValue: OH
Header.LastFieldsOptional: YES
Item.fieldNames: KeyField,I1,I2
Item.fieldFixedLengths: 2,5,6
Item.processFieldNames: fromConfiguration
Item.keyFieldValue: OL
Item.LastFieldsOptional: YES
Trailer.fieldNames: KeyField,T1,T2
Trailer.fieldFixedLengths: 2,8,9
Trailer.processFieldNames: fromConfiguration
Trailer.keyFieldValue: OT
Trailer.LastFieldsOptional: YES
Regards,
Gouri -
Scenario Help - Problem in Return Flow from RFC
Dear Expert,
I am new to the XI development. we are on XI 7.0PI. In one of our scenario
we are pulling some info. from Sql database & post some documents in SAP via RFC. in this case RFC returns me the Document No. & some status from SAP which i am suppose to update back the same table row from where i have fetched this information. But the problem is the RFC does not return the Key value which i need to update the SQL table back.
How can i solve this problem without using BPM. I cannot change the RFC since it is not in my hand. ( So that RFC can take the Key Field of SQL & return the same back which i can use in my reverse Mapping. )
Any Global container which can hold this data from Forward Map which i can use in Reverse Map to update this SQL table.??
Pl. Help... Waiting for the reply.
Regards,
UmeshHi Sudheer,
From SAP Help,
This object enables you to cache the values that you want to read again when you next call any user-defined function in the <b>same message mapping</b>.
In this case, the mapping programs are different. So there is no way (to my knowledge) of using GC to solve this issue. If the issue has to be solved from XI, my soln would be opting for a lookup in request and response mapping. In request mapping store the keyfield value and in response mapping, retrieve the same. Ofcourse this is <b>not</b> a much recommended way by SAP.
A cleaner soln would be to develop a wrapper RFC (if the original RFC can not be changed) that returns the keyfield value along with the status.
Regards,
Jai Shankar
Maybe you are looking for
-
How to remove all calendars from OSX
I have a MBP with OSX Lion. iCloud all set up. I want to delete all local calendars from MBP so I can run a sych with iCloud so I don't duplicate events. How to I delete all local calendars so my iCloud sync stays clean. I'm surprised that in additio
-
I minimized all but the "tabs" ribbons on the top of the screen - now I cannot get the navigation ribbon (toolbar?) back, so I have no way to enter a URL, reload, etc. I can't figure out how to view the tools menu.
-
Audio out from internal speaker, how?
I purchased iPhone 3G 8GB, before that I have been using iPod touch. With iPod touch audio from games etc came out from internal speaker if I did not plug earphones. But for some reason that does not work with iPhone 3G. Only very few apps uses inter
-
Macbook freezes when I start phoning via Skype
Macbook freezes when I start phoning via Skype but it’s continuing ringing. Here’s the log file for this time 23.11.13 17:26:54,943 xpcproxy[16877]: assertion failed: 13A603: xpcproxy + 3438 [EE7817B0-1FA1-3603-B88A-BD5E595DA86F]: 0x2 23.11.13 17:26:
-
Deletion of duplicates in the table with out using rowid
How can I delete duplicates in the table with out using ROWID .