30 Eylül 2010 Perşembe

5-calling stored procedures.and pl/sql functions in adf

in my previous blog i explained exception handling. now i will explain calling stored procedure.

in appmoduleimpl create method that named "addInformationMessageTest" .


public void addInformationMessageTest(String message, String cause)
  {
    DBTransaction trans = getDBTransaction();

    try
    {
      System.out.println("sd" + message);
      String plsql = "BEGIN eklesyslog(?,?,?); END;";

      CallableStatement stmt = trans.createCallableStatement(plsql, 0);
      stmt.setString(3, cause);
      stmt.setString(2, message);
      stmt.setString(1,
                     ADFContext.getCurrent().getSecurityContext().getUserName());
      stmt.execute();
      stmt.close();
      trans.commit();

    }
    catch (SQLException e)
    {
      if (trans != null)
      {
        System.out.println("2");
        trans.rollback();
      }
      System.out.println("23");
      throw new JboException(e);
    }
  }

import oracle.jbo.JboException;
import oracle.jbo.Session;
import oracle.jbo.server.ApplicationModuleImpl;
import oracle.jbo.server.DBTransaction;
import oracle.jbo.server.ViewLinkImpl;
import oracle.jbo.server.ViewObjectImpl;
import java.sql.CallableStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;
import oracle.jdbc.OracleTypes;




sample using function
public String BirimArmonizeDegisti(String armonizebirimbir, String armonizebirimiki, String cnbirimbir,
                           String cnbirimiki, String cnnumber)
  {
    CallableStatement cs=null;

    try{

    cs=getDBTransaction().createCallableStatement("begin ? := ISLEM_CARPAN_BUL(?,?,?,?,?); end;",0);

     cs.registerOutParameter(1, Types.VARCHAR);

      cs.setString(6, cnnumber);
      cs.setString(5, cnbirimiki);
      cs.setString(4, cnbirimbir);
      cs.setString(3, armonizebirimiki);
      cs.setString(2, armonizebirimbir);

    cs.executeUpdate();

    return cs.getString(1);

    }catch(SQLException e){

    throw new JboException(e);
    
  }
  }
after this process you wil see this methods in datacontrols section.
drag method your page and use it.
sample using method binding.

BindingContainer bindings = getBindings();
    OperationBinding operationBinding =
      bindings.getOperationBinding("getDataGrupSeviye");
    operationBinding.getParamsMap().put("madde", madde);
    operationBinding.getParamsMap().put("ikili", ikili);
   operationBinding.execute()

Hiç yorum yok:

Yorum Gönder