on 07-28-2009 4:13 PM
Hi,
I have a recordset structure like this.
DTLegacyHeader,DTLegacyItemMasterData,DTLegacyTrailer
The communication channel is giving an error like KeyFieldName is mandatory. What do i need to specify in the FCC
This is the Recordset Structure
DTLegacyHeader,1,DTLegacyItemMasterData,*,DTLegacyTrailer,1
I have specified the necessary parameters like field separator, end separator,ignore recordset etc.,
Let me know what woyuld be the error.
Hi you have to specify the keyfield which is mandatory.
Please check the following blogs
/people/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file
/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
HI krish,
Use KEY FIELD = KZ
And in the
Recordset.fieldNames : KZ,FIELD1,FIELD2,FIELD3
Recordset.keyFieldValue : 1
Recordset.fieldNames : KZ,FIELD4,FIELD5,FIELD6
Recordset.keyFieldValue : 2
You can define your text file format starting with 1 for header and 2 for Items etc.
Hope this will help you.
cheers,
Gangadhar
Edited by: Gangadhar G on Jul 28, 2009 5:34 PM
HI krish,
Use KEY FIELD = KZ
And in the
Recordset.fieldNames : KZ,FIELD1,FIELD2,FIELD3
Recordset.keyFieldValue : 1
Recordset.fieldNames : KZ,FIELD4,FIELD5,FIELD6
Recordset.keyFieldValue : 2
You can define your text file format starting with 1 for header and 2 for Items etc.
Can you give your configurations in FCC and file structure(TEXT FILE) you sent.
NOTE : The keyfield is used only to differentiate the records in your file as Header data or Item data or Condition data etc.
example file:
1 Field1 Filed2 Field3
2 Field4 Filed5 Field6
2 Field4 Filed5 Field6
2 Field4 Filed5 Field6
Hope this will solve your problem.
cheers
Edited by: Gangadhar G on Jul 28, 2009 5:41 PM
Edited by: Gangadhar G on Jul 28, 2009 5:43 PM
Hi,
This is my source file
H,Column1,Column2,Column3,Column4,Column5,Column6,Column7,column8,column9,column10,column11,column12,column13,column14,,
D,P001,Material,MaterialDescription,WT,Kg,,,,,,,,,,,
D,P002,Material,MaterialDescription,WT,Kg,,,,,,,,,,,
T,2,4,500,1000
Also find the parameters mentiioned in FCC
KeyFieldName = RecType
DTLegacyHeader.fieldSeparator = ','
DTLegacyHeader.fieldNames = (Field Names are given with comma)
DTLegacyHeader.endSeparator = nl
DTLegacyHeader.keyfieldName = RecType
DTLegacyHeader.keyfieldValue = 'H'
The same order applies for the rest of the structures
Krish,
Try this parameters:
DTLegacyHeader.fieldSeparator = , (Dont give in quotes)
DTLegacyHeader.fieldNames = (Field Names are given with comma) --- OK
DTLegacyHeader.endSeparator = 'nl' (give it in quotes)
DTLegacyHeader.keyfieldName = RecType
DTLegacyHeader.keyfieldValue = H (without Quotes)
Regards,
---Satish
Krish,
Since you have three structures you need to have a key field which identifies the structure separately. This would be different for each structure. With this xi will identify the record belongs to which structure.
If you two strucures DTLegacyHeader,1,DTLegacyItemMasterData,* then xi will convert the first one to header and the rest to ItemMasterdata. Since you have three DTLegacyHeader,1,DTLegacyItemMasterData,*,DTLegacyTrailer,1 xi will not know when your ItemMasterData is completed becasue it is *. So to handle this you definitely need to have a key field.
So ask the guys who gave you the file to have a key field in the first column say H, D, T which says header, detail and trailer and give this key field in your comm. channel.
Regards,
---Satish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
83 | |
10 | |
10 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.