Implementation decision about EDIFACT to XML conversion
Hi
My company wants to convert invoices received in EDIFACT D93A format into a native xml format. Until now i have used content conversion with for other vendors, but now a vendor uses EDIFACT D93A format. the content conversion can be tedious and complex to debug.
Our XI is on NW2004s SP 10
How can i check if conversion agent is already present on my XI ? Is not is Installing it is the work of Basis consultant or XI consultant?
How technically hard is the whole installation Process?
I would like suggestions and recommendations how to implement this,
The options i found out until now are ( in order of simplicity)
1. Integrating Stylus studio , and calling it from adapter module parameters tab in CC .
2. Using Conversion agent by Itemfield and calling it in module parameters tab in CC
3. Using Seeburger EDI adapter
4. Using content conversion in file adapter.
Considering cost and Technical implementation difficulties what is the best approach and are there any other approaches?
Thanks a lot
4. Not possible or extremely difficult
3. Costly
2. Good option. But would require minimum 590MB installation space
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
1. Adapter module could be developed but it would be a bit time consuming
Regards,
Prateek
Similar Messages
-
Issue in Excel to XML Conversion
Hi Gurus,
I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
Classpath dependency validator message.
Classpath entry will not be exported or published. Runtime ClassNotFoundExceptions may result.
I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
This issue is occuring for all the jars imported.
I am using following code.
import java.io.FileInputStream;
import java.io.FileOutputStream;
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.AbstractTrace;
import java.util.HashMap;
import jxl.Cell;
import jxl.Workbook;
public class JavaMappingExcelToXML implements StreamTransformation{
private Map map = null;
private AbstractTrace trace = null;
public void setParameter(Map arg0) {
map = arg0; // Store reference to the mapping parameters
if (map == null) {
this.map = new HashMap();
public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
try {
FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
mapping.execute(fin, fout);
catch (Exception e1) {
e1.printStackTrace();
public void execute(InputStream inputstream, OutputStream outputstream) {
String msgType = "Message Type name will come here";
String nameSpace = "Namespace Name will come here";
String xmldata = "";
try {
Workbook wb = Workbook.getWorkbook(inputstream);
xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
Cell[] cells ;
Cell[] cellNames ;
cellNames = wb.getSheet(0).getRow(0);
for(int j=1;j<wb.getSheet(0).getRows();j++){
xmldata = xmldata+"\n<Record>\n";
cells = wb.getSheet(0).getRow(j);
for(int i=0;i<wb.getSheet(0).getColumns();i++){
xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
xmldata = xmldata+"</Record>";
xmldata = xmldata+"\n</ns0:"+msgType+">";
System.out.print(xmldata);
xmldata.getBytes();
wb.close();
byte by[] = xmldata.getBytes();
outputstream.write(by);
inputstream.close();
outputstream.close();
System.out.println("\n"+"File processed");
catch (Exception e) {
e.printStackTrace();
Request you to guide how to resolve this issue.
Thanks in advanceThanks Anand,
PDF shared by you was extremely helpful. Now I have successfully developed and deployed the adapter. But while using it in Communication Channel I am getting following error.
Error: com.sap.engine.services.jndi.persistent.exceptions.NamingException: Exception during lookup operation of object with name localejbs/ExcelToXML, cannot resolve object reference. [Root exception is javax.naming.NamingException: Error occurs while the EJB Object Factory trying to resolve JNDI reference Reference Class Name: Type: clientAppName Content: sap.com/SAP_Exel_To_XMLEAR Type: interfaceType Content: local Type: ejb-link Content: Excel_To_XML Type: jndi-name Content: ExcelToXML Type: local-home Content: sap.com.excelToXML.Excel_To_XMLLocalHome Type: local Content: sap.com.excelToXML.Excel_To_XMLLocal com.sap.engine.services.ejb3.runtime.impl.refmatcher.EJBResolvingException: Cannot start applicationsap.com/SAP_Exel_To_XMLEAR; nested exception is: java.rmi.RemoteException: [ERROR CODE DPL.DS.6125] Error occurred while starting application locally and wait.; nested exception is: com.sap.engine.services.deploy.exceptions.ServerDeploymentException: [ERROR CODE DPL.DS.5029] Exception in operation [startApp] with application [sap.com/SAP_Exel_To_XMLEAR]. at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.startApp(DefaultContainerRepository.java:398) at com.sap.engine.services.ejb3.runtime.impl.DefaultContainerRepository.getEnterpriseBeanContainer(DefaultContainerRepository.java:182) at com.sap.engine.services.ejb3.runtime.impl.DefaultRemoteObjectFactory.resolveReference(DefaultRemoteObjectFactory.java:55) at com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:144) at com.sap.engine.services.ejb3.runtime.impl.EJBObjectFactory.getObjectInstance(EJBObjectFactory.java:63) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl._getObjectInstance(ObjectFactoryBuilderImpl.java:76) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl.access$100(ObjectFactoryBuilderImpl.java:33) at com.sap.engine.system.naming.provider.ObjectFactoryBuilderImpl$DispatchObjectFactory.getObjectInstance(ObjectFactoryBuilderImpl.java:226) at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:283) at com.sap.engine.services.jndi.implclient.ClientContext.lookup(ClientContext.java:434) at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:223) at com.sap.engine.services.jndi.implclient.OffsetClientContext.lookup(OffsetClientContext.java:242) at javax.naming.InitialContext.lookup(InitialContext.java:351) at javax.naming.InitialContext.lookup(InitialContext.java:351) at com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:69) at com.sap.aii.af.lib.util.ejb.FastEjbFactory.createEjbInstance(FastEjbFactory.java:50) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.getModuleLocal(ModuleProcessorBean.java:419) at com.sap.aii.af.app.mp.ejb.ModuleProcessorBean.process(ModuleProcessorBean.java:287) at sun.reflect.GeneratedMethodAccessor946.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at com.sap.engine.services.ejb3.runtime.impl.RequestInvocationContext.proceedFinal(RequestInvocationContext.java:46) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:166) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatesTransition.invoke(Interceptors_StatesTransition.java:19) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Resource.invoke(Interceptors_Resource.java:74) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.doWorkWithAttribute(Interceptors_Transaction.java:38) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_Transaction.invoke(Interceptors_Transaction.java:22) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:191) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_StatelessInstanceGetter.invoke(Interceptors_StatelessInstanceGetter.java:23) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_SecurityCheck.invoke(Interceptors_SecurityCheck.java:21) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.Interceptors_ExceptionTracer.invoke(Interceptors_ExceptionTracer.java:16) at com.sap.engine.services.ejb3.runtime.impl.AbstractInvocationContext.proceed(AbstractInvocationContext.java:179) at com.sap.engine.services.ejb3.runtime.impl.DefaultInvocationChainsManager.startChain(DefaultInvocationChainsManager.java:133) at com.sap.engine.services.ejb3.runtime.impl.DefaultEJBProxyInvocationHandler.invoke(DefaultEJBProxyInvocationHandler.java:164) at com.sun.proxy.$Proxy3299.process(Unknown Source) at com.sap.aii.adapter.file.File2XI.send(File2XI.java:3605) at com.sap.aii.adapter.file.File2XI.processFileList(File2XI.java:1374) at com.sap.aii.adapter.file.File2XI.invoke(File2XI.java:669) at com.sap.aii.af.lib.scheduler.JobBroker$Worker.run(JobBroker.java:534) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:182) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:280) ]
pl
please help -
Creating a custom java module for excel to xml conversion.
Hi Gurus,
I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
Classpath dependency validator message.
Classpath entry will not be exported or published. Runtime ClassNotFoundExceptions may result.
I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
This issue is occuring for all the jars imported.
I am using following code.
import java.io.FileInputStream;
import java.io.FileOutputStream;
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.AbstractTrace;
import java.util.HashMap;
import jxl.Cell;
import jxl.Workbook;
public class JavaMappingExcelToXML implements StreamTransformation{
private Map map = null;
private AbstractTrace trace = null;
public void setParameter(Map arg0) {
map = arg0; // Store reference to the mapping parameters
if (map == null) {
this.map = new HashMap();
public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
try {
FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
mapping.execute(fin, fout);
catch (Exception e1) {
e1.printStackTrace();
public void execute(InputStream inputstream, OutputStream outputstream) {
String msgType = "Message Type name will come here";
String nameSpace = "Namespace Name will come here";
String xmldata = "";
try {
Workbook wb = Workbook.getWorkbook(inputstream);
xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
Cell[] cells ;
Cell[] cellNames ;
cellNames = wb.getSheet(0).getRow(0);
for(int j=1;j<wb.getSheet(0).getRows();j++){
xmldata = xmldata+"\n<Record>\n";
cells = wb.getSheet(0).getRow(j);
for(int i=0;i<wb.getSheet(0).getColumns();i++){
xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
xmldata = xmldata+"</Record>";
xmldata = xmldata+"\n</ns0:"+msgType+">";
System.out.print(xmldata);
xmldata.getBytes();
wb.close();
byte by[] = xmldata.getBytes();
outputstream.write(by);
inputstream.close();
outputstream.close();
System.out.println("\n"+"File processed");
catch (Exception e) {
e.printStackTrace();
Request you to guide how to resolve this issue.
Thanks in advanceHi Gurus,
I am creating a custom java module in sap nwds 7.3 for Excel to XML Conversion. But I am getting following error
Classpath dependency validator message.
Classpath entry will not be exported or published. Runtime ClassNotFoundExceptions may result.
I imported the Jars from a different PI system and i am using NWDS in local PC with creating a separate folder with all JARs and also imported them using build path option.
This issue is occuring for all the jars imported.
I am using following code.
import java.io.FileInputStream;
import java.io.FileOutputStream;
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.AbstractTrace;
import java.util.HashMap;
import jxl.Cell;
import jxl.Workbook;
public class JavaMappingExcelToXML implements StreamTransformation{
private Map map = null;
private AbstractTrace trace = null;
public void setParameter(Map arg0) {
map = arg0; // Store reference to the mapping parameters
if (map == null) {
this.map = new HashMap();
public static void main(String args[]) { //FOR EXTERNAL STANDALONE TESTING
try {
FileInputStream fin = new FileInputStream ("c:/ashu.xls"); //INPUT FILE (PAYLOAD)
FileOutputStream fout = new FileOutputStream ("C:/Users/ashutosh.a.upadhyay/My Documents/ashuXML2.xml"); //OUTPUT FILE (PAYLOAD)
JavaMappingXLStoXML mapping = new JavaMappingXLStoXML ();
mapping.execute(fin, fout);
catch (Exception e1) {
e1.printStackTrace();
public void execute(InputStream inputstream, OutputStream outputstream) {
String msgType = "Message Type name will come here";
String nameSpace = "Namespace Name will come here";
String xmldata = "";
try {
Workbook wb = Workbook.getWorkbook(inputstream);
xmldata ="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+ "<ns0:"+msgType+" "+"xmlns:ns0=\""+nameSpace+"\n">";
Cell[] cells ;
Cell[] cellNames ;
cellNames = wb.getSheet(0).getRow(0);
for(int j=1;j<wb.getSheet(0).getRows();j++){
xmldata = xmldata+"\n<Record>\n";
cells = wb.getSheet(0).getRow(j);
for(int i=0;i<wb.getSheet(0).getColumns();i++){
xmldata = xmldata+"\t<"+cellNames[i].getContents()+">"+cells[i].getContents()+"</"+cellNames[i].getContents()+">\n";
xmldata = xmldata+"</Record>";
xmldata = xmldata+"\n</ns0:"+msgType+">";
System.out.print(xmldata);
xmldata.getBytes();
wb.close();
byte by[] = xmldata.getBytes();
outputstream.write(by);
inputstream.close();
outputstream.close();
System.out.println("\n"+"File processed");
catch (Exception e) {
e.printStackTrace();
Request you to guide how to resolve this issue.
Thanks in advance -
XI supports EDIFACT without SAP Conversion Agent and others.
Hello.
Somebody knows the best way to convert EDIFACT message using XI?
What I can do this without using softwares of conversion like:
- SAP Conversion Agent;
- Seeburger;
- BIC Mapper and others.
Thanks very much in advance.Hi,
See for converting the EDI XML to EDI you need to have a mapping program at the adapter module which does the conversion. For this module you need a BIC tool of seeburger which provides the different module program for EDI to XML and XML-EDI. This program needs to be deployed on XI and through adapter it has to be called for conversion.
Here is the link for your reference:
/people/ricardoandres.maienza/blog/2007/04/06/edifact-to-xml--stylus-studio-solution
http://www.stylusstudio.com/edi/EDIFACT_translate.html
The steps to convert EDI to XML / XSD can be found at the following link:
http://www.stylusstudio.com/edifact_to_xml.html
Stylus studio download link: http://www.stylusstudio.com/xml_download.html
Thanks and Regards,
Chirag Gohil -
Stylus Studio: EDI-XML Conversion
Hello all,
I wanted to convert EDIFact and X12 files in appropriate .xml and .xsd.
However while using Stylus Studio for this i am encountering some problems.
File-> New-> Convert to XML. In this i used appropriate EDI format .txt file to convert. I simply go by default options and . After conversion if try to see preview it ask's to save in .conv format. !
Also File-> Doc Wizard-> EDIFACT to XML Schema where to find the correct version and whether to tick mark the below check boxes.
I am new to EDI. I tried searching for it but didnt got appropriate answers. Kindly help
Regards
ArpilPlease see this
go through below links may be too many but some of them are very useful.
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
/people/william.li/blog/2006/03/17/how-to-get-started-using-conversion-agent-from-itemfield
/people/paul.medaille/blog/2005/11/17/more-on-the-sap-conversion-agent-by-itemfield
http://www.stylusstudio.com/edi/XML_to_X12.html
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/b0b355ae-0501-0010-3b83-8f2bb566fa47
Details on XI EDI adapter from seeburger
Check this for Conversions-
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
SAP Adapters
EDI with XI
http://www.seeburger.com
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/SEEBURGER_SAP_Adapter_engl.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
http://www.seeburger.com
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
/people/lionel.biennier/blog/2006/07/21/sap-xi-supports-edi-x12
/people/bla.suranyi/blog/2006/06/08/sap-xi-supports-edifact
Note: reward points if solution found helpfull
Regards
Chandrakanth.k -
Hello,
I am using oracle8i. The date format is not giving the proper date values in XML conversion..
create table test(dt date);
insert into test values(sysdate);
insert into test values(sysdate);
insert into test values(sysdate);
TEST.WORLD> select * from test;
DT
28-NOV-04
28-NOV-04
28-NOV-04
set autoprint on
set long 100000
set linesize 100000
set longchunksize 100000
var g_clob clob
declare
l_ctx dbms_xmlquery.ctxType;
l_clob clob;
begin
l_ctx := dbms_xmlquery.newContext('select dt from test');
dbms_lob.createtemporary(:g_clob,true,dbms_lob.session);
dbms_xmlquery.setdateformat(l_ctx,'yyyy-mm-dd');
:g_clob := dbms_xmlquery.getXml(l_ctx);
end;
Here is the output . It is dispalying the 03 For the month november.
<?xml version = '1.0'?>
<ROWSET>
<ROW num="1">
<DT>2004-03-28</DT>
</ROW>
<ROW num="2">
<DT>2004-03-28</DT>
</ROW>
<ROW num="3">
<DT>2004-03-28</DT>
</ROW>
</ROWSET>When you call DBMS_XMLQUERY.SETDATEFORMAT, you must supply the mask using the syntax defined by java.text.SimpleDateFormat.
You need to use "yyyy-MM-dd".
In your case, "yyyy-mm-dd", the lower case "mm" is the mask for minutes. -
JAVA Mapping for XML conversion during runtime
Dear SAP JAVA experts,
For quite I have been struggling to keep the JAVA code in place for JSON to XML conversion being a newbie.
Following is the code snippet.
import java.io.InputStream;
import net.sf.json.JSON;
import net.sf.json.JSONSerializer;
import net.sf.json.xml.XMLSerializer;
import org.apache.commons.io.IOUtils;
import com.sap.aii.mapping.api.AbstractTransformation;
import com.sap.aii.mapping.api.StreamTransformationException;
import com.sap.aii.mapping.api.TransformationInput;
import com.sap.aii.mapping.api.TransformationOutput;
import com.sap.aii.utilxi.core.io.IOUtil;
public class RuntimeJSONtoXML extends AbstractTransformation {
public void transform(TransformationInput input, TransformationOutput output)
throws StreamTransformationException {
try
//InputStream is = JSONtoXML.class.getResourceAsStream("JSON.txt");
String strJSON = "";
InputStream inputStream = input.getInputPayload().getInputStream();
inputStream.close();
String jsonData = IOUtils.toString(strJSON);
XMLSerializer serializer = new XMLSerializer();
JSON json = JSONSerializer.toJSON( jsonData );
String xml = serializer.write( json );
//System.out.println(xml);
output.getOutputPayload().getOutputStream().write(strJSON.getBytes());
catch(Exception ie) { }
Caught unaware of 2 queries.
1.I have added the com.sap.aii.utilxi.core.io.IOUtil jar files from the PI server even though its displays error "The com.sap.aii.utilxi can not be resolved". Also I added the XPI libraries in NWDS but nothing moving to solve the issue.
2. I have commented the line of code where I have placed a test file in the path to test it i.e. JSON.text. But when it is deployed as Archived files, then this code has to be replaced.
The Method toString(InputStream) in the type IOUtils is not applicable for the arguments (String)
Regards
Rebecca..1.I have added the com.sap.aii.utilxi.core.io.IOUtil jar files from the PI server even though its displays error "The com.sap.aii.utilxi can not be resolved". Also I added the XPI libraries in NWDS but nothing moving to solve the issue.
Which jar file did you add?
/usr/sap/<<SID>>/DVEBMGS<<SYSNO>>/j2ee/cluster/bin/ext/com.sap.xi.util.misc/lib
jar file name : com.sap.aii.utilxi.core.jar
2. I have commented the line of code where I have placed a test file in the path to test it i.e. JSON.text. But when it is deployed as Archived files, then this code has to be replaced.
The Method toString(InputStream) in the type IOUtils is not applicable for the arguments (String)
To read the input stream you should have
InputStream inputstream = transformationInput.getInputPayload().getInputStream();
Please refer to below blog just to get an idea on working with input stream and output stream.
Dynamic file name for pass-through scenario - Process Integration - SCN Wiki -
Mapping error in FCC to XML conversion
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
BalajiHii 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 -
Seeburger EDI Text to EDI XML conversion failure should throw an error
Hi,
I am expecting an error message to be thrown when EDI Text to EDI XML conversion fails at Message splitter of Seeburger module. I am getting the following error in the log.
"2012-01-19T01:46:08.032-0800 ERROR [Error:ID=2150;LEVEL=3] counter value (41) of incoming field (UNB.UNH.UNT:0074) doesnt match the calculated value (39).
DESCRIPTION: Either the counter value is not filled in the source file or the counter field value is wrong. "
But my expectation is that the channel should show some error in Adapter Engine monitoring itself. As shown below, it is just showing some warning that because of above error, it is not creating the attachment. Now I am expecting the the following warning to be an error rather than just warning. Please let me know if any idea on the same.
19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Trying to establish CCI Connection to Message Splitter Adapter
19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Creating CCI Interaction
19.01.2012 01:46:08 Warning SEEBURGER/MESSAGESPLITTER: There is no attachment to split. So there is nothing to do.
19.01.2012 01:46:08 Information SEEBURGER/MESSAGESPLITTER: Finished splitting!
BR,
AmanThanks you all for your inputs..
I got the solution for the same.
I need to set the mapping program name specifically rather than AUTO for bic mappingName parameter. This has turned my communication channel status in RWB into Red for errors.
Closing this thread ...
Regards,
Aman -
Flat files to XML conversion module?
Hi Experts,
I would like to know from where I can have free download for flat files to XML conversion module which I can test in development server. Your help will be well appreciated.
Thanks and Regards,
Praveen.u have file adapter with FCC which does the flat file to XML conversion. wat is ur requirement?
refer the help or search on SDN for file content conversion.
http://help.sap.com/saphelp_nw04/helpdata/en/e3/94007075cae04f930cc4c034e411e1/frameset.htm
few examples:-
Introduction to simple(File-XI-File)scenario and complete walk through for starters(Part1)
Key value:
How to send a flat file with various field lengths and variable substructures to XI 3.0
File Receiver with Content Conversion
chirag -
Error in Idoc to XML conversion
Hi,
I am doing Idoc to XML conversion using standard program RSEINB00. Can anyone plz tell me what are the pre-requisites to executing this program? I am getting an error message Port XXX segment defn YYYYY in IDoc type ZZZZZ CIM type do not exist.
Why am i getting this error? and what is the slution for it?
Regards,
Mateen.Hi
Delete the metadata in IDX2 for the corresponding IDOC type in PI.
Also re-import the same in IDX2.
Reimport the IDOC type into Integration Repository under your SWCV.
Then check it..
Refresh the cache also. -
ResultSet XML Conversion Error
Hi,
BPEL, SOA 11g, DB2 Stored procedure,
In a BPEL service I am getting this error while invoking a DB2 Stored procedure with Strong XSD. I am using assign to copy the input parameter to the input parameters of Stored procedure.
not able to figure out why this error message is coming.
java.lang.Exception: oracle.sysman.emSDK.webservices.wsdlapi.SoapTestException: Exception occured when binding was invoked. Exception occured during invocation of JCA binding: "JCA Binding execute of Reference operation 'JDE_DBA' failed due to: ResultSet XML Conversion Error. An error occurred while converting from a ResultSet to XML. Unable to convert a ResultSet to XML. Cause: java.lang.NullPointerException ". The invoked JCA adapter raised a resource exception. Please examine the above error message carefully to determine a resolution. at oracle.sysman.emas.model.wsmgt.WSTestModel.invokeOperation(WSTestModel.java:575) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:381) at oracle.sysman.emas.view.wsmgt.WSView.invokeOperation(WSView.java:298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at com.sun.el.parser.AstValue.invoke(AstValue.java:157) at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283) a
---------------- BPEL Code --------
<?xml version = "1.0" encoding = "UTF-8" ?>
<!--
Oracle JDeveloper BPEL Designer
Created: Fri Dec 10 10:24:23 PST 2010
Author: chaitanyad
Purpose: Synchronous BPEL Process
-->
<process name="UPCMatchOrder"
targetNamespace="http://xmlns.oracle.com/CD_JDE_Application_jws/JDE_UPCMatchOrder/UPCMatchOrder"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:client="http://xmlns.oracle.com/CD_JDE_Application_jws/JDE_UPCMatchOrder/UPCMatchOrder"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:ns1="http://xmlns.oracle.com/pcbpel/adapter/db/CD_JDE_Application/JDE_UPCMatchOrder/JDE_DBA"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns2="http://xmlns.oracle.com/pcbpel/adapter/db/QAMODA73/X56714P/">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<!--
The 'client' role represents the requester of this service. It is
used for callback. The location and correlation information associated
with the client role are automatically set using WS-Addressing.
-->
<partnerLink name="upcmatchorder_client" partnerLinkType="client:UPCMatchOrder" myRole="UPCMatchOrderProvider"/>
<partnerLink name="JDE_DBA" partnerRole="JDE_DBA_role"
partnerLinkType="ns1:JDE_DBA_plt"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="inputVariable" messageType="client:UPCMatchOrderRequestMessage"/>
<!-- Reference to the message that will be returned to the requester-->
<variable name="outputVariable" messageType="client:UPCMatchOrderResponseMessage"/>
<variable name="Invoke_1_InputVariable" messageType="ns1:args_in_msg"/>
<variable name="Invoke_1_OutputVariable" messageType="ns1:args_out_msg"/>
</variables>
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in UPCMatchOrder.wsdl) -->
<receive name="receiveInput" partnerLink="upcmatchorder_client" portType="client:UPCMatchOrder" operation="process" variable="inputVariable" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign name="Assign_3">
<copy>
<from variable="inputVariable" part="InputMessage"/>
<to variable="Invoke_1_InputVariable" part="InputParameters"/>
</copy>
</assign>
<invoke name="Invoke_1" inputVariable="Invoke_1_InputVariable"
outputVariable="Invoke_1_OutputVariable" partnerLink="JDE_DBA"
portType="ns1:JDE_DBA_ptt" operation="JDE_DBA"/>
<assign name="Assign_2">
<copy>
<from variable="Invoke_1_OutputVariable" part="OutputParameters"/>
<to variable="outputVariable" part="OutputMessage"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="upcmatchorder_client" portType="client:UPCMatchOrder" operation="process" variable="outputVariable"/>
</sequence>
</process>
Regards,
-CDHi Sanjay,
The JDBC sender adapter returns the rows selected from the database in the follwoing format.
<resultset>
<row>
<column-name1>column-value</ column-name1>
<column-name2>column-value</ column-name2>
<column-name3>column-value</ column-name3>
</row>
<row>
<column-name1>column-value</ column-name1>
<column-name2>column-value</ column-name2>
<column-name3>column-value</ column-name3>
</row>
</resultset>
This error occurs , when the source datatype you have created for the JDBC adapter does not match with this format. I would suggest that you check the source format along with the occurence of your field.
Regards,
Bhavesh -
I have a acrobat reader, can I import text delimited data format to a PDF Form so that it can auto fill into forms that was created? If not, what about FDF and XML data
Yes, you can do all of that via Tools - Forms - More Form Options - Import Data, if you have Acrobat.
If you only have the free Reader then you can still do it, but it requires a script. -
CDATA issue in RFC XML conversion
Hi all,
I am trying to consume a webservice from ABAP. One of the webservice method responds with a data holding an xml fragment under the tags CDATA, like,
<!CDATA[[<?xml version="1.0" encoding=.....]]>
But the program throws exception during RFC XML conversion.
However i could find the correct response payload in the error log in ST11 transaction.
Pls advice.Hi,
as this is not a proper CDATA
try:
<![CDATA[ cdata text ]]>
you can test it easily by opening with IExplorer
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Hi,
I need to convert SAP generated ALF Printlists to XML format. For that I need to understand the structure of ALF (rather the grammar) so that I can parse it for XML conversion. May I know where I can get information on this? I will be using Java for XML conversion.
Thanks,
Praneethuse Transformer classes.
String xslDoc = "abc.xsl";
String xmlDoc = "xyz.xml";
String xmlResult = "result.xml";
DocumentBuilderFactory dfactory = DocumentBuilderFactory.newInstance();
TransformerFactory factory = TransformerFactory.newInstance();
Transformer transformer = factory.newTransformer(new StreamSource(xslDoc));
FileWriter fw = new FileWriter(new File(xmlResult));
StreamResult output = new StreamResult(fw);
transformer.transform(new StreamSource(new File(xmlDoc)), output);
Maybe you are looking for
-
SSID Broadcasting even when disabled
I have two 5508 wireless controllers with two WLANS. One is public and SSID broadcasting is enabled. The other is our secured network and was configured with broadcasting disable. When looking at the controlling both through pri
-
How many bus-powered usb external drives per hub?
I'd like to have two bus-powered USB hard drives (to be used as backups with Time Machine) connected to one powered USB hub. Would that work, or would a powered hub be likely to support only one bus-powered external hard disk? (In that case I could g
-
Unable to view movies in Front Row
Hello all I have been having some issues since updating front row to the latest version when I attempt to view movies I have downloaded from the net. I save the files in the right location under Movies and when I navigate via Front Row I can actually
-
My bank doesn't see Firefox 5 as being secure, 3.6 was
My bank does not recognize Firefox 5 as being secure. 3.6 had no problems with this.
-
Can someone tell me an answer?