Condividi tramite


Disassemble Inbound Batches

Messaggio in ingresso debatch

Il disassembler SWIFT è in grado di discutere in ingresso in cui elabora o disassembla batch in ingresso (file o messaggi contenenti più messaggi SWIFT). È possibile abilitare il debatching in ingresso usando la proprietà di configurazione del disassembler SWIFT con lo stesso nome. Dopo aver abilitato il debatching in ingresso, il disassembler SWIFT prevede che tutti i messaggi ricevuti siano batch che includono più messaggi SWIFT. Un batch può includere o meno una busta batch (un'intestazione batch e un trailer batch) e ogni singolo messaggio SWIFT all'interno di un batch può o meno includere una busta di messaggio (un'intestazione del messaggio e un trailer del messaggio). È possibile configurare questi attributi batch (formati) usando le proprietà di configurazione del disassembler SWIFT seguenti:

  • Schema intestazione batch

  • Batch Trailer Schema

  • Schema intestazione messaggio

  • Schema trailer messaggio

    Nota

    L'impostazione di una di queste proprietà su "Nessuno" indica che il batch in ingresso non include tale parte specifica.

    Il disassembler SWIFT prevede che tutti i batch in ingresso abbiano la struttura seguente:

    Intestazione batch

    Intestazione messaggio

    Interscambio/messaggio SWIFT (blocchi DA 1 a 5)

    Trailer del messaggio

    Batch Trailer

    All'interno di questa struttura, è possibile considerare un "blocco di messaggi" come le parti Intestazione messaggio - Interscambio SWIFT - Trailer del messaggio . Una serie di "blocchi di messaggi" costituisce i più messaggi SWIFT in un batch. L'intestazione batch, l'intestazione del messaggio, il trailer del messaggio e il trailer batch sono facoltativi, ma devono essere coerenti tra le ripetizioni.

Nota

Non confondere la busta del messaggio (Intestazione messaggio e Trailer messaggio) con l'intestazione SWIFT e i blocchi trailer. Nel contesto dei batch, è necessario visualizzare il messaggio SWIFT (interscambio), inclusi i blocchi di intestazione e trailer SWIFT, come unità olistica (atomica). In questo contesto, l'intestazione del messaggio e il trailer del messaggio fanno riferimento alla busta che esegue il wrapping di ogni messaggio SWIFT in un batch.

Per esprimere questa struttura, le sue opzioni e la sua ripetibilità più formalmente, considerare come A4SWIFT definisce un batch:

  • L'intestazione batch è rappresentata da BH

  • L'intestazione del messaggio è rappresentata da MH

  • L'interscambio SWIFT è rappresentato da SI

  • Il trailer dei messaggi è rappresentato da MT

  • Il trailer batch è rappresentato da BT.

    L'espressione che rappresenta la struttura batch prevista è la seguente:

    [BH] ([MH] SI [MT])* [BT]

    Le parentesi quadre ( [ ] ) indicano che la parte è facoltativa. L'asterisco (*) indica che il blocco è ripetibile. Chiunque crei il batch di messaggi deve usare l'intestazione del messaggio (MH) e il trailer (MT) in modo coerente in ogni ripetizione di ([MH] SI [MT]).

    Il disassembler SWIFT è in grado di elaborare qualsiasi batch in ingresso che obbedisce alla struttura precedente, perché ogni parte della struttura è conforme a uno schema di file flat. Tuttavia, se non si usano l'intestazione/trailer batch facoltativa e l'intestazione/trailer del messaggio, il messaggio non sarà conforme a tali schemi. Di conseguenza, un batch contenente solo messaggi SWIFT consecutivi avrà le proprietà Schema intestazione Batch, Schema trailer batch, Schema intestazione messaggio e Schema trailer messaggio impostate su "Nessuno".

Personalizzare gli schemi per l'invio in batch

È possibile personalizzare gli schemi per l'intestazione/trailer del batch e l'intestazione/trailer del messaggio. Un esempio è il batch seguente:

4  
SWIFT Message # 1  
$  
SWIFT Message # 2  
$  
SWIFT Message # 3  
$  
SWIFT Message # 4  
$  

Per gestire questo tipo di batch, impostare le proprietà dello schema per il batch come indicato di seguito:

  • La proprietà Schema intestazione Batch viene impostata su uno schema di file flat che analizza un numero singolo (conteggio messaggi) delimitato dal ritorno a capo.

  • Lo schema del trailer dei messaggi viene impostato su uno schema di file flat che analizza un singolo simbolo $ e ritorno a capo.

  • È possibile impostare gli schemi della busta rimanenti (Schema trailer batch e Schema intestazione messaggio) su Nessuno.

    È possibile configurare il disassembler SWIFT in modo che elabori solo qualsiasi batch di messaggi SWIFT creando e specificando la combinazione appropriata di schemi envelope flat-file. Questa funzionalità è molto flessibile.

    Il disassembler SWIFT tenta sempre di completare l'elaborazione di un intero batch, anche quando rileva errori lungo la strada. In questo modo è possibile raccogliere e segnalare il maggior numero possibile di errori contemporaneamente. Per eseguire l'euristica "migliore", il disassembler SWIFT deve prendere determinate decisioni e presupposti quando si seleziona lo schema da usare in caso di una nuova parte o se si verifica un errore di analisi. La selezione dello schema corretto non è sempre possibile a seconda della natura e della posizione di un errore di analisi e dell'ambiguità/somiglianza tra gli schemi envelope e gli schemi di interscambio SWIFT. In alcuni casi, è possibile ridurre al minimo la possibilità di selezionare lo schema errato usando schemi envelope ben progettati. Se il disassembler rileva un errore di analisi irreversibile o il disassembler non riesce a determinare lo schema corretto, il disassembler non riuscirà il batch senza elaborare i dati rimanenti.

    Quando il debatching in ingresso è abilitato (impostato su True), il disassembler SWIFT analizza il batch usando gli schemi specificati per la busta batch (schema di intestazione batch e schema trailer batch) e la busta messaggio (schema intestazione messaggio e schema trailer messaggio), nonché lo schema specificato per l'analisi dei messaggi SWIFT (interscambi) nel batch. Per i messaggi SWIFT nel batch, il tipo di messaggio e lo schema possono essere individuati e caricati dinamicamente allo stesso modo dei singoli messaggi non batch (specificando uno schema di intestazione SWIFT). Per altre informazioni su come il disassembler SWIFT esegue la risoluzione dello schema, vedere Individuazione dinamica del tipo di messaggio e risoluzione dello schema.

    Il disassembler SWIFT analizza e convalida ogni messaggio SWIFT in un batch in ingresso singolarmente. Esegue la sequenza di elaborazione batch seguente:

  1. Analizza l'intestazione batch se è stato specificato lo schema dell'intestazione Batch.

  2. Analizza l'intestazione della busta del messaggio se è stato specificato lo schema dell'intestazione del messaggio.

  3. Analizza l'interscambio SWIFT (messaggio).

  4. Convalida il messaggio SWIFT rispetto ai vincoli XML se è stata abilitata la convalida XML.

  5. Convalida il messaggio SWIFT rispetto ai criteri BRE (regole di rete e utilizzo SWIFT) se è stata abilitata la convalida BRE.

  6. Analizza il trailer della busta del messaggio se è specificato lo schema del trailer del messaggio.

  7. Ripete i passaggi da 2 a 6 finché il disassembler non trova altri messaggi nel batch.

  8. Analizza il trailer batch se è stato specificato lo schema del trailer batch.

    È possibile configurare il disassembler SWIFT per eseguire operazioni diverse con i dati batch che analizza e convalida usando le proprietà di configurazione del disassembler SWIFT seguenti:

  • La proprietà Frammentazione determina se il disassembler SWIFT deve pubblicare ogni messaggio nel batch nel database MessageBox singolarmente (ovvero per ogni messaggio, dopo ogni occorrenza del passaggio 6 precedente) o se deve completare tutti i passaggi da 1 a 8 e quindi pubblicare l'intero batch, in formato nativo (copia esatta dell'input), come singolo messaggio al database MessageBox. La frammentazione viene impostata su True per abilitare la frammentazione e pubblicare i messaggi da un batch singolarmente. Impostare Frammentazione su False per disabilitare la frammentazione e pubblicare l'intero batch, in formato nativo, come singolo messaggio solo dopo l'elaborazione dell'intero batch. In genere, impostare Frammentazione su Disabilitatoper gli scenari quando è necessario solo l'acceleratore BizTalk per SWIFT (A4SWIFT) per analizzare e convalidare i batch in ingresso e i batch in ingresso o inoltrati, nello stesso formato che A4SWIFT ricevuto. In genere si imposta Frammentazione su Abilitato per gli scenari in cui si desidera A4SWIFT trasformare o modificare i messaggi all'interno di un batch dopo l'analisi e la convalida oppure quando si desidera A4SWIFT riordinamento dei messaggi in un batch in un ordine diverso da quello in cui A4SWIFT sono stati originariamente ricevuti. È anche possibile impostare Frammentazione su Abilitato per gli scenari in cui un batch in ingresso contiene messaggi con destinazioni finali diverse.

  • La proprietà Preserve Batch Header/Preserve Batch Trailer determina se il disassembler SWIFT deve eliminare o conservare i dati della busta batch (intestazione e trailer) dopo l'analisi. Se si imposta Mantieni intestazione batch o Mantieni trailer batch su True, il disassembler pubblica la parte batch corrispondente (XML analizzato) nel database MessageBox come singoli messaggi. Il disassembler pubblica i dati nella parte del corpo del messaggio in più parti. Il disassembler promuove proprietà di contesto speciali in modo che BizTalk Server possa correlare questi messaggi al batch da cui provengono e la posizione ordinale in cui si trovavano all'interno del batch (prima posizione per l'intestazione batch, ultima posizione per il trailer del batch). Se si imposta Mantieni intestazione batch o Mantieni trailer batch su False, il disassembler rimuove la parte batch corrispondente (dati analizzati) dopo l'analisi.

    Nota

    Queste proprietà di configurazione sono valide solo quando la frammentazione è abilitata (frammentazione impostata su True). Quando la frammentazione è disabilitata, il disassembler pubblica una copia esatta dell'intero batch, in formato nativo, nel database MessageBox, in modo che le impostazioni di conservazione siano irrilevanti (tutto viene mantenuto).

  • La proprietà Preserve Message Header / Preserve Message Trailer determina se il disassembler SWIFT deve eliminare o conservare le buste del messaggio (intestazioni e trailer del messaggio) dopo l'analisi. Se si imposta Mantieni intestazione messaggio o Mantieni trailer messaggi su True, il disassembler pubblica la parte batch corrispondente (XML analizzato) nel database MessageBox insieme al singolo messaggio SWIFT che esegue il wrapping. Il disassembler pubblica le intestazioni della busta messaggio nella parte di intestazione del messaggio in più parti. Il disassembler pubblica trailer della busta di messaggi nella parte trailer del messaggio in più parti. Il disassembler pubblica il messaggio SWIFT contenuto nella busta del messaggio nella parte del corpo dello stesso messaggio in più parti. Il disassembler promuove proprietà di contesto speciali in modo che BizTalk Server possa correlare questi messaggi al batch da cui provengono e la posizione ordinale in cui si trovavano all'interno del batch. Se si imposta Mantieni intestazione messaggio o Mantieni trailer messaggi su False, il disassembler rimuove la parte batch corrispondente (dati analizzati) dopo l'analisi.

    Nota

    Queste proprietà di configurazione sono valide solo quando la frammentazione è abilitata (frammentazione impostata su True). Quando la frammentazione è disabilitata, il disassembler pubblica una copia esatta dell'intero batch, in formato nativo, nel database MessageBox, in modo che le impostazioni di conservazione siano irrilevanti (tutto viene mantenuto).

    Per altre informazioni su ogni proprietà di configurazione, oltre ad altre informazioni sull'utilizzo e sulla configurazione, vedere Proprietà di configurazione del disassembler SWIFT. Per altre informazioni sulla pubblicazione del database MessageBox e sui messaggi in più parti, vedere BizTalk Server Guida.

Passaggio successivo

Proprietà innalzate di livello correlate al batch