public void aperturacaja(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_MONTO, string P_PAIS, string P_MONEDA, string P_TIPO_REGISTRO, string P_EQUIPO) { try { errormessage = ""; status = ""; message = ""; stringRfc = ""; IRfcStructure ls_APER_CAJA; //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_GF_RFC_APER_CAJA"); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); if (P_MONTO == "") { P_MONTO = "0"; } BapiGetUser.SetValue("MONTO", P_MONTO); BapiGetUser.SetValue("MONEDA", P_MONEDA); BapiGetUser.SetValue("TIPO_REGISTRO", P_TIPO_REGISTRO); BapiGetUser.SetValue("LAND", P_PAIS); BapiGetUser.SetValue("USUARIO", P_UNAME); BapiGetUser.SetValue("EQUIPO", P_EQUIPO); BapiGetUser.Invoke(SapRfcDestination); ls_APER_CAJA = BapiGetUser.GetStructure("ESTATUS"); stringRfc = Convert.ToString(BapiGetUser.GetValue("ESTATUS")); //LLenamos los datos que retorna la estructura de la RFC status = ls_APER_CAJA.GetString("TYPE"); message = ls_APER_CAJA.GetString("MESSAGE"); } else ////Si el valor de retorno es distinto nulo o vacio,se emite el mensaje de error. { errormessage = retval; } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } GC.Collect(); }
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"); //} ANTICIPOS_resp.MONEDA = lt_t_documentos[i].GetString("MONEDA"); 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 InvoiceValueModel GetInvoiceValue(RfcDestination rfcDest, string InvoiceDocNumber, string FISCALYEAR) { List <InvoiceValueModel> lstInvoiceValueDet = new List <InvoiceValueModel>(); InvoiceValueModel invoiceValueModel = new InvoiceValueModel(); RfcDestination SAPRfcDestination = RfcDestinationManager.GetDestination("accelyides"); RfcRepository rfcrep = SAPRfcDestination.Repository; IRfcFunction BapiGetCompanyDetail = null; BapiGetCompanyDetail = rfcrep.CreateFunction("BAPI_INCOMINGINVOICE_GETDETAIL"); BapiGetCompanyDetail.SetValue("INVOICEDOCNUMBER", InvoiceDocNumber); BapiGetCompanyDetail.SetValue("FISCALYEAR", FISCALYEAR); BapiGetCompanyDetail.Invoke(rfcDest); IRfcTable tblReturn = BapiGetCompanyDetail.GetTable("ITEMDATA"); DataTable TBL = tblReturn.ToDataTable("TBL"); IRfcTable tblTAXReturn = BapiGetCompanyDetail.GetTable("TAXDATA"); DataTable TBLTaxReturn = tblTAXReturn.ToDataTable("TBL"); IRfcTable tblWithTAXReturn = BapiGetCompanyDetail.GetTable("WITHTAXDATA"); DataTable DtWithTAXReturn = tblWithTAXReturn.ToDataTable("TBL"); IRfcTable tblVendorSplitData = BapiGetCompanyDetail.GetTable("VENDORITEMSPLITDATA"); DataTable DtVendorSplitData = tblVendorSplitData.ToDataTable("TBL"); //for (int i = 0; i < TBL.Rows.Count; i++) //{ // InvoiceValueModel InvoiceValueModel = new InvoiceValueModel(); // InvoiceValueModel.REF_DOC = TBL.Rows[i]["REF_DOC"].ToString(); // // invoiceValueModel.lstInvoiceValue.Add(InvoiceValueModel); //} invoiceValueModel.lstItemInvoiceDet = (from DataRow row in TBL.Rows select new InvoiceValueModel { INVOICE_DOC_ITEM = row["INVOICE_DOC_ITEM"].ToString(), PO_NUMBER = row["INVOICE_DOC_ITEM"].ToString(), PO_ITEM = row["PO_ITEM"].ToString(), SERIAL_NO = row["SERIAL_NO"].ToString(), REF_DOC = row["REF_DOC"].ToString(), REF_DOC_YEAR = row["REF_DOC_YEAR"].ToString(), REF_DOC_IT = row["REF_DOC_IT"].ToString(), TAX_CODE = row["TAX_CODE"].ToString(), ITEM_AMOUNT = row["ITEM_AMOUNT"].ToString(), QUANTITY = row["QUANTITY"].ToString(), PO_UNIT = row["PO_UNIT"].ToString(), PO_UNIT_ISO = row["PO_UNIT_ISO"].ToString() }).ToList(); invoiceValueModel.lstInvoiceTAXDet = (from DataRow row in TBLTaxReturn.Rows select new InvoiceValueModel { TAX_CODE = row["TAX_CODE"].ToString(), TAX_AMOUNT = row["TAX_AMOUNT"].ToString(), VEND_ERROR = row["VEND_ERROR"].ToString(), TAX_ERROR = row["TAX_ERROR"].ToString(), }).ToList(); invoiceValueModel.lstWithTAXInvoiceDet = (from DataRow row in DtWithTAXReturn.Rows select new InvoiceValueModel { SPLIT_KEY = row["SPLIT_KEY"].ToString(), WI_TAX_TYPE = row["WI_TAX_TYPE"].ToString() }).ToList(); invoiceValueModel.lstVEndorItemSolitData = (from DataRow row in DtVendorSplitData.Rows select new InvoiceValueModel { SPLIT_KEY = row["SPLIT_KEY"].ToString(), SPLIT_AMOUNT = row["SPLIT_AMOUNT"].ToString() }).ToList(); IRfcStructure IRS_OS_HEADER = BapiGetCompanyDetail.GetStructure("HEADERDATA"); invoiceValueModel.INV_DOC_NO = IRS_OS_HEADER.GetValue("INV_DOC_NO").ToString(); invoiceValueModel.USERNAME = IRS_OS_HEADER.GetValue("FISC_YEAR").ToString(); invoiceValueModel.FISC_YEAR = IRS_OS_HEADER.GetValue("USERNAME").ToString(); invoiceValueModel.INVOICEE_IND = IRS_OS_HEADER.GetValue("INVOICE_IND").ToString(); invoiceValueModel.DOC_TYPE = IRS_OS_HEADER.GetValue("DOC_TYPE").ToString(); invoiceValueModel.DOC_DATE = DateTime.Parse(IRS_OS_HEADER.GetValue("DOC_DATE").ToString()); invoiceValueModel.PSTNG_DATE = DateTime.Parse(IRS_OS_HEADER.GetValue("PSTNG_DATE").ToString()); invoiceValueModel.USERNAME = IRS_OS_HEADER.GetValue("USERNAME").ToString(); invoiceValueModel.REF_DOC_NO = IRS_OS_HEADER.GetValue("REF_DOC_NO").ToString(); invoiceValueModel.COMP_CODE = IRS_OS_HEADER.GetValue("COMP_CODE").ToString(); invoiceValueModel.DIFF_INV = IRS_OS_HEADER.GetValue("DIFF_INV").ToString(); invoiceValueModel.CURRENCY = IRS_OS_HEADER.GetValue("CURRENCY").ToString(); invoiceValueModel.CURRENCY_ISO = IRS_OS_HEADER.GetValue("CURRENCY_ISO").ToString(); invoiceValueModel.EXCH_RATE = IRS_OS_HEADER.GetValue("EXCH_RATE").ToString(); invoiceValueModel.EXCH_RATE_V = IRS_OS_HEADER.GetValue("EXCH_RATE_V").ToString(); invoiceValueModel.GROSS_AMT = IRS_OS_HEADER.GetValue("GROSS_AMNT").ToString(); invoiceValueModel.BLINE_DATE = DateTime.Parse(IRS_OS_HEADER.GetValue("BLINE_DATE").ToString()); invoiceValueModel.ENTRY_DATE = DateTime.Parse(IRS_OS_HEADER.GetValue("ENTRY_DATE").ToString()); invoiceValueModel.ENTRY_TIME = DateTime.Parse(IRS_OS_HEADER.GetValue("ENTRY_TIME").ToString()); invoiceValueModel.DISCNT = IRS_OS_HEADER.GetValue("DISCNT").ToString(); invoiceValueModel.INVOICE_STATUS = IRS_OS_HEADER.GetValue("INVOICE_STATUS").ToString(); //Console.WriteLine(invoiceValueModel.Value); //Console.ReadKey(); RfcSessionManager.EndContext(rfcDest); return(invoiceValueModel); }
/// <summary> /// 取得商品(作品)主檔 /// </summary> /// <param name="P_DATE_from">異動日期起始,yyyyMMdd</param> /// <param name="P_DATE_TO">異動日期迄止,yyyyMMdd</param> /// <param name="P_DESC">作品名</param> /// <param name="P_YEAR">年代,傳入格式%yyyy%yyyy%,兩個年份間,及前後加百分比</param> /// <param name="P_NAME1">作者名名</param> /// <returns></returns> public static List <ET_MASTER> GetSap_Z_MM_ZHAW_CUBE1(string P_DATE_from, string P_DATE_TO, string P_DESC = "", string P_YEAR = "", string P_NAME1 = "") { IDestinationConfiguration ID = new MyBackendConfig(); IRfcTable IRetTable = null; bool bRegistered = false; List <ET_MASTER> ET_MASTERList = new List <ET_MASTER>(); try { RfcDestination rfcDest = null; try { rfcDest = RfcDestinationManager.GetDestination("PRD"); bRegistered = true; } catch (Exception ex) { if (ex.GetType().Name == "RfcInvalidStateException") { } } finally { if (rfcDest == null && bRegistered == false) { bRegistered = true; RfcDestinationManager.RegisterDestinationConfiguration(ID); rfcDest = RfcDestinationManager.GetDestination("PRD"); } } RfcRepository rfcRepo = rfcDest.Repository; IRfcFunction IReader = rfcRepo.CreateFunction("Z_MM_ZHAW_CUBE1"); IReader.SetValue("P_DATE_from", P_DATE_from); IReader.SetValue("P_DATE_TO", P_DATE_TO); IReader.SetValue("P_DESC", P_DESC); IReader.SetValue("P_YEAR", P_YEAR); IReader.SetValue("P_NAME1", P_NAME1); //每幾筆資料切成一個檔案 //IReader.SetValue("COUNT", "1000"); //執行查詢 IReader.Invoke(rfcDest); IRetTable = IReader.GetTable("ET_MASTER"); ET_MASTERList = IRetTable.AsEnumerable().Select(x => new ET_MASTER() { MATNR = x.GetString("MATNR") ?? "", ZZCT = x.GetString("ZZCT") ?? "", NAME1 = x.GetString("NAME1") ?? "", ZFPRESERVE_D = x.GetString("ZFPRESERVE_D") ?? "", ZZSE = x.GetString("ZZSE") ?? "", LOCATION = x.GetString("LOCATION") ?? "", STATUS = x.GetString("STATUS") ?? "", STPRS = x.GetString("STPRS") ?? "", NETPR = x.GetString("NETPR") ?? "", WAERS = x.GetString("WAERS") ?? "", ERDAT = x.GetString("ERDAT") ?? "", UDATE = x.GetString("UDATE") ?? "" }).ToList(); } catch (Exception ex) { throw ex; } finally { if (bRegistered) { RfcDestinationManager.UnregisterDestinationConfiguration(ID); } } return(ET_MASTERList); }
public void docsanulacion(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 P_IDCAJA, string P_TP_DOC) { CabeceraDocs.Clear(); DetalleDocs.Clear(); Retorno.Clear(); IRfcTable lt_h_documentos; IRfcTable lt_d_documentos; IRfcTable lt_retorno; FormatoMonedas FM = new FormatoMonedas(); // 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_BUSCA_COMP_ANULAR"); BapiGetUser.SetValue("ID_COMPROBANTE", P_DOCUMENTO); BapiGetUser.SetValue("RUT", P_RUT); BapiGetUser.SetValue("LAND", P_LAND); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); BapiGetUser.SetValue("ID_CAJA", P_IDCAJA); BapiGetUser.SetValue("TP_DOC", P_TP_DOC); BapiGetUser.Invoke(SapRfcDestination); lt_h_documentos = BapiGetUser.GetTable("CAB_COMP"); lt_d_documentos = BapiGetUser.GetTable("DET_COMP"); lt_retorno = BapiGetUser.GetTable("RETORNO"); 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 = P_LAND; DOCS_CABECERA_resp.ID_CAJA = P_IDCAJA; 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"); if (lt_h_documentos[i].GetString("MONEDA") == "CLP") { DOCS_CABECERA_resp.MONTO_DOC = FM.FormatoMonedaChilena(lt_h_documentos[i].GetString("MONTO_DOC").Trim(), "2"); } else { //string moneda = Convert.ToString(lt_h_documentos[i].GetString("MONTO_DOC")); //decimal ValorAux = Convert.ToDecimal(moneda); DOCS_CABECERA_resp.MONTO_DOC = FM.FormatoMonedaExtranjera(lt_h_documentos[i].GetString("MONTO_DOC").Trim()); } //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"); if (lt_d_documentos[i].GetString("MONEDA") == "CLP") { DOCS_DETALLES_resp.MONTO = FM.FormatoMonedaChilena(lt_d_documentos[i].GetString("MONTO").Trim(), "1"); } else { DOCS_DETALLES_resp.MONTO = FM.FormatoMonedaExtranjera(lt_d_documentos[i].GetString("MONTO").Trim()); } //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"); 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 Location LocationGetByCode(string locationCode, string warehouseCode) { Location location = null; //using (var db = new DbManager("HandHeldDB")) //{ // var reader = db.SetCommand(GetSql(43), // db.Parameter("@LocationCode", locationCode), // db.Parameter("@WarehouseCode", warehouseCode)) // .ExecuteReader(); // while (reader.Read()) // { // location = new Location { Code = (string)reader["LocationCode"], WarehouseCode = (string)reader["WarehouseCode"] }; // } //} //var conn = new DBCon.DBSQLDataContext(); //var locationli = conn.ProductLocations.Where(x => x.LocationCode == locationCode && x.WarehouseCode == warehouseCode).ToList(); //foreach (var item in locationli) //{ // location = new Location { Code = item.LocationCode, WarehouseCode = item.WarehouseCode }; //} if (location == null) { RfcDestination sapRfcDestination = SapHelper.Destination; RfcRepository sapRfcRepository = sapRfcDestination.Repository; char delimiter = ':'; RfcRepository repo = sapRfcRepository; string bapiName = "RFC_READ_TABLE"; IRfcFunction exportBapi = repo.CreateFunction(bapiName); exportBapi.SetValue("QUERY_TABLE", "ZLOCSTRC"); exportBapi.SetValue("DELIMITER", delimiter); exportBapi.SetValue("NO_DATA", ""); exportBapi.SetValue("ROWSKIPS", 0); exportBapi.SetValue("ROWCOUNT", 0); RfcStructureMetadata rfcDbOpt = repo.GetStructureMetadata("RFC_DB_OPT"); var opt = rfcDbOpt.CreateStructure(); //opt.SetValue("TEXT", @"(APRVFLAG = 'C') AND (USEFLAG = 'X')"); opt.SetValue("TEXT", string.Format(" (BINLOC = '{0}') ", locationCode)); var tableOptions = exportBapi.GetTable("OPTIONS"); tableOptions.Append(opt); var table = exportBapi.GetTable("FIELDS"); IRfcStructure articol; RfcStructureMetadata am = repo.GetStructureMetadata("RFC_DB_FLD"); articol = am.CreateStructure(); articol.SetValue("FIELDNAME", "BINLOC"); table.Append(articol); articol = am.CreateStructure(); articol.SetValue("FIELDNAME", "LGORT"); table.Append(articol); articol = am.CreateStructure(); articol.SetValue("FIELDNAME", "USEFLAG"); table.Append(articol); exportBapi.SetValue("FIELDS", table); exportBapi.SetValue("OPTIONS", tableOptions); exportBapi.Invoke(sapRfcDestination); IRfcTable detail2 = exportBapi.GetTable("DATA"); string[] value; foreach (var item in detail2) { value = item.GetString("WA").Replace(" ", "").Split(delimiter); if (((string)value.GetValue(0)).Length != 10) { continue; } if ((string)value.GetValue(2) != "X") { continue; } if (((string)value.GetValue(1)).ToUpper() != warehouseCode.ToUpper()) { continue; } location = new Location(); location.Code = (string)value.GetValue(0); location.WarehouseCode = (string)value.GetValue(1); //using (var db = new DbManager("HandHeldDB")) //{ // //insert new data // db.SetCommand(GetSql(88), // db.Parameter("@LocationCode", location.Code), // db.Parameter("@WarehouseCode", location.WarehouseCode), // db.Parameter("@isUse", location.IsUse) // ).ExecuteNonQuery(); //} break; } } return(location); //List<SAPProxyII.ZLOCSTRC> locations; //string key = string.Format(LOCATION_ALL_KEY, DateTime.Now.Date.Day); //string keyOld = string.Format(LOCATION_ALL_KEY, DateTime.Now.AddDays(-1).Day); //object obj1 = _cacheManager.Get(keyOld); //object obj2 = _cacheManager.Get(key); //if (obj1 != null) // _cacheManager.Remove(keyOld); //if (obj2 != null) // locations = (List<SAPProxyII.ZLOCSTRC>)obj2; //else //{ // using (var sapConnection = new SAP.Connector.SAPConnection(GlobalContext.SapDestination)) // { // using (var prx = new SAPProxyII.UWProxy()) // { // prx.Connection = sapConnection; // SAPProxyII.ZLOCSTRCTable Tables = new SAPProxyII.ZLOCSTRCTable(); // prx.Zdd_Handheld_Get_Zlockstrc(ref Tables); // locations = (List<SAPProxyII.ZLOCSTRC>)CollectionHelper.ConvertTo<SAPProxyII.ZLOCSTRC>(Tables.ToADODataTable()); // _cacheManager.Add(key, locations); // } // } //} //var location = locations.Find(p => p.Binloc == locationCode); //if (location != null) //{ // var locat = new Location(); // locat.Code = location.Binloc; // locat.LocationType = location.Loctype; // return locat; //} //else // return null; }
public void ReipresionFiscal2(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_SOCIEDAD) { IRfcTable lt_DTE_SII; DTE_SII DTE_SII_resp; 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)) { try { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_REIMPRESION"); BapiGetUser.SetValue("XBLNR", P_DOCUMENTO); BapiGetUser.SetValue("BUKRS", P_SOCIEDAD); BapiGetUser.Invoke(SapRfcDestination); lt_DTE_SII = BapiGetUser.GetTable("DTE_SII"); for (int i = 0; i < lt_DTE_SII.RowCount; i++) { lt_DTE_SII.CurrentIndex = i; DTE_SII_resp = new DTE_SII(); DTE_SII_resp.VBELN = lt_DTE_SII[i].GetString("VBELN"); DTE_SII_resp.BUKRS = lt_DTE_SII[i].GetString("BUKRS"); DTE_SII_resp.FECIMP = lt_DTE_SII[i].GetString("FECIMP"); DTE_SII_resp.FODOC = lt_DTE_SII[i].GetString("FODOC"); DTE_SII_resp.HORIM = lt_DTE_SII[i].GetString("HORIM"); DTE_SII_resp.KONDA = lt_DTE_SII[i].GetString("KONDA"); DTE_SII_resp.TDSII = lt_DTE_SII[i].GetString("TDSII"); DTE_SII_resp.URLSII = lt_DTE_SII[i].GetString("URLSII"); DTE_SII_resp.WAERS = lt_DTE_SII[i].GetString("WAERS"); DTE_SII_resp.XBLNR = lt_DTE_SII[i].GetString("XBLNR"); DTE_SII_resp.ZUONR = lt_DTE_SII[i].GetString("ZUONR"); reimprFiscal2.Add(DTE_SII_resp); } //url = BapiGetUser.GetString("URL"); //GC.Collect(); } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; GC.Collect(); } }
public void recauVehi(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 VBELN, string STCD1, string SOCIEDAD) { objPag.Clear(); objPagCab.Clear(); objReturn2.Clear(); errormessage = ""; message = ""; try { RETURN p_return; IRfcTable lt_IT_PAGOS_CAB; IRfcTable lt_IT_PAGOS; IT_PAGOS GET_IT_PAGOS_resp; IT_PAGOS_CAB GET_IT_PAGOS_CAB_resp; FormatoMonedas FM = new FormatoMonedas(); //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_RECAU_VEHI"); BapiGetUser.SetValue("VBELN", VBELN); BapiGetUser.SetValue("STCD1", STCD1); BapiGetUser.SetValue("SOCIEDAD", SOCIEDAD); BapiGetUser.Invoke(SapRfcDestination); lt_IT_PAGOS_CAB = BapiGetUser.GetTable("IT_PAGOS_CAB"); lt_IT_PAGOS = BapiGetUser.GetTable("IT_PAGOS"); if (lt_IT_PAGOS_CAB.RowCount > 0) { for (int i = 0; i < lt_IT_PAGOS_CAB.RowCount; i++) { lt_IT_PAGOS_CAB.CurrentIndex = i; GET_IT_PAGOS_CAB_resp = new IT_PAGOS_CAB(); GET_IT_PAGOS_CAB_resp.VBELN = lt_IT_PAGOS_CAB[i].GetString("VBELN"); GET_IT_PAGOS_CAB_resp.LICPL = lt_IT_PAGOS_CAB[i].GetString("LICPL"); GET_IT_PAGOS_CAB_resp.H_NETWR = lt_IT_PAGOS_CAB[i].GetString("H_NETWR"); GET_IT_PAGOS_CAB_resp.WAERK = lt_IT_PAGOS_CAB[i].GetString("WAERK"); GET_IT_PAGOS_CAB_resp.BUKRS_VF = lt_IT_PAGOS_CAB[i].GetString("BUKRS_VF"); GET_IT_PAGOS_CAB_resp.KKBER = lt_IT_PAGOS_CAB[i].GetString("KKBER"); GET_IT_PAGOS_CAB_resp.STCD1 = lt_IT_PAGOS_CAB[i].GetString("STCD1"); objPagCab.Add(GET_IT_PAGOS_CAB_resp); } } if (lt_IT_PAGOS.RowCount > 0) { for (int i = 0; i < lt_IT_PAGOS.RowCount; i++) { lt_IT_PAGOS.CurrentIndex = i; GET_IT_PAGOS_resp = new IT_PAGOS(); GET_IT_PAGOS_resp.VBELN = lt_IT_PAGOS[i].GetString("VBELN"); GET_IT_PAGOS_resp.CORRE = lt_IT_PAGOS[i].GetString("CORRE"); GET_IT_PAGOS_resp.VIADP = lt_IT_PAGOS[i].GetString("VIADP"); GET_IT_PAGOS_resp.DESCV = lt_IT_PAGOS[i].GetString("DESCV"); GET_IT_PAGOS_resp.DBM_LICEXT = lt_IT_PAGOS[i].GetString("DBM_LICEXT"); GET_IT_PAGOS_resp.NUDOC = lt_IT_PAGOS[i].GetString("NUDOC"); GET_IT_PAGOS_resp.CODBA = lt_IT_PAGOS[i].GetString("CODBA"); GET_IT_PAGOS_resp.NOMBA = lt_IT_PAGOS[i].GetString("NOMBA"); GET_IT_PAGOS_resp.CODIN = lt_IT_PAGOS[i].GetString("CODIN"); GET_IT_PAGOS_resp.NOMIN = lt_IT_PAGOS[i].GetString("NOMIN"); //string VALORUN = Convert.ToString(lt_IT_PAGOS[i].GetString("MONTO")); //VALORUN = VALORUN.Replace(".", ""); //VALORUN = VALORUN.Replace(",", ""); //decimal monto = Convert.ToDecimal(VALORUN); //GET_IT_PAGOS_resp.MONTO = string.Format("{0:0,0}", monto); GET_IT_PAGOS_resp.KUNNR = lt_IT_PAGOS[i].GetString("KUNNR"); if (lt_IT_PAGOS[i].GetString("WAERS") == "CLP") { GET_IT_PAGOS_resp.MONTO = FM.FormatoMonedaChilena(lt_IT_PAGOS[i].GetString("MONTO"), "2"); //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2")); } else { GET_IT_PAGOS_resp.MONTO = FM.FormatoMonedaExtranjera(lt_IT_PAGOS[i].GetString("MONTO")); //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC)); } //GET_IT_PAGOS_resp.MONTO = lt_IT_PAGOS[i].GetString("MONTO"); GET_IT_PAGOS_resp.CTACE = lt_IT_PAGOS[i].GetString("CTACE"); GET_IT_PAGOS_resp.FEACT = lt_IT_PAGOS[i].GetString("FEACT"); GET_IT_PAGOS_resp.FEVEN = lt_IT_PAGOS[i].GetString("FEVEN"); GET_IT_PAGOS_resp.INTER = lt_IT_PAGOS[i].GetString("INTER"); GET_IT_PAGOS_resp.TASAI = lt_IT_PAGOS[i].GetString("TASAI"); GET_IT_PAGOS_resp.CUOTA = lt_IT_PAGOS[i].GetString("CUOTA"); GET_IT_PAGOS_resp.MINTE = lt_IT_PAGOS[i].GetString("MINTE"); //string VALORTOTIN = Convert.ToString(lt_IT_PAGOS[i].GetString("TOTIN")); //VALORTOTIN = VALORTOTIN.Replace(".", ""); //VALORTOTIN = VALORTOTIN.Replace(",", ""); //decimal TOTIN2 = Convert.ToDecimal(VALORTOTIN); if (lt_IT_PAGOS[i].GetString("WAERS") == "CLP") { GET_IT_PAGOS_resp.TOTIN = FM.FormatoMonedaChilena(lt_IT_PAGOS[i].GetString("TOTIN"), "2"); //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2")); } else { GET_IT_PAGOS_resp.TOTIN = FM.FormatoMonedaExtranjera(lt_IT_PAGOS[i].GetString("TOTIN")); //paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC)); } //GET_IT_PAGOS_resp.TOTIN = string.Format("{0:0,0}", TOTIN2); // GET_IT_PAGOS_resp.TOTIN = lt_IT_PAGOS[i].GetString("TOTIN"); GET_IT_PAGOS_resp.RUTGI = lt_IT_PAGOS[i].GetString("RUTGI"); GET_IT_PAGOS_resp.NOMGI = lt_IT_PAGOS[i].GetString("NOMGI"); GET_IT_PAGOS_resp.WAERS = lt_IT_PAGOS[i].GetString("WAERS"); GET_IT_PAGOS_resp.STAT = lt_IT_PAGOS.GetString("STAT"); GET_IT_PAGOS_resp.PRCTR = lt_IT_PAGOS[i].GetString("PRCTR"); GET_IT_PAGOS_resp.KUNNR = lt_IT_PAGOS[i].GetString("KUNNR"); GET_IT_PAGOS_resp.KKBER = lt_IT_PAGOS[i].GetString("KKBER"); GET_IT_PAGOS_resp.STCD1 = lt_IT_PAGOS[i].GetString("STCD1"); GET_IT_PAGOS_resp.HKONT = lt_IT_PAGOS[i].GetString("HKONT"); GET_IT_PAGOS_resp.BANKN = lt_IT_PAGOS[i].GetString("BANKN"); objPag.Add(GET_IT_PAGOS_resp); } } else { // MessageBox.Show("No existen datos para este número de documento o RUT"); } IRfcTable retorno = BapiGetUser.GetTable("RETURN"); for (var i = 0; i < retorno.RowCount; i++) { retorno.CurrentIndex = i; p_return = new RETURN(); p_return.TYPE = retorno[i].GetString("TYPE"); p_return.ID = retorno[i].GetString("ID"); p_return.NUMBER = retorno[i].GetString("NUMBER"); p_return.MESSAGE = retorno[i].GetString("MESSAGE"); p_return.LOG_NO = retorno[i].GetString("LOG_NO"); p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO"); p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1"); p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2"); p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3"); p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4"); p_return.PARAMETER = retorno[i].GetString("PARAMETER"); p_return.ROW = retorno[i].GetString("ROW"); p_return.FIELD = retorno[i].GetString("FIELD"); p_return.SYSTEM = retorno[i].GetString("SYSTEM"); objReturn2.Add(p_return); } } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); } }
public void bloqueardesbloquearcaja(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, List <LOG_APERTURA> P_LOGAPERTURA) { //IRfcTable lt_t_documentos; //IRfcStructure lt_retorno; // PART_ABIERTAS PART_ABIERTAS_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_BLOQ_DES_CAJA"); //BapiGetUser.SetValue("LOG_APERTURA", P_LOGAPERTURA); IRfcStructure GralDat = BapiGetUser.GetStructure("LOG_APERTURA"); for (var i = 0; i < P_LOGAPERTURA.Count; i++) { //GralDat.Append(); GralDat.SetValue("MANDT", P_LOGAPERTURA[i].MANDT); GralDat.SetValue("ID_REGISTRO", P_LOGAPERTURA[i].ID_REGISTRO); GralDat.SetValue("LAND", P_LOGAPERTURA[i].LAND); GralDat.SetValue("ID_CAJA", P_LOGAPERTURA[i].ID_CAJA); GralDat.SetValue("USUARIO", P_LOGAPERTURA[i].USUARIO); GralDat.SetValue("FECHA", P_LOGAPERTURA[i].FECHA); GralDat.SetValue("HORA", P_LOGAPERTURA[i].HORA); GralDat.SetValue("MONTO", P_LOGAPERTURA[i].MONTO); GralDat.SetValue("MONEDA", P_LOGAPERTURA[i].MONEDA); GralDat.SetValue("TIPO_REGISTRO", P_LOGAPERTURA[i].TIPO_REGISTRO); GralDat.SetValue("ID_APERTURA", P_LOGAPERTURA[i].ID_APERTURA); GralDat.SetValue("TXT_CIERRE", P_LOGAPERTURA[i].TXT_CIERRE); GralDat.SetValue("BLOQUEO", P_LOGAPERTURA[i].BLOQUEO); GralDat.SetValue("USUARIO_BLOQ", P_LOGAPERTURA[i].USUARIO_BLOQ); } BapiGetUser.SetValue("LOG_APERTURA", GralDat); BapiGetUser.Invoke(SapRfcDestination); //lt_t_documentos = BapiGetUser.GetTable("T_DOCUMENTOS"); //lt_retorno = BapiGetUser.GetStructure("SE_ESTATUS"); //lt_PART_ABIERTAS = BapiGetUser.GetTable("ZCLSP_TT_LISTA_DOCUMENTOS"); try { 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); //} } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } else { errormessage = retval; } GC.Collect(); }
public void emitirnotasdecredito(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_MONEDA, string P_PAIS , List <T_DOCUMENTOS> P_DOCSAPAGAR, string P_CHKTRIB) { try { RETURN2 retorno; T_DOCUMENTOS docs; //DETALLE_REND detallerend; T_Retorno.Clear(); documentos.Clear(); errormessage = ""; message = ""; IdCaja = ""; Efectivo = "0"; IRfcTable ls_RETORNO; IRfcTable lt_DOCS; 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_REC_Y_FAC_NC"); BapiGetUser.SetValue("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("PAY_CURRENCY", P_MONEDA); BapiGetUser.SetValue("LAND", P_PAIS); IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS"); try { for (var i = 0; i < P_DOCSAPAGAR.Count; i++) { GralDat2.Append(); GralDat2.SetValue("NDOCTO", P_DOCSAPAGAR[i].NDOCTO); GralDat2.SetValue("MONTO", P_DOCSAPAGAR[i].MONTO); GralDat2.SetValue("MONTOF", P_DOCSAPAGAR[i].MONTOF); GralDat2.SetValue("MONEDA", P_DOCSAPAGAR[i].MONEDA); GralDat2.SetValue("LAND", P_DOCSAPAGAR[i].LAND); GralDat2.SetValue("FECVENCI", P_DOCSAPAGAR[i].FECVENCI); GralDat2.SetValue("CONTROL_CREDITO", P_DOCSAPAGAR[i].CONTROL_CREDITO); GralDat2.SetValue("CEBE", P_DOCSAPAGAR[i].CEBE); GralDat2.SetValue("COND_PAGO", P_DOCSAPAGAR[i].COND_PAGO); GralDat2.SetValue("RUTCLI", P_DOCSAPAGAR[i].RUTCLI); GralDat2.SetValue("NOMCLI", P_DOCSAPAGAR[i].NOMCLI); GralDat2.SetValue("ESTADO", P_DOCSAPAGAR[i].ESTADO); GralDat2.SetValue("ICONO", P_CHKTRIB); GralDat2.SetValue("DIAS_ATRASO", P_DOCSAPAGAR[i].DIAS_ATRASO); string MontoAux = ""; MontoAux = P_DOCSAPAGAR[i].MONTO_ABONADO; MontoAux = MontoAux.Replace(",", ""); MontoAux = MontoAux.Replace(".", ""); GralDat2.SetValue("MONTO_ABONADO", MontoAux); MontoAux = P_DOCSAPAGAR[i].MONTOF_ABON; MontoAux = MontoAux.Replace(",", ""); MontoAux = MontoAux.Replace(".", ""); GralDat2.SetValue("MONTOF_ABON", MontoAux); MontoAux = P_DOCSAPAGAR[i].MONTO_PAGAR; MontoAux = MontoAux.Replace(",", ""); MontoAux = MontoAux.Replace(".", ""); GralDat2.SetValue("MONTO_PAGAR", MontoAux); MontoAux = P_DOCSAPAGAR[i].MONTOF_PAGAR; MontoAux = MontoAux.Replace(",", ""); MontoAux = MontoAux.Replace(".", ""); GralDat2.SetValue("MONTOF_PAGAR", MontoAux); GralDat2.SetValue("NREF", P_DOCSAPAGAR[i].NREF); GralDat2.SetValue("FECHA_DOC", P_DOCSAPAGAR[i].FECHA_DOC); GralDat2.SetValue("COD_CLIENTE", P_DOCSAPAGAR[i].COD_CLIENTE); GralDat2.SetValue("SOCIEDAD", P_DOCSAPAGAR[i].SOCIEDAD); GralDat2.SetValue("CLASE_DOC", P_DOCSAPAGAR[i].CLASE_DOC); GralDat2.SetValue("CLASE_CUENTA", P_DOCSAPAGAR[i].CLASE_CUENTA); GralDat2.SetValue("CME", P_DOCSAPAGAR[i].CME); GralDat2.SetValue("ACC", P_DOCSAPAGAR[i].ACC); GralDat2.SetValue("FACT_SD_ORIGEN", P_DOCSAPAGAR[i].FACT_SD_ORIGEN); GralDat2.SetValue("FACT_ELECT", P_DOCSAPAGAR[i].FACT_ELECT); GralDat2.SetValue("ID_COMPROBANTE", P_DOCSAPAGAR[i].ID_COMPROBANTE); GralDat2.SetValue("ID_CAJA", P_DOCSAPAGAR[i].ID_CAJA); GralDat2.SetValue("LAND", P_DOCSAPAGAR[i].LAND); GralDat2.SetValue("BAPI", P_DOCSAPAGAR[i].BAPI); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); //System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.SetValue("DOCUMENTOS", GralDat2); BapiGetUser.Invoke(SapRfcDestination); //BapiGetUser.SetValue("I_VBELN",P_NUMDOCSD); //IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO"); lt_DOCS = BapiGetUser.GetTable("DOCUMENTOS"); if (lt_DOCS.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_DOCS.RowCount; i++) { try { lt_DOCS.CurrentIndex = i; docs = new T_DOCUMENTOS(); docs.NDOCTO = lt_DOCS[i].GetString("NDOCTO"); string Monto = ""; int indice = 0; //******* if (lt_DOCS[i].GetString("MONEDA") == "CLP") { string Valor = lt_DOCS[i].GetString("MONTOF").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = 0; if ((Valor == "00") | (Valor == "0")) { ValorAux = Convert.ToDecimal(Valor); } else { ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); } string Cualquiernombre = string.Format("{0:0,0}", ValorAux); docs.MONTOF = Cualquiernombre; } else { string moneda = Convert.ToString(lt_DOCS[i].GetString("MONTOF")); decimal ValorAux = Convert.ToDecimal(moneda); docs.MONTOF = string.Format("{0:0,0.##}", ValorAux); } //if (lt_DOCS[i].GetString("MONTOF") == "") //{ // indice = lt_DOCS[i].GetString("MONTO").IndexOf(','); // Monto = lt_DOCS[i].GetString("MONTO").Substring(0, indice - 1); // docs.MONTOF = Monto; //} //else //{ // docs.MONTOF = lt_DOCS[i].GetString("MONTOF"); //} if (lt_DOCS[i].GetString("MONEDA") == "CLP") { string Valor = lt_DOCS[i].GetString("MONTO").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); if ((Valor == "00") | (Valor == "0")) { ValorAux = Convert.ToDecimal(Valor); } else { ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); } docs.MONTO = string.Format("{0:0,0}", ValorAux); } else { string moneda = Convert.ToString(lt_DOCS[i].GetString("MONTO")); decimal ValorAux = Convert.ToDecimal(moneda); docs.MONTO = string.Format("{0:0,0.##}", ValorAux); } //if (lt_DOCS[i].GetString("MONTO") == "") //{ // indice = lt_DOCS[i].GetString("MONTO").IndexOf(','); // Monto = lt_DOCS[i].GetString("MONTO").Substring(0, indice - 1); // docs.MONTO = Monto; //} //else //{ // docs.MONTO = lt_DOCS[i].GetString("MONTO"); //} docs.MONEDA = lt_DOCS[i].GetString("MONEDA"); docs.FECVENCI = lt_DOCS[i].GetString("FECVENCI"); docs.CONTROL_CREDITO = lt_DOCS[i].GetString("CONTROL_CREDITO"); docs.CEBE = lt_DOCS[i].GetString("CEBE"); docs.COND_PAGO = lt_DOCS[i].GetString("COND_PAGO"); docs.RUTCLI = lt_DOCS[i].GetString("RUTCLI"); docs.NOMCLI = lt_DOCS[i].GetString("NOMCLI"); docs.ESTADO = lt_DOCS[i].GetString("ESTADO"); docs.ICONO = lt_DOCS[i].GetString("ICONO"); docs.DIAS_ATRASO = lt_DOCS[i].GetString("DIAS_ATRASO"); if (lt_DOCS[i].GetString("MONEDA") == "CLP") { string Valor = lt_DOCS[i].GetString("MONTOF_ABON").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux; if ((Valor == "00") | (Valor == "0")) { ValorAux = Convert.ToDecimal(Valor); } else { ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); } docs.MONTOF_ABON = string.Format("{0:0,0}", ValorAux); } else { string moneda = Convert.ToString(lt_DOCS[i].GetString("MONTOF_ABON")); decimal ValorAux = Convert.ToDecimal(moneda); docs.MONTOF_ABON = string.Format("{0:0,0.##}", ValorAux); } //if (lt_DOCS[i].GetString("MONTOF_ABON") == "") //{ // indice = lt_DOCS[i].GetString("MONTO_ABONADO").IndexOf(','); // Monto = lt_DOCS[i].GetString("MONTO_ABONADO").Substring(0, indice - 1); // docs.MONTOF = Monto; //} //else //{ // docs.MONTOF_ABON = lt_DOCS[i].GetString("MONTOF_ABON"); //} if (lt_DOCS[i].GetString("MONEDA") == "CLP") { string Valor = lt_DOCS[i].GetString("MONTOF_PAGAR").Trim(); if (Valor.Contains("-")) { Valor = "-" + Valor.Replace("-", ""); } Valor = Valor.Replace(".", ""); Valor = Valor.Replace(",", ""); decimal ValorAux = Convert.ToDecimal(Valor); if ((Valor == "00") | (Valor == "0")) { ValorAux = Convert.ToDecimal(Valor); } else { ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); } docs.MONTOF_PAGAR = string.Format("{0:0,0}", ValorAux); } else { string moneda = Convert.ToString(lt_DOCS[i].GetString("MONTOF_PAGAR")); decimal ValorAux = Convert.ToDecimal(moneda); docs.MONTOF_PAGAR = string.Format("{0:0,0.##}", ValorAux); } //if (lt_DOCS[i].GetString("MONTOF_PAGAR") == "") //{ // indice = lt_DOCS[i].GetString("MONTO_PAGAR").IndexOf(','); // Monto = lt_DOCS[i].GetString("MONTO_PAGAR").Substring(0, indice - 1); // docs.MONTOF = Monto; //} //else //{ // docs.MONTOF_PAGAR = lt_DOCS[i].GetString("MONTOF_PAGAR"); //} docs.NREF = lt_DOCS[i].GetString("NREF"); docs.FECHA_DOC = lt_DOCS[i].GetString("FECHA_DOC"); docs.COD_CLIENTE = lt_DOCS[i].GetString("COD_CLIENTE"); docs.SOCIEDAD = lt_DOCS[i].GetString("SOCIEDAD"); docs.CLASE_DOC = lt_DOCS[i].GetString("CLASE_DOC"); docs.CLASE_CUENTA = lt_DOCS[i].GetString("CLASE_CUENTA"); docs.CME = lt_DOCS[i].GetString("CME"); docs.ACC = lt_DOCS[i].GetString("ACC"); docs.FACT_SD_ORIGEN = lt_DOCS[i].GetString("FACT_SD_ORIGEN"); docs.FACT_ELECT = lt_DOCS[i].GetString("FACT_ELECT"); docs.ID_COMPROBANTE = lt_DOCS[i].GetString("ID_COMPROBANTE"); docs.ID_CAJA = lt_DOCS[i].GetString("ID_CAJA"); docs.LAND = lt_DOCS[i].GetString("LAND"); documentos.Add(docs); } 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)"); } ls_RETORNO = BapiGetUser.GetTable("RETURN"); try { for (int i = 0; i < ls_RETORNO.Count(); i++) { ls_RETORNO.CurrentIndex = i; retorno = new RETURN2(); if (ls_RETORNO.GetString("TYPE") == "S") { message = message + "-" + ls_RETORNO.GetString("MESSAGE") + ":" + ls_RETORNO.GetString("MESSAGE_V1").Trim() + "\n"; NumComprob = ls_RETORNO.GetString("MESSAGE_V4").Trim(); } if (ls_RETORNO.GetString("TYPE") == "E") { errormessage = errormessage + " - " + ls_RETORNO.GetString("MESSAGE") + "\n"; } 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 PagaVehicu(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 ID_CAJA, string TOTAL_VENTA, List <VIAS_PAGO_VEHI> ViaPago, List <DOCUMENTO_CAB> DocumPago, List <ACT_FPAGOS> pago, string PAY_CURRENCY, string RUT, string SOCIEDAD, string NOTA_VENTA, string TOTAL_VIAS, string LAND) { objReturn2.Clear(); DOCUMENTO = ""; DOCUMENTO2 = ""; IRfcTable lt_VIAS_PAGO_VEHI; VIAS_PAGO_VEHI VIAS_PAGO_VEHI_RESP; errormessage = ""; message = ""; try { RETURN p_return; TOTAL_VENTA = TOTAL_VENTA.Replace(".", ""); TOTAL_VENTA = TOTAL_VENTA.Replace(",", ""); decimal totalventa_d = Convert.ToDecimal(TOTAL_VENTA); FormatoMonedas FM = new FormatoMonedas(); //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(); if (string.IsNullOrEmpty(retval)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(connectorSap.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZSCP_RFC_PAGO_ANT_VEHI"); BapiGetUser.SetValue("PAY_CURRENCY", PAY_CURRENCY); BapiGetUser.SetValue("RUT", RUT); BapiGetUser.SetValue("SOCIEDAD", SOCIEDAD); BapiGetUser.SetValue("NOTA_VENTA", NOTA_VENTA); BapiGetUser.SetValue("TOTAL_VIAS", TOTAL_VIAS); BapiGetUser.SetValue("LAND", LAND); BapiGetUser.SetValue("ID_CAJA", ID_CAJA); BapiGetUser.SetValue("TOTAL_VENTA", totalventa_d); // LLENAMOS TABLA DOCUMENTO IRfcTable paramt = BapiGetUser.GetTable("DOCUMENTO_CAB"); for (int i = 0; i < DocumPago.Count(); i++) { paramt.Append(); paramt.SetValue("MANDT", DocumPago[i].MANDT); paramt.SetValue("LAND", DocumPago[i].LAND); paramt.SetValue("ID_COMPROBANTE", DocumPago[i].ID_COMPROBANTE); paramt.SetValue("POSICION", DocumPago[i].POSICION); paramt.SetValue("ID_CAJA", DocumPago[i].ID_CAJA); paramt.SetValue("ID_APERTURA", DocumPago[i].ID_APERTURA); paramt.SetValue("CLIENTE", DocumPago[i].CLIENTE); paramt.SetValue("TIPO_DOCUMENTO", DocumPago[i].TIPO_DOCUMENTO); paramt.SetValue("SOCIEDAD", DocumPago[i].SOCIEDAD); paramt.SetValue("NRO_DOCUMENTO", DocumPago[i].NRO_DOCUMENTO); paramt.SetValue("NRO_REFERENCIA", DocumPago[i].NRO_REFERENCIA); paramt.SetValue("CAJERO_RESP", DocumPago[i].CAJERO_RESP); paramt.SetValue("CAJERO_GEN", DocumPago[i].CAJERO_GEN); paramt.SetValue("FECHA_COMP", DocumPago[i].FECHA_COMP); paramt.SetValue("HORA", DocumPago[i].HORA); paramt.SetValue("NRO_COMPENSACION", DocumPago[i].NRO_COMPENSACION); paramt.SetValue("TEXTO_CABECERA", DocumPago[i].TEXTO_CABECERA); paramt.SetValue("NULO", DocumPago[i].NULO); paramt.SetValue("USR_ANULADOR", DocumPago[i].USR_ANULADOR); paramt.SetValue("NRO_ANULACION", DocumPago[i].NRO_ANULACION); paramt.SetValue("APROBADOR_ANULA", DocumPago[i].APROBADOR_ANULA); paramt.SetValue("TXT_ANULACION", DocumPago[i].TXT_ANULACION); paramt.SetValue("EXCEPCION", DocumPago[i].EXCEPCION); paramt.SetValue("FECHA_DOC", DocumPago[i].FECHA_DOC); paramt.SetValue("FECHA_VENC_DOC", DocumPago[i].FECHA_VENC_DOC); paramt.SetValue("NUM_CUOTA", DocumPago[i].NUM_CUOTA); //if (DocumPago[i].MONEDA == "CLP") //{ // paramt.SetValue("MONTO_DOC",FM.FormatoMonedaChilena(DocumPago[i].MONTO_DOC, "2")); //} //else //{ // paramt.SetValue("MONTO_DOC", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DOC)); //} paramt.SetValue("MONTO_DOC", DocumPago[i].MONTO_DOC); //if (DocumPago[i].MONEDA == "CLP") //{ // paramt.SetValue("MONTO_DIFERENCIA", FM.FormatoMonedaChilena(DocumPago[i].MONTO_DIFERENCIA, "2")); //} //else //{ // paramt.SetValue("MONTO_DIFERENCIA", FM.FormatoMonedaExtranjera(DocumPago[i].MONTO_DIFERENCIA)); //} paramt.SetValue("MONTO_DIFERENCIA", DocumPago[i].MONTO_DIFERENCIA); paramt.SetValue("TEXTO_EXCEPCION", DocumPago[i].TEXTO_EXCEPCION); paramt.SetValue("PARCIAL", DocumPago[i].PARCIAL); paramt.SetValue("TIME", DocumPago[i].TIME); paramt.SetValue("APROBADOR_EX", DocumPago[i].APROBADOR_EX); paramt.SetValue("MONEDA", DocumPago[i].MONEDA); paramt.SetValue("CLASE_CUENTA", DocumPago[i].CLASE_CUENTA); paramt.SetValue("CLASE_DOC", DocumPago[i].CLASE_DOC); paramt.SetValue("NUM_CANCELACION", DocumPago[i].NUM_CANCELACION); paramt.SetValue("CME", DocumPago[i].CME); paramt.SetValue("NOTA_VENTA", DocumPago[i].NOTA_VENTA); paramt.SetValue("CEBE", DocumPago[i].CEBE); paramt.SetValue("ACC", DocumPago[i].ACC); } //LLENAMOS TABLA VIAS DE PAGO IRfcTable paramt2 = BapiGetUser.GetTable("VIAS_PAGO_VEHI"); for (int i = 0; i < ViaPago.Count(); i++) { paramt2.Append(); paramt2.SetValue("MANDT", ViaPago[i].MANDT); paramt2.SetValue("LAND", ViaPago[i].LAND); paramt2.SetValue("ID_COMPROBANTE", ViaPago[i].ID_COMPROBANTE); paramt2.SetValue("ID_DETALLE", ViaPago[i].ID_DETALLE); paramt2.SetValue("ID_CAJA", ViaPago[i].ID_CAJA); paramt2.SetValue("VIA_PAGO", ViaPago[i].VIA_PAGO); //if (ViaPago[i].MONEDA == "CLP") //{ // paramt2.SetValue("MONTO", FM.FormatoMonedaChilena(ViaPago[i].MONTO, "1")); //} //else //{ // paramt2.SetValue("MONTO", FM.FormatoMonedaExtranjera(ViaPago[i].MONTO)); //} paramt2.SetValue("MONTO", ViaPago[i].MONTO); paramt2.SetValue("MONEDA", ViaPago[i].MONEDA); paramt2.SetValue("BANCO", ViaPago[i].BANCO); paramt2.SetValue("EMISOR", ViaPago[i].EMISOR); paramt2.SetValue("NUM_CHEQUE", ViaPago[i].NUM_CHEQUE); paramt2.SetValue("COD_AUTORIZACION", ViaPago[i].COD_AUTORIZACION); paramt2.SetValue("NUM_CUOTAS", ViaPago[i].NUM_CUOTAS); paramt2.SetValue("FECHA_VENC", ViaPago[i].FECHA_VENC); paramt2.SetValue("TEXTO_POSICION", ViaPago[i].TEXTO_POSICION); paramt2.SetValue("ANEXO", ViaPago[i].ANEXO); paramt2.SetValue("SUCURSAL", ViaPago[i].SUCURSAL); paramt2.SetValue("NUM_CUENTA", ViaPago[i].NUM_CUENTA); paramt2.SetValue("NUM_TARJETA", ViaPago[i].NUM_TARJETA); paramt2.SetValue("NUM_VALE_VISTA", ViaPago[i].NUM_VALE_VISTA); paramt2.SetValue("PATENTE", ViaPago[i].PATENTE); paramt2.SetValue("NUM_VENTA", ViaPago[i].NUM_VENTA); paramt2.SetValue("PAGARE", ViaPago[i].PAGARE); if ((ViaPago[i].VIA_PAGO == "B") | (ViaPago[i].VIA_PAGO == "U")) { paramt2.SetValue("FECHA_EMISION", Convert.ToDateTime(ViaPago[i].FECHA_EMISION)); } else { paramt2.SetValue("FECHA_EMISION", ViaPago[i].FECHA_EMISION); } paramt2.SetValue("NOMBRE_GIRADOR", ViaPago[i].NOMBRE_GIRADOR); paramt2.SetValue("CARTA_CURSE", ViaPago[i].CARTA_CURSE); paramt2.SetValue("NUM_TRANSFER", ViaPago[i].NUM_TRANSFER); paramt2.SetValue("NUM_DEPOSITO", ViaPago[i].NUM_DEPOSITO); paramt2.SetValue("CTA_BANCO", ViaPago[i].CTA_BANCO); paramt2.SetValue("IFINAN", ViaPago[i].IFINAN); paramt2.SetValue("ZUONR", ViaPago[i].ZUONR); paramt2.SetValue("CORRE", ViaPago[i].CORRE); paramt2.SetValue("HKONT", ViaPago[i].HKONT); paramt2.SetValue("PRCTR", ViaPago[i].PRCTR); paramt2.SetValue("ZNOP", ViaPago[i].ZNOP); } IRfcTable paramt3 = BapiGetUser.GetTable("ACT_FPAGOS"); for (int i = 0; i < pago.Count(); i++) { paramt3.Append(); paramt3.SetValue("VBELN", pago[i].VBELN); paramt3.SetValue("CORRE", pago[i].CORRE); } BapiGetUser.SetValue("DOCUMENTO_CAB", paramt); BapiGetUser.SetValue("VIAS_PAGO_VEHI", paramt2); BapiGetUser.SetValue("ACT_FPAGOS", paramt3); BapiGetUser.Invoke(SapRfcDestination); DOCUMENTO = BapiGetUser.GetValue("DOCUMENTO").ToString(); DOCUMENTO2 = BapiGetUser.GetValue("COMPROBANTE").ToString(); IRfcTable retorno = BapiGetUser.GetTable("RETORNO"); for (var i = 0; i < retorno.RowCount; i++) { retorno.CurrentIndex = i; p_return = new RETURN(); p_return.TYPE = retorno[i].GetString("TYPE"); p_return.ID = retorno[i].GetString("ID"); p_return.NUMBER = retorno[i].GetString("NUMBER"); p_return.MESSAGE = retorno[i].GetString("MESSAGE"); p_return.LOG_NO = retorno[i].GetString("LOG_NO"); p_return.LOG_MSG_NO = retorno[i].GetString("LOG_MSG_NO"); p_return.MESSAGE_V1 = retorno[i].GetString("MESSAGE_V1"); p_return.MESSAGE_V2 = retorno[i].GetString("MESSAGE_V2"); p_return.MESSAGE_V3 = retorno[i].GetString("MESSAGE_V3"); p_return.MESSAGE_V4 = retorno[i].GetString("MESSAGE_V4"); p_return.PARAMETER = retorno[i].GetString("PARAMETER"); p_return.ROW = retorno[i].GetString("ROW"); p_return.FIELD = retorno[i].GetString("FIELD"); p_return.SYSTEM = retorno[i].GetString("SYSTEM"); if (retorno[i].GetString("TYPE") == "E") { if (errormessage.Contains(retorno[i].GetString("MESSAGE"))) { ; } else { errormessage = errormessage + " - " + retorno[i].GetString("MESSAGE"); } } if (retorno[i].GetString("TYPE") == "S") { if (message.Contains(retorno[i].GetString("MESSAGE"))) { ; } else { message = message + " - " + retorno[i].GetString("MESSAGE"); } } objReturn2.Add(p_return); } } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); } }
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 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 ProcessRequest(HttpContext context) { try { string Rut = context.Request.QueryString["Rut"]; string Mes = context.Request.QueryString["Mes"]; string Anio = context.Request.QueryString["Anio"]; string usuario = context.Request.QueryString["Usuario"]; string contrasena = context.Request.QueryString["Clave"]; string retorno = "ERROR"; ConexionController conexion = new ConexionController(); try { if (!string.IsNullOrEmpty(usuario) && !string.IsNullOrEmpty(contrasena)) { retorno = conexion.connectionsSAP(usuario, contrasena); } if (string.IsNullOrEmpty(retorno)) { RfcDestination SapRfcDestination = RfcDestinationManager.GetDestination(conexion.connectorConfig); RfcRepository SapRfcRepository = SapRfcDestination.Repository; IRfcFunction BapiGetUser = SapRfcRepository.CreateFunction("ZHR_LIQ_SUE"); BapiGetUser.SetValue("I_RUT", Rut); BapiGetUser.SetValue("I_MES", Mes); BapiGetUser.SetValue("I_ANO", Anio); BapiGetUser.Invoke(SapRfcDestination); Byte[] bytes = (Byte[])BapiGetUser.GetValue("PDF_LIQUI"); using (MemoryStream input = new MemoryStream(bytes)) { using (MemoryStream output = new MemoryStream()) { string password = Rut; PdfReader reader = new PdfReader(input); PdfEncryptor.Encrypt(reader, output, true, password, password, PdfWriter.ALLOW_SCREENREADERS); bytes = output.ToArray(); } } context.Response.Buffer = true; context.Response.Charset = ""; context.Response.Cache.SetCacheability(HttpCacheability.NoCache); context.Response.ContentType = "application/pdf"; context.Response.BinaryWrite(bytes); context.Response.Flush(); context.Response.End(); } } catch (Exception e) { } finally { } } catch (Exception ex) { } }
public string SAPData() { try { String username = (string)(Session["username"]); RfcConfigParameters rfc = new RfcConfigParameters();////Assign values in rfcconfigparameters rfc.Add(RfcConfigParameters.Name, ConfigurationManager.AppSettings["Name"].ToString()); rfc.Add(RfcConfigParameters.AppServerHost, ConfigurationManager.AppSettings["ServerHost"].ToString()); rfc.Add(RfcConfigParameters.Client, ConfigurationManager.AppSettings["Client"].ToString()); rfc.Add(RfcConfigParameters.User, ConfigurationManager.AppSettings["User"].ToString()); rfc.Add(RfcConfigParameters.Password, ConfigurationManager.AppSettings["Password"].ToString()); rfc.Add(RfcConfigParameters.SystemNumber, ConfigurationManager.AppSettings["SystemNumber"].ToString()); rfc.Add(RfcConfigParameters.Language, ConfigurationManager.AppSettings["Language"].ToString());; rfc.Add(RfcConfigParameters.PoolSize, ConfigurationManager.AppSettings["PoolSize"].ToString()); RfcDestination mydestination = RfcDestinationManager.GetDestination(rfc); RfcRepository myrepository = mydestination.Repository; IRfcFunction myfunction = myrepository.CreateFunction("ZSP_VEND_PO_DETAILS"); username = vendor_code.Value; myfunction.SetValue("I_LIFNR", username); String fd = Session["VendorPoDetailsF_date"].ToString(); String ed = Session["VendorPoDetailsT_date"].ToString(); myfunction.SetValue("I_FROM_AEDAT", fd); myfunction.SetValue("I_TO_AEDAT", ed); myfunction.Invoke(mydestination); IRfcTable messageTable = myfunction.GetTable("ITAB", true); int rowIndex = 0; foreach (IRfcStructure row in messageTable) { String LIFNR = row.GetString("LIFNR"); String EBELN = row.GetString("EBELN"); String BSART = row.GetString("BSART"); String WERKS = row.GetString("WERKS"); String AEDAT = row.GetString("AEDAT"); String EBELP = row.GetString("EBELP"); String MENGE = row.GetString("MENGE"); String MEINS = row.GetString("MEINS"); String NETWR = row.GetString("NETWR"); String DMBTR = row.GetString("DMBTR"); String DELIV_DATE = row.GetString("DELIV_DATE"); block2 += "<tr>"; block2 += "<td>" + LIFNR + "</td>"; block2 += "<td>" + EBELN + "</td>"; block2 += "<td>" + BSART + "</td>"; block2 += "<td>" + WERKS + "</td>"; block2 += "<td>" + AEDAT + "</td>"; block2 += "<td>" + EBELP + "</td>"; block2 += "<td>" + MENGE + "</td>"; block2 += "<td>" + MEINS + "</td>"; block2 += "<td>" + NETWR + "</td>"; block2 += "<td>" + DMBTR + "</td>"; block2 += "<td>" + DELIV_DATE + "</td>"; block2 += "</tr>"; rowIndex = rowIndex + 1; } return(block2); } catch (Exception ex) { } return(block2); }
public void reimprcomprobantes(string P_UNAME, string P_PASSWORD, string P_IDSISTEMA, string P_INSTANCIA, string P_MANDANTE, string P_SAPROUTER, string P_SERVER, string P_IDIOMA, List <VIAS_PAGO2> P_VIASPAGO, List <DOCUMENTOS> P_DOCSAPAGAR) { try { DatosCabecera.Clear(); DatosDetalle.Clear(); DatosDocumentos.Clear(); DatosViaPago.Clear(); DatosCaja.Clear(); DatosCliente.Clear(); DatosEmpresa.Clear(); IRfcStructure lt_DATOS_CAJA; IRfcStructure lt_DATOS_CLIENTES; IRfcTable lt_DATOS_DOCUMENTOS; IRfcTable lt_DATOS_VP; IRfcTable lt_DATOSEMPRESA; //DATOS_CAJA DATOS_CAJA_resp; DATOS_CLIENTES datosclientes; DATOS_CAJA datoscaja; DATOS_DOCUMENTOS datosdocumentos; DATOS_VP datosvp; INFO_SOC datosempresa; //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_FM_REC_IMP_COMPROBANTE"); try { IRfcTable GralDat = BapiGetUser.GetTable("VIAS_PAGO"); for (var i = 0; i < P_VIASPAGO.Count; i++) { GralDat.Append(); GralDat.SetValue("MANDT", P_VIASPAGO[i].MANDT); GralDat.SetValue("LAND", P_VIASPAGO[i].LAND); GralDat.SetValue("ID_COMPROBANTE", P_VIASPAGO[i].ID_COMPROBANTE); GralDat.SetValue("ID_DETALLE", P_VIASPAGO[i].ID_DETALLE); GralDat.SetValue("VIA_PAGO", P_VIASPAGO[i].VIA_PAGO); GralDat.SetValue("MONTO", P_VIASPAGO[i].MONTO); GralDat.SetValue("MONEDA", P_VIASPAGO[i].MONEDA); if (P_VIASPAGO[i].BANCO != "") { GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO.Substring(0, 3)); } else { GralDat.SetValue("BANCO", P_VIASPAGO[i].BANCO); } GralDat.SetValue("EMISOR", P_VIASPAGO[i].EMISOR); GralDat.SetValue("NUM_CHEQUE", P_VIASPAGO[i].NUM_CHEQUE); GralDat.SetValue("COD_AUTORIZACION", P_VIASPAGO[i].COD_AUTORIZACION); GralDat.SetValue("NUM_CUOTAS", P_VIASPAGO[i].NUM_CUOTAS); if (P_VIASPAGO[i].FECHA_VENC != "0000-00-00") { GralDat.SetValue("FECHA_VENC", Convert.ToDateTime(P_VIASPAGO[i].FECHA_VENC)); } GralDat.SetValue("TEXTO_POSICION", P_VIASPAGO[i].TEXTO_POSICION); GralDat.SetValue("ANEXO", P_VIASPAGO[i].ANEXO); GralDat.SetValue("SUCURSAL", P_VIASPAGO[i].SUCURSAL); GralDat.SetValue("NUM_CUENTA", P_VIASPAGO[i].NUM_CUENTA); GralDat.SetValue("NUM_TARJETA", P_VIASPAGO[i].NUM_TARJETA); GralDat.SetValue("NUM_VALE_VISTA", P_VIASPAGO[i].NUM_VALE_VISTA); GralDat.SetValue("PATENTE", P_VIASPAGO[i].PATENTE); GralDat.SetValue("NUM_VENTA", P_VIASPAGO[i].NUM_VENTA); GralDat.SetValue("PAGARE", P_VIASPAGO[i].PAGARE); if (P_VIASPAGO[i].FECHA_EMISION != "0000-00-00") { GralDat.SetValue("FECHA_EMISION", Convert.ToDateTime(P_VIASPAGO[i].FECHA_EMISION)); } GralDat.SetValue("NOMBRE_GIRADOR", P_VIASPAGO[i].NOMBRE_GIRADOR); GralDat.SetValue("CARTA_CURSE", P_VIASPAGO[i].CARTA_CURSE); GralDat.SetValue("NUM_TRANSFER", P_VIASPAGO[i].NUM_TRANSFER); GralDat.SetValue("NUM_DEPOSITO", P_VIASPAGO[i].NUM_DEPOSITO); GralDat.SetValue("CTA_BANCO", P_VIASPAGO[i].CTA_BANCO); GralDat.SetValue("IFINAN", P_VIASPAGO[i].IFINAN); GralDat.SetValue("CORRE", P_VIASPAGO[i].CORRE); GralDat.SetValue("ZUONR", P_VIASPAGO[i].ZUONR); GralDat.SetValue("HKONT", P_VIASPAGO[i].HKONT); GralDat.SetValue("PRCTR", P_VIASPAGO[i].PRCTR); } BapiGetUser.SetValue("VIAS_PAGO", GralDat); } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { IRfcTable GralDat2 = BapiGetUser.GetTable("DOCUMENTOS"); for (var i = 0; i < P_DOCSAPAGAR.Count; i++) { GralDat2.Append(); GralDat2.SetValue("MANDT", P_DOCSAPAGAR[i].MANDT); GralDat2.SetValue("LAND", P_DOCSAPAGAR[i].LAND); GralDat2.SetValue("ID_COMPROBANTE", P_DOCSAPAGAR[i].ID_COMPROBANTE); GralDat2.SetValue("POSICION", P_DOCSAPAGAR[i].POSICION); GralDat2.SetValue("CLIENTE", P_DOCSAPAGAR[i].CLIENTE); GralDat2.SetValue("TIPO_DOCUMENTO", P_DOCSAPAGAR[i].CLASE_DOC); GralDat2.SetValue("SOCIEDAD", P_DOCSAPAGAR[i].SOCIEDAD); if (i == 0) { NumDocCont = P_DOCSAPAGAR[i].NRO_DOCUMENTO; } GralDat2.SetValue("NRO_DOCUMENTO", P_DOCSAPAGAR[i].NRO_DOCUMENTO); GralDat2.SetValue("NRO_REFERENCIA", P_DOCSAPAGAR[i].NRO_REFERENCIA); GralDat2.SetValue("CAJERO_RESP", P_DOCSAPAGAR[i].CAJERO_RESP); GralDat2.SetValue("CAJERO_GEN", P_DOCSAPAGAR[i].CAJERO_GEN); GralDat2.SetValue("ID_CAJA", P_DOCSAPAGAR[i].ID_CAJA); GralDat2.SetValue("FECHA_COMP", P_DOCSAPAGAR[i].FECHA_COMP); GralDat2.SetValue("HORA", P_DOCSAPAGAR[i].HORA); GralDat2.SetValue("NRO_COMPENSACION", P_DOCSAPAGAR[i].NRO_COMPENSACION); GralDat2.SetValue("TEXTO_CABECERA", P_DOCSAPAGAR[i].TEXTO_CABECERA); GralDat2.SetValue("NULO", P_DOCSAPAGAR[i].NULO); GralDat2.SetValue("USR_ANULADOR", P_DOCSAPAGAR[i].USR_ANULADOR); GralDat2.SetValue("NRO_ANULACION", P_DOCSAPAGAR[i].NRO_ANULACION); GralDat2.SetValue("APROBADOR_ANULA", P_DOCSAPAGAR[i].APROBADOR_ANULA); GralDat2.SetValue("TXT_ANULACION", P_DOCSAPAGAR[i].TXT_ANULACION); GralDat2.SetValue("EXCEPCION", P_DOCSAPAGAR[i].EXCEPCION); if (P_DOCSAPAGAR[i].FECHA_COMP != "0000-00-00") { GralDat2.SetValue("FECHA_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_COMP)); } if (P_DOCSAPAGAR[i].FECHA_VENC_DOC != "0000-00-00") { GralDat2.SetValue("FECHA_VENC_DOC", Convert.ToDateTime(P_DOCSAPAGAR[i].FECHA_VENC_DOC)); } GralDat2.SetValue("NUM_CUOTA", P_DOCSAPAGAR[i].NUM_CUOTA); GralDat2.SetValue("MONTO_DOC", P_DOCSAPAGAR[i].MONTO_DOC); GralDat2.SetValue("MONTO_DIFERENCIA", P_DOCSAPAGAR[i].MONTO_DIFERENCIA); GralDat2.SetValue("TEXTO_EXCEPCION", P_DOCSAPAGAR[i].TEXTO_EXCEPCION); GralDat2.SetValue("PARCIAL", P_DOCSAPAGAR[i].PARCIAL); GralDat2.SetValue("TIME", P_DOCSAPAGAR[i].TIME); GralDat2.SetValue("APROBADOR_EX", P_DOCSAPAGAR[i].APROBADOR_EX); GralDat2.SetValue("MONEDA", P_DOCSAPAGAR[i].MONEDA); GralDat2.SetValue("CLASE_CUENTA", P_DOCSAPAGAR[i].CLASE_CUENTA); GralDat2.SetValue("CLASE_DOC", P_DOCSAPAGAR[i].CLASE_DOC); GralDat2.SetValue("NUM_CANCELACION", P_DOCSAPAGAR[i].NUM_CANCELACION); GralDat2.SetValue("CME", P_DOCSAPAGAR[i].CME); GralDat2.SetValue("NOTA_VENTA", P_DOCSAPAGAR[i].NOTA_VENTA); GralDat2.SetValue("CEBE", P_DOCSAPAGAR[i].CEBE); GralDat2.SetValue("ACC", P_DOCSAPAGAR[i].ACC); } BapiGetUser.SetValue("DOCUMENTOS", GralDat2); } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } BapiGetUser.Invoke(SapRfcDestination); //LLenamos los datos que retorna la estructura de la RFC try { lt_DATOS_CAJA = BapiGetUser.GetStructure("DATOS_CAJA"); for (int i = 0; i < lt_DATOS_CAJA.Count(); i++) { //lt_DATOS_CAJA.CurrentIndex = i; datoscaja = new DATOS_CAJA(); datoscaja.NAME_CAJERO = lt_DATOS_CAJA.GetString("NAME_CAJERO"); datoscaja.USUARIO = lt_DATOS_CAJA.GetString("USUARIO"); datoscaja.ID_COMPROBANTE = lt_DATOS_CAJA.GetString("ID_COMPROBANTE"); datoscaja.NRO_DOCUMENTO = lt_DATOS_CAJA.GetString("NRO_DOCUMENTO"); datoscaja.NOM_SOCIEDAD = lt_DATOS_CAJA.GetString("NOM_SOCIEDAD"); datoscaja.RUT_SOCIEDAD = lt_DATOS_CAJA.GetString("RUT_SOCIEDAD"); datoscaja.NOM_CAJA = lt_DATOS_CAJA.GetString("NOM_CAJA"); DatosCaja.Add(datoscaja); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_CLIENTES = BapiGetUser.GetStructure("DATOS_CLIENTES"); for (int i = 0; i < lt_DATOS_CLIENTES.Count(); i++) { //lt_DATOS_CLIENTES.CurrentIndex = i; datosclientes = new DATOS_CLIENTES(); datosclientes.RUT = lt_DATOS_CLIENTES.GetString("RUT"); datosclientes.NOMBRE = lt_DATOS_CLIENTES.GetString("NOMBRE"); DatosCliente.Add(datosclientes); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_DOCUMENTOS = BapiGetUser.GetTable("DATOS_DOCUMENTOS"); for (int i = 0; i < lt_DATOS_DOCUMENTOS.Count(); i++) { lt_DATOS_DOCUMENTOS.CurrentIndex = i; datosdocumentos = new DATOS_DOCUMENTOS(); datosdocumentos.TXT_DOCU = lt_DATOS_DOCUMENTOS.GetString("TXT_DOCU"); datosdocumentos.NRO_DOCUMENTO = lt_DATOS_DOCUMENTOS.GetString("NRO_DOCUMENTO"); datosdocumentos.FECHA_DOC = lt_DATOS_DOCUMENTOS.GetString("FECHA_DOC"); datosdocumentos.FECHA_VENC_DOC = lt_DATOS_DOCUMENTOS.GetString("FECHA_VENC_DOC"); datosdocumentos.MONEDA = lt_DATOS_DOCUMENTOS.GetString("MONEDA"); string str = datosdocumentos.MONEDA; switch (str) { case "USD": //string Valor3 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim(); //Valor3 = Valor3.Replace(".", ""); //Valor3 = Valor3.Replace(",", ""); //decimal ValorAux3 = Convert.ToDecimal(Valor3.Substring(0, Valor3.Length - 2)); //string Cualquiernombre3 = string.Format("{0:0,0}", ValorAux3); datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim()); //string Valor4 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim(); //Valor4 = Valor4.Replace(".", ""); //Valor4 = Valor4.Replace(",", ""); //decimal ValorAux4 = Convert.ToDecimal(Valor4.Substring(0, Valor4.Length - 2)); //string Cualquiernombre4 = string.Format("{0:0,0}", ValorAux4); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim()); break; case "EUR": //string Valor6 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim(); //Valor6 = Valor6.Replace(".", ""); //Valor6 = Valor6.Replace(",", ""); //decimal ValorAux6 = Convert.ToDecimal(Valor6.Substring(0, Valor6.Length - 2)); //string Cualquiernombre6 = string.Format("{0:0,0}", ValorAux6); datosdocumentos.MONTO_DOC_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO").Trim()); //string Valor7 = lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim(); //Valor7 = Valor7.Replace(".", ""); //Valor7 = Valor7.Replace(",", ""); //decimal ValorAux7 = Convert.ToDecimal(Valor7.Substring(0, Valor7.Length - 2)); //string Cualquiernombre7 = string.Format("{0:0,0}", ValorAux7); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML").Trim()); break; case "CLP": datosdocumentos.MONTO_DOC_MO = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_MO")); datosdocumentos.MONTO_DOC_ML = Formato.FormatoMoneda(lt_DATOS_DOCUMENTOS.GetString("MONTO_DOC_ML")); break; } datosdocumentos.PEDIDO = lt_DATOS_DOCUMENTOS.GetString("PEDIDO"); DatosDocumentos.Add(datosdocumentos); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOSEMPRESA = BapiGetUser.GetTable("INFO_SOC"); for (int i = 0; i < lt_DATOSEMPRESA.Count(); i++) { lt_DATOSEMPRESA.CurrentIndex = i; datosempresa = new INFO_SOC(); datosempresa.BUKRS = lt_DATOSEMPRESA.GetString("BUKRS"); datosempresa.BUTXT = lt_DATOSEMPRESA.GetString("BUTXT"); datosempresa.STCD1 = lt_DATOSEMPRESA.GetString("STCD1"); DatosEmpresa.Add(datosempresa); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } try { lt_DATOS_VP = BapiGetUser.GetTable("DATOS_VP"); for (int i = 0; i < lt_DATOS_VP.Count(); i++) { lt_DATOS_VP.CurrentIndex = i; datosvp = new DATOS_VP(); datosvp.NUM_POS = lt_DATOS_VP.GetString("NUM_POS"); datosvp.DESCRIP_VP = lt_DATOS_VP.GetString("DESCRIP_VP"); datosvp.NUM_VP = lt_DATOS_VP.GetString("NUM_VP"); datosvp.FECHA_EMISION = lt_DATOS_VP.GetString("FECHA_EMISION"); datosvp.FECHA_VENC = lt_DATOS_VP.GetString("FECHA_VENC"); datosvp.MONEDA = lt_DATOS_VP.GetString("MONEDA"); string str = datosvp.MONEDA; switch (str) { case "USD": //string Valor = lt_DATOS_VP.GetString("MONTO_MO").Trim(); //Valor = Valor.Replace(".", ""); //Valor = Valor.Replace(",", ""); //decimal ValorAux = Convert.ToDecimal(Valor.Substring(0, Valor.Length - 2)); //string Cualquiernombre = string.Format("{0:0,0}", ValorAux); datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim()); //string Valor2 = lt_DATOS_VP.GetString("MONTO_ML").Trim(); //Valor2 = Valor2.Replace(".", ""); //Valor2 = Valor2.Replace(",", ""); //decimal ValorAux2 = Convert.ToDecimal(Valor2.Substring(0, Valor2.Length - 2)); //string Cualquiernombre2 = string.Format("{0:0,0}", ValorAux2); datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim()); break; case "EUR": //string Valor1 = lt_DATOS_VP.GetString("MONTO_MO").Trim(); //Valor1 = Valor1.Replace(".", ""); //Valor1 = Valor1.Replace(",", ""); //decimal ValorAux1 = Convert.ToDecimal(Valor1.Substring(0, Valor1.Length - 2)); //string Cualquiernombre1 = string.Format("{0:0,0}", ValorAux1); datosvp.MONTO_MO = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_MO").Trim()); //string Valor5 = lt_DATOS_VP.GetString("MONTO_ML").Trim(); //Valor5 = Valor5.Replace(".", ""); //Valor5 = Valor5.Replace(",", ""); //decimal ValorAux5 = Convert.ToDecimal(Valor5.Substring(0, Valor5.Length - 2)); //string Cualquiernombre5 = string.Format("{0:0,0}", ValorAux5); datosvp.MONTO_ML = Formato.FormatoMonedaExtranjera(lt_DATOS_VP.GetString("MONTO_ML").Trim()); break; case "CLP": datosvp.MONTO_MO = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_MO")); datosvp.MONTO_ML = Formato.FormatoMoneda(lt_DATOS_VP.GetString("MONTO_ML")); break; } DatosViaPago.Add(datosvp); } } catch (Exception ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } } GC.Collect(); } catch (InvalidCastException ex) { Console.WriteLine("{0} Exception caught.", ex); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } }
///// <summary> ///// 获取物料状态 ///// </summary> ///// <param name="MatCode">物料编号</param> ///// <param name="rList"></param> ///// <returns></returns> //public List<MaterialStatus> ZRFC_GETMATORDER(string MatCode) //{ // List<MaterialStatus> rList = new List<MaterialStatus>(); // try // { // RfcRepository repo = Conn.Repository; // IRfcFunction rfcfunc = repo.CreateFunction("ZRFC_GETMATORDER"); // rfcfunc.SetValue("MATNR", MatCode); // rfcfunc.Invoke(Conn); // IRfcTable RfcTable = rfcfunc.GetTable("MATNRDATA"); // for (int i = 0; i < RfcTable.Count(); i++) // { // MaterialStatus model = new MaterialStatus(); // //model.MATNR = RfcTable[i].GetValue("MATNR").ToString(); // //model.ZCANORDER = RfcTable[i].GetValue("ZCANORDER").ToString(); // //model.ZREPROD = RfcTable[i].GetValue("ZREPROD").ToString(); // rList.Add(model); // } // } // catch // { // rList = null; // } // return rList; //} public SapRetrun CREATE_BAPI_ACC_DOCUMENT_POST(SapUpload model) { try { RfcRepository repo = Conn.Repository; IRfcFunction Fun = repo.CreateFunction("ZBAPI_ACC_DOCUMENT_POST"); //结构体doc IRfcStructure tb = Fun.GetStructure("DOCUMENTHEADER"); DOCUMENTHEADER doc = model.结构体DOC; tb.SetValue("USERNAME", doc.USERNAME); tb.SetValue("HEADER_TXT", doc.HEADER_TXT); tb.SetValue("COMP_CODE", doc.COMP_CODE); tb.SetValue("DOC_DATE", doc.DOC_DATE); tb.SetValue("PSTNG_DATE", doc.PSTNG_DATE); tb.SetValue("TRANS_DATE", doc.TRANS_DATE); tb.SetValue("DOC_TYPE", doc.DOC_TYPE); tb.SetValue("BUS_ACT", doc.BUS_ACT); tb.SetValue("OBJ_TYPE", doc.OBJ_TYPE); tb.SetValue("REF_DOC_NO", doc.REF_DOC_NO); //一般性总账科目 if (model.一般性总账 != null && model.一般性总账.Count > 0) { IRfcTable tb1 = Fun.GetTable("ACCOUNTGL"); foreach (var item in model.一般性总账) { tb1.Insert(); tb1.CurrentRow.SetValue("ITEMNO_ACC", item.ITEMNO_ACC); tb1.CurrentRow.SetValue("GL_ACCOUNT", item.GL_ACCOUNT); tb1.CurrentRow.SetValue("ITEM_TEXT", item.ITEM_TEXT); tb1.CurrentRow.SetValue("ALLOC_NMBR", item.ALLOC_NMBR); tb1.CurrentRow.SetValue("COSTCENTER", item.COSTCENTER); tb1.CurrentRow.SetValue("PROFIT_CTR", item.PROFIT_CTR); tb1.CurrentRow.SetValue("ACCT_TYPE", item.ACCT_TYPE); if (!string.IsNullOrEmpty(item.ASSET_NO)) { tb1.CurrentRow.SetValue("ASSET_NO", item.ASSET_NO); tb1.CurrentRow.SetValue("SUB_NUMBER", "0000"); tb1.CurrentRow.SetValue("ACCT_TYPE", "A"); } } } //科目D if (model.科目D != null && model.科目D.Count > 0) { IRfcTable tb1 = Fun.GetTable("ACCOUNTRECEIVABLE"); foreach (var item in model.科目D) { tb1.Insert(); tb1.CurrentRow.SetValue("ITEMNO_ACC", item.ITEMNO_ACC); tb1.CurrentRow.SetValue("CUSTOMER", item.CUSTOMER); tb1.CurrentRow.SetValue("ITEM_TEXT", item.ITEM_TEXT); tb1.CurrentRow.SetValue("ALLOC_NMBR", item.ALLOC_NMBR); tb1.CurrentRow.SetValue("PROFIT_CTR", item.PROFIT_CTR); } } //科目K if (model.科目K != null && model.科目K.Count > 0) { IRfcTable tb1 = Fun.GetTable("ACCOUNTPAYABLE"); foreach (var item in model.科目K) { tb1.Insert(); tb1.CurrentRow.SetValue("ITEMNO_ACC", item.ITEMNO_ACC); tb1.CurrentRow.SetValue("VENDOR_NO", item.VENDOR_NO); tb1.CurrentRow.SetValue("ITEM_TEXT", item.ITEM_TEXT); tb1.CurrentRow.SetValue("ALLOC_NMBR", item.ALLOC_NMBR); if (!string.IsNullOrEmpty(item.PO_NUMBER)) { tb1.CurrentRow.SetValue("SP_GL_IND", item.UMSKZ); tb1.CurrentRow.SetValue("GL_ACCOUNT", item.GL_ACCOUNT); tb1.CurrentRow.SetValue("PROFIT_CTR", item.PROFIT_CTR); } else if (!string.IsNullOrEmpty(item.PROFIT_CTR)) { tb1.CurrentRow.SetValue("GL_ACCOUNT", item.GL_ACCOUNT); tb1.CurrentRow.SetValue("PROFIT_CTR", item.PROFIT_CTR); } } } if (model.币种 != null && model.币种.Count > 0) { IRfcTable tb2 = Fun.GetTable("CURRENCYAMOUNT"); foreach (var item in model.币种) { tb2.Insert(); tb2.CurrentRow.SetValue("ITEMNO_ACC", item.ITEMNO_ACC); tb2.CurrentRow.SetValue("CURRENCY", item.CURRENCY); tb2.CurrentRow.SetValue("AMT_DOCCUR", item.AMT_DOCCUR); tb2.CurrentRow.SetValue("EXCH_RATE", item.EXCH_RATE); } } if (model.行项目 != null && model.行项目.Count > 0) { IRfcTable tb3 = Fun.GetTable("EXTENSION2"); foreach (var item in model.行项目) { tb3.Insert(); tb3.CurrentRow.SetValue("STRUCTURE", item.STRUCTURE); tb3.CurrentRow.SetValue("VALUEPART1", item.VALUEPART1); tb3.CurrentRow.SetValue("VALUEPART2", item.VALUEPART2); tb3.CurrentRow.SetValue("VALUEPART3", item.VALUEPART3); tb3.CurrentRow.SetValue("VALUEPART4", item.VALUEPART4); } } Fun.Invoke(Conn); SapRetrun result = new SapRetrun(); var voucher = Fun.GetValue("OBJ_KEY").ToString(); if (!string.IsNullOrEmpty(voucher) && voucher != "$") { result.TYPE = "S"; result.MESSAGE = "凭证上传成功"; result.VOUCHER = voucher; } else { var Return = Fun.GetTable("RETURN"); if (Return.RowCount >= 2) { result.TYPE = Return[1].GetValue("TYPE").ToString(); result.MESSAGE = Return[1].GetValue("MESSAGE").ToString(); result.VOUCHER = Return[1].GetValue("MESSAGE_V2").ToString(); } else { result.TYPE = Return[0].GetValue("TYPE").ToString(); result.MESSAGE = Return[0].GetValue("MESSAGE").ToString(); result.VOUCHER = Return[0].GetValue("MESSAGE_V2").ToString(); } } return(result); } catch (Exception ex) { throw; } }
public void viaspago(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_EXCEPCION, string P_CLASE_CUENTA, string P_HAS_CME, string P_LAND, string P_PROTESTO, List <ViasPago> P_CONDICIONES) { ObjDatosViasPago.Clear(); ViasPagoTransaccion.Clear(); errormessage = ""; IRfcTable lt_VIAS_PAGOS; VIAS_PAGO VIAS_PAGOS_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_MATRIZ_PAGO"); BapiGetUser.SetValue("EXCEPCION", P_EXCEPCION); IRfcTable GralDat = BapiGetUser.GetTable("CONDICIONES"); for (var i = 0; i < P_CONDICIONES.Count; i++) { GralDat.Append(); GralDat.SetValue("ACC", P_CONDICIONES[i].Acc); GralDat.SetValue("COND_PAGO", P_CONDICIONES[i].Cond_Pago); GralDat.SetValue("CAJA", P_CONDICIONES[i].Caja); } BapiGetUser.SetValue("CONDICIONES", GralDat); BapiGetUser.SetValue("CLASE_CUENTA", P_CLASE_CUENTA); BapiGetUser.SetValue("HAS_CME", P_HAS_CME); BapiGetUser.SetValue("LAND", P_LAND); BapiGetUser.SetValue("PROT", P_PROTESTO); // IRfcStructure GralDat = BapiGetUser.GetStructure("CONDICIONES"); // BapiGetUser.SetValue("T_GET_DOC", GralDat); BapiGetUser.Invoke(SapRfcDestination); lt_VIAS_PAGOS = BapiGetUser.GetTable("VIAS_PAGO"); //lt_PART_ABIERTAS = BapiGetUser.GetTable("ZCLSP_TT_LISTA_DOCUMENTOS"); if (lt_VIAS_PAGOS.Count > 0) { //LLenamos la tabla de salida lt_DatGen for (int i = 0; i < lt_VIAS_PAGOS.RowCount; i++) { lt_VIAS_PAGOS.CurrentIndex = i; VIAS_PAGOS_resp = new VIAS_PAGO(); VIAS_PAGOS_resp.VIA_PAGO = lt_VIAS_PAGOS[i].GetString("VIA_PAGO"); VIAS_PAGOS_resp.DESCRIPCION = lt_VIAS_PAGOS[i].GetString("DESCRIPCION"); // VIAS_PAGOS_resp..Add(lt_VIAS_PAGOS[i].GetString("VIA_PAGO"),lt_VIAS_PAGOS[i].GetString("DESCRIPCION")); //VIAS_PAGOS_resp = new VIAS_PAGO(); ObjDatosViasPago.Add(VIAS_PAGOS_resp); //ViasPagoTransaccion.Add(VIAS_PAGOS_resp.); } } else { // MessageBox.Show("No existen registros"); } GC.Collect(); } else { errormessage = retval; GC.Collect(); } }
public string SAPData() { try { /* System.Data.DataTable dt = new System.Data.DataTable(); * dt.Columns.AddRange(new DataColumn[14] { new DataColumn("LIFNR", typeof(string)), * new DataColumn("BELNR", typeof(string)), * new DataColumn("BUZEI", typeof(string)), * new DataColumn("GJAHR", typeof(string)), * new DataColumn("BUDAT", typeof(string)), * new DataColumn("BWART", typeof(string)), * new DataColumn("MATNR", typeof(string)), * new DataColumn("SGTXT", typeof(string)), * new DataColumn("EBELN", typeof(string)), * new DataColumn("AEDAT", typeof(string)), * new DataColumn("MAKTX", typeof(string)), * new DataColumn("MENGE", typeof(string)), * new DataColumn("MEINS", typeof(string)), * new DataColumn("DMBTR", typeof(string)),}); */ String username = (string)(Session["username"]); RfcConfigParameters rfc = new RfcConfigParameters();////Assign values in rfcconfigparameters rfc.Add(RfcConfigParameters.Name, ConfigurationManager.AppSettings["Name"].ToString()); rfc.Add(RfcConfigParameters.AppServerHost, ConfigurationManager.AppSettings["ServerHost"].ToString()); rfc.Add(RfcConfigParameters.Client, ConfigurationManager.AppSettings["Client"].ToString()); rfc.Add(RfcConfigParameters.User, ConfigurationManager.AppSettings["User"].ToString()); rfc.Add(RfcConfigParameters.Password, ConfigurationManager.AppSettings["Password"].ToString()); rfc.Add(RfcConfigParameters.SystemNumber, ConfigurationManager.AppSettings["SystemNumber"].ToString()); rfc.Add(RfcConfigParameters.Language, ConfigurationManager.AppSettings["Language"].ToString());; rfc.Add(RfcConfigParameters.PoolSize, ConfigurationManager.AppSettings["PoolSize"].ToString()); RfcDestination mydestination = RfcDestinationManager.GetDestination(rfc); RfcRepository myrepository = mydestination.Repository; IRfcFunction myfunction = myrepository.CreateFunction("ZSP_VEND_MOVEMENT"); username = vendor_code.Value; myfunction.SetValue("I_LIFNR", username); String ponumber = po_number.Value; myfunction.SetValue("I_EBELN", ponumber); myfunction.Invoke(mydestination); IRfcTable messageTable = myfunction.GetTable("ITAB", true); int rowIndex = 0; foreach (IRfcStructure row in messageTable) { String LIFNR = row.GetString("LIFNR"); String BELNR = row.GetString("BELNR"); String BUZEI = row.GetString("BUZEI"); String GJAHR = row.GetString("GJAHR"); String BUDAT = row.GetString("BUDAT"); String BWART = row.GetString("BWART"); String MATNR = row.GetString("MATNR"); String SGTXT = row.GetString("SGTXT"); String EBELN = row.GetString("EBELN"); String AEDAT = row.GetString("AEDAT"); String MAKTX = row.GetString("MAKTX"); String MENGE = row.GetString("MENGE"); String MEINS = row.GetString("MEINS"); String DMBTR = row.GetString("DMBTR"); block2 += "<tr>"; block2 += "<td>" + LIFNR + "</td>"; block2 += "<td>" + BELNR + "</td>"; block2 += "<td>" + BUZEI + "</td>"; block2 += "<td>" + GJAHR + "</td>"; block2 += "<td>" + BUDAT + "</td>"; block2 += "<td>" + BWART + "</td>"; block2 += "<td>" + MATNR + "</td>"; block2 += "<td>" + SGTXT + "</td>"; block2 += "<td>" + EBELN + "</td>"; block2 += "<td>" + AEDAT + "</td>"; block2 += "<td>" + MAKTX + "</td>"; block2 += "<td>" + MENGE + "</td>"; block2 += "<td>" + MEINS + "</td>"; block2 += "<td>" + DMBTR + "</td>"; block2 += "</tr>"; rowIndex = rowIndex + 1; } return(block2); } catch (Exception ex) { } return(block2); }
public void partidasopen(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_CODCLIENTE, string P_DOCUMENTO, string P_RUT, string P_SOCIEDAD, DateTime P_FECHA_VENC, string P_LAND, string P_FACT_SAP, string TipoBusqueda) { ObjDatosPartidasOpen.Clear(); Retorno.Clear(); IRfcTable lt_t_documentos; IRfcStructure lt_retorno; // PART_ABIERTAS PART_ABIERTAS_resp; T_DOCUMENTOS PART_ABIERTAS_resp; ESTADO 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_GET_DOC"); BapiGetUser.SetValue("CODCLIENTE", P_CODCLIENTE); BapiGetUser.SetValue("DOCUMENTO", P_DOCUMENTO); BapiGetUser.SetValue("RUT", P_RUT); BapiGetUser.SetValue("SOCIEDAD", P_SOCIEDAD); BapiGetUser.SetValue("LAND", P_LAND); BapiGetUser.SetValue("FACTURA_SAP", P_DOCUMENTO); BapiGetUser.SetValue("FECHA_VENC", P_FECHA_VENC); 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; PART_ABIERTAS_resp = new T_DOCUMENTOS(); PART_ABIERTAS_resp.SOCIEDAD = lt_t_documentos[i].GetString("SOCIEDAD"); PART_ABIERTAS_resp.NDOCTO = lt_t_documentos[i].GetString("NDOCTO"); PART_ABIERTAS_resp.NREF = lt_t_documentos[i].GetString("NREF"); PART_ABIERTAS_resp.CLASE_CUENTA = lt_t_documentos[i].GetString("CLASE_CUENTA"); PART_ABIERTAS_resp.CLASE_DOC = lt_t_documentos[i].GetString("CLASE_DOC"); PART_ABIERTAS_resp.COD_CLIENTE = lt_t_documentos[i].GetString("COD_CLIENTE"); PART_ABIERTAS_resp.RUTCLI = lt_t_documentos[i].GetString("RUTCLI"); PART_ABIERTAS_resp.NOMCLI = lt_t_documentos[i].GetString("NOMCLI"); PART_ABIERTAS_resp.CEBE = lt_t_documentos[i].GetString("CEBE"); //PART_ABIERTAS_resp.FECHA_DOC = lt_t_documentos[i].GetString("FECHA_DOC"); DateTime fec_doc = Convert.ToDateTime(lt_t_documentos[i].GetString("FECHA_DOC")); PART_ABIERTAS_resp.FECHA_DOC = fec_doc.ToString("dd/MM/yyyy"); //PART_ABIERTAS_resp.FECVENCI = lt_t_documentos[i].GetString("FECVENCI"); DateTime fec_venc = Convert.ToDateTime(lt_t_documentos[i].GetString("FECVENCI")); PART_ABIERTAS_resp.FECVENCI = fec_venc.ToString("dd/MM/yyyy"); PART_ABIERTAS_resp.DIAS_ATRASO = lt_t_documentos[i].GetString("DIAS_ATRASO"); PART_ABIERTAS_resp.ESTADO = lt_t_documentos[i].GetString("ESTADO"); PART_ABIERTAS_resp.ICONO = lt_t_documentos[i].GetString("ICONO"); PART_ABIERTAS_resp.MONEDA = lt_t_documentos[i].GetString("MONEDA"); PART_ABIERTAS_resp.ACC = lt_t_documentos[i].GetString("ACC"); PART_ABIERTAS_resp.CLASE_CUENTA = lt_t_documentos[i].GetString("CLASE_CUENTA"); PART_ABIERTAS_resp.COND_PAGO = lt_t_documentos[i].GetString("COND_PAGO"); PART_ABIERTAS_resp.CME = lt_t_documentos[i].GetString("CME"); PART_ABIERTAS_resp.CONTROL_CREDITO = lt_t_documentos[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); //decimal Cualquiernombre = Convert.ToDecimal(lt_t_documentos[i].GetString("MONTOF")); //**** // if (lt_t_documentos[i].GetString("MONTOF") == "") // { // PART_ABIERTAS_resp.MONTOF = "0"; // } // else // { // PART_ABIERTAS_resp.MONTOF = lt_t_documentos[i].GetString("MONTOF"); // } // //PART_ABIERTAS_resp.MONTOF = string.Format("{0:0.##}", Cualquiernombre); // //Cualquiernombre = Convert.ToDecimal(lt_t_documentos[i].GetString("MONTOF_ABON")); //// PART_ABIERTAS_resp.MONTOF_ABON = string.Format("{0:0.##}", Cualquiernombre); // if (lt_t_documentos[i].GetString("MONTOF_ABON") == "") // { // PART_ABIERTAS_resp.MONTOF_ABON = "0"; // } // else // { // PART_ABIERTAS_resp.MONTOF_ABON = lt_t_documentos[i].GetString("MONTOF_ABON"); // } // //Cualquiernombre = Convert.ToDecimal(lt_t_documentos[i].GetString("MONTOF_PAGAR")); // //PART_ABIERTAS_resp.MONTOF_PAGAR = string.Format("{0:0.##}", Cualquiernombre); // if (lt_t_documentos[i].GetString("MONTOF_PAGAR") == "") // { // PART_ABIERTAS_resp.MONTOF_PAGAR = "0"; // } // else // { // PART_ABIERTAS_resp.MONTOF_PAGAR = lt_t_documentos[i].GetString("MONTOF_PAGAR"); // } //MONTOF string Monto = ""; //******* 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); //PART_ABIERTAS_resp.MONTOF = Monto; 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); PART_ABIERTAS_resp.MONTOF = Cualquiernombre.Replace(",", "."); } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF")); decimal ValorAux = Convert.ToDecimal(moneda); PART_ABIERTAS_resp.MONTOF = string.Format("{0:0,0.##}", ValorAux).Replace(",", "."); //PART_ABIERTAS_resp.MONTOF = lt_t_documentos[i].GetString("MONTO"); } } else { //string Valor = lt_t_documentos[i].GetString("MONTOF").Trim(); //if (Valor.Contains("-")) //{ // Valor = "-" + Valor.Replace("-", ""); //} //Valor = Valor.Replace(".", ""); //Valor = Valor.Replace(",", ""); //decimal TOTIN2 = Convert.ToDecimal(Valor); //string Cualquiernombre = string.Format("{0:0,0}", TOTIN2); //PART_ABIERTAS_resp.MONTOF = Cualquiernombre; //PART_ABIERTAS_resp.MONTOF = lt_t_documentos[i].GetString("MONTOF"); //PART_ABIERTAS_resp.MONTOF = Convert.ToDouble( Convert.ToDouble( lt_t_documentos[i].GetString("MONTO"))*100).ToString("0,0",elGR) ; 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); PART_ABIERTAS_resp.MONTOF = Cualquiernombre.Replace(",", "."); } else { //PART_ABIERTAS_resp.MONTOF = lt_t_documentos[i].GetString("MONTOF"); string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF")); decimal ValorAux = Convert.ToDecimal(moneda); PART_ABIERTAS_resp.MONTOF = string.Format("{0:0,0.##}", ValorAux).Replace(",", "."); } } //MONTO //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); // PART_ABIERTAS_resp.MONTO = Monto; //} //else //{ // PART_ABIERTAS_resp.MONTO = 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); PART_ABIERTAS_resp.MONTO = Cualquiernombre.Replace(",", "."); } else { //PART_ABIERTAS_resp.MONTO = lt_t_documentos[i].GetString("MONTO"); string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTO")); decimal ValorAux = Convert.ToDecimal(moneda); PART_ABIERTAS_resp.MONTO = string.Format("{0:0,0.##}", ValorAux).Replace(",", "."); } //MONTO ABONADO //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); // PART_ABIERTAS_resp.MONTOF_ABON = Monto; //} //else //{ // PART_ABIERTAS_resp.MONTOF_ABON = lt_t_documentos[i].GetString("MONTOF_ABON"); // //PART_ABIERTAS_resp.MONTOF_ABON = Convert.ToDouble(Convert.ToDouble(lt_t_documentos[i].GetString("MONTO_ABONADO")) * 100).ToString("0,0", elGR); //} 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); PART_ABIERTAS_resp.MONTOF_ABON = Cualquiernombre.Replace(",", "."); } else { //PART_ABIERTAS_resp.MONTOF_ABON = lt_t_documentos[i].GetString("MONTOF_ABON"); string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF_ABON")); decimal ValorAux = Convert.ToDecimal(moneda); PART_ABIERTAS_resp.MONTOF_ABON = string.Format("{0:0,0.##}", ValorAux).Replace(",", "."); } //MONTO A 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 monedachil = string.Format("{0:0,0}", ValorAux); PART_ABIERTAS_resp.MONTOF_PAGAR = monedachil.Replace(",", "."); } else { string moneda = Convert.ToString(lt_t_documentos[i].GetString("MONTOF_PAGAR")); decimal ValorAux = Convert.ToDecimal(moneda); PART_ABIERTAS_resp.MONTOF_PAGAR = string.Format("{0:0,0.##}", ValorAux).Replace(",", "."); } ObjDatosPartidasOpen.Add(PART_ABIERTAS_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) para este número de " + TipoBusqueda); } } catch (Exception ex) { Console.WriteLine(ex.Message + ex.StackTrace); System.Windows.MessageBox.Show(ex.Message + ex.StackTrace); } String Mensaje = ""; if (lt_retorno.Count > 0) { string returning = ""; retorno_resp = new ESTADO(); for (int i = 0; i < lt_retorno.Count(); i++) { // lt_retorno.CurrentIndex = i; if (i == 0) { returning = retorno_resp.TYPE = 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"); } 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); } if (returning != "") { System.Windows.MessageBox.Show(Mensaje); } } GC.Collect(); } else { errormessage = retval; GC.Collect(); } }
public void anulacioncomprobantes(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_PASSWORD2, string P_IDCAJA) { Retorno.Clear(); Autorizado = ""; errormessage = ""; IRfcStructure lt_retorno; //IRfcTable lt_retorno; //string Autorizado; //bool Valido; ESTADO 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("PASSWORD", P_PASSWORD2); BapiGetUser.SetValue("ID_CAJA", P_IDCAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.Invoke(SapRfcDestination); Autorizado = BapiGetUser.GetString("VALIDO"); if (Autorizado == "X") { Valido = true; } // lt_retorno = BapiGetUser.GetTable("ESTADO"); lt_retorno = BapiGetUser.GetStructure("ESTADO"); 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); } if (Mensaje != "") { System.Windows.MessageBox.Show(Mensaje); } } } else { errormessage = retval; } GC.Collect(); }
public void GetCustomerDetails(RfcDestination destination) { try { RfcRepository repo = destination.Repository; IRfcFunction customerBapi = repo.CreateFunction("BAPI_CUSTOMER_GETLIST"); customerBapi.Invoke(destination); IRfcTable idRange = customerBapi.GetTable("IdRange"); idRange.SetValue("SIGN", "I"); idRange.SetValue("OPTION", "BT"); idRange.SetValue("LOW", ""); //customer number range - smallest value idRange.SetValue("HIGH", "999999"); //customer number range - largest value //add selection range to customerBapi function to search for all customers customerBapi.SetValue("idrange", idRange); IRfcTable addressData = customerBapi.GetTable("AddressData"); customerBapi.Invoke(destination);//execute query for (int cuIndex = 0; cuIndex < addressData.RowCount; cuIndex++) { addressData.CurrentIndex = cuIndex; IRfcFunction customerHierachy = repo.CreateFunction("BAPI_CUSTOMER_GETSALESAREAS"); IRfcFunction customerDetail1 = repo.CreateFunction("BAPI_CUSTOMER_GETDETAIL1"); IRfcFunction customerDetail2 = repo.CreateFunction("BAPI_CUSTOMER_GETDETAIL2"); Customers cust = new Customers();; cust.CustomerNo = addressData.GetString("Customer"); cust.CustomerName = addressData.GetString("Name"); cust.Address = addressData.GetString("Street"); cust.City = addressData.GetString("City"); cust.StateProvince = addressData.GetString("Region"); cust.CountryCode = addressData.GetString("CountryISO"); cust.PostalCode = addressData.GetString("Postl_Cod1"); customerDetail2.SetValue("CustomerNo", cust.CustomerNo); customerDetail2.Invoke(destination); IRfcStructure generalDetail = customerDetail2.GetStructure("CustomerGeneralDetail"); cust.Region = generalDetail.GetString("Reg_Market"); cust.Industry = generalDetail.GetString("Industry"); customerDetail1.Invoke(destination); IRfcStructure detail1 = customerDetail1.GetStructure("PE_CompanyData"); cust.District = detail1.GetString("District"); customerHierachy.Invoke(destination); customerHierachy.SetValue("CustomerNo", cust.CustomerNo); customerHierachy.Invoke(destination); IRfcTable otherDetail = customerHierachy.GetTable("SalesAreas"); if (otherDetail.RowCount > 0) { cust.SalesOrg = otherDetail.GetString("SalesOrg"); cust.DistributionChannel = otherDetail.GetString("DistrChn"); cust.Division = otherDetail.GetString("Division"); } customerHierachy = null; customerDetail1 = null; customerDetail2 = null; GC.Collect(); GC.WaitForPendingFinalizers(); } } catch (RfcCommunicationException e) { } catch (RfcLogonException e) { // user could not logon... } catch (RfcAbapRuntimeException e) { // serious problem on ABAP system side... } catch (RfcAbapBaseException e) { // The function module returned an ABAP exception, an ABAP message // or an ABAP class-based exception... } }
/// <summary> /// 取得供應商(藝術家)主檔 /// </summary> /// <param name="P_DATE_from">異動日期起始,yyyyMMdd</param> /// <param name="P_DATE_TO">異動日期迄止,yyyyMMdd</param> /// <param name="P_NAME1">藝術家名</param> /// <returns></returns> public static List <ET_VENDOR> GetSap_Z_MM_ZHAW_CUBE2(string P_DATE_from, string P_DATE_TO, string P_NAME1) { IDestinationConfiguration ID = new MyBackendConfig(); IRfcTable IRetTable = null; bool bRegistered = false; List <ET_VENDOR> ET_VENDORList = new List <ET_VENDOR>(); try { RfcDestination rfcDest = null; try { rfcDest = RfcDestinationManager.GetDestination("PRD"); bRegistered = true; } catch (Exception ex) { if (ex.GetType().Name == "RfcInvalidStateException") { } } finally { if (rfcDest == null && bRegistered == false) { bRegistered = true; RfcDestinationManager.RegisterDestinationConfiguration(ID); rfcDest = RfcDestinationManager.GetDestination("PRD"); } } RfcRepository rfcRepo = rfcDest.Repository; IRfcFunction IReader = rfcRepo.CreateFunction("Z_MM_ZHAW_CUBE2"); IReader.SetValue("P_DATE_from", P_DATE_from); IReader.SetValue("P_DATE_TO", P_DATE_TO); IReader.SetValue("P_NAME1", P_NAME1); //每幾筆資料切成一個檔案 //IReader.SetValue("COUNT", "1000"); //執行查詢 IReader.Invoke(rfcDest); IRetTable = IReader.GetTable("ET_VENDOR"); ET_VENDORList = IRetTable.AsEnumerable().Select(x => new ET_VENDOR() { NAME1 = x.GetString("NAME1"), LIFNR = x.GetString("LIFNR"), SORTL = x.GetString("SORTL"), LAND1 = x.GetString("LAND1"), ERDAT = x.GetString("ERDAT"), UDATE = x.GetString("UDATE") ?? "" }).ToList(); } catch (Exception ex) { throw ex; } finally { if (bRegistered) { RfcDestinationManager.UnregisterDestinationConfiguration(ID); } } return(ET_VENDORList); }
public void reportescaja(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_ID_REPORT) { try { T_Retorno.Clear(); resumen_viapago.Clear(); detalle_rend.Clear(); cab_arqueo.Clear(); detalle_arqueo.Clear(); resumen_caja.Clear(); rendicion_caja.Clear(); resumen_mensual.Clear(); info_soc.Clear(); RETORNO retorno; CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP resumenvp; DETALLE_REND detallerend; CAB_ARQUEO cabarqueo; DET_ARQUEO detallearqueo; RESUMEN_CAJA resumencaja; RESUMEN_MENSUAL resumenmensual; RENDICION_CAJA rendicioncaja; INFO_SOC infosoc; errormessage = ""; message = ""; IdCaja = ""; FechArqueo = ""; FechaArqueoHasta = ""; CajeroResp = ""; RUT = ""; Sucursal = ""; Sociedad = ""; SociedadR = ""; Empresa = ""; NombreCaja = ""; Tipo = ""; 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_RESUMEN_VP; IRfcTable lt_DETALLE_REND; IRfcTable lt_CAB_ARQUEO; IRfcTable lt_DET_ARQUEO; IRfcTable lt_RESUMEN_CAJA; IRfcTable lt_RENDICION_CAJA; IRfcTable lt_RESUMEN_MENSUAL; IRfcTable lt_INFOSOC; //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("ID_CAJA", P_ID_CAJA); BapiGetUser.SetValue("DATE_DOC_FROM", Convert.ToDateTime(P_DATUMDESDE)); BapiGetUser.SetValue("DATE_DOC_TO", Convert.ToDateTime(P_DATUMHASTA)); 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("ID_REPORT", P_ID_REPORT); BapiGetUser.SetValue("LAND", P_PAIS); Tipo = P_ID_REPORT; FechArqueo = P_DATUMDESDE; FechaArqueoHasta = P_DATUMHASTA; BapiGetUser.Invoke(SapRfcDestination); Caja = BapiGetUser.GetString("ID_CAJA_OUT"); CajeroResp = BapiGetUser.GetString("CAJERO_RESP_OUT"); Sucursal = BapiGetUser.GetString("SUCURSAL"); NombreCaja = BapiGetUser.GetString("NOM_CAJA"); Sociedad = BapiGetUser.GetString("SOCIEDAD_OUT"); Pais = BapiGetUser.GetString("LAND_OUT"); lt_INFOSOC = BapiGetUser.GetTable("INFO_SOC"); try { for (int i = 0; i < lt_INFOSOC.Count(); i++) { lt_INFOSOC.CurrentIndex = i; infosoc = new INFO_SOC(); SociedadR = lt_INFOSOC.GetString("BUKRS"); infosoc.BUKRS = lt_INFOSOC.GetString("BUKRS"); Empresa = lt_INFOSOC.GetString("BUTXT"); infosoc.BUTXT = lt_INFOSOC.GetString("BUTXT"); RUT = lt_INFOSOC.GetString("STCD1"); infosoc.STCD1 = lt_INFOSOC.GetString("STCD1"); info_soc.Add(infosoc); } } 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 CajaIndigo.AppPersistencia.Class.RendicionCaja.Estructura.RESUMEN_VP(); resumenvp.LAND = lt_RESUMEN_VP.GetString("LAND"); resumenvp.ID_CAJA = lt_RESUMEN_VP.GetString("ID_CAJA"); SociedadR = lt_RESUMEN_VP.GetString("SOCIEDAD"); resumenvp.SOCIEDAD = lt_RESUMEN_VP.GetString("SOCIEDAD"); Empresa = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.SOCIEDAD_TXT = lt_RESUMEN_VP.GetString("SOCIEDAD_TXT"); resumenvp.VIA_PAGO = lt_RESUMEN_VP.GetString("VIA_PAGO"); if (lt_RESUMEN_VP.GetString("VIA_PAGO") == "N" || lt_RESUMEN_VP.GetString("VIA_PAGO") == "0") { MontoEgresos = MontoEgresos + Convert.ToDouble(lt_RESUMEN_VP.GetString("MONTO")); } 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_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_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; detallearqueo = new DET_ARQUEO(); detallearqueo.MANDT = lt_DET_ARQUEO.GetString("MANDT"); detallearqueo.LAND = lt_DET_ARQUEO.GetString("LAND"); detallearqueo.ID_ARQUEO = lt_DET_ARQUEO.GetString("ID_ARQUEO"); detallearqueo.ID_DENOMINACION = lt_DET_ARQUEO.GetString("ID_DENOMINACION"); detallearqueo.CANTIDAD = lt_DET_ARQUEO.GetString("CANTIDAD"); detallearqueo.MONTO_TOTAL = lt_DET_ARQUEO.GetString("MONTO_TOTAL"); detalle_arqueo.Add(detallearqueo); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_CAJA = BapiGetUser.GetTable("RESUMEN_CAJA"); try { for (int i = 0; i < lt_RESUMEN_CAJA.Count(); i++) { lt_RESUMEN_CAJA.CurrentIndex = i; resumencaja = new RESUMEN_CAJA(); resumencaja.ID_SUCURSAL = lt_RESUMEN_CAJA.GetString("ID_SUCURSAL"); resumencaja.SUCURSAL = lt_RESUMEN_CAJA.GetString("SUCURSAL"); resumencaja.ID_CAJA = lt_RESUMEN_CAJA.GetString("ID_CAJA"); resumencaja.NOM_CAJA = lt_RESUMEN_CAJA.GetString("NOM_CAJA"); resumencaja.MONTO_EFEC = lt_RESUMEN_CAJA.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_EFEC")); resumencaja.MONTO_DIA = lt_RESUMEN_CAJA.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DIA")); resumencaja.MONTO_FECHA = lt_RESUMEN_CAJA.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FECHA")); resumencaja.MONTO_TRANSF = lt_RESUMEN_CAJA.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TRANSF")); resumencaja.MONTO_VALE_V = lt_RESUMEN_CAJA.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_VALE_V")); resumencaja.MONTO_DEP = lt_RESUMEN_CAJA.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_DEP")); resumencaja.MONTO_TARJ = lt_RESUMEN_CAJA.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_TARJ")); resumencaja.MONTO_FINANC = lt_RESUMEN_CAJA.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_FINANC")); resumencaja.MONTO_APP = lt_RESUMEN_CAJA.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_APP")); resumencaja.MONTO_CREDITO = lt_RESUMEN_CAJA.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_CAJA.GetString("MONTO_CREDITO")); //resumencaja.MONEDA = lt_RESUMEN_CAJA.GetString("MONEDA"); resumen_caja.Add(resumencaja); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RENDICION_CAJA = BapiGetUser.GetTable("RENDICION_CAJA"); try { for (int i = 0; i < lt_RENDICION_CAJA.Count(); i++) { lt_RENDICION_CAJA.CurrentIndex = i; rendicioncaja = new RENDICION_CAJA(); rendicioncaja.N_VENTA = lt_RENDICION_CAJA.GetString("N_VENTA"); rendicioncaja.DOC_TRIB = lt_RENDICION_CAJA.GetString("DOC_TRIB"); rendicioncaja.CAJERO = lt_RENDICION_CAJA.GetString("CAJERO"); rendicioncaja.FEC_EMI = lt_RENDICION_CAJA.GetString("FEC_EMI"); rendicioncaja.FEC_VENC = lt_RENDICION_CAJA.GetString("FEC_VENC"); rendicioncaja.MONTO = lt_RENDICION_CAJA.GetString("MONTO"); rendicioncaja.NAME1 = lt_RENDICION_CAJA.GetString("NAME1"); rendicioncaja.NUM_CHEQUE = lt_RENDICION_CAJA.GetString("NUM_CHEQUE"); rendicioncaja.MONTO_DIA = lt_RENDICION_CAJA.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DIA")); rendicioncaja.MONTO_FECHA = lt_RENDICION_CAJA.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FECHA")); rendicioncaja.MONTO_EFEC = lt_RENDICION_CAJA.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_EFEC")); rendicioncaja.MONTO_TRANSF = lt_RENDICION_CAJA.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TRANSF")); rendicioncaja.MONTO_VALE_V = lt_RENDICION_CAJA.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_VALE_V")); rendicioncaja.MONTO_DEP = lt_RENDICION_CAJA.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_DEP")); rendicioncaja.MONTO_TARJ = lt_RENDICION_CAJA.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_TARJ")); rendicioncaja.MONTO_FINANC = lt_RENDICION_CAJA.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_FINANC")); rendicioncaja.MONTO_APP = lt_RENDICION_CAJA.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_APP")); rendicioncaja.MONTO_CREDITO = lt_RENDICION_CAJA.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_CREDITO")); //rendicioncaja.PATENTE = lt_RENDICION_CAJA.GetString("PATENTE"); //rendicioncaja.MONTO_C_CURSE = lt_RENDICION_CAJA.GetString("MONTO_C_CURSE"); //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RENDICION_CAJA.GetString("MONTO_C_CURSE")); rendicioncaja.DOC_SAP = lt_RENDICION_CAJA.GetString("DOC_SAP"); rendicioncaja.MONEDA = lt_RENDICION_CAJA.GetString("MONEDA"); rendicion_caja.Add(rendicioncaja); } } catch (Exception ex) { Console.WriteLine(ex.Message, ex.StackTrace); MessageBox.Show(ex.Message + ex.StackTrace); } lt_RESUMEN_MENSUAL = BapiGetUser.GetTable("RESUMEN_MENSUAL"); try { for (int i = 0; i < lt_RESUMEN_MENSUAL.Count(); i++) { lt_RESUMEN_MENSUAL.CurrentIndex = i; resumenmensual = new RESUMEN_MENSUAL(); resumenmensual.ID_SUCURSAL = lt_RESUMEN_MENSUAL.GetString("ID_SUCURSAL"); resumenmensual.ID_CAJA = lt_RESUMEN_MENSUAL.GetString("ID_CAJA"); resumenmensual.SUCURSAL = lt_RESUMEN_MENSUAL.GetString("SUCURSAL"); resumenmensual.NOM_CAJA = lt_RESUMEN_MENSUAL.GetString("NOM_CAJA"); resumenmensual.CAJERO = lt_RESUMEN_MENSUAL.GetString("CAJERO"); resumenmensual.AREA_VTAS = lt_RESUMEN_MENSUAL.GetString("AREA_VTAS"); resumenmensual.FLUJO_DOCS = lt_RESUMEN_MENSUAL.GetString("FLUJO_DOCS"); resumenmensual.TOTAL_MOV = lt_RESUMEN_MENSUAL.GetString("TOTAL_MOV"); resumenmensual.TOTAL_INGR = lt_RESUMEN_MENSUAL.GetString("TOTAL_INGR"); resumenmensual.MONTO_EFEC = lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC"); MontoEfect = MontoEfect + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_EFEC")); resumenmensual.MONTO_DIA = lt_RESUMEN_MENSUAL.GetString("MONTO_DIA"); MontoChqDia = MontoChqDia + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DIA")); resumenmensual.MONTO_FECHA = lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA"); MontoChqFech = MontoChqFech + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FECHA")); resumenmensual.MONTO_TRANSF = lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF"); MontoTransf = MontoTransf + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TRANSF")); resumenmensual.MONTO_VALE_V = lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V"); MontoValeV = MontoValeV + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_VALE_V")); resumenmensual.MONTO_DEP = lt_RESUMEN_MENSUAL.GetString("MONTO_DEP"); MontoDepot = MontoDepot + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_DEP")); resumenmensual.MONTO_TARJ = lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ"); MontoTarj = MontoTarj + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_TARJ")); resumenmensual.MONTO_FINANC = lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC"); MontoFinanc = MontoFinanc + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_FINANC")); resumenmensual.MONTO_APP = lt_RESUMEN_MENSUAL.GetString("MONTO_APP"); MontoApp = MontoApp + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_APP")); resumenmensual.MONTO_CREDITO = lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO"); MontoCredit = MontoCredit + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_CREDITO")); //resumenmensual.MONTO_C_CURSE = lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE"); //MontoCCurse = MontoCCurse + Convert.ToDouble(lt_RESUMEN_MENSUAL.GetString("MONTO_C_CURSE")); resumenmensual.TOTAL_CAJERO = lt_RESUMEN_MENSUAL.GetString("TOTAL_CAJERO"); resumenmensual.MONEDA = lt_RESUMEN_MENSUAL.GetString("MONEDA"); resumen_mensual.Add(resumenmensual); } } 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"); 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 anulacioncomprobantes(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_COMPROBANTE, string P_APROBADOR_ANULACION, string P_TXT_ANULACION, string P_USUARIO, string P_IDCAJA) { Retorno.Clear(); errormessage = ""; IRfcTable lt_retorno; 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_ANULA_REC_CAJA"); BapiGetUser.SetValue("ID_COMPROBANTE", P_ID_COMPROBANTE); BapiGetUser.SetValue("APROBADOR_ANULACION", P_APROBADOR_ANULACION); BapiGetUser.SetValue("TXT_ANULACION", P_TXT_ANULACION); BapiGetUser.SetValue("ID_CAJA", P_IDCAJA); BapiGetUser.SetValue("USUARIO", P_USUARIO); BapiGetUser.Invoke(SapRfcDestination); //lt_h_documentos = BapiGetUser.GetTable("CAB_COMP"); //lt_d_documentos = BapiGetUser.GetTable("DET_COMP"); lt_retorno = BapiGetUser.GetTable("RETORNO"); 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 (lt_retorno.GetString("TYPE") == "S") { Mensaje = Mensaje + " - " + lt_retorno.GetString("MESSAGE") + " - " + lt_retorno.GetString("MESSAGE_V4"); NumComprobante = lt_retorno.GetString("MESSAGE_V4"); } if (lt_retorno.GetString("TYPE") == "E") { errormessage = errormessage + " - " + 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 { errormessage = retval; } GC.Collect(); }
/// <summary>获取函数结构 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void 读取结构ToolStripMenuItem_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(ttbFunName.Text)) { MessageBox.Show("必须输入函数名"); return; } dsRFC = new DataSet(); //定义函数名称 dsRFC.DataSetName = ttbFunName.Text.Trim(); myfun = SapRfcRepository.CreateFunction(ttbFunName.Text.Trim()); ReSet(); //循环获取函数结构 for (int i = 0; i < myfun.Metadata.ParameterCount; i++) { //myfun.Metadata[i].Direction 获取参数类型 if (myfun.Metadata[i].Direction == RfcDirection.IMPORT) // IMPORT 传入RFC参数 { //根据myfun.Metadata[i].DataType 判断参数是否为结构 if (myfun.Metadata[i].DataType == RfcDataType.STRUCTURE) { DataTable dt = new DataTable(); dt = createStructureByParameter(myfun.Metadata[i], "IMS", myfun.Metadata[i].Name); AddTP(tcIMJieGou, "tp" + myfun.Metadata[i].Name, myfun.Metadata[i].Name + "-" + myfun.Metadata[i].Documentation, "dg" + myfun.Metadata[i].Name, dt); } else if (myfun.Metadata[i].DataType == RfcDataType.TABLE) { DataRow dr = dtIM.NewRow(); dr["Code"] = myfun.Metadata[i].Name; dr["Name"] = myfun.Metadata[i].Documentation; dr["Value"] = "点击赋值"; dr["remarks"] = ""; DataTable dt = new DataTable(); dt = createStructureByParameter(myfun.Metadata[i], "IMT", myfun.Metadata[i].Name); dtIM.Rows.Add(dr); } else { DataRow dr = dtIM.NewRow(); dr["Code"] = myfun.Metadata[i].Name; dr["Name"] = myfun.Metadata[i].Documentation; dr["Value"] = myfun.Metadata[i].DefaultValue; dr["remarks"] = ""; dtIM.Rows.Add(dr); } } else if (myfun.Metadata[i].Direction == RfcDirection.EXPORT) // EXPORT RFC返回参数 { if (myfun.Metadata[i].DataType == RfcDataType.STRUCTURE) { DataTable dt = new DataTable(); dt = createStructureByParameter(myfun.Metadata[i], "EXS", myfun.Metadata[i].Name); AddTP(tcEXJieGou, "tp" + myfun.Metadata[i].Name, myfun.Metadata[i].Name + "-" + myfun.Metadata[i].Documentation, "dg" + myfun.Metadata[i].Name, dt); } else if (myfun.Metadata[i].DataType == RfcDataType.TABLE) { DataRow dr = dtEX.NewRow(); dr["Code"] = myfun.Metadata[i].Name; dr["Name"] = myfun.Metadata[i].Documentation; dr["Value"] = "点击赋值"; dr["remarks"] = ""; DataTable dt = new DataTable(); dt = createStructureByParameter(myfun.Metadata[i], "EXT", myfun.Metadata[i].Name); dtEX.Rows.Add(dr); } else { DataRow dr = dtEX.NewRow(); dr["Code"] = myfun.Metadata[i].Name; dr["Name"] = myfun.Metadata[i].Documentation; dr["Value"] = ""; dr["remarks"] = ""; dtEX.Rows.Add(dr); } } else if (myfun.Metadata[i].Direction == RfcDirection.TABLES) // TABLES 表参数 { DataTable dt = new DataTable(); dt.Namespace = "Tables"; dt.TableName = myfun.Metadata[i].Name; //dt.Prefix = myfun.Metadata[i].Documentation; for (int j = 0; j < myfun.Metadata[i].ValueMetadataAsTableMetadata.LineType.FieldCount; j++) { DataColumn dc = new DataColumn(); dc.Namespace = "STRING"; dc.ColumnName = myfun.Metadata[i].ValueMetadataAsTableMetadata.LineType[j].Name; dc.Caption = myfun.Metadata[i].ValueMetadataAsTableMetadata.LineType[j].Documentation; dt.Columns.Add(dc); } dsRFC.Tables.Add(dt); AddTP(tcTable, "tp" + myfun.Metadata[i].Name, myfun.Metadata[i].Name + "-" + myfun.Metadata[i].Documentation, "dg" + myfun.Metadata[i].Name, dt); } } dsRFC.Tables.Add(dtIM); dsRFC.Tables.Add(dtEX); dgIM.DataSource = dtIM; foreach (DataGridViewColumn item in dgIM.Columns) { item.SortMode = DataGridViewColumnSortMode.NotSortable; } dgEX.DataSource = dtEX; foreach (DataGridViewColumn item in dgEX.Columns) { item.SortMode = DataGridViewColumnSortMode.NotSortable; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public DataTable ObtenerStock() { DataTable dt = new DataTable(""); RfcConfigParameters rfc = new RfcConfigParameters(); rfc.Add(RfcConfigParameters.Name, ConfigurationManager.AppSettings["Name"]); rfc.Add(RfcConfigParameters.AppServerHost, ConfigurationManager.AppSettings["AppServerHost"]); rfc.Add(RfcConfigParameters.Client, ConfigurationManager.AppSettings["Client"]); rfc.Add(RfcConfigParameters.User, ConfigurationManager.AppSettings["User"]); rfc.Add(RfcConfigParameters.Password, ConfigurationManager.AppSettings["Password"]); rfc.Add(RfcConfigParameters.SystemNumber, "00"); rfc.Add(RfcConfigParameters.Language, "ES"); rfc.Add(RfcConfigParameters.PoolSize, "5"); rfc.Add(RfcConfigParameters.MaxPoolSize, "100"); rfc.Add(RfcConfigParameters.IdleTimeout, "900"); RfcDestination rfcDest = null; RfcRepository rfcRep = null; try { rfcDest = RfcDestinationManager.GetDestination(rfc); rfcRep = rfcDest.Repository; } catch (Exception e) { e.ToString(); } IRfcFunction function = rfcRep.CreateFunction("ZSD_REXSAP_006"); IRfcTable material; material = function.GetTable("TI_MATNR"); BdConnection bd = new BdConnection(); foreach (TI_MATNR mat in bd.GetMaterial()) { material.Append(); material.SetValue("SIGN", mat.SIGN); material.SetValue("OPTION", mat.OPTION); material.SetValue("LOW", mat.LOW); material.SetValue("HIGH", ""); } try { function.Invoke(rfcDest); IRfcTable doc = function.GetTable("MSTOCKS"); DataTable table = IRfcTable_To_DataTable(doc, "MSTOCKS"); dt = table; return(dt); } catch (RfcBaseException e) { return(null); } }
public void LoadDataFromSAPERP(string[] newTP) { string werk = ""; string onDate = txbOnDate.Text; var settingsSP = (from s in context.SettingsSAPERPTbls select s).FirstOrDefault(); werk = settingsSP.Werk; if (werk == null || werk == "") { ErrorLabel1.Text = "Не указан в настройках завод магазина"; Wizard1.ActiveStepIndex = 1; return; } MyBackendConfig2 cfg = new MyBackendConfig2(); try { // delete all var sap1Del = from p in context.SAPOUT_REST select p; context.SAPOUT_REST.DeleteAllOnSubmit(sap1Del); context.SubmitChanges(); var sap2Del = from p in context.SAPOUT_SMENA select p; context.SAPOUT_SMENA.DeleteAllOnSubmit(sap2Del); context.SubmitChanges(); //----------------------------- RfcDestinationManager.RegisterDestinationConfiguration(cfg); //1 RfcDestination prd = RfcDestinationManager.GetDestination("AEP"); //2 RfcRepository repo = prd.Repository;//3 IRfcFunction pricesBapi = repo.CreateFunction("Y_GET_MATNR_REST"); //4 pricesBapi.SetValue("I_WERKS", werk); //5 //pricesBapi.SetValue("I_DATE", onDate); //5 IRfcTable detail1 = pricesBapi.GetTable("TAB"); foreach (string strs in newTP) { detail1.Append(); detail1.SetValue("MATNR", strs); detail1.SetValue("MAKTX", ""); detail1.SetValue("LGORT", ""); detail1.SetValue("LABST", 0.0); detail1.SetValue("MEINS", ""); } pricesBapi.Invoke(prd); //6 IRfcTable detail3 = pricesBapi.GetTable("TAB"); DateTime tsmp = DateTime.Now; int i = 0; foreach (IRfcStructure elem in detail3) { string matnr = elem[0].GetString(); string maktx = elem[1].GetString(); string lgort = elem[2].GetString(); double labst = elem[3].GetDouble(); string meins = elem[4].GetString(); SAPOUT_REST np = new SAPOUT_REST(); np.MATNR = matnr; np.MAKTX = maktx; np.LGORT = lgort; np.LABST = labst; np.MEINS = meins; np.TimeStamp = tsmp; context.SAPOUT_REST.InsertOnSubmit(np); if (i == 100) { context.SubmitChanges(); i = 0; } i++; } context.SubmitChanges(); RfcRepository repo2 = prd.Repository;//3 IRfcFunction pricesBapi2 = repo2.CreateFunction("Y_GET_SMENA"); //4 pricesBapi2.SetValue("I_WERKS", werk); //5 pricesBapi2.SetValue("I_DATE", onDate); //5 pricesBapi2.Invoke(prd); //6 IRfcTable detail2 = pricesBapi2.GetTable("TAB"); tsmp = DateTime.Now; i = 0; foreach (IRfcStructure elem in detail2) { string sm_date = elem[0].GetString(); string smena = elem[1].GetString(); SAPOUT_SMENA np = new SAPOUT_SMENA(); np.SM_DATE = DateTime.Parse(sm_date); np.SMENA = smena; np.TimeStamp = tsmp; context.SAPOUT_SMENA.InsertOnSubmit(np); if (i == 100) { context.SubmitChanges(); i = 0; } i++; } context.SubmitChanges(); //String companyName = detail. // GetString("NAME1");//7 //Console.WriteLine(companyName); //Console.Read(); } catch (RfcInvalidStateException e) { // cascade up callstack ErrorLabel1.Text = "Проблема повторного подключения к SAP: " + e.Message; Wizard1.ActiveStepIndex = 1; Log l = new Log(); l.Message = e.Message; l.Type = "SAP"; l.TimeStamp = DateTime.Now; context.Logs.InsertOnSubmit(l); context.SubmitChanges(); } catch (RfcCommunicationException e) { // network problem... ErrorLabel1.Text = "Сетевая проблема подключения к SAP: " + e.Message; Wizard1.ActiveStepIndex = 1; Log l = new Log(); l.Message = e.Message; l.Type = "SAP"; l.TimeStamp = DateTime.Now; context.Logs.InsertOnSubmit(l); context.SubmitChanges(); } catch (RfcLogonException e) { // user could not logon... ErrorLabel1.Text = "Не правильный пользователь для подключения к SAP: " + e.Message; Wizard1.ActiveStepIndex = 1; Log l = new Log(); l.Message = e.Message; l.Type = "SAP"; l.TimeStamp = DateTime.Now; context.Logs.InsertOnSubmit(l); context.SubmitChanges(); } catch (RfcAbapRuntimeException e) { // serious problem on ABAP system side... ErrorLabel1.Text = "Серьезная проблема на стороне SAP обратитесь в службу поддержки SAP (serious problem on ABAP system side...): " + e.Message; Wizard1.ActiveStepIndex = 1; Log l = new Log(); l.Message = e.Message; l.Type = "SAP"; l.TimeStamp = DateTime.Now; context.Logs.InsertOnSubmit(l); context.SubmitChanges(); } catch (RfcAbapBaseException e) { // The function module returned an ABAP exception, an ABAP message // or an ABAP class-based exception... ErrorLabel1.Text = "Серьезная проблема на стороне SAP обратитесь в службу поддержки SAP (The function module returned an ABAP exception, an ABAP message): " + e.Message; Wizard1.ActiveStepIndex = 1; Log l = new Log(); l.Message = e.Message; l.Type = "SAP"; l.TimeStamp = DateTime.Now; context.Logs.InsertOnSubmit(l); context.SubmitChanges(); } finally { RfcDestinationManager.UnregisterDestinationConfiguration(cfg);//1 } }
public static DataTable GetSAPCostCenter(string CostCenter, string DestinationName) { RfcDestination dest; IRfcFunction bapiFunction; dest = RfcDestinationManager.GetDestination(DestinationName); RfcRepository rfcRepo = dest.Repository; bapiFunction = rfcRepo.CreateFunction("Z_AW_RFC_READ_TABLE"); DataTable dtCostCenterPartial1; IRfcTable tblCostCenter; bapiFunction.SetValue("QUERY_TABLE", "CSKS"); bapiFunction.SetValue("DELIMITER", "~"); bapiFunction.SetValue("NO_DATA", ""); bapiFunction.SetValue("ROWSKIPS", "0"); //bapiFunction.SetValue("ROWCOUNT", ""); // Parameter table FIELDS contains the columns you want to receive // here we query 2 fields, KUNNR and NAME1 IRfcTable fieldsTable = bapiFunction.GetTable("FIELDS"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "KOKRS"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "KOSTL"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "DATAB"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "BKZKP"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "BUKRS"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "KOSAR"); fieldsTable.Append(); fieldsTable.SetValue("FIELDNAME", "KHINR"); IRfcTable optsTable = bapiFunction.GetTable("OPTIONS"); optsTable.Append(); optsTable.SetValue("TEXT", "KOSTL = '" + CostCenter + "'"); bapiFunction.Invoke(dest); tblCostCenter = bapiFunction["DATA"].GetTable(); IRfcTable dataTable = bapiFunction.GetTable("DATA"); dtCostCenterPartial1 = new DataTable(); dtCostCenterPartial1.TableName = "CSKS"; dtCostCenterPartial1.Columns.Add("Controlling_Area"); dtCostCenterPartial1.Columns.Add("Cost_Center"); dtCostCenterPartial1.Columns.Add("Valid_From"); dtCostCenterPartial1.Columns.Add("Lock_Act_PCosts"); dtCostCenterPartial1.Columns.Add("Company_Code"); dtCostCenterPartial1.Columns.Add("CCtr_Category"); dtCostCenterPartial1.Columns.Add("Std_Hierarchy"); foreach (var dataRow in dataTable) { string data = Convert.ToString(dataRow.GetValue("WA")); DataRow dr = dtCostCenterPartial1.NewRow(); string[] columns = data.Split('~'); if (columns.Count() >= 0) { dr["Controlling_Area"] = columns[0]; } if (columns.Count() >= 1) { dr["Cost_Center"] = columns[1]; } if (columns.Count() >= 2) { dr["Valid_From"] = columns[2]; } if (columns.Count() >= 3) { dr["Lock_Act_PCosts"] = columns[3]; } if (columns.Count() >= 4) { dr["Company_Code"] = columns[4]; } if (columns.Count() >= 5) { dr["CCtr_Category"] = columns[5]; } if (columns.Count() >= 6) { dr["Std_Hierarchy"] = columns[6]; } dtCostCenterPartial1.Rows.Add(dr); } return(dtCostCenterPartial1); }
public string SAVE_MAIL_DATA(MAIL_DATA_BE mail_data, List <Attachment_BE> attachs, List <Relacionados> relacionados, SharedSettings.Settings settings) { byte[] pdf; 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 save_mail = repo.CreateFunction("Z_MAIL_SAVE"); IRfcStructure p_maildata = save_mail.GetStructure("P_MAILDATA"); IRfcTable p_attachments = save_mail.GetTable("P_ATTACHMENTS"); IRfcTable p_relacionados = save_mail.GetTable("P_RELACIONADOS"); get_maildata_sapstr(mail_data, ref p_maildata); get_mailattach_saptab(attachs, ref p_attachments); get_relacionados_saptab(relacionados, ref p_relacionados); //Ejecutamos la consulta save_mail.Invoke(rfcDest); pdf = save_mail.GetByteArray("FILEPDFGEN"); IRfcStructure bapiret = save_mail.GetStructure("BAPIRET"); //string res = save_mail.GetString("MSG"); //Revisamos que la consulta haya sido exitosa if (pdf.Length > 0 && String.IsNullOrEmpty(attachs[0].PATHFILEPDF) == false) { if (System.IO.File.Exists(attachs[0].PATHFILEPDF) == false) { System.IO.File.WriteAllBytes(attachs[0].PATHFILEPDF, pdf); } } if (bapiret.GetString("TYPE") == "E") { string mensajeError = bapiret.GetString("MESSAGE"); return(mensajeError); //Hubo un error } else { return(""); //Guardado exitoso } } 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; } }