XML conversion issues

Dear all,
I am using oracle8i. I would be pleased, if you could answer for this questions.
create table dept(deptno number,
dname varchar2(20),
loc varchar2(20));
alter table dept add primary key(deptno);
create table emp(empno number,
ename varchar2(20),
deptno number);
alter table emp add primary key(empno);
alter table emp add constraint fk_dept foreign key(deptno) references dept;
insert into dept values(10,'Account','Houston');
insert into dept values(20,'Finance','Austin');
insert into dept values(30,'Finance',NULL);
insert into emp values(101,'Krish',10);
insert into emp values(102,'Sam', 10);
insert into emp values(103,'Scott',20);
insert into emp values(104,'Brent',20);
I have a procedure to covert the data into XML.
CREATE OR REPLACE PROCEDURE STP_SAMPLE_XML AS
v_context DBMS_XMLQUERY.CTXTYPE;
v_document CLOB;
v_offset NUMBER := 1;
v_chunk VARCHAR2(4000);
v_chunk_size NUMBER := 4000;
l_file UTL_FILE.FILE_TYPE;
BEGIN
l_file := UTL_FILE.FOPEN('D:\Data\XMLFILES', 'sample.XML', 'w');
v_context:= DBMS_XMLQUERY.NEWCONTEXT('SELECT DEPTNO,DNAME,LOC,
CURSOR(SELECT EMPNO,ENAME,DEPTNO
FROM EMP EMP_DETAILS
WHERE EMP_DETAILS.DEPTNO = DEPT.DEPTNO) EMP_PAYEE
FROM DEPT');
DBMS_XMLQUERY.USENULLATTRIBUTEINDICATOR(v_context,TRUE);
DBMS_XMLQUERY.SETROWSETTAG(v_context,'EMP');
DBMS_XMLQUERY.SETROWTAG(v_context,'EMP');
v_document := DBMS_XMLQUERY.GETXML(v_context);
WHILE( v_offset < DBMS_LOB.GETLENGTH( v_document))
LOOP
v_chunk := DBMS_LOB.SUBSTR(v_document,v_chunk_size,v_offset );
UTL_FILE.PUT(l_file, v_chunk );
v_offset := v_offset + v_chunk_size;
END LOOP;
UTL_FILE.FCLOSE(l_file);
DBMS_XMLQUERY.CLOSECONTEXT(V_context);
END;
This procedure gives the below output.
<?xml version="1.0" ?>
- <EMP>
- <EMP num="1">
<DEPTNO>10</DEPTNO>
<DNAME>Account</DNAME>
<LOC>Houston</LOC>
- <EMP_PAYEE>
- <EMP_PAYEE_ROW num="1">
<EMPNO>101</EMPNO>
<ENAME>Krish</ENAME>
<DEPTNO>10</DEPTNO>
</EMP_PAYEE_ROW>
- <EMP_PAYEE_ROW num="2">
<EMPNO>102</EMPNO>
<ENAME>Sam</ENAME>
<DEPTNO>10</DEPTNO>
</EMP_PAYEE_ROW>
</EMP_PAYEE>
</EMP>
- <EMP num="2">
<DEPTNO>20</DEPTNO>
<DNAME>Finance</DNAME>
<LOC>Austin</LOC>
- <EMP_PAYEE>
- <EMP_PAYEE_ROW num="1">
<EMPNO>103</EMPNO>
<ENAME>Scott</ENAME>
<DEPTNO>20</DEPTNO>
</EMP_PAYEE_ROW>
- <EMP_PAYEE_ROW num="2">
<EMPNO>104</EMPNO>
<ENAME>Brent</ENAME>
<DEPTNO>20</DEPTNO>
</EMP_PAYEE_ROW>
</EMP_PAYEE>
</EMP>
</EMP>
But i want to achive the output as below. How can i do this ?.
I want to remove - <EMP_PAYEE_ROW num="1"> tags, and
i want to change the tag <EMP_PAYEE> to <EMP-PAYEE> tag,
<?xml version="1.0" ?>
- <EMPIMPORT>
- <EMP>
<DEPTNO>10</DEPTNO>
<DNAME>Account</DNAME>
<LOC>Houston</LOC>
- <EMP-PAYEE>
<EMPNO>101</EMPNO>
<ENAME>Krish</ENAME>
<DEPTNO>10</DEPTNO>
</EMP-PAYEE/>
- <EMP-PAYEE>
<EMPNO>102</EMPNO>
<ENAME>Sam</ENAME>
<DEPTNO>10</DEPTNO>
</EMP-PAYEE/>
</EMP>
- <EMP>
<DEPTNO>20</DEPTNO>
<DNAME>Finance</DNAME>
<LOC>Austin</LOC>
- <EMP-PAYEE>
<EMPNO>103</EMPNO>
<ENAME>Scott</ENAME>
<DEPTNO>20</DEPTNO>
</EMP-PAYEE/>
- <EMP-PAYEE>
<EMPNO>104</EMPNO>
<ENAME>Brent</ENAME>
<DEPTNO>20</DEPTNO>
</EMP-PAYEE/>
</EMP>
</EMPIMPORT>
Any webpages to read for solving this issues...
It is urgent. Thanks
Govind

Govind,
Create a view of the data the way you want it displayed with the column names to match. Then produce the XML from the view.

Similar Messages

  • IDoc XML Conversion Issue

    Hi Exerts,
    When IDoc sent from R/3 got successfully loaded with all segments in WE02 wihtout overlapping,
    I find the data gets overlapped in XML only for a deep routed structure in sxi_monitor, while WE02 has no issue for it.
    Analysis made:
    1. IDoc details had been checked for the field which has 18 digits, but at XML it receives only 5 digits after which it loads to next element of that structure.
    2. When i crosschecked with cache, it was fine and i even activated once with the updated metatdata from R/3.
    Queries:
    1. From R/3 end, everything looks fine by analyzing WE02, i also checked by running IDOC_XML_TRANSFORM, but this XML has generated the proper data as seen in WE02. Where did it get  this issue for overlapping in Integration engine? Will R/3 use this standard function module to transform to XML message or any else that creates this unknown error?
    2. I activated the complete objects in repository and also checked the cache status, but still it gets me the same overlapping at XML under the Inbound message. Could anyone kindly clarify why this happens?
    Helpful answers will be rewarded.

    Santhosh,
    Thanks for the quick response.
    I cross-checked already in IDX2 for the segment reflections as defined in R/3.
    But unforgetedly i missed checking the outbound ports which had required this updations....
    This works well...
    Here is your granted points.
    Thanks a lot for remainding me this resolution Santhosh...
    Thanks!
    Regards,
    Dhayanandh .S

  • 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 advance

    Thanks 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

  • 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>

  • 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

  • Conversion issue in encoding in PI

    Hi,
      I am having a problem in conversion issue for encoding. Let's have a detailed look into the scenario first.
    Scenario: SNC->PI (through Proxy)->MQ (through Receiver JMS adapter)->SeeBeyond (It's a middleware system).
                   Here from SNC, data are coming into PI as in UTF-8 encoding, whereas all the systems shown in the above flow are of ISO 8859_1 format. Hence UTF-8 needs to be converted into ISO 8859_1. PI does this conversion in Receiver JMS adapter. CCSID has been set to 00819 which is for ISO 8859_1 encoding. But the beginning of the xml, it remains still UTF-8, like below:-
      <?xml version="1.0" encoding="utf-8" ?>
    Whereas the content of the xml has already been converted into ISO 8859_1 by Receiver JMS adapter. Now let's see the problem now.
    Problem: After the data been passed in SeeBeyond, the mapping fails in SeeBeyond, since SeeBeyond tries to look at the XML tag from the beginning and it found it's in UTF-8 as per he tag above. Then it tries to map it in UTF-8 format whereas the content is in ISO 8859_1, so mapping fails in SeeBeyond. Please note, here allthe systems except SeeBeyond are just bypassing the data, no mapping been introduced in anywhere in the systems except SeeBeyond.
    Workaround: Is there any other chance where we can change the tag header from UTF-8 to ISO 8859_1 in Receiver JMS adapter itself in PI like this:-
    <?xml version="1.0" encoding="iso 8859_1" ?>
    This might resolve our problem I think. Any suggestions would be appreciated.
    Thanks and Regards
    Soumya

    Hi Stefan,
                Thanks for your reply. I have gone through the link you have specified. Ya, that's the other way to resolve that issue in that case. But here we have asked the receiver system (SeeBeyond) to change the encoding part in their mapping. Because changing the coding part in SeeBeyond is less time consuming than adding a new Bean in JMS adapter. Our problem got resolved by changing the mapping in Receiver end. Thanks anyway for your valuable reply.
    Thanks
    Soumya

  • 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 advance

    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 advance

  • JMS content conversion issue

    Hi ,
    I am facing issue in JMS content conversion
    my file looks like as below...
    field1¤field2¤
    field1¤field2¤
    field1¤field2¤
    field1¤field2¤
    in module i have used this
    AF_Modules/MessageTransformBean   PLAIN2XML
    Transform.Class                com.sap.aii.messaging.adapter.Conversion
    Transform.ContentType     text/xml;charset=utf-8
    xml.conversionType           SimplePlain2XML
    xml.documentName            MT_data  
    xml.documentNamespace  http://xyz.com    
    xml.fieldNames                   field1,field2
    xml.fieldSeparator              ¤
    xml.processFieldNames     fromConfiguration
    xml.structureTitle                records
    but i am getting following error
    Error occurred while processing message: . Detailed error (if any):  com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Transformer Conversion3.0.5226 Error initializing Class: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter xml.fieldFixedLengths or xml.fieldSeparator is missing (4409) Consistency check: no. of arguments in xml.fieldFixedLength does not match xml.fieldNames (0 <> 2) : TransformException: Transformer Conversion3.0.5226 Error initializing Class: java.lang.Exception: java.lang.Exception: java.lang.Exception: Error(s) in XML conversion parameters found: (4408) Parameter 'xml.fieldFixedLengths' or 'xml.fieldSeparator' is missing (4409) Consistency check: no. of arguments in 'xml.fieldFixedLength' does not match 'xml.fieldNames' (0 <> 2)
    ironically when i use file adapter, its reading the file properly and converting XML as expected?
    Did anyone face this issue.....
    is this issue because of an extra ¤ .. is so... why its not giving issue with File??

    You need an additional hierarchy level:
    root
    -> row
      -> data
    In your example:
    <?xml version="1.0" ?>
    <ns1:HQ_reply_MT xmlns:ns1="urn:abc.com:HQToSAP">
    <b><row></b>
    <Data1> PIPXSDI3070 00000 00342YSDI3070PROCESS_MQSERIES HQXPLOR10 XPLOR.ORDER.RESULTS 0000 000000000000000086312 Invalid Process flag : 2. 065</Data1>
    <b></row></b>
    </ns1:HQ_reply_MT>
    Regards
    Stefan

  • Date format in XML conversion

    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.

  • 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
    Balaji

    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

  • 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,
    Aman

    Thanks 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,
    -CD

    Hi 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

  • Umlaut Conversion issue in Sender communication channel SAP PI

    Hi Gurus,
    We are facing issue while conversion.
    umlaut Conversion issue in Sender communication channel that is reason channel not able to pic the file from the path.
    Sender CC error:
    Value of incoming field is too large. Segment:'IMD', Field:'7008', MaxLength:'35', value:'Plssvvkbecher Lübzer 0,4 (1280Stk p' DESCRIPTION: The length of the field value is too big !
    Actually field contains 35 Chars only the value is  : 'Plssvvkbecher Lübzer 0,4 (1280Stk p'
    We tried with “ISO-8859-1” if the field value is less than 35 characters it is able to converting.
    Please help me out from this issue.
    Thank you.
    Regards,
    Jittu.

    Hi Jittu,
    Have you tried using the codepageconversion bean in the modules under the sender?  It would be like:
    AF_Modules/TextCodepageConversionBean with a parameter of Conversion.charset and a value of utf-8.
    Regards,
    Ryan Crosby

Maybe you are looking for