Data Engine API?

I found some old doc about accessing a Data Engine API to use a data template to create the xml. Does this API still exist? I'm running Stand alone 10.1.3.4. The current guide makes no mention of it. If it is no longer applicable, how can we access a data template from the command line to generate XML?

Hi,
have a look here: http://download.oracle.com/docs/cd/E12844_01/doc/bip.1013/e12693/toc.htm
There click on oracle.apps.xdo.dataengine
Regards
Rainer

Similar Messages

  • Using the Data Engine Java API

    I try to use the Data Engine Java API to generate an XML document from database data.
    So as mentioned in the documentation Business Intelligence Publisher User's Guide Release 10.1.3.2 (page 4-26 to 4-27)
    a) I created a java class (using Jdev Version 11.1.1.0.0)
    package oracle.apps.XMLPublisher.client;
    import com.sun.java.util.collections.Hashtable;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import oracle.apps.xdo.XDOException;
    import oracle.apps.xdo.dataengine.DataProcessor;
    public class XMLFileGenerator {
    public XMLFileGenerator() {
    public static void dataEngine() throws ClassNotFoundException, Exception {
    XMLFileGenerator xMLFileGenerator = new XMLFileGenerator();
    try {
    //Initialization instantiate the DataProcessor class//
    DataProcessor dataProcessor;
    dataProcessor = new DataProcessor();
    //Set Data Template to be executed
    dataProcessor.setDataTemplate("PERFRBS.xml");
    Hashtable parameters;
    parameters = new Hashtable();
    parameters.put("P_LEGAL_ENTITY_ID", "3259");
    parameters.put("P_TRU_ID", "3262");
    parameters.put("P_YEAR", "2009");
    dataProcessor.setParameters(parameters);
    // Now set the jdbc connection to the database that you
    // wish to execute the template against.
    // This sample assumes you have already created
    // the connection object 'jdbcConnection'
    Class.forName("oracle.jdbc.OracleDriver");
    String url =
    "jdbc:oracle:thin:@ap6005sdb.us.oracle.com:1526:hremeadv";
    Connection jdbcConnection;
    jdbcConnection= DriverManager.getConnection(url, "apps", "*****");
    dataProcessor.setConnection(jdbcConnection);
    System.out.println("Here1");
    // Specify the output directory and file for the data file
    dataProcessor.setOutput("BilanSocial.xml");
    System.out.println("Here2");
    dataProcessor.processData();
    System.out.println("Here3");
    } catch (SQLException e) {
    System.out.println("SQLException " + e.getMessage());
    } catch (XDOException e) {
    System.out.println("XDOException" + e.getMessage());
    public static void main(String[] argv) throws ClassNotFoundException,
    Exception {
    XMLFileGenerator xmlPublisher = new XMLFileGenerator();
    XMLFileGenerator.dataEngine();
    b) to generate my xml file based on the following data template
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <dataTemplate name="PERFRBS" defaultPackage="" version="1.0">
    <parameters>
    <parameter name="P_LEGAL_ENTITY_ID" dataType = "number"></parameter>
    <parameter name="P_TRU_ID" dataType = "number"></parameter>
    <parameter name="P_YEAR" dataType = "number"></parameter>
    </parameters>
    <lexicals>
    </lexicals>
    <dataQuery>
    <sqlStatement name="Q_INDICATORS">
    <![CDATA[ SELECT pai.action_information3   YEAR,
                    pai.action_information17  INDICATOR_VALUE
              FROM   pay_action_information pai 
             WHERE  pai.action_information_category     = 'HR_FR_BS'
                AND    pai.action_context_type             = 'PA'
                AND    pai.action_information1             = :P_LEGAL_ENTITY_ID
                AND    pai.action_information2             = :P_TRU_ID
                AND    pai.action_information3            = :P_YEAR       
    ]]>
    </sqlStatement>
    </dataQuery>
    <dataStructure>
    <group name="G_YEARS" dataType="varchar2" source="Q_INDICATORS">
    <element name="YEAR" dataType="varchar2" value="YEAR"/>
    <element name="INDICATOR_VALUE" dataType="number" value="INDICATOR_VALUE"/>
    </group>
    </dataStructure>
    </dataTemplate>
    ---> But when I run it , it fails when calling the data processor with the following error
    D:\Jdeveloper11g\jdk\bin\javaw.exe -client -classpath "D:\Jdeveloper11g\jdevhome\XMLPublisher\src\Client\classes;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\versioninfo.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xdocore.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\collections.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\xmlparserv2-904.jar;D:\BI publisher\XMLP562_WIN\XMLP562_WIN\manual\lib\i18nAPI_v3.jar;D:\Jdeveloper11g\jdbc\lib\ojdbc14dms.jar;D:\Jdeveloper11g\jlib\orai18n.jar;D:\Jdeveloper11g\diagnostics\lib\ojdl.jar;D:\Jdeveloper11g\jlib\dms.jar" -Dhttp.proxyHost=emeacache.uk.oracle.com -Dhttp.proxyPort=80 -Dhttp.nonProxyHosts= -Dhttps.proxyHost=emeacache.uk.oracle.com -Dhttps.proxyPort=80 -Dhttps.nonProxyHosts= oracle.apps.XMLPublisher.client.XMLFileGenerator
    Here1
    Here2
    Exception in thread "main" java.lang.IllegalAccessError: tried to access class oracle.jdbc.driver.OracleStatement from class oracle.apps.xdo.dataengine.DBConnection
         at oracle.apps.xdo.dataengine.DBConnection.setRowPrefetchSize(DBConnection.java:42)
         at oracle.apps.xdo.dataengine.XMLPGEN.setRowPrefetchSize(XMLPGEN.java:1224)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeData(XMLPGEN.java:420)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeGroupStructure(XMLPGEN.java:281)
         at oracle.apps.xdo.dataengine.XMLPGEN.processData(XMLPGEN.java:251)
         at oracle.apps.xdo.dataengine.XMLPGEN.processXML(XMLPGEN.java:192)
         at oracle.apps.xdo.dataengine.XMLPGEN.writeXML(XMLPGEN.java:222)
         at oracle.apps.xdo.dataengine.DataProcessor.processData(DataProcessor.java:334)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.dataEngine(XMLFileGenerator.java:50)
         at oracle.apps.XMLPublisher.client.XMLFileGenerator.main(XMLFileGenerator.java:62)
    Process exited with exit code 1.
    Thanks by advance for your help

    Make sure you have the Oracle JDBC library setup in project parties and it's setup to export. The api's are fine. Have you looked at the BIPublisherIDE I wrote. All this code is already written for you. There is a manual on the site as well
    http://bipublisher.blogspot.com/2008/03/bi-publisher-bipublisheride.html
    Ike Wiggins
    http://bipublisher.blogspot.com

  • XML Publisher data engine vs. switching output to XML in the Con.Program.

    What is the difference between setting up templates using the data engine described in the 5.6 user's guide and creating a customer report and setting its output to XML?
    Is it a matter of you being able to totally create your own XML and add atrributes to tags and such? Is this the only way to get data output from Oracle into an XML file? It's been a while, but i recall creating XML output on the fly with .Net pretty easily via an ASPX page.
    Seems like alot of work to achieve this? Am I missing something?
    If I wanted to have a JSP page where a user could use a form to query the database via IE, are these the API's i need to use for the returned data to come back as XML?
    Thanks,
    Jeremy

    You should try posting your query in XML Publisher forum, which is now BI Publisher.

  • Using User Management Engine API in Portal Application

    Hello,
    I actually develope a simple Portal Application, which print any User-Infos. Especially I need the date of the last Login. For this purpose I read the Article Using User Management Engine API - Portal - SAP Library where they use the library com.sap.security.api. In the articel they describe also, how to set DC dependencies. But this doesn't function for a Portal Component, because they do not appear in the Component Browser.
    So my question is, how get I the User Management Engine API referenced in my Portal Application, so that I can use the package com.sap.security.api. In the filesystem I can not find a JAR-File for the Development Componenten tc/je/usermanagement/api
    Greetings,
    Thomas

    HI,
    Getting the last logon date can be a small problem. There is a method called: getLastSuccessfulLogonDate, but that one is deprecated since NW 2004s.
    https://help.sap.com/javadocs/NW04S/SPS09/se/com/sap/security/api/IUserAccount.html#getLastSuccessfulLogonDate()
    In NW 7.3 the method is still there: Generated Documentation (Untitled), but even so, JavaDoc states that the value is not updated automatically
    "get last sucessful logon date NOTE: This attribute is not automatically updated during login."

  • Report Engine API 4.0 (upgrade to 4.1)

    Hi,
    In the incoming days we will face the upgarde of our current SAP BI Platform (4.0 SP8) to next minor release (4.1). One of most challenging points is to ensure the proper behaviour of existing SDK customizations based on Report Engine API available at 4.0. I know that SAP is promoting use of Restful Web Services as a way to implement functionality previously delivered by JAVA API but my question is. Will current Report Engine API based developments work under in 4.1 release? In other words, has SAP planned an smooth transition from Report Engine API to restful Web Services scenario (compatibility scenario ) or code will have to be completely rewriten ?
    Thanks,

    Hi Alfons,
    As per the current situations Report Engines SDKs are still the same in BI 4.1 likewise in BI 4.0 all patches. You can perform the below functionalities with BI 4.x Report Engines SDK :
    - Export Webi Report to some other format.
    - View a Webi Report.
    - Partial drilling.
    - Save prompts in Webi reports etc.(Most of the functionalities are deprecated like schedule with prompts etc.)
    On the other hand with Webi Raylight REST SDKs you can leverage the workflow of legacy functional parity of BusinessObjects XI 3.1 Report Engines SDKs.
    By seeing as a future, it looks like most of the new development & enhancement are happens in the Webi REST world. So planning to rewrite the code in terms of REST SDKs is beneficial.
    As you are talking about the compatability, Report Engines Java SDKs are same upto BI 4.1 Patch 4 release. But it might be possible that in future Report Engines Java SDKs are totally deprecated. You can also refer the Object Model Digram of Report Engines SDKs which gives you list of deprecated interfaces, classes & methods.
    Hope it helps.
    Thanks,
    Shailendra

  • XML Publisher report stuck at Calling XDO Data Engine...

    Hi !
    I am upgrading a custom report from 11i to R12 , the report works fine in 11i but when moved to R12 the report is stuck at "Calling XDO Data Engine..." and then it doesnot parse the Template.
    Below are the logs from the request:
    XDO Data Engine Version No: 5.6.3
    Resp: 51234
    Org ID : 109
    Request ID: 29953138
    All Parameters: p_kombi=:p_orderno=:p_batch_id=521007
    Data Template Code: XX_TEST
    Data Template Application Short Name: XX
    Debug Flag: N
    {p_kombi=, p_batch_id=521007, p_orderno=}
    Calling XDO Data Engine...
    Please suggest what can be the issue?
    I have checked both Data template and RTF template too. They are fine.
    Thanks in advance

    Hi Alex!
    Thanks for your response..
    Yes the concurrent job  keeps on running with this entry in the log file.
    I have tried this option also of just uploading XML data template and getting the XML output but it is also the same.
    There is no change in the XML file in 11i and R12 instance. Is it that some extra setups has to be done in R12?
    The general settings of temp table is there, I have checked that.
    Thanks in advance

  • Crystal Report Print Engine API calls  from Powerbuilder

    I am using Crystal Report XI R2 with Powerbuilder 9.0. I  am using Crystal Report API calls using crpe32.dll to display my reports. When i run my reports from my development machine where Crystal Reports is installed the reports run properly, but when i deploy my application on a server where Crystal Reports is not installed the report gives me error "Report has not been opened" , Error 599.
    The database logon info is properly set in the RPT file.
    I want to know whether it is possible to run reports without installing Crystal Reports and how do you do it?

    Somehow, you will have to install the CR runtime...
    Probably the best way will be to create a deployment project using a utility such as InstallShield,  Wise, MS Visual Installer, etc. Use the RDC merge modules and  add the crpe32.dll to the deployment project, ensuring the crpe32.dll is installed into the ...\3.5\bin directory. The Correct msm files are here:
    https://smpdl.sap-ag.de/~sapidp/012002523100009381702008E/crxir2sp4_rdc_mm.zip
    BTW., using the print engine APIs... Not something recommended, nor supported. Last header files for the crpe APIs shipped in version 9...
    Ludek

  • After calling XDO data engine, error is coming but report is completing.

    There is a strange situation i am facing with one XML report.XML data definition of this report has two trigger.
    One before report trigger and other after report trigger.
    While running(using concurrent program) the report is completed with following error:
    (This is the part of report log file)
    Calling XDO Data Engine...
    [050609_051508614][][EXCEPTION] SQLException encounter while executing data trigger....
    java.sql.SQLException: ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    ORA-06512: at line 4
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
    After this error, before report trigger is getting called and it is completing successfully as per log file:
    --(Part of report log file)
    Calling Procedure JEITPSSR
    Completed Call to Procedure JEITPSSR
    End of Before Report
    Post-processing of request 658631 completed at 06-MAY-2009 17:15:09.
    The problem is that "after report" trigger is not getting called,because i have added one debug message which is not getting printed in the log file.
    Snippet of XML data definition file:
    <dataTrigger name="afterReportTrigger" source="XXXX_pkg.XX_AMOUNT_TO_PAY_UPDATE(:AMOUNT_TO_PAY)"></dataTrigger>
    I am wondering how after getting error from XDO data engine ,process is continuing and why afterreport trigger is not executing.
    Please guide me .
    Thanks,
    Rahul

    You pl/sql package is failing with
    ORA-06502: PL/SQL: numeric or value error: character to number conversion error
    it means, you are trying to convert a string to number, and it fails.
    Test the package with the original data.

  • How to reduce number of output parameters in case of determination engine API

    Hi
    We are using determination engine API to integrate with the third party (OBRM) . In that case all the base/top/intermediate attributes have been sent in xml as output.
    Is there any way to filter out the output parameters as I don't want to send all attributes in output XML.
    Thanks and Regards
    Vandana

    There are the following possible copies of an object that can be made in TopLink.
    - Session cache - copy of object stored in the Session cache, this instance is considered read-only and can be shared. In the case of a shared cache, this copy exists in the ServerSession cache, in the case of an isolated cache, this copy exists in the ClientSession cache.
    This copy can be created whenever a query is executed against a ClientSession, or non-isolated UnitOfWork. To avoid this copy for an update operation, you can query in a UnitOfWork, and set your descriptor's unitOfWorkCacheIsolationLevel to ISOLATE_CACHE_ALWAYS (added in 10.1.3).
    This copy can be created after a inserted object is committed as well. ISOLATE_CACHE_ALWAYS will also avoid this.
    - UnitOfWork working copy. Instance of the object that is modified in the UnitOfWork. This instance must exist as at least one instance is required, unless UpdateAll / DeleteAll / SQL queries are used.
    - UnitOfWork backup copy. This copy is used to track changes to the object. This copy can be avoided if attribute change tracking is used (added in 10.1.3, weaving added in 11g).
    So, it is possible to only have a single copy.
    You can also use a DatabaseSession which only maintains a single copy. You can use Insert and UpdateObjectQuery's, these will update everything and not give you the benefit of change tracking nor a shared cache, but may be useful in batch transactions such as yours.
    -- James : http://www.eclipselink.org

  • Issue with "firstRecord" Business Component method of JAVA Data bean API.

    Hi,
    Following is my use-case scenario:
    I have to add or associate child MVG business component (CUT_Address)
    with the parent business component (Account) using JAVA Data bean API.
    My requirement is: first to check whether child business component(i.e. CUT_address) exists. If it exists then associate it with parent business component (Account)
    otherwise create new CUT_address and associate it with account.
    Code (using JAVA Data bean APIs) Goes as follows:
    SiebelBusObject sBusObj = connBean.getBusObject("Account");
    parentBusComp = sBusObj.getBusComp("Account");
    SiebelBusComp parentBusComp;
    SiebelBusComp childBusComp;
    // retrieve required account.. Please assume Account1 exists
    parentBusComp.activateField("Name");
    parentBusComp.clearToQuery();
    parentBusComp.setSearchSpec("Name", "Account1");
    sBusComp.executeQuery2(true, true);
    sBusComp.firstRecord();
    Counter = 0;
    while (counter < Number_Of_Child_Records_To_Insert)
    childBusComp = parentBusComp.getMVGBusComp("City");
    associatedChildBusComp = childBusComp.getAssocBusComp();
    childBusComp.activateField("City");
    childBusComp.clearToQuery();
    childBusComp.setSearchSpec("City", Vector_of_city[counter]);
    sBusComp.executeQuery2(true, true);
    if( sBusComp.firstRecord() )
    // Child already exist and do processing accordingly
    else
    // Child does not exist and do processing accordingly
    childBusComp.release();
    childBusComp = null;
    associatedChildBusComp.release();
    associatedChildBusComp=null;
    Now the issue with this code is: For the first iteration, SbusComp.firstRecord returns 0 if records does not exist. However from the second iteration, SbusComp.firstRecord returns 1 even if there is no record matching the search specification.
    Any input towards the issue is highly appreciable.
    Thanks,
    Rohit.

    Setting the view mode to "AllView" helped.
    Thanks for the lead!
    In the end, I also had to invoke the business component method SetAdminMode with "true" as the argument so that I could also modify the records from my script.

  • Sample SOAP request for Data Loader API

    Hi
    Can anyone please help me out in giving a sample SOAP request for Data Loader API .This is to say import 1K records from my system to the CRM instance I have .

    Log into the application and then click on Training and Support there is a WS Library of Information within the application

  • How to exclude statistic using Data Pump API?

    How to exclude all statistics while exporting data using Oracle Data Pump API (DBMS_DATAPUMP package)?

    You would call the metadata filter api like this:
    dbms_datapump.METADATA_FILTER(
    handle = your_handle_here,
    name = 'EXCLUDE_PATH_LIST',
    value = 'STATISTICS');
    Hope this helps.
    Dean

  • Select table when import using Data Pump API

    Hi,
    Sorry for the trivial question, I export the data using Data Pump API, with "TABLE" mode.
    So all tables will be exported in one .dmp file.
    My question is, then how to import few tables only using Data Pump API?, how to define "TABLES" property like command line interface?
    should I use DATA_FILTER procedures?, if yes how to do that?
    Really thanks in advance
    Regards,
    Kahlil

    Hi,
    You should be using metadata_filter procedure for the same.
    eg:
    dbms_datapump.metadata_filter
                (handle1
                 ,'NAME_EXPR'
                 ,'IN (''TABLE1'', '"TABLE2'')'
    {code}
    Regards
    Anurag                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Oracle9i Enterprise Edition Release 9.0.1.1.1 Data Mining  API

    Is Data Mining API contained In Oracle9i Enterprise Edition Release 9.0.1.1.1 or in release 2 only?
    Thanx

    No it is not so simple. This "le signe est sur l'avant dernier octet" means that the sign is last character in number.
    The sign "é" and "I" are just in my example and they are somehow calculated but I don't know how?
    If I take my example there is field with format S9(13)V99 and with value 00000000071049é (and with last sign "é") and I think the last sign is somehow calculated from number. And then from this value I get the number.
    00000000071049é
    FFFFFFFFFFFFFFC
    000000000710490 => +0000000007104,90
    S9999999999999V99
    Everything I try, calculating from binary to hex, or anything other, I don't get the result or the last sign and I wonder if there is some function in PL/SQL that I can use to get the result I want?
    Or if you have some idea how to help me to get from "00000000071049é" to "+0000000007104,90" from example above?
    Here are some other examples, just for help:
    000000204592D
    000000183882D
    000000139441C
    000000182979H
    000000083361F
    000000083361F
    000000083361F
    000000059033F
    000000066273E
    000000069011G
    000000102615B
    000000092362F
    000000138215‚
    000000138215‚
    000000138215‚
    000000138215‚
    000000106760C
    000000106760C
    000000106760C
    000000115024A
    000000115024A
    000000115024A
    000000115024A
    000000115024A
    000000088149B
    000000084459I

  • Submitting data through API without exposing DB credentials

    Submitting transaction / master data through API without exposing DB credentials
    I am developing a scenario where I will submit transaction / master data like sales order / master item to Oracle apps (EBS) through MS Excel via API / interface table but like to provide only apps (EBS) user credentials rather then DB credentials so DB password could not expose to normal end user. Please suggest something on same.
    [email protected]
    Thanks & regards,
    Sachin Gupta

    Sachin, you need a valid userid and password to connect to the database.
    Since these APIs are defined under apps, you need apps password to execute them.
    The workaround is that you define a new d/b userid.
    Grant execute on the API (and other objects as necessary) to this user.
    And then you call the api using the new userid and password.
    This way you are not exposing apps password. But since this means you have to grant a number of accesses to this new user.
    If you can use the interface tables, it becomes a little easier.
    All you have to do is grant insert access on a handful of interface to this new userid. And then you schedule a concurrent program that will process the interface records.
    If you absolutely can not expose ANY database password, then you can communicate with EBS using flat files. Your system creates a flat file on the server and a scheduled program in EBS reads the files and calls appropriate api.
    Hope this helps,
    Sandeep Gandhi

Maybe you are looking for

  • How do I change the iTunes media folder Location and save it?

    I have a seagate drive where I store my music and have it shared as "M".  Each time iTunes starts up, it defaults back to C:\...... and if there is a device connnected, it transfers the purchases from that device to this directory. I need to manually

  • Passing struts-tag value to java / javascript variable in JSP

    Hello all, Im trying to pass the value got from the struts-tag to the java variable in the Jsp. However Im not able to get the o/p. Can u guys help me on this pls... <logic:notEmpty name="TreeBean" property="list">     <logic:iterate id="Type" name="

  • DOM_10079 error while starting integration services of Informatica 9.0

    Hi Team, We are getting error DOM_10079 while starting integration services of Informatica and integartion services not started . Repository service is running fine. Thanks in Advance , Prashant Salve

  • Convert GUID to RID

    Hi i am going to read in a JSP file an URL which has GUID format and convert it to RID format. The sample shows theURL: <a href="493a20804adfb2be5ba2980b435501a8-989g75632safr4df7ga2980b894742a8"> my link <a/> Know anyone how to do it? The other prob

  • Java Applets Security

    Hi, I am getting the following error when I try to open a file dialog using my applet (that's part of a cab file). The error message is exception: com.ms.security.SecurityExceptionEx(BaseFrame.setAcrobatDir); FileDialog creation Denied. Could anyone