PL/SQL API for report9i

I am working with Report Builder 9.0.2.0.3 in Oracle 9ids. One of the new feature supposed to be Event Based Publishing through PL/SQL API but I am unable to locate this API. I want to call report from a database package.
Where is this API located and How can I call it? Is it in 9i packages or in report builder.
Sanjay

See the Publishing Reports Manual:
http://otn.oracle.com/products/reports/htdocs/getstart/docs/A92102_01/pbr_evnt.htm#1005593
The SQL scripts for the installing the API into a database are located in the $ORACLE_HOME/reports/admin/sql/ directory.
-Manish

Similar Messages

  • PL/SQL API for Creating Sales Order

    Hi,
    I am new to Oracle SOA 11g.
    I have done the Deleting Sales Order using PL/SQL API ( Oracle Apps Adapter ) [ API Name: OE_ORDER_PUB.DELETE_ORDER ] in SOA BPEL. While executing the BPEL, it is correctly deleting Sales Order in E Business Suite which is created in EBS User Interface. I don't face any problem while deleting the sales order.
    Now, in same way, I have to create a new Sales Order using PL/SQL API in SOA-BPEL. I don't find any API's related to creating Sales Order in Order Management Suite (OM_PF) -->Order Management (ONT) --> Sales Order (ONT_SALES_ORDER) --> PL/SQL --> Process Order API (OE_ORDER_PUB) in Module Browser.
    Please tell me which PL/SQL API to use to create new Sales Order in BPEL.
    Thanks,
    -- Gowtham
    Edited by: user8223943 on Feb 16, 2012 7:38 AM

    You may be on a different patch level. Can you ensure that you have applied all latest patches for your version?
    See sample code at http://jyotioraapps.blogspot.com/2009/08/use-of-oeorderpubprocessorder-to-create.html
    Hope this helps,
    Sandeep Gandhi

  • PL/SQL API for Creating Sales Order in E Business Suite from BPEL

    Hi,
    I am new to Oracle SOA 11g.
    I have done the Deleting Sales Order using PL/SQL API ( Oracle Apps Adapter ) [ API Name: OE_ORDER_PUB.DELETE_ORDER ]. While executing the BPEL, it is correctly deleting Sales Order in E Business Suite which is created EBS User Interface. I don't face any problem while deleting the sales order.
    Now, in same way, I have to create a new Sales Order using PL/SQL API. I don't find any API's related to creating Sales Order in Order Management Suite (OM_PF) -->Order Management (ONT) --> Sales Order (ONT_SALES_ORDER) --> PL/SQL --> Process Order API (OE_ORDER_PUB) in Module Browser.
    Please tell me which PL/SQL API to use to create new Sales Order in BPEL.
    Thanks,
    -- Gowtham

    You may be on a different patch level. Can you ensure that you have applied all latest patches for your version?
    See sample code at http://jyotioraapps.blogspot.com/2009/08/use-of-oeorderpubprocessorder-to-create.html
    Hope this helps,
    Sandeep Gandhi

  • PL/SQL API for report 9i

    I am working with Report Builder 9.0.2.0.3 in Oracle 9ids. One of the new feature supposed to be Event Based Publishing through PL/SQL API but I am unable to locate this API. I wanr to call reports from a database package.
    Where is this API located and How can I call it? Is it with the Oracle 9i packages or in report builder?
    Sanjay

    Hi Sanjay,
    Please repost your question in the Reports forum - Reports
    Sujatha.
    http://otn.oracle.com/sample_code/content.html

  • DB SQL API for BDB: out of memory

    Hi,
    I posted a related thread here: Report Bug of SQLite-compatible API: Out of Memory Error but it is not answered yet so I am posting it again...Sorry for duplicate.
    Basically, we are evaluating Berkeley DB as a candidate for our database solution. However, we ran into an out-of-memory error when using BDB's SQLite-compatible API to deal with memory databases. Here are some simple steps to repro the issue:
    1. Open a memory database
    2. Insert many records (about 200,000 records) into it
    3. Close the database
    4. Repeat from step 1.
    Expected result: because I already closed the previous memory database, there should be no error.
    Actual result: out of memory.
    Here's the test program I am using:
    int
    testMemoryDatabase()
    db_handle *db;
    const char *sql;
    int i;
    // Setup database
    db = setup(":memory:");
    // Create tables
    sql = "create table Table1 (col1 varchar(32), col2 int);"
    "create table Table2 (col1 varchar(32), col2 varchar(64));"
    "create table Table3 (col1 varchar(32), col2 int);"
    "create table Table4 (col1 varchar(64), col2 int, col3 smallint, col4 int, col5 DateTime);"
    "create table Table5 (col1 varchar(64), col2 varchar(64), col3 varchar(1024));";
    exec_sql(db, sql);
    // Do insert operations
    sql = "insert into Table1 values ('xxxxxxxxxxxxxx', '523620105');insert into Table2 values ('xxxxxxxxxxxxxx', 'xxxxxxxxxxxxxx');insert into Table3 values ('xxxxxxxxxxxxxx', '1688709171');insert into Table4 values ('xxxxxxxxxxxxxx', '844867696', '32671917', '424084999', 'xxxxxxxxxxxxxx');insert into Table5 values ('xxxxxxxxxxxxxx', 'xxxxxxxxxxxxxx', 'xxxxxxxxxxxxxx');insert into Table1 values ('xxxxxxxxxxxxxx', '0');insert into Table2 values ('xxxxxxxxxxxxxx', '0');insert into Table3 values ('xxxxxxxxxxxxxx', '0');insert into Table4 values ('xxxxxxxxxxxxxx', '0', '0', '0', 'xxxxxxxxxxxxxx');insert into Table5 values ('xxxxxxxxxxxxxx', 'xxxxxxxxxxxxxx', '0');";
    for (i = 0; i < 20000; ++i)
    if (i % 1000 == 0) printf("%d\n", i);
    exec_sql(db, sql);
    // Clean up
    cleanup(db);
    int
    main()
    db_handle *db;
    testMemoryDatabase();
    testMemoryDatabase();
    testMemoryDatabase();
    testMemoryDatabase();
    // Add more testMemoryDatabase() calls...
    The out of memory error somewhat blocks us to use BDB memory DB...if it can be solved that will be great. Also, please point out right place if the forum is not the place to report such a bug.
    Thanks a lot!
    - lie

    Hi Lie,
    I have reproduced the issue and we're investigating a fix that will be available in a future release. If you need a solution sooner than that, please let me know.
    Thanks again for the report.
    Best regards,
    Rucong Zhao

  • ADF BC VO based on PL/SQL-API

    Hi,
    We have the following scenario.
    It exists a PL/SQL-API in the database which return a rowtype (the function must not be modified). These data are displayed in the GUI.
    FUNCTION get_rec(p_parm IN table.column%type) RETURN table%rowtype;We found no declarative solution to create a ADF VO or ADF EO on a PL/SQL-API.
    In the documentation "38.5 Basing an Entity Object on a PL/SQL Package API" the combine a db-view for reading (R) and pl/sql-api for the DML (CUD).
    On solution would be to define a SQL Type for this scenario, and add a new PL/SQL-function (because the orginal function must not be modified) which returns the type.
    FUNCTION get_rec(p_parm IN table.column%type) RETURN OUR_SQL_TYPE;Then we can use a statment like SELECT * FROM TABLE(pkg_x.get_rec(:param)) in the ADF BC VO.
    Note:
    We found [url https://database-api-based-adf-bc.samplecode.oracle.com/]database-api-based-adf-bc. but "Last Updated: Nov. 10, 2009 and Current Version:     0.2b" does not sound very encouraging.
    And [url http://technology.amis.nl/blog/3315/creating-an-adf-application-based-on-plsql-api-part-one-reading-data-as-a-collection-of-sql-type-objects]adf-application-based-on-plsql-api. is a good blog-post too but adjustments in the database (SQL_TYPE, ...) must also be made.
    Technologie: ADF 11g (Fusion Stack: ADF BC, ADF Faces)
    Question: Is there a more elegant (declarative) solution for this problem without making the request to change the code DB?
    Best Regards
    Martin

    Martin, I've tried several of the strategies that you've mentioned, and the one I liked best was to write a new function to translate the rowtype to a nested table of object type so that you can create a VO that is a SELECT from TABLE. More work on the database side, but the VO is declarative. There really isn't much better because a PL/SQL record is only usable within PL/SQL.
    John, I have used JPublisher which works well to create POJOs that execute PL/SQL functions and that represent database objects created with CREATE TYPE. It even generates the DDL and PL/SQL code that would be needed to create the object types to mirror PL/SQL record types. But you still have to write some code to integrate the generated code into ADF BC. In particular, the constructors for the POJOs take a Connection as an argument - obviously, you can't run PL/SQL without a connection to an Oracle RDBMS. So you usually want to instantiate the objects in an AM, which can provide a Connection. Not a bad tool - pretty useful for some scenarios, but still not as declarative as Martin (or I) would like.

  • Berkeley DB with SQL API: Where to start?

    Hi,
    I am an Oracle DBA and just starting to look at Berkeley DB for a new project at work. I intend to use the SQL API, so I have downloaded and installed Berkeley 11g R2 (using the windows msi).
    However, I have been browsing around the documentation for 2 days now but still don't understand how to actually create a database! Is this not possible with the SQL API? Do I have to do it from "somewhere else" and just use the API to access the data?
    The strange thing is, if I open the API (dbsql) I can create a table:
    dbsql> create table test_tab(x int) ;
    dbsql> .tables
    test_tab
    dbsql> exitBut I have no idea where that table is actually created and stored? I don't see a file on disk (a "database" is a file, right?). If I open dbsql again, the table is not shown.
    Sorry for the dumb questions but I'm really an old relational-DB guy struggling to come to terms with this architecturally and functionally different idea of a database. Hope someone can help, or at least point me to a "Berkeley DB using SQL API for complete and utter dummies" type guide.
    Regards,
    El DBA

    Hi Sandra,
    Thanks very much for the information. I have been looking through the documentation and starting to get to grips with this now.
    We do have one important issue though, which comes from within the FAQ you mentioned. I see it's also been talked about in this thread:
    ado.net provider
    In the FAQ, it says:
    Does Berkeley DB support ADO.NET?
    There are some known issues related to using the public domain SQLite ADO.NET provider with Berkeley DB. We are actively working on clearly defining those issues, and hopefully resolving them. Is there any idea of a date for the ado.net support? In our development, we are using that very same provider, which is the same one as mentioned in that thread (it's system.data.sqlite.dll from http://sqlite.phxsoftware.com) but will not be able to commit to developing with Berkeley until the support is offered.
    Kind regards,
    Adam
    Edited by: El DBA on Jul 29, 2010 1:13 PM
    Edited by: El DBA on Jul 29, 2010 1:16 PM

  • Java API for running entire ".sql" files on a remote DB ( mySQL or Oracle)?

    Hi,
    Would anyone happen to know if there's a java API for executing entire ".sql" files (containing several different SQL commands), on a remote database server ?
    It's enough if the API works with MySQL and/or Oracle.
    Just to demonstrate what i'm looking for:
    Suppose you've created sql file "c:/test.sql" with several script lines:
    -- test.sql:
    insert into TABLE1 values(3,3);
    insert into TABLE1 values(5,5);
    create table TABLE2 (name VARCHER) ENGINE innoDB; -- MYSQL specific
    Then the java API should look something like:
    // Dummy java code:
    String driver="com.mysql.jdbc.Driver";
    String url= "jdbc:mysql://localhost:3306/myDb";
    SomeAPI.executeScriptFile( "c:/test.sql", driver, url);
    Thanks.

    No such a API, but it's easy to parse all sqls in a file, then run those command:
    For instance:
    import java.sql.*;
    import java.util.Properties;
    /* A demo show how to load some sql statements. */
    public class testSQL {
    private final static Object[] getSQLStatements(java.util.Vector v) {
    Object[] statements = new Object[v.size()];
    Object temp;
    for (int i = 0; i < v.size(); i++) {
    temp = v.elementAt(i);
    if (temp instanceof java.util.Vector)
    statements[i] = getSQLStatements( (java.util.Vector) temp);
    else
    statements[i] = temp;
    return statements;
    public final static Object[] getSQLStatements(String sqlFile) throws java.
    io.IOException {
    java.util.Vector v = new java.util.Vector(1000);
    try {
    java.io.BufferedReader br = new java.io.BufferedReader(new java.io.
    FileReader(sqlFile));
    java.util.Vector batchs = new java.util.Vector(10);
    String temp;
    while ( (temp = br.readLine()) != null) {
    temp = temp.trim();
    if (temp.length() == 0)
    continue;
    switch (temp.charAt(0)) {
    case '*':
    case '"':
    case '\'':
    // System.out.println(temp);
    break; //Ignore any line which begin with the above character
    case '#': //Used to begin a new sql statement
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    case 'S':
    case 's':
    case '?':
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    v.addElement(temp);
    break;
    case '!': //Use it to get a large number of simple update statements
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    String part1 = temp.substring(1);
    String part2 = br.readLine();
    for (int i = -2890; i < 1388; i += 39)
    batchs.addElement(part1 + i + part2);
    for (int i = 1890; i < 2388; i += 53) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 4320; i > 4268; i--) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 9389; i > 7388; i -= 83)
    batchs.addElement(part1 + i + part2);
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    default:
    batchs.addElement(temp);
    break;
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    br.close();
    br = null;
    catch (java.io.FileNotFoundException fnfe) {
    v.addElement(sqlFile); //sqlFile is a sql command, not a file Name
    Object[] statements = new Object[v.size()];
    for (int i = 0; i < v.size(); i++)
    statements[i] = v.elementAt(i);
    return statements;
    public static void main(String argv[]) {
    try {
    String url;
    Object[] statements;
    switch (argv.length) {
    case 0: //Use it for the simplest test
    case 1:
    url = "jdbc:dbf:/.";
    if (argv.length == 0) {
    statements = new String[1];
    statements[0] = "select * from test";
    else
    statements = argv;
    break;
    case 2:
    url = argv[0];
    statements = getSQLStatements(argv[1]);
    break;
    default:
    throw new Exception(
    "Syntax Error: java testSQL url sqlfile");
    Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
    //Please see Connecting to the Database section of Chapter 2. Installation in Development Document
    Properties properties = new Properties();
    Connection con = DriverManager.getConnection(url, properties);
    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    //Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    // stmt.setMaxRows(0);
    stmt.setFetchSize(10);
    final boolean serializeFlag = false;//A test switch to serialize/deserialize the resultSet
    ResultSet rs;
    for (int i = 0; i < statements.length; i++) {
    if (statements[i] instanceof java.lang.String) {
    String temp = (java.lang.String) statements;
    switch (temp.charAt(0)) {
    case 'S':
    case 's':
    case '?':
    System.out.println(temp);
    rs = stmt.executeQuery(temp);
    if (serializeFlag) {
    // serialize the resultSet
    try {
    java.io.FileOutputStream fileOutputStream = new
    java.io.FileOutputStream("testrs.tmp");
    java.io.ObjectOutputStream
    objectOutputStream = new java.io.
    ObjectOutputStream(fileOutputStream);
    objectOutputStream.writeObject(rs);
    objectOutputStream.flush();
    objectOutputStream.close();
    fileOutputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    rs.close(); //Let the CONCUR_UPDATABLE resultSet release its open files at once.
    rs = null;
    // deserialize the resultSet
    try {
    java.io.FileInputStream fileInputStream = new
    java.io.FileInputStream("testrs.tmp");
    java.io.ObjectInputStream objectInputStream = new
    java.io.ObjectInputStream(
    fileInputStream);
    rs = (ResultSet) objectInputStream.
    readObject();
    objectInputStream.close();
    fileInputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    ResultSetMetaData resultSetMetaData = rs.
    getMetaData();
    int iNumCols = resultSetMetaData.getColumnCount();
    for (int j = 1; j <= iNumCols; j++) {
    // System.out.println(resultSetMetaData.getColumnName(j));
    /* System.out.println(resultSetMetaData.getColumnType(j));
    System.out.println(resultSetMetaData.getColumnDisplaySize(j));
    System.out.println(resultSetMetaData.getPrecision(j));
    System.out.println(resultSetMetaData.getScale(j));
    System.out.println(resultSetMetaData.
    getColumnLabel(j)
    + " " +
    resultSetMetaData.getColumnTypeName(j));
    Object colval;
    rs.beforeFirst();
    long ncount = 0;
    while (rs.next()) {
    // System.out.print(rs.rowDeleted()+" ");
    ncount++;
    for (int j = 1; j <= iNumCols; j++) {
    colval = rs.getObject(j);
    System.out.print(colval + " ");
    System.out.println();
    rs.close(); //Let the resultSet release its open tables at once.
    rs = null;
    System.out.println(
    "The total row number of resultset: " + ncount);
    System.out.println();
    break;
    default:
    int updateCount = stmt.executeUpdate(temp);
    System.out.println(temp + " : " + updateCount);
    System.out.println();
    else if (statements[i] instanceof java.lang.Object[]) {
    int[] updateCounts;
    Object[] temp = (java.lang.Object[]) statements[i];
    try {
    for (int j = 0; j < temp.length; j++){
    System.out.println( temp[j]);
    stmt.addBatch( (java.lang.String) temp[j]);
    updateCounts = stmt.executeBatch();
    for (int j = 0; j < temp.length; j++)
    System.out.println((j+1)+":"+temp[j]);
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":" +updateCounts[j]);
    catch (java.sql.BatchUpdateException e) {
    updateCounts = e.getUpdateCounts();
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":"+updateCounts[j]);
    java.sql.SQLException sqle = e;
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (java.sql.SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    stmt.clearBatch();
    System.out.println();
    stmt.close();
    con.close();
    catch (SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" + sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();

  • Creating webservice for pl/sql API without using BPEL

    Hi All,
    Using BPEL, We have created partner links using DB Adapter for accessing our pl/sql API's.
    Is there any way to create a web service for a pl/sql API having complex datatype parameters like (Record, table of records etc) using DB Adapter or any other tool without using BPEL?
    Thanks,
    Uma.

    We introduced the use of JPublisher to automate the generation of wrappers for PL/SQL procedures that use types such as boolean, record and table. The wizard will invoke JPub and generate artifacts that the partnerlink will use to invoke the wrapper instead of the original API. Boolean is replaced by INT, record is replaced by an object type and table is replaced by a nested table. The wrapper will invoke the original API. JPub also takes care of converting between the different types (i.e. record <-> object).

  • MakeProcessingInstruction PL/SQL DOM API for XMLType

    Does anyone have a code snippet on how to use makeProcessingInstruction()(PL/SQL DOM API for XMLType)
    Description
    Casts a given DOMNode to a DOMProcessingInstruction, and returns the
    DOMProcessingInstruction.
    Syntax
    FUNCTION makeProcessingInstruction( n DOMNode)
    RETURN DOMProcessingInstruction;
    Thanks in advance

    pieter,
    I think you would want to use xmlview. A schema can be attached to the view definition, thereby creating a schema-based xmltype view.
    ie create view nameview of xmltype
    xmlschema "nameschema.xsd" ELEMENT "namehere"
    as
    select
    xmlelement ("....xmlforest(....(select xmlagg(xmlelement(....
    or something similar.
    see link for more information regarding xml views.
    http://www.vldb.org/conf/2003/papers/S30P02.pdf

  • PL/SQL API + Defaulting Rules in OM

    Hi,
    I want to default custom rule in Sales Order from whenever I select Item. After selecting item from the sales order from, it should populate Warehouse value in Shipping tab. I am using custom PL/SQL API option. I wrote one function and kept in package. I was disabled all defaulting rules. Now If I select Item in sales order form, I am not getting warehouse value.
    The steps are:
    Step 1. Select Warehouse attribute and define defaulting rule
    Application: Order Management
    Entry: Order Line
    Select Attribute as Warehouse
    Click on Defaulting Rules
    Step 2: Define Defaulting Sourcing Rule
    Select Source type as PL/SQL API.
    In the Defaulting Source/Value field give Package Name and Function Name.
    Open Catalog Groups window from the below path: Setup  Items  Catalog Groups
    Specify Name and Description for Catalog Group
    Click on Details button.
    Step 3: Create Catalog Group
    Step 4: Specify Descriptive Elements for the Item Catalog Group
    Step 5: Code preparation
    -- My Custom Code
    Create or replace FUNCTION custom_default_rule
    RETURN VARCHAR2
    AS
    l_line_type_rec oe_order_cache.line_type_rec_type;
    CURSOR cus_l
    IS
    SELECT a.organization_code, b.element_name, b.element_value
    FROM mtl_parameters a,
    mtl_descr_element_values b,
    mtl_system_items_b c
    WHERE b.inventory_item_id = c.inventory_item_id
    AND a.organization_id = c.organization_id
    AND a.organization_id = c.organization_id
    AND c.inventory_item_id = 12924
    GROUP BY a.organization_code, b.element_name, b.element_value
    ORDER BY a.organization_code, b.element_name, b.element_value;
    BEGIN
         l_line_type_rec := oe_order_cache.load_line_type
    (ont_line_def_hdlr.g_record.line_type_id);
    FOR cur_rec IN cus_l
    LOOP
    IF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Product'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Single', 'QSK60')
    THEN
    RETURN cur_rec.organization_code;
    ELSIF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Product'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Three', 'QSK15')
    THEN
    RETURN cur_rec.organization_code;
    ELSIF cur_rec.element_name IN
    ('Frequency',
    'Emission Norms',
    'Voltage',
    'Duty Rating',
    'Phase',
    'Productfamily'
    AND cur_rec.element_value IN
    ('50', '', '230', 'Medium', 'Single', 'DQK50')
    THEN
    RETURN cur_rec.organization_code;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF oe_msg_pub.check_msg_level (oe_msg_pub.g_msg_lvl_unexp_error)
    THEN
    oe_msg_pub.add_exc_msg ('OE_Default_PVT', 'CUSTOM_DEFAULT_RULE');
    END IF;
    RAISE fnd_api.g_exc_unexpected_error;
    END custom_default_rule;
    Step 6: Create a Sales Order (Order Returns  Sales Orders)
    Select Customer and Order Type and select Line Items Tab.
    Select Item from the Ordered Item Field. Press Tab.
    After pressing tab in the Shipping Tab Warehouse value Should be populated. But it is not working.
    Can anyone guide me in this.
    It is very urgent.
    If possible, Please send u r details to my official id: [email protected]
    Thanks in Advance,
    sateesh

    Sateesh,
    This is working fine for me here:
    CREATE OR REPLACE PACKAGE xx_def_wh
    AS
    FUNCTION custom_default_rule (p_database_object_name IN VARCHAR2, p_attribute_code IN VARCHAR2)
    RETURN NUMBER;
    END;
    CREATE OR REPLACE PACKAGE BODY xx_def_wh
    AS
    FUNCTION custom_default_rule (p_database_object_name IN VARCHAR2, p_attribute_code IN VARCHAR2)
    RETURN NUMBER
    AS
    l_line_type_rec oe_order_cache.line_type_rec_type;
    l_item_id NUMBER;
    CURSOR cus_l(p_item_id in number)
    IS
    SELECT a.organization_id, b.element_name, b.element_value
    FROM mtl_parameters a, mtl_descr_element_values b, mtl_system_items_b c
    WHERE b.inventory_item_id = c.inventory_item_id
    AND a.organization_id = c.organization_id
    AND a.organization_id = c.organization_id
    AND c.inventory_item_id = p_item_id
    and a.organization_id<>a.master_organization_id
    ORDER BY a.organization_id;
    BEGIN
    l_line_type_rec := oe_order_cache.load_line_type (ont_line_def_hdlr.g_record.line_type_id);
    l_item_id:= ONT_LINE_DEF_HDLR.g_record.inventory_item_id;
    FOR cur_rec IN cus_l(l_item_id)
    LOOP
    IF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Product')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Single', 'QSK60')
    THEN
    RETURN cur_rec.organization_id;
    ELSIF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Product')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Three', 'QSK15')
    THEN
    RETURN cur_rec.organization_id;
    ELSIF cur_rec.element_name IN ('Frequency', 'Emission Norms', 'Voltage', 'Duty Rating', 'Phase', 'Productfamily')
    AND cur_rec.element_value IN ('50', '', '230', 'Medium', 'Single', 'DQK50')
    THEN
    RETURN cur_rec.organization_id;
    END IF;
    END LOOP;
    EXCEPTION
    WHEN OTHERS
    THEN
    IF oe_msg_pub.check_msg_level (oe_msg_pub.g_msg_lvl_unexp_error)
    THEN
    oe_msg_pub.add_exc_msg ('OE_Default_PVT', 'CUSTOM_DEFAULT_RULE');
    END IF;
    RAISE fnd_api.g_exc_unexpected_error;
    END custom_default_rule;
    END;
    Thanks
    Nagamohan

  • Error while invoking PL/SQL API from DB Adapter

    Hi everybody.
    We have a plenty of processes, which invokes PL/SQL API using DB Adapters. Everything goes ok, but sometimes API invocations results with error like this:
    <bindingFault>
    <part name="code" >
    <code>902</code>
    </part>
    <part name="summary" >
    <summary>file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ]
    - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API. An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype ; nested exception is: ORABPEL-11811 Error while trying to prepare and execute an API. An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable. </summary>
    </part>
    <part name="detail" >
    <detail>ORA-00902: invalid datatype </detail>
    </part>
    </bindingFault>
    (text from Activity Audit trail)
    The error disappears after some "magic" actions like redeploying the process, clearing WSDL cache or restarting BPEL server.
    Any suggestions?
    Debug log for the error:
    Oracle BPEL Server version 10.1.2.0.2
    Build: 2196
    Build time: Tue Jan 10 12:31:53 UTC 2006
    Build type: release
    Source tag: BPEL_10.1.2.0.2_GENERIC_060110.1200
    <2006-06-08 09:03:45,437> <INFO> <dev.collaxa.cube.engine> <CubeEngine::load>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: get_person, partnerLink: <partnerLink name="PL_get_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="get_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv2-BpSeq2.8-2</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=get_person, parnterLink=<partnerLink name="PL_get_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="get_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/get_person/}get_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv2-BpSeq2.8-2</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,162> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,163> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,164> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,165> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,166> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSOMER_WRAP_PKG.GET_PERSON_REC(P_PARTY_ID=>?, X_PERSON_REC=>?, X_RETURN_STATUS=>?, X_RETURN_MESSAGE=>?); END;
    <2006-06-09 15:13:45,173> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Customer_Dispatcher_1.0.jar/get_person.wsdl [ get_person_ptt::get_person(InputParameters,OutputParameters) ] - Committing JCA LocalTransaction
    <2006-06-09 15:13:45,173> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> commit transaction
    <2006-06-09 15:13:45,174> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,176> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Returning outbound XMLRecord for OutputParameters
    <2006-06-09 15:13:45,192> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: initiate, partnerLink: <partnerLink name="PL_ins_upd_person" partnerLinkType="{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S">
    <myRole name="Ins_person_M2SRequester">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallback</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="Ins_person_M2SProvider">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv3-BpSeq2.8-5</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/Ins_person_M2S?wsdl
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=initiate, parnterLink=<partnerLink name="PL_ins_upd_person" partnerLinkType="{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S">
    <myRole name="Ins_person_M2SRequester">
    <ServiceName>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallbackService</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2SCallback</PortType>
    <Address>http://wizard.etops.ru:7780/orabpel/dev/Customer_Dispatcher/1.0/PL_ins_upd_person/Ins_person_M2SRequester</Address>
    </myRole>
    <partnerRole name="Ins_person_M2SProvider">
    <ServiceName>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</ServiceName>
    <PortType>{http://xmlns.oracle.com/Ins_person_M2S}Ins_person_M2S</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Customer_Dispatcher~1.0/2413-BpInv3-BpSeq2.8-5</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,193> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Calling local process http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/1.0 ... shortcut
    <2006-06-09 15:13:45,194> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> location=http://wizard.etops.ru:7780/orabpel/dev/Ins_person_M2S/1.0
    <2006-06-09 15:13:45,194> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> processId=Ins_person_M2S, revisionTag=1.0, partnerLinkName=, roleName=
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: check_person, partnerLink: <partnerLink name="PL_check_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="check_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv0-BpSeq1.5-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=check_person, parnterLink=<partnerLink name="PL_check_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="check_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/check_person/}check_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv0-BpSeq1.5-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,255> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,258> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,258> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,259> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,259> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,260> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,262> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSTOMER_BPCONF_CHECK_PKG.CHECK_PERSON(P_ACTION=>?, P_PERSON=>?, X_RESULT=>?, X_CONFLICTS=>?); END;
    <2006-06-09 15:13:45,263> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/check_person.wsdl [ check_person_ptt::check_person(InputParameters,OutputParameters) ] - Committing JCA LocalTransaction
    <2006-06-09 15:13:45,264> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> commit transaction
    <2006-06-09 15:13:45,264> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,265> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Returning outbound XMLRecord for OutputParameters
    <2006-06-09 15:13:45,273> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> operation: insert_person, partnerLink: <partnerLink name="PL_insert_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="insert_person_role">
    <ServiceName>null</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv2-BpSeq4.12-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSInvocationManager::invoke> def is file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> opName=insert_person, parnterLink=<partnerLink name="PL_insert_person" partnerLinkType="{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_plt">
    <myRole name="null">
    <ServiceName>null</ServiceName>
    <PortType>null</PortType>
    <Address>null</Address>
    </myRole>
    <partnerRole name="insert_person_role">
    <ServiceName>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person</ServiceName>
    <PortType>{http://xmlns.oracle.com/pcbpel/adapter/db/insert_person/}insert_person_ptt</PortType>
    <Address>null</Address>
    </partnerRole>
    <conversationId>bpel://localhost/dev/Ins_person_M2S~1.0/2414-BpInv2-BpSeq4.12-1</conversationId>
    <properties>{}</properties>
    </partnerLink>
    <2006-06-09 15:13:45,274> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
    <2006-06-09 15:13:45,277> <INFO> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Using JCA Connection Pool - max size = <unbounded>
    <2006-06-09 15:13:45,277> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Looking up Resource Adapter JDNI location 'eis/DB/Slave'
    <2006-06-09 15:13:45,278> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Instantiating outbound JCA interactionSpec oracle.tip.adapter.db.DBStoredProcedureInteractionSpec
    <2006-06-09 15:13:45,278> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> Populating outbound JCA interactionSpec oracle.tip.adapter.db.DBStoredProcedureInteractionSpec with properties: {ProcedureName=CREATE_PERSON, PackageName=XXAR_CUSOMER_WRAP_PKG}
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - No XMLRecord headers provided
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Starting JCA LocalTransaction
    <2006-06-09 15:13:45,299> <DEBUG> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Invoking JCA outbound Interaction
    <2006-06-09 15:13:45,300> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client acquired
    <2006-06-09 15:13:45,300> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> begin transaction
    <2006-06-09 15:13:45,302> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.sp.AbstractStoredProcedure execute> BEGIN XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON(P_PERSON_REC=>?, X_PARTY_ID=>?, X_PARTY_NUMBER=>?, X_PROFILE_ID=>?, X_RETURN_STATUS=>?, X_RETURN_MESSAGE=>?); END;
    <2006-06-09 15:13:45,304> <ERROR> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Could not invoke operation 'insert_person' against the 'Database Adapter' due to:
    ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.db.sp.SPConstants.createResourceException(SPConstants.java:217)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:104)
         at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:95)
         at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:532)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
         at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.sql.SQLException: ORA-00902: invalid datatype
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:180)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:869)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1153)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2932)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3023)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4132)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:92)
         ... 29 more
    <2006-06-09 15:13:45,304> <ERROR> <dev.collaxa.cube.ws> <AdapterFramework::Outbound> file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - Rolling back JCA LocalTransaction
    <2006-06-09 15:13:45,305> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> rollback transaction
    <2006-06-09 15:13:45,306> <DEBUG> <dev.collaxa.cube.ws> <Database Adapter::Outbound> <oracle.tip.adapter.db.TopLinkLogger log> client released
    <2006-06-09 15:13:45,306> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> invoke failed
    org.collaxa.thirdparty.apache.wsif.WSIFException: file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    ; nested exception is:
         ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:570)
         at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:452)
         at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:327)
         at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:189)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:601)
         at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:317)
         at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:188)
         at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3408)
         at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1836)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:166)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:252)
         at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5438)
         at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1217)
         at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:511)
         at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:335)
         at ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.handleInvoke(ICubeDeliveryLocalBean_StatelessSessionBeanWrapper16.java:1796)
         at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.
         at oracle.tip.adapter.db.sp.SPConstants.createResourceException(SPConstants.java:217)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:104)
         at oracle.tip.adapter.db.sp.SPInteraction.executeStoredProcedure(SPInteraction.java:95)
         at oracle.tip.adapter.db.DBInteraction.executeStoredProcedure(DBInteraction.java:532)
         at oracle.tip.adapter.db.DBInteraction.execute(DBInteraction.java:164)
         at oracle.tip.adapter.fw.wsif.jca.WSIFOperation_JCA.executeRequestResponseOperation(WSIFOperation_JCA.java:458)
         ... 25 more
    Caused by: java.sql.SQLException: ORA-00902: invalid datatype
         at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:137)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:304)
         at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:271)
         at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:625)
         at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:180)
         at oracle.jdbc.driver.T4CCallableStatement.execute_for_rows(T4CCallableStatement.java:869)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1153)
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2932)
         at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3023)
         at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4132)
         at oracle.tip.adapter.db.sp.AbstractStoredProcedure.execute(AbstractStoredProcedure.java:92)
         ... 29 more
    <2006-06-09 15:13:45,307> <DEBUG> <dev.collaxa.cube.ws> <WSIFInvocationHandler::invoke> Fault happened: file:/d01/oracle/as10g/integration/orabpel/domains/dev/tmp/.bpel_Ins_person_M2S_1.0.jar/insert_person.wsdl [ insert_person_ptt::insert_person(InputParameters,OutputParameters) ] - WSIF JCA Execute of operation 'insert_person' failed due to: Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    ; nested exception is:
         ORABPEL-11811
    Error while trying to prepare and execute an API.
    An error occurred while preparing and executing the XXAR_CUSOMER_WRAP_PKG.CREATE_PERSON API. Cause: java.sql.SQLException: ORA-00902: invalid datatype
    Check to ensure that the API is defined in the database and that the parameters match the signature of the API. Contact oracle support if error is not fixable.

    Adding more to what 'Arcturus' has put across :
    1) You can check your input & output arguments to a PL/SQL function/procedure using an assign activity, in which you tend to assign a source variable to a target variable.
    Here, you can check to see, if the input & output to the DB Adapter are correct, if not, you can always recreate the adapter.
    2) You can also check the schema of the PL/SQL function, to check if it has the right inputs & outputs.
    It'd be a .xsd file in the format of <SCHEMA_NAME-OF-FUNCTION.xsd> viz. SCOTT_EMPDETAILS.xsd

  • Custom PL/SQL API that inserts the data into a custom interface table.

    We are developing a custom Web ADI integrator for importing suppliers into Oracle.
    The Web ADI interface is a custom PL/SQL API that inserts the data into a custom interface table. We have defined the content, uploader and an importer. The importer is again a custom PL/SQL API that will process the records inserted into the custom table and updates the STATUS column of the custom interface table. We want to show the status column back on the spreadsheet.
    Defined the 'Document Row' import rule and added the rows that would identify the unique record.
    Errored row import rule, we are using a SELECT * from custom_table where status<>'Success' and vendor_name=$param$.vendor_name
    The source of this parameter is import.vendor_name
    We have also defined an Error lookup.
    After the above setup is completed, we invoke the create document and click on Oracle->Upload.
    The records are getting imported, but the importer program is failing with An error has occurred while running an API import. The ERRORED_ROWS step 20003:ER_500141, parameter number 1 must contain the value BIND in attribute 1.'

    The same issue.
    Need help.
    Also checked bne.log, no additional information.
    <bne:document xmlns:bne="http://www.oracle.com/bne">
    <bne:message bne:type="DATA" bne:text="BNE_VALID_ROW_COUNT" bne:value="11" />
    <bne:message bne:type="DATA" bne:text="BNE_INVALID_ROW_COUNT" bne:value="0" />
    <bne:message bne:type="ERROR" bne:text="An error has occurred while running an API import"
    bne:cause="The ERRORED_ROWS step 20003:ER_500165, parameter number 1 must contain the value BIND in attribute 1."
    bne:action="" bne:source="BneAPIImporter" >
    <bne:context bne:collection="collection_1" />
    </bne:message><bne:message bne:type="STATUS"
    bne:text="No rows uploaded" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message>
    <bne:message bne:type="STATUS" bne:text="0 rows were invalid" bne:value="" >
    <bne:context bne:collection="collection_1" /></bne:message></bne:document>

  • 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

  • Defaulting Rules using PL/SQL Api - ORA error

    Hi All,
    Iam using the PLSQL api for OM defaulting rules. Based on the item in the Sales order line, Line type has to be defaulted.
    I have put debug messages and iam able to see successful execution and the required Line type value is returned. No exception is raised.
    Error ORA-06502 PL/SQL numberic to value error. Character to number conversion error is thrown outside the custom package.
    PLSQL api is coded as below.
    CREATE OR REPLACE PACKAGE BODY xx_default_ordertype IS
    G_PKG_NAME      CONSTANT VARCHAR2(30) := 'XX_DEFAULT_ORDERTYPE';
    FUNCTION get_trans_type
    p_database_object_name IN VARCHAR2,
    p_attribute_code IN VARCHAR2
    RETURN varchar2 IS
    l_trans_type VARCHAR2(30);
    -- l_item_id NUMBER := ONT_LINE_DEF_HDLR.g_record.ORDERED_ITEM_ID;
    BEGIN
    SELECT b.name
    INTO l_trans_type
    FROM OE_TRANSACTION_TYPES_tL b,
    oe_transaction_types_all a
    WHERE a.transaction_type_id=b.transaction_type_id
    AND attribute1=ONT_LINE_DEF_HDLR.g_record.INVENTORY_ITEM_ID;
    RETURN l_trans_type;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    RETURN l_trans_type;
    WHEN OTHERS THEN
    insert_sstab(7,'in exception');
    IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
    OE_MSG_PUB.Add_Exc_Msg (G_PKG_NAME, 'xx_default_ordertype');
    END IF;
    RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
    END get_trans_type;
    END xx_default_ordertype;
    Not able to figure out where the ORA error is getting raised from.
    Kindly help
    Edited by: user11969666 on Mar 19, 2011 7:47 AM

    btw, I did try your test and it didn't error for me:
    CREATE OR REPLACE PACKAGE xx_default_ordertype IS
    FUNCTION get_trans_type
    p_database_object_name IN VARCHAR2,
    p_attribute_code IN VARCHAR2
    RETURN varchar2;
    end xx_default_ordertype;
    CREATE OR REPLACE PACKAGE BODY xx_default_ordertype IS
    FUNCTION get_trans_type
    p_database_object_name IN VARCHAR2,
    p_attribute_code IN VARCHAR2
    RETURN varchar2 IS
    l_trans_type OE_TRANSACTION_TYPES_tL.name%TYPE :='a';
    BEGIN
    RETURN l_trans_type;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    RETURN l_trans_type;
    END get_trans_type;
    END xx_default_ordertype;
    begin
    dbms_output.put_line(xx_default_ordertype.get_trans_type('X','Y'));
    end;
    /

Maybe you are looking for

  • Error in dynamic node creation ..........

    Hi experts, I am creating a node dynamically in WDDOINT  and creating an input field in WDDOMODIFYVIEW , but am getting an error "attribute not found". Am pasting below my code... Code in WDDOINT of a view : data lr_par_node       type ref to IF_WD_C

  • Transfer data from iphone 3g to ipad

    how to transfer data, contact list, from iphone 3g to an ipad

  • Pricing for BP working in Foreign Currency only (differs from Sys. Curr.)

    Hello, a vendor is setup with currency = Euro The issue is that when creating a marketing document the item price shows/loads is in USD ( The Total Doc is the total amount in Euro). When I go into the line item and change the Item Price it changes th

  • PC connecting to Xserve 10.5.8

    When I try to connect to my xserve from a pc the login shows up as Machine/User. I only have user names setup on the server. Is there something I need to change on the PC or on the Xserve. I am running 10.5.8. I can turn on allow guest to get around

  • Core Center does not show up!

    HI Guys, I have this problem while using Core Center. When I install it and restart my pc, my tasklist shows corecell with a processor usage of 50%, but is does not show up anywhere in my taskbar. The program is running, but I cannot see the screen.