Mensajes de archivo sin formato con registros posicionales
Los registros posicionales dentro de un mensaje de instancia de archivo sin formato contienen campos (elementos de datos) y cada uno de ellos tiene una longitud predefinida. Los campos se analizan según estas longitudes. Por ejemplo, considere el siguiente registro posicional de un mensaje de instancia de archivo sin formato que contiene una dirección de envío (la primera línea muestra el número de caracteres reservados para cada campo).
123456789012345678901234567890123456789012345678901234567890123456789012345
US Alice Smith 123 Maple Street Mill Valley CA 90952
Una definición razonable para este registro en un esquema de archivo sin formato se puede describir como un registro posicional llamado shipTo que contiene los campos siguientes:
Un atributo denominado country/region, alineado a la izquierda, de 10 caracteres de longitud y con un desplazamiento de caracteres de cero.
Un elemento denominado name, alineado a la izquierda, de 20 caracteres de longitud y con un desplazamiento de caracteres de cero.
Un elemento denominado street, alineado a la izquierda, de 20 caracteres de longitud y con un desplazamiento de caracteres de cero.
Un elemento denominado city, alineado a la izquierda, de 15 caracteres de longitud y con un desplazamiento de caracteres de cero.
Un elemento denominado state, alineado a la izquierda, de 2 caracteres de longitud y con un desplazamiento de caracteres de cero.
Un elemento denominado zip, alineado a la izquierda, de 5 caracteres de longitud y con un desplazamiento de caracteres de cero.
Según estas definiciones de registros y campos, el desensamblador de archivos sin formato creará el siguiente XML equivalente de este registro.
<shipTo country/region="US">
<name>Alice Smith</name>
<street>123 Maple Street</street>
<city>Mill Valley</city>
<state>CA</state>
<zip>90952</zip>
</shipTo>
Existen varias cuestiones que es necesario tener en cuenta en relación con los registros posicionales, y que afectan a la forma de analizar el registro cuando se recibe y a la forma de construirlo cuando se envía, entre ellas:
El carácter utilizado para rellenar la parte no utilizada de cada campo, conocido como carácter controlador. Para obtener más información, vea Relleno de campos.
Una etiqueta opcional dentro del registro para distinguir el registro de otros similares. Normalmente, las etiquetas se encuentran al comienzo del registro, aunque se pueden situar en cualquier parte del mismo. Para obtener más información, vea Control de etiquetas en registros posicionales. Los registros posicionales se pueden definir de modo que tengan o no tengan etiquetas, pero una vez definidos, deben contener o no etiquetas según la definición establecida.
Modo de justificar los datos en un campo de longitud fija con respecto a los caracteres controladores existentes. Para obtener más información, vea Justificación de campo.
Registros posicionales anidados dentro de otros registros posicionales o delimitados. Para obtener más información, consulte Registros posicionales anidados.
Registros posicionales con longitudes de campo especificadas como un número determinado de bytes en vez de como un número específico de caracteres. Para obtener más información, vea Recuento de posiciones en bytes.
Para ayudarle a comprender mejor cómo trabajar con archivos planos posicionales, consulte los ejemplos de las carpetas FlatFileReceive y FlatFileSend ubicadas en \Archivos de programa\Microsoft BizTalk Server\SDK\Samples\Pipelines\AssemblerDisassembler\.
Nota
Si el archivo plano contiene registros delimitados y posicionales, debe establecer la propiedad Structure del nodo raíz en Delimited y la propiedad Structure de los nodos de registro subordinados en Delimited o Positional según corresponda.
Nota
Los campos de los registros posicionales tienen una limitación de 50.000.000 caracteres.
Consulte también
Estructura de un mensaje de archivo sin formato
Cómo crear esquemas para mensajes de archivo plano