How to call an Oracle Procedure and get a return value in Php

Hi Everyone,
Has anyone tried calling an Oracle procedure from Php using the ora functions and getting the return value ? I need to use the ora funtions (no oci)because of compatibility and oracle 7.x as the database.
The reason why I post this here is because the ora_exec funtion is returning FALSE but the error code displayes is good. Is this a bug in the ora_exec funtion ?
My code after the connection call is as follows:
$cur = ora_open($this->conn);
ora_commitoff($this->conn);
$requestid = '144937';
echo $requestid;
$rc = ora_parse($cur, "begin p_ins_gsdata2
(:requestid, :returnval); end;");
if ($rc == true) {
echo " Parse was successful ";
$rc2 = ora_bind ($cur, "requestid", ":requestid", 32, 1);
if ($rc2 == true) echo " Requestid Bind Successful ";
$rc3 = ora_bind ($cur, "returnval", ":returnval", 32, 2);
if ($rc3 == true) echo " Returnval Bind Successful ";
$returnval = "0";
$rc4 = ora_exec($cur);
echo " Result = ".$returnval." ";
if ($rc4 == false) {
echo " Exec Returned FALSE ";
echo " Error = ".ora_error($cur);
echo " ";
echo "ErrorCode = ".ora_errorcode($cur);
echo "Error Executing";
ora_close ($cur);
The Oracle procedure has a select count from a table and it returns the number of records in that table. It's defined as:
CREATE OR REPLACE procedure p_ins_gsdata2 (
p_requestid IN varchar2 default null,
p_retcode OUT varchar2)
as
BEGIN
SELECT COUNT (*) INTO p_retcode
FROM S_GSMRY_DATA_SURVEY
WHERE request_id = p_requestid ;
COMMIT;
RETURN;
END;
Nothing much there. I want to do an insert into a table,
from the procedure later, but I figured that I start with a select count since it's simpler.
When I ran the Php code, I get the following:
144937
Parse was successful
Requestid Bind Successful
Returnval Bind Successful
Result = 0
Exec Returned FALSE
Error = ORA-00000: normal, successful completion -- while
processing OCI function OBNDRA
ErrorCode = 0
Error Executing
I listed the messages on separate lines for clarity. I don't understand why it parses and binds o.k. but the exec returns false.
Thanks again in advance for your help. Have a great day.
Regards,
Rudi

retcode=`echo $?`is a bit convoluted. Just use:
retcode=$?I see no EOF line terminating your input. Your flavour of Unix might not like that - it might ignore the command, though I'd be surprised (AIX doesn't).
replace the EXEC line with :
select 'hello' from dual;
and see if you get some output - then you know if sqlplus commands are being called from your script. You didn't mentioned whether you see the banner for sqlplus. Copy/paste the output that you get, it will give us much more of an idea.

Similar Messages

  • How to pass a value to a BC4J method from JSP/ADF and get a return value.

    How i can access and application module method from my jsp using JSTL passing a value and hope a return value from BC4J method already exposed using interfase and droped from data control to my jsp page
    Any suggestions ?
    Mensaje editado por:
    mr2k

    Hi,
    Check the size of that Window in which you are displaying this Text of 130 characters.
    May be it is less
    in that case split that string into 2 strings and pass the two strings from ITCSY structure to script and use.
    reward if useful
    regards,
    ANJI

  • How to call a oracle procedure with in/out parameter frm unix shell script?

    Hi,
    I need to call an oracle stored procedure from unix script. The procedure has 1 input parameter and 2 output parameter. Please send me the syntax for the same. Based on the output values of procedure, I have to execute some more commands in unix script.
    Thanks and regards
    A

    An example :
    TEST@db102 SQL> select ename, job from emp
      2  where empno = 7902;
    ENAME      JOB
    FORD       ANALYST
    TEST@db102 SQL> create or replace procedure show_emp (
      2     v_empno in      number,
      3     v_ename out     varchar2,
      4     v_job   out     varchar2 )
      5  is
      6  begin
      7     select ename, job into v_ename, v_job
      8     from emp
      9     where empno = v_empno;
    10  end;
    TEST@db102 SQL> /
    Procedure created.
    TEST@db102 SQL> exit
    Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
    With the Partitioning, OLAP and Data Mining options
    [ora102 work db102]$ IN=7902
    [ora102 work db102]$ set `sqlplus -s test/test@db102 << !
    var out1 varchar2(30);
    var out2 varchar2(30);
    set pages 0
    set feed off
    exec show_emp($IN,:out1,:out2);
    print
    exit
    `[ora102 work db102]$ echo $1 $2
    FORD ANALYST
    [ora102 work db102]$                           

  • How to call a stored procedure which has out parameter value

    my code is
    public Connection createConnection() {
                   Connection conn = null;
                        try {
                             Class.forName(DRIVER);
                             conn = DriverManager.getConnection(URL,USER,PASS);
                        } catch (ClassNotFoundException cnfe) {
                             System.err.print("Class not found");
                        } catch (SQLException sqle) {
                             System.err.print("SQLException");
                   return conn;
         public static void main(String args[]){
              StroedProcedure stp = new StroedProcedure();
              Connection con = stp.createConnection();
              try {
                   CallableStatement stproc_stmt = con.prepareCall("{call Account_Summary(?,?,?,?,?,?,?,?)}");
                   stproc_stmt.setString(1, "123456");
                   stproc_stmt.setDate(2, null);
                   stproc_stmt.setString(3, null);
                   stproc_stmt.setString(4, null);
                   stproc_stmt.setString(5, null);
                   stproc_stmt.setString(6, null);
                   stproc_stmt.setDate(7, null);
                   stproc_stmt.setDate(8, null);
                   stproc_stmt.registerOutParameter(1,Types.CHAR);
                   stproc_stmt.registerOutParameter(2,Types.DATE);
                   stproc_stmt.registerOutParameter(3,Types.CHAR);
                   stproc_stmt.registerOutParameter(4,Types.CHAR);
                   stproc_stmt.registerOutParameter(5,Types.CHAR);
                   stproc_stmt.registerOutParameter(6,Types.CHAR);
                   stproc_stmt.registerOutParameter(7,Types.DATE);
                   stproc_stmt.registerOutParameter(8,Types.DATE);
                   stproc_stmt.execute();
                   System.out.println("test "+stproc_stmt.getString(1));
                   ResultSet rs = stproc_stmt.executeQuery();
                  while (rs.next()){
                       System.out.println("result "+rs.getString("ACCPK"));
              } catch (SQLException e) {
                        e.printStackTrace();
         }And the stored procedure is
    CREATE OR REPLACE
    procedure Account_Summary (accpk in out char, incdt out date, bcur out char, bmark out char, tarTE out char, numHold out char, stDt out date, AsDt out date)
    is
    begin
    select account_pk, inception_date, base_currency, benchmark  into accpk, incdt, bcur, bmark
    from account a
    where a.Account_pk=accpk;
    select target_te, number_holdings, start_date, as_date into tarTE, numHold, StDt, AsDt
    from acc_summary asum
    where asum.account_pk=accpk;
    end Account_Summary;but it gives a exception ORA-01460: unimplemented or unreasonable conversion requested
    ORA-06512: at "REPRO.ACCOUNT_SUMMARY", line 4
    ORA-06512: at line 1
    i want to execute a stored procedure which has in , inout or out parameter
    but it can not work

    ========================
    In some contects varchar2 variable limit is 32512 characters... October 16, 2003
    Reviewer: Piotr Jarmuz from Poznan, Poland
    Interesting to note is the fact that varchar2 variables as parameters to stored
    procedures (in in/out out) may be "only" 32512 bytes long.
    I've checked this in Java and Perl. 32512 is the last value that works, for any
    bigger it throws:
    Exception in thread "main" java.sql.SQLException: ORA-01460: unimplemented or
    unreasonable conversion requested
    But in PL/SQL as you said 32767
    Regards,
    Piotr
    =================================
    This i got it from ask tom, well it make sense.... try checking your input with small numbers and strings
    Have fun

  • Executing unix script within java and getting the return value

    Hi
    I am executing a unix script from within java which will return me a value. Is there a way I get this value and use it inside my java code without doing this:
    BufferedReader in = new BufferedReader( new InputStreamReader( ls_proc.getInputStream() ));
    //readLine reads in one line of text
    int k = 1, i = 0;
    while (( ls_str = in.readLine()) != null)
    --kirk123                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

    I was hoping to get what I want in one or two line codes.
    --kirk123                                                                                                                                                                                           

  • How to call a Oracle Proc,which contains Object Type as in Param, from java

    Hi
    Would like to know how to call a Oracle Procedure which contains the Object Type Parameter from java.
    Here is my code will look like...
    1. CREATE OR REPLACE TYPE emp AS OBJECT
    Empno NUMBER,
    Ename VARCHAR2(50)
    [COLOR=royalblue]In step1 I have created object type.[COLOR]
    2.CREATE OR REPLACE PACKAGE ref_pkg IS
    TYPE tab_emp IS TABLE OF emp;
    END ref_pkg;
    [COLOR=royalblue]In step2,I have created a table type which is of type emp;[COLOR]
    3. CREATE OR REPLACE PROCEDURE p_emp(p_emptab IN ref_pkg.tab_emp) as
    BEGIN
    FOR I IN 1..p_emptab.COUNT
    LOOP
    Some code written here
    END LOOP;
    END;
    [COLOR=royalblue]In step3 I have passed tabletype which is of type emp as argument.[COLOR]
    Now I need to invoke this procedure from JAVA.
    Calling a procedure doesn�t matter.
    But how I can map objecttype ? how will java recognize oracle object ?
    How can I implement this ?
    Any Help/Clues is Appreciated.
    Thanks
    Krishna

    Hi Bob
    You can call a stored proc from a database control with the jc:sql annotation itself.
    Assume a stored proc taking one In parameter
    * @jc:sql statement="call sp_updateData({id})"
    void call_sp_updateCust(int id);
    You can even call stored proc with OUT parameters using
    * @jc:sql statement="{call sp_MyProc(?, ?)}"
    void call_sp_MyProc(SQLParameter[] params)
    You can also call stored functions via db control.
    More info and diff ways to call at
    http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/controls/database/conStoredProcedures.html
    Thanks
    Vimala

  • How to call PL/SQL function and pass parameter to ODI variable?

    Can I call PL/SQL function and assign a return value to an ODI variable? Also can I assign ODI variable to IN paramter and assign OUT parameter to ODI variable? What ODI doc has that information?
    Thanks

    Hi,
    Refer this http://odiexperts.com/how-to-use-plsql-procedures-and-functions-in-odi
    Thanks,
    Sutirtha

  • Calling a oracle procedure within a procedure - Urgent

    Hi
    Can some one tell me, how to call a oracle procedure within a procedure ?
    Thanks
    Murali

    You could always try looking in the manuals.

  • How to call a stored procedure using its package name in Oracle

    hi
    we're doing a JDBC scenario where we call a stored procedure(a.prc) using its package name(b)The stored procedure has In /Out/IN-OUT parameter.
    i have got 2 queries:
    1- How to call the stored procedure using it's package.
    2- How to capture the In/Out parameter in the response.

    hi Prateek
    thanks for the reply.
    However when i tried mapping it to Package.procedure, communication channel throws the error saying that Package.proceudre needs to be declared.
    As i said , the procedure has IN-OUT parameter too.In oracle we need to write a block if we want to read the IN-OUT parameter.
    How to get the IN-OUT parameter in XI?

  • Dynamically calling stored procedure and getting result set c++

    Hello,
    I am trying to write some c++ code that will dynamically bind values to a stored procedure and excute the procedure and get back a resultset. The problem I am running into is how to get back the resultset. Any help or example would be highly appreciated.

    int main(int argc, char* argv[])
    OCIError* pOciError;
    char* pConnectChar = "dbname";
    char* pUsernameChar = "scott";
    char* pPasswordChar = "tiger";
    int answer;
    OCIStmt* pOciStatement;
    char* sqlCharArray = "BEGIN :success := sp_ListEmp; END;";
    int id;
    char ename[40];
    OCIEnv* g_pOciEnvironment = NULL;
    OCIServer* g_pOciServer = NULL;
    OCISession* g_pOciSession = NULL;
    OCISvcCtx* g_pOciServiceContext = NULL;
    sb2* pIndicator=0;
    sb2* pIndicator2=0;
    sb2* pIndicator3=0;
    OCIDefine* pOciDefine;
    OCIDefine* pOciDefine2;
    OCIBind* pBind;
    OCIStmt* cursor;
    answer = OCIInitialize(OCI_THREADED, NULL, NULL, NULL, NULL);
    answer = OCIEnvInit(&g_pOciEnvironment, OCI_DEFAULT, 0, NULL);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)&pOciError, OCI_HTYPE_ERROR, 0, NULL);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)&g_pOciSession, OCI_HTYPE_SESSION, 0, NULL);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)&g_pOciServer, OCI_HTYPE_SERVER, 0, NULL);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)&g_pOciServiceContext, OCI_HTYPE_SVCCTX, 0, NULL);
    answer = OCIServerAttach(g_pOciServer, pOciError, (unsigned char *)pConnectChar, strlen(pConnectChar),
    OCI_DEFAULT);
    answer = OCIAttrSet(g_pOciSession, OCI_HTYPE_SESSION, (unsigned char *)pUsernameChar, strlen(pUsernameChar),
    OCI_ATTR_USERNAME, pOciError);
    answer = OCIAttrSet(g_pOciSession, OCI_HTYPE_SESSION, (unsigned char *)pPasswordChar, strlen(pPasswordChar),
    OCI_ATTR_PASSWORD, pOciError);
    answer = OCIAttrSet(g_pOciServiceContext, OCI_HTYPE_SVCCTX, g_pOciServer, 0, OCI_ATTR_SERVER, pOciError);
    answer = OCIAttrSet(g_pOciServiceContext, OCI_HTYPE_SVCCTX, g_pOciSession, 0, OCI_ATTR_SESSION, pOciError);
    answer = OCISessionBegin(g_pOciServiceContext, pOciError, g_pOciSession, OCI_CRED_RDBMS, OCI_DEFAULT);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)(&pOciStatement), OCI_HTYPE_STMT, 0, NULL);
    answer = OCIStmtPrepare(pOciStatement, pOciError, (unsigned char *)sqlCharArray, strlen(sqlCharArray),
    OCI_NTV_SYNTAX, OCI_DEFAULT);
    answer = OCIHandleAlloc(g_pOciEnvironment, (void **)(&cursor), OCI_HTYPE_STMT, 0, NULL);
    answer = OCIBindByPos(pOciStatement,&pBind, pOciError, 1, &cursor, 0,SQLT_RSET,
    pIndicator2, 0,NULL, 0,0,OCI_DEFAULT);
    answer = OCIStmtExecute(g_pOciServiceContext, pOciStatement, pOciError, 1, 0, NULL, NULL,
    OCI_COMMIT_ON_SUCCESS);
    answer = OCIDefineByPos(cursor,&pOciDefine, pOciError,2,&id,sizeof(int),
    SQLT_INT,pIndicator, 0, 0,OCI_DEFAULT);
    answer = OCIDefineByPos(cursor,&pOciDefine2, pOciError,1,ename,40,
    SQLT_STR,pIndicator3, 0, 0,OCI_DEFAULT);
    if (answer == 0)
    while ((answer = OCIStmtFetch(cursor,pOciError, 1,OCI_FETCH_NEXT,OCI_DEFAULT)) == 0)
    printf("fetched id %d and name %s\n",id,ename);
    answer = OCIHandleFree(pOciError, OCI_HTYPE_ERROR);
    return 0;

  • ADF call stored Oracle procedure - make transaction dirty

    Hi all,
    I have the next question:
    my ADF application is doing massive data processing that I placed in Oracle stored procedure/package to improve performance.
    Data processing takes 1-2 sec. I'm not doing any commit/rollback in my PL/SQL code.
    I have "Save"/"Undo" button in the GUI and I want, that an end user to make corresponding action to commit/rollback data by pressing one of the buttons.
    Normally those buttons are disabled since transaction is not dirty.
    Is it possible to mark transaction dirty, so that "Save"/"Undo" buttons are available?
    I know I can make buttons always available, but I not allowed to do so.
    Are any other workarounds? Or can it be done in another proper way?
    Thanks.
    Alexander

    Hi Timo!
    well , good idea!
    and I've already tried to fight with issue when I was getting transaction dirty by clicking on transient checkbox-attribute and tried to find a way to make a dirty transaction to clean :).
    What do you think if I run something like:
    this.saveButton.setDisabled(false);
    this.undoButton.setDisabled(false);
    after a call to stored procedure and use the next code
    this.saveButton.setValueExpression("disabled",getValueExpression("#{!bindings.Commit.enabled}"));
    this.saveButton.setValueExpression("disabled",getValueExpression("#{!bindings.Rollback.enabled}"));
    in commit/Save & rollbak/Undo button handlers? Would it work?
    Alexander

  • How to call a stored procedure with only one output parameter using toplink

    Can anybody help me to get out of this exception. I have tried through several ways, but could not find the solution.
    I have a following stored proc : -
    CREATE OR REPLACE PROCEDURE spt_remove_duplicates_pr (outbuffer OUT VARCHAR2)
    IS
    buff VARCHAR2(32000) := ' ';
    BEGIN
    buff := ' Hi From Stored Proc' ;
    outbuffer : = buff;
    END;
    When I am executing it using following code :-
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("spt_remove_duplicates_pr");
    call.addNamedOutputArgument("a","a",String.class);
    ValueReadQuery query = new ValueReadQuery();
    query.setCall(call);
    String buff1 = (String) session.executeQuery(query);
    I am getting the exception as : -
    LOCAL EXCEPTION STACK:
    EXCEPTION [TOPLINK-4002] (TopLink - 9.0.3.4 (Build 432)): oracle.toplink.exceptions.DatabaseException
    EXCEPTION DESCRIPTION: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'SPT_REMOVE_DUPLICATES_PR'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    INTERNAL EXCEPTION: java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'SPT_REMOVE_DUPLICATES_PR'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
    ERROR CODE: 6550
         at oracle.toplink.exceptions.DatabaseException.sqlException(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabasePlatform.executeStoredProcedureCall(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown Source)
         at oracle.toplink.threetier.ServerSession.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelectCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelect(Unknown Source)
         at oracle.toplink.queryframework.DirectReadQuery.executeNonCursor(Unknown Source)
         at oracle.toplink.queryframework.DataReadQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.ValueReadQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.ReadQuery.execute(Unknown Source)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
         at oracle.toplink.threetier.ServerSession.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at com.marshmc.eta.reuse.persistent.PersistentService$DuplicateRemovalThread.run(Unknown Source)
    INTERNAL EXCEPTION STACK:
    java.sql.SQLException: ORA-06550: line 1, column 7:
    PLS-00306: wrong number or types of arguments in call to 'SPT_REMOVE_DUPLICATES_PR'
    ORA-06550: line 1, column 7:
    PL/SQL: Statement ignored
         at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
         at oracle.jdbc.ttc7.TTIoer.processError(TTIoer.java:289)
         at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:582)
         at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1983)
         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:1141)
         at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.java:2149)
         at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.java:2032)
         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2894)
         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabasePlatform.executeStoredProcedureCall(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown Source)
         at oracle.toplink.threetier.ServerSession.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelectCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeSelect(Unknown Source)
         at oracle.toplink.queryframework.DirectReadQuery.executeNonCursor(Unknown Source)
         at oracle.toplink.queryframework.DataReadQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.ValueReadQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.ReadQuery.execute(Unknown Source)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
         at oracle.toplink.threetier.ServerSession.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at com.marshmc.eta.reuse.persistent.PersistentService$DuplicateRemovalThread.run(Unknown Source)

    I got the partial solution. The code is working now, however I am not getting the return value from stored proc.
    The changed code is as :-
    StoredProcedureCall call = new StoredProcedureCall();
    call.setProcedureName("spt_remove_duplicates_pr");
    call.addNamedOutputArgument("outbuffer","outbuffer",StringBuffer.class);
    ValueReadQuery query = new ValueReadQuery();
    query.setCall(call);
    StringBuffer buff1 = (StringBuffer) session.executeQuery(query);
    System.err.println("Done ! Output is : " + buff1);
    The result is :-
    Done ! Output is : null
    How can I get the output ?

  • How to call a Store Procedure with IN PARAMETER

    Hi, im new using Oracle 10G with Oracle SQL Developer, my cuestion is how to call a Store Procedure with IN PARAMETER, I tried the following without results
    SELECT * FROM procedure_name(parameter);
    PROCEDURE procedure_name(parameter);
    EXEC procedure_name(parameter);
    CALL procedure_name(parameter);
    Please help me....

    Hi,
    As Beijing said,
    EXEC procedure_name(parameter);
    CALL procedure_name(parameter);work for me.
    So does
    BEGIN
        procedure_name(parameter);
    END;Can you be more specific about what you're doing? That is, are you testing it in SQL Developer? Where are you entering the commands? Where are you looking for output? Do you get error messages? Does anything else (like "SELECT SYSDATE FROM dual;") work?

  • How to monitor OSD TS failure and get alert or report?

    How to monitor OSD TS failure and get some alert or generate an report?
    We have SCCM 2012 R2 CU1 with MDT 2013.
    I have checked the OSD reports in SCCM and everyone is emty, where do SCCM get data to the what to activate?
    (I thinking of "Task Sequence - Deployment Status" reports)
    I am not sure people read report manually or lock at the MDT monitor view. So best I think that generate an email or incident in Service Manager when an TS fails.
    We do have SCOM, SCSM, SCO.
    Is there anyone that can point what way or what option I have?
    /SaiTech

    Specifically you could use this Status Message Query syntax to monitor your Task Sequences for errors:
    select stat.*, ins.*, att1.*, att1.AttributeTime from SMS_StatusMessage as stat left join SMS_StatMsgInsStrings as ins on stat.RecordID = ins.RecordID left join SMS_StatMsgAttributes as att1 on stat.RecordID = att1.RecordID inner join SMS_StatMsgAttributes
    as att2 on stat.RecordID = att2.RecordID where att2.AttributeID = 401 and att2.AttributeValue = "DOJ200A1" and stat.SiteCode = "DOJ" and att2.AttributeTime >= ##PRM:SMS_StatMsgAttributes.AttributeTime## order by att1.AttributeTime desc
    Just replace DOJ200A1 with the Deployment ID of your Task Sequence and DOJ with your SiteCode.
    If you want to generate an alert if the TS fails then you could run a script that calls a utility (or similar) which sends a pre-configured email to a specified address (as an alternative to Torten's response). This could be placed in the built in error
    logging section of the SCCM integrated MDT Task Sequence when it fails which I assume you are using (right at the bottom, called Gather Logs and StateStore on failure).
    There are heaps of ways of generating an email from a TS and controlling error logging just do a search - as you have Service Manager you could even use your instance of Orchestrator and call a run book in your TS which does the email?
    Cheers
    Damon

  • How to find colums in CLOB variable and get this colums value to update col

    Question
    How to find colums in CLOB variable and get this colums value to update colum of oracle database table
    How my work will go
    Step-1 - I am creating XML FIle which is based on code that we discused before-
    Its developing xml file with data in <...inputelement> as u can see in my xml but in <..output> Element of xml its just have all column for exampe <itemoutput>
    <FLD NM = "ABC"> 0 </FLD>
    <FLD NM = "XYZ:> </FLD> --- for varchar2
    </itemoutput>
    In 1st stage i am just generating <..INPUT> with its colums and real value from database and <..output> elements will go zero value but with colums name.
    Note. I create temp table will all COLUMN which u can see in both in <..ITEMINPUT> and <..ITEMOUTPUT>
    Step2.. After Generaing my xml i want to convert my xml data into CLOB not in a file. so clob will go to the VENDOR
    STEP3.
    I will Recieved again xml data in CLOB from the vendo in <.OUTPUT> ELEMents
    for example
    I send this format
    <itemoutput>
    <FLD NM = "ABC"> 0 </FLD>
    <FLD NM = "XYZ:> </FLD> --- for varchar2
    </itemoutput>
    And i will receive it
    <itemoutput>
    <FLD NM = "ABC VALUE"> 2 </FLD>
    <FLD NM = "XYZ TYPE:> SUV</FLD> --- for varchar2
    </itemoutput>
    So will take this output valu from xml clob and will update my staging table .
    Which have the same colum name as its look in xml clob.
    Step- 4. I will take this value from staging table and update my original oracle database table. which i send you before.
    But u leave this step becaue you dont know the staging table colum maping with original table.
    I think now you understand
    Please feed back
    monriz

    here is my xml..
    I want to extract <..output> elements which enclosed with " " and its values from this xml file. please any body have any idea. please tell me
    Thanks
    <?xml version="1.0" ?>
    - <RATABASECALC COPYRIGHT="COPYRIGHT 2001>
    - <RATEREQUEST USEREFID="YES">
    - <ANCHOR>
    <DATABASENAME />
    <DATABASEPW />
    <DATABASESOURCE />
    <DATABASEPRVDR />
    <USERNAME />
    <SEVERITYDES />
    <CALLDES />
    <INITACCDES />
    <INITACCV />
    <ITEMSEQDES />
    <ITEMMATCHDES />
    <CENTURYDES />
    <DATEDES />
    <FORMULADES />
    <STRINGDES />
    <VALIDATIONDES />
    <STEPSDES />
    <RETINFONUM />
    <ADDLRETINFONUM />
    <ANCHORNOMATCH />
    <NOMATCHMSG />
    <TRANUUID />
    <LOGOPTION />
    <MSGOPTION />
    <USERLOGFN />
    <NOITEMERROR />
    <LOGFORMAT />
    <LOGFN />
    <STEPSFN />
    <NUMNOMATCH>0</NUMNOMATCH>
    <NUMERRORS>0</NUMERRORS>
    </ANCHOR>
    - <POLICIES>
    - <POLICY>
    <BUSINESSDES>N</BUSINESSDES>
    <LEGALENTITYOWNER>CGI TRAINING AND DEMONSTRATION</LEGALENTITYOWNER>
    <LEGALENTITYNAME>CGI TRAINING AND DEMONSTRATION</LEGALENTITYNAME>
    <COMPEFFDATE>02/01/2000</COMPEFFDATE>
    <RETRIEVALDATE>02/01/2000</RETRIEVALDATE>
    <POLINPUTS />
    - <POLOUTPUTS>
    <FLD NM="POLICY CALCS DONE IND">Y</FLD>
    <FLD NM="TOTAL DISCOUNTED POLICY PREM">2167.52</FLD>
    <FLD NM="TOTAL POLICY PREMIUM">3180.0</FLD>
    </POLOUTPUTS>
    - <LOBS>
    - <LOB>
    <LEGALENTITYPRODGROUP>PERSONAL AUTOMOBILE</LEGALENTITYPRODGROUP>
    - <LOBINPUTS>
    <FLD NM="MULTI-CAR FACTOR">0</FLD>
    <FLD NM="MULTI-CAR IND">Y</FLD>
    </LOBINPUTS>
    <LOBOUTPUTS />
    - <REGIONS>
    - <REGION>
    <LEGALENTITYREGION>MAINE</LEGALENTITYREGION>
    - <REGIONINPUTS>
    <FLD NM="STATE PREMIUM AMOUNT">0</FLD>
    </REGIONINPUTS>
    - <REGIONOUTPUTS>
    <FLD NM="TOTAL STATE PREMIUM">2356.0</FLD>
    <FLD NM="TOTAL DISCOUNTED STATE PREM">2167.52</FLD>
    <FLD NM="TOTAL STATE DISCOUNT AMOUNT">188.48</FLD>
    </REGIONOUTPUTS>
    - <REGIONERRORS>
    <NUMLOGENTRIES>3</NUMLOGENTRIES>
    <NUMRETURNLOGENTRIES>0</NUMRETURNLOGENTRIES>
    </REGIONERRORS>
    - <COVERAGES>
    - <COVERAGE RBID="COVP1L1R1C1">
    <COVFORMULAINDEX FORMREF="FMLAP1L1R1F1" />
    <COVINPUTS />
    - <COVOUTPUTS>
    <FLD NM="DEDUCTIBLE BUYBACK">145.0</FLD>
    </COVOUTPUTS>
    <COVCONTROL />
    </COVERAGE>
    - <COVERAGE RBID="COVP1L1R1C2">
    <COVFORMULAINDEX FORMREF="FMLAP1L1R1F2" />
    <COVINPUTS />
    - <COVOUTPUTS>
    <FLD NM="DEDUCTIBLE BUYBACK">209.0</FLD>
    </COVOUTPUTS>
    <COVCONTROL />
    </COVERAGE>
    - <COVERAGE RBID="COVP1L1R1C3">
    <COVFORMULAINDEX FORMREF="FMLAP1L1R1F3" />
    <COVINPUTS />
    <COVOUTPUTS />
    <COVCONTROL />
    </COVERAGE>
    </COVERAGES>
    - <ITEMS>
    - <ITEM>
    - <ITEMINPUTS>
    <FLD NM="COLLISION DEDUCTIBLE">100</FLD>
    <FLD NM="COMP DEDUCTIBLE">FULL</FLD>
    <FLD NM="INEXPERIENCED OPERATOR IND">N</FLD>
    <FLD NM="LIABILITY LIMIT">100</FLD>
    <FLD NM="SYMBOL">15</FLD>
    <FLD NM="TOWING INDICATOR">Y</FLD>
    <FLD NM="INEXPERIENCED OPER FACTOR">0</FLD>
    <FLD NM="VEHICLE SYMBOL">0</FLD>
    <FLD NM="MODEL YEAR">1997</FLD>
    <FLD NM="COST NEW">0</FLD>
    <FLD NM="DRIVER TRAINING INDICATOR">N</FLD>
    <FLD NM="GOOD STUDENT IND">N</FLD>
    <FLD NM="CLASS CODE">11</FLD>
    <FLD NM="COLL RATE">0</FLD>
    <FLD NM="TERRITORY">001</FLD>
    <FLD NM="COMP RATE">0</FLD>
    <FLD NM="PROTECTIVE DEVICE CODE">B</FLD>
    <FLD NM="ANTI LOCK BRAKE IND">Y</FLD>
    <FLD NM="MED RATE">0</FLD>
    <FLD NM="MEDICAL PAYMENTS LIMIT">1000</FLD>
    <FLD NM="PASSIVE RESTRAINT CODE">A</FLD>
    <FLD NM="UNINSURED MOTORISTS LIMIT">100</FLD>
    </ITEMINPUTS>
    - <ITEMOUTPUTS>
    <FLD NM="CLASS FACTOR">0.84</FLD>
    <FLD NM="TOTAL VEHICLE PREMIUM">1166.0</FLD>
    <FLD NM="TOTAL COLLISION PREMIUM">438</FLD>
    <FLD NM="TOTAL COMP PREMIUM">218</FLD>
    <FLD NM="TOTAL LIABILITY PREMIUM">475</FLD>
    <FLD NM="TOTAL MEDICAL PREMIUM">4</FLD>
    <FLD NM="TOTAL TOWING PREMIUM">4</FLD>
    <FLD NM="TOTAL UM PREMIUM">27</FLD>
    </ITEMOUTPUTS>
    - <ITEMNOMATCHES>
    <ITEMNUMNOMATCH>2</ITEMNUMNOMATCH>
    <ITEMRETURNNOMATCH>0</ITEMRETURNNOMATCH>
    </ITEMNOMATCHES>
    - <ITEMCOVINDEXES>
    <ITEMCOVINDEX COVREF="COVP1L1R1C1" />
    </ITEMCOVINDEXES>
    <ITEMCONTROL />
    </ITEM>
    - <ITEM>
    - <ITEMINPUTS>
    <FLD NM="COLLISION DEDUCTIBLE">50</FLD>
    <FLD NM="COMP DEDUCTIBLE">FULL</FLD>
    <FLD NM="INEXPERIENCED OPERATOR IND">N</FLD>
    <FLD NM="LIABILITY LIMIT">100</FLD>
    <FLD NM="SYMBOL">12</FLD>
    <FLD NM="TOWING INDICATOR">N</FLD>
    <FLD NM="INEXPERIENCED OPER FACTOR">0</FLD>
    <FLD NM="VEHICLE SYMBOL">0</FLD>
    <FLD NM="MODEL YEAR">1997</FLD>
    <FLD NM="COST NEW">0</FLD>
    <FLD NM="DRIVER TRAINING INDICATOR">N</FLD>
    <FLD NM="GOOD STUDENT IND">N</FLD>
    <FLD NM="CLASS CODE">12</FLD>
    <FLD NM="COLL RATE">0</FLD>
    <FLD NM="TERRITORY">001</FLD>
    <FLD NM="COMP RATE">0</FLD>
    <FLD NM="PROTECTIVE DEVICE CODE">0</FLD>
    <FLD NM="ANTI LOCK BRAKE IND">Y</FLD>
    <FLD NM="MED RATE">0</FLD>
    <FLD NM="MEDICAL PAYMENTS LIMIT">1000</FLD>
    <FLD NM="PASSIVE RESTRAINT CODE">0</FLD>
    <FLD NM="UNINSURED MOTORISTS LIMIT">100</FLD>
    </ITEMINPUTS>
    - <ITEMOUTPUTS>
    <FLD NM="CLASS FACTOR">0.88</FLD>
    <FLD NM="TOTAL VEHICLE PREMIUM">1190.0</FLD>
    <FLD NM="TOTAL COLLISION PREMIUM">468</FLD>
    <FLD NM="TOTAL COMP PREMIUM">194</FLD>
    <FLD NM="TOTAL LIABILITY PREMIUM">497</FLD>
    <FLD NM="TOTAL MEDICAL PREMIUM">4</FLD>
    <FLD NM="TOTAL TOWING PREMIUM">0</FLD>
    <FLD NM="TOTAL UM PREMIUM">27</FLD>
    </ITEMOUTPUTS>
    - <ITEMNOMATCHES>
    <ITEMNUMNOMATCH>2</ITEMNUMNOMATCH>
    <ITEMRETURNNOMATCH>0</ITEMRETURNNOMATCH>
    </ITEMNOMATCHES>
    - <ITEMCOVINDEXES>
    <ITEMCOVINDEX COVREF="COVP1L1R1C2" />
    </ITEMCOVINDEXES>
    <ITEMCONTROL />
    </ITEM>
    - <ITEM>
    <ITEMINPUTS />
    <ITEMOUTPUTS />
    - <ITEMNOMATCHES>
    <ITEMNUMNOMATCH>2</ITEMNUMNOMATCH>
    <ITEMRETURNNOMATCH>0</ITEMRETURNNOMATCH>
    </ITEMNOMATCHES>
    - <ITEMCOVINDEXES>
    <ITEMCOVINDEX COVREF="COVP1L1R1C3" />
    </ITEMCOVINDEXES>
    <ITEMCONTROL />
    </ITEM>
    </ITEMS>
    - <FORMULAS>
    - <FORMULA RBID="FMLAP1L1R1F1">
    <FORMULANAME>RATING MASTER</FORMULANAME>
    <FORMULARETRIEVALDATE>02/01/2000</FORMULARETRIEVALDATE>
    <FORMULACOMPEFFDATE>02/01/2000</FORMULACOMPEFFDATE>
    <FORMULANEWRENDES>N</FORMULANEWRENDES>
    <FORMULAUSERATEDATE>Y</FORMULAUSERATEDATE>
    <FORMULARATERETRIEVALDATE>02/01/2000</FORMULARATERETRIEVALDATE>
    <FORMULARATECOMPEFFDATE>02/01/2000</FORMULARATECOMPEFFDATE>
    </FORMULA>
    - <FORMULA RBID="FMLAP1L1R1F2">
    <FORMULANAME>RATING MASTER</FORMULANAME>
    <FORMULARETRIEVALDATE>02/01/2000</FORMULARETRIEVALDATE>
    <FORMULACOMPEFFDATE>02/01/2000</FORMULACOMPEFFDATE>
    <FORMULANEWRENDES>N</FORMULANEWRENDES>
    <FORMULAUSERATEDATE>Y</FORMULAUSERATEDATE>
    <FORMULARATERETRIEVALDATE>02/01/2000</FORMULARATERETRIEVALDATE>
    <FORMULARATECOMPEFFDATE>02/01/2000</FORMULARATECOMPEFFDATE>
    </FORMULA>
    - <FORMULA RBID="FMLAP1L1R1F3">
    <FORMULANAME>PREMIUM DISCOUNT</FORMULANAME>
    <FORMULARETRIEVALDATE>02/01/2000</FORMULARETRIEVALDATE>
    <FORMULACOMPEFFDATE>02/01/2000</FORMULACOMPEFFDATE>
    <FORMULANEWRENDES>N</FORMULANEWRENDES>
    <FORMULAUSERATEDATE>Y</FORMULAUSERATEDATE>
    <FORMULARATERETRIEVALDATE>02/01/2000</FORMULARATERETRIEVALDATE>
    <FORMULARATECOMPEFFDATE>02/01/2000</FORMULARATECOMPEFFDATE>
    </FORMULA>
    </FORMULAS>
    <REGIONCONTROL />
    </REGION>
    - <REGION>
    <LEGALENTITYREGION>NEW HAMPSHIRE</LEGALENTITYREGION>
    - <REGIONINPUTS>
    <FLD NM="STATE PREMIUM AMOUNT">0</FLD>
    </REGIONINPUTS>
    - <REGIONOUTPUTS>
    <FLD NM="TOTAL STATE PREMIUM">824.0</FLD>
    <FLD NM="TOTAL DISCOUNTED STATE PREM">0</FLD>
    <FLD NM="TOTAL STATE DISCOUNT AMOUNT">0</FLD>
    </REGIONOUTPUTS>
    - <REGIONERRORS>
    <NUMLOGENTRIES>2</NUMLOGENTRIES>
    <NUMRETURNLOGENTRIES>0</NUMRETURNLOGENTRIES>
    </REGIONERRORS>
    - <COVERAGES>
    - <COVERAGE RBID="COVP1L1R2C1">
    <COVFORMULAINDEX FORMREF="FMLAP1L1R1F4" />
    <COVINPUTS />
    - <COVOUTPUTS>
    <FLD NM="DEDUCTIBLE BUYBACK">0.0</FLD>
    </COVOUTPUTS>
    <COVCONTROL />
    </COVERAGE>
    </COVERAGES>
    - <ITEMS>
    - <ITEM>
    - <ITEMINPUTS>
    <FLD NM="COLLISION DEDUCTIBLE">500</FLD>
    <FLD NM="COMP DEDUCTIBLE">250</FLD>
    <FLD NM="INEXPERIENCED OPERATOR IND">Y</FLD>
    <FLD NM="LIABILITY LIMIT">100</FLD>
    <FLD NM="SYMBOL">11</FLD>
    <FLD NM="INEXPERIENCED OPER FACTOR">0</FLD>
    <FLD NM="VEHICLE SYMBOL">0</FLD>
    <FLD NM="MODEL YEAR">1996</FLD>
    <FLD NM="COST NEW">0</FLD>
    <FLD NM="DRIVER TRAINING INDICATOR">Y</FLD>
    <FLD NM="GOOD STUDENT IND">Y</FLD>
    <FLD NM="CLASS CODE">36</FLD>
    <FLD NM="COLL RATE">0</FLD>
    <FLD NM="TERRITORY">001</FLD>
    <FLD NM="COMP RATE">0</FLD>
    <FLD NM="PROTECTIVE DEVICE CODE">0</FLD>
    <FLD NM="ANTI LOCK BRAKE IND">0</FLD>
    <FLD NM="MED RATE">0</FLD>
    <FLD NM="MEDICAL PAYMENTS LIMIT">1000</FLD>
    <FLD NM="PASSIVE RESTRAINT CODE">0</FLD>
    <FLD NM="UNINSURED MOTORISTS LIMIT">100</FLD>
    </ITEMINPUTS>
    - <ITEMOUTPUTS>
    <FLD NM="CLASS FACTOR">1.11</FLD>
    <FLD NM="TOTAL VEHICLE PREMIUM">824.0</FLD>
    <FLD NM="TOTAL COLLISION PREMIUM">332</FLD>
    <FLD NM="TOTAL COMP PREMIUM">123</FLD>
    <FLD NM="TOTAL LIABILITY PREMIUM">334</FLD>
    <FLD NM="TOTAL MEDICAL PREMIUM">8</FLD>
    <FLD NM="TOTAL UM PREMIUM">27</FLD>
    </ITEMOUTPUTS>
    - <ITEMNOMATCHES>
    <ITEMNUMNOMATCH>2</ITEMNUMNOMATCH>
    <ITEMRETURNNOMATCH>0</ITEMRETURNNOMATCH>
    </ITEMNOMATCHES>
    - <ITEMCOVINDEXES>
    <ITEMCOVINDEX COVREF="COVP1L1R2C1" />
    </ITEMCOVINDEXES>
    <ITEMCONTROL />
    </ITEM>
    </ITEMS>
    - <FORMULAS>
    - <FORMULA RBID="FMLAP1L1R1F4">
    <FORMULANAME>RATING MASTER</FORMULANAME>
    <FORMULARETRIEVALDATE>02/01/2000</FORMULARETRIEVALDATE>
    <FORMULACOMPEFFDATE>02/01/2000</FORMULACOMPEFFDATE>
    <FORMULANEWRENDES>N</FORMULANEWRENDES>
    <FORMULAUSERATEDATE>Y</FORMULAUSERATEDATE>
    <FORMULARATERETRIEVALDATE>02/01/2000</FORMULARATERETRIEVALDATE>
    <FORMULARATECOMPEFFDATE>02/01/2000</FORMULARATECOMPEFFDATE>
    </FORMULA>
    </FORMULAS>
    <REGIONCONTROL />
    </REGION>
    </REGIONS>
    </LOB>
    </LOBS>
    - <RETINFOS>
    <TOTALRI>0</TOTALRI>
    </RETINFOS>
    </POLICY>
    </POLICIES>
    </RATEREQUEST>
    </RATABASECALC>
    Above xml data - some <...OUTPUT> elements has some FLD elements. and i want to take those outputelemt's FLD Elements data and update my oracle tables.
    Note: FLD = "Attribie" are the colums name of the tables
    back to top

Maybe you are looking for