0 / 0
Volver a la versión inglesa de la documentación

Etapa Fuente externa: Sección de formato de la pestaña SalidaDataStage®)

Última actualización: 12 mar 2025
Etapa External Source en DataStage: sección Formato de la pestaña Salida

Utilice la sección Formato para proporcionar información sobre el formato de los datos de origen que está leyendo.

Esta pestaña de sección tiene un formato similar a la sección Propiedades.

Si no modifica ninguno de los valores de Formato, la etapa genera un archivo con el formato siguiente:

  • El archivo consta de columnas de longitud variable que están contenidas entre comillas dobles.
  • Todas las columnas están delimitadas por una coma, excepto la columna final de una fila.
  • Las filas están delimitadas por una nueva línea de UNIX.

Para cambiar las propiedades individuales, especifique valores para las opciones en la sección Nivel de registro, sección Valores predeterminados de campo u otras secciones que se muestran.

Cualquier propiedad que establezca en este separador se puede alterar temporalmente a nivel de columna estableciendo propiedades para columnas individuales en el recuadro de diálogo Editar metadatos de columna.

Esta descripción utiliza los términos "registro", "fila", "campo" y "columna" indistintamente.

Las siguientes secciones listan los tipos de propiedad y las propiedades disponibles para cada tipo.

Nivel de registro

Estas propiedades definen detalles sobre cómo se formatean los registros de datos en el archivo sin formato. Donde puede especificar un carácter, normalmente puede ser un carácter ASCII. Las propiedades disponibles se muestran en la lista siguiente:

  • Delimitador final. Especifique el carácter único que se escribe después de la última columna de un registro en lugar del delimitador de campo. Escriba un carácter o seleccione uno de espacio en blanco, final, ninguno, nulo, separador o coma. IBM DataStage omite la serie de delimitador especificada al leer el archivo. Consulte el siguiente diagrama para ver una ilustración.
    • espacio en blanco. La última columna de cada registro no incluirá ningún espacio blanco final que se encuentre al final del registro.
    • final. La última columna de cada registro no incluye el delimitador de campo. Esta configuración es la configuración predeterminada.
    • none. La última columna de cada registro no tiene un delimitador, que se utiliza para los campos de anchura fija.
    • nulo. La última columna de cada registro está delimitada por el carácter nulo ASCII.
    • coma. La última columna de cada registro está delimitada por el carácter de coma ASCII.
    • tabulación. La última columna de cada registro está delimitada por el carácter de tabulación ASCII.
  • Intacta. La propiedad intacta especifica un identificador de un esquema parcial. Un esquema parcial especifica que sólo una o más columnas que se nombran en el esquema pueden ser modificadas por la etapa. Las demás columnas de la fila se pasan sin modificar. El archivo que contiene el esquema parcial se especifica en la propiedad Archivo de esquema en la pestaña Salidas. Esta propiedad tiene una propiedad dependiente:
    • Comprobar intacta. Seleccione este valor para forzar la validación del esquema parcial a medida que se importan el archivo o archivos. Este valor puede degradar el rendimiento.
  • Serie de delimitador de registro. Especifique la serie al final de cada registro. Especifique uno o más caracteres. Este valor se excluye mutuamente con el delimitador de registro, que es el valor predeterminado y el tipo de registro y el prefijo de registro.
  • Delimitador de registro. Especifique el carácter único al final de cada registro. Escriba un carácter o seleccione una de las opciones siguientes:
    • UNIX Newline (el valor predeterminado)
    • nulo

      (Para especificar una nueva línea de DOS, utilice la propiedad de serie de delimitador de registro establecida en "\R\N" o elija Formatear como > Terminador de línea de DOS en el menú.)

      El delimitador de registro se excluye mutuamente con la serie de delimitador de registro, el prefijo de registro y el tipo de registro.

  • Longitud de registro. Seleccione Fijo donde se leen los campos de longitud fija. IBM DataStage calcula la longitud adecuada para el registro. Como alternativa, especifique la longitud de los registros fijos como número de bytes. Este valor no se utiliza de forma predeterminada (los archivos predeterminados están delimitados por comas).
  • Prefijo de registro. Especifica que un registro de longitud variable tiene un prefijo de longitud de 1, 2 o 4 bytes. Está establecido en 1 de forma predeterminada. Este valor se excluye mutuamente con el delimitador de registro, que es el valor predeterminado y la serie de delimitador de registro y el tipo de registro.
  • Tipo de registro. Especifica que los datos constan de registros bloqueados de longitud variable (variables) o de registros implícitos (implícitos). Si elige la propiedad implícita, los datos se graban como una secuencia sin límites de registro explícitos. El final del registro se infiere cuando se analizan todas las columnas definidas por el esquema. Puede utilizar la propiedad variable para especificar uno de los siguientes formatos bloqueados o fragmentados de IBM: V, VB, VS, VBS o VR. Los datos se importan utilizando uno de estos formatos. Estos formatos no están disponibles para la exportación.

    Esta propiedad se excluye mutuamente con la longitud de registro, el delimitador de registro, la serie de delimitador de registro y el prefijo de registro, y no se utiliza de forma predeterminada.

