cancel
Showing results for 
Search instead for 
Did you mean: 

FCC Problems

Former Member
0 Kudos

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.

Accepted Solutions (1)

Accepted Solutions (1)

GabrielSagaya
Active Contributor
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi,

Now the file has been picked up. But, it says empty message found though there were contents inside.

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Krish,

Please close this query if your problem is solved. If you are still facing any error let us know.

cheers,

Gangadhar

Former Member
0 Kudos

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

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi krish,

Keep nl in single quotes and the KEy field value without Quotes.

Refer my earlier explanation for any queries.

cheers

Answers (1)

Answers (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Satish,

I do have the key values H, D and T.

I had specified them and now the error is gone. But nothing is being picked up by the adapter.

It just simplly says processing is finished and i dont see any message id,.

Is there any sequence in giving the keyfield name or can be given anywhere,.

Former Member
0 Kudos

Hi Krish,

So then there is some problem in your content conversion. Can you give the parameters you have given and also the sample file you are trying to pick so that somebody can help you out.

Regards,

---Satish