cancel
Showing results for 
Search instead for 
Did you mean: 

mapping general error in sxmb_moni

0 Kudos

Hello Experts,

I have created fcc to abap proxy scenario, where file gets picked from ftp,and i receive red flag in moni (mapping:general error)
please find error screenshot. (im using PI 7.4 dual stack).

I have checked all objects in ESR, but all look fine. Cant figure out what could be the issue.


Thanks and regards,
Varsha.

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

Hi,

I have given all fields occurence as 0-1.
and its one to one mapping for all fields except for only one, which has fix values.

Row field in source is mapped to Row field in target, which is element at higher level, below which all other fields are there.

Regards,
Varsha.

former_member184720
Active Contributor
0 Kudos

It's not about fields.. It's about mapping for row segment.

take your payload from moni and test the mapping in ESR.

Is your source xml validated against the xsd? Are you doing any content conversion in sender channel.

Share your input payload and mapping screenshot.

nabendu_sen
Active Contributor
0 Kudos

Hi Varsha,

You are facing this issue because as per Data Type definition <Row> must occur at least 1 time (1 -- Unbounded) but the logic in your message mapping is not able to satisfy that.

Go to SXMB_MONI --> Find the message  --> Inbound Message (after opening the messages) --> Payload --> Main Document (Double Click) --> Right Click (view Source). It will open the xml in a Text Editor. Then Copy the xml from Editor.

Now come to Message Mapping --> Test (Just beside definition Tab) --> Paste at the Sender side.

Then Right click on the field <Row> and select 'Display Queue'. Provide us the screen shot of the that.

Regards,

Nabendu.

Answers (5)

Answers (5)

0 Kudos

Hi,

I tested the payload, it was showing same error that row field requires some value.
So I changed occurence of row field from "1-UNBOUNDED" to "0-UNBOOUNDED", and my mapping was executed successfully.


Thank you so much all!

Varsha.

suman_saha
Contributor
0 Kudos

Hi,

If your row doesn't have any value then what output are you getting??

I guess you should not change the occurrence of row, rather correct the payload header. If no row is coming,there is no point of mapping.

Suman

0 Kudos

Hi Suman,

I think you are right.
I changed occurence to "1-unbounded".
I have run the payload at sender side, this is what i received:
"

Cannot create target element /ns0:MT_Material_Master_Receiver_OUT/Row. Values missing in queue context. Target XSD requires a value for this element, but the target-field mapping does not create one. Check whether the XML instance is valid for the source XSD, and whether the target-field mapping fulfils the requirement of the target XSD"

When i right clicked on the Row, and "display queue", result was:
<null>
<null>


Please guide me now how should I correct this?

Thanks,
Varsha.

suman_saha
Contributor
0 Kudos

Hi,

As workaround, Go to message mapping test tab,give some test values,see the header there and check whether its the same as your payload.

Copy the header to your payload and test, it should work.

It seems you are have JDBC sender channel,check the message type name.

Suman

0 Kudos

Hi Suman,

It is FCC to ABAP proxy.
I didnt understand one thing. If the occurence of all values below Row is 0-1, then how can Row occur 1-unbounded? Even that should be 0-unbounded right?

Thanks,
Varsha.

suman_saha
Contributor
0 Kudos

Hi,

I missed that its a FCC scenario.

Check the FCC parameters, there is something wrong with the conversion.

Suman

suman_saha
Contributor
0 Kudos

Hi,

If you are having 0 row, that means no data is there at all.

Other values below row is having 0 occurrence means they are not mandatory. Suppose you are having 10 fields below row,you want 5 at a time, other 5 fields will have occurrence 0.

There should always be a row to get a output as no other node is there.

Check the FCC parameters first and look for the structure and naming of the payload.

Suman

suman_saha
Contributor
0 Kudos

You can make row min occurrence 0, its your choice. But it will not serve your problem.

Is there any test case where you are getting expected output?

I guess no.

If your FCC is not correct, your message will not fail may be,but you will not get any output as it will not find any row ever.

suman_saha
Contributor
0 Kudos

Hi,

May be the structure of the input file is erroneous as it is unable to find the row itself which is having min occurrence 1 (and it should be). Check the namespace and the naming of the input xml.

You can get the input file from sxmb_moni -> payload. Get the input payload from the 1st step in pipeline step and test that directly in message mapping. You will get to know the error.

Suman

Former Member
0 Kudos

Hi varsha,

this is mapping issue. are you able to run the map successfully in ESR?

Cheers

Hidayat

suman_saha
Contributor
0 Kudos

Hi,

Check for the mandatory field where the minimum occurrence is 1.

Go to sxmb_moni -> trace .... You will get to know which field is missing.

Regards,

Suman

former_member184720
Active Contributor
0 Kudos

What is your mapping for row segment on the target message?

It's expecting some values from source which are missing.

it's not an issue with configuration. Debug your mapping by using display queue option and see what is missing from source.