/// <summary> /// Método para comprobar conexión con SAP. /// </summary> /// <returns>Retorna string con el nombre de la BD a la cual nos conectamos. Código y /// mensaje de error en caso contrario</returns> public void ConectarSAP() { dbSap = new DBSap(); string fecha = DateTime.Now.ToString(); string strPathLog = @"C:\Users\Exxispydesa2\Desktop\Log.txt"; TextWriter tw = new StreamWriter(strPathLog, true); if (dbSap.Conectar()) { oCompany = dbSap.oCompany; tw.WriteLine(String.Format("A las {0} nos conectamos a {1} ", fecha, oCompany.CompanyName)); } else { tw.WriteLine(String.Format("Sin conexión a las {0}. Ocurrio el siguiente error: {1} - {2}", fecha, dbSap.iError, dbSap.sError)); } tw.Close(); }
public void ProcesarPedidos() { dbOracleCab = new DBOracle(ServerOracle, UserOracle, PassOracle); dbSap = new DBSap(); SAPbobsCOM.Documents oDoc = null; SAPbobsCOM.Recordset oRecordset = null; int Respuesta = 0; string MsgErrSBO = ""; string identi = ""; string nro_comprobante = ""; string error_comprobante = ""; bool esPedido = true; bool creditoOK = true; bool stockOK = true; bool precioOK = true; string almacen = ""; int listaPrecio = 0; try { if (dbOracleCab.EjecutaSQL(ConsultasOracle.ValidarPedidoCompleto())) { while (dbOracleCab.oDataReader.Read()) { if (dbSap.oCompany == null) { dbSap.Conectar(); oCompany = dbSap.oCompany; } error_comprobante = dbOracleCab.oDataReader["tip_comprobante"].ToString() + "-" + dbOracleCab.oDataReader["ser_comprobante"].ToString() + "-" + dbOracleCab.oDataReader["nro_comprobante"].ToString(); nro_comprobante = dbOracleCab.oDataReader["nro_comprobante"].ToString(); dbOracleDet = new DBOracle(ServerOracle, UserOracle, PassOracle); dbOracleDet.EjecutaSQL(ConsultasOracle.GetPedidosDet(nro_comprobante)); oRecordset = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oRecordset.DoQuery(ConsultasSap.GetParametroValor("ListaPrecio")); if (oRecordset.RecordCount > 0) { listaPrecio = Convert.ToInt32(oRecordset.Fields.Item("ValParam").Value.ToString()); } if (!ValidarCreditoDisponible(ref almacen)) { esPedido = false; creditoOK = false; } if (!ValidarStockyPrecio(ref stockOK, ref precioOK, almacen, listaPrecio)) { esPedido = false; } CrearPedido(oDoc, nro_comprobante, Respuesta, MsgErrSBO, identi, esPedido, creditoOK, stockOK, precioOK, almacen, listaPrecio); esPedido = true; creditoOK = true; stockOK = true; precioOK = true; nro_comprobante = ""; } } } catch (Exception ex) { CrearRegistroLog(ex.HResult.ToString(), ex.Message.ToString(), nro_comprobante); WriteErrorLog("ProcesarPedidos:" + error_comprobante + " Mensaje:" + ex.Message.ToString()); } finally { dbSap.LiberarObjeto(oDoc); dbSap.LiberarObjeto(oRecordset); dbSap.LiberarObjeto(oCompany); } }