Valores predeterminados del campo

Define las propiedades predeterminadas para las columnas que se leen en el archivo o archivos. Estas propiedades se aplican a todas las columnas, pero se pueden alterar temporalmente para columnas individuales en la pestaña Columnas utilizando el recuadro de diálogo Editar metadatos de columna. Una razón común para alterar temporalmente una propiedad para una columna individual se produce cuando se leen archivos de valores separados por comas (CSV). Los archivos CSV suelen incluir campos entre comillas cuando los campos pueden contener un carácter especial, como por ejemplo el delimitador de campo. En este caso, la propiedad Quote para las columnas en cuestión debe alterarse temporalmente.

Donde puede especificar un carácter, normalmente puede ser un carácter ASCII. Las propiedades disponibles son:

  • Longitud real del campo. Especifica el número real de bytes que se deben omitir si la longitud del campo es igual al valor de la propiedad de longitud de campo nula.
  • Delimitador. Especifica el delimitador final de todos los campos del registro. Escriba un carácter ASCII o seleccione uno de los siguientes: espacio en blanco, final, ninguno, nulo, coma o tabulador. IBM DataStage omite el delimitador al leer.
    • espacio en blanco. Los caracteres de espacio en blanco al final de una columna se ignoran, es decir, no se tratan como parte de la columna.
    • final. El final de un campo se toma como delimitador, es decir, no hay ningún delimitador separado. No es lo mismo que un valor de "None", que se utiliza para campos con columnas de anchura fija.
    • none. Sin delimitador (utilizado para la anchura fija).
    • nulo. Se utiliza el carácter nulo ASCII.
    • coma. Se utiliza el carácter de coma ASCII.
    • tabulación. Se utiliza el carácter de tabulación ASCII.
  • Serie de delimitador. Especifique la serie al final de cada campo. Especifique uno o más caracteres. Se excluye mutuamente con el Delimitador, que es el valor predeterminado. Por ejemplo, si especificar `, ` (espacio de coma; no es necesario especificar las comas invertidas) especifica que cada campo está delimitado por `, ` a menos que se altere temporalmente para campos individuales. IBM DataStage omite la serie de delimitador al leer.
  • Longitud de campo nula. La longitud en bytes de un campo de longitud variable que contiene un valor nulo. Cuando se lee un campo de longitud variable, una longitud de campo nula en el campo de origen indica que contiene un valor nulo. Esta propiedad se excluye mutuamente con un valor de campo nulo.
  • Valor de campo nulo. Especifica el valor que se proporciona a un campo nulo si el origen se establece en nulo (null). Puede ser un número, una serie o un carácter de escape literal de tipo C. Por ejemplo, puede representar un valor de byte mediante \ooo, donde cada o es un dígito octal del 0 al 7, y el primer o es < 4, o mediante \xhh, donde cada h es un dígito hexadecimal de 0 a F. Debe utilizar este formulario para codificar valores de bytes no imprimibles.

    Esta propiedad se excluye mutuamente con la longitud del campo nula y la longitud real. Para una representación de datos de ancho fijo, puede utilizar el carácter de relleno (en la sección general de valores predeterminados de tipo) para especificar un carácter de cola repetido si el valor que especifica es más corto que la anchura fija del campo.

    Puede especificar una lista de valores nulos que una columna puede contener que representan un valor nulo. Especifique un carácter separador en la propiedad dependiente Separador de valor de campo nulo y, a continuación, utilice este separador para delimitar los valores nulos de la propiedad Valor de campo nulo. Por ejemplo, si establece Separador de valor de campo nulo para que contenga el carácter de barra inclinada (/), puede especificar NULL/null/NUL/nul para especificar que cualquiera de estas series puede representar un valor nulo en esta columna.

  • Separador de valor de campo nulo

    Esta es una propiedad dependiente de Valor de campo nulo. Puede especificar un separador que se puede utilizar en la propiedad Valor de campo nulo para especificar un rango de valores que pueden representar el valor nulo. Puede especificar un número, una serie o un carácter de escape literal de tipo C (como para Valor de campo nulo) como separador, pero un solo carácter como una coma (,) o una barra inclinada (/) es la mejor opción. Debe especificar un separador sólo si especifica varios valores en Valor de campo nulo; especificar un separador sin utilizarlo provocará un error de tiempo de ejecución.

  • Bytes de prefijo. Puede utilizar esta opción con campos de longitud variable. Los campos de longitud variable pueden estar delimitados por un carácter o precedidos por un prefijo de 1, 2 o 4 bytes que contiene la longitud de campo. IBM DataStage lee el prefijo de longitud, pero no lo incluye como un campo aparte en el conjunto de datos que lee en el archivo.

    Esta propiedad se excluye mutuamente con las propiedades Delimitador, Cuota y Delimitador final, que se utilizan de forma predeterminada.

  • Campo de impresión. Esta propiedad está indicada para utilizarse al depurar trabajos. Establézcalo para que IBM DataStage genere un mensaje para cada campo que lee. El mensaje tiene el formato:
    Importing N: D
    donde:
    • N es el nombre del campo.
    • D son los datos importados del campo. Los caracteres no imprimibles que están contenidos en D tienen como prefijo un carácter de escape y se graban como literales de serie C; si el campo contiene datos binarios, la salida se genera en formato octal.
  • Comilla. Especifica que los campos de longitud variable se escriben entre comillas simples, comillas dobles u otro carácter o par de caracteres. Elija Simple o Doble o entre un carácter. Se establece en comillas dobles de forma predeterminada.

    Al leer, IBM DataStage ignora el carácter de comillas inicial y lee todos los bytes hasta el carácter de comillas final, pero sin incluido.

  • Prefijo vectorial. Para los campos que son vectores de longitud variable, especifique que un prefijo de 1, 2 o 4 bytes contiene el número de elementos del vector. Puede alterar temporalmente este prefijo predeterminado para los vectores individuales.

    Los vectores de longitud variable deben utilizar un prefijo en el vector o un enlace a otro campo para especificar el número de elementos en el vector. Si el vector de longitud variable tiene un prefijo, utilice esta propiedad para indicar la longitud del prefijo. IBM DataStage lee el prefijo de longitud, pero no lo incluye como un campo aparte en el conjunto de datos. De forma predeterminada, se supone que la longitud del prefijo es de 1 byte.

