Condividi tramite


Procedura dettagliata (X12): trasmissione di interscambi EDI in batch

Questa procedura dettagliata fornisce un set di procedure dettagliate che creano una soluzione per l'invio di interscambi EDI in batch da una parte a un'altra usando BizTalk Server.

Prerequisiti

È necessario essere connessi come membro del gruppo Administrators BizTalk Server o BizTalk Server gruppo Operatori B2B.

Trasmissione di interscambi EDI in batch tramite la soluzione

Verranno eseguite le operazioni seguenti:

  1. La posizione di ricezione riceve un interscambio EDI da una parte A.

    Nota

    Gli eventi riportati nell'elenco possono verificarsi in un ordine diverso rispetto a quello visualizzato.

  2. La pipeline di ricezione converte il formato EDI dell'interscambio nel formato XML interno. La pipeline di ricezione determina che l'interscambio deve essere trasmesso in batch. Di conseguenza, il componente BatchMarkerReceivePipeline promuove le EDI.ToBeBatched==True proprietà e EDI.BatchId . e quindi inserisce l'interscambio in MessageBox.

  3. L'orchestrazione batch recupera l'interscambio ricevuto da MessageBox, perché sottoscrive il messaggio in EDI.ToBeBatched==True base a e EDI.BatchId==%BatchID%.

  4. L'indirizzo di ricezione riceve un secondo interscambio EDI dalla stessa entità che ha trasmesso il primo interscambio.

  5. L'indirizzo di ricezione elabora l'interscambio come indicato al passaggio 2 e quindi lo inserisce in MessageBox.

  6. L'orchestrazione batch recupera l'interscambio come indicato al passaggio 3.

  7. Dopo aver soddisfatto i criteri di rilascio (i criteri di rilascio definiscono la modalità di corrispondenza degli interscambi), l'orchestrazione batch assembla l'interscambio contenente tutti gli interscambi e quindi promuove le EDI.ToBeBatched==FalseEDI.BatchName proprietà di contesto e EDI.DestinationPartyName . Inserisce infine l'interscambio batch in MessageBox.

  8. La porta di invio seleziona l'interscambio in batch sottoscrivendo le proprietà EDI.ToBeBatcheddel contesto ==False EDI.BatchName e EDI.DestinationPartyName.

  9. La pipeline di invio applica proprietà aggiuntive alla busta dell'interscambio in batch e quindi invia l'interscambio alla parte di destinazione, Parte B.

    Nota

    Per altre informazioni, vedere Assembling a Batched EDI Interscambio.

    Nella figura seguente viene illustrata l'architettura di questa soluzione.

    Invio di interscambi EDI batch

Funzionalità della soluzione

Ai fini di questa procedura dettagliata verrà abilitata la seguente funzionalità:

  • La soluzione è progettata per gli interscambi tramite la codifica X12, non la codifica EDIFACT.

    Nota

    La configurazione utilizzata per HIPAA e per la codifica EDIFACT è quasi parallela a quella utilizzata per la codifica X12.

  • Non verranno restituiti riconoscimenti tecnici o funzionali in risposta all'interscambio originariamente ricevuto o a qualsiasi interscambio batch inviato.

  • In questa soluzione vengono utilizzate una porta di ricezione unidirezionale e una porta di trasmissione statica unidirezionale. Queste porte saranno configurate con il tipo di trasporto FILE.

  • Verrà abilitata la creazione di rapporti EDI.

  • I set di transazioni verranno salvati per la visualizzazione dal rapporto Stato interscambio.

Configurazione e test della procedura dettagliata

Di seguito sono elencate le procedure necessarie per questa soluzione:

  • Aggiungere gli schemi di messaggio necessari a un progetto BizTalk e quindi compilare e distribuire il progetto, rendendo disponibili gli schemi per l'uso da parte di BizTalk Server nell'elaborazione dei messaggi.

  • Aggiornare l'intervallo di polling per l'adapter SQL nel percorso di ricezione BatchControlMessageReccvLoc , in modo che l'orchestrazione in batch venga attivata immediatamente quando si fa clic sul pulsante Start per inviare il messaggio di controllo che attiverà un'istanza di orchestrazione in batch.

  • Creare una porta di ricezione per BizTalk Server per ricevere i messaggi di input con .txt codifica EDI X12 da una parte.

  • Creazione di un'entità (partner commerciale) sia per l'entità A che per l'entità B.

  • Creazione di un profilo business per ciascuno dei partner commerciali.

  • Creazione di un accordo tra i due profili tramite configurazione delle proprietà EDI per consentire la ricezione del messaggio. Configurare le proprietà EDI per il messaggio in batch da trasmettere. Per questa soluzione, configurare gli accordi in modo che BizTalk Server trasmetta un batch all'Entità B quando vengono ricevuti due interscambi 850.

  • Creare una porta di trasmissione per BizTalk Server per inviare l'interscambio EDI in batch al partner commerciale. Questa porta di trasmissione sarà statica unidirezionale.

  • Associazione della porta di trasmissione con l'accordo che elabora gli interscambi e li inserisce in batch.

  • Inserimento di due interscambi EDI di prova nella cartella locale associata all'indirizzo di ricezione e verifica dell'inserimento da parte di BizTalk Server di un interscambio batch nella cartella associata alla porta di trasmissione.

