Example #1
0
        static void Main(string[] args)
        {
            #region TOMAR LOS ARGUMENTOS ENVIADOS DESDE ABAP

            string idConsulta           = string.Empty;
            string partner              = string.Empty;
            string user                 = string.Empty;
            string pass                 = string.Empty;
            string server               = string.Empty;
            short  sapID                = -1;
            short  client               = -1;
            int    portBC               = -1;
            string userBC               = string.Empty;
            string passBC               = string.Empty;
            string serverBC             = string.Empty;
            bool   requeridosPendientes = false;
            bool   flag                 = false;     //ESTA FLAG ES PARA OBJETO DE PRUEBAS DESDE C#
            for (int i = 0; i < args.Length; i += 2) //i++)
            {
                flag = true;                         //ESTA FLAG ES PARA OBJETO DE PRUEBAS DESDE C#

                if (i % 2 == 0)
                {
                    switch (args[i])
                    {
                    case "ID_CONSULTA":
                        idConsulta = args[i + 1];
                        if (idConsulta == "" || idConsulta == null || idConsulta == "X")
                        {
                            Console.WriteLine("No incluye el 'Id de la consulta' este es necesario para realizar la conexion a SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "PARTNER":
                        partner = args[i + 1];
                        if (partner == "" || partner == null || partner == "X")
                        {
                            Console.WriteLine("No incluye el 'Id del BP' este es necesario para realizar la conexion a SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "SAP_USERNAME":
                        user = args[i + 1];
                        if (user == "" || user == null || user == "X")
                        {
                            Console.WriteLine("No incluye el 'Id del Usuario SAP' este es necesario para realizar la conexion a SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "SAP_PASS":
                        pass = args[i + 1];
                        if (pass == "" || pass == null || pass == "X")
                        {
                            Console.WriteLine("No incluye la 'contrasena del usuario SAP' este es necesario para realizar la conexion a SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "SAP_SERVER":
                        server = args[i + 1];
                        if (server == "" || server == null || server == "X")
                        {
                            Console.WriteLine("No incluye la 'direccion del Servidor de SAP' este es necesario para realizar la conexion de SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "SAP_ID":
                        sapID = short.Parse(args[i + 1]);
                        if (sapID.ToString() == "" || sapID == -1 || sapID.ToString() == "X")
                        {
                            Console.WriteLine("No incluye el 'Id del tipo de SAP' este es necesario para realizar la conexion.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "SAP_CLIENT":
                        client = short.Parse(args[i + 1]);
                        if (client.ToString() == "" || client == -1 || client.ToString() == "X")
                        {
                            Console.WriteLine("No incluye el Id del Mandante este es necesario para realizar la conexion a SAP.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "BURO_SERVER":
                        serverBC = args[i + 1];
                        if (serverBC == "" || serverBC == null || serverBC == "X")
                        {
                            Console.WriteLine("No incluye la direccion del Servodor del Buro este es necesario para realizar la conexion al Buro de Credito.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "BURO_PORT":
                        try
                        {
                            portBC = int.Parse(args[i + 1]);
                            if (portBC.ToString() == "" || portBC == -1 || portBC.ToString() == "X")
                            {
                                Console.WriteLine("No incluye el puerto del servidor del Buro de Credito este es necesario para realizar la conexion al Buro de Credito.");
                                requeridosPendientes = true;
                            }
                        }
                        catch (FormatException e)
                        {
                            Console.WriteLine("*Existe un error en el formato de Puerto del Servidor de Buro de Credito.\n");
                            requeridosPendientes = true;
                            Console.WriteLine("Excepcion .NET: \n" + e);
                        }
                        break;

                    case "BURO_USER":
                        userBC = args[i + 1];
                        if (userBC == "" || userBC == null || userBC == "X")
                        {
                            Console.WriteLine("No incluye el Id del Usuario de buro este es necesario para realizar la consulta.");
                            requeridosPendientes = true;
                        }
                        break;

                    case "BURO_PASS":
                        passBC = args[i + 1];
                        if (passBC == "" || passBC == null || passBC == "X")
                        {
                            Console.WriteLine("No incluye la contracena del Usuario de buro este es necesario para realizar la consulta.");
                            requeridosPendientes = true;
                        }
                        break;
                    }
                    if (requeridosPendientes)
                    {
                        Console.WriteLine("*El programa no puede continuar si estos datos estan pendientes.\nPor favor completar los campos.");
                        System.Environment.Exit(0);
                    }
                }
            }
            #endregion

            #region REGION de OBJETO PRUEBAS DESDE C#
            if (flag == false)
            {
                Console.WriteLine("LA CONEXION SE HARA CON LOS VALORES DE SIEMPRE");
                idConsulta = "0000000000058";
                //partner   = "0001000050";1000066
                Console.Write("partner :");
                partner = "0000000" + Console.ReadLine();
                //partner   = "0001000062";
                //partner = "0000000032";

                user = "******";
                pass = "******";
                //user = "******";
                //pass ="******";
                server = "10.30.2.186";
                sapID  = 10;
                //sapID = 1;
                client = 300;


                serverBC = "128.9.55.102";
                portBC   = 25000;

                ///serverBC = "200.57.135.2";
                ///portBC = 22;

                userBC = "ZM14561003";
                passBC = "0Y3fhX3Z";
            }
            #endregion

            //Parámetros de ejecución Dycsi
            //ConnexionSAP conn = new ConnexionSAP("CTDEV","038dycsi","200.57.135.2",038,0);

            //*=>INICIO: Alejandro Lopez Vasquez 26/11/2015
            //Parámetros de conexion de NMP
            //ConnexionSAP conn = new ConnexionSAP("DYCBUROQ", "BURO000", "10.30.2.186", 300, 10, "0000000015989", "750", "ZM14561003", "0Y3fhX3Z");
            //*=>FIN: Alejandro Lopez Vasquez 26/11/2015

            //Parámetros de seleccion para la ejecución normal
            ConnexionSAP conn = new ConnexionSAP(user, pass, server, client, sapID, idConsulta, partner, userBC, passBC);

            Thread.Sleep(10000);

            FormatoINTL consul   = new FormatoINTL(conn);
            string      consulta = string.Empty;

            if (idConsulta != "" && partner != "")
            {
                consulta = consul.ConsultaFinalAlRFC(idConsulta, partner);
                //Console.WriteLine("Realizando consulta...\n");
                if (consulta.ToString() == "")
                {
                    Console.WriteLine("El contenido de consulta esta vacio.\n");
                    System.Environment.Exit(0);
                }
            }
            else
            {
                Console.WriteLine("Existe un error en los datos de IdConsulta y Partner.\n");
                System.Environment.Exit(0);
            }

            ConnectTCPClient tcpConn = new ConnectTCPClient(serverBC, portBC);
            //ConnectTCPClient tcpConn = new ConnectTCPClient("192.168.10.117", 22);
            tcpConn.setConn(conn);

            //Console.WriteLine("Consulta: " + consulta);
            string mensajeDeRespuesta = tcpConn.sendTCP(consulta);
            //string mensajeDeRespuesta = tcpConn.stringMessageReceive(500);

            Z00_BURO_STR      RespuestaLog      = new Z00_BURO_STR();
            Z00_BURO_STRTable RespuestaLogTable = new Z00_BURO_STRTable();

            RespuestaFormatoINTL respuesta = new RespuestaFormatoINTL(conn);
            #region limpieza de caracteres
            //Console.WriteLine("Respuesta: " + mensajeDeRespuesta);
            //Console.ReadLine();
            //mensajeDeRespuesta = mensajeDeRespuesta.Replace("Welcome!\n", "");
            mensajeDeRespuesta = mensajeDeRespuesta.Replace("\0", "  ");
            mensajeDeRespuesta = mensajeDeRespuesta.Replace("‼", " ");
            mensajeDeRespuesta = mensajeDeRespuesta.TrimEnd();
            mensajeDeRespuesta = mensajeDeRespuesta.TrimStart();

            //mensajeDeRespuesta
            //sValue = Conversion.Hex(sValue)
            string aaaaa;
            aaaaa = respuesta.ConvertToHex(mensajeDeRespuesta[mensajeDeRespuesta.Length - 1].ToString());
            if (aaaaa == "3f")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if (aaaaa == "13")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if (mensajeDeRespuesta[mensajeDeRespuesta.Length - 1].ToString() == "?")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if (mensajeDeRespuesta[mensajeDeRespuesta.Length - 1].ToString() == "‼")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            #endregion

            #region Log en SAP
            string    segmentoLog      = "";
            ArrayList LogSegmentosList = new ArrayList();

            for (int i = 0; i < mensajeDeRespuesta.Length; i++)
            {
                segmentoLog = segmentoLog + mensajeDeRespuesta[i];
                if (segmentoLog.Length == 254)
                {
                    LogSegmentosList.Add(segmentoLog);
                    segmentoLog = "";
                }
            }

            if (segmentoLog.Length > 0)
            {
                LogSegmentosList.Add(segmentoLog);
            }

            //*=>INICIO: Alejandro Lopez Vasquez 27/11/2015
            //Descripción: Se agrega la información que se envía como consulta al Buró.
            //             Esto para tener tambien como registro cual es el contenido de la consulta realizada.
            segmentoLog = "";
            LogSegmentosList.Add(segmentoLog);
            for (int i = 0; i < consulta.Length; i++)
            {
                segmentoLog = segmentoLog + consulta[i];
                if (segmentoLog.Length == 254)
                {
                    LogSegmentosList.Add(segmentoLog);
                    segmentoLog = "";
                }
            }
            if (segmentoLog.Length > 0)
            {
                LogSegmentosList.Add(segmentoLog);
            }
            //*=>FIN: Alejandro Lopez Vasquez 27/11/2015

            foreach (string LineaLog in LogSegmentosList)
            {
                RespuestaLog       = new Z00_BURO_STR();
                RespuestaLog.Texto = LineaLog;
                RespuestaLogTable.Add(RespuestaLog);
            }
            respuesta.setLog(RespuestaLogTable);
            #endregion

            respuesta.recibirRespuesta(mensajeDeRespuesta);

            if (respuesta.getErroAR() == false && respuesta.getErroUR() == false)
            {
                respuesta.RespuestaFinalAlRFC("0", idConsulta, partner);
                Console.WriteLine("\nConsulta Exitosa");
            }
            else
            {
                if (respuesta.getErroUR() == true)
                {
                    respuesta.RespuestaFinalAlRFC("10", idConsulta, partner);
                    Console.WriteLine("\nConsulta no realizada: El sistema del BNC detecto un problema durante el proceso de consulta. \n\n");
                }
                if (respuesta.getErroAR() == true)
                {
                    respuesta.RespuestaFinalAlRFC("9", idConsulta, partner);
                    Console.WriteLine("\nConsulta no realizada: El sistema del BNC detecto un problema durante el proceso de consulta. \n\n");
                }
            }
            //Console.WriteLine("Respuesta: " + mensajeDeRespuesta);
            Console.ReadLine();
        }
 public void setLog(Z00_BURO_STRTable asd)
 {
     RespuestaLogTable = asd;
 }
        static void Main(string[] args)
        {
            #region TOMAR LOS ARGUMENTOS ENVIADOS DESDE ABAP

            string idConsulta=string.Empty;
            string partner=string.Empty;
            string user=string.Empty;
            string pass=string.Empty;
            string server=string.Empty;
            short sapID= -1;
            short client= -1;
            int portBC = -1;
            string userBC=string.Empty;
            string passBC = string.Empty;
            string serverBC=string.Empty;
            bool requeridosPendientes = false;
            bool flag= false;//ESTA FLAG ES PARA OBJETO DE PRUEBAS DESDE C#
                for (int i = 0; i < args.Length; i+=2) //i++)
                {
                    flag=true;//ESTA FLAG ES PARA OBJETO DE PRUEBAS DESDE C#

                    if(i%2 == 0)
                    {
                        switch(args[i])
                        {
                            case "ID_CONSULTA":
                                idConsulta = args[i+1];
                                if (idConsulta == "" || idConsulta == null || idConsulta == "X")
                                {
                                    Console.WriteLine("No incluye el 'Id de la consulta' este es necesario para realizar la conexion a SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "PARTNER":
                                partner = args[i+1];
                                if (partner == "" || partner == null || partner == "X")
                                {
                                    Console.WriteLine("No incluye el 'Id del BP' este es necesario para realizar la conexion a SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "SAP_USERNAME":
                                user = args[i+1];
                                if (user == "" || user == null || user == "X")
                                {
                                    Console.WriteLine("No incluye el 'Id del Usuario SAP' este es necesario para realizar la conexion a SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "SAP_PASS":
                                pass = args[i+1];
                                if (pass == "" || pass == null || pass == "X")
                                {
                                    Console.WriteLine("No incluye la 'contrasena del usuario SAP' este es necesario para realizar la conexion a SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "SAP_SERVER":
                                server = args[i+1];
                                if (server == "" || server == null || server == "X")
                                {
                                    Console.WriteLine("No incluye la 'direccion del Servidor de SAP' este es necesario para realizar la conexion de SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "SAP_ID":
                                sapID = short.Parse(args[i+1]);
                                if (sapID.ToString() == "" || sapID == -1 || sapID.ToString() == "X")
                                {
                                    Console.WriteLine("No incluye el 'Id del tipo de SAP' este es necesario para realizar la conexion.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "SAP_CLIENT":
                                client = short.Parse(args[i+1]);
                                if (client.ToString() == "" || client == -1 || client.ToString() == "X")
                                {
                                    Console.WriteLine("No incluye el Id del Mandante este es necesario para realizar la conexion a SAP.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "BURO_SERVER":
                                serverBC = args[i+1];
                                if (serverBC == "" || serverBC == null || serverBC == "X")
                                {
                                    Console.WriteLine("No incluye la direccion del Servodor del Buro este es necesario para realizar la conexion al Buro de Credito.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "BURO_PORT":
                                try
                                {
                                    portBC = int.Parse(args[i + 1]);
                                    if (portBC.ToString() == "" || portBC == -1 || portBC.ToString() == "X")
                                    {
                                        Console.WriteLine("No incluye el puerto del servidor del Buro de Credito este es necesario para realizar la conexion al Buro de Credito.");
                                        requeridosPendientes = true;
                                    }
                                }
                                catch (FormatException e)
                                {
                                    Console.WriteLine("*Existe un error en el formato de Puerto del Servidor de Buro de Credito.\n");
                                    requeridosPendientes = true;
                                    Console.WriteLine("Excepcion .NET: \n" + e);
                                }
                                break;
                            case "BURO_USER":
                                userBC = args[i+1];
                                if (userBC == "" || userBC == null || userBC == "X")
                                {
                                    Console.WriteLine("No incluye el Id del Usuario de buro este es necesario para realizar la consulta.");
                                    requeridosPendientes = true;
                                }
                                break;
                            case "BURO_PASS":
                                passBC = args[i + 1];
                                if (passBC == "" || passBC == null || passBC == "X")
                                {
                                    Console.WriteLine("No incluye la contracena del Usuario de buro este es necesario para realizar la consulta.");
                                    requeridosPendientes = true;
                                }
                                break;
                        }
                        if (requeridosPendientes)
                            {
                                Console.WriteLine("*El programa no puede continuar si estos datos estan pendientes.\nPor favor completar los campos.");
                                System.Environment.Exit(0);
                            }
                    }
                }
            #endregion

            #region REGION de OBJETO PRUEBAS DESDE C#
            if(flag== false)
            {
                Console.WriteLine("LA CONEXION SE HARA CON LOS VALORES DE SIEMPRE" );
                idConsulta = "0000000000058";
                //partner   = "0001000050";1000066
                Console.Write("partner :");
                partner = "0000000" + Console.ReadLine();
                //partner   = "0001000062";
                //partner = "0000000032";

                user = "******";
                pass = "******";
                //user = "******";
                //pass ="******";
                server = "10.30.2.186";
                sapID = 10;
                //sapID = 1;
                client = 300;

                serverBC = "128.9.55.102";
                portBC = 25000;

                ///serverBC = "200.57.135.2";
                ///portBC = 22;

                userBC = "ZM14561003";
                passBC = "0Y3fhX3Z";
            }
            #endregion

            //Parámetros de ejecución Dycsi
            //ConnexionSAP conn = new ConnexionSAP("CTDEV","038dycsi","200.57.135.2",038,0);

            //*=>INICIO: Alejandro Lopez Vasquez 26/11/2015
            //Parámetros de conexion de NMP
            //ConnexionSAP conn = new ConnexionSAP("DYCBUROQ", "BURO000", "10.30.2.186", 300, 10, "0000000015989", "750", "ZM14561003", "0Y3fhX3Z");
            //*=>FIN: Alejandro Lopez Vasquez 26/11/2015

            //Parámetros de seleccion para la ejecución normal
            ConnexionSAP conn = new ConnexionSAP(user, pass, server, client, sapID, idConsulta, partner, userBC,passBC);

            Thread.Sleep(10000);

            FormatoINTL consul = new FormatoINTL(conn);
            string consulta = string.Empty;

            if (idConsulta != "" && partner != "")
            {
                consulta = consul.ConsultaFinalAlRFC(idConsulta, partner);
                //Console.WriteLine("Realizando consulta...\n");
                if (consulta.ToString() == "")
                {
                    Console.WriteLine("El contenido de consulta esta vacio.\n");
                    System.Environment.Exit(0);
                }
            }
            else
            {
                Console.WriteLine("Existe un error en los datos de IdConsulta y Partner.\n");
                System.Environment.Exit(0);
            }

            ConnectTCPClient tcpConn = new ConnectTCPClient(serverBC, portBC);
            //ConnectTCPClient tcpConn = new ConnectTCPClient("192.168.10.117", 22);
            tcpConn.setConn(conn);

            //Console.WriteLine("Consulta: " + consulta);
            string mensajeDeRespuesta = tcpConn.sendTCP(consulta);
            //string mensajeDeRespuesta = tcpConn.stringMessageReceive(500);

            Z00_BURO_STR RespuestaLog = new Z00_BURO_STR();
            Z00_BURO_STRTable RespuestaLogTable = new Z00_BURO_STRTable();

            RespuestaFormatoINTL respuesta = new RespuestaFormatoINTL(conn);
            #region limpieza de caracteres
            //Console.WriteLine("Respuesta: " + mensajeDeRespuesta);
            //Console.ReadLine();
            //mensajeDeRespuesta = mensajeDeRespuesta.Replace("Welcome!\n", "");
            mensajeDeRespuesta = mensajeDeRespuesta.Replace("\0", "  ");
            mensajeDeRespuesta = mensajeDeRespuesta.Replace( "‼", " ");
            mensajeDeRespuesta = mensajeDeRespuesta.TrimEnd();
            mensajeDeRespuesta = mensajeDeRespuesta.TrimStart();

            //mensajeDeRespuesta
            //sValue = Conversion.Hex(sValue)
            string aaaaa;
            aaaaa = respuesta.ConvertToHex(mensajeDeRespuesta[mensajeDeRespuesta.Length - 1].ToString());
            if (aaaaa == "3f")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if (aaaaa == "13")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if(mensajeDeRespuesta[mensajeDeRespuesta.Length-1].ToString()== "?")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            if (mensajeDeRespuesta[mensajeDeRespuesta.Length - 1].ToString() == "‼")
            {
                mensajeDeRespuesta = mensajeDeRespuesta.Substring(0, mensajeDeRespuesta.Length - 1);
            }
            #endregion

            #region Log en SAP
            string segmentoLog = "";
                ArrayList LogSegmentosList = new ArrayList();

                for (int i = 0; i < mensajeDeRespuesta.Length; i++ )
                {
                    segmentoLog = segmentoLog + mensajeDeRespuesta[i];
                    if (segmentoLog.Length == 254)
                    {
                        LogSegmentosList.Add(segmentoLog);
                        segmentoLog = "";
                    }
                }

            if (segmentoLog.Length > 0)
                {
                    LogSegmentosList.Add(segmentoLog);
                }

            //*=>INICIO: Alejandro Lopez Vasquez 27/11/2015
            //Descripción: Se agrega la información que se envía como consulta al Buró.
            //             Esto para tener tambien como registro cual es el contenido de la consulta realizada.
            segmentoLog = "";
            LogSegmentosList.Add(segmentoLog);
            for (int i = 0; i < consulta.Length; i++)
            {
                segmentoLog = segmentoLog + consulta[i];
                if (segmentoLog.Length == 254)
                {
                    LogSegmentosList.Add(segmentoLog);
                    segmentoLog = "";
                }
            }
            if (segmentoLog.Length > 0)
            {
                LogSegmentosList.Add(segmentoLog);
            }
            //*=>FIN: Alejandro Lopez Vasquez 27/11/2015

            foreach (string LineaLog in LogSegmentosList)
                {
                    RespuestaLog = new Z00_BURO_STR();
                    RespuestaLog.Texto = LineaLog;
                    RespuestaLogTable.Add(RespuestaLog);
                }
                respuesta.setLog(RespuestaLogTable);
            #endregion

                respuesta.recibirRespuesta(mensajeDeRespuesta);

            if (respuesta.getErroAR() == false && respuesta.getErroUR() == false)
            {
                respuesta.RespuestaFinalAlRFC("0", idConsulta, partner);
                Console.WriteLine("\nConsulta Exitosa");
            }
            else
            {
                if (respuesta.getErroUR() == true)
                {
                    respuesta.RespuestaFinalAlRFC("10", idConsulta, partner);
                    Console.WriteLine("\nConsulta no realizada: El sistema del BNC detecto un problema durante el proceso de consulta. \n\n");

                }
                if (respuesta.getErroAR() == true)
                {
                    respuesta.RespuestaFinalAlRFC("9", idConsulta, partner);
                    Console.WriteLine("\nConsulta no realizada: El sistema del BNC detecto un problema durante el proceso de consulta. \n\n");
                }
            }
            //Console.WriteLine("Respuesta: " + mensajeDeRespuesta);
            Console.ReadLine();
        }
Example #4
0
        public virtual void Zrfc_Buro_Respuesta(

            [RfcParameter(AbapName = "ERROR_CODE", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.IN, Length = 2, Length2 = 4)]
            [XmlElement("ERROR_--5fCODE", IsNullable = false, Namespace = "")]
            string Error_Code,
            [RfcParameter(AbapName = "ID_CONSULTA", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = false, Direction = RFCINOUT.IN, Length = 13, Length2 = 26)]
            [XmlElement("ID_--5fCONSULTA", IsNullable = false, Namespace = "")]
            string Id_Consulta,
            [RfcParameter(AbapName = "PARTNER", RfcType = RFCTYPE.RFCTYPE_CHAR, Optional = true, Direction = RFCINOUT.IN, Length = 10, Length2 = 20)]
            [XmlElement("PARTNER", IsNullable = false, Namespace = "")]
            string Partner,
            [RfcParameter(AbapName = "AR", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("AR", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_ARTable Ar,
            [RfcParameter(AbapName = "CR", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("CR", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_CRTable Cr,
            [RfcParameter(AbapName = "ES", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("ES", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_ESTable Es,
            [RfcParameter(AbapName = "HI", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("HI", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_HITable Hi,
            [RfcParameter(AbapName = "HR", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("HR", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_HRTable Hr,
            [RfcParameter(AbapName = "INTL", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("INTL", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_INTLTable Intl,
            [RfcParameter(AbapName = "IQ", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("IQ", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_IQTable Iq,
            [RfcParameter(AbapName = "PA", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("PA", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_PATable Pa,
            [RfcParameter(AbapName = "PE", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("PE", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_PETable Pe,
            [RfcParameter(AbapName = "PN", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("PN", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_PNTable Pn,
            [RfcParameter(AbapName = "RS", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("RS", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_RSTable Rs,
            [RfcParameter(AbapName = "SC", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("SC", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_SCTable Sc,
            [RfcParameter(AbapName = "STR", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("STR", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_STRTable Str,
            [RfcParameter(AbapName = "TL", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("TL", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_TLTable Tl,
            [RfcParameter(AbapName = "UR", RfcType = RFCTYPE.RFCTYPE_ITAB, Optional = true, Direction = RFCINOUT.INOUT)]
            [XmlArray("UR", IsNullable = false, Namespace = "")]
            [XmlArrayItem("item", IsNullable = false)]
            ref Z00_BURO_URTable Ur)
        {
            object[] results = null;
            results = this.SAPInvoke("Zrfc_Buro_Respuesta", new object[] {
                Error_Code, Id_Consulta, Partner, Ar, Cr, Es, Hi, Hr, Intl, Iq, Pa, Pe, Pn, Rs, Sc, Str, Tl, Ur
            });
            Ar   = (Z00_BURO_ARTable)results[0];
            Cr   = (Z00_BURO_CRTable)results[1];
            Es   = (Z00_BURO_ESTable)results[2];
            Hi   = (Z00_BURO_HITable)results[3];
            Hr   = (Z00_BURO_HRTable)results[4];
            Intl = (Z00_BURO_INTLTable)results[5];
            Iq   = (Z00_BURO_IQTable)results[6];
            Pa   = (Z00_BURO_PATable)results[7];
            Pe   = (Z00_BURO_PETable)results[8];
            Pn   = (Z00_BURO_PNTable)results[9];
            Rs   = (Z00_BURO_RSTable)results[10];
            Sc   = (Z00_BURO_SCTable)results[11];
            Str  = (Z00_BURO_STRTable)results[12];
            Tl   = (Z00_BURO_TLTable)results[13];
            Ur   = (Z00_BURO_URTable)results[14];
        }