} // getParameter /************************************************************************** * Process SQL Procedures w/o parameter * @param Record_ID record * @return Process Instance */ public MPInstance ProcessIt(int Record_ID) { MPInstance pInstance = new MPInstance(this, Record_ID); // Lock pInstance.SetIsProcessing(true); //pInstance.save(); bool ok = true; // PL/SQL Procedure String ProcedureName = GetProcedureName(); // String Classname = getClassname(); if (ProcedureName != null && ProcedureName.Length > 0) { ok = StartProcess(ProcedureName, pInstance); } // else if (Classname != null && Classname.length() > 0) // ok = startClass(Classname, pi, trx); // Unlock pInstance.SetResult(ok ? MPInstance.RESULT_OK : MPInstance.RESULT_ERROR); pInstance.SetIsProcessing(false); //pInstance.save(); // //pInstance.log(); return(pInstance); } // process
//public bool IsJavaProcess() //{ // String Classname = GetClassname(); // return (Classname != null && Classname.Length > 0); //} private bool StartProcess(String ProcedureName, MPInstance pInstance) { int AD_PInstance_ID = pInstance.GetAD_PInstance_ID(); // execute on this thread/connection String sql = "{call " + ProcedureName + "(@instanceid)}"; try { SqlParameter[] param = new SqlParameter[1]; param[0] = new SqlParameter("@instanceid", AD_PInstance_ID); int i = DataBase.DB.ExecuteQuery(sql, param); } catch (Exception e) { log.Log(VAdvantage.Logging.Level.SEVERE, sql, e); pInstance.SetResult(MPInstance.RESULT_ERROR); pInstance.SetErrorMsg(e.Message); return(false); } pInstance.SetResult(MPInstance.RESULT_OK); return(true); }