Condividi tramite


Generare schemi per gli artefatti SAP in App per la logica di Azure

Si applica a: App per la logica di Azure (a consumo e standard)

Questa guida pratica illustra come creare un flusso di lavoro di app per la logica di esempio che genera schemi per gli artefatti SAP. Il flusso di lavoro inizia con un trigger di richiesta che può ricevere richieste HTTP POST dal server SAP. Il flusso di lavoro genera quindi schemi per i valori IDoc e BAPI specificati usando l'azione SAP denominata Genera schemi che invia una richiesta al server SAP. Per inviare questa richiesta, è possibile usare l'azione generica del connettore gestito SAP denominata Invia messaggio a SAP oppure usare l'azione predefinita o SAP gestito specifico denominata [BAPI] Chiama in SAP. Questa azione SAP restituisce un XML Schema, non i contenuto o i dati del documento XML stesso. Gli schemi restituiti nella risposta vengono caricati in un account di integrazione tramite il connettore Azure Resource Manager. Gli schemi contengono le parti seguenti:

Componente Descrizione
Struttura del messaggio di richiesta Usare queste informazioni per formare l'elenco get BAPI.
Struttura del messaggio di risposta Usare queste informazioni per analizzare la risposta.

I flussi di lavoro delle app per la logica standard e a consumo offrono il connettore gestito SAP che è ospitato ed eseguito in Azure multi-tenant. I flussi di lavoro standard offrono anche il connettore predefinito SAP in anteprima, ospitato ed eseguito in App per la logica di Azure a tenant singolo, ma questo connettore è attualmente in anteprima e soggetto alle Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure. Se si crea e si ospita un flusso di lavoro a consumo in un ambiente del servizio di integrazione (ISE), è possibile usare anche la versione nativa ISE del connettore SAP. Per altre informazioni, vedere Informazioni tecniche sul connettore.

Prerequisiti

  • Installare o usare uno strumento che può inviare richieste HTTP per testare la soluzione, ad esempio:

    Attenzione

    Per gli scenari in cui sono presenti dati sensibili, ad esempio credenziali, segreti, token di accesso, chiavi API e altre informazioni simili, assicurarsi di usare uno strumento che protegge i dati con le funzionalità di sicurezza necessarie, funziona offline o in locale, non sincronizza i dati nel cloud e non richiede l'accesso a un account online. In questo modo si riduce il rischio di esporre i dati sensibili al pubblico.

Generare schemi per un artefatto SAP

Il flusso di lavoro dell'app per la logica di esempio seguente viene attivato quando il trigger SAP del flusso di lavoro riceve una richiesta da un server SAP. Il flusso di lavoro esegue quindi un'azione SAP che genera schemi per l'artefatto SAP specificato.

Aggiungere il trigger Request

Per fare in modo che il flusso di lavoro riceva le richieste dal server SAP tramite HTTP, è possibile usare il trigger predefinito Richiesta. Questo trigger crea un endpoint con un URL in cui il server SAP può inviare richieste HTTP POST al flusso di lavoro. Quando il flusso di lavoro riceve le richieste, il trigger viene attivato ed esegue il passaggio successivo nel flusso di lavoro.

In base al fatto che si abbia un flusso di lavoro a consumo in App per la logica di Azure multi-tenant o un flusso di lavoro Standard in App per la logica di Azure a tenant singolo, seguire i passaggi corrispondenti:

  1. Nel portale di Azure creare una risorsa dell'app per la logica A consumo e un flusso di lavoro vuoto, che si apre nella finestra di progettazione.

  2. Nella finestra di progettazione seguire questi passaggi generali per trovare e aggiungere il trigger predefinito di Richiesta denominato Quando viene ricevuta una richiesta HTTP.

    Screenshot che mostra il trigger di richiesta per un flusso di lavoro A consumo.

  3. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

    Questo passaggio genera un URL dell'endpoint in cui il trigger può ricevere richieste dal server SAP, ad esempio:

    Screenshot che mostra l'URL dell'endpoint generato del trigger di richiesta per la ricezione di richieste in un flusso di lavoro a consumo.