Configurazione della procedura dettagliata

In questa sezione vengono descritti i passaggi per configurare la procedura dettagliata.

Per distribuire lo schema messaggi
  1. In Visual Studio creare o aprire un progetto BizTalk.

    Nota

    In questo argomento si presuppone che dall'applicazione in uso sia già stato aggiunto un riferimento all'applicazione EDI BizTalk, che contiene schemi EDI, pipeline e orchestrazioni. In caso contrario, vedere Aggiungere un riferimento all'applicazione EDI BizTalk Server.

  2. Fare clic con il pulsante destro del mouse sul progetto, scegliere Aggiungi e quindi fare clic su Elemento esistente. Passare a \Programmi (x86)\Microsoft BizTalk Server VERSION>XSD_Schema<\EDI\X12\00401 e quindi fare doppio clic sullo schema corrispondente al messaggio di test.

    Nota

    Se gli schemi EDI non sono stati scollegati nelle cartelle \XSD_Schema\EDI, eseguire il file MicrosoftEdiXSDTemplates.exe nella cartella \XSD_Schema\EDI per decomprimere gli schemi nella cartella predefinita.

    Nota

    Come messaggio di prova è possibile utilizzare il messaggio di esempio 850 utilizzato per l'esercitazione EDI Interface Developer. Questo file è SamplePO.txt in \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\. In tal caso, è necessario usare lo schema x12_00401_850.xsd situato in \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI.

  3. Impostare il file di chiave dell'assembly e quindi compilare e distribuire l'assembly.

Per aggiornare l'intervallo di polling
  1. In BizTalk Server Console di amministrazione aprire il gruppo BizTalk, le applicazioni, i nodi dell'applicazione BizTalk EDI e i nodi Percorsi di ricezione. Nel nodo Posizioni di ricezione fare clic con il pulsante destro del mouse su BatchControlMessageRecvLoc e quindi scegliere Proprietà.

  2. Per il tipo di trasporto SQL, fare clic su Configura.

  3. Nella finestra di dialogo Proprietà trasporto SQL impostare l'intervallo di polling su un valore più piccolo. Ad esempio, è possibile modificare l'unità di polling di misura in secondi, invece di minuti, per modificare l'intervallo di polling su 5 secondi.

    Nota

    La modifica dell'intervallo di polling consente di assicurare che l'orchestrazione batch venga attivata immediatamente.

  4. Fare clic su OK e quindi di nuovo su OK.

Per creare una porta di ricezione unidirezionale per ricevere i messaggi EDI da inserire nel batch
  1. Creare una cartella locale per ricevere i messaggi EDI da inserire nel batch.

  2. In BizTalk Server Console di amministrazione fare clic con il pulsante destro del mouse sul nodo Porte di ricezione nel nodo Applicazione BizTalk 1, scegliere Nuovo e quindi fare clic su Porta di ricezione unidirezionale.

  3. Assegnare un nome alla porta di ricezione e quindi fare clic su Posizioni di ricezione nell'albero della console.

  4. Fare clic su Nuovo.

  5. Assegnare un nome al percorso di ricezione, selezionare FILE per Tipo e quindi fare clic su Configura.

  6. Immettere una cartella per La ricezione e una maschera per Maschera file, ad esempio *.txt.

  7. Fare clic su OK.

  8. Per La pipeline di ricezione selezionare EdiReceive.

  9. Fare clic su OK e quindi di nuovo su OK.

  10. Nell'albero della console fare clic su Posizioni di ricezione. Nel riquadro Posizioni di ricezione fare clic con il pulsante destro del mouse sul percorso di ricezione e quindi scegliere Abilita.

