public void precierrecaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_USUARIO , string P_PAIS, string P_ID_APERTURA, string P_ID_CIERRE, string P_SOCIEDAD, string P_ID_REPORT, string P_DATUMDESDE, string P_DATUMHASTA) { try { RETORNO retorno; CAB_ARQUEO cabarqueo; RESUMEN_VP resumenvp; DET_ARQUEO detarqueo; DETALLE_REND detallerend; T_Retorno.Clear(); det_arqueo.Clear(); detalle_rend.Clear(); cab_arqueo.Clear(); resumen_viapago.Clear(); errormessage = ""; message = ""; diferencia = ""; id_arqueo = ""; MontoIngresos = 0; MontoEfect = 0; MontoChqDia = 0; MontoChqFech = 0; MontoTransf = 0; MontoValeV = 0; MontoDepot = 0; MontoTarj = 0; MontoFinanc = 0; MontoApp = 0; MontoCredit = 0; MontoEgresos = 0; MontoFondosFijos = 0; SaldoTotal = 0; id_arqueo = ""; idcajaout = ""; cajerorespout = ""; sucursal = ""; nomcaja = ""; sociedadout = ""; landout = ""; IRfcStructure ls_RETORNO; IRfcTable lt_DETALLE_REND; IRfcTable lt_RESUMEN_VP; IRfcTable lt_CAB_ARQUEO; IRfcTable lt_DET_ARQUEO; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_REP_CAJA"); BapiGetUser.SetValue("LAND", P_PAIS); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE); BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); //BapiGetUser.SetValue("IND_ARQUEO", P_IND_ARQUEO); BapiGetUser.SetValue("ID_REPORT", P_ID_REPORT); BapiGetUser.SetValue("DATE_ARQ_FROM", Convert.ToDateTime(P_DATUMDESDE)); BapiGetUser.SetValue("DATE_ARQ_TO", Convert.ToDateTime(P_DATUMHASTA)); BapiGetUser.Invoke(SapRfcDestination); idcajaout = BapiGetUser.GetString("ID_CAJA_OUT"); cajerorespout = BapiGetUser.GetString("CAJERO_RESP_OUT"); sucursal = BapiGetUser.GetString("SUCURSAL"); nomcaja = BapiGetUser.GetString("NOM_CAJA"); sociedadout = BapiGetUser.GetString("SOCIEDAD_OUT"); landout = BapiGetUser.GetString("LAND_OUT"); lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND"); try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DETALLE_REND.CurrentIndex = i; detallerend = new DETALLE_REND(); detallerend.N_VENTA = lt_DETALLE_REND.GetString("N_VENTA"); detallerend.FEC_EMI = lt_DETALLE_REND.GetString("FEC_EMI"); detallerend.FEC_VENC = lt_DETALLE_REND.GetString("FEC_VENC"); detallerend.MONTO = lt_DETALLE_REND.GetString("MONTO"); detallerend.NAME1 = lt_DETALLE_REND.GetString("NAME1"); detallerend.MONTO_EFEC = lt_DETALLE_REND.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_EFEC")); detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE"); detallerend.MONTO_DIA = lt_DETALLE_REND.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DIA")); detallerend.MONTO_FECHA = lt_DETALLE_REND.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FECHA")); detallerend.MONTO_TRANSF = lt_DETALLE_REND.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TRANSF")); detallerend.MONTO_VALE_V = lt_DETALLE_REND.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_VALE_V")); detallerend.MONTO_DEP = lt_DETALLE_REND.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DEP")); detallerend.MONTO_TARJ = lt_DETALLE_REND.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TARJ")); detallerend.MONTO_FINANC = lt_DETALLE_REND.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FINANC")); detallerend.MONTO_APP = lt_DETALLE_REND.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_APP")); detallerend.MONTO_CREDITO = lt_DETALLE_REND.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_CREDITO")); detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE"); detallerend.MONTO_C_CURSE = lt_DETALLE_REND.GetString("MONTO_C_CURSE"); MontoCCurse = MontoCCurse + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_C_CURSE")); detallerend.DOC_SAP = lt_DETALLE_REND.GetString("DOC_SAP"); detalle_rend.Add(detallerend); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } MontoIngresos = MontoIngresos + MontoEfect + MontoChqDia + MontoChqFech + MontoTransf + MontoValeV + MontoDepot + MontoTarj + MontoFinanc + MontoApp + MontoCredit + MontoCCurse; SaldoTotal = MontoIngresos - MontoEgresos; lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); try { for (int i = 0; i < lt_RESUMEN_VP.Count(); i++) { lt_RESUMEN_VP.CurrentIndex = i; resumenvp = new RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); resumenvp.TEXT1 = lt_RESUMEN_VP.GetString("TEXT1"); resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA"); resumenvp.MONTO = lt_RESUMEN_VP.GetString("MONTO"); resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS"); resumen_viapago.Add(resumenvp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_CAB_ARQUEO = BapiGetUser.GetTable("CAB_ARQUEO"); try { for (int i = 0; i < lt_CAB_ARQUEO.Count(); i++) { lt_CAB_ARQUEO.CurrentIndex = i; cabarqueo = new CAB_ARQUEO(); cabarqueo.MANDT = lt_CAB_ARQUEO.GetString("MANDT"); cabarqueo.LAND = lt_CAB_ARQUEO.GetString("LAND"); cabarqueo.ID_ARQUEO = lt_CAB_ARQUEO.GetString("ID_ARQUEO"); cabarqueo.ID_REGISTRO = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); cabarqueo.ID_CAJA = lt_CAB_ARQUEO.GetString("CANTIDAD"); cabarqueo.MONTO_CIERRE = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); cabarqueo.MONTO_DIF = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); cabarqueo.COMENTARIO_DIF = lt_CAB_ARQUEO.GetString("CANTIDAD"); cabarqueo.NULO = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); cab_arqueo.Add(cabarqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DET_ARQUEO = BapiGetUser.GetTable("DET_ARQUEO"); try { for (int i = 0; i < lt_DET_ARQUEO.Count(); i++) { lt_DET_ARQUEO.CurrentIndex = i; detarqueo = new DET_ARQUEO(); detarqueo.MANDT = lt_DET_ARQUEO.GetString("MANDT"); detarqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); detarqueo.ID_ARQUEO = lt_DET_ARQUEO.GetString("ID_ARQUEO"); detarqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION"); detarqueo.CANTIDAD = lt_DET_ARQUEO.GetString("CANTIDAD"); detarqueo.MONTO_TOTAL = lt_DET_ARQUEO.GetString("MONTO_TOTAL"); det_arqueo.Add(detarqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } //lt_INFO_SOC = BapiGetUser.GetTable("INFO_SOC"); //try { // for (int i = 0; i < lt_INFO_SOC.Count(); i++) // { // lt_INFO_SOC.CurrentIndex = i; // infosociedad = new INFO_SOC2(); // infosociedad.BUKRS = lt_INFO_SOC.GetString("BUKRS"); // infosociedad.BUTXT = lt_INFO_SOC.GetString("BUTXT"); // infosociedad.STCD1 = lt_INFO_SOC.GetString("STCD1"); // info_soc(infosociedad); // } //} //catch(Exception ex) //{ // Console.WriteLine(ex.Message, ex.StackTrace); // MessageBox.Show(ex.Message + ex.StackTrace); //} ls_RETORNO = BapiGetUser.GetStructure("RETORNO"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { //ls_RETORNO.CurrentIndex = i; retorno = new RETORNO(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + " - " + ls_RETORNO.GetString("MESSAGE"); } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE"); } retorno.TYPE = ls_RETORNO.GetString("TYPE"); retorno.ID = ls_RETORNO.GetString("ID"); retorno.NUMBER = ls_RETORNO.GetString("NUMBER"); retorno.MESSAGE = ls_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = ls_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3"); if (ls_RETORNO.GetString("MESSAGE_V4") != "") { // comprobante = ls_RETORNO.GetString("MESSAGE_V4"); } retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4"); retorno.PARAMETER = ls_RETORNO.GetString("PARAMETER"); retorno.ROW = ls_RETORNO.GetString("ROW"); retorno.FIELD = ls_RETORNO.GetString("FIELD"); retorno.SYSTEM = ls_RETORNO.GetString("SYSTEM"); T_Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }
public void depositoproceso(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE , string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_USUARIO, string P_PAIS, string P_ID_APERTURA , string P_ID_CIERRE, string P_ID_ARQUEO, string P_FECHADEPOS, string P_NUMDEPOS, List <VIAS_PAGOGD> P_VIASPAGO, string P_DATOSBANCO, string P_HKONT) { try { CajaIndu.AppPersistencia.Class.DepositoProceso.Estructura.RETORNO retorno; VIAS_PAGOGD vpgestion; //DETALLE_REND detallerend; vpgestiondepositos.Clear(); Retorno.Clear(); errormessage = ""; message = ""; IdCaja = ""; Efectivo = "0"; IRfcTable lt_RETORNO; IRfcTable lt_VPGESTIONBANCOS; connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_PROC_DEPOSITOS"); BapiGetUser.SetValue("LAND", P_PAIS); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE); BapiGetUser.SetValue("ID_ARQUEO", P_ID_ARQUEO); IRfcTable GralDat2 = BapiGetUser.GetTable("VIAS_PAGO_IN"); try { for (var i = 0; i < P_VIASPAGO.Count; i++) { GralDat2.Append(); GralDat2.SetValue("SELECCION", "X"); GralDat2.SetValue("ID_CAJA", P_VIASPAGO[i].ID_CAJA); GralDat2.SetValue("ID_CIERRE", P_ID_CIERRE); GralDat2.SetValue("TEXT_VIA_PAGO", P_VIASPAGO[i].TEXT_VIA_PAGO); GralDat2.SetValue("FECHA_EMISION", P_VIASPAGO[i].FECHA_EMISION); GralDat2.SetValue("NUM_DOC", P_VIASPAGO[i].NUM_DOC); GralDat2.SetValue("TEXT_BANCO", P_VIASPAGO[i].TEXT_BANCO); GralDat2.SetValue("MONTO_DOC", P_VIASPAGO[i].MONTO_DOC); GralDat2.SetValue("ZUONR", P_VIASPAGO[i].ZUONR); GralDat2.SetValue("FECHA_VENC", P_VIASPAGO[i].FECHA_VENC); GralDat2.SetValue("MONEDA", P_VIASPAGO[i].MONEDA); GralDat2.SetValue("ID_BANCO", P_VIASPAGO[i].ID_BANCO); GralDat2.SetValue("VIA_PAGO", P_VIASPAGO[i].VIA_PAGO); GralDat2.SetValue("NUM_DEPOSITO", P_NUMDEPOS); GralDat2.SetValue("USUARIO", P_VIASPAGO[i].USUARIO); GralDat2.SetValue("ID_DEPOSITO", P_VIASPAGO[i].ID_DEPOSITO); GralDat2.SetValue("FEC_DEPOSITO", Convert.ToDateTime(P_FECHADEPOS)); //gdepot.BancoDest[i].BANKN + "-" + gdepot.BancoDest[i].BANKL + "-" + gdepot.BancoDest[i].BANKA int Posicion = 0; int PosicionFinal = 0; Posicion = P_DATOSBANCO.IndexOf("-"); string CodCuenta = P_DATOSBANCO.Substring(0, Posicion); PosicionFinal = P_DATOSBANCO.LastIndexOf("-"); string CodBanco = P_DATOSBANCO.Substring(Posicion + 1, (PosicionFinal) - (Posicion + 1)); //GralDat2.SetValue("BANCO", P_VIASPAGO[i].BANCO); GralDat2.SetValue("BANCO", CodBanco); GralDat2.SetValue("CTA_BANCO", CodCuenta); GralDat2.SetValue("BELNR_DEP", P_VIASPAGO[i].BELNR_DEP); GralDat2.SetValue("BELNR", P_VIASPAGO[i].BELNR); GralDat2.SetValue("SOCIEDAD", P_VIASPAGO[i].SOCIEDAD); GralDat2.SetValue("HKONT", P_HKONT); GralDat2.SetValue("ID_COMPROBANTE", P_VIASPAGO[i].ID_COMPROBANTE); GralDat2.SetValue("ID_DETALLE", P_VIASPAGO[i].ID_DETALLE); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); //System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.SetValue("VIAS_PAGO_IN", GralDat2); BapiGetUser.Invoke(SapRfcDestination); Deposito = BapiGetUser.GetString("ID_DEPOSITO"); //BapiGetUser.SetValue("I_VBELN",P_NUMDOCSD); //IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO"); lt_VPGESTIONBANCOS = BapiGetUser.GetTable("VIAS_PAGO_IN"); if (lt_VPGESTIONBANCOS.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_VPGESTIONBANCOS.RowCount; i++) { try { lt_VPGESTIONBANCOS.CurrentIndex = i; vpgestion = new VIAS_PAGOGD(); vpgestion.SELECCION = lt_VPGESTIONBANCOS[i].GetString("SELECCION"); vpgestion.ID_CAJA = lt_VPGESTIONBANCOS[i].GetString("ID_CAJA"); vpgestion.ID_APERTURA = lt_VPGESTIONBANCOS[i].GetString("ID_APERTURA"); vpgestion.ID_CIERRE = lt_VPGESTIONBANCOS[i].GetString("ID_CIERRE"); vpgestion.TEXT_VIA_PAGO = lt_VPGESTIONBANCOS[i].GetString("TEXT_VIA_PAGO"); vpgestion.FECHA_EMISION = lt_VPGESTIONBANCOS[i].GetString("FECHA_EMISION"); vpgestion.NUM_DOC = lt_VPGESTIONBANCOS[i].GetString("NUM_DOC"); vpgestion.TEXT_BANCO = lt_VPGESTIONBANCOS[i].GetString("TEXT_BANCO"); vpgestion.MONTO_DOC = lt_VPGESTIONBANCOS[i].GetString("MONTO_DOC"); vpgestion.ZUONR = lt_VPGESTIONBANCOS[i].GetString("ZUONR"); vpgestion.FECHA_VENC = lt_VPGESTIONBANCOS[i].GetString("FECHA_VENC"); vpgestion.MONEDA = lt_VPGESTIONBANCOS[i].GetString("MONEDA"); vpgestion.ID_BANCO = lt_VPGESTIONBANCOS[i].GetString("ID_BANCO"); vpgestion.VIA_PAGO = lt_VPGESTIONBANCOS[i].GetString("VIA_PAGO"); vpgestion.SOCIEDAD = lt_VPGESTIONBANCOS[i].GetString("SOCIEDAD"); vpgestion.NUM_DEPOSITO = lt_VPGESTIONBANCOS[i].GetString("NUM_DEPOSITO"); vpgestion.USUARIO = lt_VPGESTIONBANCOS[i].GetString("USUARIO"); vpgestion.ID_DEPOSITO = lt_VPGESTIONBANCOS[i].GetString("ID_DEPOSITO"); vpgestion.FEC_DEPOSITO = lt_VPGESTIONBANCOS[i].GetString("FEC_DEPOSITO"); vpgestion.BANCO = lt_VPGESTIONBANCOS[i].GetString("BANCO"); vpgestion.CTA_BANCO = lt_VPGESTIONBANCOS[i].GetString("CTA_BANCO"); vpgestion.BELNR_DEP = lt_VPGESTIONBANCOS[i].GetString("BELNR_DEP"); vpgestion.BELNR = lt_VPGESTIONBANCOS[i].GetString("BELNR"); vpgestion.SOCIEDAD = lt_VPGESTIONBANCOS[i].GetString("SOCIEDAD"); vpgestion.ID_COMPROBANTE = lt_VPGESTIONBANCOS[i].GetString("ID_COMPROBANTE"); vpgestion.ID_DETALLE = lt_VPGESTIONBANCOS[i].GetString("ID_DETALLE"); vpgestiondepositos.Add(vpgestion); } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } } else { System.Windows.Forms.MessageBox.Show("No existe(n) registro(s)"); } lt_RETORNO = BapiGetUser.GetTable("RETORNO"); try { for (int i = 0; i < lt_RETORNO.Count(); i++) { lt_RETORNO.CurrentIndex = i; retorno = new CajaIndu.AppPersistencia.Class.DepositoProceso.Estructura.RETORNO(); if (lt_RETORNO.GetString("TYPE") == "S") { message = message + " - " + lt_RETORNO.GetString("MESSAGE") + "-" + lt_RETORNO.GetString("MESSAGE_V1").Trim(); NumComprob = lt_RETORNO.GetString("MESSAGE_V4").Trim();; } if (lt_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + lt_RETORNO.GetString("MESSAGE"); } retorno.TYPE = lt_RETORNO.GetString("TYPE"); retorno.CODE = lt_RETORNO.GetString("CODE"); // retorno.NUMBER = lt_RETORNO.GetString("NUMBER"); retorno.MESSAGE = lt_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = lt_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = lt_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = lt_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = lt_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = lt_RETORNO.GetString("MESSAGE_V3"); if (lt_RETORNO.GetString("MESSAGE_V1") != "") { comprobante = comprobante + "-" + lt_RETORNO.GetString("MESSAGE_V1"); } retorno.MESSAGE_V4 = lt_RETORNO.GetString("MESSAGE_V4"); // retorno.PARAMETER = lt_RETORNO.GetString("PARAMETER"); // retorno.ROW = lt_RETORNO.GetString("ROW"); // retorno.FIELD = lt_RETORNO.GetString("FIELD"); // retorno.SYSTEM = lt_RETORNO.GetString("SYSTEM"); Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }
public static void StfcConnection(RfcServerContext context, IRfcFunction function) { Console.WriteLine("Received function call{0} from system{1}.", function.Metadata.Name, context.SystemAttributes.SystemID); String reqtext = function.GetString("REQUTEXT"); Console.WriteLine("REQUTEXT = {0}\n", reqtext); function.SetValue("ECHOTEXT", reqtext); function.SetValue("RESPTEXT", "Hello from NCo 3.0!"); }
public void anticiposopen(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA , string P_DOCUMENTO, string P_RUT, string P_SOCIEDAD, string P_LAND, string TipoBusqueda) { ObjDatosAnticipos.Clear(); Retorno.Clear(); protesto = ""; errormessage = ""; IRfcTable lt_t_documentos; IRfcStructure lt_retorno; // PART_ABIERTAS PART_ABIERTAS_resp; T_DOCUMENTOS ANTICIPOS_resp; ESTADO retorno_resp; //Conexion a SAP //connectorSap.idioma = "ES"; //connectorSap.idSistema = "INS"; //connectorSap.instancia = "00"; //connectorSap.mandante = "400"; //connectorSap.paswr = P_PASSWORD; //connectorSap.sapRouter = "/H/64.76.139.78/H/"; //connectorSap.user = P_UNAME; //connectorSap.server = "10.9.100.4"; //frm.txtIdSistema.Text = txtIdSistema.Text; //frm.txtInstancia.Text = txtInstancia.Text; //frm.txtMandante.Text = txtMandante.Text; //frm.txtSapRouter.Text = txtSapRouter.Text; //frm.txtServer.Text = txtServer.Text; //frm.txtIdioma.Text = txtIdioma.Text; connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_GET_ANT"); BapiGetUser.SetValue("DOCUMENTO", P_DOCUMENTO); BapiGetUser.SetValue("LAND", P_LAND); BapiGetUser.SetValue("RUT", P_RUT); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); //BapiGetUser.SetValue("PROT", P_PROTESTO); BapiGetUser.Invoke(SapRfcDestination); protesto = BapiGetUser.GetString("PE_PROTESTADO"); lt_t_documentos = BapiGetUser.GetTable("T_DOCUMENTOS"); lt_retorno = BapiGetUser.GetStructure("SE_ESTATUS"); //lt_PART_ABIERTAS = BapiGetUser.GetTable("ZCLSP_TT_LISTA_DOCUMENTOS"); try { if (lt_t_documentos.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_t_documentos.RowCount; i++) { try { lt_t_documentos.CurrentIndex = i; ANTICIPOS_resp = new T_DOCUMENTOS(); ANTICIPOS_resp.NDOCTO = lt_t_documentos[i].GetString("NDOCTO"); string Monto = ""; int indice = 0; //******* if (lt_t_documentos[i].GetString("MONEDA") == "CLP") { string Valor = lt_t_documentos[i].GetString("MONTOF").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); ANTICIPOS_resp.MONTOF = Cualquiernombre; } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF")); decimal ValorAux = Convert.ToDecimal(moneda); ANTICIPOS_resp.MONTOF = string.Format("{0:0,0.##}", ValorAux); } //if (lt_t_documentos[i].GetString("MONTOF") == "") //{ // indice = lt_t_documentos[i].GetString("MONTO").IndexOf(','); // Monto = lt_t_documentos[i].GetString("MONTO").Substring(0, indice - 1); // ANTICIPOS_resp.MONTOF = Monto; //} //else //{ // ANTICIPOS_resp.MONTOF = lt_t_documentos[i].GetString("MONTOF"); //} if (lt_t_documentos[i].GetString("MONEDA") == "CLP") { string Valor = lt_t_documentos[i].GetString("MONTO").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); ANTICIPOS_resp.MONTO = Cualquiernombre; } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTO")); decimal ValorAux = Convert.ToDecimal(moneda); ANTICIPOS_resp.MONTO = string.Format("{0:0,0.##}", ValorAux); } //if (lt_t_documentos[i].GetString("MONTO") == "") //{ // indice = lt_t_documentos[i].GetString("MONTO").IndexOf(','); // Monto = lt_t_documentos[i].GetString("MONTO").Substring(0, indice - 1); // ANTICIPOS_resp.MONTO = Monto; //} //else //{ // ANTICIPOS_resp.MONTO = lt_t_documentos[i].GetString("MONTO"); //} ANTICIPOS_resp.MONEDA = lt_t_documentos[i].GetString("MONEDA"); ANTICIPOS_resp.FECVENCI = lt_t_documentos[i].GetString("FECVENCI"); ANTICIPOS_resp.CONTROL_CREDITO = lt_t_documentos[i].GetString("CONTROL_CREDITO"); ANTICIPOS_resp.CEBE = lt_t_documentos[i].GetString("CEBE"); ANTICIPOS_resp.COND_PAGO = lt_t_documentos[i].GetString("COND_PAGO"); ANTICIPOS_resp.RUTCLI = lt_t_documentos[i].GetString("RUTCLI"); ANTICIPOS_resp.NOMCLI = lt_t_documentos[i].GetString("NOMCLI"); ANTICIPOS_resp.ESTADO = lt_t_documentos[i].GetString("ESTADO"); ANTICIPOS_resp.ICONO = lt_t_documentos[i].GetString("ICONO"); ANTICIPOS_resp.DIAS_ATRASO = lt_t_documentos[i].GetString("DIAS_ATRASO"); //if (lt_t_documentos[i].GetString("MONTOF_ABON") == "") //{ // indice = lt_t_documentos[i].GetString("MONTO_ABONADO").IndexOf(','); // Monto = lt_t_documentos[i].GetString("MONTO_ABONADO").Substring(0, indice - 1); // ANTICIPOS_resp.MONTOF = Monto; //} //else //{ // ANTICIPOS_resp.MONTOF_ABON = lt_t_documentos[i].GetString("MONTOF_ABON"); //} if (lt_t_documentos[i].GetString("MONEDA") == "CLP") { string Valor = lt_t_documentos[i].GetString("MONTOF_ABON").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); ANTICIPOS_resp.MONTOF_ABON = Cualquiernombre; } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF_ABON")); decimal ValorAux = Convert.ToDecimal(moneda); ANTICIPOS_resp.MONTOF_ABON = string.Format("{0:0,0.##}", ValorAux); } //if (lt_t_documentos[i].GetString("MONTOF_PAGAR") == "") //{ // indice = lt_t_documentos[i].GetString("MONTO_PAGAR").IndexOf(','); // Monto = lt_t_documentos[i].GetString("MONTO_PAGAR").Substring(0, indice - 1); // ANTICIPOS_resp.MONTOF = Monto; //} //else //{ // ANTICIPOS_resp.MONTOF_PAGAR = lt_t_documentos[i].GetString("MONTOF_PAGAR"); //} if (lt_t_documentos[i].GetString("MONEDA") == "CLP") { string Valor = lt_t_documentos[i].GetString("MONTOF_PAGAR").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); ANTICIPOS_resp.MONTOF_PAGAR = Cualquiernombre; } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF_PAGAR")); decimal ValorAux = Convert.ToDecimal(moneda); ANTICIPOS_resp.MONTOF_PAGAR = string.Format("{0:0,0.##}", ValorAux); } ANTICIPOS_resp.NREF = lt_t_documentos[i].GetString("NREF"); ANTICIPOS_resp.FECHA_DOC = lt_t_documentos[i].GetString("FECHA_DOC"); ANTICIPOS_resp.COD_CLIENTE = lt_t_documentos[i].GetString("COD_CLIENTE"); ANTICIPOS_resp.SOCIEDAD = lt_t_documentos[i].GetString("SOCIEDAD"); ANTICIPOS_resp.CLASE_DOC = lt_t_documentos[i].GetString("CLASE_DOC"); ANTICIPOS_resp.CLASE_CUENTA = lt_t_documentos[i].GetString("CLASE_CUENTA"); ANTICIPOS_resp.CME = lt_t_documentos[i].GetString("CME"); ANTICIPOS_resp.ACC = lt_t_documentos[i].GetString("ACC"); ObjDatosAnticipos.Add(ANTICIPOS_resp); } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } } else { MessageBox.Show("No existe(n) registro(s)"); } String Mensaje = ""; if (lt_retorno.Count > 0) { retorno_resp = new ESTADO(); for (int i = 0; i < lt_retorno.Count(); i++) { // lt_retorno.CurrentIndex = i; retorno_resp.TYPE = lt_retorno.GetString("TYPE"); retorno_resp.ID = lt_retorno.GetString("ID"); retorno_resp.NUMBER = lt_retorno.GetString("NUMBER"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.LOG_NO = lt_retorno.GetString("LOG_NO"); retorno_resp.LOG_MSG_NO = lt_retorno.GetString("LOG_MSG_NO"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.MESSAGE_V1 = lt_retorno.GetString("MESSAGE_V1"); if (lt_retorno.GetString("TYPE") == "S") { Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V1"); } retorno_resp.MESSAGE_V2 = lt_retorno.GetString("MESSAGE_V2"); retorno_resp.MESSAGE_V3 = lt_retorno.GetString("MESSAGE_V3"); retorno_resp.MESSAGE_V4 = lt_retorno.GetString("MESSAGE_V4"); retorno_resp.PARAMETER = lt_retorno.GetString("PARAMETER"); retorno_resp.ROW = lt_retorno.GetString("ROW"); retorno_resp.FIELD = lt_retorno.GetString("FIELD"); retorno_resp.SYSTEM = lt_retorno.GetString("SYSTEM"); Retorno.Add(retorno_resp); } //System.Windows.MessageBox.Show(Mensaje); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; } GC.Collect(); }
public static void GenericHandler(RfcServerContext serverContext, IRfcFunction rfcFunction) { MethodBase method = MethodInfo.GetCurrentMethod(); Console.WriteLine(); Console.WriteLine("Method {2}.{0} processing RFC call {1}", method.Name, rfcFunction.Metadata.Name, method.DeclaringType.ToString()); Console.WriteLine("System Attributes:"); Console.WriteLine(AttributesToString(serverContext.SystemAttributes)); for (int i = 0; i < rfcFunction.Metadata.ParameterCount; ++i) { if (0 != (rfcFunction.Metadata[i].Direction & RfcDirection.IMPORT)) // || rfcFunction.Metadata[i].Direction == RfcDirection.CHANGING) { { switch (rfcFunction.Metadata[i].DataType) { case RfcDataType.STRUCTURE: Console.WriteLine("Received structure of name {0} and type {1}", rfcFunction.Metadata[i].Name, rfcFunction.Metadata[i].ValueMetadataAsStructureMetadata.Name); // We could additionally loop through the fields of structures and tables here, but this shall suffice for our simple example. break; case RfcDataType.TABLE: Console.WriteLine("Received table of name {0} and type {1}", rfcFunction.Metadata[i].Name, rfcFunction.Metadata[i].ValueMetadataAsTableMetadata.Name); break; default: Console.WriteLine("{0} = {1}", rfcFunction.Metadata[i].Name, rfcFunction.GetString(i)); break; } } } }
public static void ZRFCFUNCTION01(RfcServerContext context, IRfcFunction function) { //Console.WriteLine("Received function call{0} from system{1}.", // function.Metadata.Name, // context.SystemAttributes.SystemID); String reqtext = function.GetString("ZNAME"); Console.WriteLine("ZNAME = {0}\n", reqtext); }
public void usuarioscaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER , string P_SERVER, string P_IDIOMA, string P_TEMPORAL, string P_MONTO, List <USR_CAJA> P_USUARIOS, string P_EQUIPO) { ObjDatosUser.Clear(); LogApert.Clear(); Retorno.Clear(); errormessage = ""; Mensaje = ""; Sociedad = ""; status = ""; cajeroresp = ""; IRfcStructure lt_USER; IRfcStructure lt_retorno; IRfcStructure ls_logapert; USR_CAJA USER_resp; ESTADO retorno_resp; LOG_APERTURA log_apert_resp; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_ACCESO_CAJA"); IRfcStructure GralDat = BapiGetUser.GetStructure("USR_CAJA"); for (var i = 0; i < P_USUARIOS.Count; i++) { //GralDat.Append(); GralDat.SetValue("LAND", P_USUARIOS[i].LAND); GralDat.SetValue("ID_CAJA", P_USUARIOS[i].ID_CAJA); GralDat.SetValue("USUARIO", P_USUARIOS[i].USUARIO); GralDat.SetValue("SOCIEDAD", P_USUARIOS[i].SOCIEDAD); GralDat.SetValue("NOM_CAJA", P_USUARIOS[i].NOM_CAJA); GralDat.SetValue("TIPO_USUARIO", P_USUARIOS[i].TIPO_USUARIO); GralDat.SetValue("USUARIO", P_USUARIOS[i].USUARIO); GralDat.SetValue("WAERS", P_USUARIOS[i].WAERS); } BapiGetUser.SetValue("USR_CAJA", GralDat); BapiGetUser.SetValue("TEMPORAL", P_TEMPORAL); BapiGetUser.SetValue("MONTO", P_MONTO); BapiGetUser.SetValue("EQUIPO", P_EQUIPO); // IRfcStructure GralDat = BapiGetUser.GetStructure("CONDICIONES"); // BapiGetUser.SetValue("T_GET_DOC", GralDat); BapiGetUser.Invoke(SapRfcDestination); cajeroresp = BapiGetUser.GetString("CAJERO_RESPONSABLE"); lt_retorno = BapiGetUser.GetStructure("ESTATUS"); ls_logapert = BapiGetUser.GetStructure("LOG_APERTURA"); lt_USER = BapiGetUser.GetStructure("USR_CAJA"); if (lt_retorno.Count > 0) { retorno_resp = new ESTADO(); for (int i = 0; i < lt_retorno.Count(); i++) { if (i == 0) { status = lt_retorno.GetString("TYPE"); } retorno_resp.TYPE = lt_retorno.GetString("TYPE"); retorno_resp.ID = lt_retorno.GetString("ID"); retorno_resp.NUMBER = lt_retorno.GetString("NUMBER"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.LOG_NO = lt_retorno.GetString("LOG_NO"); retorno_resp.LOG_MSG_NO = lt_retorno.GetString("LOG_MSG_NO"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.MESSAGE_V1 = lt_retorno.GetString("MESSAGE_V1"); if (i == 0) { Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " " + lt_retorno.GetString("MESSAGE_V1"); id_apertura = lt_retorno.GetString("MESSAGE_V1"); } retorno_resp.MESSAGE_V2 = lt_retorno.GetString("MESSAGE_V2"); retorno_resp.MESSAGE_V3 = lt_retorno.GetString("MESSAGE_V3"); retorno_resp.MESSAGE_V4 = lt_retorno.GetString("MESSAGE_V4"); retorno_resp.PARAMETER = lt_retorno.GetString("PARAMETER"); retorno_resp.ROW = lt_retorno.GetString("ROW"); retorno_resp.FIELD = lt_retorno.GetString("FIELD"); retorno_resp.SYSTEM = lt_retorno.GetString("SYSTEM"); Retorno.Add(retorno_resp); } System.Windows.MessageBox.Show(Mensaje); } //lt_PART_ABIERTAS = BapiGetUser.GetTable("ZCLSP_TT_LISTA_DOCUMENTOS"); if (lt_USER.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_USER.Count(); i++) { USER_resp = new USR_CAJA(); USER_resp.LAND = lt_USER.GetString("LAND"); Sociedad = lt_USER.GetString("SOCIEDAD"); USER_resp.SOCIEDAD = lt_USER.GetString("SOCIEDAD"); USER_resp.USUARIO = lt_USER.GetString("USUARIO"); USER_resp.ID_CAJA = lt_USER.GetString("ID_CAJA"); USER_resp.NOM_CAJA = lt_USER.GetString("NOM_CAJA"); USER_resp.TIPO_USUARIO = lt_USER.GetString("TIPO_USUARIO"); USER_resp.WAERS = lt_USER.GetString("WAERS"); ObjDatosUser.Add(USER_resp); //ViasPagoTransaccion.Add(VIAS_PAGOS_resp.); } } if (ls_logapert.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < ls_logapert.Count(); i++) { log_apert_resp = new LOG_APERTURA(); log_apert_resp.MANDT = ls_logapert.GetString("MANDT"); log_apert_resp.ID_REGISTRO = ls_logapert.GetString("ID_REGISTRO"); log_apert_resp.LAND = ls_logapert.GetString("LAND"); log_apert_resp.ID_CAJA = ls_logapert.GetString("ID_CAJA"); log_apert_resp.USUARIO = ls_logapert.GetString("USUARIO"); if (ls_logapert.GetString("FECHA") != "0000-00-00") { log_apert_resp.FECHA = Convert.ToDateTime(ls_logapert.GetString("FECHA")); } if (ls_logapert.GetString("HORA") != "00:00:00") { log_apert_resp.HORA = Convert.ToDateTime(ls_logapert.GetString("HORA")); } log_apert_resp.MONTO = ls_logapert.GetString("MONTO"); log_apert_resp.MONEDA = ls_logapert.GetString("MONEDA"); log_apert_resp.TIPO_REGISTRO = ls_logapert.GetString("TIPO_REGISTRO"); log_apert_resp.ID_APERTURA = id_apertura; log_apert_resp.TXT_CIERRE = ls_logapert.GetString("TXT_CIERRE"); log_apert_resp.BLOQUEO = ls_logapert.GetString("BLOQUEO"); log_apert_resp.USUARIO_BLOQ = ls_logapert.GetString("USUARIO_BLOQ"); if (i == 0) { LogApert.Add(log_apert_resp); } } } GC.Collect(); } else { errormessage = retval; } }
public void checkdocsanulacion(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE , string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_USUARIO, string P_ID_CAJA, string P_LAND, string P_RUT , string P_ID_COMPROBANTE, string P_SOCIEDAD, string P_TP_DOC, List <CAB_COMP> P_CAB_COM) { CabeceraDocs.Clear(); Retorno.Clear(); IRfcTable lt_h_documentos; //IRfcTable lt_d_documentos; IRfcStructure lt_retorno; // PART_ABIERTAS PART_ABIERTAS_resp; CAB_COMP DOCS_CABECERA_resp; //DET_COMP DOCS_DETALLES_resp; RETORNO retorno_resp; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_CHECK_JEFE_CAJA"); //BapiGetUser.SetValue("ID_COMPROBANTE", P_ID_COMPROBANTE); //BapiGetUser.SetValue("RUT", P_RUT); //BapiGetUser.SetValue("LAND", P_LAND); //BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); //BapiGetUser.SetValue("TP_DOC", P_TP_DOC); IRfcTable GralDat = BapiGetUser.GetTable("CAB_COMP"); try { for (var i = 0; i < P_CAB_COM.Count; i++) { GralDat.Append(); GralDat.SetValue("LAND", P_CAB_COM[i].LAND); GralDat.SetValue("ID_CAJA", P_CAB_COM[i].ID_CAJA); GralDat.SetValue("ID_COMPROBANTE", P_CAB_COM[i].ID_COMPROBANTE); GralDat.SetValue("TIPO_DOCUMENTO", P_CAB_COM[i].TIPO_DOCUMENTO); GralDat.SetValue("DESCRIPCION", P_CAB_COM[i].DESCRIPCION); GralDat.SetValue("NRO_REFERENCIA", P_CAB_COM[i].NRO_REFERENCIA); GralDat.SetValue("FECHA_COMP", P_CAB_COM[i].FECHA_COMP); GralDat.SetValue("FECHA_VENC_DOC", P_CAB_COM[i].FECHA_VENC_DOC); GralDat.SetValue("MONTO_DOC", P_CAB_COM[i].MONTO_DOC); GralDat.SetValue("TEXTO_EXCEPCION", P_CAB_COM[i].TEXTO_EXCEPCION); GralDat.SetValue("CLIENTE", Convert.ToDateTime(P_CAB_COM[i].CLIENTE)); GralDat.SetValue("MONEDA", P_CAB_COM[i].MONEDA); GralDat.SetValue("CLASE_DOC", P_CAB_COM[i].CLASE_DOC); GralDat.SetValue("TXT_CLASE_DOC", P_CAB_COM[i].TXT_CLASE_DOC); GralDat.SetValue("NUM_CANCELACION", P_CAB_COM[i].NUM_CANCELACION); GralDat.SetValue("AUT_JEF", P_CAB_COM[i].AUT_JEF); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); //System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.SetValue("CAB_COMP", GralDat); BapiGetUser.Invoke(SapRfcDestination); valido = BapiGetUser.GetString("VALIDO"); // estado = BapiGetUser.GetString("ESTADO"); lt_h_documentos = BapiGetUser.GetTable("CAB_COMP"); lt_retorno = BapiGetUser.GetStructure("ESTADO"); if (lt_h_documentos.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_h_documentos.RowCount; i++) { try { lt_h_documentos.CurrentIndex = i; DOCS_CABECERA_resp = new CAB_COMP(); DOCS_CABECERA_resp.LAND = lt_h_documentos[i].GetString("LAND"); DOCS_CABECERA_resp.ID_CAJA = lt_h_documentos[i].GetString("ID_CAJA"); DOCS_CABECERA_resp.ID_COMPROBANTE = lt_h_documentos[i].GetString("ID_COMPROBANTE"); DOCS_CABECERA_resp.TIPO_DOCUMENTO = lt_h_documentos[i].GetString("TIPO_DOCUMENTO"); DOCS_CABECERA_resp.DESCRIPCION = lt_h_documentos[i].GetString("DESCRIPCION"); DOCS_CABECERA_resp.NRO_REFERENCIA = lt_h_documentos[i].GetString("NRO_REFERENCIA"); DOCS_CABECERA_resp.FECHA_COMP = lt_h_documentos[i].GetString("FECHA_COMP"); DOCS_CABECERA_resp.FECHA_VENC_DOC = lt_h_documentos[i].GetString("FECHA_VENC_DOC"); DOCS_CABECERA_resp.MONTO_DOC = lt_h_documentos[i].GetString("MONTO_DOC"); DOCS_CABECERA_resp.TEXTO_EXCEPCION = lt_h_documentos[i].GetString("TEXTO_EXCEPCION"); DOCS_CABECERA_resp.CLIENTE = lt_h_documentos[i].GetString("CLIENTE"); DOCS_CABECERA_resp.MONEDA = lt_h_documentos[i].GetString("MONEDA"); DOCS_CABECERA_resp.CLASE_DOC = lt_h_documentos[i].GetString("CLASE_DOC"); DOCS_CABECERA_resp.TXT_CLASE_DOC = lt_h_documentos[i].GetString("TXT_CLASE_DOC"); DOCS_CABECERA_resp.NUM_CANCELACION = lt_h_documentos[i].GetString("NUM_CANCELACION"); DOCS_CABECERA_resp.AUT_JEF = lt_h_documentos[i].GetString("AUT_JEF"); CabeceraDocs.Add(DOCS_CABECERA_resp); } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } } else { System.Windows.MessageBox.Show("No existe(n) registro(s)"); } //if (lt_d_documentos.Count > 0) //{ // //LLenamos la tabla de salida lt_DatGen // for (int i = 0; i < lt_d_documentos.RowCount; i++) // { // try // { // lt_d_documentos.CurrentIndex = i; // DOCS_DETALLES_resp = new DET_COMP(); // DOCS_DETALLES_resp.ID_COMPROBANTE = lt_d_documentos[i].GetString("ID_COMPROBANTE"); // DOCS_DETALLES_resp.ID_DETALLE = lt_d_documentos[i].GetString("ID_DETALLE"); // DOCS_DETALLES_resp.VIA_PAGO = lt_d_documentos[i].GetString("VIA_PAGO"); // DOCS_DETALLES_resp.DESCRIP_VP = lt_d_documentos[i].GetString("DESCRIP_VP"); // DOCS_DETALLES_resp.NUM_CHEQUE = lt_d_documentos[i].GetString("NUM_CHEQUE"); // DOCS_DETALLES_resp.FECHA_VENC = lt_d_documentos[i].GetString("FECHA_VENC"); // DOCS_DETALLES_resp.MONTO = lt_d_documentos[i].GetString("MONTO"); // DOCS_DETALLES_resp.MONEDA = lt_d_documentos[i].GetString("MONEDA"); // DOCS_DETALLES_resp.NUM_CUOTAS = lt_d_documentos[i].GetString("NUM_CUOTAS"); // DOCS_DETALLES_resp.EMISOR = lt_d_documentos[i].GetString("EMISOR"); // DetalleDocs.Add(DOCS_DETALLES_resp); // } // catch (Exception ex) // { // Console.WriteLine(ex.Message + ex.StackTrace); // System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); // } // } //} String Mensaje = ""; if (lt_retorno.Count > 0) { for (int i = 0; i < lt_retorno.Count(); i++) { //lt_retorno.CurrentIndex = i; retorno_resp = new RETORNO(); retorno_resp.TYPE = lt_retorno.GetString("TYPE"); retorno_resp.ID = lt_retorno.GetString("ID"); retorno_resp.NUMBER = lt_retorno.GetString("NUMBER"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.LOG_NO = lt_retorno.GetString("LOG_NO"); retorno_resp.LOG_MSG_NO = lt_retorno.GetString("LOG_MSG_NO"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.MESSAGE_V1 = lt_retorno.GetString("MESSAGE_V1"); if (i == 0) { Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V1"); } retorno_resp.MESSAGE_V2 = lt_retorno.GetString("MESSAGE_V2"); retorno_resp.MESSAGE_V3 = lt_retorno.GetString("MESSAGE_V3"); retorno_resp.MESSAGE_V4 = lt_retorno.GetString("MESSAGE_V4"); retorno_resp.PARAMETER = lt_retorno.GetString("PARAMETER"); retorno_resp.ROW = lt_retorno.GetString("ROW"); retorno_resp.FIELD = lt_retorno.GetString("FIELD"); retorno_resp.SYSTEM = lt_retorno.GetString("SYSTEM"); Retorno.Add(retorno_resp); } System.Windows.MessageBox.Show(Mensaje); } //else //{ // System.Windows.MessageBox.Show("No existe(n) registro(s)"); //} } else { errormessage = retval; } GC.Collect(); }
public bool getSapFunctionToTablePara(string funName, Dictionary <string, string> lstParameters, Dictionary <string, Dictionary <string, object> > lstStructures , IRfcTable rtbIput, string tableindex , List <string> ParameterNamesForOut, out Dictionary <string, string> ParametersOutput , List <string> StructureNamesForOut, out Dictionary <string, IRfcStructure> StructureOutputs , List <string> tableNamesForOut, out Dictionary <string, IRfcTable> rtbsOutput, ref string strErrMsg) { try { RfcRepository repo = rfcrep; IRfcFunction Z_RFC_ZCOX = repo.CreateFunction(funName); RfcSessionManager.BeginContext(dest); if (lstParameters != null && lstParameters.Count > 0) { foreach (KeyValuePair <string, string> item in lstParameters) { Z_RFC_ZCOX.SetValue(item.Key, item.Value); } } if (lstStructures != null && lstStructures.Count > 0) { foreach (string item in lstStructures.Keys) { IRfcStructure _stru = Z_RFC_ZCOX.GetStructure(item); foreach (KeyValuePair <string, object> _kv in lstStructures[item]) { _stru.SetValue(_kv.Key, _kv.Value); } } } if (rtbIput != null) { Z_RFC_ZCOX.SetValue(tableindex, rtbIput); } Z_RFC_ZCOX.Invoke(dest); RfcSessionManager.EndContext(dest); //取出返回的表 if (tableNamesForOut != null && tableNamesForOut.Count > 0) { rtbsOutput = new Dictionary <string, IRfcTable>(); foreach (string item in tableNamesForOut) { IRfcTable rtb = Z_RFC_ZCOX.GetTable(item); rtbsOutput.Add(item, rtb); } } else { rtbsOutput = null; } //取出返回参数 if (ParameterNamesForOut != null && ParameterNamesForOut.Count > 0) { ParametersOutput = new Dictionary <string, string>(); foreach (string item in ParameterNamesForOut) { string retPara = Z_RFC_ZCOX.GetString(item); ParametersOutput.Add(item, retPara); } } else { ParametersOutput = null; } //取出返回的结构 if (StructureNamesForOut != null && StructureNamesForOut.Count > 0) { StructureOutputs = new Dictionary <string, IRfcStructure>(); foreach (string item in StructureNamesForOut) { IRfcStructure retStru = Z_RFC_ZCOX.GetStructure(item); StructureOutputs.Add(item, retStru); } } else { StructureOutputs = null; } char statue = Z_RFC_ZCOX.GetChar("EX_TYPE"); if ("E".Contains(statue)) { strErrMsg = Z_RFC_ZCOX.GetString("EX_MSG"); } return("S".Contains(statue)); } catch (RfcAbapRuntimeException ex) { ParametersOutput = null; rtbsOutput = null; StructureOutputs = null; throw ex; } }
public static void CreateBOM(Item materialPart, Item logItem) { materialPart.fetchRelationships("Part BOM"); Item relationships = materialPart.getRelationships("Part BOM"); if (relationships.getItemCount() > 0) { string bomMaterialStatus = CheckMaterialsInBOM(materialPart); if (bomMaterialStatus == "Success") { string changeNumber = materialPart.getProperty("gag_change_num"); string materialNumber = materialPart.getProperty("item_number") + "-" + materialPart.getProperty("major_rev"); int count = relationships.getItemCount(); IRfcFunction CreateBOMBapi = destination.Repository.CreateFunction("CSAP_MAT_BOM_CREATE"); CreateBOMBapi.SetValue("MATERIAL", materialNumber); CreateBOMBapi.SetValue("BOM_USAGE", "2"); CreateBOMBapi.SetValue("CHANGE_NO", changeNumber); CreateBOMBapi.SetValue("FL_COMMIT_AND_WAIT", "X"); CreateBOMBapi.SetValue("FL_DEFAULT_VALUES", "X"); IRfcStructure headDataStruct = CreateBOMBapi.GetStructure("I_STKO"); headDataStruct.SetValue("BASE_QUAN", "1"); headDataStruct.SetValue("BOM_STATUS", "2"); headDataStruct.SetValue("BASE_UNIT", "PC"); for (int i = 0; i < count; i++) { Item partRelationship = relationships.getItemByIndex(i); Item part = partRelationship.getRelatedItem(); string partNo = part.getProperty("item_number"); string partRevision = part.getProperty("major_rev"); string partNumber = partNo + "-" + partRevision; string quantity = partRelationship.getProperty("quantity"); IRfcTable BOMItems = CreateBOMBapi.GetTable("T_STPO"); BOMItems.Append(); BOMItems.SetValue("ITEM_CATEG", "L"); BOMItems.SetValue("ITEM_NO", "00" + (i + 1) * 10); BOMItems.SetValue("COMPONENT", partNumber); BOMItems.SetValue("COMP_QTY", quantity); } CreateBOMBapi.Invoke(destination); string msgOutput = CreateBOMBapi.GetString("BOM_NO"); IRfcFunction rfcCommitFunction = destination.Repository.CreateFunction("BAPI_TRANSACTION_COMMIT"); rfcCommitFunction.Invoke(destination); if (string.IsNullOrEmpty(msgOutput)) { FillLogItem(logItem, "BOM not Created", "Failed"); } else { FillLogItem(logItem, string.Empty, "Completed"); } } else { FillLogItem(logItem, "Component Material does not exist in SAP", "Failed"); } } else { FillLogItem(logItem, string.Empty, "Completed"); } }
public bool InstallAndRun() { IRfcFunction function = null; this._result.Clear(); try { if (this._des == null) { throw new SAPException(Messages.Connectionisnotvalid); } this._LastError = ""; if (!String.IsNullOrEmpty(CustomFunction)) { function = _des.Repository.CreateFunction(CustomFunction); } else { bool hasFunction = SAPFunction.CheckFunction(_sysName, "ZVI_RFC_ABAP_INSTALL_AND_RUN"); if (hasFunction) { function = _des.Repository.CreateFunction("ZVI_RFC_ABAP_INSTALL_AND_RUN"); } //else //{ // hasFunction = SAPFunction.CheckFunction(_sysName, "RFC_ABAP_INSTALL_AND_RUN"); // if (hasFunction) // { // function = _des.Repository.CreateFunction("RFC_ABAP_INSTALL_AND_RUN"); // } //} } if (function == null) { throw new SAPException("无法找到运行程序"); } IRfcTable table = function.GetTable("PROGRAM"); if (this._code.Count <= 1) { throw new Exception(Messages.Thegivencodeisnotvalid); } foreach (string str in this._code) { table.Append(); IRfcStructure row = table.CurrentRow; row.SetValue("ZEILE", str); } function.Invoke(_des); } catch (RfcCommunicationException e) { throw new SAPException(e.Message); } catch (RfcAbapException e) { throw new SAPException(e.Key + e.Message); } this._LastError = function.GetString("ERRORMESSAGE"); if (this._LastError != "") { return(false); } IRfcTable table2 = function.GetTable("WRITES"); for (int i = 0; i < table2.RowCount; i++) { this._result.Add(table2[i].GetString("ZEILE")); } return(true); }
/// <summary> /// you need excute(se38) ABLM_MODIFY_ITEMS in sap system and set relavant parameter /// previous when you use BAPI_SALESORDER_CREATEFROMDAT2 this RFC module /// </summary> /// <param name="destinationName"></param> /// <returns></returns> public string CreateOrder(SapSalesOrder salesOrder) { if (rfcDestination == null) { rfcDestination = RfcDestinationManager.GetDestination(WebApiApplication.destinationConfigName); } RfcRepository repo = rfcDestination.Repository; IRfcFunction _SalesDoc = repo.CreateFunction("BAPI_SALESORDER_CREATEFROMDAT2"); IRfcFunction _SalesDocCommit = repo.CreateFunction("BAPI_TRANSACTION_COMMIT"); IRfcStructure _SalesHeader = _SalesDoc.GetStructure("ORDER_HEADER_IN"); IRfcTable _SalesItems = _SalesDoc.GetTable("ORDER_ITEMS_IN"); IRfcTable _SalesPartners = _SalesDoc.GetTable("ORDER_PARTNERS"); IRfcTable _SalesSchedule = _SalesDoc.GetTable("ORDER_SCHEDULES_IN"); _SalesHeader.SetValue("DOC_TYPE", salesOrder.Header.DOC_TYPE); _SalesHeader.SetValue("SALES_ORG", salesOrder.Header.SALES_ORG); _SalesHeader.SetValue("DISTR_CHAN", salesOrder.Header.DISTR_CHAN); _SalesHeader.SetValue("DIVISION", salesOrder.Header.DIVISION); _SalesHeader.SetValue("PURCH_NO_C", salesOrder.Header.PURCH_NO_C); //test 採購日期 _SalesHeader.SetValue("PURCH_DATE", salesOrder.Header.PURCH_DATE); foreach (SalesItem si in salesOrder.ItemList) { IRfcStructure _SalesItemsStruct = _SalesItems.Metadata.LineType.CreateStructure(); _SalesItemsStruct.SetValue("ITM_NUMBER", si.ITM_NUMBER); //_SalesItemsStruct.SetValue("MATERIAL", si.MATERIAL); _SalesItemsStruct.SetValue("MATERIAL_LONG", si.MATERIAL); _SalesItemsStruct.SetValue("TARGET_QTY", si.TARGET_QTY); //test 客戶物料號碼 _SalesItemsStruct.SetValue("CUST_MAT35", si.CUST_MAT35); _SalesItems.Append(_SalesItemsStruct); } foreach (SalesPartner sp in salesOrder.PartnerList) { IRfcStructure _SalesPartnersStruct = _SalesPartners.Metadata.LineType.CreateStructure(); _SalesPartnersStruct.SetValue("PARTN_ROLE", sp.PARTN_ROLE); _SalesPartnersStruct.SetValue("PARTN_NUMB", sp.PARTN_NUMB); _SalesPartners.Append(_SalesPartnersStruct); } foreach (SalesSchedule ss in salesOrder.ScheduleList) { IRfcStructure _SalesScheduleStruct = _SalesSchedule.Metadata.LineType.CreateStructure(); _SalesScheduleStruct.SetValue("REQ_QTY", ss.REQ_QTY); _SalesScheduleStruct.SetValue("ITM_NUMBER", ss.ITM_NUMBER); _SalesScheduleStruct.SetValue("SCHED_LINE", ss.SCHED_LINE); _SalesScheduleStruct.SetValue("REQ_DATE", ss.REQ_DATE); _SalesSchedule.Append(_SalesScheduleStruct); } ////salesPartnersStruct.SetValue("PARTN_ROLE", "RE"); ////salesPartnersStruct.SetValue("PARTN_NUMB", "0010000650"); ////salesPartners.Append(salesPartnersStruct); RfcSessionManager.BeginContext(rfcDestination); _SalesDoc.Invoke(rfcDestination); _SalesDocCommit.Invoke(rfcDestination); RfcSessionManager.EndContext(rfcDestination); string _SalesCocument = _SalesDoc.GetString("SALESDOCUMENT"); DataTable dtReturn = ConvertToDotNetTable(_SalesDoc.GetTable("RETURN")); List <ErrorLog> _ErrorList = SetErrorLog(dtReturn, "BAPI_SALESORDER_CREATEFROMDAT2", _SalesCocument, salesOrder.Header.PURCH_NO_C); List <string> _Error = this._errorLogService.MiltiCreate(_ErrorList); return(_SalesCocument); }
/// <summary> /// no use /// </summary> /// <param name="number"></param> /// <returns></returns> public string CreateCustomer(string number) { if (rfcDestination == null) { rfcDestination = RfcDestinationManager.GetDestination(WebApiApplication.destinationConfigName); } RfcRepository repo = rfcDestination.Repository; IRfcFunction _CUSTOMER = repo.CreateFunction("BAPI_CUSTOMER_CREATEFROMDATA1"); IRfcFunction _Commit = repo.CreateFunction("BAPI_TRANSACTION_COMMIT"); IRfcStructure _PI_COPYREFERENCE = _CUSTOMER.GetStructure("PI_COPYREFERENCE"); _PI_COPYREFERENCE.SetValue("SALESORG", "1000"); _PI_COPYREFERENCE.SetValue("DISTR_CHAN", "00"); _PI_COPYREFERENCE.SetValue("DIVISION", "00"); _PI_COPYREFERENCE.SetValue("REF_CUSTMR", "0010000003"); IRfcStructure _PI_PERSONALDATA = _CUSTOMER.GetStructure("PI_PERSONALDATA"); _PI_PERSONALDATA.SetValue("FIRSTNAME", "1234"); _PI_PERSONALDATA.SetValue("LASTNAME", "DDDD"); _PI_PERSONALDATA.SetValue("COUNTRY", "US"); _PI_PERSONALDATA.SetValue("REGION", "AK"); _PI_PERSONALDATA.SetValue("LANGU_P", "EN"); _PI_PERSONALDATA.SetValue("CURRENCY", "USD"); _PI_PERSONALDATA.SetValue("middlename", "john"); _PI_PERSONALDATA.SetValue("date_birth", "19780101"); _PI_PERSONALDATA.SetValue("langu_p", "EN"); _PI_PERSONALDATA.SetValue("district", "Hyd"); _PI_PERSONALDATA.SetValue("house_no", "11230"); _PI_PERSONALDATA.SetValue("building", "super"); _PI_PERSONALDATA.SetValue("room_no", "113"); _PI_PERSONALDATA.SetValue("title_p", "Mr.");//Invalid form of address text error you need set Mr. reference table TSAD3T _PI_PERSONALDATA.SetValue("city", "LOS_ANGELES"); //IRfcStructure _PI_OPT_PERSONALDATA = _CUSTOMER.GetStructure("PI_OPT_PERSONALDATA"); //_PI_OPT_PERSONALDATA.SetValue("SHIP_COND", "01"); //_PI_OPT_PERSONALDATA.SetValue("DELYG_PLNT", "1000"); //IRfcFunction _SdCustomer = repo.CreateFunction("SD_CUSTOMER_MAINTAIN_ALL"); //IRfcStructure _Knvv = _SdCustomer.GetStructure("I_KNVV"); //_Knvv.SetValue("KUNNR", number); //_Knvv.SetValue("VKORG", "1000"); //_Knvv.SetValue("VTWEG", "00"); //_Knvv.SetValue("SPART", "00"); //_Knvv.SetValue("KALKS", "1"); //_Knvv.SetValue("BZIRK", "US"); //_Knvv.SetValue("WAERS", "USD"); //_Knvv.SetValue("KURST", "E"); //_Knvv.SetValue("KONDA", "MSRP"); //_Knvv.SetValue("VSBED", "01"); //_Knvv.SetValue("INCO1", "DDP"); //_Knvv.SetValue("INCO2", "US"); RfcSessionManager.BeginContext(rfcDestination); _CUSTOMER.Invoke(rfcDestination); _Commit.Invoke(rfcDestination); RfcSessionManager.EndContext(rfcDestination); IRfcStructure structReturn = _CUSTOMER.GetStructure("RETURN"); string _CUSTOMERNO = _CUSTOMER.GetString("CUSTOMERNO"); string _TYPE = structReturn.GetString("TYPE"); string _MESSAGE = structReturn.GetString("MESSAGE"); DataTable dtReturn = setErrorTable(_TYPE, _MESSAGE, "PI_COPYREFERENCE"); List <ErrorLog> _ErrorList = SetErrorLog(dtReturn, "BAPI_CUSTOMER_CREATEFROMDATA1", "", ""); List <string> _Error = this._errorLogService.MiltiCreate(_ErrorList); return(""); }
/// <summary> /// Remote Function Module YBAPI_DOCUMENT_POST_REVERSE. /// YAPBAPIINVOICE /// </summary> /// <param name="Out_Compcode">Company Code</param> /// <param name="Out_Docno">Assignment of Item Numbers: Material Doc. - Purchasing Doc.</param> /// <param name="Out_Docyear">Fiscal Year</param> /// <param name="Out_Flag">Single-character flag</param> /// <param name="Out_Msg">Comment</param> /// <param name="I_Compcode">Company Code</param> /// <param name="I_Docno">Assignment of Item Numbers: Material Doc. - Purchasing Doc.</param> /// <param name="I_Docyear">Fiscal Year</param> /// <param name="I_Postdate">Character Field Length = 10</param> /// <param name="I_Reason">Version Number Component</param> //[RfcMethod(AbapName = "YBAPI_DOCUMENT_POST_REVERSE")] //[SoapDocumentMethodAttribute("http://tempuri.org/YBAPI_DOCUMENT_POST_REVERSE", // RequestNamespace = "urn:sap-com:document:sap:rfc:functions", // RequestElementName = "YBAPI_DOCUMENT_POST_REVERSE", // ResponseNamespace = "urn:sap-com:document:sap:rfc:functions", // ResponseElementName = "YBAPI_DOCUMENT_POST_REVERSE.Response")] public virtual void Ybapi_Document_Post_Reverse( // [RfcParameter(AbapName = "I_COMPCODE", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 4, Length2 = 8)] //[XmlElement("I_COMPCODE", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Compcode, //[RfcParameter(AbapName = "I_DOCNO", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 10, Length2 = 20)] //[XmlElement("I_DOCNO", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Docno, //[RfcParameter(AbapName = "I_DOCYEAR", RfcType = RFCTYPE.RFCTYPE_NUM, Optional = false, Direction = RFCINOUT.IN, Length = 4, Length2 = 8)] //[XmlElement("I_DOCYEAR", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Docyear, //[RfcParameter(AbapName = "I_POSTDATE", RfcType = RFCTYPE.RFCTYPE_DATE, Optional = true, Direction = RFCINOUT.IN, Length = 8, Length2 = 16)] //[XmlElement("I_POSTDATE", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Postdate, //[RfcParameter(AbapName = "I_REASON", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 2, Length2 = 4)] //[XmlElement("I_REASON", IsNullable = false, Form = XmlSchemaForm.Unqualified)] string I_Reason, //[RfcParameter(AbapName = "OUT_COMPCODE", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.OUT, Length = 4, Length2 = 8)] //[XmlElement("OUT_COMPCODE", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out string Out_Compcode, //[RfcParameter(AbapName = "OUT_DOCNO", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.OUT, Length = 10, Length2 = 20)] //[XmlElement("OUT_DOCNO", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out string Out_Docno, //[RfcParameter(AbapName = "OUT_DOCYEAR", RfcType = RFCTYPE.RFCTYPE_NUM, Optional = true, Direction = RFCINOUT.OUT, Length = 4, Length2 = 8)] //[XmlElement("OUT_DOCYEAR", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out string Out_Docyear, //[RfcParameter(AbapName = "OUT_FLAG", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.OUT, Length = 1, Length2 = 2)] //[XmlElement("OUT_FLAG", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out string Out_Flag, //[RfcParameter(AbapName = "OUT_MSG", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.OUT, Length = 50, Length2 = 100)] //[XmlElement("OUT_MSG", IsNullable = false, Form = XmlSchemaForm.Unqualified)] out string Out_Msg) { //object[] results = null; //results = this.SAPInvoke("Ybapi_Document_Post_Reverse", new object[] { // I_Compcode,I_Docno,I_Docyear,I_Postdate,I_Reason }); //Out_Compcode = (string)results[0]; //Out_Docno = (string)results[1]; //Out_Docyear = (string)results[2]; //Out_Flag = (string)results[3]; //Out_Msg = (string)results[4]; IRfcFunction function = destination.Repository.CreateFunction("YBAPI_DOCUMENT_POST_REVERSE"); #region set parameter value function.SetValue("I_COMPCODE", I_Compcode); function.SetValue("I_DOCNO", I_Docno); function.SetValue("I_DOCYEAR", I_Docyear); function.SetValue("I_POSTDATE", I_Postdate); function.SetValue("I_REASON", I_Reason); #endregion function.Invoke(destination); Out_Compcode = function.GetString("OUT_COMPCODE"); //Out_Compcode = (string)results[0]; Out_Docno = function.GetString("OUT_DOCNO"); //Out_Docno = (string)results[1]; Out_Docyear = function.GetString("OUT_DOCYEAR"); //Out_Docyear = (string)results[2]; Out_Flag = function.GetString("OUT_FLAG"); //Out_Flag = (string)results[3]; Out_Msg = function.GetString("OUT_MSG"); //Out_Msg = (string)results[4]; }
public static Hashtable SAPExecuteTableData_Common(Hashtable[] arrht, Hashtable ImportData, string Function_Name, string RfcStructure_Name, string Table_Name, string GetTable_Name, string GetTable_Name2) { RfcConfigParameters configParam = GetConfigParam(); RfcDestination destination = RfcDestinationManager.GetDestination(configParam); IRfcFunction function = destination.Repository.CreateFunction(Function_Name); IRfcTable rfcTable = function.GetTable(Table_Name); for (int i = 0; i < arrht.Length; i++) { RfcStructureMetadata strMeta = destination.Repository.GetStructureMetadata(RfcStructure_Name); IRfcStructure rfcStructure = strMeta.CreateStructure(); //if (arrht[i] == null) // continue; IDictionaryEnumerator ie = arrht[i].GetEnumerator(); while (ie.MoveNext()) { if (ie.Value.ToString().Length <= 4000) { rfcStructure.SetValue(ie.Key.ToString(), ie.Value); } } rfcTable.Append(rfcStructure); } if (ImportData.Count > 0) { IDictionaryEnumerator ie = ImportData.GetEnumerator(); while (ie.MoveNext()) { if (ie.Value.ToString().Length <= 4000) { function.SetValue(ie.Key.ToString(), ie.Value); } } } function.Invoke(destination); IRfcTable rfcTable2 = function.GetTable(GetTable_Name); IRfcTable rfcTable3 = null; if (GetTable_Name2 != null) { rfcTable3 = function.GetTable(GetTable_Name2); } Hashtable ht = new Hashtable(); switch (Function_Name) { case "ZMM_SKD_PO_AND_GR": ht.Add("I_EBELN", function.GetString("I_EBELN")); ht.Add("I_MBLNR", function.GetString("I_MBLNR")); ht.Add("FT_RETURN_PO", rfcTable2); ht.Add("FT_RETURN_GR", rfcTable3); break; case "ZMM_SKD_PO": ht.Add("I_EBELN", function.GetString("I_EBELN")); ht.Add("FT_RETURN_PO", rfcTable2); break; case "ZMM_SKD_BAPI_GOODSMVT_CREATE": ht.Add("I_MBLNR", function.GetString("I_MBLNR")); ht.Add("FT_RETURN_GR", rfcTable2); break; } return(ht); }
public List <SE_ESTATUS> EstatusCobro(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_BUKRS, string P_KUNNR, string P_BSCHL, string P_UMSKZ, string P_UMSKS, string P_GJAHR) { try { T_Retorno.Clear(); errormessage = ""; status = ""; message = ""; stringRfc = ""; protestado = ""; //IRfcStructure ls_CIERRE_CAJA; //IRfcTable lt_CIERRE_CAJA; IRfcStructure lt_SE_STATUS; //IRfcTable lt_SE_STATUS; //CERR_CAJA CERR_CAJA_resp; SE_ESTATUS retorno; //Conexion a SAP //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_STAT_COBRANZA"); BapiGetUser.SetValue("BUKRS", P_BUKRS); BapiGetUser.SetValue("KUNNR", P_KUNNR); BapiGetUser.SetValue("BSCHL", P_BSCHL); BapiGetUser.SetValue("UMSKZ", P_UMSKZ); BapiGetUser.SetValue("UMSKS", P_UMSKS); BapiGetUser.SetValue("GJAHR", P_GJAHR); BapiGetUser.Invoke(SapRfcDestination); //LLenamos los datos que retorna la estructura de la RFC //lt_CIERRE_CAJA = BapiGetUser.GetTable("ESTATUS"); protestado = BapiGetUser.GetString("PE_PROTESTADO"); lt_SE_STATUS = BapiGetUser.GetStructure("SE_ESTATUS"); // for (int i = 0; i < lt_SE_STATUS.Count(); i++) // { // lt_SE_STATUS.CurrentIndex = i; retorno = new SE_ESTATUS(); retorno.TYPE = lt_SE_STATUS.GetString("TYPE"); retorno.ID = lt_SE_STATUS.GetString("ID"); retorno.NUMBER = lt_SE_STATUS.GetString("NUMBER"); retorno.MESSAGE = lt_SE_STATUS.GetString("MESSAGE"); retorno.LOG_NO = lt_SE_STATUS.GetString("LOG_NO"); retorno.LOG_MSG_NO = lt_SE_STATUS.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = lt_SE_STATUS.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = lt_SE_STATUS.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = lt_SE_STATUS.GetString("MESSAGE_V3"); retorno.MESSAGE_V4 = lt_SE_STATUS.GetString("MESSAGE_V4"); retorno.PARAMETER = lt_SE_STATUS.GetString("PARAMETER"); retorno.ROW = lt_SE_STATUS.GetString("ROW"); retorno.FIELD = lt_SE_STATUS.GetString("FIELD"); retorno.SYSTEM = lt_SE_STATUS.GetString("SYSTEM"); T_Retorno.Add(retorno); // } } GC.Collect(); } catch (InvalidCastException ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } return(T_Retorno); }
public static string SAPDualExecute(Hashtable[] arrht, Hashtable ImportStr, Hashtable ImportData, string Function_Name, string RfcStructure_Name, string RfcStructure_Name2, string SetTable_Name) { RfcConfigParameters configParam = GetConfigParam(); RfcDestination destination = RfcDestinationManager.GetDestination(configParam); IRfcFunction function = destination.Repository.CreateFunction(Function_Name); IRfcTable rfcTable = function.GetTable(SetTable_Name); RfcStructureMetadata strMeta2 = destination.Repository.GetStructureMetadata(RfcStructure_Name2); IRfcStructure rfcStructure2 = strMeta2.CreateStructure(); for (int i = 0; i < arrht.Length; i++) { RfcStructureMetadata strMeta = destination.Repository.GetStructureMetadata(RfcStructure_Name); IRfcStructure rfcStructure = strMeta.CreateStructure(); IDictionaryEnumerator ie = arrht[i].GetEnumerator(); while (ie.MoveNext()) { if (ie.Value.ToString().Length <= 4000) { rfcStructure.SetValue(ie.Key.ToString(), ie.Value); } } rfcTable.Append(rfcStructure); } if (ImportStr.Count > 0) { IDictionaryEnumerator ie = ImportStr.GetEnumerator(); while (ie.MoveNext()) { if (ie.Value.ToString().Length <= 4000) { rfcStructure2.SetValue(ie.Key.ToString(), ie.Value); } } } if (ImportData.Count > 0) { IDictionaryEnumerator ie = ImportData.GetEnumerator(); while (ie.MoveNext()) { if (ie.Value.ToString().Length <= 4000) { function.SetValue(ie.Key.ToString(), ie.Value); } } } function.SetValue("IV_HEADER", rfcStructure2); function.Invoke(destination); string returnCode = function.GetString("EV_E_TYPE"); return(returnCode); }
public Attachment_BE VALIDATE_XML(ref Attachment_BE attach, string metodoPago, SharedSettings.Settings settings) { try { //Establecemos conexion con SAP RfcConfigParameters rfc = SAP_Connection.GetParameters(settings); RfcDestination rfcDest = null; rfcDest = RfcDestinationManager.GetDestination(rfc); //Creamos repositorio para la función RfcRepository repo = rfcDest.Repository; IRfcFunction validate_mail = repo.CreateFunction("Z_MAIL_VALIDATE_DATA"); validate_mail.SetValue("P_RFC_VENDOR", attach.RFC_VEND); validate_mail.SetValue("P_RFC_COMPANY", attach.RFC_COMP); validate_mail.SetValue("P_MET_PAGO", metodoPago); //Ejecutamos la consulta validate_mail.Invoke(rfcDest); attach.RFC_COMPANY = validate_mail.GetString("ERFC_COMPANY"); attach.RFC_VENDOR = validate_mail.GetString("ERFC_VENDOR"); attach.LIFNR = validate_mail.GetString("ELIFNR"); attach.BUKRS = validate_mail.GetString("EBUKRS"); //attach.ECALLECOMP = validate_mail.GetString("ECALLECOMP"); //attach.E_N_EXTCOMP = validate_mail.GetString("E_N_EXTCOMP"); //attach.ECOLCOMP = validate_mail.GetString("ECOLCOMP"); //attach.EMUNI_COMP = validate_mail.GetString("EMUNI_COMP"); //attach.ECPCOMP = validate_mail.GetString("ECPCOMP"); //attach.EPAISCOMP = validate_mail.GetString("EPAISCOMP"); //attach.ECALLEVEND = validate_mail.GetString("ECALLEVEND"); //attach.E_N_EXTVEND = validate_mail.GetString("E_N_EXTVEND"); //attach.ECOLVEND = validate_mail.GetString("ECOLVEND"); //attach.EMUNI_VEND = validate_mail.GetString("EMUNI_VEND"); //attach.ECPVEND = validate_mail.GetString("ECPVEND"); //attach.EPAISVEND = validate_mail.GetString("EPAISVEND"); //attach.EEDO_COMP = validate_mail.GetString("EEDO_COMP"); //attach.EEDO_VEND = validate_mail.GetString("EEDO_VEND"); attach.Desc_Error = attach.Desc_Error + validate_mail.GetString("E_MET_PAGO"); return(attach); } catch (RfcCommunicationException e) { throw e; } catch (RfcLogonException e) { // user could not logon... throw e; } catch (RfcAbapRuntimeException e) { // serious problem on ABAP system side... throw e; } catch (RfcAbapBaseException e) { // The function module returned an ABAP exception, an ABAP message // or an ABAP class-based exception... throw e; } catch (Exception e) { throw e; } }
public void arqueocaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER , string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_DATUMDESDE, string P_DATUMHASTA, string P_USUARIO , string P_PAIS, string P_MONEDALOCAL, string P_ID_APERTURA, string P_ID_CIERRE, string P_IND_ARQUEO, string P_ID_ARQUEO_IN , string P_MTO_APERTURA, List <DETALLE_ARQUEO> P_TOTALEFECTIVO) { try { ESTATUS retorno; DETALLE_VP detallevp; RESUMEN_VP resumenvp; DETALLE_ARQUEO detallerend; T_Retorno.Clear(); detalle_rend.Clear(); detalle_viapago.Clear(); resumen_viapago.Clear(); errormessage = ""; message = ""; diferencia = ""; id_arqueo = ""; IRfcTable ls_RETORNO; IRfcTable lt_DETALLE_VP; IRfcTable lt_RESUMEN_VP; IRfcTable lt_DETALLE_REND; connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_ARQUEO_CAJA_2"); BapiGetUser.SetValue("LAND", P_PAIS); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); // Buscar en log de apertura BapiGetUser.SetValue("MONEDA_LOCAL", P_MONEDALOCAL); // Moneda BapiGetUser.SetValue("ID_ARQUEO_IN", P_ID_ARQUEO_IN); // "" BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE); // "" BapiGetUser.SetValue("IND_ARQUEO", P_IND_ARQUEO); //"A" Arqueo BapiGetUser.SetValue("MTO_APERTURA", P_MTO_APERTURA); // Buscar en log de apertura IRfcTable GralDat2 = BapiGetUser.GetTable("DETALLE_ARQUEO"); try { for (var i = 0; i < P_TOTALEFECTIVO.Count; i++) { GralDat2.Append(); GralDat2.SetValue("LAND", P_TOTALEFECTIVO[i].LAND); GralDat2.SetValue("ID_CAJA", P_TOTALEFECTIVO[i].ID_CAJA); GralDat2.SetValue("USUARIO", P_TOTALEFECTIVO[i].USUARIO); GralDat2.SetValue("SOCIEDAD", P_TOTALEFECTIVO[i].SOCIEDAD); GralDat2.SetValue("FECHA_REND", Convert.ToDateTime(P_TOTALEFECTIVO[i].FECHA_REND)); GralDat2.SetValue("HORA_REND", Convert.ToDateTime(P_TOTALEFECTIVO[i].HORA_REND)); GralDat2.SetValue("MONEDA", P_TOTALEFECTIVO[i].MONEDA); GralDat2.SetValue("VIA_PAGO", P_TOTALEFECTIVO[i].VIA_PAGO); GralDat2.SetValue("TIPO_MONEDA", P_TOTALEFECTIVO[i].TIPO_MONEDA); GralDat2.SetValue("CANTIDAD_MON", P_TOTALEFECTIVO[i].CANTIDAD_MON); GralDat2.SetValue("SUMA_MON_BILL", P_TOTALEFECTIVO[i].SUMA_MON_BILL); GralDat2.SetValue("CANTIDAD_DOC", P_TOTALEFECTIVO[i].CANTIDAD_DOC); GralDat2.SetValue("SUMA_DOCS", P_TOTALEFECTIVO[i].SUMA_DOCS); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); //System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.SetValue("DETALLE_ARQUEO", GralDat2); BapiGetUser.Invoke(SapRfcDestination); diferencia = BapiGetUser.GetString("DIFERENCIA"); if (diferencia.Contains(",")) { diferencia = diferencia.Replace(",", ""); diferencia = diferencia.Substring(0, diferencia.Length - 2); } id_arqueo = BapiGetUser.GetString("ID_ARQUEO"); lt_DETALLE_VP = BapiGetUser.GetTable("DETALLE_VP"); // try { for (int i = 0; i < lt_DETALLE_VP.Count(); i++) { lt_DETALLE_VP.CurrentIndex = i; detallevp = new DETALLE_VP(); detallevp.SOCIEDAD = lt_DETALLE_VP.GetString("SOCIEDAD"); detallevp.SOCIEDAD_TXT = lt_DETALLE_VP.GetString("SOCIEDAD_TXT"); detallevp.ID_COMPROBANTE = lt_DETALLE_VP.GetString("ID_COMPROBANTE"); detallevp.ID_DETALLE = lt_DETALLE_VP.GetString("ID_DETALLE"); detallevp.VIA_PAGO = lt_DETALLE_VP.GetString("VIA_PAGO"); detallevp.MONTO = lt_DETALLE_VP.GetString("MONTO"); detallevp.MONEDA = lt_DETALLE_VP.GetString("MONEDA"); detallevp.BANCO = lt_DETALLE_VP.GetString("BANCO"); detallevp.BANCO_TXT = lt_DETALLE_VP.GetString("BANCO_TXT"); detallevp.EMISOR = lt_DETALLE_VP.GetString("EMISOR"); detallevp.NUM_CHEQUE = lt_DETALLE_VP.GetString("NUM_CHEQUE"); detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION"); detallevp.CLIENTE = lt_DETALLE_VP.GetString("CLIENTE"); detallevp.NRO_DOCUMENTO = lt_DETALLE_VP.GetString("NRO_DOCUMENTO"); detallevp.NUM_CUOTAS = lt_DETALLE_VP.GetString("NUM_CUOTAS"); detallevp.FECHA_VENC = lt_DETALLE_VP.GetString("FECHA_VENC"); detallevp.FECHA_EMISION = lt_DETALLE_VP.GetString("FECHA_EMISION"); detallevp.NOTA_VENTA = lt_DETALLE_VP.GetString("NOTA_VENTA"); detallevp.TEXTO_POSICION = lt_DETALLE_VP.GetString("TEXTO_POSICION"); detallevp.NULO = lt_DETALLE_VP.GetString("NULO"); detallevp.NRO_REFERENCIA = lt_DETALLE_VP.GetString("NRO_REFERENCIA"); detallevp.TIPO_DOCUMENTO = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO"); detalle_viapago.Add(detallevp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); //Resumen de Vias de Pago try { for (int i = 0; i < lt_RESUMEN_VP.Count(); i++) { lt_RESUMEN_VP.CurrentIndex = i; resumenvp = new RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); resumenvp.TEXT1 = lt_RESUMEN_VP.GetString("TEXT1"); resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA"); resumenvp.MONTO = lt_RESUMEN_VP.GetString("MONTO"); resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS"); resumen_viapago.Add(resumenvp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_ARQUEO"); //Detalle de efectivo try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DETALLE_REND.CurrentIndex = i; detallerend = new DETALLE_ARQUEO(); detallerend.LAND = lt_DETALLE_REND.GetString("LAND"); detallerend.ID_CAJA = lt_DETALLE_REND.GetString("ID_CAJA"); detallerend.USUARIO = lt_DETALLE_REND.GetString("USUARIO"); detallerend.SOCIEDAD = lt_DETALLE_REND.GetString("SOCIEDAD"); detallerend.FECHA_REND = lt_DETALLE_REND.GetString("FECHA_REND"); detallerend.HORA_REND = lt_DETALLE_REND.GetString("HORA_REND"); detallerend.MONEDA = lt_DETALLE_REND.GetString("MONEDA"); detallerend.VIA_PAGO = lt_DETALLE_REND.GetString("VIA_PAGO"); //Efectivo detallerend.TIPO_MONEDA = lt_DETALLE_REND.GetString("TIPO_MONEDA"); //Denominacion detallerend.CANTIDAD_MON = lt_DETALLE_REND.GetString("CANTIDAD_MON"); //Cuantos?? detallerend.SUMA_MON_BILL = lt_DETALLE_REND.GetString("SUMA_MON_BILL"); //Cantidd*denominacion detallerend.CANTIDAD_DOC = lt_DETALLE_REND.GetString("CANTIDAD_DOC"); //"" detallerend.SUMA_DOCS = lt_DETALLE_REND.GetString("SUMA_DOCS"); //"" detalle_rend.Add(detallerend); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } ls_RETORNO = BapiGetUser.GetTable("RETORNO"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { ls_RETORNO.CurrentIndex = i; retorno = new ESTATUS(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + " - " + ls_RETORNO.GetString("MESSAGE"); if (id_arqueo == "") { id_arqueo = ls_RETORNO.GetString("MESSAGE_V1"); } } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE"); } retorno.TYPE = ls_RETORNO.GetString("TYPE"); retorno.ID = ls_RETORNO.GetString("ID"); retorno.NUMBER = ls_RETORNO.GetString("NUMBER"); retorno.MESSAGE = ls_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = ls_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3"); if (ls_RETORNO.GetString("MESSAGE_V4") != "") { // comprobante = ls_RETORNO.GetString("MESSAGE_V4"); } retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4"); retorno.PARAMETER = ls_RETORNO.GetString("PARAMETER"); retorno.ROW = ls_RETORNO.GetString("ROW"); retorno.FIELD = ls_RETORNO.GetString("FIELD"); retorno.SYSTEM = ls_RETORNO.GetString("SYSTEM"); T_Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }
public void pagosmasivos(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_RUT, string P_SOCIEDAD, List <PagosMasivos> ListaExc) { ObjDatosPartidasOpen.Clear(); Retorno.Clear(); errormessage = ""; protesto = ""; IRfcTable lt_PAGOS_MASIVOS; IRfcStructure lt_retorno; ESTADO retorno_resp; T_DOCUMENTOS PAGOS_MASIVOS_resp; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_GET_DOC_MASI"); BapiGetUser.SetValue("STCD1", P_RUT); BapiGetUser.SetValue("BUKRS", P_SOCIEDAD); IRfcTable GralDat = BapiGetUser.GetTable("T_GET_DOC"); for (var i = 0; i < ListaExc.Count; i++) { GralDat.Append(); GralDat.SetValue("XBLNR", ListaExc[i].Referencia); GralDat.SetValue("MONTO", ListaExc[i].Monto); GralDat.SetValue("WAERS", ListaExc[i].Moneda); } BapiGetUser.SetValue("T_GET_DOC", GralDat); BapiGetUser.Invoke(SapRfcDestination); protesto = BapiGetUser.GetString("PE_PROTESTADO"); lt_PAGOS_MASIVOS = BapiGetUser.GetTable("T_DOCUMENTOS"); lt_retorno = BapiGetUser.GetStructure("SE_ESTATUS"); //lt_PART_ABIERTAS = BapiGetUser.GetTable("ZCLSP_TT_LISTA_DOCUMENTOS"); if (lt_PAGOS_MASIVOS.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_PAGOS_MASIVOS.RowCount; i++) { lt_PAGOS_MASIVOS.CurrentIndex = i; PAGOS_MASIVOS_resp = new T_DOCUMENTOS(); PAGOS_MASIVOS_resp.SOCIEDAD = lt_PAGOS_MASIVOS[i].GetString("SOCIEDAD"); PAGOS_MASIVOS_resp.NDOCTO = lt_PAGOS_MASIVOS[i].GetString("NDOCTO"); PAGOS_MASIVOS_resp.NREF = lt_PAGOS_MASIVOS[i].GetString("NREF"); PAGOS_MASIVOS_resp.CLASE_CUENTA = lt_PAGOS_MASIVOS[i].GetString("CLASE_CUENTA"); PAGOS_MASIVOS_resp.CLASE_DOC = lt_PAGOS_MASIVOS[i].GetString("CLASE_DOC"); PAGOS_MASIVOS_resp.COD_CLIENTE = lt_PAGOS_MASIVOS[i].GetString("COD_CLIENTE"); PAGOS_MASIVOS_resp.RUTCLI = lt_PAGOS_MASIVOS[i].GetString("RUTCLI"); PAGOS_MASIVOS_resp.NOMCLI = lt_PAGOS_MASIVOS[i].GetString("NOMCLI"); PAGOS_MASIVOS_resp.CEBE = lt_PAGOS_MASIVOS[i].GetString("CEBE"); PAGOS_MASIVOS_resp.FECHA_DOC = lt_PAGOS_MASIVOS[i].GetString("FECHA_DOC"); PAGOS_MASIVOS_resp.FECVENCI = lt_PAGOS_MASIVOS[i].GetString("FECVENCI"); PAGOS_MASIVOS_resp.DIAS_ATRASO = lt_PAGOS_MASIVOS[i].GetString("DIAS_ATRASO"); PAGOS_MASIVOS_resp.ESTADO = lt_PAGOS_MASIVOS[i].GetString("ESTADO"); PAGOS_MASIVOS_resp.ICONO = lt_PAGOS_MASIVOS[i].GetString("ICONO"); PAGOS_MASIVOS_resp.MONEDA = lt_PAGOS_MASIVOS[i].GetString("MONEDA"); PAGOS_MASIVOS_resp.ACC = lt_PAGOS_MASIVOS[i].GetString("ACC"); PAGOS_MASIVOS_resp.CLASE_CUENTA = lt_PAGOS_MASIVOS[i].GetString("CLASE_CUENTA"); PAGOS_MASIVOS_resp.CLASE_DOC = lt_PAGOS_MASIVOS[i].GetString("CLASE_DOC"); PAGOS_MASIVOS_resp.CME = lt_PAGOS_MASIVOS[i].GetString("CME"); PAGOS_MASIVOS_resp.CONTROL_CREDITO = lt_PAGOS_MASIVOS[i].GetString("CONTROL_CREDITO"); //string.Format("{0:0.##}", lvatend) //decimal lvNetoAbo2 = Convert.ToDecimal(t_REPORTE_CONTACTOS[i].GetString("NETO_ABONO2")); //REPORTE_CONTACTOS_resp.NETO_ABONO2 = string.Format("{0:#,0}", lvNetoAbo2); if (lt_PAGOS_MASIVOS[i].GetString("MONTOF") == "") { PAGOS_MASIVOS_resp.MONTOF = "0"; } else { decimal Cualquiernombre = Convert.ToDecimal(lt_PAGOS_MASIVOS[i].GetString("MONTOF")); // PAGOS_MASIVOS_resp.MONTOF = lt_PAGOS_MASIVOS[i].GetString("MONTOF"); PAGOS_MASIVOS_resp.MONTOF = string.Format("{0:0.##}", Cualquiernombre); } if (lt_PAGOS_MASIVOS[i].GetString("MONTO") == "") { PAGOS_MASIVOS_resp.MONTO = "0"; } else { decimal Cualquiernombre = Convert.ToDecimal(lt_PAGOS_MASIVOS[i].GetString("MONTO")); // PAGOS_MASIVOS_resp.MONTOF = lt_PAGOS_MASIVOS[i].GetString("MONTOF"); PAGOS_MASIVOS_resp.MONTO = string.Format("{0:0.##}", Cualquiernombre); } if (lt_PAGOS_MASIVOS[i].GetString("MONTOF_ABON") == "") { PAGOS_MASIVOS_resp.MONTOF_ABON = "0"; } else { decimal Cualquiernombre = Convert.ToDecimal(lt_PAGOS_MASIVOS[i].GetString("MONTOF_ABON")); PAGOS_MASIVOS_resp.MONTOF_ABON = string.Format("{0:0.##}", Cualquiernombre); } if (lt_PAGOS_MASIVOS[i].GetString("MONTOF_PAGAR") == "") { PAGOS_MASIVOS_resp.MONTOF_PAGAR = "0"; } else { // PAGOS_MASIVOS_resp.MONTOF_ABON = lt_PAGOS_MASIVOS[i].GetString("MONTOF_ABON"); decimal Cualquiernombre = Convert.ToDecimal(lt_PAGOS_MASIVOS[i].GetString("MONTOF_PAGAR")); PAGOS_MASIVOS_resp.MONTOF_PAGAR = string.Format("{0:0.##}", Cualquiernombre); } // PAGOS_MASIVOS_resp.MONTOF_PAGAR = lt_PAGOS_MASIVOS[i].GetString("MONTOF_PAGAR"); ObjDatosPartidasOpen.Add(PAGOS_MASIVOS_resp); } } else { MessageBox.Show("No existen registros para este número de RUT"); } String Mensaje = ""; if (lt_retorno.Count > 0) { retorno_resp = new ESTADO(); for (int i = 0; i < lt_retorno.Count(); i++) { // lt_retorno.CurrentIndex = i; retorno_resp.TYPE = lt_retorno.GetString("TYPE"); retorno_resp.ID = lt_retorno.GetString("ID"); retorno_resp.NUMBER = lt_retorno.GetString("NUMBER"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.LOG_NO = lt_retorno.GetString("LOG_NO"); retorno_resp.LOG_MSG_NO = lt_retorno.GetString("LOG_MSG_NO"); retorno_resp.MESSAGE = lt_retorno.GetString("MESSAGE"); retorno_resp.MESSAGE_V1 = lt_retorno.GetString("MESSAGE_V1"); if (i == 0) { Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V1"); } retorno_resp.MESSAGE_V2 = lt_retorno.GetString("MESSAGE_V2"); retorno_resp.MESSAGE_V3 = lt_retorno.GetString("MESSAGE_V3"); retorno_resp.MESSAGE_V4 = lt_retorno.GetString("MESSAGE_V4"); retorno_resp.PARAMETER = lt_retorno.GetString("PARAMETER"); retorno_resp.ROW = lt_retorno.GetString("ROW"); retorno_resp.FIELD = lt_retorno.GetString("FIELD"); retorno_resp.SYSTEM = lt_retorno.GetString("SYSTEM"); Retorno.Add(retorno_resp); } System.Windows.MessageBox.Show(Mensaje); } GC.Collect(); } else { errormessage = retval; GC.Collect(); } }
public void cierrecajadefinitivo(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER , string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_USUARIO, string P_PAIS, string P_ID_APERTURA, string P_MONTO_CIERRE , string P_MONTO_DIF, string P_COMENTARIO_DIF, string P_COMENTARIO_CIERRE, string P_TOTAL_APERTURA, string P_IND_CIERRE, string P_ID_ARQUEO_IN) { try { ESTATUS retorno; //CAB_ARQUEO cabarqueo; RESUMEN_VP resumenvp; DETALLE_ARQUEO detarqueo; DETALLE_REND detallerend; DETALLE_VP detallevp; DET_EFECTIVO detefectivo; T_Retorno.Clear(); det_arqueo.Clear(); detalle_rend.Clear(); det_efectivo.Clear(); //cab_arqueo.Clear(); resumen_viapago.Clear(); detalle_vp.Clear(); errormessage = ""; message = ""; diasatraso = ""; numerocierre = ""; MontoIngresos = 0; MontoEfect = 0; MontoChqDia = 0; MontoChqFech = 0; MontoTransf = 0; MontoValeV = 0; MontoDepot = 0; MontoTarj = 0; MontoFinanc = 0; MontoApp = 0; MontoCredit = 0; MontoEgresos = 0; MontoCCurse = 0; MontoFondosFijos = 0; SaldoTotal = 0; IRfcTable ls_RETORNO; IRfcTable lt_DETALLE_REND; IRfcTable lt_RESUMEN_VP; IRfcTable lt_DET_EFECTIVO; IRfcTable lt_DET_ARQUEO; IRfcTable lt_DETALLE_VP; connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_FM_SAVE_CIERRE"); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("LAND", P_PAIS); if (P_MONTO_CIERRE == "") { P_MONTO_CIERRE = "0"; } BapiGetUser.SetValue("MONTO_CIERRE", P_MONTO_CIERRE); //Total caja if (P_MONTO_DIF == "") { P_MONTO_DIF = "0"; } BapiGetUser.SetValue("MONTO_DIF", P_MONTO_DIF); //Diferencia BapiGetUser.SetValue("COMENTARIO_DIF", P_COMENTARIO_DIF); //text BapiGetUser.SetValue("COMENTARIO_CIERRE", P_COMENTARIO_CIERRE); //text BapiGetUser.SetValue("TOTAL_APERTURA", P_TOTAL_APERTURA); //log apertura BapiGetUser.SetValue("IND_CIERRE", P_IND_CIERRE); //"C" BapiGetUser.SetValue("ID_ARQUEO_IN", P_ID_ARQUEO_IN); //buscar numero de arqueo BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); //log de apertura BapiGetUser.Invoke(SapRfcDestination); diasatraso = BapiGetUser.GetString("DIAS_ATRASO"); numerocierre = BapiGetUser.GetString("NUM_CIERRE"); lt_DETALLE_VP = BapiGetUser.GetTable("DETALLE_VP"); try { for (int i = 0; i < lt_DETALLE_VP.Count(); i++) { lt_DETALLE_VP.CurrentIndex = i; detallevp = new DETALLE_VP(); detallevp.SOCIEDAD = lt_DETALLE_VP.GetString("SOCIEDAD"); detallevp.SOCIEDAD_TXT = lt_DETALLE_VP.GetString("SOCIEDAD_TXT"); detallevp.ID_COMPROBANTE = lt_DETALLE_VP.GetString("ID_COMPROBANTE"); detallevp.ID_DETALLE = lt_DETALLE_VP.GetString("ID_DETALLE"); detallevp.VIA_PAGO = lt_DETALLE_VP.GetString("VIA_PAGO"); detallevp.MONTO = lt_DETALLE_VP.GetString("MONTO"); detallevp.MONEDA = lt_DETALLE_VP.GetString("MONEDA"); detallevp.BANCO = lt_DETALLE_VP.GetString("BANCO"); detallevp.BANCO_TXT = lt_DETALLE_VP.GetString("BANCO_TXT"); detallevp.EMISOR = lt_DETALLE_VP.GetString("EMISOR"); detallevp.NUM_CHEQUE = lt_DETALLE_VP.GetString("NUM_CHEQUE"); detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION"); detallevp.CLIENTE = lt_DETALLE_VP.GetString("CLIENTE"); detallevp.NRO_DOCUMENTO = lt_DETALLE_VP.GetString("NRO_DOCUMENTO"); detallevp.NUM_CUOTAS = lt_DETALLE_VP.GetString("NUM_CUOTAS"); detallevp.FECHA_VENC = lt_DETALLE_VP.GetString("FECHA_VENC"); detallevp.FECHA_EMISION = lt_DETALLE_VP.GetString("FECHA_EMISION"); detallevp.NOTA_VENTA = lt_DETALLE_VP.GetString("NOTA_VENTA"); detallevp.TEXTO_POSICION = lt_DETALLE_VP.GetString("TEXTO_POSICION"); detallevp.NULO = lt_DETALLE_VP.GetString("NULO"); detallevp.NRO_REFERENCIA = lt_DETALLE_VP.GetString("NRO_REFERENCIA"); detallevp.TIPO_DOCUMENTO = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO"); detalle_vp.Add(detallevp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND"); try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DETALLE_REND.CurrentIndex = i; detallerend = new DETALLE_REND(); detallerend.N_VENTA = lt_DETALLE_REND.GetString("N_VENTA"); detallerend.FEC_EMI = lt_DETALLE_REND.GetString("FEC_EMI"); detallerend.FEC_VENC = lt_DETALLE_REND.GetString("FEC_VENC"); detallerend.MONTO = lt_DETALLE_REND.GetString("MONTO"); detallerend.NAME1 = lt_DETALLE_REND.GetString("NAME1"); detallerend.MONTO_EFEC = lt_DETALLE_REND.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_EFEC")); detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE"); detallerend.MONTO_DIA = lt_DETALLE_REND.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DIA")); detallerend.MONTO_FECHA = lt_DETALLE_REND.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FECHA")); detallerend.MONTO_TRANSF = lt_DETALLE_REND.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TRANSF")); detallerend.MONTO_VALE_V = lt_DETALLE_REND.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_VALE_V")); detallerend.MONTO_DEP = lt_DETALLE_REND.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_DEP")); detallerend.MONTO_TARJ = lt_DETALLE_REND.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_TARJ")); detallerend.MONTO_FINANC = lt_DETALLE_REND.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_FINANC")); detallerend.MONTO_APP = lt_DETALLE_REND.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_APP")); detallerend.MONTO_CREDITO = lt_DETALLE_REND.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_CREDITO")); detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE"); detallerend.MONTO_C_CURSE = lt_DETALLE_REND.GetString("MONTO_C_CURSE"); MontoCCurse = MontoCCurse + Convert.ToDouble(lt_DETALLE_REND.GetString("MONTO_C_CURSE")); detallerend.DOC_SAP = lt_DETALLE_REND.GetString("DOC_SAP"); detalle_rend.Add(detallerend); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } MontoIngresos = MontoIngresos + MontoEfect + MontoChqDia + MontoChqFech + MontoTransf + MontoValeV + MontoDepot + MontoTarj + MontoFinanc + MontoApp + MontoCredit + MontoCCurse; SaldoTotal = MontoIngresos - MontoEgresos; lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); try { for (int i = 0; i < lt_RESUMEN_VP.Count(); i++) { lt_RESUMEN_VP.CurrentIndex = i; resumenvp = new RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); resumenvp.TEXT1 = lt_RESUMEN_VP.GetString("TEXT1"); resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA"); resumenvp.MONTO = lt_RESUMEN_VP.GetString("MONTO"); resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS"); resumen_viapago.Add(resumenvp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } //lt_CAB_ARQUEO = BapiGetUser.GetTable("DET_EFECTIVO"); //try //{ // for (int i = 0; i < lt_CAB_ARQUEO.Count(); i++) // { // lt_CAB_ARQUEO.CurrentIndex = i; // cabarqueo = new CAB_ARQUEO(); // cabarqueo.MANDT = lt_CAB_ARQUEO.GetString("MANDT"); // cabarqueo.LAND = lt_CAB_ARQUEO.GetString("LAND"); // cabarqueo.ID_ARQUEO = lt_CAB_ARQUEO.GetString("ID_ARQUEO"); // cabarqueo.ID_REGISTRO = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); // cabarqueo.ID_CAJA = lt_CAB_ARQUEO.GetString("CANTIDAD"); // cabarqueo.MONTO_CIERRE = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); // cabarqueo.MONTO_DIF = lt_CAB_ARQUEO.GetString("ID_DENOMINACION"); // cabarqueo.COMENTARIO_DIF = lt_CAB_ARQUEO.GetString("CANTIDAD"); // cabarqueo.NULO = lt_CAB_ARQUEO.GetString("MONTO_TOTAL"); // cab_arqueo.Add(cabarqueo); // } //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message, ex.StackTrace); // MessageBox.Show(ex.Message + ex.StackTrace); //} //lt_DET_ARQUEO = BapiGetUser.GetTable("DET_ARQUEO"); //try //{ // for (int i = 0; i < lt_DET_ARQUEO.Count(); i++) // { // lt_DET_ARQUEO.CurrentIndex = i; // detarqueo = new DET_ARQUEO(); // detarqueo.MANDT = lt_DET_ARQUEO.GetString("MANDT"); // detarqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); // detarqueo.ID_ARQUEO = lt_DET_ARQUEO.GetString("ID_ARQUEO"); // detarqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION"); // detarqueo.CANTIDAD = lt_DET_ARQUEO.GetString("CANTIDAD"); // detarqueo.MONTO_TOTAL = lt_DET_ARQUEO.GetString("MONTO_TOTAL"); // det_arqueo.Add(detarqueo); // } //} //catch (Exception ex) //{ // Console.WriteLine(ex.Message, ex.StackTrace); // MessageBox.Show(ex.Message + ex.StackTrace); //} lt_DET_ARQUEO = BapiGetUser.GetTable("DETALLE_ARQUEO"); try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DET_ARQUEO.CurrentIndex = i; detarqueo = new DETALLE_ARQUEO(); detarqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); detarqueo.ID_CAJA = lt_DET_ARQUEO.GetString("ID_CAJA"); detarqueo.USUARIO = lt_DET_ARQUEO.GetString("USUARIO"); detarqueo.SOCIEDAD = lt_DET_ARQUEO.GetString("SOCIEDAD"); detarqueo.HORA_REND = lt_DET_ARQUEO.GetString("HORA_REND"); detarqueo.FECHA_REND = lt_DET_ARQUEO.GetString("FECHA_REND"); detarqueo.MONEDA = lt_DET_ARQUEO.GetString("MONEDA"); detarqueo.VIA_PAGO = lt_DET_ARQUEO.GetString("VIA_PAGO"); detarqueo.TIPO_MONEDA = lt_DET_ARQUEO.GetString("TIPO_MONEDA"); detarqueo.CANTIDAD_MON = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); detarqueo.SUMA_MON_BILL = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); detarqueo.CANTIDAD_DOC = lt_DET_ARQUEO.GetString("CANTIDAD_DOC"); detarqueo.SUMA_DOCS = lt_DET_ARQUEO.GetString("MONTO_DSUMA_DOCSEP"); det_arqueo.Add(detarqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DET_EFECTIVO = BapiGetUser.GetTable("DET_EFECTIVO"); try { for (int i = 0; i < lt_DET_EFECTIVO.Count(); i++) { lt_DET_ARQUEO.CurrentIndex = i; detefectivo = new DET_EFECTIVO(); detefectivo.MANDT = lt_DET_EFECTIVO.GetString("MANDT"); detefectivo.LAND = lt_DET_EFECTIVO.GetString("LAND"); detefectivo.ID_ARQUEO = lt_DET_EFECTIVO.GetString("ID_ARQUEO"); detefectivo.ID_DENOMINACION = lt_DET_EFECTIVO.GetString("ID_DENOMINACION"); detefectivo.CANTIDAD = lt_DET_EFECTIVO.GetString("CANTIDAD"); detefectivo.MONTO_TOTAL = lt_DET_EFECTIVO.GetString("MONTO_TOTAL"); det_efectivo.Add(detefectivo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } ls_RETORNO = BapiGetUser.GetTable("ESTATUS"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { ls_RETORNO.CurrentIndex = i; retorno = new ESTATUS(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + " - " + ls_RETORNO.GetString("MESSAGE"); //numerocierre = ls_RETORNO.GetString("MESSAGE_V4"); } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE"); } retorno.TYPE = ls_RETORNO.GetString("TYPE"); retorno.ID = ls_RETORNO.GetString("ID"); retorno.NUMBER = ls_RETORNO.GetString("NUMBER"); retorno.MESSAGE = ls_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = ls_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3"); if (ls_RETORNO.GetString("MESSAGE_V4") != "") { // comprobante = ls_RETORNO.GetString("MESSAGE_V4"); } retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4"); retorno.PARAMETER = ls_RETORNO.GetString("PARAMETER"); retorno.ROW = ls_RETORNO.GetString("ROW"); retorno.FIELD = ls_RETORNO.GetString("FIELD"); retorno.SYSTEM = ls_RETORNO.GetString("SYSTEM"); T_Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }
public static void ZRFC_SRM_PO_DATA(RfcServerContext context, IRfcFunction function) { String im = function.GetString("IM_PO"); IRfcTable ITAB_PO = function.GetTable("ITAB_PO"); DataTable dt = GetDataTableFromRfcTable(ITAB_PO); }
/// <summary> /// Notify SAP which output parameters are required i.e. SAP will only respond with the data that has been requested /// </summary> /// <param name="function"></param> /// <param name="meta"></param> /// <param name="rfc"></param> private void PrepareOutputParameters(SAPFunction function, RfcFunctionMetadata meta, IRfcFunction rfc) { foreach (var iout in function.OutputParameters) { String paramName = iout; String secondLevelStructure = string.Empty; int index = -1; string[] paramDetail = paramName.Split(':'); if (paramDetail.Length == 1) { index = meta.TryNameToIndex(paramName); } else if (paramDetail.Length == 2) { secondLevelStructure = paramDetail[0]; paramName = paramDetail[1]; index = meta.TryNameToIndex(secondLevelStructure); } if (index != -1) { RfcElementMetadata elementMeta = rfc.GetElementMetadata(index); RfcDataType type = elementMeta.DataType; String dataType = type.ToString(); function.DataType.Add(paramName + ":" + secondLevelStructure, ConvertDataType(type)); IRfcDataContainer container = null; if (dataType.Equals(SAPFunction.STRUCTURE)) { RfcStructureMetadata structureMeta = elementMeta.ValueMetadataAsStructureMetadata; container = rfc.GetStructure(secondLevelStructure); } else if (dataType.Equals(SAPFunction.TABLE)) { RfcTableMetadata tableMeta = elementMeta.ValueMetadataAsTableMetadata; container = rfc.GetTable(secondLevelStructure); if (tableMeta.Name.Equals(String.Empty)) { String lineType = tableMeta.LineType.ContainerType.ToString(); if (lineType.Equals("STRUCTURE")) { container = tableMeta.LineType.CreateStructure(); } } } else { rfc.GetString(secondLevelStructure); } } } }
// SD08 - Inteface de Pedido - Comunicação // funcao - ZFXI_SD08C //[RfcServerFunction(Name = "ZFXI_SD08C")] public static void StfcInterfacePedido(RfcServerContext context, IRfcFunction function) { // Exibe no console a interface que será executada Console.WriteLine("Received function call {0} from system {1}.", function.Metadata.Name, context.SystemAttributes.SystemID); Char teste = function.GetChar("E_STATUS"); string status = function.GetString("E_STATUS"); // Implementa repositorio antes do Foreach para evitar duplicações PedidoVendaRepository pedidoVendaRepository = new PedidoVendaRepository(); PedidoVenda pedidoCabecalho = new PedidoVenda(); PedidoVendaLinhaRepository pedidoVendaLinhaRepository = new PedidoVendaLinhaRepository(); PedidoVendaLinha pedidoLinha = new PedidoVendaLinha(); // ZSTSD011 IRfcTable it_pedidoLinhas = function.GetTable("TE_ITEM"); // Implementa Repositorio Rfc de resposta RfcRepository rep = context.Repository; // RETORNO RfcStructureMetadata bapiret2 = rep.GetStructureMetadata("BAPIRET2"); IRfcStructure linha_retorno = bapiret2.CreateStructure(); if (status != "") { // // PEDIDO LINHAS // int v_cont = 0; foreach (IRfcStructure row in it_pedidoLinhas) { pedidoLinha.Id_cotacao = row.GetString("COTACAO"); pedidoLinha.Id_item = row.GetString("POSNR"); pedidoLinha.MotivoDeRecusa = row.GetString("ABGRU"); // Atualiza o Status do Cabecalho do Pedido v_cont = v_cont + 1; try { // Obtem a Linha do Pedido que será atualizada IList<PedidoVenda> fromCabecalho = pedidoVendaRepository.ObterRegistrosUmCampo("Id_cotacao", pedidoLinha.Id_cotacao); // Atualiza o status da Linha foreach (PedidoVenda dados in fromCabecalho) { dados.Status = Convert.ToString(function.GetChar("E_STATUS")); pedidoVendaRepository.Alterar(dados); } } catch (Exception ex) { // Em caso de erro retorna o erro Console.Write("Erro ao Atualizar o Status do Cabecalho do Pedido: " + ex); IRfcTable retorno = function.GetTable("TI_RETURN"); linha_retorno.SetValue("TYPE", "E"); linha_retorno.SetValue("MESSAGE", ex.Message); linha_retorno.SetValue("MESSAGE", "Erro ao Atualizar o Status do Cabecalho do Pedido: " + pedidoLinha.Id_cotacao); retorno.Insert(linha_retorno); } //Atualiza o Status e o Motivo Recusa da Linha do Pedido try { // Obtem a Linha do Pedido que será atualizada IList<PedidoVendaLinha> fromLinha = pedidoVendaLinhaRepository.ObterRegistrosDoisCampos("Id_cotacao", pedidoLinha.Id_cotacao, "Id_item", pedidoLinha.Id_item); // Atualiza o status da Linha foreach (PedidoVendaLinha dados in fromLinha) { //dados.Status = pedidoLinha.Status; if (pedidoLinha.MotivoDeRecusa != "") { dados.MotivoDeRecusa = pedidoLinha.MotivoDeRecusa; } else { dados.MotivoDeRecusa = null; } pedidoVendaLinhaRepository.Alterar(dados); } } catch (Exception ex) { // Em caso de erro retorna o erro Console.Write("Erro ao atualizar o Status da Linha do Pedido: " + ex); IRfcTable retorno = function.GetTable("TI_RETURN"); linha_retorno.SetValue("TYPE", "E"); linha_retorno.SetValue("MESSAGE", ex.Message); linha_retorno.SetValue("MESSAGE", "Erro ao Atualizar o Status da Linha do Pedido: " + pedidoLinha.Id_cotacao + " - Na linha: " + pedidoLinha.Id_item); retorno.Insert(linha_retorno); } } IRfcTable retornoSucesso = function.GetTable("TI_RETURN"); linha_retorno.SetValue("TYPE", "S"); linha_retorno.SetValue("MESSAGE", "Registros atualizados com Sucesso Pedido Vendas: " + v_cont); retornoSucesso.Insert(linha_retorno); // FIM PEDIDO LINHAS } else { IRfcTable retornoErro = function.GetTable("TI_RETURN"); linha_retorno.SetValue("TYPE", "E"); linha_retorno.SetValue("MESSAGE", "Status recebido inválido"); retornoErro.Insert(linha_retorno); return; } }
public void rendicioncaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, string P_ID_CAJA, string P_DATUMDESDE, string P_DATUMHASTA, string P_USUARIO , string P_PAIS, string P_SOCIEDAD, string P_ID_APERTURA, string P_ID_CIERRE, string P_IND_ARQUEO, string P_MONEDA) { try { ESTATUS retorno; DETALLE_VP detallevp; RESUMEN_VP resumenvp; DETALLE_REND detallerend; DETALLE_ARQUEO detallearqueo; INFO_SOCI InfoSociedad; T_Retorno.Clear(); detalle_rend.Clear(); detalle_arqueo.Clear(); detalle_viapago.Clear(); resumen_viapago.Clear(); errormessage = ""; message = ""; IdCaja = ""; FechArqueo = ""; FechaArqueoHasta = ""; CajeroResp = ""; Sucursal = ""; Sociedad = ""; NombreCaja = ""; MontoIngresos = 0; MontoEfect = 0; MontoChqDia = 0; MontoChqFech = 0; MontoTransf = 0; MontoValeV = 0; MontoDepot = 0; MontoTarj = 0; MontoFinanc = 0; MontoApp = 0; MontoCredit = 0; MontoEgresos = 0; MontoFondosFijos = 0; SaldoTotal = 0; IRfcStructure ls_RETORNO; IRfcTable lt_DETALLE_VP; IRfcTable lt_RESUMEN_VP; IRfcTable lt_DETALLE_REND; IRfcTable lt_DET_ARQUEO; IRfcTable lt_INFO_SOCI; //Conexion a SAP connectorSap.idioma = P_IDIOMA; connectorSap.idSistema = P_IDSISTEMA; connectorSap.instancia = P_INSTANCIA; connectorSap.mandante = P_MANDANTE; connectorSap.paswr = P_PASSWORD; connectorSap.sapRouter = P_SAPROUTER; connectorSap.user = P_UNAME; connectorSap.server = P_SERVER; string retval = connectorSap.connectionsSAP(); //Si el valor de retorno es nulo o vacio, hay conexion a SAP y la RFC trae datos if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_REP_REN_CAJA"); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.SetValue("ID_CIERRE", P_ID_CIERRE); BapiGetUser.SetValue("ID_APERTURA", P_ID_APERTURA); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); BapiGetUser.SetValue("IND_ARQUEO", P_IND_ARQUEO); BapiGetUser.SetValue("LAND", P_PAIS); BapiGetUser.Invoke(SapRfcDestination); BapiGetUser.GetString("ID_CAJA_OUT"); FechArqueo = BapiGetUser.GetString("DATE_ARQ_OUT"); FechaArqueoHasta = BapiGetUser.GetString("DATE_ARQ_TO_OUT"); CajeroResp = BapiGetUser.GetString("CAJERO_RESP_OUT"); Sucursal = BapiGetUser.GetString("SUCURSAL"); NombreCaja = BapiGetUser.GetString("NOM_CAJA"); Sociedad = BapiGetUser.GetString("SOCIEDAD_OUT"); id_arqueo = BapiGetUser.GetString("ID_ARQUEO"); id_cierre = BapiGetUser.GetString("ID_CIERRE_OUT"); lt_DETALLE_VP = BapiGetUser.GetTable("DETALLE_VP"); lt_INFO_SOCI = BapiGetUser.GetTable("INFO_SOCI"); try { for (int i = 0; i < lt_INFO_SOCI.Count(); i++) { lt_INFO_SOCI.CurrentIndex = i; InfoSociedad = new INFO_SOCI(); InfoSociedad.BUKRS = lt_INFO_SOCI.GetString("BUKRS"); InfoSociedad.BUTXT = lt_INFO_SOCI.GetString("BUTXT"); InfoSociedad.STCD1 = lt_INFO_SOCI.GetString("STCD1"); ObjInfoSoc.Add(InfoSociedad); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } try { for (int i = 0; i < lt_DETALLE_VP.Count(); i++) { lt_DETALLE_VP.CurrentIndex = i; detallevp = new DETALLE_VP(); detallevp.SOCIEDAD = lt_DETALLE_VP.GetString("SOCIEDAD"); detallevp.SOCIEDAD_TXT = lt_DETALLE_VP.GetString("SOCIEDAD_TXT"); detallevp.ID_COMPROBANTE = lt_DETALLE_VP.GetString("ID_COMPROBANTE"); detallevp.ID_DETALLE = lt_DETALLE_VP.GetString("ID_DETALLE"); detallevp.VIA_PAGO = lt_DETALLE_VP.GetString("VIA_PAGO"); FormatoMonedas FM = new FormatoMonedas(); if (lt_DETALLE_VP[i].GetString("MONEDA") == "CLP") { string Formateo = FM.FormatoMonedaChilena(lt_DETALLE_VP[i].GetString("MONTO").Trim(), "2"); detallevp.MONTO = Formateo; } else { string Formateo = FM.FormatoMonedaExtranjera(lt_DETALLE_VP[i].GetString("MONTO").Trim()); detallevp.MONTO = Formateo; } detallevp.MONTO = lt_DETALLE_VP.GetString("MONTO"); detallevp.MONEDA = lt_DETALLE_VP.GetString("MONEDA"); detallevp.BANCO = lt_DETALLE_VP.GetString("BANCO"); detallevp.BANCO_TXT = lt_DETALLE_VP.GetString("BANCO_TXT"); detallevp.EMISOR = lt_DETALLE_VP.GetString("EMISOR"); detallevp.NUM_CHEQUE = lt_DETALLE_VP.GetString("NUM_CHEQUE"); detallevp.COD_AUTORIZACION = lt_DETALLE_VP.GetString("COD_AUTORIZACION"); detallevp.CLIENTE = lt_DETALLE_VP.GetString("CLIENTE"); detallevp.NRO_DOCUMENTO = lt_DETALLE_VP.GetString("NRO_DOCUMENTO"); detallevp.NUM_CUOTAS = lt_DETALLE_VP.GetString("NUM_CUOTAS"); detallevp.FECHA_VENC = lt_DETALLE_VP.GetString("FECHA_VENC"); detallevp.FECHA_EMISION = lt_DETALLE_VP.GetString("FECHA_EMISION"); detallevp.NOTA_VENTA = lt_DETALLE_VP.GetString("NOTA_VENTA"); detallevp.TEXTO_POSICION = lt_DETALLE_VP.GetString("TEXTO_POSICION"); detallevp.NULO = lt_DETALLE_VP.GetString("NULO"); detallevp.NRO_REFERENCIA = lt_DETALLE_VP.GetString("NRO_REFERENCIA"); detallevp.TIPO_DOCUMENTO = lt_DETALLE_VP.GetString("TIPO_DOCUMENTO"); detalle_viapago.Add(detallevp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_VP = BapiGetUser.GetTable("RESUMEN_VP"); try { for (int i = 0; i < lt_RESUMEN_VP.Count(); i++) { lt_RESUMEN_VP.CurrentIndex = i; resumenvp = new RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); //string Valor = lt_RESUMEN_VP[i].GetString("MONTO_EFEC").Trim(); ////if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "0" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "N") ////{ //// MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO")); ////} resumenvp.TEXT1 = lt_RESUMEN_VP.GetString("TEXT1"); resumenvp.MONEDA = lt_RESUMEN_VP.GetString("MONEDA"); FormatoMonedas FM = new FormatoMonedas(); if (lt_RESUMEN_VP[i].GetString("MONEDA") == "CLP") { resumenvp.MONTO = FM.FormatoMonedaChilena(lt_RESUMEN_VP[i].GetString("MONTO"), "1"); } else { resumenvp.MONTO = FM.FormatoMonedaExtranjera(lt_RESUMEN_VP[i].GetString("MONTO")); } resumenvp.MONTO = lt_RESUMEN_VP.GetString("MONTO"); resumenvp.CANT_DOCS = lt_RESUMEN_VP.GetString("CANT_DOCS"); resumen_viapago.Add(resumenvp); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_DETALLE_REND = BapiGetUser.GetTable("DETALLE_REND"); try { for (int i = 0; i < lt_DETALLE_REND.Count(); i++) { lt_DETALLE_REND.CurrentIndex = i; detallerend = new DETALLE_REND(); detallerend.N_VENTA = lt_DETALLE_REND.GetString("N_VENTA"); detallerend.FEC_EMI = lt_DETALLE_REND.GetString("FEC_EMI"); detallerend.FEC_VENC = lt_DETALLE_REND.GetString("FEC_VENC"); detallerend.MONEDA = lt_DETALLE_REND.GetString("MONEDA"); detallerend.VIA_PAGO = lt_DETALLE_REND.GetString("VIA_PAGO"); FormatoMonedas FM = new FormatoMonedas(); if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO = FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO"), "2"); } else { detallerend.MONTO = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO")); } detallerend.NAME1 = lt_DETALLE_REND.GetString("NAME1"); if (detallerend.MONEDA == P_MONEDA) { MontoEfect = MontoEfect + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO_EFEC"), "2")); detallerend.MONTO_EFEC = FM.FormatoMonedaChilena(lt_DETALLE_REND[i].GetString("MONTO_EFEC"), "2"); string Valor = lt_DETALLE_REND[i].GetString("MONTO_EFEC").Trim(); if (Valor.Contains("-")) { MontoEgresos = MontoEgresos + Convert.ToDouble(lt_DETALLE_REND[i].GetString("MONTO_EFEC")); } } else { detallerend.MONTO_EFEC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_EFEC")); } detallerend.NUM_CHEQUE = lt_DETALLE_REND.GetString("NUM_CHEQUE"); if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_DIA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2"); MontoChqDia = MontoChqDia + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DIA"), "2")); } else { detallerend.MONTO_DIA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DIA")); MontoChqDia = MontoChqDia + Convert.ToDouble(detallerend.MONTO_DIA); } if (detallerend.MONEDA == P_MONEDA) { MontoChqFech = MontoChqFech + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2")); detallerend.MONTO_FECHA = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FECHA"), "2"); } else { detallerend.MONTO_FECHA = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FECHA")); MontoChqFech = MontoChqFech + Convert.ToDouble(detallerend.MONTO_FECHA); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_TRANSF = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2"); MontoTransf = MontoTransf + Convert.ToDouble(FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TRANSF"), "2")); } else { detallerend.MONTO_TRANSF = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TRANSF")); MontoTransf = MontoTransf + Convert.ToDouble(detallerend.MONTO_TRANSF); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_VALE_V = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_VALE_V"), "2"); MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V); } else { detallerend.MONTO_VALE_V = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_VALE_V")); MontoValeV = MontoValeV + Convert.ToDouble(detallerend.MONTO_VALE_V); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_DEP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_DEP"), "2"); MontoDepot = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP); } else { detallerend.MONTO_DEP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_DEP")); MontoDepot = MontoDepot + Convert.ToDouble(detallerend.MONTO_DEP); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_TARJ = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_TARJ"), "2"); MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ); } else { detallerend.MONTO_TARJ = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_TARJ")); MontoTarj = MontoTarj + Convert.ToDouble(detallerend.MONTO_TARJ); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_FINANC = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_FINANC"), "2"); MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC); } else { detallerend.MONTO_FINANC = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_FINANC")); MontoFinanc = MontoFinanc + Convert.ToDouble(detallerend.MONTO_FINANC); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_APP = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_APP"), "2"); MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP); } else { detallerend.MONTO_APP = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_APP")); MontoApp = MontoApp + Convert.ToDouble(detallerend.MONTO_APP); } if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_CREDITO = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_CREDITO"), "2"); MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO); } else { detallerend.MONTO_CREDITO = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_CREDITO")); MontoCredit = MontoCredit + Convert.ToDouble(detallerend.MONTO_CREDITO); } detallerend.PATENTE = lt_DETALLE_REND.GetString("PATENTE"); if (detallerend.MONEDA == P_MONEDA) { detallerend.MONTO_C_CURSE = FM.FormatoMonedaChilena(lt_DETALLE_REND.GetString("MONTO_C_CURSE"), "2"); MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.MONTO_C_CURSE); } else { detallerend.MONTO_C_CURSE = FM.FormatoMonedaExtranjera(lt_DETALLE_REND[i].GetString("MONTO_C_CURSE")); MontoCCurse = MontoCCurse + Convert.ToDouble(detallerend.MONTO_C_CURSE); } detallerend.DOC_SAP = lt_DETALLE_REND.GetString("DOC_SAP"); detalle_rend.Add(detallerend); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } MontoIngresos = MontoIngresos + MontoEfect + MontoChqDia + MontoChqFech + MontoTransf + MontoValeV + MontoDepot + MontoTarj + MontoFinanc + MontoApp + MontoCredit + MontoCCurse; SaldoTotal = MontoIngresos; // +MontoEgresos; lt_DET_ARQUEO = BapiGetUser.GetTable("DETALLE_ARQUEO"); try { for (int i = 0; i < lt_DET_ARQUEO.Count(); i++) { lt_DET_ARQUEO.CurrentIndex = i; detallearqueo = new DETALLE_ARQUEO(); detallearqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); detallearqueo.ID_CAJA = lt_DET_ARQUEO.GetString("ID_CAJA"); detallearqueo.USUARIO = lt_DET_ARQUEO.GetString("USUARIO"); detallearqueo.SOCIEDAD = lt_DET_ARQUEO.GetString("SOCIEDAD"); detallearqueo.FECHA_REND = lt_DET_ARQUEO.GetString("FECHA_REND"); detallearqueo.HORA_REND = lt_DET_ARQUEO.GetString("HORA_REND"); detallearqueo.MONEDA = lt_DET_ARQUEO.GetString("MONEDA"); detallearqueo.VIA_PAGO = lt_DET_ARQUEO.GetString("VIA_PAGO"); detallearqueo.TIPO_MONEDA = lt_DET_ARQUEO.GetString("TIPO_MONEDA"); detallearqueo.CANTIDAD_MON = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); //* if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); detallearqueo.SUMA_MON_BILL = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); detallearqueo.SUMA_MON_BILL = string.Format("{0:0,0.##}", ValorAux); } if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_DOCS").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); detallearqueo.SUMA_DOCS = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_DOCS")); decimal ValorAux = Convert.ToDecimal(moneda); detallearqueo.SUMA_DOCS = string.Format("{0:0,0.##}", ValorAux); } detallearqueo.SUMA_DOCS = lt_DET_ARQUEO.GetString("SUMA_DOCS"); C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000001") { //C1 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M1 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M1 = string.Format("{0:0,0.##}", ValorAux); } //M1 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000005") { //C5 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M5 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M5 = string.Format("{0:0,0.##}", ValorAux); } } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000010") { //C10 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP") { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M10 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M10 = string.Format("{0:0,0.##}", ValorAux); } //M10 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000050") { //C50 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M50 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M50 = string.Format("{0:0,0.##}", ValorAux); } //M50 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000100") { //C100 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M100 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M100 = string.Format("{0:0,0.##}", ValorAux); } //M100 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000000500") { //C500 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == "CLP") { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M500 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M500 = string.Format("{0:0,0.##}", ValorAux); } //M500 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000001000") { //C1000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M1000 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M1000 = string.Format("{0:0,0.##}", ValorAux); } //M1000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000002000") { //C2000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M2000 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M2000 = string.Format("{0:0,0.##}", ValorAux); } //M2000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000005000") { //C5000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M5000 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M5000 = string.Format("{0:0,0.##}", ValorAux); } M5000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000010000") { //C10000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M10000 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M10000 = string.Format("{0:0,0.##}", ValorAux); } M10000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } if (lt_DET_ARQUEO.GetString("TIPO_MONEDA") == "0000020000") { //C20000 = lt_DET_ARQUEO.GetString("CANTIDAD_MON"); if (lt_DET_ARQUEO[i].GetString("MONEDA") == P_MONEDA) { string Valor = lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); string Cualquiernombre = string.Format("{0:0,0}", ValorAux); M20000 = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DET_ARQUEO[i].GetString("SUMA_MON_BILL")); decimal ValorAux = Convert.ToDecimal(moneda); M20000 = string.Format("{0:0,0.##}", ValorAux); } M20000 = lt_DET_ARQUEO.GetString("SUMA_MON_BILL"); } detalle_arqueo.Add(detallearqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } ls_RETORNO = BapiGetUser.GetStructure("RETORNO"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { //ls_RETORNO.CurrentIndex = i; retorno = new ESTATUS(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + " - " + ls_RETORNO.GetString("MESSAGE"); } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE"); } retorno.TYPE = ls_RETORNO.GetString("TYPE"); retorno.ID = ls_RETORNO.GetString("ID"); retorno.NUMBER = ls_RETORNO.GetString("NUMBER"); retorno.MESSAGE = ls_RETORNO.GetString("MESSAGE"); retorno.LOG_NO = ls_RETORNO.GetString("LOG_NO"); retorno.LOG_MSG_NO = ls_RETORNO.GetString("LOG_MSG_NO"); retorno.MESSAGE_V1 = ls_RETORNO.GetString("MESSAGE_V1"); retorno.MESSAGE_V2 = ls_RETORNO.GetString("MESSAGE_V2"); retorno.MESSAGE_V3 = ls_RETORNO.GetString("MESSAGE_V3"); if (ls_RETORNO.GetString("MESSAGE_V4") != "") { // comprobante = ls_RETORNO.GetString("MESSAGE_V4"); } retorno.MESSAGE_V4 = ls_RETORNO.GetString("MESSAGE_V4"); retorno.PARAMETER = ls_RETORNO.GetString("PARAMETER"); retorno.ROW = ls_RETORNO.GetString("ROW"); retorno.FIELD = ls_RETORNO.GetString("FIELD"); retorno.SYSTEM = ls_RETORNO.GetString("SYSTEM"); T_Retorno.Add(retorno); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; MessageBox.Show("No se pudo conectar a la RFC"); } GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } }