cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping error in FCC to XML conversion

balaji_pichaimuthu
Active Participant
0 Kudos

hiii friends,

im donig a simple fcc to xml conversion

my Sender msg type is like

TXT_mt

records 1.1

row 1.n

id 1

Name 1

address 1

My receiver msg type like

Xml_mt

records 1.1

row 1.n

id 1

Name 1

address 1

msg mapping like

records--->records

id--->id

Name-->Name

address-->address

**Im getting a mapping error like**

<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_pepsi_fcc_file_mm_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>During the application mapping com/sap/xi/tf/_pepsi_fcc_file_mm_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error>

I ve checked my adapeters they r green.

Could u tell me the problem here and how to solve it???

Regards

Balaji

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi!

One cause might be that some elements of cardinality 1 (=obligatory) in your source message are not present at runtime.

To see more/better information about the concrete cause and location of the mapping error please have a look at SXMB_MONI -> mapping step -> TRACE part of the XI message.

There you should find more information than just that generic error you posted here.

Regards,

Volker

balaji_pichaimuthu
Active Participant
0 Kudos

Hii Volker thnx for your reply,,

I am not great knowledge on xi, i can still the trace the message but i cant understand the problem from the details,

Could you explain more about this

or Is the any weblog or any presentation please let me know

Regards,

Balaji

balaji_pichaimuthu
Active Participant
0 Kudos

Hii Volker,

I have tried to understand the trace msg,. i got one interesting error message i hope it will tell the exact problem im facing,,,

<Trace level="1" type="T">RuntimeException during appliction Java mapping com/sap/xi/tf/_pepsi_fcc_file_mm_</Trace>

<Trace level="1" type="T">com.sap.aii.utilxi.misc.api.BaseRuntimeException: RuntimeException in Message-Mapping transformation: Cannot produce target element /ns:xml_mt/record/row. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd at com.sap.aii.mappingtool.tf3.AMappingProgram

My Sender CC contains the following FCC parameters

Document Name -


> txt_mt

Recordset Name -


> records

recordset Structure -


> row, *

row.fieldNames -


> id, Names,address

row.fieldSeparator -


> , (comma)

row.endSeparator--- > 'nl'

row.processConfiguration -


> FromConfiguration

my TXT_in.txt contain

100,balaji,chennai

200,raj,orissa

300,charakrat,bangalore

Regards,

Balaji

Edited by: Balaji Pichaimuthu on Jul 1, 2009 3:44 PM

former_member192295
Active Contributor
0 Kudos

Hi,

Add one more statement at sender channel and check it

ignoreRecordsetname = true

Meanwhile do one to one mapping (mean each source node map with target node)

balaji_pichaimuthu
Active Participant
0 Kudos

where can the find this field ignoreRecordsetname?

you mean u want to right like row.ignoreRecordsetname -


> true

Edited by: Balaji Pichaimuthu on Jul 1, 2009 4:01 PM

Edited by: Balaji Pichaimuthu on Jul 1, 2009 4:01 PM

former_member192295
Active Contributor
0 Kudos

This is standard SAP statement add this statement in FCC parameters. No need to add row variable, you can write directly.

ie.,

row.processConfiguration -


> FromConfiguration

after

ignoreRecordsetName---->true

former_member200962
Active Contributor
0 Kudos

>

> where can the find this field ignoreRecordsetname?

>

> Edited by: Balaji Pichaimuthu on Jul 1, 2009 4:01 PM

You have to include this in the FCC parameters of the Sender File CC....for more info you can refer this section from help:

http://help.sap.com/saphelp_nw70/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

By the way the error you are getting --> check XML instance:

In SXMB_MONI open the payload present under the Inbound Message section.....use this in your MM (in IR) and test your mapping program.....confirm whether there is some configuration missing in the FCC or your mapping program is not designed properly...

Regards,

Abhishek.

Former Member
0 Kudos

Hi!

This error "Cannot produce target element /ns:xml_mt/record/row" means that your source XML message does not contain a row. There must be something wrong with your FCC configuration. Have a look at the payload (in SXMB_MONI or in RWB Adapter Engine) directly in the incoming message.

Regards,

Volker

balaji_pichaimuthu
Active Participant
0 Kudos

This is payload im getting from inbound payload

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

- <txt_mt>

- <records>

- <row>

<id>100</id>

<Name>balaji</Name>

<address>chennai</address>

</row>

- <row>

<id>200</id>

<Name>raj</Name>

<address>orissa</address>

</row>

- <row>

<id>300</id>

<Name>chakaradhat</Name>

</row>

</records>

</txt_mt>

In the 3rd record last Field Value is missing ... but i gave three records,,, is this related with actual problem.

Edited by: Balaji Pichaimuthu on Jul 1, 2009 4:24 PM

Former Member
0 Kudos

Balaji,

You can remove records in message type itself. Have row and followed by fields and let the message type be txt_mt. Then it should be smooth for you.

Then in recordset structure in communication channel give: row

and if your file is fixed length then give parameters as:

row.fieldFixedLengths : give lengths of the fields

row.endSeparator : 'nl'

if file is comma separed then:

row.fieldSeparator: ,

row.endSeparator : 'nl'

Also if you are writing a fixed length file in your mapping for each field put mapwithdefault. Double click on that and put the spaces depending upon your length, so that even if your mapping doesnot populate the field in the file, with this function it will populate spaces and will not lead any errors in content conversion. Else you may run into issues.

Example: sourceaddressfield --> mapwithdefault --> address

Regards,

---Satish

Answers (1)

Answers (1)

former_member192295
Active Contributor
0 Kudos

Hi,

Make mapping between source row to target row also, your problem will be sort out easily.

balaji_pichaimuthu
Active Participant
0 Kudos

Hii nallan ,

thnx for your reply

i did the same you said but the still the problem exist

former_member192295
Active Contributor
0 Kudos

Hi,

I think some where configuration problem exist. Pls check below points

1. I mapping window check test tab whether getting output exactly or not

2. In ID window interface determination check inbound interface & inbound mapping inputs.

3. Check all ID configuration (sender & receiver inputs)