Calling pl/sql in ADF

Hi ,
I have a requirement to create a table dynamically.
There is a procedure which returns me the columns header and data. So based on the number of columns need to create a table programatically.
The procedure has in,inout and out parameters. Its not getting executed.
Code i have written in Application Impl file:
public void getStoredProcedureforDocList(int orgId, String inboxType,
String workflowId, String queueId,
String startRecord, String endRecord,
String orderBY) {
String stmt =
"begin ifl_ui_pkg.get_doc_list(?,?,?,?,?,?,?,?,?,?);end;";
CallableStatement st =
(CallableStatement)getDBTransaction().createCallableStatement(stmt,
0);
ResultSet rs = null;
ResultSetMetaData rsMetaData = null;
try {
st.setObject(1, inboxType);
st.setObject(2, userID);
if (orgId == 0) {
st.setString(3, "");
} else {
st.setObject(3, orgId);
st.setObject(4, queueId);
st.setObject(5, workflowId);
st.setObject(6,1);
st.setObject(7,20);
if (orderBY != null && !orderBY.equalsIgnoreCase("null") &&
!orderBY.equalsIgnoreCase("")) {
st.setObject(8, orderBY);
} else {
st.setObject(8,orderBY);
st.registerOutParameter(8, OracleTypes.VARCHAR);
st.registerOutParameter(9, OracleTypes.VARCHAR);
st.registerOutParameter(10, OracleTypes.VARCHAR);
st.executeUpdate();
catch (SQLException e) {
throw new JboException(e);
} finally {
if (st != null) {
try {
st.close();
} catch (SQLException e) {
if (_logger.isLoggable(Level.SEVERE)) {
_logger.severe(e);
Is there something wrong in this code? And can you also help me in how to create a table programmatically.
Any help would be appreciated.
Thanks

Hi,
I think you have to use either
if (orderBY != null && !orderBY.equalsIgnoreCase("null") &&
!orderBY.equalsIgnoreCase("")) {
st.setObject(8, orderBY);
} else {
st.setObject(8,orderBY);
}or
st.registerOutParameter(8, OracleTypes.VARCHAR);check this how to create table from managed bean based out of data
creating rich table programmatically
~Abhijit

Similar Messages

  • Calling PL/SQL Functions And Open Oracle Reports From ADF Application

    Hi all,
    My company will convert some projects from Oracle forms to Oracle ADF so, we need to call the PL/SQL functions and open the Oracle Reports (which are already exist) from ADF Application.
    Thank You..
    Jack.N

    Hi Jack.N,
    calling PL/SQL Functions -----> http://sameh-nassar.blogspot.com/2010/01/create-plsql-function-and-call-it-from.html
    Open Oracle Reports ---------> http://radio-weblogs.com/0137094/2008/06/15.html
    You will find The Integration between ADF and other systems in ---> http://wiki.oracle.com/page/ADF+Integration
    Sameh Nassar

  • How to call PL/SQL procedure from Jdeveloper

    hai
    i am using JDeveloper 10g version 10.1.3. i am working on Web Application[JSF,ADF BC]. i had commit button in one form. when i click that button a PL/SQL procedure can be invoked.( the procedure is to check for primary key)
    how to do this
    thanks in advance
    C.R

    There are already some threads about calling PL/SQL from Java. E.g.: adf bc jsf application and database stored procedure
    Ronald

  • Call stored procedures in adf

    hi all,
    is there possible call stored procedures in adf.
    thanks

    Hello,
    I found your post interesting and i'm going to leave you a link where sql statements are referenced in ADF, by creating methods in the AppModule.
    Amit Sharma's Blog: How to execute sql using ADF Application
    I add that the structure is the same if you want to do select statements or insert, the only change (beside the statement itself and the params) its the executeQuery code, you have a execute also and it depends on what type of sql statement you're executing, you can read about that.
    executeQuery() -> select queries
    execute() -> create queries, and probably insert and update.
    Hope it helps and regards,
    Frederico.

  • After call commit sql , data can not flush to disk

    I use berkey db which support sql . It's version is db-5.1.19.
    1, Open a database.
    2. Create a table.
    3. exec "begin;" sql
    4. exec sql which is insert record into table
    5. exec "commit;" sql
    6. copy database file (SourceDB_912_1.db and SourceDB_912_1.db-journal) to Local Disk of D, then use a tool of dbsql to open the database.
    7. use select sql to check data, there is no record in table.
    1
    sqlite3 * m_pDB;
    int nRet = sqlite3_open_v2(strDBName.c_str(), & m_pDB,SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE,NULL);
    2
    string strSQL="CREATE TABLE [TBLClientAccount] ( [ClientId] CHAR (36), [AccountId] CHAR (36) );";
    char * errors;
    nRet = sqlite3_exec(m_pDB, strSQL.c_str(), NULL, NULL, &errors);
    3
    nRet = sqlite3_exec(m_pDB, "begin;", NULL, NULL, &errors);
    4
    nRet = sqlite3_exec(m_pDB, "INSERT INTO TBLClientAccount (ClientId,AccountId) VALUES('dd','ddd'); ", NULL, NULL, &errors);
    5
    nRet = sqlite3_exec(m_pDB, "commit;", NULL, NULL, &errors);
    Edited by: 887973 on Sep 27, 2011 11:15 PM

    Hi,
    Here is a simple test case program I used based on your description:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "sqlite3.h"
    int error_handler(sqlite3*);
    int main()
         sqlite3 *m_pDB;
         const char *strDBName = "C:/SRs/OTN Core 2290838 - after call commit sql , data can not flush to disk/SourceDB_912_1.db";
         char * errors;
         sqlite3_open_v2(strDBName, &m_pDB, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, NULL);
         error_handler(m_pDB);
         sqlite3_exec(m_pDB, "CREATE TABLE [TBLClientAccount] ( [ClientId] CHAR (36), [AccountId] CHAR (36) );", NULL, NULL, &errors);
         error_handler(m_pDB);
         sqlite3_exec(m_pDB, "begin;", NULL, NULL, &errors);
         error_handler(m_pDB);
         sqlite3_exec(m_pDB, "INSERT INTO TBLClientAccount (ClientId,AccountId) VALUES('dd','ddd'); ", NULL, NULL, &errors);
         error_handler(m_pDB);
         sqlite3_exec(m_pDB, "commit;", NULL, NULL, &errors);
         error_handler(m_pDB);
         //sqlite3_close(m_pDB);
         //error_handler(m_pDB);
    int error_handler(sqlite3 *db)
         int err_code = sqlite3_errcode(db);
         switch(err_code) {
         case SQLITE_OK:
         case SQLITE_DONE:
         case SQLITE_ROW:
              break;
         default:
              fprintf(stderr, "ERROR: %s. ERRCODE: %d.\n", sqlite3_errmsg(db), err_code);
              exit(err_code);
         return err_code;
    }Than I copied the SourceDB_912_1.db database and the SourceDB_912_1.db-journal directory containing the environment files (region files, log files) to D:\, opened the database using the "dbsql" command line tool, and queried the table; the data is there:
    D:\bdbsql-dir>ls -al
    -rw-rw-rw-   1 acostach 0 32768 2011-10-12 12:51 SourceDB_912_1.db
    drw-rw-rw-   2 acostach 0     0 2011-10-12 12:51 SourceDB_912_1.db-journal
    D:\bdbsql-dir>C:\BerkeleyDB\db-5.1.19\build_windows\Win32\Debug\dbsql SourceDB_912_1.db
    Berkeley DB 11g Release 2, library version 11.2.5.1.19: (August 27, 2010)
    Enter ".help" for instructions
    Enter SQL statements terminated with a ";"
    dbsql> .tables
    TBLClientAccount
    dbsql> .schema TBLClientAccount
    CREATE TABLE [TBLClientAccount] ( [ClientId] CHAR (36), [AccountId] CHAR (36) );
    dbsql> select * from TBLClientAccount;
    dd|dddI do not see where the issue is. The data can be successfully retrieved, it is present in the database.
    Could you try putting in the sqlite3_close() call and see if you still get the error?
    Did you remove the __db.* files from the SourceDB_912_1.db-journal directory?
    Did you use PRAGMA synchronous, and if so, what is the value you set?
    If this is still an issue for you, please describe in more detail the exact steps needed to get this reproduced and provide a simple stand-alone test case program that reproduces it.
    Regards,
    Andrei

  • Call an sql insert statement in xml publisher

    Hi to all,
    i've a question as regard xml publisher.
    Sorry but i don't have a lot of time to look around.
    This features is quite important and probably would determine if we will use this
    product or not.
    Is possible to call an sql statement when the output is generated?
    example: a user call a report with some par to filter the output (some select list / text, ecc..)
    Or generally can i call use a pl/sql block instead of pl/sql query to populate and at
    the same time to write other data to keep track of the printing / generation of the
    documents X user?
    Otherwise, is xml publisher writing this info in some system table of xml publ?
    Note: i use most of all pl/sql and htmldb and i don't want to use other programming languages until this app is finished.
    Thank you very very much.

    Hi Marcello
    I seem to remember from other threads that you are assessing the enterprise edition of XMLP right?
    If you use the data templates to define how the data should be extracted then you can call a plsql pkg after the fetch to update/insert to your hearts content.
    Otherwise you could use the APIs instead of the UI to do the same or even build an extension to the RTF templates to make the sql call ... we do not document this at the moment but its possible.
    Regards
    Tim

  • How to call a SQL function from an XSL expression

    Hi
    In R12, in Payroll Deposit adivce/Check writer, We need to sort the earnings tag <AC_Earnings> in to two different categories as regular and other earnings. In the DB and form level of element defintiion we have a DFF which differentiates between the two kinds of earnings. But the seeded XML that is gerneated by the check writer does not have this field.
    The seeded template displays all the earnings in one column. How can we achieve this in the template without modifying the seeded XML.
    The one approach i have is to write a function and based on the return value sort the data. For this I need to know :
    1) How to call a SQL function from an XSL expression that is allowed in BI template.
    If anyone ahs faced similar requirements please share your approach.
    Thanks
    Srimathi

    Thank u..
    but i'd seen that link wen i searched in google..
    Is it possible without using any 3rd party JARs and all?
    and more importantly plz tell me what should be preferred way to call a javascript function?
    Do it using addLoadEvent() or Windows.Load etc
    OR
    Call it thru Xsl? (I donno how to do dis)
    Thanks in Advance..
    Edited by: ranjjose on Jun 3, 2008 8:21 AM

  • Facing issue in calling BPEL WebService from ADF page.

    Considering example:
    I have a Login Page (Login.jspx) with two input text, UserID & Password and one Login Button. On press of login Button It will call a BPEL service for validating the user and will return a String value with Success or Failure as value. Depending on this value I will decide inside Managed Bean response will go to which path.
    Took the reference of http://www.oracle.com/technology/obe/fusion_middleware/fusion/adf_wc/10_132_siebel_webcenter/siebel_webcenter.htm
    Using this I am able to call BPEL from my ADF page and able to show the result on different ADF page, but not able to take the BPEL returned value inside the managed bean.
    Please help me how to take BPEL output value inside my managed bean.

    Considering example:
    I have a Login Page (Login.jspx) with two input text, UserID & Password and one Login Button. On press of login Button It will call a BPEL service for validating the user and will return a String value with Success or Failure as value. Depending on this value I will decide inside Managed Bean response will go to which path.
    Took the reference of http://www.oracle.com/technology/obe/fusion_middleware/fusion/adf_wc/10_132_siebel_webcenter/siebel_webcenter.htm
    Using this I am able to call BPEL from my ADF page and able to show the result on different ADF page, but not able to take the BPEL returned value inside the managed bean.
    Please help me how to take BPEL output value inside my managed bean.

  • Issue in Calling PL/SQL packages using callable statement

    Hi ,
    I have the requirement of calling two pl/sql packages , After call of first package is successful , i need to pass the output of that first package as input to second package.
    Since i have called both the packages in same method of AM, first package gets executed successfully but second package doesnt get the input values required from first package and results in error.
    Looks like since commit is happening in the single session second package is passed with NULL values.
    Need suggestion for proper way of calling pl/sql packages when second package is dependant on first one:
    Code used inside AM Method:
    if("PENDING_XXX".equals(regVORow.getRegStatus()))
    regVORow.setRegStatus("VENDOR_CREATED");
    getOADBTransaction().commit();
    OracleCallableStatement cStmt = null;
    OADBTransaction dbTxn = getOADBTransaction();
    NUMBER vendor_id = new NUMBER(-1);
    NUMBER vendor_site_id = new NUMBER(-1);
    int vendor_id_value = -2000;
    String vendor_number = null;
    try
    cStmt = (OracleCallableStatement)dbTxn.createCallableStatement("begin *XXB_POS_PVT.create_vendo*r( p_vendor_name => :1, p_supplier_reg_id => :2, p_vendor_id=>:3); end;", 1);
    cStmt.setString(1, regVORow.getSupplierName());
    cStmt.setNUMBER(2, new Number(Integer.parseInt(supplierId)));
    cStmt.registerOutParameter(3, 4);
    cStmt.execute();
    vendor_id = cStmt.getNUMBER(3);
    vendor_id_value = vendor_id.intValue();
    catch(SQLException e)
    throw new OAException(e.getMessage());
    Number vendorId = new Number(vendor_id_value);
    regVORow.setVendorId(vendorId);
    if(vendorId != null)
    vendor_number = getSupplierVendorNumber(vendorId);
    getOADBTransaction().commit();
    AsiPosSupplierOpCosVOImpl regOpCosVO = (AsiPosSupplierOpCosVOImpl)this.getAsiPosSupplierOpCosVO1();
    AsiPosSupplierOpCosVORowImpl row = null;
    int fetchedRowCount = regOpCosVO.getFetchedRowCount();
    RowSetIterator createIter1 = regOpCosVO.createRowSetIterator("createIter1");
    if(fetchedRowCount > 0)
    createIter1.setRangeStart(0);
    createIter1.setRangeSize(fetchedRowCount);
    for(int i = 0; i < fetchedRowCount; i++)
    row = (AsiPosSupplierOpCosVORowImpl)createIter1.getRowAtRangeIndex(i);
    if(row.getApprovalStatus().equalsIgnoreCase("HEAD_APPROVED"))
    try
    oadbtransactionimpl.writeDiagnostics(this,"Creating Site - " + vendor_id_value+" "+row.getSupplierOpcoCode()+" "+supplierId,1);
    cStmt = (OracleCallableStatement)dbTxn.createCallableStatement("begin *XXB_POS_PVT.create_vendor_sites*(p_supplier_reg_id => :1, p_vendor_id=>:2, p_opco_code=>:3, p_vendor_site_id=>:4); end;", 1);
    cStmt.setNUMBER(1, new Number(Integer.parseInt(supplierId)));
    cStmt.setNUMBER(2, new Number(vendor_id_value));
    cStmt.setString(3,row.getSupplierOpcoCode());
    cStmt.registerOutParameter(4, 4);
    cStmt.execute();
    vendor_site_id = cStmt.getNUMBER(4);
    getOADBTransaction().commit();                                    
    catch(SQLException e)
    throw new OAException(e.getMessage());
    createIter1.closeRowSetIterator();

    Hi ,
    There are some validation that can be performed from Entity level ( EO ) , you can go through them in Jdev guide .
    It depends on the business requirement , not all validation can be performed from Entity level .
    Let us know your business requirement , will try to clear your doubt .
    --Keerthi                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How to call pl/sql stored procedure in JDBC query dialogbox

    Hi,
    how to call pl/sql stored procedure in JDBC query dialogbox(reports 9i) .
    Cheers,
    Raghu

    please refer : Re: problem If you have more doubts, please ask in that question.

  • Call pl/sql API from jsp portlets

    HI ALL!
    I need to ask from java developers for portal application,How can i call pl/sql API from my jsp portlets,What enhancements in code should i have to follow in addition to use JDBC,I read in FAQ abt portal some thing abt pl/sql wrapper but that was for complex scenarios ,what if my requirement is to call only API functions for contentareas,items,previleges etc.I really need help.
    thx
    Alizeh

    Hi
    thanks for ur reply but where were u a month ago,i really started to think that my question was enough stupid not to be answered.At present i have done with jdbc and pl/sql calls ,current concern is for sessions as i see that session id remains same when one user logs out and another logs in(if browser is not closed), same sessionid persists in my java portlet for both users.Is this an expected behaviour?? but yes new session id appears if browser is closed.
    .session clear for both application and sso after logout is checked
    .broser is set to check for new version each visit for the page
    portal version is 3.0.9.8.0 ,we r planning patch to 3.0.9.8.3 soon
    once again thx
    Alizeh

  • How to call PL/SQL stored procedure using ODBC?

    Could anyone tell me how can I call PL/SQL stored procedure using
    ODBC? Are there any sample codes?
    Thanx!
    null

    You are correct on all counts, they all should work.
    Oracle Product Development Team wrote:
    : Hi,
    : I don't know the exact syntax in ODBC, but reasoning by analogy
    : with other API's, I'd bet one of the following works
    : (for a call to: procedure my_proc(n1 number, n2 number);):
    : "{ my_proc(1,2); }"
    : "{ call my_proc(1,2); }"
    : "{ begin my_proc(1,2); end }"
    : "begin my_proc(1,2); end;"
    : "begin my_proc(1,2); end"
    : Hope this helps. - Pierre
    : jiangbuf (guest) wrote:
    : : Could anyone tell me how can I call PL/SQL stored procedure
    : using
    : : ODBC? Are there any sample codes?
    : : Thanx!
    : Oracle Technology Network
    : http://technet.oracle.com
    null

  • How to Call PL/SQL Procedure

    Hi
    I am trying to call PL/SQL Procedure in OCI but i didn't get success, Please answer,
    Thank you in advance
    null

    Here is a very short sample. Hope it helps
    char SQLStatemen[] ="BEGIN spFoo (:P_Name);END;";
    /* Initialize everything */
    OCIBindByName (CommandHandler, &OCIBindName, ErrorHandler, (text *) ":P_Name", -1, (dvoid *) Name, strlen(Name) +1, SQLT
    _STR, (dvoid *) 0,(ub2 *) 0, (ub2 *) 0, (ub4) 0, (ub4 *) 0, OCI_DEFAULT) == OCI_ERROR);
    OCIStmtExecute (ServiceContext, CommandHandler,ErrorHandler, 1, 0, (OCISnapshot *) NULL,(OCISnapshot *) NULL, OC
    I_DEFAULT);
    /* if P_Name is an out parameter, at this point, it has the value it got from the database */
    /* logoff and close everything */

  • How to call PL-SQL/stored procedure in Creator

    Anybody can tell how to call PL-SQL/Stored procedures inside creator...

    Hi!!!
    You can see this topic http://forum.sun.com/jive/thread.jspa?threadID=106046
    There is how to call oracle stored procedures. Also I put a lot of links in these topic doing reference stored procedures. I have one that it tells specially how to call oracle stored procedures from java, is in spanish but you can understand the code.;-)
    http://yoprogramador.vampisol.com/index.php?title=pl_sql_oracle_desde_java&more=1&c=1&tb=1&pb=1
    Byeee

  • How to call pl/sql procedure/function from XML

    Hi,
    I have a requirement to call pl/sql function/procedure from the RTF template. How can I do this?

    Hi,
    I have got the same requirement. We need to call the store PL/SQL procedure from the XML template to generate the fixedwidth files. Could you tell me if you are able to call PL/SQL procedure from XML template?
    Thanks,
    Ram

Maybe you are looking for

  • How to restrict GL accounts in ME21n transaction screen

    Hi Secuirty dudes.. My company wants to restrict the certain GL accounts from being used in the ME21n tcode screen.. when i create my new role with the Me21n tcode the following objects are populated into the role. Document Type in Purchase Order    

  • Problem in sql.bsq when creating a database

    Hello, this is my first attempt to create an Oracle database but I get some strange problems with the sql.bsql file ... I tried to create the db as described in the Oracle Administrator manual. Everything works fine until I execute the actual "create

  • Help with choosing routers

    I am designing a WAN for a small company. I am familiar with networking and basic cisco router configuration, however I have never attempted anything of this scope. My situation is as follows: The company currently has one main office and two branch

  • Corrupted document recovery of previous

    Hi I have a corrupted Word 2004 document. Is it possible to recover a previously saved version although I have not used a different file name?Thanks. iMac   Mac OS X (10.4.8)  

  • SAPUI5 XML vs JS example gist

    Hello, I created a gist where you can see a simple app-page example created with JavaScript and at the bottom the corresponding XML if it would be a view (without controller. Maybe this helps how to understand and "switch" mentally between the JavaSc