Etapa de destino externo: Sección de formatoDataStage®)
La sección Formato le permite proporcionar información sobre el formato de los datos que está grabando.
La sección Formato tiene un formato similar a la sección Propiedades.
Si no modifica ninguno de los valores de Formato, la etapa External Target generará un archivo con el formato siguiente:
- Los datos constan de columnas de longitud variable 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.
Puede utilizar el elemento Formato como del menú de acceso directo en la pestaña Formato para cambiar rápidamente a un formato de columna de anchura fija, utilizando líneas nuevas de DOS como delimitadores de fila o generando un archivo de formato COBOL.
Para cambiar las propiedades individuales, seleccione un tipo de propiedad en el árbol principal y, a continuación, añada las propiedades que desea establecer en la estructura de árbol pulsando sobre ellas en Propiedades disponibles para establecer ventana. A continuación, puede establecer un valor para dicha propiedad en el recuadro Valor de propiedad. Aparece la ayuda emergente para cada una de las propiedades disponibles si pasa el puntero del ratón sobre ellas.
Esta descripción utiliza los términos "registro", "fila", "campo" y "columna" indistintamente.
Las secciones siguientes listan los tipos de propiedad y las propiedades disponibles para cada tipo.
Nivel de registro
- Carácter de relleno. Especifique un carácter ASCII o un valor en el rango de 0 a 255. También puede elegir Espacio o Null en una lista desplegable. Este carácter se utiliza para rellenar los vacíos en un registro escrito debidos a propiedades de posicionamiento de columna. Se establece en 0 de forma predeterminada (que es el carácter NULL). Por ejemplo, para establecerlo en un espacio, también puede escribir el carácter de espacio o especificar 32. Tenga en cuenta que este valor está restringido a un byte, por lo que no puede especificar un carácter Unicode de varios bytes.
- Serie de delimitador final. Especifique una serie que se escribirá después de la última columna de un registro en lugar del delimitador de columna. Especifique uno o varios caracteres; precederán al delimitador de registro si se utiliza uno. Es mutuamente excluyente con el delimitador final, que es el valor predeterminado. Por ejemplo, si establece Delimitador en coma y Serie de delimitador final en `, ` (espacio de coma; no es necesario especificar las comas invertidas), todos los campos están delimitados por una coma, excepto el campo final, que está delimitado por una coma seguida de un carácter de espacio ASCII.
- Delimitador final. Especifique el carácter individual que se escribirá después de la última columna de un registro, en lugar del delimitador de campo. Escriba un carácter o seleccione uno de los siguientes: espacio en blanco, final, ninguno, nulo, tabulación o coma. Consulte el siguiente diagrama para ver una ilustración.
- espacio en blanco. La última columna de cada registro no incluirá ningún espacio en blanco final que se encuentre al final del registro.
- final. La última columna de cada registro no incluye el delimitador de campo. Este es el valor predeterminado.
- none. La última columna de cada registro no tiene un delimitador; se utiliza para 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 la etapa solo puede modificar las columnas nombradas en el esquema. 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 Propiedades. Esta propiedad tiene una propiedad dependiente, Comprobar intacta, pero no es relevante para los enlaces de entrada.
- Serie de delimitador de registro. Especifique la serie que se escribirá al final de cada registro. Especifique uno o más caracteres. Se excluye mutuamente con el delimitador de registro, que es el valor predeterminado, el tipo de registro y el prefijo de registro.
- Delimitador de registro. Especifique el carácter único que se va a escribir al final de cada registro. Escriba un carácter o seleccione uno de los siguientes:
- UNIX Newline (el valor predeterminado)
- nulo
(Para implementar una nueva línea de DOS, utilice la propiedad de serie de delimitador de registro establecida en "\R\N" o elija
en el menú de acceso directo.)Nota: 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 escriben 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. No se utiliza de forma predeterminada (los archivos predeterminados están delimitados por comas). El registro se rellena hasta la longitud especificada con ceros o el carácter de relleno si se ha especificado uno.
- 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. Se excluye mutuamente con el delimitador de registro, que es el valor predeterminado, con la serie de delimitador de registro y con 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 han analizado todas las columnas definidas por el esquema. La propiedad variable permite especificar uno de los siguientes formatos bloqueados o distribuidos 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
- Longitud real del campo. Especifica el número de bytes que se deben rellenar con el carácter de relleno cuando un campo se identifica como nulo. Cuando IBM DataStage identifica un campo nulo, escribirá un campo de esta longitud formado por caracteres de relleno. Se excluye mutuamente con un valor de campo nulo.
- 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.
- 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 "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 una serie que se escribirá 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 se especifica `, ` (espacio de coma; no es necesario especificar las comas invertidas), cada campo estará delimitado por `, ` a menos que se altere temporalmente para campos individuales.
- Longitud de campo nula. La longitud en bytes de un campo de longitud variable que contiene un valor nulo. Cuando se escribe un campo de longitud variable, IBM DataStage escribe un valor de longitud de campo nula si el campo contiene un valor nulo. Esta propiedad se excluye mutuamente con un valor de campo nulo.
- Valor de campo nulo. Especifica el valor escrito en el campo nulo si el origen se establece en nulo. 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.
El valor de campo nulo tiene una subpropiedad denominada Separador de valor de campo nulo. Está indicada para los datos de salida y debe ignorarse en las pestañas Formato que pertenecen a enlaces de entrada.
- Bytes de prefijo. Especifica que cada columna tiene como prefijo 1, 2 o 4 bytes que contienen, como valor binario, la longitud de la columna o el valor de etiqueta para un campo etiquetado.
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 inserta el prefijo antes de cada campo.
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 no es relevante para los enlaces de entrada.
- 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 escribir, IBM DataStage inserta el carácter de comilla inicial, los datos y un carácter de comilla final. Los caracteres de comillas no se cuentan como parte de la longitud de un campo.
- Prefijo vectorial. Para los campos que son vectores de longitud variable, especifica un prefijo de 1, 2 o 4 bytes que 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 inserta el recuento de elementos como prefijo de cada campo de vector de longitud variable. De forma predeterminada, se supone que la longitud del prefijo es de un byte.
Valores predeterminados del tipo
Son propiedades que se aplican a todas las columnas de un tipo de datos específico a menos que se alteren temporalmente específicamente a nivel de columna. Se dividen en un varios subgrupos según el tipo de datos.
General
- 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 a 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 que deben escribirse 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 %yyyy-%mm-%dd %hh:%nn:%ss o el formato de fecha predeterminado, si ha definido uno nuevo en un sistema NLS.
- Anchura máxima de campo. El número máximo de bytes en una columna representada 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 representado 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)
Importante: Si utiliza columnas de caracteres Unicode, debe calcular la longitud de campo en bytes y especificar ese valor en la propiedad de columna Ancho de campo. - Carácter de relleno. Especifica el carácter de relleno utilizado cuando se escriben series o valores numéricos en una representación de serie externa. Especifique un carácter (un solo byte para las series, puede ser de varios bytes para las series ustrings) o elija un valor nulo o un espacio. El carácter de relleno se utiliza cuando la representación de serie externa es mayor que la necesaria para contener el campo escrito. En este caso, la serie externa se rellena con el carácter de relleno hasta su longitud completa. El espacio es el valor predeterminado. Se aplica a tipos de datos de serie, ustring y numéricos, y tipos de registro, subregistro o etiquetado si contienen al menos un campo de este tipo.
- 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
- Exportar EBCDIC como ASCII. Seleccione esta opción para especificar que los caracteres EBCDIC se escriben como caracteres ASCII. Se aplica a los campos del tipo de datos de serie y los campos de registro, subregistro o etiquetado si contienen al menos un campo de este tipo.
- Importar ASCII como EBCDIC. No es relevante para los enlaces de entrada.
Decimal
- 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 las columnas decimales contienen datos en formato decimal empaquetado (el valor predeterminado). Tiene las siguientes subpropiedades:
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 escribir columnas decimales. Seleccione No para escribir un signo positivo (0xf) independientemente del valor de signo real de las columnas.
- No (aparte) para especificar que contienen un decimal desempaquetado con un byte de signo separado. Tiene la siguiente subpropiedad:
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 siguiente subpropiedad:
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 siguiente subpropiedad:
Posición de signo. Elija el principio o el final según corresponda.
- Sí, para especificar que las columnas decimales contienen datos en formato decimal empaquetado (el valor predeterminado). Tiene las siguientes subpropiedades:
- Precisión. Especifica la precisión con la que se escribe una columna decimal en formato de texto. Especifique un número. Cuando se escribe un decimal en una representación de serie, IBM DataStage utiliza la precisión y la escala definidas para el campo decimal de origen para determinar la longitud de la serie de destino. Las propiedades de precisión y escala alteran temporalmente este valor predeterminado. Cuando se definen, IBM DataStage trunca o rellena el decimal de origen para ajustar el tamaño de la serie de destino. Si también ha especificado la propiedad de anchura de campo, IBM DataStage trunca o rellena el decimal de origen para que se ajuste al tamaño especificado por la anchura de campo.
- Redondeo. Especifica cómo redondear una columna decimal al escribirla. 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 en 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 cómo redondear un decimal de origen cuando su precisión y escala son mayores que las del destino. De forma predeterminada, cuando IBM DataStage escribe un decimal de origen en una representación de serie, utiliza la precisión y la escala definidas para el campo decimal de origen para determinar la longitud de la serie de destino. Puede alterar temporalmente el valor predeterminado utilizando las propiedades de precisión y escala. Cuando lo hace, IBM DataStage trunca o rellena el decimal de origen para ajustar el tamaño de la serie de destino. Si también ha especificado la propiedad de anchura de campo, IBM DataStage trunca o rellena el decimal de origen para que se ajuste al tamaño especificado por la anchura de campo.
Numérico
- C_format. Realice la conversión no predeterminada de datos de coma flotante o datos de entero en una serie. Esta propiedad especifica una serie de formato de lenguaje C que se utiliza para escribir series de entero o coma flotante. Esta serie se pasa a sprintf(). Por ejemplo, si especifica un formato C de %x y una anchura de campo de 8, se asegura de que los enteros se escriban como series hexadecimales de 8 bytes.
- In_format. Esta propiedad no es relevante para los enlaces de entrada..
- Out_format. Serie de formato utilizada para la conversión de datos de entero o coma flotante en una serie. Esta serie se pasa a sprintf(). De forma predeterminada, IBM DataStage invoca la función C sprintf() para convertir un campo numérico formateado como datos de entero o de coma flotante en una serie. Si esta función no genera datos en un formato satisfactorio, puede especificar la propiedad out_format para pasar los argumentos de formato a sprintf().
Fecha
- Días desde. Las fechas se escriben como un entero firmado que contiene el número de días desde la fecha especificada. Especifique una fecha con el formato %yyyy-%mm-%dd.
- 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
- Serie de formato. Especifica el formato de las columnas que representan la hora como una serie.
- 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
- Serie de formato. Especifica el formato de una columna que representa una indicación de fecha y hora como una serie. El valor predeterminado es %yyyy-%mm-%dd %hh:%nn:%ss. El formato combina el formato de series de fecha y series de hora.