Per creare un'entità e un profilo business per l'entità A
  1. Fare clic con il pulsante destro del mouse sul nodo Parti nella console di amministrazione BizTalk Server, scegliere Nuovo e quindi fare clic su Party.

  2. Immettere un nome per la parte nella casella di testo Nome e quindi fare clic su OK.

    Nota

    Selezionando la casella di controllo Local BizTalk elabora i messaggi ricevuti dall'entità OR supporta l'invio di messaggi da questa parte, è possibile specificare che la parte creata è per la stessa organizzazione che ospita anche BizTalk Server. Di conseguenza, alcune proprietà verranno abilitate o disabilitate durante la creazione di un accordo. Tuttavia, ai fini della procedura dettagliata, è possibile lasciare selezionata questa casella di controllo.

  3. Fare clic con il pulsante destro del mouse sul nome dell'entità, scegliere Nuovo e quindi fare clic su Profilo business.

  4. Nella finestra di dialogo Proprietà profilo immettere PartyA_Profile nella casella di testo Nome nella pagina Generale.

    Nota

    Quando si crea un'entità, viene creato anche un profilo. È possibile rinominare e utilizzare tale profilo anziché crearne uno nuovo. Per rinominare un profilo, fare clic con il pulsante destro del mouse sul profilo e selezionare Proprietà. Nella pagina Generale specificare un nome per il profilo.

Per creare un'entità e un profilo business per l'entità B
  1. Fare clic con il pulsante destro del mouse sul nodo Parti nella console di amministrazione BizTalk Server, scegliere Nuovo e quindi fare clic su Party.

  2. Immettere un nome per la parte nella casella di testo Nome e quindi fare clic su OK.

    Nota

    Selezionando la casella di controllo Local BizTalk elabora i messaggi ricevuti dall'entità OR supporta l'invio di messaggi da questa parte, è possibile specificare che la parte creata è per la stessa organizzazione che ospita anche BizTalk Server. Di conseguenza, alcune proprietà verranno abilitate o disabilitate durante la creazione di un accordo. Tuttavia, ai fini della procedura dettagliata, è possibile lasciare selezionata questa casella di controllo.

  3. Fare clic con il pulsante destro del mouse sul nome dell'entità, scegliere Nuovo e quindi fare clic su Profilo business.

  4. Nella pagina Generale della finestra di dialogo Proprietà profilo immettere PartyB_Profile nella casella di testo Nome.

    Nota

    Quando si crea un'entità, viene creato anche un profilo. È possibile rinominare e utilizzare tale profilo anziché crearne uno nuovo. Per rinominare un profilo, fare clic con il pulsante destro del mouse sul profilo e selezionare Proprietà. Nella pagina Generale specificare un nome per il profilo.

