cancel
Showing results for 
Search instead for 
Did you mean: 

### in XI Payload

Former Member
0 Kudos

Hi Experts,

We are facing a critical issue in our productive environment.

The output after mapping in XI has the character '#' filled up completely meaning the entire payload is filled with '#'

We have a multicluster server environment and this might be happening in few server nodes.

Any inputs on this would be highly appreciated.

Regards,

Varun.

The issues are below.

1. All receivers with enhanced receiver determination could not be determined and XI is processing #### values to all subscribing systems.

2.. #### are being filled just after mapping.

3. We are not sure if this is the case on one server node or with all server nodes.

4. On recommendation, we recently upgraded JVM of our system to resolve this particular issue but the issue stil persists.

Edited by: Varun on Mar 4, 2010 5:07 PM

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello,

Just to update the thread.... issue is fixed after ABAPJ2EEDB restart. Please note that we did not do OS level restart.

But we are still looking root cause for it.

Thanks

Sachin

stefan_grube
Active Contributor
0 Kudos

What was in the element before mapping?

Maybe a codepage issue.

Former Member
0 Kudos

Hi All,

I dont think so your are able to understand exactly what the error is

The payload which is converted normally by mapping is converted to ####

For eg:

<Name>######</Name>

In cases where the recv is a JDBC we have an error in adapter engine since the attribute action cannot have ##### but in other cases corrupted data is sent the downstream system

Rgds

Aditya

Former Member
0 Kudos

Hi Stepan,

Even i think so its a codepage issue but could you tell me in what cases does this happen

Because everything was working fine till now and suddenly we have this issue

Its something to do with mapping since the messages is converted into ### format only after the mapping, let it be enchanced receiver determination or interface determination

Please let me know the cases where such data can be converted to ### values? I am trying to write a small java code that can reproduce this error

Rgds

Aditya

stefan_grube
Active Contributor
0 Kudos

> Its something to do with mapping since the messages is converted into ### format only after the mapping, let it be enchanced receiver determination or interface determination

This can happen, the source message has values which do not exist in codepage.

This can also happen when Java mapping or UDF writes binary arrays without concerning the correct codepage.

But on the other side it might be a problem of the display of the content. So the content of the message is correct, but when you view it, it is displayed wrong.

A lot of possibilities

So the best approach here is checking source and target message with a hex editor and compare the values.

Former Member
0 Kudos

Hi Stefan,

i am trying to simulate this by writing a java code and changing the code page but in XI why do you think this can happen.your interface is running fine for the past 2-3 months suddenly all the interfaces start behaving like this

Quite strange please let me know your thoughts on this

rgds

aditya

stefan_grube
Active Contributor
0 Kudos

After reading the thread again, I do not think that can do anything for this.

If the same mapping fails on one server node and works well on another, it is a hardware issue.

Report this to SAP.

abhay_aggarwal
Participant
0 Kudos

Hi Varun,

Can you plesae let me know that # you are getting in the Receiver payload ? if it so then you can use java mapping for this.

use this java code only any edit ur logic for ur req

package com.agr.test.replacechar;

import java.io.InputStream;

import java.io.OutputStream;

import java.util.Map;

import com.sap.aii.mapping.api.StreamTransformation;

import com.sap.aii.mapping.api.StreamTransformationException;

import java.util.HashMap;

import com.sap.aii.mapping.api.AbstractTrace;

import com.sap.aii.mapping.api.StreamTransformation;

import com.sap.aii.mapping.api.StreamTransformationConstants;

import com.sap.aii.mapping.api.MappingTrace;

import com.sap.aii.mapping.api.StreamTransformationException;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

/**

*

*/

public class ReplaceAmpersnd implements StreamTransformation {

private Map param = null;

private AbstractTrace trace = null;

public void setParameter (Map param)

{

this.param = param;

if (param == null)

{

this.param = new HashMap();

}

else

{

trace =(AbstractTrace) param.get(StreamTransformationConstants.MAPPING_TRACE);

}

}

public void execute(InputStream in, OutputStream out) {

try {

int read_data;

while ((read_data = in.read())!=-1)

{

if (read_data != '&')

{

out.write(read_data);

}

else

{

out.write("".getBytes());

}

}

out.flush();

}

catch (Exception e)

{

trace.addWarning("Error " + e.getMessage());

}

}

}

Regards

Abhay

Edited by: Abahy Aggarwal on Mar 5, 2010 1:48 PM