Read From Variable Format File

Read from Variable Format File (Lectura desde archivo de formato variable) lee los datos desde un archivo que contiene registros de diseño variable. Cada registro se lee como un campo de lista. Puede especificar la etiqueta que indica el tipo de registro principal, y todos los demás tipos de registro se convertirán en campos de lista bajo ese elemento principal.

Los archivos de formato variable poseen estas características:

  • Los registros del archivo pueden tener campos diferentes y distinta cantidad de campos.
  • Todos los registros deben contener una etiqueta (normalmente un número) que identifique el tipo de registro.
  • Se admiten las relaciones jerárquicas.

Ejemplo de archivo de formato variable

Este ejemplo muestra un archivo de formato variable que contiene información sobre la actividad de la cuenta corriente de dos clientes: Joe Smith y Anne Johnson. En este ejemplo, el archivo es un archivo delimitado que usa la coma como delimitador de campo.

001   Joe,Smith,M,100 Main St,555-234-1290
100   CHK12904567,12/2/2007,6/1/2012,CHK
200   1000567,1/5/2012,Fashion Shoes,323.12
001   Anne,Johnson,F,1202 Lake St,555-222-4932
100   CHK238193875,1/21/2001,4/12/2012,CHK
200   1000232,3/5/2012,Blue Goose Grocery,132.11
200   1000232,3/8/2012,Trailway Bikes,540.00

El primer campo de cada registro contiene la etiqueta que identifica el tipo de registro y, por lo tanto, el formato del registro:

  • 001: registro del cliente
  • 100: registro de la cuenta
  • 200: registro de la transacción de la cuenta

Para los archivos delimitados, es común que el valor de la etiqueta (001, 100, 200) sea un número fijo de bytes ubicado al principio del registro, como se muestra en el ejemplo anterior.

Cada registro tiene su propio formato:

  • 001: Nombre,Apellido,Sexo,Dirección,Número_de_teléfono
  • 100: ID_de_la_cuenta,Fecha_de_apertura,Fecha_de_vencimiento,Tipo_de_cuenta
  • 200: ID_de_la_transacción,Fecha_de_la_transacción,Proveedor,Monto

El formato de registro 100 (registro de cuenta) es un campo secundario del registro anterior 001, y el formato de registro 200 (registro de transacción de cuenta) es un campo secundario del registro anterior 100 (registro de cuenta). En el archivo de ejemplo, en la cuenta CHK12904567 de Joe Smith, se realizó una transacción el 5/1/12 por un importe de 323,12 en Fashion Shoes. A su vez, en la cuenta CHK238193875 de Anne Johnson, se realizaron dos transacciones, una el 5/3/12 en Blue Goose Grocery y la otra el 8/3/12 en Trailway Bikes.

Ficha Propiedades del archivo

Nombre de la opción Descripción

Server name (Nombre de servidor)

Indica si el archivo que seleccionó como entrada está ubicado en la computadora que está ejecutando Enterprise Designer o en el servidor de Spectrum™ Technology Platform. Si selecciona un archivo en la computadora local, el nombre del servidor será Mi computadora. Si selecciona un archivo que se encuentra en el servidor, el nombre del servidor será Spectrum™ Technology Platform.

Nombre de archivo

Especifica la ruta al archivo. Haga clic en el botón de puntos suspensivos (...) para dirigirse al archivo que desea.

Puede leer múltiples archivos al usar el carácter comodín para leer datos desde múltiples archivos en el directorio. Los caracteres comodines * y ? son compatibles. Por ejemplo, puede especificar *.csv para leer todos los archivos con extensión .csv que se encuentran en el directorio. Para leer correctamente múltiples archivos, cada uno debe tener la misma disposición (los mismos campos en las mismas posiciones). Cualquier registro que no coincida con la disposición especificada en la ficha Campos se tratará como un registro malformado.

Cuando lee un archivo del servidor de archivos HDFS, los formatos de compresión compatibles son:
  1. GZIP (.gz)
  2. BZIP2 (.bz2)
Nota: La extensión del archivo indica el formato de compresión que se utiliza para descomprimir el archivo.
Atención: Si el servidor de Spectrum™ Technology Platform está ejecutándose en Unix o Linux, recuerde que estas plataformas distinguen las mayúsculas de las minúsculas en los nombres de los archivos y las rutas.

Tipo de registro

Formato de los registros en el archivo. Seleccione uno de:

