Messaggio CONTRL EDIFACT come riconoscimento funzionale
Se si è scelto di generare un riconoscimento funzionale nelle impostazioni del profilo business o nell'accordo di trading partner (o in un accordo di fallback in caso non sia stato definito alcun accordo tra i due profili business) oppure se il campo UNB9 del messaggio è impostato su "1", verrà generato un messaggio CONTRL come riconoscimento funzionale (ACK). In tale ACK vengono segnalati i risultati dei controlli della sintassi dell'interscambio.
L'ACK funzionale CONTRL include i segmenti seguenti:
Intestazione del messaggio UNH (obbligatorio).
Segmento UCI che identifica l'interscambio dell'oggetto, indica lo stato di ricezione dell'interscambio e contiene riferimenti ai segmenti UNA, UNB e UNZ dell'interscambio ricevuto (obbligatorio). L'occorrenza massima del segmento UCI è impostata su 1, pertanto tale segmento segnala il primo errore rilevato in uno dei segmenti di controllo.
Segmento UCF che identifica un segmento di gruppo (incapsulato dall'intestazione UNG e dal trailer UNE) e indica la natura degli eventuali errori (obbligatorio se è presente il segmento UNG).
Segmento UCM che identifica un segmento di messaggio (incapsulato dall'intestazione UNH e dal trailer UNT) e indica la natura degli eventuali errori (obbligatorio).
Segmento UCS che identifica un set di transazioni e indica la natura degli eventuali errori (obbligatorio).
Segmento UCD che identifica un elemento dati composito o componente errato e indica la natura dell'errore (condizionale).
Trailer del messaggio UNT (obbligatorio).
Se un riconoscimento funzionale CONTRL ricevuto contiene solo segmenti UNH, UCI e UNT, la pipeline EDIReceive lo elaborerà come riconoscimento di ricezione (tecnico) CONTRL.
Ogni istanza di un segmento a livello di segnalazione errori (ovvero i segmenti UCI, UCF, UCM, UCS e UCD) può segnalare un solo errore.
Nota
Il messaggio CONTRL contiene diversi elementi dati obbligatori che verranno copiati dall'interscambio ricevuto. Se l'elemento dati nell'interscambio è mancante o sintatticamente non valido, non sarà possibile generare un messaggio CONTRL con sintassi valida. L'errore dovrà quindi essere segnalato in un altro modo che non preveda l'utilizzo di un messaggio CONTRL.
Nota
In BizTalk Server, un messaggio CONTRL (conferma di ricezione, accettazione o rifiuto) viene inviato in risposta a un interscambio ricevuto che contiene solo uno o più messaggi CONTRL. In BizTalk Server 2013 R2, non viene inviato alcun messaggio CONTRL (conferma di ricezione, accettazione o rifiuto) in risposta a un interscambio ricevuto che contiene solo uno o più messaggi CONTRL. Gli errori nei messaggi CONTRL ricevuti devono essere segnalati in un modo che non preveda l'utilizzo di un messaggio CONTRL. Se uno o più messaggi CONTRL sono contenuti in un interscambio che contiene messaggi dati, il messaggio CONTRL generato in risposta a tale interscambio verrà generato come se l'interscambio ricevuto non contenesse alcun messaggio CONTRL.
Cicli SG
L'ACK funzionale CONTRL sarà strutturato in modo diverso a seconda che l'interscambio ricevuto includa uno o più gruppi. Se l'interscambio include un gruppo, l'ACK conterrà un segmento UCF per ogni gruppo. Ogni segmento UCF conterrà a sua volta un segmento UCM per ogni messaggio e ogni segmento UCM includerà una serie di segmenti UCS e UCD abbinati.
Il formato XML del messaggio ACK includerà un elemento SG3Loop che incapsula ogni segmento UCF, un elemento SG4Loop che incapsula ogni elemento UCM e un elemento SG5Loop che incapsula ogni coppia di elementi UCS e UCD. I tag dei cicli SG non sono presenti nel formato EDI nativo del messaggio.
Se l'interscambio non include un gruppo, l'ACK non conterrà alcun segmento UCF. Includerà invece un segmento UCM per ogni messaggio e ogni segmento UCM includerà a sua volta una serie di segmenti UCS e UCD abbinati.
Il formato XML del messaggio ACK includerà un elemento SG1Loop che incapsula ogni segmento UCM e un elemento SG2Loop che incapsula ogni coppia di elementi UCS e UCD. Analogamente agli interscambi che includono gruppi, i tag SG non sono presenti nel formato nativo dell'ACK.
Nota
Per impostazione predefinita e in base all'utilizzo nel settore, i cicli SG1/SG4 non sono previsti per i set di transazioni accettati. Tuttavia, per supportare la conformità agli standard, è possibile forzare la generazione di SG1/SG4 selezionando la casella di controllo Genera ciclo SG1/SG4 per set di transazioni accettati nella pagina Riconoscimenti della finestra di dialogo Proprietà contratto per un contratto tra due profili di business (o la pagina Riconoscimenti della scheda Impostazioni EDI per un profilo aziendale). Se questa casella di controllo è selezionata, la pipeline di ricezione genererà cicli SG1/SG4 a seconda che il set di transazioni venga accettato o rifiutato. In caso contrario, tali cicli verranno generati solo per i set di transazioni errati (per i quali UCM5 ! = 7).
Elementi dati
L'ACK funzionale CONTRL include gli elementi dati seguenti:
Elemento Data | Nome | Utilizzo |
---|---|---|
UNH1 | Numero di riferimento del messaggio | - |
UNH2 | Sottocomponenti dell'ID del messaggio | I sottocomponenti sono: - 1 = CONTRL - 2 = 4 - 3 = 1 - 4 = UN |
UCI1 | Numero di controllo interscambio | Mappato dal campo UNB5 del messaggio ricevuto. |
UCI2 | Mittente interscambio | Mappato dal campo UNB2 del messaggio ricevuto. Il primo sottocomponente (identificazione) è obbligatorio. Il secondo sottocomponente (qualificatore codice) e il terzo (indirizzo di routing inverso) sono facoltativi. |
UCI3 | Destinatario interscambio | Mappato dal campo UNB3 del messaggio ricevuto. Il primo sottocomponente (identificazione) è obbligatorio. Il secondo sottocomponente (qualificatore codice) è facoltativo. |
UCI4 | Codice di azione | I codici di azione sono: - 8 se l'interscambio è accettato - 7 se l'interscambio viene accettato, ma alcuni set di transazioni vengono rifiutati - 4 se l'interscambio viene rifiutato a causa di un errore nel segmento UNA o UNB Si tratta di un elemento dati obbligatorio. |
UCI5 | Codice di errore di sintassi | Identifica la condizione di errore (se presente) nella ricezione dell'interscambio. Per altre informazioni, vedere Codici di errore di riconoscimento CONTRL EDIFACT. Questo elemento dati è facoltativo di tipo condizionale. |
UCI6 | Tag segmento di servizio | Identifica il segmento che contiene la condizione di errore identificata nell'elemento dati UCI.5. Questo elemento dati è facoltativo di tipo condizionale. |
UCI7 | Identificazione dell'elemento dati | Identifica gli elementi dati che contengono la condizione di errore identificata nell'elemento dati UCI.5. I sottocomponenti di UCI7 sono: - Posizione dell'elemento dati errato nel segmento (obbligatorio) - Posizione dell'elemento dati errato del componente nel segmento (facoltatività condizionale) - Occorrenza di un elemento dati errato nel segmento (facoltatività condizionale) |
UCI8 | - | - |
UCF1 | Numero di riferimento di gruppo | Mappato dal campo UNG5 del messaggio ricevuto. Si tratta di un elemento dati obbligatorio. |
UCF2 | Identificazione del mittente dell'applicazione | Mappato dal campo UNG2 del messaggio ricevuto insieme ai sottocomponenti Si tratta di un elemento dati condizionale. |
UCF3 | Identificazione del destinatario dell'applicazione | Mappato dal campo UNG3 del messaggio ricevuto insieme ai sottocomponenti. Si tratta di un elemento dati condizionale. |
UCF4 | Codice di azione | I codici di azione sono: - 7 se l'interscambio è accettato - 4 se l'interscambio viene rifiutato a causa di un errore nel segmento UNA o UNB Il codice si applica a questo livello e a tutti i livelli inferiori. Si tratta di un elemento dati obbligatorio. |
UCF5 | Codice di errore di sintassi | Identifica la condizione di errore nel gruppo (se presente). Per altre informazioni, vedere Codici di errore di riconoscimento CONTRL EDIFACT. Questo elemento dati è facoltativo di tipo condizionale. |
UCF6 | Tag segmento di servizio | Identifica il segmento errato nel gruppo. Questo elemento dati è facoltativo di tipo condizionale. |
UCF7 | Identificazione dell'elemento dati | Identifica gli elementi dati che contengono la condizione di errore identificata nell'elemento dati UCF5. I sottocomponenti di UCF7 sono: - Posizione dell'elemento dati errato nel segmento (obbligatorio) - Posizione dell'elemento dati del componente errato nel segmento (facoltatività condizionale) - Occorrenza dell'elemento dati errato nel segmento (obbligatorio) |
UCM1 | Numero di riferimento del messaggio | Mappato dal campo UNH1 del messaggio ricevuto. Si tratta di un elemento dati obbligatorio. |
UCM2 | Identificatore del messaggio | Mappato dal campo UNH2 del messaggio ricevuto insieme ai sottocomponenti. Si tratta di un elemento dati condizionale. |
UCM3 | Codice di azione | I codici di azione sono: - 7 se l'interscambio è accettato - 4 se l'interscambio viene rifiutato a causa di un errore nel segmento UNA o UNB Il codice si applica a questo livello e a tutti i livelli inferiori. Si tratta di un elemento dati obbligatorio. |
UCM4 | Codice di errore di sintassi | Identifica la condizione di errore nel gruppo (se presente). Per altre informazioni, vedere Codici di errore di riconoscimento CONTRL EDIFACT. Questo elemento dati è facoltativo di tipo condizionale. |
UCM5 | Tag segmento di servizio | Identifica il segmento UNH o UNT errato. Questo elemento dati è facoltativo di tipo condizionale. |
UCM7 | Identificazione dell'elemento dati | Identifica gli elementi dati che contengono la condizione di errore identificata nell'elemento dati UCM5. I sottocomponenti di UCM7 sono: - Posizione dell'elemento dati errato nel segmento (obbligatorio) - Posizione dell'elemento dati del componente errato nel segmento (facoltatività condizionale) - Occorrenza dell'elemento dati errato nel segmento (obbligatorio) |
UCS1 | Posizione del segmento nel corpo del messaggio | Conteggio della posizione del segmento errato, a partire da UNH come 1. Per segnalare che manca un segmento, si tratta della posizione numerica dell'ultimo segmento elaborato prima della posizione in cui è previsto che il segmento mancante sia. Per indicare un gruppo di segmenti mancante, viene identificato come mancante il primo segmento del gruppo. Si tratta di un elemento dati obbligatorio. |
UCS2 | Codice di errore di sintassi | Identifica la condizione di errore nel gruppo (se presente). Per altre informazioni, vedere Codici di errore di riconoscimento CONTRL EDIFACT. Questo elemento dati è facoltativo di tipo condizionale. |
UCD1 | Codice di errore di sintassi | Identifica la condizione di errore nel gruppo (se presente). Per altre informazioni, vedere Codici di errore di riconoscimento CONTRL EDIFACT. Questo elemento dati è facoltativo di tipo condizionale. Nota: Se si verifica un errore di convalida XSD, l'elemento dati UCD1 segnala un valore di codice pari a 12, Valore non valido. |
UCD2 | Identificazione dell'elemento dati | Identifica gli elementi dati che contengono la condizione di errore identificata nell'elemento dati UCD1. I sottocomponenti di UCD2 sono: - Posizione dell'elemento dati errato nel segmento (obbligatorio) - Posizione dell'elemento dati del componente errato nel segmento (facoltatività condizionale) - Occorrenza dell'elemento dati errato nel segmento (obbligatorio) |
UNT1 | Numero di segmenti | - |
UNT2 | Numero di riferimento del messaggio | - |