cancel
Showing results for 
Search instead for 
Did you mean: 

FCC Recordset structure question.

Former Member
0 Kudos

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

Shirin

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

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.

i can say YES.

>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?

Once you activate it and check.

Thanks,

Madhu

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi,

I have also been receiveing the same error in one of our XI scenarios.

This error happens when there is no XI Payload created after FCC.

Actually in XI, if the FCC is unable to create a payload based on the parameters it creates an empty file and sends the this file to Integration server where it fails in mapping.

Secondly the data structure given by you consists of one Recordset under another recordset. Unfortunately XI FCC is incapable of handling such a structure using normal FCC parameters.

You can refer to some links in Blogs where it has been demonstrated how to handle these situations using mappings etc.

Please let me know in case any further help is required.

Regards,

Anurag Mahendru.

former_member200267
Participant
0 Kudos

HI,

Refer these blog

/people/venkat.donela/blog/2005/06/08/how-to-send-a-flat-file-with-various-field-lengths-and-variable-substructures-to-xi-30

/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/anish.abraham2/blog/2005/06/08/content-conversion-patternrandom-content-in-input-file

hope it helps.

Regards,

RDS

GabrielSagaya
Active Contributor
0 Kudos

check prakash reply

Former Member
0 Kudos

HI

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

Former Member
0 Kudos

No need to include keyfield in source structure.

Rest of the structure has to be the same

But be sure you write keyfield while writing fieldnames

Former Member
0 Kudos

Hi,

I have activated the Comm channels, but the error persists.

To make it more clear, this is the structure of my data_type defined in IR

DT_COMPANY
   |__COMPANY_DETAILS
       |__MESSAGE_HEADER
           |__Filed1
           |__Field2
   |__COMPANY_DATA
       |__Filed1
       |__Field2
       |__COMPANY_ITEM
           |__Field1
           |__Filed2
           |__Field3
   |__DATA_TRAILER
       |__Filed1
       |__Field2

In the FCC, I have defined the following parameters

Documnet Name: Company
Doc namespace:  www.testinterface.com
Recordset Name: RC_NAME
Recorset Struct:  Header,1,Data_header,1,Data_item,*,Trailer,1
Key Field name: KZ

Then in FCC advanced parameters, I have elaborated the above Recordset structure field names and lengths etc

( Example:

Header.fieldNames: KZ, Source, Destination, Message_ID, CRLF

)

However as seen, the field names in recordset.fieldNames are not same as in the Data type mentioned above.

If this is incorrect, could you help let me know how to go about it.

Thanks

Shirin

Former Member
0 Kudos

Hello Shrini,

Try this :

Documnet Name : Message Type name

Documnet namespace: Message Type namespace

Recordset Name: COMPANY_DETAILS

Recorset Struct: COMPANY_DETAILS,1,COMPANY_DATA,*,DATA_TRAILER,1

COMPANY_DETAILS.keyFieldValue = <ur key value>

COMPANY_DETAILS.fieldSeparator = ,

COMPANY_DETAILS.endSeparator = 'nl'

COMPANY_DETAILS.fieldNames = Field1,Field2

Repeat same for COMPANY_DATA & DATA_TRAILER.............. (here i hv assumed that endSeparator is , & end Separator is 'nl')

Thanks,

Mahi

Edited by: Maheshwari Morbale on May 26, 2008 12:33 PM

Former Member
0 Kudos

Hi,

As per all the posts and Mahi's mail, I have matched the recordset name, root node and namespace in FCC as per the DT names, but I still get this error in SXMB_MONI:

<SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_COMPANY_: Parsing an empty source. Root element expected!</SAP:Stack> 
  <SAP:Retry>M</SAP:Retry>

On checking the comm channel processing log, Comm channels are Green and say message delivered/processed successfully.

Any ideas/help appreciated.

Regards

Shirin

Edited by: Shirin K on May 27, 2008 11:08 AM

Former Member
0 Kudos

Hi All,

I have tried various changes in the FCC parameters, but am still getting the same error in the SXMB_MONI.

(Parsing an empty source. Root element expected).

Is there a way to debug and undetstand what root element XI is expecting.

Appreciate your help.

Regards

Shirin