//MGV - funcion llamando SAPConn public List <PEntidades.PAbiertasYPago> getfacturasAbiertasConn(string fecha1, string fecha2, List <string[]> listaDiferentesInstancias) { List <PEntidades.PAbiertasYPago> list = new List <PEntidades.PAbiertasYPago>(); PEntidades.SrvSAPUProv.Z_UPARTIDAS_ABIERTAS abiertas = new PEntidades.SrvSAPUProv.Z_UPARTIDAS_ABIERTAS(); PEntidades.SrvSAPUProv.ZWS_UPROVEEDORESClient srv; status = new string[listaDiferentesInstancias.Count]; for (int j = 0; j < listaDiferentesInstancias.Count; j++) // listaDiferentesInstancias contiene idInstacia, endpoint, y las sociedades separadas por "," ; { try { srv = new PPersistencia.WebServices().getZWS_UPROVEEDORESInstanceNew( listaDiferentesInstancias[j][1].ToString().Trim(), listaDiferentesInstancias[j][4].Split(new Char[] { ',' }) ); srv.Open(); srv.InnerChannel.OperationTimeout = new TimeSpan(0, 10, 0); //PEntidades.SrvSAPUProv.ZEPLANT_PROV[] objetoSoc; //PEntidades.SrvSAPUProv.ZELIFNR_PROV[] objLifnr; //string[] splitSoc = listaDiferentesInstancias[j][2].Split(new Char[] { ',' }); //string[] splitLifnr = listaDiferentesInstancias[j][3].Split(new Char[] { ',' }); //abiertas.PROVEEDOR = PEntidades.Utiles.objetoLifnr(splitLifnr); //abiertas.SOCIEDAD = PEntidades.Utiles.objetoSociedad(splitSoc); PPersistencia.SAPConn psc = new PPersistencia.SAPConn(); //cambio llamado hacia SAP List <ParamsCallSAP> listPA = new List <ParamsCallSAP>(); ParamsCallSAP pr = new ParamsCallSAP(); pr = new ParamsCallSAP(); //abiertas.DATE1 = Gen.Util.CS.Gen.convertirFecha_SAP(fecha1); pr.NameVar = "DATE1"; pr.ValVar = Gen.Util.CS.Gen.convertirFecha_SAP(fecha1); pr.TipVar = "S"; listPA.Add(pr); pr = new ParamsCallSAP(); // abiertas.DATE2 = Gen.Util.CS.Gen.convertirFecha_SAP(fecha2); pr.NameVar = "DATE2"; pr.ValVar = Gen.Util.CS.Gen.convertirFecha_SAP(fecha2); pr.TipVar = "S"; listPA.Add(pr); List <TablasCallSAP> listT = new List <TablasCallSAP>(); TablasCallSAP tr = new TablasCallSAP(); List <ParamsCallSAP> listTb = new List <ParamsCallSAP>(); string[] splitLifnr = listaDiferentesInstancias[j][3].Split(new Char[] { ',' }); for (int i = 1; i <= splitLifnr.Length; i++) { pr = new ParamsCallSAP(); pr.NameVar = "LIFNR"; pr.ValVar = splitLifnr[i - 1].ToString().Trim(); pr.TipVar = "S"; listTb.Add(pr); } tr.TablaVar = "PROVEEDOR_TB"; tr.CamposVar = listTb; listT.Add(tr); string[] splitSoc = listaDiferentesInstancias[j][2].Split(new Char[] { ',' }); List <TablasCallSAP> listTC = new List <TablasCallSAP>(); TablasCallSAP trC = new TablasCallSAP(); List <ParamsCallSAP> listTc = new List <ParamsCallSAP>(); for (int i = 1; i <= splitSoc.Length; i++) { pr = new ParamsCallSAP(); pr.NameVar = "WERKS"; pr.ValVar = splitSoc[i - 1].ToString().Trim(); pr.TipVar = "S"; listTc.Add(pr); } trC.TablaVar = "SOCIEDAD_TB"; trC.CamposVar = listTc; listT.Add(trC); IRfcFunction rescon = psc.conSAP("Z_DPARTIDAS_ABIERTAS", listPA, listT); //var resultado = srv.Z_UPARTIDAS_ABIERTAS(abiertas); //int cantidad = resultado.PARTIDAS_ABIERTAS.Length; PEntidades.PAbiertasYPago objPabYPag; IRfcTable tb = rescon.GetTable(0); for (int o = 0; o < tb.Count; o++) { tb.CurrentIndex = o; objPabYPag = new PEntidades.PAbiertasYPago(); float DMSHB = float.Parse(tb.CurrentRow.GetString("DMSHB")); objPabYPag.IDINSTANCIA = int.Parse(listaDiferentesInstancias[j][0]); objPabYPag.ZUONR1 = tb.CurrentRow.GetString("ZUONR"); objPabYPag.BELNR1 = tb.CurrentRow.GetString("BELNR"); objPabYPag.BLART1 = tb.CurrentRow.GetString("BLART"); objPabYPag.BLDAT1 = tb.CurrentRow.GetString("BLDAT"); objPabYPag.DMSHB1 = DMSHB; objPabYPag.HWAER1 = tb.CurrentRow.GetString("HWAER"); objPabYPag.XBLNR = tb.CurrentRow.GetString("XBLNR"); objPabYPag.NAME1 = tb.CurrentRow.GetString("NAME1"); objPabYPag.EBELN = tb.CurrentRow.GetString("EBELN"); objPabYPag.F_BASE = tb.CurrentRow.GetString("F_BASE"); objPabYPag.F_VENCIM = tb.CurrentRow.GetString("F_VENCIM"); list.Add(objPabYPag); } srv.Close(); } catch (Exception e) { status[j] = "Error al cargar datos, reintente o vuelva a intentarlo más tarde."; } } return(list); }
public List <PEntidades.FV60XVerificar> exec_connSAP(string xprov, string xxblrn, string xbladti, string xbladtf) //public List<PEntidades.FV60> exec_connSAP(List<string> listaProveed, string xxblrn, string xbladti, string xbladtf) { PPersistencia.SAPConn psc = new PPersistencia.SAPConn(); List <ParamsCallSAP> list = new List <ParamsCallSAP>(); //tipo de parametro S-tring B-oolean Y-byte D-ecimal ParamsCallSAP pr = new ParamsCallSAP(); pr = new ParamsCallSAP(); pr.NameVar = "XBLNR"; pr.ValVar = xxblrn; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); pr.NameVar = "BLDATI"; pr.ValVar = xbladti; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); pr.NameVar = "BLDATF"; pr.ValVar = xbladtf; pr.TipVar = "S"; list.Add(pr); List <TablasCallSAP> listT = new List <TablasCallSAP>(); TablasCallSAP tr = new TablasCallSAP(); List <ParamsCallSAP> listTb = new List <ParamsCallSAP>(); pr = new ParamsCallSAP(); pr.NameVar = "LIFNR"; pr.ValVar = xprov; //"1000082"; "1000072" 1000037; algunos acreedores para FV60 - gonher pr.TipVar = "S"; listTb.Add(pr); tr.TablaVar = "PROVEEDOR_TB"; tr.CamposVar = listTb; listT.Add(tr); IRfcFunction resCon = psc.conSAP("Z_DFAC_FV60_LIST", list, listT); List <PEntidades.FV60XVerificar> listF = new List <PEntidades.FV60XVerificar>(); PEntidades.FV60XVerificar objFV60; IRfcTable tb = resCon.GetTable(0); if (tb.Count == 0) { msg = "No se encontraron resultados"; } for (int o = 0; o < tb.Count; o++) { tb.CurrentIndex = o; objFV60 = new PEntidades.FV60XVerificar(); objFV60.BUKRS = tb.CurrentRow.GetString("BUKRS"); objFV60.BELNR = tb.CurrentRow.GetString("BELNR"); objFV60.GJAHR = tb.CurrentRow.GetString("GJAHR"); objFV60.BLDAT = tb.CurrentRow.GetString("BLDAT"); objFV60.BUDAT = tb.CurrentRow.GetString("BUDAT"); objFV60.XBLNR = tb.CurrentRow.GetString("XBLNR"); objFV60.WAERS = tb.CurrentRow.GetString("WAERS"); objFV60.KURSF = decimal.Parse(tb.CurrentRow.GetString("KURSF")); objFV60.LIFNR = tb.CurrentRow.GetString("LIFNR"); objFV60.DMBTR = decimal.Parse(tb.CurrentRow.GetString("DMBTR")); objFV60.WRBTR = decimal.Parse(tb.CurrentRow.GetString("WRBTR")); objFV60.WMWST = decimal.Parse(tb.CurrentRow.GetString("WMWST")); objFV60.TIPOLINEA = tb.CurrentRow.GetString("TIPOLINEA"); objFV60.ZCOUNT = tb.CurrentRow.GetInt("ZCOUNT"); objFV60.INCIDENCIA = tb.CurrentRow.GetString("INCIDENCIA"); //objFV60.InsidenciaPersonal = tb.CurrentRow.GetString("InsidenciaPersonal"); //objFV60.DescripcionErrorSAP = tb.CurrentRow.GetString("DescripcionErrorSAP"); //objFV60.DescripcionErrorSAT = tb.CurrentRow.GetString("DescripcionErrorSAT"); if (tb.CurrentRow.GetString("MSG_VARIOS") == null) { objFV60.msgVarios = ""; } else { objFV60.msgVarios = tb.CurrentRow.GetString("MSG_VARIOS"); } objFV60.esPrimerCarga = false; listF.Add(objFV60); } return(listF); }
//MGV getListFacturasNewConSAP public List <PEntidades.FacturasXVerificar> getListFacturasNewConSAP( List <string[]> listaDiferentesInstancias, string ordenarOrden, string ordenarRef, string fhigh, string flow, string facthig, string factlow, string monedahig, string monedalow, string refhig, string refLow, ref string mensaje ) { List <PEntidades.FacturasXVerificar> lstResul = new List <PEntidades.FacturasXVerificar>(); // objeto lista //PEntidades.SrvSAPUProv.Z_UFAC_VERIFICAR verificar = new PEntidades.SrvSAPUProv.Z_UFAC_VERIFICAR(); //PEntidades.FacturasNE verificar = new PEntidades.FacturasNE(); //-- se necesita o se pasan directo los campos a la llamada? status = new string[listaDiferentesInstancias.Count]; for (int j = 0; j < listaDiferentesInstancias.Count; j++) //contiene idInstacia, endpoint, y sociedades separadas por "," ; { try { PEntidades.SrvSAPUProv.ZWS_UPROVEEDORESClient srv = new PPersistencia.WebServices().getZWS_UPROVEEDORESInstanceNew( listaDiferentesInstancias[j][1].ToString().Trim(), listaDiferentesInstancias[j][4].Split(new Char[] { ',' }) ); srv.Open(); srv.InnerChannel.OperationTimeout = new TimeSpan(0, 10, 0); //cambio llamado hacia SAP PPersistencia.SAPConn psc = new PPersistencia.SAPConn(); List <ParamsCallSAP> list = new List <ParamsCallSAP>(); ParamsCallSAP pr = new ParamsCallSAP(); pr = new ParamsCallSAP(); //verificar.REFERENCIA_LOW = refLow; pr.NameVar = "REFERENCIA_LOW"; pr.ValVar = refLow; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.REFERENCIA_HIGH = refhig; pr.NameVar = "REFERENCIA_HIGH"; pr.ValVar = refhig; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.MONEDA_LOW = monedalow; pr.NameVar = "MONEDA_LOW"; pr.ValVar = monedalow; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.MONEDA_HIGH = monedahig; pr.NameVar = "MONEDA_HIGH"; pr.ValVar = monedahig; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.F_COMPRA_LOW = flow; pr.NameVar = "F_COMPRA_LOW"; pr.ValVar = flow; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.F_COMPRA_HIGH = fhigh; pr.NameVar = "F_COMPRA_HIGH"; pr.ValVar = fhigh; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.FACTURA_LOW = factlow; pr.NameVar = "F_FAC_LOW"; pr.ValVar = factlow; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.FACTURA_HIGH = facthig; pr.NameVar = "F_FAC_HIGH"; pr.ValVar = facthig; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.P_ORDREF = ordenarRef; pr.NameVar = "P_ORDREF"; pr.ValVar = ordenarRef; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.P_ORDPED = ordenarOrden; pr.NameVar = "P_ORDPED"; pr.ValVar = ordenarOrden; pr.TipVar = "S"; list.Add(pr); pr = new ParamsCallSAP(); //verificar.P_BLOCK = "X"; pr.NameVar = "P_BLOCK"; pr.ValVar = "X"; pr.TipVar = "S"; list.Add(pr); List <TablasCallSAP> listT = new List <TablasCallSAP>(); TablasCallSAP tr = new TablasCallSAP(); List <ParamsCallSAP> listTb = new List <ParamsCallSAP>(); string[] splitLifnr = listaDiferentesInstancias[j][3].Split(new Char[] { ',' }); for (int i = 1; i <= splitLifnr.Length; i++) //verificar.PROVEEDOR = PEntidades.Utiles.objetoLifnr(splitLifnr); { pr = new ParamsCallSAP(); pr.NameVar = "LIFNR"; pr.ValVar = splitLifnr[i - 1].ToString().Trim(); //pr.ValVar = "1000000"; pr.TipVar = "S"; listTb.Add(pr); } tr.TablaVar = "PROVEEDOR_TB"; tr.CamposVar = listTb; listT.Add(tr); string[] splitSoc = listaDiferentesInstancias[j][2].Split(new Char[] { ',' }); List <TablasCallSAP> listTC = new List <TablasCallSAP>(); TablasCallSAP trC = new TablasCallSAP(); List <ParamsCallSAP> listTc = new List <ParamsCallSAP>(); for (int i = 1; i <= splitSoc.Length; i++) //verificar.CENTRO = PEntidades.Utiles.objetoSociedad(splitSoc); { pr = new ParamsCallSAP(); pr.NameVar = "WERKS"; pr.ValVar = splitSoc[i - 1].ToString().Trim(); pr.TipVar = "S"; listTc.Add(pr); } trC.TablaVar = "CENTRO_TB"; trC.CamposVar = listTc; listT.Add(trC); //PEntidades.SrvSAPUProv.Z_UFAC_VERIFICARResponse resul = srv.Z_UFAC_VERIFICAR(verificar); IRfcFunction rescon = psc.conSAP("Z_DFAC_VERIFICAR", list, listT); mensaje = psc.mensaje; //mensaje = resul.MENSAJE; IRfcTable tb = rescon.GetTable(0); for (int o = 0; o < tb.Count; o++) //for (int i = 0; i < resul.IT_F_VERIFICAR.Length; i++) { tb.CurrentIndex = o; PEntidades.FacturasXVerificar tmpFac = new PEntidades.FacturasXVerificar(); // objeto de la lista tmpFac.IDINSTANCIA = int.Parse(listaDiferentesInstancias[j][0]); tmpFac.TIPO = tb.CurrentRow.GetString("TIPO"); //tmpFac.TIPO = resul.IT_F_VERIFICAR[i].TIPO; tmpFac.EBELN = tb.CurrentRow.GetString("EBELN"); //resul.IT_F_VERIFICAR[i].EBELN; tmpFac.RFCCorrespon = tb.CurrentRow.GetString("RFC_PROVEEDOR"); //resul.IT_F_VERIFICAR[i].RFC_PROVEEDOR; tmpFac.RFCSociedad = tb.CurrentRow.GetString("RFC_SOC"); //resul.IT_F_VERIFICAR[i].RFC_SOC; tmpFac.DescripcionErrorSAP = tb.CurrentRow.GetString("FACT_SAP"); //resul.IT_F_VERIFICAR[i].FACT_SAP; tmpFac.DescripcionErrorSAT = tb.CurrentRow.GetString("FACT_SAT"); // resul.IT_F_VERIFICAR[i].FACT_SAT; tmpFac.InsidenciaPersonal = tb.CurrentRow.GetString("INCIDENCIA"); //resul.IT_F_VERIFICAR[i].INCIDENCIA; tmpFac.XBLNR2 = tb.CurrentRow.GetString("XBLNR2"); //resul.IT_F_VERIFICAR[i].XBLNR2; tmpFac.LIFNR = tb.CurrentRow.GetString("LIFNR"); //resul.IT_F_VERIFICAR[i].LIFNR; tmpFac.BUKRS = tb.CurrentRow.GetString("BUKRS"); //resul.IT_F_VERIFICAR[i].BUKRS; tmpFac.WERKS = tb.CurrentRow.GetString("WERKS").ToString(); //resul.IT_F_VERIFICAR[i].WERKS.ToString(); tmpFac.BUDAT = tb.CurrentRow.GetString("BUDAT"); //resul.IT_F_VERIFICAR[i].BUDAT; tmpFac.BLDAT = tb.CurrentRow.GetString("BLDAT"); //resul.IT_F_VERIFICAR[i].BLDAT; tmpFac.WRBTR = tb.CurrentRow.GetString("WRBTR").ToString(); //resul.IT_F_VERIFICAR[i].WRBTR.ToString();//Decimal tmpFac.IVA = tb.CurrentRow.GetString("IVA").ToString(); //resul.IT_F_VERIFICAR[i].IVA.ToString(); tmpFac.MWSKZ = tb.CurrentRow.GetString("MWSKZ").ToString(); //resul.IT_F_VERIFICAR[i].MWSKZ.ToString();//Decimal tmpFac.IMP_TOTAL = tb.CurrentRow.GetString("IMP_TOTAL").ToString(); //resul.IT_F_VERIFICAR[i].IMP_TOTAL.ToString();//Decimal tmpFac.RETENCION = tb.CurrentRow.GetString("RETENCION").ToString(); //resul.IT_F_VERIFICAR[i].RETENCION.ToString();//Decimal tmpFac.WAERS = tb.CurrentRow.GetString("WAERS").ToString(); //resul.IT_F_VERIFICAR[i].WAERS.ToString();//Decimal tmpFac.SALDO = tb.CurrentRow.GetString("SALDO").ToString(); //resul.IT_F_VERIFICAR[i].SALDO.ToString(); tmpFac.descMaterial = tb.CurrentRow.GetString("TXZ01").ToString(); //resul.IT_F_VERIFICAR[i].TXZ01.ToString(); tmpFac.LIGHTS = tb.CurrentRow.GetString("LIGHTS").ToString(); //resul.IT_F_VERIFICAR[i].LIGHTS.ToString(); tmpFac.posicion = tb.CurrentRow.GetString("POSICION").ToString(); //resul.IT_F_VERIFICAR[i].POSICION.ToString(); tmpFac.tipoLinea = tb.CurrentRow.GetString("TIPOLINEA").ToString(); //resul.IT_F_VERIFICAR[i].TIPOLINEA.ToString(); tmpFac.BWTAR = tb.CurrentRow.GetString("BWTAR").ToString(); //resul.IT_F_VERIFICAR[i].BWTAR.ToString(); tmpFac.cantidadXML = tb.CurrentRow.GetInt("ZCOUNT"); //resul.IT_F_VERIFICAR[i].ZCOUNT; tmpFac.MATNR = tb.CurrentRow.GetString("MATNR"); //resul.IT_F_VERIFICAR[i].MATNR; tmpFac.GJAHR = tb.CurrentRow.GetString("GJAHR"); //resul.IT_F_VERIFICAR[i].GJAHR; if (tb.CurrentRow.GetString("KSCHL") == null) //.resul.IT_F_VERIFICAR[i].KSCHL { tmpFac.KSCHL = ""; } else { tmpFac.KSCHL = tb.CurrentRow.GetString("KSCHL"); //resul.IT_F_VERIFICAR[i].KSCHL.ToString(); } tmpFac.BELNR = tb.CurrentRow.GetString("BELNR"); //resul.IT_F_VERIFICAR[i].BELNR.ToString(); if (tb.CurrentRow.GetString("MSG_VARIOS") == null) //resul.IT_F_VERIFICAR[i]. == null) { tmpFac.msgVarios = ""; } else { tmpFac.msgVarios = tb.CurrentRow.GetString("MSG_VARIOS"); //resul.IT_F_VERIFICAR[i].MSG_VARIOS; } tmpFac.esPrimerCarga = false; lstResul.Add(tmpFac); } // for result srv.Close(); } // try catch (Exception e) { status[j] = "Error al cargar en la instancia: " + listaDiferentesInstancias[j][6]; } } // for return(lstResul); }