Aggiungere un'azione SAP per generare schemi

In base al fatto che si abbia un flusso di lavoro a consumo in App per la logica di Azure multi-tenant o un flusso di lavoro Standard in App per la logica di Azure a tenant singolo, seguire i passaggi corrispondenti:

  1. Nella finestra di progettazione del flusso di lavoro, sotto il trigger Richiesta, selezionare Nuovo passaggio.

  2. Nella finestra di progettazione seguire questi passaggi generali per trovare e aggiungere l'azione gestita SAP denominata Genera schemi.

    Per altre informazioni su questa azione gestita SAP, vedere Generare schemi.

  3. Se richiesto, specificare le informazioni di connessione per il server SAP locale. Al termine, seleziona Crea. In caso contrario, continuare con il passaggio successivo per configurare l'azione SAP.

    Per impostazione predefinita, quando si crea una connessione per un'operazione gestita SAP, viene usata la tipizzazione forte per verificare la presenza di valori non validi eseguendo la convalida XML sullo schema. Questo comportamento consente di rilevare i problemi tempestivamente. Altre informazioni sull'impostazione Tipizzazione sicura. Per altri parametri di connessione disponibili facoltativi, vedere Informazioni di connessione predefinite.

    Dopo aver configurato e testato la connessione in App per la logica di Azure, viene visualizzata la casella con le informazioni sull'azione. Per altre informazioni sui problemi di connessione che potrebbero verificarsi, vedere Risolvere i problemi relativi alle connessioni.

    Screenshot che mostra il flusso di lavoro a consumo e l'azione gestita SAP denominata Genera schemi.

  4. Nell'azione Genera schemi, specificare un percorso dell'artefatto per il quale si vuole generare lo schema selezionando un'azione SAP disponibile nel server SAP.

    1. Nella casella di modifica del parametro Body ActionUri selezionare l'icona della cartella. Nell'elenco visualizzato, selezionare BAPI, IDOC, RFC o TRFC. In questo esempio viene selezionato IDOC. Se si seleziona un tipo differente, le azioni SAP disponibili cambiano in base alla selezione.

      Nota

      Se viene visualizzato un errore di Gateway non valido (500) o Richiesta non valida (400), vedere 500 Gateway non valido o 400 Errore richiesta non valida.

      Screenshot che mostra il flusso di lavoro a consumo, l'azione Genera schemi e la selezione di IDOC.

    2. Esplorare le cartelle dei tipi di azione SAP usando le frecce per trovare e selezionare l'azione SAP che si vuole usare.

      In questo esempio viene selezionato ORDERS>ORDERS05>720>Invia.

      Screenshot che mostra il flusso di lavoro a consumo, l'azione Genera schemi e la ricerca di un'azione Ordini.

      Se non è possibile trovare l'azione desiderata, è possibile immettere manualmente un percorso, ad esempio:

      Screenshot che mostra il flusso di lavoro a consumo e l'immissione manuale di un percorso di un'azione SAP.

      Suggerimento

      Per il parametro Body ActionUri, è possibile usare l'editor di espressioni per specificare il valore del parametro. In questo modo, è possibile usare la stessa azione SAP per diversi tipi di messaggio.

      Per altre informazioni su questa azione SAP, consultare Schemi di messaggi per operazioni IDOC.

    3. Per generare schemi per più di un artefatto, nella sezione Body ActionUri selezionare Aggiungi nuovo elemento.

      Screenshot che mostra la selezione dell'opzione per aggiungere un nuovo elemento.

    4. Per ogni artefatto, specificare l'azione SAP che si vuole usare per la generazione dello schema, ad esempio:

      Screenshot che mostra più azioni SAP da usare per la generazione di più schemi.

  5. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

Testare il flusso di lavoro per la generazione dello schema

