Issue using the DBFS PL/SQL API

Hi guys,
I'm trying to use the DBFS PL/SQL APIs and create some simple functions that for example return the file size or move a file to a different path. I created a user DBFS_USER and granted DBFS_ROLE to that user. Using SQLDeveloper, when I run the following code, it works fine:
SET SERVEROUTPUT ON
DECLARE
l_props DBMS_DBFS_CONTENT_PROPERTIES_T;
l_prp dbms_dbfs_content_property_t;
l_blob BLOB;
l_item_type INTEGER;
BEGIN
DBMS_DBFS_CONTENT.getPath (
path => '/staging_area/test_dir/IAMDBFS_USER.txt',
properties => l_props,
content => l_blob,
item_type => l_item_type);
FOR x in 1..l_props.count LOOP
l_prp := l_props(x);
if (l_prp.propname = 'std:length') then
DBMS_OUTPUT.put_line(l_prp.propname || ' : ' || l_prp.propvalue);
end if;
END LOOP;
END;
However, when I try to put it in a package, I get the error message "Error(415,10): PLS-00201: identifier 'DBMS_DBFS_CONTENT_PROPERTY_T' must be declared" while trying to compile. This is what my package and its body looks like:
create or replace
PACKAGE MY_DBFS_PKG IS
Function GetFileLength
(P_FILE_PATH IN Varchar2
,P_ErrMsg OUT Varchar2)
Return Number;
END MY_DBFS_PKG
Body:
create or replace
PACKAGE BODY MY_DBFS_PKG IS
FUNCTION GetFileLength(
P_FILE_PATH IN VARCHAR2 ,
P_ErrMsg OUT VARCHAR2)
RETURN NUMBER
IS
l_return NUMBER;
l_props DBMS_DBFS_CONTENT_PROPERTIES_T;
l_prop DBMS_DBFS_CONTENT_PROPERTY_T;
l_blob BLOB;
l_item_type INTEGER;
BEGIN
l_Return := 0;
P_ErrMsg := NULL;
DBMS_DBFS_CONTENT.getPath ( path => p_file_path, properties => l_props, content => l_blob, item_type => l_item_type);
FOR x IN 1..l_props.count
LOOP
l_prop := l_props(x);
IF (l_prop.propname = 'std:length') THEN
l_Return := l_prop.propvalue;
EXIT;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
l_Return := NVL(SQLCODE, -1);
p_ErrMsg := SQLERRM;
RETURN l_return;
END GetFileLength;
END MY_DBFS_PKG;
Am I missing an extra grant somewhere? Or have I missed a declaration in the package or package body?
I am not a DB person so pardon the probably inefficient loop to find the length or wrong declaration somewhere. I'm open to suggestions/recommendations but want to use the DBFS PL/SQL API as I need other functions out of it.
Thanks very much in advance.
Cappa

Hi guys,
I'm trying to use the DBFS PL/SQL APIs and create some simple functions that for example return the file size or move a file to a different path. I created a user DBFS_USER and granted DBFS_ROLE to that user. Using SQLDeveloper, when I run the following code, it works fine:
SET SERVEROUTPUT ON
DECLARE
l_props DBMS_DBFS_CONTENT_PROPERTIES_T;
l_prp dbms_dbfs_content_property_t;
l_blob BLOB;
l_item_type INTEGER;
BEGIN
DBMS_DBFS_CONTENT.getPath (
path => '/staging_area/test_dir/IAMDBFS_USER.txt',
properties => l_props,
content => l_blob,
item_type => l_item_type);
FOR x in 1..l_props.count LOOP
l_prp := l_props(x);
if (l_prp.propname = 'std:length') then
DBMS_OUTPUT.put_line(l_prp.propname || ' : ' || l_prp.propvalue);
end if;
END LOOP;
END;
However, when I try to put it in a package, I get the error message "Error(415,10): PLS-00201: identifier 'DBMS_DBFS_CONTENT_PROPERTY_T' must be declared" while trying to compile. This is what my package and its body looks like:
create or replace
PACKAGE MY_DBFS_PKG IS
Function GetFileLength
(P_FILE_PATH IN Varchar2
,P_ErrMsg OUT Varchar2)
Return Number;
END MY_DBFS_PKG
Body:
create or replace
PACKAGE BODY MY_DBFS_PKG IS
FUNCTION GetFileLength(
P_FILE_PATH IN VARCHAR2 ,
P_ErrMsg OUT VARCHAR2)
RETURN NUMBER
IS
l_return NUMBER;
l_props DBMS_DBFS_CONTENT_PROPERTIES_T;
l_prop DBMS_DBFS_CONTENT_PROPERTY_T;
l_blob BLOB;
l_item_type INTEGER;
BEGIN
l_Return := 0;
P_ErrMsg := NULL;
DBMS_DBFS_CONTENT.getPath ( path => p_file_path, properties => l_props, content => l_blob, item_type => l_item_type);
FOR x IN 1..l_props.count
LOOP
l_prop := l_props(x);
IF (l_prop.propname = 'std:length') THEN
l_Return := l_prop.propvalue;
EXIT;
END IF;
END LOOP;
EXCEPTION
WHEN OTHERS THEN
l_Return := NVL(SQLCODE, -1);
p_ErrMsg := SQLERRM;
RETURN l_return;
END GetFileLength;
END MY_DBFS_PKG;
Am I missing an extra grant somewhere? Or have I missed a declaration in the package or package body?
I am not a DB person so pardon the probably inefficient loop to find the length or wrong declaration somewhere. I'm open to suggestions/recommendations but want to use the DBFS PL/SQL API as I need other functions out of it.
Thanks very much in advance.
Cappa

