Thursday, 18 May 2017

Register IN OUT mode Parameter in OAF

Code : 
 
    OADBTransaction oadbtransaction = getOADBTransaction();
    StringBuffer str = new StringBuffer();
    str.append( " BEGIN ");
    str.append( " APPS.XXVEM_PKGNAME_.XXVEM_PROCNAME( ");
    str.append( " p_line_id    => :1, ");
    str.append( " p_Invoice_id    => :2, ");
    str.append( " p_bill_id => :3, ");
    str.append( " p_prcedure_id     => :4, ");
    str.append( " p_success_flag    => :5, ");
    str.append( " p_message => :6  ");
    str.append( "    ); ");
    str.append( " END; ");

 CallableStatement oraclecallablestatement=                     oadbtransaction.createCallableStatement(str.toString(), 1);
        String msgs[]=new String[3];
        String SuccFlag;
        String ErrMsg;

        oraclecallablestatement.setInt(1,  LineId );
        oraclecallablestatement.setInt(2,  Invoiceid );
        oraclecallablestatement.setString(3,  billid );
        oraclecallablestatement.setInt(4,  prcedureid );
        oraclecallablestatement.registerOutParameter(4, Types.INTEGER);
        oraclecallablestatement.registerOutParameter(5, Types.VARCHAR);
        oraclecallablestatement.registerOutParameter(6, Types.VARCHAR);
        oraclecallablestatement.execute();
        getOADBTransaction().commit();
     
        PrcedureId = oraclecallablestatement.getString(4).toString();
        SuccFlag = oraclecallablestatement.getString(5);
        Msg= oraclecallablestatement.getString(6);
        msgs[0]= PrcedureId;
        msgs[1]=SuccFlag;
        msgs[2]=Msg;

Explanation: 

In the Above Code, I am registering 4th parameter as IN OUT mode parameter.
Register as IN parameter  :  oraclecallablestatement.setInt(4,  prcedureid );
Register as OUT parameter :  oraclecallablestatement.registerOutParameter(4, Types.INTEGER);
I am passing parameter to string array : msgs[0]= PrcedureId;

so I need to type cast the variable at line : PrcedureId = oraclecallablestatement.getString(4).toString();

No comments:

Post a Comment

SCript to Migrate OAF Personalizations To Other Instances

Download OAF form personalization java oracle.jrad.tools.xml.exporter.XMLExporter \/oracle/apps/ar/hz/components/account/site/webui/cust...