In base al fatto che si abbia un flusso di lavoro a consumo in App per la logica di Azure multi-tenant o un flusso di lavoro Standard in App per la logica di Azure a tenant singolo, seguire i passaggi corrispondenti:

  1. Se la risorsa dell'app per la logica a consumo non è già abilitata, nel menu dell'app per la logica selezionare Informazioni generali. Nella barra degli strumenti selezionare Abilita.

  2. Per avviare manualmente il flusso di lavoro, selezionare Esegui>Esegui nella barra degli strumenti della finestra di progettazione.

  3. Per simulare un trigger di webhook e attivare il flusso di lavoro, inviare una richiesta HTTP all'URL dell'endpoint creato dal trigger Richiesta, incluso il metodo previsto dal trigger Richiesta usando lo strumento di richiesta HTTP e le relative istruzioni. Assicurarsi di includere nella richiesta il contenuto del messaggio.

    In questo esempio, il metodo POST e l'URL dell'endpoint inviano un file IDoc, che deve essere in formato XML e includere lo spazio dei nomi per l'azione SAP selezionata, ad esempio:

    <?xml version="1.0" encoding="UTF-8" ?>
    <Send xmlns="http://Microsoft.LobServices.Sap/2007/03/Idoc/2/ORDERS05//720/Send">
      <idocData>
        <...>
      </idocData>
    </Send>
    
  4. Dopo aver inviato la richiesta HTTP, attendere la risposta dal flusso di lavoro.

    Nota

    Il flusso di lavoro può andare in timeout se tutti i passaggi necessari per la risposta non terminano entro il limite di timeout della richiesta. Se si verifica questa condizione, le richieste potrebbero venire bloccate. Per diagnosticare i problemi, vedere le informazioni su come controllare e monitorare i flussi di lavoro delle app per la logica.

  5. Nel riquadro Informazioni generali dell'app per la logica, in Cronologia esecuzioni individuare e aprire l'esecuzione del flusso di lavoro.

  6. Trovare l'azione Genera schemi ed esaminare gli output dell'azione.

    Gli output mostrano gli schemi generati per i messaggi specificati.

Per altre informazioni sulla revisione della cronologia di esecuzione dei flussi di lavoro, vedere Monitorare i flussi di lavoro delle app per la logica.

Caricare gli schemi in un account di integrazione

Facoltativamente, è possibile scaricare o archiviare gli schemi generati nei repository, ad esempio un account di integrazione o un account di archiviazione di Azure, in un contenitore BLOB. Gli account di integrazione offrono un'esperienza ottimale con azioni XML per i flussi di lavoro in App per la logica di Azure. È possibile caricare schemi generati in un account di integrazione esistente all'interno dello stesso flusso di lavoro che genera tali schemi usando l'azione di Azure Resource Manager denominata Crea o aggiorna una risorsa.

Nota

Gli schemi usano il formato con codifica base64. Per caricare gli schemi in un account di integrazione, devono essere decodificati usando la funzione base64ToString(). Nell'esempio seguente viene illustrato il codice per l'elemento properties:

"properties": {
   "Content": "@base64ToString(items('For_each')?['Content'])",
   "ContentType": "application/xml",
   "SchemaType": "Xml"
}