Similar Messages

  • How to use the EBS PL/SQL API from outside PL/SQL

    Hi,
    our attempts to call the stored procedures/functions of the EBS PL/SQL API via JDBC revealed the following issues:
    1. Logical values cannot be exchanged through boolean parameters as the OCI has no notion of this type. Instead we need to write PL/SQL wrappers converting boolean to integer and vice versa. Is that true or are we missing something?
    2. Complex values cannot be exchanged through record types as only PL/SQL code has a notion of this type. Instead we need to write PL/SQL wrappers converting record values to object type values. Is that true or are we missing something?
    3. Types must be defined outside of packages, i.e. in the schema, for whatever reason. Instead we need to write PL/SQL wrappers converting values of types defined in packages to values of types defined in the schema. Is that true or are we missing something?
    4. It is possible to let functions return tables so the results can be queried using SELECT * FROM TABLE. Such functions are called "table functions". Is there something similar for the other direction, i.e. is it possible to call a stored procedure and pass in a table value through an sql INSERT statement?
    5. Do we really have to write all those wrapper routines on our own or is there a PL/SQL library providing such? If not, is there some kind of code generation facility that can generate such wrappers?
    Thanks and Regards,
    Konrad

    Hi Helios,
    I belive its better to move your issue on Forum Home » Database » SQL and PL/SQL which you can get more quick responseYou are probably right! I was thinking about a different forum but I did not see this one. I just posted the question there...
    Still, if somebody has an idea here as well, just let me know ;-)
    Konrad

  • How to use DBFS PL/SQL API

    Hi guys,
    I'm re-posting this question to see if anyone can help me out. I am trying to use the DBFS PL/SQL API to manipulate files stored in DBFS.
    Environment details:
    Windows 7 or OEL 5.5 (I have tried both platforms)
    Database: Oracle DB EE 11.2.0.2
    IDE: SQLDeveloper on Windows 7
    I have two users, DBFS_USER who owns the DBFS store and MYUSER who connects to the store to manipulate files using the DBFS PL/SQL API.
    Creation scripts:
    connect / as sysdba;
    CREATE TABLESPACE dbfs_ts DATAFILE 'D:\oracle\oradata\orcl\dbfs01.dbf' SIZE 1M AUTOEXTEND ON NEXT 1M;
    -- create users
    create user dbfs_user identified by dbfs_user default tablespace dbfs_ts quota unlimited on dbfs_ts;
    create myuser identified by myuser;
    -- grant role
    GRANT CREATE SESSION, RESOURCE, CREATE VIEW, DBFS_ROLE, CREATE TABLE TO dbfs_user;
    GRANT CREATE SESSION, RESOURCE, CREATE VIEW, DBFS_ROLE, CREATE TABLE TO myuser;
    -- create file system (as DBFS_USER)
    connect dbfs_user/dbfs_user;
    exec dbms_dbfs_sfs.createFilesystem('STAGING_AREA_FS');
    exec dbms_dbfs_content.registerStore('STAGING_AREA_FS', 'posix', 'DBMS_DBFS_SFS');
    exec dbms_dbfs_content.mountStore('STAGING_AREA_FS', 'staging_area');
    commit;
    -- export store STAGING_AREA_FS (as DBFS_USER)
    exec dbms_dbfs_sfs.exportFilesystem('STAGING_AREA_FS');
    -- check table names (as MYUSER)
    connect myuser/myuser;
    -- should see nothing (no mounts)
    select * from table(dbms_dbfs_content.listMounts);
    -- note down the table_name
    select * from table(dbms_dbfs_sfs.listTables);
    -- mount as MYUSER (example with table_name SFS$_FST_32)
    exec dbms_dbfs_sfs.registerFilesystem('MYUSER_FS', 'DBFS_USER', 'SFS$_FST_32');
    exec dbms_dbfs_content.registerStore('MYUSER_FS', 'posix', 'DBMS_DBFS_SFS');
    exec dbms_dbfs_content.mountStore('MYUSER_FS', 'staging_area');
    commit;
    -- check mount (as MYUSER)
    select * from table(dbms_dbfs_content.listMounts);
    select pathname from dbfs_content;
    CREATE STORED PROC (as MYUSER)
    CREATE OR REPLACE PACKAGE MYUSER_PKG IS
    Function CreateDirectory
    (P_File_Path          IN VARCHAR2,
    P_ErrMsg          OUT VARCHAR2)
    return Number;
    END MYUSER_PKG ;
    CREATE OR REPLACE PACKAGE BODY MYUSER_PKG IS
    Function CreateDirectory
    (P_File_Path          IN VARCHAR2,
    P_ErrMsg          OUT VARCHAR2)
    return Number
    IS
    l_Return NUMBER;
    l_props DBMS_DBFS_CONTENT.PROPERTIES_T;
    BEGIN
    l_Return := 0;
    DBMS_DBFS_CONTENT.createDirectory (
    path     => P_File_Path,
    properties     => l_props);
    RETURN l_Return;
    EXCEPTION
    WHEN OTHERS THEN
    l_Return := NVL(SQLCODE, -1);
    P_ErrMsg := SQLERRM;
    RETURN l_Return;
    END CreateDirectory;
    END MYUSER_PKG ;
    When compiling the package, I am getting this error:
    Error(9,11): PLS-00201: identifier 'DBMS_DBFS_CONTENT' must be declared
    Error(9,11): PL/SQL: Item ignored
    Error(13,3): PL/SQL: Statement ignored
    Error(15,19): PLS-00320: the declaration of the type of this expression is incomplete or malformed
    How do I solve the problem in the error message? I'm not a DB expert. I used this reference documentation: http://download.oracle.com/docs/cd/E11882_01/appdev.112/e18294/adlob_client.htm#CIHDEJAA
    Thanks in advance.
    Cappa

    You need to grant directly the privileges from DBFS_ROLE because roles are not enabled in stored PL/SQL:
    SQL> select* from v$version;
    BANNER
    Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
    PL/SQL Release 11.2.0.2.0 - Production
    CORE    11.2.0.2.0      Production
    TNS for Solaris: Version 11.2.0.2.0 - Production
    NLSRTL Version 11.2.0.2.0 - Production
    SQL> show user
    USER is "SYS"
    SQL>
    SQL> create user myuser identified by myuser;
    User created.
    SQL> GRANT CREATE SESSION, RESOURCE, CREATE VIEW, DBFS_ROLE, CREATE TABLE TO myuser;
    Grant succeeded.
    SQL>
    SQL> begin
      2  for x in (select privilege, table_name
      3           from dba_tab_privs
      4           where grantee='DBFS_ROLE')
      5  loop
      6   execute immediate 'grant ' || x.privilege || ' on ' || x.table_name
      7   || ' to myuser ';
      8  end loop;
      9  end;
    10  /
    begin
    ERROR at line 1:
    ORA-22812: cannot reference nested table column's storage table
    ORA-06512: at line 6
    SQL>
    SQL> connect myuser/myuser
    Connected.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE MYUSER_PKG IS
      2  Function CreateDirectory
      3  (P_File_Path IN VARCHAR2,
      4  P_ErrMsg OUT VARCHAR2)
      5  return Number;
      6  END MYUSER_PKG ;
      7  /
    Package created.
    SQL> show errors
    No errors.
    SQL>
    SQL> CREATE OR REPLACE PACKAGE BODY MYUSER_PKG  IS
      2  Function CreateDirectory
      3  (P_File_Path IN VARCHAR2,
      4  P_ErrMsg OUT VARCHAR2)
      5  return Number
      6  IS
      7  l_Return NUMBER;
      8  l_props DBMS_DBFS_CONTENT.PROPERTIES_T;
      9  BEGIN
    10  l_Return := 0;
    11  DBMS_DBFS_CONTENT.createDirectory (
    12  path => P_File_Path,
    13  properties => l_props);
    14  RETURN l_Return;
    15  EXCEPTION
    16  WHEN OTHERS THEN
    17  l_Return := NVL(SQLCODE, -1);
    18  P_ErrMsg := SQLERRM;
    19  RETURN l_Return;
    20  END CreateDirectory;
    21  END MYUSER_PKG ;
    22  /
    Package body created.
    SQL> show errors
    No errors.You would need to check why some GRANT statement fails if you have other issue with other piece of code.

  • How to use the user and role API's and where to use it

    Hi All,
    I have configured SSO for my UCM11g. Now my application authenticates through the Oracle SSO login page. Currently it is working with SQL authenticator.
    Now, i have to use LDAP authenticator. when i will configure the LDAP authenticator, i have to use the user and role API's to fetch the user profile information from LDAP. i have got the API's which will be used to fetch the respected information, but i am not getting as where i will write those java programs and how this API will be used in my application. what settings i need to do on it so that application uses the API's. ?
    Please can anyone help me on this.
    thanks,
    Saurabh

    Hi, Mithu,
    Thanks a lot for your help in advance.
    I have carefully read the document: https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6b66d7ea-0c01-0010-14af-b3ee523210b5.
    Now, I think I have to set the processor of every actions in every process if I use the GP for processing the workflow.
    I am better to hope that I can set the processor to the role for every actions in every process in the runtime through get the organizational structure in the WDA(webdynpro for java or webdynpro for java). Thus, the customer don't set the processor to the role for every action in every process when runing in the GP.   I don't know how to do this. 
    Whether the function is not supported in the GP? If so, I have to config two organizational structure: in the R/3 and in the Portal. I don't think our customer don't receipt this solution.
    Do you give me some hints? Thanks a lot.  My email: [email protected]
    Thanks again.
    Thanks & Regards,
    Tao

  • An issue using the COM components supplied with SAP GUI 6.2 or 6.4

    We are having an issue using the COM components supplied with SAP GUI 6.2 or 6.4.  We used to have SAP 4.6c and now we have 5.0.  When we were on 4.6c, we used these COM components to logon and execute RFC calls and we had much success.  Now that we are on 5.0, we can’t seem to instance any SAP functions that have something to do with SAP Workflow.  We have experienced this problem when using VB6 or .NET, but our existing code that always worked is in VB 6.0.
    SAP Components used:
    o     SAP Logon Control
    o     SAP Function Control
    o     Librfc32.dll
    o     Other supporting C DLLs and/or COM object supplied with the SAP GUI installation.
    For example, if we want to call the RFC ARCHIV_CONNECTION_INSERT, this code fails in VB6 when the “Set objworkflow = objFuncCtrl.Add(strFunction)” line of code executes.  Instead of returning an instance of the object ARCHIV_CONNECTION_INSERT function, no object is created.  In 6.2, SAP raises no errors, but the object we are trying to create is still “Nothing”.  If we use 6.4, SAP raises an error “SAP data type not supported” via a message box and then the object is still = Nothing.  Interestingly enough, the 6.2 GUI COM controls don’t display the error dialog.  The message box that is shown comes from the SAP Function COM Object "SAP.Functions" (wdtfuncs.ocx).
    Now, what is interesting is if we use the same code to call a standard function or custom function that doesn’t have anything to do with SAP Workflow, then the code works fine.  Again, all of our code used to work just fine on an SAP 4.6 system.
    Here is the code that fails:
        'SAP Logon control - object for creating connections to an SAP system
        Dim objSAPLogonCtrl As Object
        'SAP connection object
        Dim objConnection As Object
        'Object that will represent the SAP function called
        Dim objSAP As Object
        'SAP function control object - object factory for creating other SAP function objects
        Dim objFuncCtrl As Object
        'Create instance of an SAP logon conrol
        Set objSAPLogonCtrl = CreateObject("SAP.Logoncontrol.1")
        'Create a connection object
        Set objConnection = objSAPLogonCtrl.NewConnection
        'Define connecion parameters
        objConnection.ApplicationServer = "sapvm"
        objConnection.SystemNumber = "00"
        objConnection.Client = "800"
        objConnection.User = "iissap"
        objConnection.Password = "tstadm"
        objConnection.Language = "E"
        objConnection.TraceLevel = 10
        'call the logon method of the connection object
        If objConnection.Logon(0, True) = False Then
            MsgBox Error
            Exit Sub
        End If
        'Create an instance of the SAP Function control object
        Set objFuncCtrl = CreateObject("SAP.Functions")
        'Set the function control connection object
        Set objFuncCtrl.Connection = objConnection
        'Function name to be generated and called
        Dim strFunction As String
        strFunction = <b>"ARCHIV_PROCESS_RFCINPUT"</b>
        'Create an instance of the function defined in strFunction
        Set objworkflow = objFuncCtrl.Add(strFunction)
        If objworkflow Is Nothing Then
            MsgBox "Could not create object " & strFunction
        Else
            MsgBox strFunction & " object created."
        End If
    If anyone has seen anything like this or has any ideas, please help!
    Mike and Hameed
    <b></b>

    Hi,
    documentation on the Scripting API is available at ftp://ftp.sap.com/pub/sapgui/win/640/scripting/docs/
    This API is a replacement of the existing, obsolete COM interfaces.
    Best regards,
    Christian

  • 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

  • How to Use the Scalable Vector Graphics API (JSR 226)

    im doin an Application with Maps and locations...
    i need 2 use the Scalable Vector Graphics API (JSR 226)..
    can anyone plz guide me to get it and use the API.. Im using netBeans 5.0
    it will be great help :)
    Regards
    Muhammedh aka MNM

    Thanks Rohan :)
    i did read some stuff from the URLs u gav me :)
    and I manage 2 solve the prob i had :) (Thank God)
    1. downloaded latest version of netBeans (5.5)
    2. Java SDK 6 :D...
    3. the key thing: Wireless tool kit for CLDC 2.5 Beta
    now when u create a project make sure u set the above given tool kit :)
    when u set it.. u get an option 2 select the APIs frm a List.. Check on SVG API :)...
    Other APIs Such as,
    * wireless Messaging API
    * Location API
    and many more...
    Cheers 2 Every1 :)
    regards
    Muhammedh

  • Could someone post some sample soap for using the WS 2.0 api?

    could someone post some sample soap for using the WS 2.0 api?
    I need the actionheader as well. I don't care the object or the action, just need a sample...

    You can throw a javax.xml.ws.soap.SOAPFaultException. https://jax-ws.dev.java.net/nonav/jax-ws-20-fcs/api/javax/xml/ws/soap/SOAPFaultException.html

  • Troublesho​oting issues using the BlackBerry Virtual Expert

    Posted originally on the Inside BlackBerry Help Blog
    Does your BlackBerry need a health assessment? Are you considering a repair? If so, check out the BlackBerry Virtual Expert (BBVE), a simple, self-guided diagnostic app for BlackBerry smartphones.
    Depending on what type of smartphone you are using, you can run tests to help identify if an issue is occurring and get recommendations on how to solve the problem.
    To help you get started with BBVE, here’s a quick overview of how to use this app and what to do if a tests fails.
    How to use the BlackBerry Virtual Expert
    If you are using BlackBerry 10 OS version 10.2.1, BlackBerry Virtual Expert is built in and can be found by opening the Help app followed by tapping Testing along the bottom toolbar. Within this screen, tap Try this now to open BBVE.
    For smartphones running BlackBerry OS version 10.2 or earlier, or BlackBerry OS version 7.1 and earlier, to use BBVE you need to install it first.
    To do this, open BlackBerry World on your smartphone and search for “BlackBerry Virtual Expert,” or use the following steps to scan a barcode. After installation is complete, look for the BBVE icon that appears on your home screen.
    Open BlackBerry World.
    Complete one of the following:
    If your smartphone is running BlackBerry 10 OS, swipe down from the top of the screen and tapScan Barcode.
    If your smartphone is running BlackBerry OS version 7.1 or earlier, press the Menu key followed by Scan a Barcode.
    Scan the following barcode and tap Download.
    After opening the BBVE, the Health tab appears by default which allows you to identify basic details about your smartphone and quickly access specific settings.
    If you select Tests along the bottom toolbar, you can run all of the available tests at once or test a specific feature. To test everything at once, tap All Tests or select a specific feature or function you’d like to test.
    If you have concerns about your headphone jack for example, select Audio Test to run a variety of audio-related tests, or optionally select Choose A Test followed by tapping on the specific test you’d like to run.
    When you start testing a feature, follow the instructions displayed on your smartphone and complete the required actions followed by recording a result: Pass , Skip , or Fail . When all of the selected tests are completed you are shown your results indicating what passed, what tests were skipped, and of course, any tests that may have failed.
    One of the BBVE tests failed! Help!
    Should a test fail while using BBVE, after reviewing the suggestions on the Results tab, here are a few things you can do to help get an issue resolved efficiently.
    Step 1 – Summarize the issue
    Creating a summary of the issue you are encountering and recording what troubleshooting steps you have already taken is a great step that helps our support teams better assist you. In addition to creating a summary, obtain your BlackBerry smartphone details using the steps below.
    If you are using a BlackBerry 10 smartphone, to identify your OS version, tap Settings > About and in theCategory drop-down list, select OS. To identify your PIN, tap Settings > About and in the Category drop-down list, select Hardware.
    If you are using a BlackBerry OS smartphone, check out this post for help identifying this information.
    Step 2 – Back up your device
    When you contact support for a potential repair issue, they will guide you through this process, so doing this before you contact support can help speed things along.
    If you are using a BlackBerry 10 smartphone, download and install BlackBerry Link for PC or Mac so you can back up your smartphone. For help backing up and restoring your smartphone data, please review the BlackBerry Link User Guide for PC or Mac.
    If you are using a BlackBerry OS device, download BlackBerry Desktop Software to back up your smartphone. For help backing up and restoring your data, review the BlackBerry Desktop Software user guide (PC, Mac).
    Step 3 – Use self-service support options
    Join the BlackBerry Support Community Forums and create a new post about your issue. Be sure to include the summary you created in step 1 because this allows community members to suggest alternative steps that may help resolve the issue you are encountering.
    Review and search the BlackBerry Knowledge Base for a support article that may provide a solution to the issue you are encountering.
    Step 4 – Contact your service provider or visit a BlackBerry Expert Center
    If you are still unable to resolve the issue, consider contacting your service provider or BlackBerry Expert Center for additional assistance. As mentioned earlier, having your smartphone details and a summary of troubleshooting performed will help out whoever is assisting you with the issue.
    For help contacting your service provider, search using your favorite browser for your service provider’s support website.
    Depending on where you are located, you may have the option of visiting a BlackBerry Expert Center. For help finding a BlackBerry Expert Center near you, check out the following link: Find help at a BlackBerry Expert Center.
    Frequently asked questions
    Why does BlackBerry Virtual Expert need permission X, Y & Z?
    For BBVE to perform specific tests, select permissions must be enabled the first time you open BBVE. You can optionally disable some or all permissions but keep in mind any tests requiring disabled permissions will not work. If you run a test that requires a specific permission such as the ability to use the camera, you will receive a notification to update your permission settings.
    What tests does BBVE include?
    Depending on which type of BlackBerry model you are using, available tests include:
    Touch Screen
    Display
    USB Port
    Main Keypad
    Keyboard
    Side keys
    Slider
    Cameras
    Camera Flash
    Receiver Speaker
    Loudspeaker
    Stereo Loudspeaker
    Stereo Headset
    Microphone
    Vibrator Bluetooth
    Status LED
    Gyroscope
    Accelerometer
    Orientation Sensors
    HDMI Connector
    USB Connector
    SIM Card Connector
    SD Card Connector
    Wireless Charger
    GPS hardware
    Light Sensor
    Proximity Sensor
    Wi-Fi
    Where can I learn more about BlackBerry Virtual Expert?
    If you are using a BlackBerry 10 smartphone, check out our web-based training for an interactive overview of how to use this application or use the Help app on your smartphone and search for “BlackBerry Virtual Expert.”
    Did someone help you? Click Like! Did a post solve your issue? Click Accept as Solution!
    Follow me on Twitter or Google+ and subscribe to the Inside BlackBerry Help Blog

    this should be floated aka stickied
    Click here to Backup the data on your BlackBerry Device! It's important, and FREE!
    Click "Accept as Solution" if your problem is solved. To give thanks, click thumbs up
    Click to search the Knowledge Base at BTSC and click to Read The Fabulous Manuals
    BESAdmin's, please make a signature with your BES environment info.
    SIM Free BlackBerry Unlocking FAQ
    Follow me on Twitter @knottyrope
    Want to thank me? Buy my KnottyRope App here
    BES 12 and BES 5.0.4 with Exchange 2010 and SQL 2012 Hyper V

  • 0x8007000e (E_OUTOFMEMORY) while adding a firewall rule using the windows firewall COM API

    Hello,
    Configuration: Windows Embedded 8 64-bit.
    I'm using the Windows Firewall with Advanced Security COM API. The program uses the INetFwRules interface. Basically, I'm using the following code (Form the code sample available here : http://msdn.microsoft.com/en-us/library/windows/desktop/dd339604%28v=vs.85%29.aspx.)
     I get the error when performing "hr = pFwRules->Add(pFwRule);".
    We can also encounter the problem when removing a rule (using pFwRules->Remove(ruleName);)
    HRESULT hrComInit = S_OK;
    HRESULT hr = S_OK;
    INetFwPolicy2 *pNetFwPolicy2 = NULL;
    INetFwRules *pFwRules = NULL;
    INetFwRule *pFwRule = NULL;
    long CurrentProfilesBitMask = 0;
    BSTR bstrRuleName = SysAllocString(L"SERVICE_RULE");
    BSTR bstrRuleDescription = SysAllocString(L"Allow incoming network traffic to myservice");
    BSTR bstrRuleGroup = SysAllocString(L"Sample Rule Group");
    BSTR bstrRuleApplication = SysAllocString(L"%systemroot%\\system32\\myservice.exe");
    BSTR bstrRuleService = SysAllocString(L"myservicename");
    BSTR bstrRuleLPorts = SysAllocString(L"135");
    // Initialize COM.
    hrComInit = CoInitializeEx(
    0,
    COINIT_APARTMENTTHREADED
    // Ignore RPC_E_CHANGED_MODE; this just means that COM has already been
    // initialized with a different mode. Since we don't care what the mode is,
    // we'll just use the existing mode.
    if (hrComInit != RPC_E_CHANGED_MODE)
    if (FAILED(hrComInit))
    printf("CoInitializeEx failed: 0x%08lx\n", hrComInit);
    goto Cleanup;
    // Retrieve INetFwPolicy2
    hr = WFCOMInitialize(&pNetFwPolicy2);
    if (FAILED(hr))
    goto Cleanup;
    // Retrieve INetFwRules
    hr = pNetFwPolicy2->get_Rules(&pFwRules);
    if (FAILED(hr))
    printf("get_Rules failed: 0x%08lx\n", hr);
    goto Cleanup;
    // Create a new Firewall Rule object.
    hr = CoCreateInstance(
    __uuidof(NetFwRule),
    NULL,
    CLSCTX_INPROC_SERVER,
    __uuidof(INetFwRule),
    (void**)&pFwRule);
    if (FAILED(hr))
    printf("CoCreateInstance for Firewall Rule failed: 0x%08lx\n", hr);
    goto Cleanup;
    // Populate the Firewall Rule object
    pFwRule->put_Name(bstrRuleName);
    pFwRule->put_Description(bstrRuleDescription);
    pFwRule->put_ApplicationName(bstrRuleApplication);
    pFwRule->put_ServiceName(bstrRuleService);
    pFwRule->put_Protocol(NET_FW_IP_PROTOCOL_TCP);
    pFwRule->put_LocalPorts(bstrRuleLPorts);
    pFwRule->put_Grouping(bstrRuleGroup);
    pFwRule->put_Profiles(CurrentProfilesBitMask);
    pFwRule->put_Action(NET_FW_ACTION_ALLOW);
    pFwRule->put_Enabled(VARIANT_TRUE);
    // Add the Firewall Rule
    hr = pFwRules->Add(pFwRule);
    if (FAILED(hr))
    printf("Firewall Rule Add failed: 0x%08lx\n", hr);
    goto Cleanup;
    This works pretty well but, sometimes, at system startup, adding a rule ends up with the error 0x8007000e (E_OUTOFMEMORY) ! At startup, the system is always loaded cause several applications starts at the same time. But nothing abnormal. This is quite a random
    issue.
    According MSDN documentation, this error indicates that the system "failed to allocate the necessary memory".
    I'm not convinced that we ran out of memory.
    Has someone experienced such an issue? How to avoid this?
    Thank you in advance.
    Regards, -Ruben-

    Does Windows 8 desktop have the same issue? Are you building a custom WE8S image, or are you using a full WE8S image? The reason I ask is to make sure you have the modules in the image to support the operation.
    Is Windows Embedded 8.1 industry an option?
    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

  • How to use the transaction STO5 (SQL Trace)

    Hi,
        I want to check the performance of program using the ST05 transaction. Please send me the step by step procedure to trace my program.
    Thanks & Regards,
    Santhosh Kumar.R

    Hi,
    following explanation clearly you abt ST05
    Hi,
    SQL trace(ST05) provides the developer with the ability to analyse database select statements. Simply execute ST05 to turn on SQL trace, then execute the statement/program you want to analyse. Now turn off SQL trace using ST05
    and click on list trace to view the details.
    You can also perform traces on other items such as authorisation objects.
    The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
    The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
    The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
    To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
    Performance Tuning is useful mainly reducing load on database. It is very important aspect while writing the programs/FM etc.....
    SQL Trace
    Use
    The SQL Trace function is an on-demand log of selected SQL statements that are issued against the database through the Open SQL Engine. The SQL Trace can be switched on or off dynamically. The log format is database independent. Besides the SQL statement text, each log record contains information about the point in time when the statement was executed, its duration, its input parameters and results (where applicable) as well as context information.
    Features
    The SQL Trace is especially useful for:
    Development:
    SQL Trace can help JDO, enterprise beans, servlet and JSP developers to learn which kind of database accesses their code produces.
    &#61489;&#61486; Performance analysis
    Typically, performance issues are caused by inefficient database accesses. In this case SQL Trace can be used to show the issued SQL statements and their duration, thus helping to identify inefficient SQL statements.
    Functions
    <b>The following functions are available on the initial screen</b>:
    Select trace:
    • Select the trace mode SQL Trace, Enqueue Trace, RFC Trace, or Table Buffer Trace. You can select mutliple trace modes simultaneously.
    Select trace function:
    • Start the trace recording.
    • Stop the trace recording.
    • Branch to trace list, detailed list, or time-sorted list.
    • Branch to Explain SQL to analyze an SQL statement without an explicit trace file.
    Trace files are managed by the system. Thus they can be saved, like any other object;
    saved trace files can be displayed and deleted.
    Trace Status
    A trace can only be activated once on any application server. The Trace Status display informs you whether another user in the system has already activated a particular trace.
    Starting the Trace
    Prerequisites
    <b>You can only switch on the Performance Trace for a single instance</b>. You should already have decided the scope and targets of your performance analysis.
    Procedure
    <b>To analyze a trace file, do the following</b>:
    ... 1. Choose the menu path Test &#61614; Performance Trace in the ABAP Workbench.
    The initial screen of the test tool appears. In the lower part of the screen, the status of the Performance Trace is displayed. This provides you with information as to whether any of the Performance Traces are switched on and the users for which they are enabled. It also tells you which user has switched the trace on.
    2. Using the selection buttons provided, set which trace functions you wish to have switched on (SWL trace, enqueue trace, RFC trace, table buffer trace).
    3. If you want to switch on the trace under your user name, choose Trace on.
    If you want to pass on values for one or several filter criteria, choose Trace with Filter.
    Typical filter criteria are: the name of the user, transaction name, process name, and program name.
    4. Now run the program to be analyzed.
    You will normally analyze the performance trace file immediately. In this case, it is a good idea to use a separate session to start, stop, and analyze the Performance Trace
    If you are shown trace kernel errors on the initial screen (for example, not enough storage space available), you must first remove the errors or have them removed by your system administrator.
    The selected trace types can be changed as required during a performance trace interval (time between switching on and off the trace). The user (user group) must remain unchanged.
    Result
    The results of the trace recording are written to a trace file. If trace records are overwritten during the trace interval, the system displays a message to inform you when you analyze the trace file.
    The results of the trace recording are stored to ten trace files. Overwriting trace records, however, cannot be entirely excluded in this case either.
    The Performance Trace records all database access calls, table buffer calls, remote calls, or calls for user lock activity. These measurements can affect the performance of the application server where the trace is running. To preserve system performance, you should therefore turn off the trace as soon as you finish recording your application.
    Stopping the Trace
    Prerequisites
    You have started the trace and finished running the program that you want to analyze.
    <b>For performance reasons, you should switch off the traces as soon as you have finished recording.</b>
    Procedure
    <b>To deactivate the trace:</b>
    ... 1. Choose Test &#61614;Performance Trace in the ABAP Workbench.
    The initial screen of the test tool appears. It contains a status line displaying the traces that are active, the users for whom they are active, and the user who activated them.
    2. Select the trace functions that you want to switch off.
    3. Choose Deactivate Trace.
    If you started the trace yourself, you can now switch it off immediately. If the performance trace was started by a different user, a confirmation prompt appears before deactivation-
    Result
    The results of the trace are stored in one or more trace files. You can then analyze the performance data stored in the trace file. See also, Analyzing Performance Data.
    Look at the below link
    http://www.sapbrainsonline.com/TOOLS/SQLTRACE/SQL_TRACE.html
    <b>Reward with points if helpful.</b>
    Regards,
    Vijay

  • How do I read and write at the same time using the NI-CAN channel API?

    Here's the situation.  I have one CAN bus, and I need to read and write channel data (using the channel API) at the same time both at an interval of 20 ms.  It's easy to do one or the other using the channel API, but you can't setup a channel task to do both.  It's either input or output, not both.  Is this even possible?

    Hi,
    yes , this is possible. But you have to create two tasks, one for input and one for output. see the attached example for LabVIEW.
    If you download and install NI-CAN 2.4 you will get this example and one for C and VB as well.
    DirkW
    Attachments:
    Single Sample Input Output same Port.vi ‏79 KB

  • Issues using the outline load command on Planning Version 11.1.2

    Hi All
    I am trying to add members into the Account dimension using the outline load utility within Planning version 11.1.2 and I am getting the following error message:
    Unable to obtain dimension information and/or perform a data load: Unable to create print writer for log file. “D:Oracle\Middleware\user_projects\epmsystem1\Planning\planning1\Data\Log” is a directory. Exception in thread “main” java.lang.NullPointerException at com.hyperion.planning.utils.HspOutlineload.loadAndPrintStatus<Unknown Source> at com.hyperion.planning.utils.HSPOutlineLoad.main<Unknown Source>
    The command synatx I am using is:
    Outlineload /A:Plan01 /u:admin /I:D:\Oracle\Middleware\user_projects\epmsystem1\Planning\Planning1\Data\account.csv /D:Account /T
    Where the headers of the csv import file I have used are:
    Parent,Account
    and
    Account,Parent
    I am e studio enviroment so not sure if this will cause issues.
    Any help would be greatly appreciated
    Regards

    Hi All
    I am trying to add members into the Account dimension using the outline load utility within Planning version 11.1.2 and I am getting the following error message:
    Unable to obtain dimension information and/or perform a data load: Unable to create print writer for log file. “D:Oracle\Middleware\user_projects\epmsystem1\Planning\planning1\Data\Log” is a directory. Exception in thread “main” java.lang.NullPointerException at com.hyperion.planning.utils.HspOutlineload.loadAndPrintStatus<Unknown Source> at com.hyperion.planning.utils.HSPOutlineLoad.main<Unknown Source>
    The command synatx I am using is:
    Outlineload /A:Plan01 /u:admin /I:D:\Oracle\Middleware\user_projects\epmsystem1\Planning\Planning1\Data\account.csv /D:Account /T
    Where the headers of the csv import file I have used are:
    Parent,Account
    and
    Account,Parent
    I am e studio enviroment so not sure if this will cause issues.
    Any help would be greatly appreciated
    Regards

  • Has Firefox been optimzied for the new Mac OSX Lion? I've been having issues using the browser since upgrading to Lion. Issues include using some websites as well as google e-mail...icons do not appear etc.

    when checking mail in google I am not able to 'star' an e-mail or mark it etc. I don't get the option to do that, as I did before upgrading to Mac Osx Lion

    Try setting up another admin user account to see if the same problem continues. If Back-to-My Mac is selected in System Preferences, the Guest account will not work. The intent is to see if it is specific to one account or a system wide problem. This account can be deleted later.
    Isolating an issue by using another user account
    If the problem is still there, try booting into the Safe Mode using your normal account.  Disconnect all peripherals except those needed for the test. Shut down the computer and then power it back up. Immediately after hearing the startup chime, hold down the shift key and continue to hold it until the gray Apple icon and a progress bar appear. The boot up is significantly slower than normal. This will reset some caches, forces a directory check, and disables all startup and login items, among other things. When you reboot normally, the initial reboot may be slower than normal. If the system operates normally, there may be 3rd party applications which are causing a problem. Try deleting/disabling the third party applications after a restart by using the application un-installer. For each disable/delete, you will need to restart if you don't do them all at once.
    Safe Mode
    Safe Mode - About

  • Using the DBMS_XDBRESOURCE PL/SQL package

    Does anyone know how to use the functions in the DBMS_XDBRESOURCE package? I've tried to use the GETCREATIONDATE function but no luck. I usually get a "PLS-00221: 'GETCREATIONDATE' is not a procedure or is undefined"
    The 11g PL/SQL packages and type reference describes it as such:
    Given an XDBResource, this function returns its creation date.
    Syntax:
    DBMS_XDBRESEROUCE.GETCREATIONDATE (
    res IN XDBResource)
    RETURN TIMESTAMP;
    Notice the misspelling, which is confusing enough. However, I have no idea how to make an XDBResource object. I've tried the path to the resource as well as the RAW resource ID.
    I'm doing this in SQL*Plus, and just want to see if I get the same timestamp that I would see when I browse the object in the XML Repository.
    Any help would be appreciated.

    Thank you, that works. I remember reading this in the developer's guide, but forgot about it when I did a describe on resource_view and I didn't see any date elements.
    Since you mentioned events, and since I will be using them to perform some action, what are the best events to use when a new file is added or an existing one is updated? I haven't digested all the information in the events chapter, but Post-Create and Post-Update are obvious, but I want to make sure it's a valid XML file before anything is triggered.

Maybe you are looking for

  • What's the reason i'm getting '   RAISE cnht_error_parameter ' runtime?

    Hi Folks, please let me know y iam getting '  RAISE cnht_error_parameter.' runtime error while creating 'View' in ABAP Webdynpro using CRM 5.0 server. Thankx, Naresh

  • Ifilter does not update Outlook to search for attachment content

    We are using Windows 7 and Outlook 2014, 64 bit I installed the iFilter application (9 for 64-bit platforms). I can now search attachment content (PDF) using Windows explorer. But, i cannot search attachment content in Outlook. I did follow instructi

  • Help for runtime change in list item

    hi i have created a tabuler form and have list_items on it i want when i select category monitor then in next list i get monitor's serial numbers in next record when i select printer then in next list i get printer's serial numbers i had tried it on

  • Avoid MIRO without GR

    Hi In my system i can see that MIRO can be posted without GR. We would like to stop this and MIRO cannot be posted without MIGO. Where can we set this up. I have tried on google and various forums but no luck. I know i don't want you guys time to be

  • Process chain remains yellow even it is OK

    Hello, I have a process chain which contains many master data loadings. It can happen that when I log in the morning and check my process chain that have been executed during the night, I always have processes in yellow (not finished). However when I