cancel
Showing results for 
Search instead for 
Did you mean: 

Error in FCC

Former Member
0 Kudos

Hey guys

i m doing a very simple File content conversion scenario and getting this error when i test the mappin using the payload generated in SXMB_MONI.

Cannot produce target element /ns:MT_FILEOUTPUT/Record/Row. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

where might the problem be?

thanx

ahmad

Accepted Solutions (1)

Accepted Solutions (1)

bhavesh_kantilal
Active Contributor
0 Kudos

Ahmad,

After the content conversion , take a look at the incoming payload in MONI.

Check if this payload confirms to the datatype that you have created for your Source strucutre. If yes, then it implies it is an error in the mapping.

if it does not comply to the source datatype, then it implies, you need to work on the content conversion and change the same.

Regards,

Bhavesh

Former Member
0 Kudos

hey

tha payload i m getting in moni is

<?xml version="1.0" encoding="utf-8"?>

<ns:FILEINPUT xmlns:ns="http://Thoughtbyte.com">

<Record>

<Row>

<Name>Mark</Name>

<Address>sue</Address>

</Row>

</Record>

</ns:FILEINPUT>

and the one i m getting in Message mappin is

<?xml version="1.0" encoding="UTF-8"?>

<ns:MT_FILEINPUT xmlns:ns="http://Thoughtbyte.com">

<Record>

<Row>

<Name>Mark</Name>

<Address>Sue</Address>

</Row>

</Record>

</ns:MT_FILEINPUT>

The second line of these XML are different ,in MONI i m gettin <ns:FILEINPUT xmlns:ns="http://Thoughtbyte.com"> where as in mapping i m gettin <ns:MT_FILEINPUT xmlns:ns="http://Thoughtbyte.com">

one thing which i noticed is that if i copy the payload from moni and jst change the second line as per the payload of message mappin,it works fine(i.e just change <ns:FILEINPUT xmlns:.....> with <ns:MT_FILEINPUT xmlns:....> )

MT is my message types and FILEINPUT is my data type.

hope this makes it more clear

thanx

ahmad

bhavesh_kantilal
Active Contributor
0 Kudos

Ahmad,

You need to change the Document Name in the Sender File adapter to <b>MT_FILEINPUT</b> from FILEINPUT . After this it should work.

Regards,

Bhavesh

Former Member
0 Kudos

Hey

i did change the document name but i m still getting the same error.

the payload from moni still doesn't has MT_FILEINPUT

is document name the data type name or message type name?

<?xml version="1.0" encoding="utf-8"?>

<ns:FILEINPUT xmlns:ns="http://Thoughtbyte.com">

<Record>

<Row>

<Name>Mark</Name>

<Address>Sue</Address>

</Row>

</Record>

</ns:FILEINPUT>

the parameters i have used in FCC are

Row.fieldNames: Name,Address

Row.fieldSeparator: ,

Row.processConfiguration: FromConfiguration

Row.endSeparator: 'nl'

do i need to put anything else?

thanx

ahmad

bhavesh_kantilal
Active Contributor
0 Kudos

Ahmad,

This is what the complete configuration should be,

DocumentName : MT_FILEINPUT

DocumentNamespace : http://Thoughtbyte.com

RecordsetName : RECORD

RecordsetStrucutre: ROW,1

in the table,

ROW.fieldNames : NAME,ADDRESS
ROW.fieldSeparator : ,
ROW.endSeparartor : 'nl'

Also, for this the MessageType you have created should be MT_FILEINPUT. Please check the Message TypeName and then Check if the Message Interafce is using this Message type.

Regards,

Bhavesh

Former Member
0 Kudos

Thanx bhavesh

its working fine now,

appreciate ur help.

also one general question,as i m in the leranig phase i do all these scenarios and my sender file is usually kept in the same directory for all the scenarios,and if a duplicate name occurs then some othere scenario is kicked in and it gets all messed up,is there a way after doin a scenario successfully i can stop it from being executed automatically?

thanx and really appreciate ur help

ahmad

bhavesh_kantilal
Active Contributor
0 Kudos

Ahmad,

Quite simple

Deactivate the corresponding Sender File adapter.

Go to the adapter in the Integration Directory --> Status --> make it inactive and then activate change

How was this issue solved? What was the problem?

Regards,

Bhavesh

Former Member
0 Kudos

thanx

well the problem were my parameters,i didn't give all the parameters,

as of now i m using

Row.fieldNames

Row.fieldSeparator

Row.processConfiguration

Row.endSeparator

Record.endSeparator

Record.fieldNames

Record.fieldSeparator

one more question if u dont mind

if i m having multiple rows in my source data type,only thing i need to change in ID is

Recordset Structure = Row,*

right?

thanx

ahmad

Message was edited by:

Ahmad ansari

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Yes , but also ensure that the ROW tag in your source datatype is also 1 to Unbounded.

You also need a the KEYFIELD in cases when you have * . Try by making the changes and if it doesnt work let us know, you might need to use the KEYFIELD option as well.

Regards,

Bhavesh

Former Member
0 Kudos

Thanx guys

my scenario is working fine for multiple rows as well.

really appreciate ur help

just for my knowledge had it not been workin,what should have i put for KEYFIELD?

thanx

ahmad

Message was edited by:

Ahmad ansari

Message was edited by:

Ahmad ansari

bhavesh_kantilal
Active Contributor
0 Kudos

Ahmad ,

Understanding the use of KeyField is also useful.

take a look at this blog,

/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem

Regards,

Bhavesh

Former Member
0 Kudos

Thanx Bhavesh

u guys have been really helpful,i m studyin XI by myself and its so hard without any Instructor:( hopefully i should be able to learn it in some time

thanx

ahmad

Answers (1)

Answers (1)

former_member189558
Contributor
0 Kudos

Ahmad,

It seems your problem is:

the Row element under /ns:MT_FILEOUTPUT/Record/ is mandatory and is unable to create because of some validation failure.

What I suggest is :

Download the source payload from SXMB_Moni....

Upload the payload in mapping Test Tab and execute.

It is likely you will get the same error there as well. then you can check the mapping for Row in the mapping editor and check if the conditions are satisfied or not. It may be bacause the source data does not satisfy some sondition.

Let me know if this is the case....

Cheers,

Himadri