Per questa attività, è necessario un account di integrazione, nel caso in cui non se sia già disponibile uno. In base al fatto che si abbia un flusso di lavoro a consumo in App per la logica di Azure multi-tenant o un flusso di lavoro Standard in App per la logica di Azure a tenant singolo, seguire i passaggi corrispondenti per caricare gli schemi in un account di integrazione dal flusso di lavoro dopo la generazione dello schema.

  1. Nella finestra di progettazione del flusso di lavoro, sotto l'azione gestita SAP denominata Genera schemi, selezionare Nuovo passaggio.

  2. Seguire questi passaggi generali per trovare e aggiungere l'azione gestita di Azure Resource Manager denominata Crea o aggiorna una risorsa. Se viene richiesto di accedere con le credenziali, procedere e continuare.

    Dopo aver configurato e testato la connessione in App per la logica di Azure, viene visualizzata la casella con le informazioni sull'azione.

    Screenshot che mostra il flusso di lavoro a consumo e un'azione di Azure Resource Manager denominata Crea o aggiorna una risorsa.

  3. Nell'azione Crea o aggiorna una risorsa specificare le informazioni richieste.

    1. Per includere gli output dei passaggi precedenti nel flusso di lavoro, selezionare all'interno del parametro in cui si vuole includere l'output, aprire l'elenco con il contenuto dinamico e selezionare l'output da includere.

    2. Nell'elenco Aggiungi nuovo parametro selezionare i parametri Posizione e Proprietà.

    3. Specificare i valori per questi parametri aggiunti, ad esempio:

      Screenshot che mostra il flusso di lavoro a consumo e l'azione di Azure Resource Manager con parametri aggiunti denominati Posizione e Proprietà.

    L'azione Genera schemi genera schemi come raccolta, quindi la finestra di progettazione aggiunge automaticamente un ciclo For each per l'azione di Azure Resource Manager, ad esempio:

    Screenshot che mostra il flusso di lavoro a consumo e il ciclo For each con l'azione di Azure Resource Manager inclusa.

  4. Salvare il flusso di lavoro. Sulla barra degli strumenti della finestra di progettazione seleziona Salva.

Testare il flusso di lavoro

  1. In base al fatto che si disponga di un flusso di lavoro di app per la logica a consumo o standard, seguire la procedura generale per testare ed eseguire manualmente il flusso di lavoro.

  2. Dopo una corretta esecuzione, passare all'account di integrazione e verificare che esistano gli schemi generati.

XML Schema di esempio

Se si sta imparando a generare un XML Schema da usare per la creazione di un documento di esempio, esaminare gli esempi seguenti. Questi esempi illustrano le modalità di utilizzo di molti tipi di payload, tra cui:

È possibile iniziare l'XML Schema con un prologo XML facoltativo. Il connettore SAP funziona con o senza il prologo XML.

<?xml version="1.0" encoding="utf-8">

Esempi XML per richieste RFC

Nell'esempio seguente viene illustrata una chiamata RFC di base in cui il nome RFC è STFC_CONNECTION. In questa richiesta viene usato lo spazio dei nomi predefinito denominato xmlns=. Tuttavia, è possibile assegnare e usare alias dello spazio dei nomi, ad esempio xmmlns:exampleAlias=. Il valore dello spazio dei nomi è lo spazio dei nomi di tutti gli RFC in SAP per i servizi Microsoft. La richiesta ha un semplice parametro di input denominato <REQUTEXT>.

<STFC_CONNECTION xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <REQUTEXT>exampleInput</REQUTEXT>
</STFC_CONNECTION>

Nell'esempio seguente viene illustrata una chiamata RFC con un parametro di tabella. Questa chiamata di esempio e il gruppo di RFC di test sono disponibili in tutti i sistemi SAP. Il parametro tabella è denominato TCPICDAT. Il tipo di riga della tabella è ABAPTEXT e questo elemento viene ripetuto per ogni riga della tabella. Questo esempio contiene una singola riga, denominata LINE. Le richieste con un parametro di tabella possono contenere un numero qualsiasi di campi, dove il numero è un numero intero positivo (n).

<STFC_WRITE_TO_TCPIC xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <RESTART_QNAME>exampleQName</RESTART_QNAME>
   <TCPICDAT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput1</LINE>
      </ABAPTEXT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput2</LINE>
      </ABAPTEXT>
      <ABAPTEXT xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
         <LINE>exampleFieldInput3</LINE>
      </ABAPTEXT>
   </TCPICDAT>
</STFC_WRITE_TO_TCPIC>

Suggerimento

Per esaminare il risultato di RFC STFC_WRITE_TO_TCPIC, usare il browser dati di accesso SAP (T-Code SE16) e la tabella denominata TCPIC.

