cancel
Showing results for 
Search instead for 
Did you mean: 

Error in Sender File Adapter

Former Member

Hello,

I am getting the following error in sender file adapter:

Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
Mandatory parameter 'Header.keyFieldValue': no value found.

Please let me know what should be the key field name to give in content conversion based on field names below.

Also, for value of key field name, since the values will be dynamic in the incoming files, do we need to give static values or can we leave out key field values?

Here is my sender file adapter content conversion parameters:

Recordset Structure: Header,1,Detail,*

Key Field Name:  What should be the key field name?

Recordsets per Message: 1

Header.fieldNames: Comp_Code,Post_Period,Doc_Date,Post_Date,Reference,Doc_Type,Doc_Hdr_Text

Header.fieldSeparator: ‘0x09’

Header.endSeparator: 'nl'

Detail.fieldNames: Date,Ref_Num,Bus_Area,Cost_Element,Post_Key,Amount,Assignment,Item_Text,Cost_Ctr,Int_Order,Proj_WBS,Network,Activity,Sales_Order,Sales_Item

Detail.fieldSeparator: ‘0x09’

Detail.endSeparator: 'nl'

Module tab: Processing sequence

1. MessageTransformBean: Local Enterprise Bean     Module Key: Plain2XML

2. CallSapAdapter     : Local Enterprise Bean     Module Key: 0

Module Configuration:

Plain2XML     Transform.Class               com.sap.aii.messaging.adapter.Conversion

Plain2XML      Transform.ContentType     text/xml;charset=utf-8

Plain2XML     xml.conversionType          SimplePlain2XML

Plain2XML     xml.documentName          Message_Type_Name

Plain2XML     xml.documentNamespace     www.namespace.com

Plain2XML     xml.processFieldNames     fromConfiguration

Thanks,

Marko

Accepted Solutions (1)

Accepted Solutions (1)

baskar_gopalakrishnan2
Active Contributor

>Also, for value of key field name, since the values will be dynamic in the incoming files, do we need to give static values or can we leave out key field values?

Keyfield Values will help to distinguish the incoming each record between header and detail node (in your case). So you have to specify the keyfield name and value for the header and details. You can also follow the below link for understanding and how you specify for fcc complex structure.

http://www.riyaz.net/sap/xipi-file-content-conversion-for-complex-structures/79/

Hope that helps.

Former Member
0 Kudos

Thanks for your replies.

This is for incoming tab delimited file, since I have header and detail records, do I need to give below key field names and values as parameters?

Header key field name: Comp_Code and key field value: 1

Detail key field name: Date and key field value: 2

Also, do I need to give key field name below the line Recordsets per Message? Is this supposed to be first field name from Header and Detail field names? I am not clear on this.

Thanks,

Marko

Shabarish_Nair
Active Contributor
0 Kudos

Yes.. you are correct about the keyfield name and value.

also you can add the parameters above

Header.fieldNames: Comp_Code,Post_Period,Doc_Date,Post_Date,Reference,Doc_Type,Doc_Hdr_Text

baskar_gopalakrishnan2
Active Contributor
0 Kudos

You could create keyfieldname same for header and detail but value could be different like 1 and 2 respectively.

>Also, do I need to give key field name below the line Recordsets per Message? Is this supposed to be first field name from Header and Detail field names? I am not clear on this. You can follow sample screenshot as this...

Former Member
0 Kudos

Hello All,

THANK YOU VERY MUCH for your prompt help and replies. I have added 1 keyfield name for Header and 1 keyfield name for Detail records with value. I am not getting any error in communication channel anymore. Hopefully, when a file is processed, I hope I don't get any runtime errors. Do I also need to do the same file adapter configuration for receiver file communication channels if SAP ECC is generating file and sending it to FTP server?

Thanks again.

Marko

baskar_gopalakrishnan2
Active Contributor
0 Kudos

No. Receiver file content conversion is slightly different from sender adapter configuration. You might want to check this link and sap help document for this.

http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm

//check the receiver file configuration

http://www.riyaz.net/sap/xipi-file-content-conversion-for-complex-structures/79/

Answers (2)

Answers (2)

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Marko,

First confirm you really need key field value in your case, if it is not required then no need to enter any name.

If Key field idetified then enter key field name as mentioned Shabz.

Regards,

Raj

Former Member
0 Kudos

Hello Raj,

If I leave the key field name blank, then I am getting error:

Conversion initialization failed: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found:
Mandatory parameter 'xml.keyfieldName': no value found

Thanks,

Marko

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Marko,

Is your input data having any key value to differentiate? MessageTransformBean expects key field mandatory.

Regards,

Raj

Shabarish_Nair
Active Contributor
0 Kudos

please provide a keyfield value for both header and detail nodes.

refer - http://help.sap.com/saphelp_nw04/helpdata/en/24/4cad3baabd4737bab64d0201bc0c6c/frameset.htm