Valores predeterminados del tipo

Estas propiedades se aplican a todas las columnas de un tipo de datos específico, a menos que se alteren específicamente en el nivel de columna. Se dividen en un varios subgrupos según el tipo de datos.

General

Estas propiedades se aplican a varios tipos de datos (a menos que se alteren temporalmente a nivel de columna):
  • Orden de bytes. Especifica cómo se ordenan los tipos de datos de varios bytes (excepto los tipos de serie y los tipos de datos sin formato). Seleccione entre:
    • little-endian. El byte alto está a la derecha.
    • big-endian. El byte alto está a la izquierda.
    • native-endian. Según lo definido por el formato nativo de la máquina. Esta es la opción predeterminada.
  • Formato de datos. Especifica el formato de representación de datos de un campo. Se aplica a los campos de todos los tipos de datos excepto los campos de serie, ustring y sin formato y a los campos de registro, subregistro o etiquetado que contienen al menos un campo que no es de serie ni sin formato. Seleccione entre:
    • binario
    • texto (el valor predeterminado)

      Un valor binario tiene significados diferentes cuando se aplica a tipos de datos diferentes:

    • Para los decimales, binarios significa empaquetado.
    • Para otros tipos de datos numéricos, binario significa "sin texto".
    • Para las fechas, binario equivale a especificar la propiedad juliana del campo de fecha.
    • Para el tiempo, binario es equivalente a midnight_seconds.
    • Para la indicación de fecha y hora, binario especifica que el primer entero contiene un recuento de días juliano para la parte de fecha de la indicación de fecha y hora, y el segundo entero especifica la parte de tiempo de la indicación de fecha y hora como el número de segundos desde medianoche. Una indicación de fecha y hora binaria especifica que se escriben dos enteros de 32 bits.

      De forma predeterminada, los datos se formatean como texto, de la siguiente manera:

    • Para el tipo de datos de fecha, el texto especifica que los datos leídos contienen una fecha basada en texto con el formato %yyyy-%mm-%dd o el formato de fecha predeterminado, si ha definido uno nuevo en un sistema NLS.
    • Para el tipo de datos decimal: un campo representa un decimal en un formato de serie con un espacio inicial o '-' seguido de dígitos decimales con un punto decimal incorporado si la escala es distinta de cero. El formato de la serie de destino es: [+ | -]ddd.[ddd] y se ignoran los argumentos de precisión y escala.
    • Para los campos numéricos (int8, int16, int32, uint8, uint16, uint32, sfloat y dfloat): IBM DataStage supone que los campos numéricos se representan como texto.
    • Para el tipo de datos de hora: text especifica que el campo representa la hora en el formato basado en texto %hh: %nn:%ss.
    • Para el tipo de datos de indicación de fecha y hora: el texto especifica una indicación de fecha y hora basada en texto con el formato %aaaa-%mm-%dd %hh: %nn:%ss.
  • Anchura máxima de campo. El número máximo de bytes en una columna que se representa como una serie. Especifique un número. Esto es útil cuando se están almacenando números como texto. Si utiliza un juego de caracteres de anchura fija, puede calcular la longitud exactamente. Si utiliza un juego de caracteres de longitud variable, calcule una anchura máxima adecuada para los campos. Se aplica a los campos de todos los tipos de datos excepto la fecha, hora, indicación de fecha y hora y sin formato; y registro, subregistro o etiquetado si contienen al menos un campo de este tipo.
  • Anchura de campo. El número de bytes en un campo que se representa como una serie. Especifique un número. Esto es útil cuando se están almacenando números como texto. Si utiliza un conjunto de caracteres de anchura fija, puede calcular el número de bytes exactamente. Si se trata de una codificación de longitud variable, base el cálculo en la anchura y la frecuencia de los caracteres de anchura variable. Se aplica a los campos de todos los tipos de datos excepto la fecha, hora, indicación de fecha y hora y sin formato; y registro, subregistro o etiquetado si contienen al menos un campo de este tipo.

    Si no especifica una anchura de campo ni una anchura máxima de campo, los campos numéricos escritos como texto tienen el siguiente número de bytes como su anchura máxima:

    • enteros con signo o sin signo de 8 bits: 4 bytes
    • enteros con signo o sin signo de 16 bits: 6 bytes
    • enteros con signo o sin signo de 32 bits: 11 bytes
    • enteros con signo o sin signo de 64 bits: 21 bytes
    • flotante de precisión simple: 14 bytes (signo, dígito, punto decimal, fracción 7, "E", signo, exponente 2)
    • flotante de precisión doble: 24 bytes (signo, dígito, punto decimal, fracción 16, "E", signo, exponente 3)
  • Carácter de relleno. Esta propiedad se ignora para los enlaces de salida.
  • Juego de caracteres. Especifica el juego de caracteres. Elija entre ASCII o EBCDIC. El valor predeterminado es ASCII. Se aplica a todos los tipos de datos excepto sin formato y ustring; y a los tipos de datos de registro, subregistro o etiquetado que no contienen campos distintos de sin formato o ustring.