Nell'esempio seguente viene illustrata una chiamata RFC con un parametro di tabella con un campo anonimo, ovvero un campo senza un nome assegnato. I tipi complessi vengono dichiarati in uno spazio dei nomi separato, in cui la dichiarazione imposta un nuovo valore predefinito per il nodo corrente e tutti i relativi elementi figlio. Nell'esempio viene usato il codice hex x002F come carattere di escape per il simbolo / perché questo simbolo è riservato nel nome del campo SAP.

<RFC_XML_TEST_1 xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
   <IM_XML_TABLE>
      <RFC_XMLCNT xmlns="http://Microsoft.LobServices.Sap/2007/03/Rfc/">
         <_x002F_AnonymousField>AQIDBAU=</_x002F_AnonymousField>
      </RFC_XMLCNT>
   </IM_XML_TABLE>
</RFC_XML_TEST_1>

L'esempio precedente illustra anche come codificare matrici binarie per i tipi di dati SAP byte e XString. Le matrici binarie sono codificate in base64 in XML (tipo di dati binari XSD xs:base64Binary). Nell'esempio il valore della stringa base64 di esempio AQIDBAU= decodifica come matrice binaria [01][02][03][04]. Questa codifica è diversa ed è più efficiente a livello di spazio rispetto alla codifica hex del connettore SAP .NET sottostante. Con la codifica hex, lo stesso valore viene codificato come stringa 01020304.

Nota

Prestare attenzione quando si usa la codifica di matrice binaria perché la codifica hex usa un subset dell'intervallo base64 e viene visualizzato come valori base64 validi. Ad esempio, anche il valore stringa 01020304 viene decodificato come valore con codifica base64 valido, ma restituisce una matrice binaria [d3][5d][36][d3][7d][38] diversa, non una matrice binaria [01][02][03][04].

L'esempio seguente include prefissi per gli spazi dei nomi. È possibile dichiarare tutti i prefissi contemporaneamente oppure dichiarare un numero qualsiasi di prefissi come attributi di un nodo. L'alias dello spazio dei nomi RFC denominato ns0 viene usato come radice e parametri per il tipo di base.

Nota

I tipi complessi vengono dichiarati in uno spazio dei nomi diverso per i tipi RFC con l'alias ns3 anziché con lo spazio dei nomi RFC normale con l'alias ns0.

<ns0:BBP_RFC_READ_TABLE xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Rfc/" xmlns:ns3="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc/">
   <ns0:DELIMITER>0</ns0:DELIMITER>
   <ns0:QUERY_TABLE>KNA1</ns0:QUERY_TABLE>
   <ns0:ROWCOUNT>250</ns0:ROWCOUNT>
   <ns0:ROWSKIPS>0</ns0:ROWSKIPS>
   <ns0:FIELDS>
      <ns3:RFC_DB_FLD>
         <ns3:FIELDNAME>KUNNR</ns3:FIELDNAME>
      </ns3:RFC_DB_FLD>
   </ns0:FIELDS>
</ns0:BBP_RFC_READ_TABLE>

Esempi XML per richieste BAPI

Gli esempi XML seguenti sono richieste di esempio per chiamare il metodo BAPI.

Nota

SAP rende gli oggetti business disponibili per i sistemi esterni descrivendoli in risposta a RFC RPY_BOR_TREE_INIT, che App per la logica di Azure genera problemi senza un filtro di input. App per la logica di Azure esamina la tabella di output BOR_TREE. Il campo SHORT_TEXT viene usato per i nomi degli oggetti business. Gli oggetti business non restituiti da SAP nella tabella di output non sono accessibili ad App per la logica di Azure.

Se si usano oggetti business personalizzati, assicurarsi di pubblicare e rilasciare questi oggetti business in SAP. In caso contrario, SAP non elenca gli oggetti business personalizzati nella tabella di output BOR_TREE. Non è possibile accedere agli oggetti business personalizzati in App per la logica di Azure fino a quando non si espongono gli oggetti business da SAP.

