Hi Experts,
I have a file to file scenario in which i have to pickup a ".CSV" file and transfer it as it is to another location in SAP PI 7.1 .The challenge is that i have to add a UTF-8 BOM . So, i followed the below steps :
1)Create a data type, message for input and output with dummy structure.
Both input and output Message type the similar structure as below.
2) Two service interfaces , one for inbound and another for outbound as in any normal scenario.
3)Operational mapping with a java mapping class to add UTF-8 BOM
public class AddBOM implements StreamTransformation {
private Map param = null;
private MappingTrace trace = null;
public void execute(InputStream inStream, OutputStream outStream)
throws StreamTransformationException {
// TODO Auto-generated method stub
//BufferedReader to read inputStream
BufferedReader br=new BufferedReader(new InputStreamReader(inStream));
//Trace object declaration
AbstractTrace trace = null;
trace =
(AbstractTrace) param.get(
StreamTransformationConstants.MAPPING_TRACE);
String reading=null;
StringBuffer buf=new StringBuffer();
String CSV_content;
try
{
while((reading=br.readLine())!=null)
{
buf.append(reading);
buf.append(System.getProperty("line.separator"));
}
CSV_content=buf.toString();
//Character array to add UTF-8 BOM in CSV
char[] c = {0xEF, 0xBB, 0xBF};
for(int i=0; i<3; i++)
{
outStream.write(c[i]);
}
outStream.write(CSV_content.getBytes());
outStream.flush();
}
catch (Exception e) {
// TODO: handle exception
trace.addDebugMessage(e.getMessage());
}
}
public void setParameter(Map Param) {
// TODO Auto-generated method stub
if (param == null) {
this.param = new HashMap();
}
}
}
4. Created an ICO with OM implementing the above java mapping.
But, when the scenario is tested it throws me an error "Error.com.sap.aii.adapter.xi.routing.RoutingException:Unable to parse XML message payload to extract operation for receiver determinationorg.xml.sax.SAXParseException:Content is not allowed in prolog" .
Can you experts kindly help me to know if this adding BOM is possible only if i do FCC forming the exact XML structure and is there any possibility to add BOM using java mapping without converting using FCC as i am not doing any change between source and target .csv files except adding this BOM .
Request clarification before answering.
Hi,
when you test the payload with operation mapping are you getting the correct output as you expected?
in the receiver determination can you select "not operation specific" and try to run the scenario?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
| User | Count |
|---|---|
| 5 | |
| 5 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.