Serie

Estas propiedades se aplican a las columnas con un tipo de datos de serie, a menos que se alteren temporalmente a nivel de columna.
  • Exportar EBCDIC como ASCII. No es relevante para los enlaces de salida.
  • Importar ASCII como EBCDIC. Seleccione esta opción para especificar que los caracteres ASCII se leen como caracteres EBCDIC.

Decimal

Estas propiedades se aplican a las columnas con un tipo de datos decimal, a menos que se alteren temporalmente a nivel de columna.
  • Permitir todos los ceros. Especifica si se debe tratar campo decimal empaquetado que contiene todo ceros (lo que normalmente no es válido) como una representación válida de cero. Seleccione Sí o No. El valor predeterminado es No.
  • Separador decimal. Especifique el carácter que actúa como separador decimal (el punto, de forma predeterminada).
  • Empaquetado. Seleccione una opción para especificar lo que contienen las columnas decimales; elija uno de los siguientes:
    • Sí, para especificar que los campos decimales contienen datos en formato decimal empaquetado (el valor predeterminado). Tiene las subpropiedades siguientes:

      Comprobar. Seleccione Sí para verificar que los datos están empaquetados o No para no verificar.

      Con signo. Seleccione Sí para utilizar el signo existente al leer campos decimales. Seleccione No para escribir un signo positivo (0xf) independientemente del valor de signo real de los campos.

    • No (aparte) para especificar que contienen un decimal desempaquetado con un byte de signo separado. Tiene la subpropiedad siguiente:

      Posición de signo. Elija el principio o el final según corresponda.

    • No (delimitado) para especificar que contienen un decimal desempaquetado en texto ASCII o EBCDIC. Tiene la subpropiedad siguiente:

      Posición de signo. Elija el principio o el final según corresponda.

    • No (perforación de zona) para especificar que el campo tiene un byte inicial o final que contiene un carácter que especifica tanto el valor numérico de ese byte como si el número en su conjunto tiene un signo negativo o positivo. Tiene la subpropiedad siguiente:

      Posición de signo. Elija el principio o el final según corresponda.

  • Precisión. Especifica la precisión de un decimal empaquetado. Especifique un número.
  • Redondeo. Especifica cómo redondear el campo de origen para que se ajuste al decimal de destino al leer un campo de origen con un decimal. Seleccione entre:
    • hacia arriba (máximo). Trunque la columna de origen hacia el infinito positivo. Esta modalidad corresponde a la modalidad de redondeo hacia arriba IEEE 754. Por ejemplo, 1.4 se convierte en 2, -1.6 se convierte en -1.
    • hacia abajo (mínimo). Trunque la columna de origen hacia el infinito negativo. Esta modalidad corresponde a la modalidad de redondeo hacia abajo IEEE 754. Por ejemplo, 1.6 se convierte en 1, -1.4 se convierte en -2.
    • valor más próximo. Redondee la columna de origen hacia el valor representable más cercano. Esta modalidad corresponde a la modalidad COBOL REDONDEADO. Por ejemplo, 1.4 se convierte en 1, 1.5 se convierte en 2, -1.4 se convierte en -1, -1.5 se convierte en -2.
    • truncar hacia cero. Esta es la opción predeterminada. Descarte los dígitos fraccionales a la derecha del dígito fraccional más a la derecha soportado por el destino, independientemente del signo. Por ejemplo, si el destino es un entero, se truncan todos los dígitos fraccionales. Si el destino es otro decimal con una escala más pequeña, trunque el tamaño de escala del decimal de destino. Esta modalidad corresponde a la función INTEGER-PART de COBOL. Utilizando este método 1,6 se convierte en 1, -1,6 se convierte en -1.
  • Escala. Especifica la escala de un decimal empaquetado de origen.