Per creare un accordo tra i due profili business
  1. Fare clic con il pulsante destro del mouse su PartyA_Profile, scegliere Nuovo e quindi fare clic su Contratto.

  2. Nella pagina Proprietà generali immettere un nome per il contratto nella casella di testo Nome .

  3. Nell'elenco a discesa Protocollo selezionare X12.

  4. Nella sezione Secondo partner selezionare PartyB nell'elenco a discesa Nome.

  5. Nell'elenco a discesa Profilo della sezione Secondo partner selezionare PartyB_Profile.

    Si noterà che due nuove schede vengono aggiunte accanto alla scheda Generale . Ogni scheda è per la configurazione di un contratto unidirezionale e ogni contratto unidirezionale rappresenta una transazione completa del messaggio (incluso il trasferimento dei messaggi e il trasferimento di riconoscimento).

  6. Nella scheda Generale , nella pagina Proprietà generali , nella sezione Impostazioni host comuni selezionare Attiva report e quindi selezionare Archivia payload dei messaggi per la creazione di report.

  7. Eseguire le attività seguenti nella scheda PartyA-PartyB>.

    1. Nella pagina Identificatori nella sezione Impostazioni interscambio immettere i valori per i campi qualificatore e identificatore (ISA5,ISA6, ISA7 e ISA8) che corrispondono ai valori per tali campi di intestazione nel messaggio di test.

      Nota

      BizTalk Server richiede i campi qualificatore e identificatore per il mittente e il destinatario per eseguire la risoluzione del contratto. Corrisponderà ai valori di ISA5, ISA6, ISA7 e ISA8 nell'intestazione di interscambio con quelli nelle proprietà di un contratto. BizTalk Server risolverà anche il contratto corrispondendo al qualificatore e all'identificatore del mittente (senza il qualificatore e l'identificatore del ricevitore). Se BizTalk Server non è in grado di risolvere il contratto, userà le proprietà del contratto di fallback.

      Nota

      Se si usa il file SamplePO.txt dall'esercitazione per sviluppatori di interfaccia EDI come messaggio di test, impostare ISA5 su ZZ, ISA6suLORO, ISA7 su ZZ e ISA8 su US.

    2. Nella pagina Convalida nella sezione Impostazioni interscambio verificare che l'opzione Check for duplicate ISA13 sia deselezionata.

      Nota

      Deselezionare la proprietà Check for duplicate ISA13 consente di ricevere più istanze dello stesso messaggio.

    3. Nella pagina Charset e Separatori nella sezione Impostazioni interscambio selezionare l'opzione CR LF .

    4. Nella pagina Configurazione batch nella sezione Impostazioni interscambio eseguire le operazioni seguenti:

      1. Fare clic su Nuovo batch.

      2. Nella sezione Identificazione immettere il testo Batch1Nome batch.

      3. Nella sezione Filtro fare clic sul pulsante Filtro e nella finestra di dialogo Filtro batch eseguire le operazioni seguenti:

        1. Fare clic sulla cella vuota nella colonna Proprietà e selezionare BTS. ReceivePortName.

        2. Fare clic sulla cella vuota nella colonna Operatore e selezionare ==.

        3. Fare clic sulla cella vuota nella colonna Valore e immettere il nome della porta di ricezione creata in precedenza.

        4. Fare clic su OK.

      4. Nella sezione Versione selezionare il numero massimo di set di transazioni nell'opzione , nell'elenco a discesa selezionare Interscambio e nella casella di testo immettere il numero di interscambi che verranno in batch. In questa soluzione verranno in batch due interscambi, quindi nella casella di testo immettere 2.

      5. Nella sezione Attivazione selezionareAvvia immediatamente.

    5. Nella pagina Buste nella sezione Impostazioni set di transazioni immettere i valori per tutte le colonne nella prima riga della griglia.

      Usare Per
      Default Selezionare Predefinita. Nota: Quando si seleziona questa riga come impostazione predefinita, i valori per GS1, GS2, GS3, GS7 e GS8 vengono usati anche se i valori per tipo di transazione, versione/versione e spazio dei nomi di destinazione non corrispondono al messaggio.
      Tipo di transazione Selezionare il tipo di messaggio di test 850 - Ordine di acquisto.
      Versione/Rilascio Immettere la versione EDI 00401.
      Spazio dei nomi di destinazione Selezionare http://schemas.microsoft.com/BizTalk/EDI/X12/2006.
      GS1 Verificare che il tipo di messaggio del messaggio di test sia selezionato, po - Ordine di acquisto (850).
      GS2 Immettere un valore per il mittente dell'applicazione, ad esempio Acquisto.
      GS3 Immettere un valore per il ricevitore applicazione, ad esempio OrderControl.
      GS4 Selezionare il formato data desiderato. Nota: È necessario selezionare il valore nell'elenco a discesa, non solo fare clic sul campo per visualizzare il valore predefinito. Se si fa clic nel campo senza selezionare il valore dall'elenco a discesa, tale valore non risulterà effettivamente selezionato.
      GS5 Selezionare il formato ora desiderato.
      GS7 Selezionare X - Comitato standard accreditato X12.
      GS8 Verificare che la versione EDI sia stata immessa, 00401.

      Nota

      BizTalk Server imposta i valori per GS01, GS02, GS03, GS04, GS05, GS07 e GS08 dei riconoscimenti in uscita in base ai valori immessi per tipo di transazione, versione/rilascio e spazio dei nomi di destinazione. La pipeline di trasmissione prova ad abbinare il tipo del set di transazioni, la versione X12 e lo spazio dei nomi di destinazione con i valori corrispondenti nell'intestazione del messaggio. Se ha esito positivo, usa i valori GS associati ai valori dello spazio dei nomi Tipo di transazione, Versione/Versione e Spazio dei nomi di destinazione .

  8. Eseguire le attività seguenti nella scheda PartyB-PartyA>.

    Nota

    In questa procedura dettagliata viene specificato il valore necessario nella scheda, in modo da creare correttamente l'accordo. Per creare correttamente un contratto, le schede del contratto unidirezionale devono avere valori definiti per ISA5, ISA6, ISA7 eISA8.

    1. Nella pagina Identificatori nella sezione Impostazioni interscambio immettere i valori per i campi qualificatore e identificatore (ISA5,ISA6, ISA7 e ISA8) che corrispondono ai valori per tali campi di intestazione nel messaggio di test.

      Nota

      Se si usa il file SamplePO.txt dall'esercitazione per sviluppatori di interfaccia EDI come messaggio di test, impostare ISA5 su ZZ, ISA6suUS, ISA7 su ZZ e ISA8 su LORO.

  9. Fare clic su Applica.

  10. Fare clic su OK. Il nuovo contratto aggiunto è elencato nella sezione Contratti del riquadro Profili aziendali e parti . Il nuovo accordo aggiunto è abilitato per impostazione predefinita.

Per creare una porta di trasmissione statica unidirezionale per l'invio dell'interscambio EDI in batch
  1. Creare una cartella locale a cui trasmettere il messaggio EDI in batch.

  2. In BizTalk Server Console di amministrazione fare clic con il pulsante destro del mouse sul nodo Invia porte nel nodo Applicazione BizTalk 1, scegliere Nuovo e quindi fare clic su Porta di invio statica in modalità unidirezionale.

  3. Nella finestra di dialogo Invia proprietà porta assegnare un nome alla porta di invio.

  4. Nella sezione Trasporto selezionare FILE per Tipo e quindi fare clic su Configura.

  5. Immettere una cartella per la cartella Destination e un nome file, ad esempio %MessageID%.txt.

  6. Fare clic su OK.

  7. In Invia pipeline selezionare EdiSend.

  8. Nell'albero della console selezionare Filtri. Nella pagina Filtri eseguire le operazioni seguenti:

    1. Nella prima riga della griglia selezionare EDI. DestinationPartyName per proprietà, == per Operatore, il nome selezionato per l'entità per inviare il batch a perValue e per Group by.

    2. Nella seconda riga selezionare EDI. ToBeBatched per proprietà, == per operatore e False per valore e per gruppo.

    3. Nella terza riga selezionare EDI. BatchName per Proprietà, == per Operatore e il nome del batch per Valore.

  9. Fare clic su OK.

  10. Nell'albero della console fare clic su Invia porte. Nel riquadro Porte di invio fare clic con il pulsante destro del mouse sulla porta di invio e quindi scegliere Avvia.

Per associare la porta di trasmissione all'accordo creato per l'inserimento in batch
  1. Fare clic con il pulsante destro del mouse sul contratto creato in precedenza e scegliere Proprietà.

  2. Nella scheda PartyA-PartyB> della finestra di dialogo Proprietà contratto fare clic su Invia porte nel riquadro sinistro.

  3. Nella pagina Invia porte nella sezione Impostazioni interscambio associare la porta di invio creata in precedenza. Nella griglia Invia porte , nella colonna Nome fare clic su una cella vuota e nell'elenco a discesa selezionare la porta di invio.

  4. Fare clic su OK.

Test della procedura dettagliata

In questa sezione sono disponibili informazioni sul test della procedura dettagliata.

Per sottoporre a test la procedura dettagliata
  1. In Esplora risorse aprire la cartella locale associata all'indirizzo di destinazione e rilasciare un interscambio EDI per il test nella cartella.

    Nota

    Come messaggio di prova è possibile utilizzare il messaggio di esempio 850 utilizzato per l'esercitazione EDI Interface Developer. Questo file è SamplePO.txt in \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\. In tal caso, è necessario usare lo schema x12_00401_850.xsd situato in \Programmi (x86)\Microsoft BizTalk Server <VERSION>SDK\EDI Interface Developer Tutorial\Inbound_EDI.

  2. Inserire una seconda copia dell'interscambio EDI per il test nella cartella.

  3. Aprire la cartella associata alla porta di trasmissione per gli interscambi e quindi aprire l'interscambio batch. Verificare che l'interscambio contenga un set di intestazioni ISA e GS e due set di transazioni.

Vedere anche

Sviluppo e configurazione di soluzioni EDI BizTalk Server
Configurazione di un batch in uscita
Assemblaggio di un interscambio EDI in batch
Assemblaggio di un interscambio EDI in batch
Procedura dettagliata (X12): Ricezione di interscambi EDI e invio di un riconoscimento
Procedura dettagliata (X12): Invio di interscambi EDI