Condividi tramite


Inviare IDOC a SAP tramite BizTalk Server

Tutte le chiamate IDOC a SAP vengono trattate internamente come chiamate tRFC in cui l'adattatore funge da client tRFC e chiama un RFC in SAP per inviare un IDOC. Questa sezione fornisce informazioni sull'invio di IDOC a SAP tramite l'adapter Microsoft BizTalk per mySAP Business Suite con BizTalk Server. L'adattatore SAP presenta due diverse operazioni per l'invio di IDOC:

  • L'operazione di invio consente ai client dell'adapter di inviare IDOC con uno schema fortemente tipizzato.

  • L'operazione SendIdoc consente ai client dell'adapter di inviare IDOC con uno schema tipizzato in modo debole. In questo modo, i client dell'adattatore possono inviare i IDOC file flat al sistema SAP. L'intero file flat IDOC è un valore di nodo in un messaggio XML SendIdoc.

    Per altre informazioni su come l'adapter SAP supporta l'invio di IDOC a un sistema SAP, vedere Operazioni sui IDOC in SAP. Per altre informazioni sulla struttura dei messaggi SOAP per l'invio di un IDOC, vedere Schemi messaggi per operazioni IDOC.

Scenari BizTalk per l'invio di IDOC con l'adapter SAP

La tabella seguente fornisce gli scenari principali di BizTalk per l'invio di IDOC a un sistema SAP:

Input in BizTalk Elaborazione BizTalk Output nell'adapter
IDOC file flat Tempo di progettazione metadati

1. Impostare la proprietà di associazione GenerateFlatFileCompatibleIdocSchema su True.
2. Generare lo schema per l'operazione di invio per un IDOC specifico usando il componente aggiuntivo Consume Adapter Service.

Tempo di progettazione dell'orchestrazione

1. Ricevere IDOC file flat
2. Usare il disassembler file flat per convertire IDOC flat in IDOC XML usando lo schema appena generato.
3. Impostare l'azione su Invia operazione.
Send message
IDOC file flat Tempo di progettazione metadati

1. Impostare la proprietà di associazione GenerateFlatFileCompatibleIdocSchema su True.
2. Generare lo schema per l'operazione SendIdoc dal nodo IDOC usando il componente aggiuntivo Consume Adapter Service.

Tempo di progettazione dell'orchestrazione

