Condividi tramite


Messaggi file flat con record posizionali

I record posizionali all'interno di un messaggio di istanza file flat contengono singoli campi (elementi di dati), ciascuno di lunghezza predefinita. I campi vengono analizzati in base a tali lunghezze. Si consideri, ad esempio, il seguente record posizionale di un messaggio di istanza file flat, che contiene un indirizzo di spedizione (nella prima riga è indicato il numero di caratteri riservato per ogni campo).

123456789012345678901234567890123456789012345678901234567890123456789012345  
US        Alice Smith         123 Maple Street    Mill Valley    CA 90952  

Una definizione ragionevole per questo record in uno schema file flat potrebbe essere record posizionale denominato shipTo contenente i seguenti campi:

  • Un attributo denominato country/region allineato a sinistra, lungo 10 caratteri, con offset carattere pari a zero.

  • Un elemento denominato name allineato a sinistra, lungo 20 caratteri, con offset carattere pari a zero.

  • Un elemento denominato street allineato a sinistra, lungo 20 caratteri, con offset carattere pari a zero.

  • Un elemento denominato city allineato a sinistra, lungo 15 caratteri, con offset carattere pari a zero.

  • Un elemento denominato state allineato a sinistra, lungo 2 caratteri, con offset carattere pari a zero.

  • Un elemento denominato zip allineato a sinistra, lungo 5 caratteri, con offset carattere pari a uno.

    Date queste definizioni del record e dei campi, il disassembler del file flat produrrà il seguente codice XML equivalente per il record.

<shipTo country/region="US">  
    <name>Alice Smith</name>  
    <street>123 Maple Street</street>  
    <city>Mill Valley</city>  
    <state>CA</state>  
    <zip>90952</zip>  
</shipTo>  
  

Vi sono vari fattori specifici dei record posizionali che influiscono su come il record viene analizzato quando viene ricevuto e su come viene costruito quando viene trasmesso, tra cui:

  • Il carattere utilizzato per riempire la parte inutilizzata di ciascun campo, vale a dire il carattere di riempimento. Per altre informazioni, vedere Riempimento dei campi.

  • Un tag facoltativo all'interno del record, utilizzato per distinguere il record da altri record analoghi. In genere i tag si trovano all'inizio del record, ma possono occupare qualsiasi posizione al suo interno. Per altre informazioni, vedere Gestione dei tag nei record posizionali. È possibile definire i record posizionali in modo che abbiano o non abbiano un tag, ma una volta definito il tag deve essere presente o assente, in base alla definizione.

  • La modalità di giustificazione dei dati all'interno di un campo di lunghezza fissa, rispetto ai caratteri di riempimento che lo accompagnano. Per altre informazioni, vedere Giustificazione dei campi.

  • Record posizionali annidati all'interno di altri record posizionali o delimitati. Per altre informazioni, vedere Record posizionali annidati.

  • Record posizionali con lunghezze di campo definite con un numero specifico di byte anziché con un numero specifico di caratteri. Per altre informazioni, vedere Conteggio delle posizioni in byte.

    Per comprendere meglio come usare i file flat posizionali, vedere gli esempi nelle cartelle FlatFileReceive e FlatFileSend disponibili in \Programmi\Microsoft BizTalk Server\SDK\Samples\Pipelines\AssemblerDisassembler\.

Nota

Se il file flat contiene record delimitati e posizionali, è necessario impostare la proprietà Structure del nodo radice su Delimited e la proprietà Structure dei nodi record subordinati su Delimited o Positional in base alle esigenze.

Nota

I campi dei record posizionali hanno un limite di 50 milioni di caratteri.

Vedere anche

Struttura di un messaggio file flat
Come creare schemi per i messaggi di file flat