public void ConsultaFinalAlRFC(string idConsulta, string partner)
        {
            SapConnectorClientToBC proxy         = conn.establecerConeccionSap();
            Z00_BURO_INTLTable     resultadoIntl = new Z00_BURO_INTLTable();
            Z00_BURO_PNTable       resultadoPN   = new Z00_BURO_PNTable();
            Z00_BURO_PATable       resultadoPA   = new Z00_BURO_PATable();

            try
            {
                proxy.Connection.Open();
                proxy.Zrfc_Buro_Bp(idConsulta, partner, ref resultadoIntl, ref resultadoPA, ref resultadoPN);
                proxy.Connection.Close();
            }
            catch (SAP.Connector.RfcLogonException a)
            {
                Console.WriteLine("Existe un error el Usuario o contraseña, el sistema no se ha podido conectar " + a);
            }
            catch (SAP.Connector.RfcCommunicationException a)
            {
                Console.WriteLine("El usuario se tardo demacionado en aceptar que la conexion era segura" + a);
            }
            catch (SAP.Connector.RfcException a)
            {
                Console.WriteLine("No se encontro el RFC" + a);
            }
            //Begin JRojas : Convierte del resulta de ABAP a ojetos locales de .NET para facilitar su manejo

            /*DataTable dt = resultadoIntl.ToADODataTable();
             * DataTable dt2 = resultadoPN.ToADODataTable();
             * DataTable dt3 = resultadoPA.ToADODataTable();
             *
             * FormatoINTL objConsulta = new FormatoINTL();
             *
             * objConsulta.setDataTableEncabezadoIntl(dt);//Envie a la clase FormateINTL su correspondiente datatable
             * objConsulta.setDataTableSegmentoPN(dt2);//Envie a la clase FormateINTL su correspondiente datatable
             * objConsulta.setDataTableSegmentoPA(dt3);//Envie a la clase FormateINTL su correspondiente datatable
             */
            dataTableEncabezadoIntl = resultadoIntl.ToADODataTable();
            dataTableSegmentoPN     = resultadoPN.ToADODataTable();
            dataTableSegmentoPA     = resultadoPA.ToADODataTable();


            //END JRojas

            //BEGIN JRojas : Para la creacion la consulta se tienen que mandar llamar en este orden
            string Consulta;

            Consulta  = EncabezadoINTL();
            Consulta += SegmentoDeNombre();
            Consulta += SegmentoDeDireccion();
            Consulta  = SegmentoDeCierre(Consulta);
            Console.WriteLine(Consulta);
        }
 public SapConnectorClientToBC establecerConeccionSap()
 {
     SAP.Connector.Destination destinationG = new SAP.Connector.Destination();
     destinationG.Username      = this.User;          // SAP username
     destinationG.Password      = this.Password;      // SAP username's password
     destinationG.AppServerHost = this.AppServerHost; // SAP application server's ip number or id
     destinationG.Client        = this.Client;        // Client number
     destinationG.SystemNumber  = this.SystemNumber;  // application server system number
     sapConnection    = new SAP.Connector.SAPConnection(destinationG);
     proxy            = new SapConnectorClientToBC();
     proxy.Connection = sapConnection;
     return(proxy);
 }
        public string ConsultaFinalAlRFC(string idConsulta, string partner)
        {
            SapConnectorClientToBC proxy = conn.establecerConeccionSap();

            Z00_BURO_INTLTable resultadoIntl = new Z00_BURO_INTLTable();
            Z00_BURO_PNTable   resultadoPN   = new Z00_BURO_PNTable();
            Z00_BURO_PATable   resultadoPA   = new Z00_BURO_PATable();

            try
            {
                proxy.Connection.Open();
                proxy.Zrfc_Buro_Bp(idConsulta, partner, ref resultadoIntl, ref resultadoPA, ref resultadoPN);
                proxy.Connection.Close();
            }
            catch (SAP.Connector.RfcLogonException a)
            {
                Console.WriteLine("*Existe un error el Usuario o contrasena, el sistema no se ha podido conectar a SAP.");
                Console.WriteLine("Excepcion en .NET:  \n " + a);
                System.Environment.Exit(0);
            }
            catch (SAP.Connector.RfcCommunicationException a)
            {
                Console.WriteLine("*No se encontrado el Servidor o el usuario se tardo demacionado en aceptar que la conexion era segura.\n");
                Console.WriteLine("Excepcion en .NET:  \n " + a);
                System.Environment.Exit(0);
            }
            catch (SAP.Connector.RfcException a)
            {
                Console.WriteLine("*No se encontro el RFC.\n");
                Console.WriteLine("Excepcion en .NET:  \n " + a);
                System.Environment.Exit(0);
            }
            catch (Exception a)
            {
                Console.WriteLine("*Excepcion desconocida.\n");
                Console.WriteLine("Excepcion en .NET:  \n " + a);
                System.Environment.Exit(0);
            }

            dataTableEncabezadoIntl = resultadoIntl.ToADODataTable();
            dataTableSegmentoPN     = resultadoPN.ToADODataTable();
            dataTableSegmentoPA     = resultadoPA.ToADODataTable();

            string Consulta;

            Consulta  = EncabezadoINTL();
            Consulta += SegmentoDeNombre();
            Consulta += SegmentoDeDireccion();
            Consulta  = SegmentoDeCierre(Consulta);
            if (Consulta != "")
            {
                #region Remplazar acentos y caracteres varios
                Consulta = Consulta.Replace("ñ", "n");
                Consulta = Consulta.Replace("Ñ", "N");
                Consulta = Consulta.Replace("á", "a");
                Consulta = Consulta.Replace("à", "a");
                Consulta = Consulta.Replace("ä", "a");
                Consulta = Consulta.Replace("é", "e");
                Consulta = Consulta.Replace("è", "e");
                Consulta = Consulta.Replace("ë", "e");
                Consulta = Consulta.Replace("í", "i");
                Consulta = Consulta.Replace("ì", "i");
                Consulta = Consulta.Replace("ï", "i");
                Consulta = Consulta.Replace("ó", "o");
                Consulta = Consulta.Replace("ò", "o");
                Consulta = Consulta.Replace("ö", "o");
                Consulta = Consulta.Replace("ú", "u");
                Consulta = Consulta.Replace("ù", "u");
                Consulta = Consulta.Replace("u", "u");
                Consulta = Consulta.Replace("Á", "A");
                Consulta = Consulta.Replace("À", "A");
                Consulta = Consulta.Replace("Ä", "A");
                Consulta = Consulta.Replace("É", "E");
                Consulta = Consulta.Replace("È", "E");
                Consulta = Consulta.Replace("Ë", "E");
                Consulta = Consulta.Replace("Í", "I");
                Consulta = Consulta.Replace("Ì", "I");
                Consulta = Consulta.Replace("Ï", "I");
                Consulta = Consulta.Replace("Ó", "O");
                Consulta = Consulta.Replace("Ò", "O");
                Consulta = Consulta.Replace("Ö", "O");
                Consulta = Consulta.Replace("Ú", "U");
                Consulta = Consulta.Replace("Ù", "U");
                Consulta = Consulta.Replace("Ü", "U");
                Consulta = Consulta.Replace("ç", "c");
                Consulta = Consulta.Replace("Ç", "C");
                Consulta = Consulta.Replace("|", " ");
                #endregion
            }
            if (existenRequeritos == false)
            {
                this.verificarRequeridos();
            }
            return(Consulta);
        }