{"id":22201,"date":"2022-11-29T11:00:55","date_gmt":"2022-11-29T09:00:55","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=22201"},"modified":"2024-01-10T10:07:36","modified_gmt":"2024-01-10T09:07:36","slug":"como-aplicar-las-variables-de-odi-en-el-procesamiento-de-ficheros","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/como-aplicar-las-variables-de-odi-en-el-procesamiento-de-ficheros\/","title":{"rendered":"C\u00f3mo aplicar las variables de ODI en el procesamiento de ficheros"},"content":{"rendered":"<p>Las <strong>variables de ODI<\/strong> (Oracle Data Integrator) se utilizan para manejar <strong>par\u00e1metros ETL<\/strong>\u00a0(extracci\u00f3n, carga y transformaci\u00f3n). Se trata de una caracter\u00edstica muy importante que es necesario entender para poder usarla de forma efectiva. En este post te contamos c\u00f3mo aplicar las <strong>variables de ODI<\/strong> en el procesamiento de ficheros.<\/p>\n<h2>\u00bfQu\u00e9 es Oracle Data Integrator?<\/h2>\n<p>Antes de abordar el tema que nos ocupa, empecemos por el principio: \u00bfqu\u00e9 es <strong>ODI<\/strong>? Oracle Data Integrator es una plataforma de integraci\u00f3n completa creada por Oracle que cubre todos los requisitos de integraci\u00f3n de <a href=\"https:\/\/www.hiberus.com\/data-ia\/data-insights\">datos<\/a>: <strong>extracci\u00f3n, carga y transformaci\u00f3n (ETL)<\/strong>. Permite combinar datos de distintas fuentes para que el usuario tenga una visi\u00f3n unificada de todos sus datos.<\/p>\n<p>Cubre diferentes necesidades empresariales en relaci\u00f3n con la integraci\u00f3n de datos:<\/p>\n<ul>\n<li><strong>Data Warehousing e Inteligencia de Negocios<\/strong>. Tiene la capacidad de manejar vol\u00famenes grandes de datos con un desempe\u00f1o \u00f3ptimo, as\u00ed como cargas incrementales, integridad de datos, reglas de negocio y consistencia.<\/li>\n<li><strong>Arquitectura orientada a servicios<\/strong>. Permite invocar servicios externos para la integraci\u00f3n e implementar servicios de integraci\u00f3n y transformaci\u00f3n que se integran a una arquitectura orientada a servicios.<\/li>\n<li><strong>Master Data Management<\/strong>. Consolida, limpia, mejora y sincroniza los datos maestros con aplicaciones, procesos de negocio y herramientas anal\u00edticas.<\/li>\n<li><strong>Migraci\u00f3n<\/strong>. Provee cargas masivas de datos hist\u00f3ricos, incluyendo complejas transformaciones de sistemas legacy a nuevos sistemas.<\/li>\n<\/ul>\n<h2>\u00bfQu\u00e9 son las variables de ODI?<\/h2>\n<p>Las <strong>variables de ODI<\/strong> son objetos que almacenan un solo valor, ya sea una cadena, un n\u00famero o una fecha, de dos maneras principalmente:<\/p>\n<ul>\n<li>Asignaci\u00f3n directa de un valor<\/li>\n<li>Utilizaci\u00f3n de una sentencia SQL para obtener el valor a asignar<\/li>\n<\/ul>\n<p>Una variable se puede crear como una variable global o en un proyecto, un factor que determina el alcance de la misma. Las <strong>variables globales<\/strong> se pueden utilizar en todos los proyectos, mientras que las <strong>variables de proyecto<\/strong> solo se pueden usar en el proyecto en el que se definen.<\/p>\n<h2>\u00bfC\u00f3mo funciona ODI?<\/h2>\n<p>ODI presenta un entorno gr\u00e1fico para construir, gestionar y mantener procesos de integraci\u00f3n de datos desde distintos or\u00edgenes a distintos destinos, que generalmente son entornos de Data Warehouse.<\/p>\n<p>Todas las fuentes y destinos de datos utilizados en ODI (tablas, ficheros, etc..), independientemente de la tecnolog\u00eda utilizada, son modelados en estructuras denominadas <strong>almacenes de datos<\/strong> (<strong>datastores<\/strong>). Los datastores, a su vez, se agrupan en <strong>modelos <\/strong>dependiendo de la tecnolog\u00eda utilizada.<\/p>\n<p>De esta forma, se puede crear tanto un modelo para tecnolog\u00eda <strong>Oracle,<\/strong> en el cual se agrupar\u00e1n los datastores de tipo tabla de una determinada conexi\u00f3n de base de datos, como un modelo para tecnolog\u00eda <strong>File<\/strong> donde agrupar los datastores de tipo fichero de un determinado servidor.<\/p>\n<p>Estos modelos se independizan de las bases de datos y sistemas de ficheros donde se va a desplegar el proceso de integraci\u00f3n mediante la denominada <strong>topolog\u00eda<\/strong>.<\/p>\n<p>Los procesos de integraci\u00f3n en ODI que utilizan los datastores como or\u00edgenes y destinos son realizados mediante otro tipo de objeto denominado asignaci\u00f3n (<strong>mapping<\/strong>).<\/p>\n<p>El proceso completo de integraci\u00f3n que engloba el uso de variables, mappings, procedimientos, etc., es llevado a cabo por otro tipo de objeto denominado paquete (<strong>package<\/strong>), que en su versi\u00f3n compilada recibe el nombre de <strong>caso<\/strong> o <strong>escenario<\/strong>. A su vez, los paquetes pueden llamar a otros paquetes, generando un flujo de integraci\u00f3n de un elevado nivel de complejidad para satisfacer cualquier necesidad.<\/p>\n<h2>\u00bfC\u00f3mo aplicar las variables de ODI para gestionar el uso de ficheros?<\/h2>\n<p>De manera bastante habitual, se suele utilizar un datastore de tipo fichero en ODI indicando de manera est\u00e1tica la ruta absoluta y el nombre de fichero dentro del sistema de ficheros donde reside.<\/p>\n<p>Esta metodolog\u00eda genera dependencia y obliga a respetar esta configuraci\u00f3n de directorios y nombres en los distintos entornos donde se despliegue el proceso de integraci\u00f3n realizado con ODI.<\/p>\n<p>Cualquier cambio de ruta o nombre de fichero implicar\u00eda modificar el desarrollo y volver a desplegar en los distintos entornos.<\/p>\n<p>Para subsanar esta situaci\u00f3n y dar flexibilidad e independencia a los desarrollos donde se utilizan ficheros, vamos a mostrar una metodolog\u00eda aplicando las <strong>variables de ODI<\/strong> a dichos objetos. Utilizaremos como ejemplo un proceso de ODI que realiza una integraci\u00f3n de datos, transfiriendo el contenido de una tabla a un fichero con extensi\u00f3n csv.<\/p>\n<h3>Creaci\u00f3n de tabla ejemplo en base de datos<\/h3>\n<p>Creamos una<strong> tabla ejemplo en base de datos Oracle<\/strong> que contiene los planetas del sistema solar y su orden de posici\u00f3n respecto al Sol (T_DEMO_FICHERO)<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22203 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen1.png\" alt=\"\" width=\"135\" height=\"183\" \/><\/p>\n<h3>Definici\u00f3n de un nuevo modelo de datos<\/h3>\n<p>Definimos un <strong>nuevo modelo de datos de Oracle<\/strong> (DEMO_TABLA) enlazado a la base de datos. Dentro creamos el <strong>datastore de tipo tabla<\/strong> T_DEMO_FICHERO con la estructura de la tabla creada anteriormente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22204 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen2.png\" alt=\"\" width=\"600\" height=\"165\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen2.png 600w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen2-300x83.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen2-360x99.png 360w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<h3>Definici\u00f3n de un nuevo modelo de datos tipo FILE<\/h3>\n<p>Definimos un<strong> nuevo modelo de datos tipo FILE<\/strong> (DEMO_FILE). Dentro creamos <strong>dos datastores de tipo fichero<\/strong> con la estructura adecuada al fichero que va a recibir los datos:<\/p>\n<ul>\n<li>CSV_FICHERO_DEMO_DINAMICO<\/li>\n<li>CSV_FICHERO_DEMO_ESTATICO<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22207 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen3.png\" alt=\"\" width=\"592\" height=\"165\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen3.png 592w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen3-300x84.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen3-360x100.png 360w\" sizes=\"auto, (max-width: 592px) 100vw, 592px\" \/><\/p>\n<p>En el datastore CSV_FICHERO_DEMO_ESTATICO el nombre de recurso est\u00e1 definido por una ruta de directorios y un nombre de fichero de manera <strong>fija<\/strong> (\/u01\/datawarehouse\/demo_fichero\/DEMO_FICHERO_ESTATICO.csv).<\/p>\n<p>En el datastore CSV_FICHERO_DEMO_DINAMICO el nombre de recurso est\u00e1 definido de manera <strong>din\u00e1mica<\/strong> por una variable que determina su ruta dentro del sistema de ficheros (V_DEMO_RUTA_PUBLICACION), una variable que establece el nombre de fichero (V_DEMO_NOM_FICHERO) y una extensi\u00f3n (en este caso .csv).<\/p>\n<p>A continuaci\u00f3n, se detallan otras<strong> propiedades a destacar<\/strong> en los datastores tipo file, como el tipo de fichero (longitud fija o delimitado) el formato de fin de l\u00ednea, el car\u00e1cter separador de los campos y los campos que conforman los ficheros del ejemplo.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22208 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen4.png\" alt=\"\" width=\"789\" height=\"343\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen4.png 789w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen4-300x130.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen4-768x334.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen4-360x157.png 360w\" sizes=\"auto, (max-width: 789px) 100vw, 789px\" \/><\/p>\n<p>Las dos variables de tipo alfanum\u00e9rico utilizadas por el datastore han sido creadas y est\u00e1n definidas de la siguiente manera:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22209 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen5.png\" alt=\"\" width=\"212\" height=\"106\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22210 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen6.png\" alt=\"\" width=\"508\" height=\"143\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen6.png 508w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen6-300x84.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen6-360x101.png 360w\" sizes=\"auto, (max-width: 508px) 100vw, 508px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22211 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen7.png\" alt=\"\" width=\"511\" height=\"138\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen7.png 511w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen7-300x81.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen7-360x97.png 360w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/p>\n<p>Estas variables tienen definida internamente una consulta a una tabla de configuraci\u00f3n almacenada en la base de datos Oracle para obtener sus valores dado un determinado c\u00f3digo de proceso.<\/p>\n<h3>Definici\u00f3n de un registro en la tabla de configuraci\u00f3n<\/h3>\n<p>Para el ejemplo, se ha definido un <strong>registro en la tabla de configuraci\u00f3n<\/strong> cuyo c\u00f3digo de proceso se denomina \u201cDEMO_FICHERO\u201d, informando los campos asociados a las variables (CD_AUX_FIELD_2 y CD_AUX_FIELD_3) con los valores de ruta y nombre de fichero respectivamente.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22214 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen8.png\" alt=\"\" width=\"850\" height=\"35\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen8.png 850w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen8-300x12.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen8-768x32.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen8-360x15.png 360w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<h3>Definici\u00f3n de un paquete para el flujo completo de integraci\u00f3n<\/h3>\n<p>El <strong>paquete definido para realizar el flujo completo de integraci\u00f3n<\/strong> que dar\u00e1 lugar a la generaci\u00f3n del fichero de manera din\u00e1mica es el siguiente:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22215 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen9.png\" alt=\"\" width=\"206\" height=\"53\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22216 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen10.png\" alt=\"\" width=\"637\" height=\"71\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen10.png 637w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen10-300x33.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen10-360x40.png 360w\" sizes=\"auto, (max-width: 637px) 100vw, 637px\" \/><\/p>\n<p>En primer lugar, se asigna a la variable V_COD_PROCESO el valor &#8216;DEMO_FICHERO&#8217; como c\u00f3digo de proceso.<\/p>\n<p>A continuaci\u00f3n, las variables V_DEMO_RUTA_PUBLICACION y V_DEMO_NOM_FICHERO obtienen sus respectivos valores de ruta y nombre mediante consulta de la tabla de configuraci\u00f3n para el citado proceso.<\/p>\n<p>Finalmente se ejecuta el mapping MAP_DEMO_FICHERO_DINAMICO, informando el datastore CSV_FICHERO_DEMO_DINAMICO a partir de la tabla T_DEMO_FICHERO y aplicando la ruta y el nombre definidos en las variables para generar el fichero.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22217 size-full aligncenter\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen11.png\" alt=\"\" width=\"413\" height=\"165\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen11.png 413w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen11-300x120.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen11-360x144.png 360w\" sizes=\"auto, (max-width: 413px) 100vw, 413px\" \/><\/p>\n<p>Accedemos al servidor y comprobamos que el fichero ha sido creado en la ruta adecuada con el nombre adecuado.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-22218 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen12.png\" alt=\"\" width=\"621\" height=\"210\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen12.png 621w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen12-300x101.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen12-360x122.png 360w\" sizes=\"auto, (max-width: 621px) 100vw, 621px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22219 size-full aligncenter\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen13.png\" alt=\"\" width=\"206\" height=\"171\" \/><\/p>\n<p>Si por necesidades de proyecto se requiriera cambiar la ubicaci\u00f3n del fichero o su nombre, bastar\u00eda con modificar los valores en el registro de la tabla de configuraci\u00f3n para el citado proceso.<\/p>\n<p>Para comprobarlo se va a modificar la ruta y nombre del fichero en el registro de base de datos.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22220 size-full aligncenter\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen14.png\" alt=\"\" width=\"850\" height=\"33\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen14.png 850w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen14-300x12.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen14-768x30.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen14-360x14.png 360w\" sizes=\"auto, (max-width: 850px) 100vw, 850px\" \/><\/p>\n<p>Volvemos a ejecutar el paquete y comprobamos que el fichero se ha generado en la nueva ruta con el nuevo nombre.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-22222 size-full aligncenter\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen16.png\" alt=\"\" width=\"537\" height=\"210\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen16.png 537w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen16-300x117.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2022\/11\/Imagen16-360x141.png 360w\" sizes=\"auto, (max-width: 537px) 100vw, 537px\" \/><\/p>\n<p>Si se hubiese utilizado en el proceso de integraci\u00f3n el datastore CSV_FICHERO_DEMO_ESTATICO, el fichero siempre se generar\u00eda en la misma ruta y con el mismo nombre.<\/p>\n<h2>Resultados del proceso<\/h2>\n<p>Como se observa, esta t\u00e9cnica permite una flexibilidad total en el uso de ficheros y libera de mantenimientos a los desarrollos que los utilizan, implicando tan solo una actualizaci\u00f3n de valores por base de datos.<\/p>\n<p>Esta metodolog\u00eda puede ampliar todav\u00eda m\u00e1s la funcionalidad a\u00f1adiendo otras variables o modificando las existentes.\u00a0Un posible ejemplo pr\u00e1ctico ser\u00eda a\u00f1adir la fecha de generaci\u00f3n en formato AAAAMMDD al final del nombre del fichero o un valor incremental en el caso de generar ficheros consecutivos por lotes, etc.<\/p>\n<p><strong>El l\u00edmite est\u00e1 en la imaginaci\u00f3n\u2026<\/strong><\/p>\n<p>Hiberus cuenta entre sus tecnolog\u00edas diferenciales con una unidad especializada en <strong><a href=\"https:\/\/www.hiberus.com\/data-ia\/data-insights\">servicios de Data &amp; Analytics<\/a><\/strong> formada por un equipo de profesionales comprometidos, responsables, cercanos, especializados y competitivos con amplio expertise en tecnolog\u00eda, an\u00e1lisis de datos e innovaci\u00f3n. Desde esta unidad se ofrecen soluciones integrales de consultor\u00eda estad\u00edstica y an\u00e1lisis de datos con especializaci\u00f3n por \u00e1reas de conocimiento, donde se acompa\u00f1a a nuestros clientes en cada proyecto integr\u00e1ndonos como parte de su equipo. Contacta con nosotros para m\u00e1s informaci\u00f3n.<\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestros servicios de Data &amp; Analytics?<\/p>\n                        <p>Contacta con nuestro equipo de expertos en Data &amp; Analytics<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/22201#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Las variables de ODI (Oracle Data Integrator) se utilizan para manejar par\u00e1metros ETL\u00a0(extracci\u00f3n, carga y transformaci\u00f3n). Se trata de una caracter\u00edstica muy&#8230;<\/p>\n","protected":false},"author":273,"featured_media":22229,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[7],"tags":[17,29,60],"class_list":{"0":"post-22201","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-next-tech","8":"tag-big-data","9":"tag-data-analytics","10":"tag-oracle"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/22201","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/273"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=22201"}],"version-history":[{"count":13,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/22201\/revisions"}],"predecessor-version":[{"id":39127,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/22201\/revisions\/39127"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/22229"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=22201"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=22201"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=22201"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}