Numérico

Estas propiedades se aplican a los campos de entero y flotante a menos que se alteren temporalmente a nivel de columna
  • C_format. Realice una conversión no predeterminada de datos de datos de serie a un entero o coma flotante. Esta propiedad especifica una serie de formato de lenguaje C que se utiliza para leer series de entero o de coma flotante. Esto se pasa a sscanf(). Por ejemplo, si especifica un formato C de %x y una anchura de campo de 8, se asegura de que un entero de 32 bits se formatee como una serie hexadecimal de 8 bytes.
  • In_format. Serie de formato que se utiliza para la conversión de datos de serie a datos de coma flotante o entero. Esto se pasa a sscanf(). De forma predeterminada, IBM DataStage lanza la función C sscanf() para convertir un campo numérico formateado como una serie a datos de enteros o de coma flotante. Si esta función no genera datos en un formato satisfactorio, puede especificar la propiedad in_format para pasar los argumentos de formato a sscanf().
  • Out_format. Esta propiedad no es relevante para los enlaces de salida.

Fecha

Estas propiedades se aplican a las columnas con un tipo de datos de fecha, a menos que se alteren temporalmente a nivel de columna. Todas estas son incompatibles con un valor de Formato de datos de Texto.
  • Días desde. Las fechas se escriben como un entero con signo que contiene el número de días desde la fecha especificada. Especifique una fecha con el formato %aaaa-%mm-%dd o en el formato de fecha predeterminado si ha definido uno nuevo en un sistema NLS.
  • Serie de formato. El formato de serie de una fecha. De forma predeterminada, es %aaaa-%mm-%dd.
  • Es juliana. Seleccione esta opción para especificar que las fechas se escriben como un valor numérico que contiene el día del calendario juliano. Un día de calendario juliano especifica la fecha como el número de días desde el 1 de enero de 4713 a.C, 12:00 horas (mediodía) GMT.

Hora

Estas propiedades se aplican a las columnas con un tipo de datos de hora, a menos que se alteren temporalmente a nivel de columna. Todas estas son incompatibles con un valor de Formato de datos de Texto.
  • Serie de formato. Especifica el formato de las columnas que representan la hora como una serie. De forma predeterminada, es %hh-%mm-%ss.
  • Es segundos desde medianoche. Seleccione esta opción para especificar que las horas se escriben como un entero binario de 32 bits que contiene el número de segundos transcurridos desde la medianoche anterior.

Indicación de fecha y hora

Estas propiedades se aplican a las columnas con un tipo de datos de indicación de fecha y hora, a menos que se alteren temporalmente a nivel de columna.
  • Serie de formato. Especifica el formato de una columna que representa una indicación de fecha y hora como una serie. El formato combina el formato de series de fecha y series de hora.