Set di caratteri EDI
BizTalk Server usa un set di caratteri per convalidare un intero interscambio EDI. I set di caratteri utilizzati per un messaggio con codifica X12 e un messaggio con codifica EDIFACT o KEDIFACT vengono determinati in modi diversi.
Set di caratteri EDIFACT
Un interscambio con codifica EDIFACT è autodescrittivo in termini di set di caratteri. Viene utilizzato l'elemento dati UNB1. Poiché in EDIFACT è necessario che i nomi tag e i separatori/delimitatori siano tipi ASCII, risulta possibile individuare UNB1 per applicare la tabella codici pertinente per l'interscambio rimanente.
Quando si elabora un messaggio EDIFACT in ingresso, BizTalk Server determina il set di caratteri da usare per tale messaggio dall'elemento dati UNB1. Non è necessaria alcuna impostazione nell'accordo di trading partner.
Quando si elabora un messaggio EDIFACT in uscita, BizTalk Server usa il carattere impostato nel contratto partner commerciale o nel contratto di fallback. È stato impostato l'elemento dati UNB1 nella pagina Charset e Separatori nelle schede contratto bidirezionale (se è definito un contratto) o nella pagina Charset and Separators nella scheda contratto della finestra di dialogo Impostazioni di fallback EDIFACT (se non è definito alcun contratto). UNB1.1 è un elemento dati composito obbligatorio detto identificatore di sintassi. UNB1.2 è la versione del set di caratteri EDIFACT. L'elemento dati UNB1 viene inoltre utilizzato per convalidare i valori immessi per le proprietà nell'interfaccia utente di gestione dei trading partner quando viene salvato l'intero set di proprietà, non quando si esce da un campo utilizzando il tasto TAB o si visualizza una pagina diversa.
I set di caratteri disponibili sono KECA, UNOA, UNOB, UNOC, UNOD, UNOE, UNOF, UNOG, UNOH, UNOI, UNOJ, UNOK, UNOX e UNOY. Il valore predefinito è UNOB. Il set di caratteri completo per questi livelli è specificato nelle regole di sintassi EDIFACT ISO 9735.
Nota
Se in un interscambio in ingresso o in uscita viene riscontrato il set di caratteri UNOC, il disassembler EDI o l'assembler EDI dovrà utilizzare la tabella codici Latin-1, invece della tabella codici UTF-8, poiché UTF-8 non è un soprainsieme di UNOC. Alcuni caratteri, accettabili in UNOC, provocheranno la sospensione dell'interscambio se elaborato come UTF-8.
I caratteri in alcuni set di caratteri EDIFACT possono essere DBCS, in altri invece possono essere caratteri a un byte. Pertanto, quando si impostano i criteri di rilascio per i batch in base al numero di caratteri nell'interscambio, il numero di byte nell'interscambio può variare a seconda del set di caratteri utilizzato.
Il segmento UNA e il nome segmento UNB sono limitati ai valori presenti nel set di caratteri ASCII.
Set di caratteri KEDIFACT
Come per EDIFACT, il set di caratteri per un interscambio con codifica KEDIFACT viene stabilito nell'elemento dati UNB1. Come per EDIFACT, il set di caratteri da applicare da BizTalk Server quando si elabora un interscambio KEDIFACT viene stabilito nell'elemento dati UNB1 della pagina Charset e Separatori nelle schede contratti bidirezionali (se è definito un contratto) o la pagina Charset and Separators nella scheda contratto della finestra di dialogo Impostazioni di fallback EDIFACT (se non è definito alcun contratto). Il valore dell'elemento Identifier (UNB1.1) deve essere impostato su KECA.
Set di caratteri X12
Quando la pipeline di ricezione o la pipeline di trasmissione BizTalk esegue la convalida EDI di un messaggio con codifica X12, utilizza il set di caratteri X12 selezionato nella proprietà CharacterSet della pipeline. Per impostare questa proprietà, aprire la finestra di dialogo Proprietà dell'indirizzo di ricezione o della porta di trasmissione, fare clic sui puntini di sospensione accanto alla pipeline di ricezione o di trasmissione e quindi impostare la proprietà CharacterSet per il disassembler o l'assembler.
La proprietà CharacterSet della pipeline viene utilizzata per convalidare un interscambio X12 perché, diversamente da EDIFACT o KEDIFACT, un interscambio con codifica X12 non è autodescrittivo in termini di set di caratteri. La lettura dell'intestazione ISA con la codifica ISO o UTF può dare origine a valori diversi per la ricerca dell'accordo. BizTalk deve pertanto conoscere il set di caratteri applicabile da utilizzare nell'elaborazione del messaggio prima della ricerca dell'accordo, poiché in tal caso otterrebbe il set di caratteri applicabile per l'accordo.
Specificare il set di caratteri X12 da utilizzare per la convalida del contratto nella pagina Charset e Separatori nella scheda contratto bidirezionale (se è definito un contratto) o nella pagina Charset e Separators nella scheda contratto di fallback della finestra di dialogo Impostazioni fallback X12 (se non è definito alcun contratto). BizTalk, tuttavia, utilizza queste impostazioni per convalidare i valori immessi per le proprietà correlate solo quando viene salvato l'intero set di proprietà, non quando si esce da un campo utilizzando il tasto TAB o si visualizza una pagina diversa. La pipeline di ricezione o la pipeline di trasmissione ignorerà queste proprietà del set di caratteri.
Nota
Se il set di caratteri specificato nell'accordo o nell'accordo di fallback non corrisponde al set di caratteri selezionato per la pipeline di ricezione o di trasmissione, possono verificarsi errori di convalida del messaggio. La proprietà del set di caratteri X12 nell'accordo, ad esempio, potrebbe essere impostata su Esteso, mentre nelle proprietà della pipeline potrebbe essere impostata su Di base.
I set di caratteri disponibili sono quello di base e quello esteso, come illustrato nelle specifiche e nelle guide all'implementazione di X12, nonché UTF8/Unicode. Il valore predefinito è UTF8.
Nota
I valori immessi per il separatore di elementi dati, per il separatore di elementi componente e per il carattere di terminazione segmento nell'accordo bidirezionale o nell'accordo di fallback sono limitati ai valori presenti nel set di caratteri ASCII. Queste proprietà non vengono convalidate a fronte del set di caratteri X12.
Il set di caratteri Basic include le lettere maiuscole, le cifre, lo spazio e i caratteri speciali seguenti: A tramite Z, da 0 a 9, ! " & ' ( ) * + , - . / : ; ? = (spazio).
Il set di caratteri estesi include i caratteri nel set di caratteri Basic e lettere minuscole, selezionare caratteri linguistici e altri caratteri speciali: a through z, % @ [ ] _ { } \ | <> ~ $ .