Nell'esempio seguente viene restituito un elenco di banche che usano il metodo BAPI GETLIST. Questo esempio contiene l'oggetto business di una banca denominata BUS1011.

<GETLIST xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANK_CTRY>US</BANK_CTRY>
   <MAX_ROWS>10</MAX_ROWS>
</GETLIST>

Nell'esempio seguente viene creato un oggetto banca usando il metodo CREATE. In questo esempio viene usato lo stesso oggetto business denominato BUS1011, come nell'esempio precedente. Quando si usa il metodo CREATE per creare una banca, assicurarsi di eseguire il commit delle modifiche perché questo metodo non viene eseguito per impostazione predefinita.

Suggerimento

Assicurarsi che il documento XML segua le regole di convalida configurate nel sistema SAP. Per questo documento di esempio, negli Stati Uniti, la chiave della banca (<BANK_KEY>) deve essere un numero di registrazione banca, noto anche come numero ABA.

<CREATE xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANK_ADDRESS>
      <BANK_NAME xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleBankName</BANK_NAME>
      <REGION xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleRegionName</REGION>
      <STREET xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">ExampleStreetAddress</STREET>
      <CITY xmlns="http://Microsoft.LobServices.Sap/2007/03/Types/Rfc">Redmond</CITY>
   </BANK_ADDRESS>
   <BANK_CTRY>US</BANK_CTRY>
   <BANK_KEY>123456789</BANK_KEY>
</CREATE>

Nell'esempio seguente vengono visualizzati i dettagli di una banca usando il numero di registrazione banca, ovvero il valore di <BANK_KEY>.

<GETDETAIL xmlns="http://Microsoft.LobServices.Sap/2007/03/Bapi/BUS1011">
   <BANKCOUNTRY>US</BANKCOUNTRY>
   <BANKKEY>123456789</BANKKEY>
</GETDETAIL>

Esempi XML per richieste IDoc

Per generare uno schema XML IDoc SAP normale, usare l'applicazione di accesso SAP e il T-Code WE60. Accedere alla documentazione SAP tramite l'interfaccia utente e generare XML Schema in formato XSD per i tipi e le estensioni IDoc. Per altre informazioni sui formati e i payload SAP generici e sulle finestre di dialogo predefinite, vedere la documentazione SAP.

In questo esempio vengono dichiarati il nodo radice e gli spazi dei nomi. L'URI nel codice di esempio, http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send, dichiara la configurazione seguente:

  • /IDoc è il nodo radice per tutti i IDocs.

  • /3 è la versione dei tipi di record per le definizioni di segmento comuni.

  • /ORDERS05 è il tipo IDoc.

  • // è un segmento vuoto perché non esiste alcuna estensione IDoc.

  • /700 è la versione SAP.

  • /Send è l'azione con cui inviare le informazioni a SAP.

<ns0:Send xmlns:ns0="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700/Send" xmlns:ns3="http://schemas.microsoft.com/2003/10/Serialization" xmlns:ns1="http://Microsoft.LobServices.Sap/2007/03/Types/Idoc/Common/" xmlns:ns2="http://Microsoft.LobServices.Sap/2007/03/Idoc/3/ORDERS05//700">
   <ns0:idocData>

È possibile ripetere il nodo idocData per inviare un batch di IDocs in una singola chiamata. Nell'esempio seguente è presente un record di controllo denominato EDI_DC40 e più record di dati.

<...>
   <ns0:idocData>
      <ns2:EDI_DC40>
         <ns1:TABNAM>EDI_DC40</ns1:TABNAM>
         <...>
         <ns1:ARCKEY>Cor1908207-5</ns1:ARCKEY>
      </ns2:EDI_DC40>
      <ns2:E2EDK01005>
         <ns2:DATAHEADERCOLUMN_SEGNAM>E23DK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:CURCY>USD</ns2:CURCY>
      </ns2:E2EDK01005>
      <ns2:E2EDK03>
      <...>
   </ns0:idocData>