En líneas secuenciales
Archivo de texto en el que los registros se separan con un carácter de final de línea (EOL), como un retorno de carro o un salto de línea (CR o LF) y cada campo tiene una posición fija para los caracteres de inicio y final.
De ancho fijo
Archivo de texto en el que cada registro es un número específico de caracteres de longitud y cada campo tiene una posición fija para los caracteres de inicio y final.
Delimitado
Archivo de texto en el que los registros se separan con un carácter de final de línea (EOL), como un retorno de carro o un salto de línea (CR o LF) y cada campo se separa con un carácter designado; por ejemplo, una coma.

Character encoding (Codificación de caracteres)

Codificación del archivo de texto. Seleccione uno de estos:

UTF-8
Admite todos los caracteres Unicode y es compatible con las versiones anteriores de ASCII. Para obtener más información sobre UTF, consulte unicode.org/faq/utf_bom.html.
UTF-16
Admite todos los caracteres Unicode, pero no es compatible con las versiones anteriores de ASCII. Para obtener más información sobre UTF, consulte unicode.org/faq/utf_bom.html.
US-ASCII
Codificación de caracteres basada en el orden del alfabeto inglés.
UTF-16BE
Codificación UTF-16 con serialización de bytes big endian (byte más significativo al principio).
UTF-16LE
Codificación UTF-16 con serialización de bytes little endian (byte menos significativo al principio).
ISO-8859-1
Codificación de caracteres ASCII, que suele utilizarse para los idiomas de Europa occidental. También se la conoce como Latin-1.
ISO-8859-3
Codificación de caracteres ASCII, que suele utilizarse para los idiomas de Europa meridional. También se la conoce como Latin-3.
ISO-8859-9
Codificación de caracteres ASCII, que suele utilizarse para el idioma turco. También se la conoce como Latin-5.
CP850
Página de códigos ASCII que se utiliza para escribir idiomas de Europa occidental.
CP500
Página de códigos EBCDIC que se utiliza para escribir idiomas de Europa occidental.
Shift_JIS
Codificación de caracteres para el idioma japonés.
MS932
Una extensión de Microsoft de Shift_JIS para incluir caracteres especiales NEC, selección NEC de extensiones IBM y extensiones IBM.
CP1047
Una página de códigos EBCDIC con el conjunto de caracteres completo del alfabeto latino 1.

Record length (Longitud de registro)

Para los archivos de ancho fijo, especifica la cantidad exacta de caracteres en cada registro.

Separador de campo

Especifica el carácter que se utiliza para separar los campos en un archivo delimitado.

Por ejemplo, este registro utiliza una barra vertical (|) como separador de campo:

7200 13TH ST|MIAMI|FL|33144

Estos caracteres disponibles para definir como separadores de campo son:

  • Espacio de claves
  • Tab
  • Coma
  • Punto
  • Punto y coma
  • Barra vertical

Si el archivo utiliza un carácter distinto como separador de campo, haga clic en el botón de los puntos suspensivos para seleccionar otro carácter como delimitador.

Separador de etiqueta Especifica el carácter ubicado después del campo de etiqueta para demarcar el campo de identificación de cada registro en un archivo delimitado. El separador de etiqueta debe ser un solo carácter.

De forma predeterminada, estos caracteres están disponibles para ser elegidos como separadores de etiqueta:

  • Espacio de claves
  • Tab
  • Coma
  • Punto
  • Punto y coma
  • Barra vertical

Si el archivo utiliza un carácter distinto como separador de etiqueta, haga clic en el botón de los puntos suspensivos para agregar y seleccionar un separador de etiqueta personalizado.

Nota: De forma predeterminada, el carácter Separador de registro es el mismo que el carácter Separador de campo seleccionado. Para activar este campo y seleccionar un carácter diferente, desmarque la casilla Igual que separador de campo.
Igual que separador de campo Indica si el separador de etiqueta es el mismo que el separador de campo. Desmárquelo para seleccionar un carácter diferente como separador de etiqueta.
Nota: De manera predeterminada, esta casilla de verificación está marcada y el campo Separador de etiqueta está desactivado.

Text qualifier (Calificador de texto)

El carácter que se utiliza para demarcar los valores de texto en un archivo delimitado.

