public abstract OracleDataReader ExecuteDataReaderRefCur(string procname, ProcParam procParam, int indexRefCur);
 public abstract object ExecuteScalar(ProcParam procParam);
 public abstract OracleDataReader ExecuteDataReader(ProcParam procParam);
 public abstract int ExecuteNonQuery(ProcParam paramHdr, ProcParam paramDtl, int arrBindCount);
 public abstract int ExecuteNonQuery(ProcParam paramDtl1, int arrBindCount1, ProcParam paramDtl2, int arrBindCount2);
 //Improve Performance
 public abstract int ExecuteNonQuery(ProcParam procParam, int arrBindCount);
 //Just one to one!
 public abstract int ExecuteNonQuery(ProcParam paramHdr, int arrBindCountHdr, ProcParam paramDtl, int arrBindCountDtl, int keyHeader, int keyDetail);
 public abstract int ExecuteNonQuery(ProcParam procParam, List <ProcParam> procList, int keyHeader, int keyDetail);
 public abstract int ExecuteNonQuery(ProcParam procParam, List <ProcParam> procList);
 public abstract int ExecuteNonQuery(ProcParam procParam);
 public abstract DataTable GetDataTable(ProcParam procParam, string tableName, long fetchsize);
 public abstract DataTable GetDataTable(ProcParam procParam, string tableName);
 public abstract DataTable GetDataTable(ProcParam procParam, long fetchsize);
 public abstract DataTable GetDataTable(ProcParam procParam);