Nell'esempio seguente viene illustrato un record di controllo IDoc di esempio, che usa un prefisso denominato EDI_DC. È necessario aggiornare i valori in modo che corrispondano all'installazione SAP e al tipo IDoc. Ad esempio, il codice client IDoc potrebbe non essere 800. Contattare il team SAP per assicurarsi di usare i valori corretti per l'installazione di SAP.

<ns2:EDI_DC40>
   <ns:TABNAM>EDI_DC40</ns1:TABNAM>
   <ns:MANDT>800</ns1:MANDT>
   <ns:DIRECT>2</ns1:DIRECT>
   <ns:IDOCTYP>ORDERS05</ns1:IDOCTYP>
   <ns:CIMTYP></ns1:CIMTYP>
   <ns:MESTYP>ORDERS</ns1:MESTYP>
   <ns:STD>X</ns1:STD>
   <ns:STDVRS>004010</ns1:STDVRS>
   <ns:STDMES></ns1:STDMES>
   <ns:SNDPOR>SAPENI</ns1:SNDPOR>
   <ns:SNDPRT>LS</ns1:SNDPRT>
   <ns:SNDPFC>AG</ns1:SNDPFC>
   <ns:SNDPRN>ABAP1PXP1</ns1:SNDPRN>
   <ns:SNDLAD></ns1:SNDLAD>
   <ns:RCVPOR>BTSFILE</ns1:RCVPOR>
   <ns:RCVPRT>LI</ns1:RCVPRT>

L'esempio seguente mostra un record di dati di esempio con segmenti semplici. In questo esempio viene usato il formato data SAP. I documenti con tipizzazione forte possono usare formati data XML nativi, ad esempio 2020-12-31 23:59:59.

<ns2:E2EDK01005>
   <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK01005</ns2:DATAHEADERCOLUMN_SEGNAM>
      <ns2:CURCY>USD</ns2:CURCY>
      <ns2:BSART>OR</ns2:BSART>
      <ns2:BELNR>1908207-5</ns2:BELNR>
      <ns2:ABLAD>CC</ns2:ABLAD>
   </ns2>
   <ns2:E2EDK03>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDK03</ns2:DATAHEADERCOLUMN_SEGNAM>
      <ns2:IDDAT>002</ns2:IDDAT>
      <ns2:DATUM>20160611</ns2:DATUM>
   </ns2:E2EDK03>

Nell'esempio seguente viene illustrato un record di dati con segmenti raggruppati. Il record include un nodo padre del gruppo denominato E2EDKT1002GRP e più nodi figlio, tra cui E2EDKT1002 e E2EDKT2001.

<ns2:E2EDKT1002GRP>
   <ns2:E2EDKT1002>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT1002</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:TDID>ZONE</ns2:TDID>
   </ns2:E2EDKT1002>
   <ns2:E2EDKT2001>
      <ns2:DATAHEADERCOLUMN_SEGNAM>E2EDKT2001</ns2:DATAHEADERCOLUMN_SEGNAM>
         <ns2:TDLINE>CRSD</ns2:TDLINE>
   </ns2:E2EDKT2001>
</ns2:E2EDKT1002GRP>

Il metodo consigliato consiste nel creare un identificatore IDoc da usare con tRFC. È possibile impostare questo identificatore di transazione denominato tid usando l'operazione Send IDoc nel connettore gestito SAP.

Nell'esempio seguente viene illustrato un metodo alternativo per impostare l'identificatore della transazione, o tid. In questo esempio, l'ultimo nodo del segmento di record di dati e il nodo dati IDoc vengono chiusi. Il GUID, guid, viene quindi usato come identificatore tRFC per rilevare i duplicati.

     </E2STZUM002GRP>
  </idocData>
  <guid>8820ea40-5825-4b2f-ac3c-b83adc34321c</guid>
</Send>

Passaggi successivi