Condividi tramite


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 -