1. Ricevere IDOC file flat
2. Utilizzare il disassembler file flat per convertire IDOC flat-file in XML (in questo caso, il messaggio XML contiene un <nodo idocData> che contiene l'intero messaggio Idoc file flat) usando lo schema appena generato.
3. Impostare l'azione sull'operazione SendIdoc .
Messaggio SendIdoc
XML IDOC Tempo di progettazione metadati

- Generare lo schema per l'operazione di invio per un IDOC specifico usando il componente aggiuntivo Consume Adapter Service.

Tempo di progettazione dell'orchestrazione

1. Ricevere IDOC XML.
2. Impostare l'azione su Invia operazione.
Send message
IDOC file flat nel messaggio XML Tempo di progettazione metadati

- Generare lo schema per l'operazione SendIdoc dal nodo IDOC usando il componente aggiuntivo Consume Adapter Service.- Generate the schema for the SendIdoc operation from the IDOC node using Consume Adapter Service Add-in.

Tempo di progettazione dell'orchestrazione

1. Ricevere un messaggio XML.
2. Impostare l'azione sull'operazione SendIdoc .
Messaggio SendIdoc

Come inviare un IDOC a un sistema SAP

L'esecuzione di un'operazione in un sistema SAP tramite BizTalk Server comporta attività procedurali descritte in Blocchi predefiniti per creare applicazioni SAP. Per inviare un IDOC a un sistema SAP, queste attività sono:

  1. Creare un progetto BizTalk e generare lo schema per l'IDOC che si vuole richiamare nel sistema SAP. Durante la generazione dello schema assicurarsi di impostare le proprietà di associazione necessarie, come elencato nella tabella precedente. Per istruzioni su come impostare le proprietà di associazione, vedere Configurare le proprietà di associazione per l'adapter SAP.

  2. Creare messaggi nel progetto BizTalk per l'invio e la ricezione di messaggi dal sistema SAP.

  3. Creare un'orchestrazione per inviare un IDOC a un sistema SAP.

  4. Compilare e distribuire il progetto BizTalk.

  5. Configurare l'applicazione BizTalk creando porte di invio e ricezione fisiche.

  6. Avviare l'applicazione BizTalk.

    In questo argomento vengono fornite istruzioni per eseguire queste attività.

Esempio basato su questo argomento

Un esempio, IDOCSend, basato su questo argomento viene fornito anche con BizTalk Adapter Pack. Per altre informazioni, vedere Esempi per l'adapter SAP.

Generazione dello schema

Questo argomento illustra come inviare un IDOC a un sistema SAP generando lo schema per l'operazione di invio in \IDOC\ORDERS\ORDERS05\ORDERS05. IDOC V3(620). Per altre informazioni su come generare lo schema per un particolare IDOC , vedere Esplorare, cercare e ottenere metadati per le operazioni IDOC in SAP .

Definizione di messaggi e tipi di messaggio

Lo schema generato in precedenza descrive i "tipi" necessari per i messaggi nell'orchestrazione. Un messaggio è in genere una variabile, il tipo per il quale è definito dallo schema corrispondente. È necessario collegare lo schema generato nel primo passaggio ai messaggi dalla visualizzazione Orchestrazione del progetto BizTalk.

Per questo argomento, è necessario creare due messaggi, uno per inviare un IDOC al sistema SAP e l'altro per ricevere una risposta.

Seguire questa procedura per creare messaggi e collegarli allo schema:

  1. Aprire la visualizzazione orchestrazione del progetto BizTalk, se non è già aperto. Fare clic su Visualizza, scegliere Altre finestre e fare clic su Visualizzazione orchestrazione.

  2. Nella visualizzazione orchestrazione fare clic con il pulsante destro del mouse su Messaggi e quindi scegliere Nuovo messaggio.

  3. Fare clic con il pulsante destro del mouse sul messaggio appena creato e scegliere Finestra Proprietà.

  4. Nel riquadro Proprietà per Message_1 eseguire le operazioni seguenti:

    Usare Per
    Identificatore Digitare IDOCSend.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e selezionare IDOCSend.SAPBindingSchema3, dove IDOCSend è il nome del progetto BizTalk. SAPBindingSchema3 è lo schema generato per l'operazione di invio.
  5. Ripetere il passaggio precedente per creare un nuovo messaggio. Nel riquadro Proprietà per il nuovo messaggio eseguire le operazioni seguenti:

    Usare Per
    Identificatore Digitare IDOCResponse.
    Tipo di messaggio Nell'elenco a discesa espandere Schemi e selezionare IDOCSend.SAPBindingSchema4.

Configurazione dell'orchestrazione

È necessario creare un'orchestrazione BizTalk per usare BizTalk Server per l'invio di IDOC a un sistema SAP. In questa orchestrazione si rimuoverà un IDOC file flat in un percorso di ricezione definito. Questo file viene convertito in un messaggio di richiesta XML usando un disassembler file flat. L'adapter SAP utilizza questo messaggio e lo passa al sistema SAP. La risposta con un GUID viene ricevuta da SAP e viene salvata in un'altra posizione. È necessario includere forme di invio e ricezione per inviare IDOC al sistema SAP e ricevere risposte. È inoltre necessario includere un disassembler file flat per convertire un file flat in un file XML. Un'orchestrazione tipica per l'invio e l'IDOC a un sistema SAP conterrà:

  • Inviare e ricevere forme per inviare messaggi al sistema SAP e ricevere risposte.

  • Una porta di ricezione unidirezionale per ricevere i IDOC file flat da inviare al sistema SAP.

  • Disassembler file flat per convertire l'IDOC file flat in un file XML.

  • Porta di trasmissione bidirezionale per inviare l'IDOC al sistema SAP e ricevere risposte.

  • Porta di trasmissione unidirezionale per inviare le risposte dal sistema SAP a una cartella.

    Un'orchestrazione di esempio sarà simile alla seguente:

    Orchestrazione per l'invio di IDOC a SAP

Aggiunta di forme messaggio

Assicurarsi di specificare le proprietà seguenti per ognuna delle forme del messaggio. I nomi elencati nella colonna Shape sono i nomi delle forme di messaggio visualizzate nell'orchestrazione precedente.

Forma Tipo di forma Proprietà
ReceiveFile Ricevere - Impostare il nome su ReceiveFile
- Impostare Attiva su True
SendToLOB Send - Impostare il nome su SendToLOB
ReceiveResponse Ricevere - Impostare il nome su ReceiveResponse
- Impostare Attiva su False
SendResponse Send - Impostare il nome su SendResponse

Aggiunta di porte

Assicurarsi di specificare le proprietà seguenti per ognuna delle porte logiche. I nomi elencati nella colonna Porta sono i nomi delle porte visualizzate nell'orchestrazione.

Porta Proprietà
FileIn - Impostare l'identificatore su FileIn
- Impostare il tipo su FileInType
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione da ricevere
LOBPort - Impostare l'identificatore su LOBPort
- Impostare il tipo su LOBPortType
- Impostare il modello di comunicazione su Request-Response
- Impostare la direzione di comunicazione su Send-Receive
SaveResponse - Impostare l'identificatore su SaveResponse
- Impostare il tipo su SaveResponseType
- Impostare il modello di comunicazionesu unidirezionale
- Impostare la direzione di comunicazione su Invia

Aggiunta di un disassembler file flat

È necessario aggiungere un disassembler di file flat all'orchestrazione per convertire il file flat IDOC in un formato XML.

Per aggiungere un disassembler di file flat
  1. Fare clic con il pulsante destro del mouse sul progetto BizTalk, scegliere Aggiungi e selezionare Nuovo elemento.

  2. Nella finestra di dialogo eseguire le operazioni seguenti:

    Usare Per
    Categorie File di pipeline
    Modelli Visual Studio installati Pipeline di ricezione
    Nome IDOCReceive
  3. Verrà aperta la Designer pipeline. Dalla casella degli strumenti Componenti della pipeline BizTalktrascinare il componente della pipeline disassembler file flat nella fase Disassemble della pipeline di ricezione.

  4. Nella visualizzazione Proprietà componente pipeline specificare un valore per la proprietà Schema documento . Nell'elenco a discesa assicurarsi di selezionare lo schema corrispondente all'operazione di invio IDOC.

Specificare i messaggi per le forme azione e connettersi alle porte

La tabella seguente specifica le proprietà e i relativi valori da impostare per specificare i messaggi per le forme azione e collegarli alle porte. I nomi elencati nella colonna Shape sono i nomi delle forme di messaggio visualizzate nell'orchestrazione precedente.

Forma Proprietà
ReceiveFile - Impostare il messaggio su IDOCSend
- Impostare l'operazione su FileIn.SendIDOC.Request
SendToLob - Impostare il messaggio su IDOCSend
- Impostare l'operazione su LOBPort.SendIDOC.Request
ReceiveResponse - Impostare il messaggio su IDOCResponse
- Impostare l'operazione su LOBPort.SendIDOC.Response
SendResponse - Impostare il messaggio su IDOCResponse
- Impostare l'operazione su SaveResponse.SendIDOC.Request

Dopo aver specificato queste proprietà, le forme e le porte del messaggio sono connesse e l'orchestrazione è completata.

È ora necessario compilare la soluzione BizTalk e distribuirla in un BizTalk Server. Per altre informazioni, vedere Compilazione ed esecuzione di orchestrazioni.

Configurazione dell'applicazione BizTalk

Dopo aver distribuito il progetto BizTalk, l'orchestrazione creata in precedenza è elencata nel riquadro Orchestrazioni nella console di amministrazione di BizTalk Server. Per configurare l'applicazione, è necessario usare la console di amministrazione di BizTalk Server. Per altre informazioni sulla configurazione di un'applicazione, vedere Come configurare un'applicazione.

La configurazione di un'applicazione prevede:

  • Selezione di un host per l'applicazione.

  • Mapping delle porte create nell'orchestrazione alle porte fisiche nella console di amministrazione di BizTalk Server. Per questa orchestrazione è necessario:

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui si rilascia un messaggio di richiesta. L'orchestrazione BizTalk utilizzerà il messaggio di richiesta e lo invierà al sistema SAP.

      Importante

      Per la pipeline XMLReceive per questa porta, assicurarsi di selezionare IDOCReceive. Questa pipeline è stata creata come parte del progetto BizTalk.

    • Definire un percorso sul disco rigido e una porta file corrispondente in cui l'orchestrazione BizTalk rilascia il messaggio di risposta contenente la risposta dal sistema SAP.

    • Definire una porta di trasmissione fisica WCF-Custom o WCF-SAP per inviare messaggi al sistema SAP. È anche necessario specificare l'azione nella porta di invio. Per informazioni su come creare porte, vedere Configurare manualmente un'associazione di porte fisiche alla scheda SAP.

      Nota

      È anche possibile impostare la proprietà di associazione AutoConfirmSentIdocs per eseguire automaticamente il commit di IDOC nel sistema SAP. In tal caso, non è necessario chiamare in modo esplicito l'operazione RfcConfirmTransID per eseguire il commit dei IDOCs. Per altre informazioni sulla proprietà di associazione, vedere Informazioni sull'adapter BizTalk per le proprietà di binding di mySAP Business Suite. Per altre informazioni sull'operazione RfcConfirmTransID, vedere Operazioni su tRFCs in SAP.

      Nota

      La generazione dello schema usando il componente aggiuntivo Del progetto BizTalk del servizio adapter crea anche un file di associazione contenente informazioni sulle porte e sulle azioni da impostare per tali porte. È possibile importare questo file di associazione dalla console di amministrazione BizTalk per creare porte di invio (per le chiamate in uscita) o le porte di ricezione (per le chiamate in ingresso). Per altre informazioni, vedere Configurare un'associazione di porte fisiche usando un file di associazione di porte a SAP.

Avvio dell'applicazione

È necessario avviare l'applicazione BizTalk per l'invio di un IDOC al sistema SAP. Per istruzioni sull'avvio di un'applicazione BizTalk, vedere Come avviare un'orchestrazione o Come avviare un'applicazione.

In questa fase assicurarsi di:

  • La porta di ricezione FILE per ricevere messaggi di richiesta per l'orchestrazione è in esecuzione.

  • La porta di invio FILE per ricevere i messaggi di risposta dall'orchestrazione è in esecuzione.

  • La porta di trasmissione WCF-Custom o WCF-SAP per inviare messaggi al sistema SAP è in esecuzione.

  • L'orchestrazione BizTalk per l'operazione è in esecuzione.

Esecuzione dell'operazione

Dopo aver eseguito l'applicazione, è necessario eliminare un messaggio di richiesta per l'orchestrazione. In questo esempio verrà visualizzato un IDOC flat-file nel percorso di ricezione file definito. Le azioni seguenti si svolgono dopo l'eliminazione del messaggio di richiesta:

  • L'orchestrazione seleziona questo IDOC file flat e lo converte in messaggio di richiesta XML, lo schema per cui è conforme allo schema generato in precedenza.

  • Se il messaggio di richiesta specificato contiene un GUID, l'adapter genera un ID transazione (TID) e lo invia al sistema SAP.

  • Se il messaggio di richiesta specificato non contiene un GUID, l'adapter genera un GUID e usa tale GUID per generare un GUID. Il TID viene quindi inviato al sistema SAP.

    In entrambi i casi, il messaggio di risposta dal sistema SAP contiene un GUID. Ad esempio, un messaggio di risposta per l'operazione Di invio nel ORDERS05 IDOC è:

<?xml version="1.0" encoding="utf-8"?>  
<SendResponse xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//620/Send">  
  <guid>a5afe162-d5cc-47b0-bf6f-3b0bfe06a97e</guid>  
</SendResponse>  

Dopo aver ricevuto il GUID, è necessario richiamare l'operazione RfConfirmTransID per eseguire il commit del TID. Per altre informazioni sull'operazione RfcConfirmTransID , vedere Operazioni su tRFCs in SAP. È possibile creare una nuova orchestrazione per chiamare questa operazione o modificare l'orchestrazione esistente. Se si vuole creare una nuova orchestrazione, sarà simile a qualsiasi altra orchestrazione in un sistema SAP. Per aggiornare l'orchestrazione esistente, vedere Richiamare tRFCs in SAP usando BizTalk Server. L'orchestrazione per richiamare una tRFC, come descritto nell'argomento illustra come chiamare un'operazione RfcConfirmTransID dalla stessa orchestrazione.

Nota

Non è necessario richiamare l'operazione RfcConfirmTransID se si imposta la proprietà di associazione AutoConfirmSentIdocs su True.

Possibili eccezioni

Per informazioni sulle eccezioni che potrebbero verificarsi durante l'invio di un IDOC a un sistema SAP usando BizTalk Server, vedere Eccezioni e gestione degli errori con l'adapter SAP.

Procedure consigliate

Dopo aver distribuito e configurato il progetto BizTalk, è possibile esportare le impostazioni di configurazione in un file XML denominato file binding. Dopo aver generato un file di associazioni, è possibile importare le impostazioni di configurazione dal file in modo che non sia necessario creare le porte di invio, le porte di ricezione e così via per la stessa orchestrazione. Per altre informazioni sui file di associazione, vedere Riutilizzare le associazioni di adattatori SAP.

Vedere anche

Sviluppare applicazioni BizTalk