cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver FCC: endSeparator now working

Former Member
0 Kudos

Hi,

I am having an issue while doing file content conversion at receiver side.

My XML structure is as below:

<ROOT>

<MASTER>

<DATA1>data1</DATA1>

<DATA2>data2</DATA2>

</MASTER>

<MASTER_DETAIL>

<DATA3>data3</DATA3>

<DATA4>data4</DATA4>

</MASTER_DETAIL>

<MASTER>

<DATA1>dataA</DATA1>

<DATA2>dataB </DATA2>

</MASTER>

<MASTER_DETAIL>

<DATA3>dataC</DATA3>

<DATA4>dataD</DATA4>

</MASTER_DETAIL>

</ROOT>

Now entries in Receiver FCC were

ROOT,MASTER,MASTER_DETAIL

MASTER.fieldSeparator=|

MASTER_DETAIL.fieldSeparator=|

MASTER.endSeparator='nl'

MASTER_DETAIL.endSeparator='nl'

ROOT.endSeparator='nl'

ROOT.fieldSeparator='nl'

Output got:

data1|data2|data3|data4

dataA|dataB|dataC|dataD

Expected output :

data1|data2

data3|data4

dataA|dataB

dataC|dataD

Please let me know what to specify?

Regards, Anirudh

Edited by: Anirudh Vyas on Sep 17, 2008 3:05 PM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Specify recordset structure = MASTER,MASTER_DETAIL

it should not contain ROOT

Answers (3)

Answers (3)

Former Member
0 Kudos

@Santaosh

I rechecked, it is looks okay.

@Nallam,

I have set ignoreRecordsetName = true but still the same issue. No change in output.

Thanks Mugdha,

I have removed it and it is working as it is. But the problem still persists.

Regards,

Anirudh.

Former Member
0 Kudos

MASTER.fieldSeparator=|

MASTER_DETAIL.fieldSeparator=|

try with these 2 parameters only.. By default XI puts newline as endSeparator... so no need to write it.

Former Member
0 Kudos

Hi,

Removed all other parameters.

Now it has only 2 for the fieldSeparator but still the same output.

regards, Anirudh.

Former Member
0 Kudos

Hi,

I was testing by chaging some enf and begin separators.

The parameters that I have used were:

MASTER.fieldSeparator=,

MASTER.endSeparator=-

MASTER_DETAIL.fieldSeparator=*

MASTER_DETAIL.beginSeparator=+

Output I got was:

data1,data2data3data4

dataA,dataBdataCdataD

Looks like whatever I have specified for end and begin separators was not taken for content conversion by the adapters!

regards,

Anirudh.

Former Member
0 Kudos

Problem solved!

I was supposed to do 2 stage mapping to map the parent and child segment of Idoc to Parent and child XML structure and then do mapping to have parent and child nodes as siblings of ROOT.

As below

MAP1: Idoc to XML1

MAP2: XML1 TO XML2

XML1:

<ROOT> *

<MASTER>

<DATA1>...</DATA1

<MASTER_DETAIL>*

<DATA3>...</DATA3>

</MASTER_DETAIL>

</MASTER>

</ROOT>

XML2:

<ROOT>*

<MASTER>

<DATA1>...</DATA1>

</MASTER>

<MASTER_DETAIL>

<DATA3>...</DATA3>

</MASTER_DETAIL>

</ROOT>

I was doing content conversion with XML1.

I didn't add MAP2 in interface mapping.

Now my output is as expected.

Thank you all for your help.

regards,

Anirudh.

former_member192295
Active Contributor
0 Kudos

HI,

Add below statement it will work. No need root remove it from structure

ignoreRecordsetname = 'true'

santhosh_kumarv
Active Contributor
0 Kudos

Hi,

Your FCC is perfect. Just cross check the parameter MASTER.endSeparator='nl'. Only this has not got executed resulting a different structure. Check in the channel if additional space is given to this parameter or if it is misspelled.

Thanks

SaNv...