Por ejemplo, este registro utiliza comillas dobles (") como calificador de texto.

"7200 13TH ST"|"MIAMI"|"FL"|"33144"

Los caracteres disponibles para definir como calificadores de texto son:

  • Comilla simple (')
  • Comilla doble (")

Si el archivo utiliza un calificador de texto distinto, haga clic en el botón de los puntos suspensivos para seleccionar otro carácter como calificador de texto.

Record separator (Separador de registro)

Especifica el carácter que se utiliza para separar registros en archivos secuenciales o delimitados. Este campo no está disponible si selecciona la casilla Utilizar final de línea predeterminado .

Los parámetros de separador de registro disponibles son:

Unix (U+000A)
Un carácter de salto de línea separa los registros. Este es el separador de registros estándar para los sistemas Unix.
Macintosh (U+000D)
Un carácter de retorno de carro separa los registros. Este es el separador de registros estándar para los sistemas Macintosh.
Windows (U+000D U+000A)
Un carácter de retorno de carro seguido por un salto de línea separa los registros. Este el separador de registros estándar para los sistemas Windows.

Si su archivo utiliza un separador de registro distinto, haga clic en el botón de los puntos suspensivos para seleccionar otro carácter como separador de registro.

Nombre de etiqueta de raíz

La etiqueta que se usa para registros principales; es decir, de los que dependen otros tipos de registros. Por ejemplo, si usted tiene los tipos de registro 001, 100 y 200, y los tipos de registro 100 y 200 son elementos secundarios de 001, entonces 001 es la etiqueta de raíz.

Usar etiquetas de ancho fijo

Especifica si se asigna una cantidad fija de espacio al principio de cada registro para ubicar la etiqueta de registro. Por ejemplo, a continuación se muestra un archivo que posee las etiquetas 001, 100 y 200 en un campo de ancho fijo:

001   Joe,Smith,M,100 Main St,555-234-1290
100   CHK12904567,12/2/2007,6/1/2012,CHK
200   1000567,1/5/2012,Mike's Shoes,323.12

Posición de inicio de etiqueta

Si marca la casilla Usar etiquetas de ancho fijo, esta opción especifica la posición dentro de cada registro donde comienza la etiqueta. Por ejemplo, si la etiqueta comienza en el cuarto carácter del registro, usted especificará 4.

Ancho de etiqueta

Si marca la casilla Usar etiquetas de ancho fijo esta opción especifica la cantidad de espacios designados para las etiquetas a partir de la posición que se especifica en el campo Posición de inicio de etiqueta. Por ejemplo, si especifica 3 en el campo Posición de inicio de etiqueta y 7 en el campo Ancho de etiqueta, las posiciones 4 a 10 se reservarán para la etiqueta de registro. El valor que especifique debe ser suficiente para incluir todos los caracteres del nombre de etiqueta más largo.

El valor en el campo Ancho de etiqueta aumenta automáticamente si usted alarga el nombre de etiqueta en el campo Nombre de etiqueta de raíz.

El ancho de etiqueta máximo es 1024.

Use default EOL (Utilizar final de línea predeterminado)

Especifica que el separador de registro del archivo es el carácter de final de línea (EOL) predeterminado que utiliza el sistema operativo en el que se ejecuta el servidor Spectrum™ Technology Platform.

No seleccione esta opción si el archivo utiliza un carácter de final de línea distinto del que utiliza de forma predeterminada el sistema operativo del servidor. Por ejemplo, si el archivo utiliza un final de línea de Windows pero el servidor está ejecutándose en Linux, no seleccione esta opción. En su lugar, seleccione la opción Windows en el campo Separador de registro.

Considerar malformados los registros con menos campos que los especificados

Si usted habilita esta opción, se considerarán malformados los registros secundarios que contengan menos campos que un registro completo. Cuando se encuentra un registro malformado, el procesamiento avanza hasta la siguiente etiqueta de raíz, ignorando todas las etiquetas secundarias que haya en el medio. Se escribe una excepción en el registro, con información sobre registros secundarios malformados junto con un número de línea.

Nota: Siempre se consideran malformados los registros en las siguientes situaciones, independientemente de si activó esta opción o no.
  • La etiqueta es desconocida
  • La línea está vacía
  • Hay una etiqueta sin datos
  • Si un registro tiene una etiqueta que depende de otra etiqueta, ese registro aparecerá inmediatamente después del registro con la etiqueta de raíz

Ficha Campos

La ficha Campos especifica las características de cada campo leído desde el archivo.

Ficha Tiempo de ejecución

Nombre de campo Descripción

Nombre de archivo

Muestra el nombre del archivo seleccionado en la primera ficha.

Starting record (Registro de inicio)

Si desea omitir los registros ubicados al comienzo del archivo cuando lee registros en el flujo de datos, especifique el primer registro que desea leer. Por ejemplo, si desea omitir los primeros 50 registros de un archivo, especifique 51. El registro número 51 será el primero que se leerá en el flujo de datos.

Todos los registros

Seleccione esta opción si desea leer todos los registros, comenzando desde el registro especificado en el campo Registro de inicio hasta el final del archivo.

Máximo de registros

Seleccione esta opción si desea leer solamente cierta cantidad de registros, comenzando desde el registro especificado en el campo Registro de inicio. Por ejemplo, si desea leer los primeros 100 registros, seleccione esta opción e ingrese 100.