Connessione a SAP dai flussi di lavoro in App per la logica di Azure

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

Questa guida pratica su più parti illustra come accedere al server SAP da un flusso di lavoro in App per la logica di Azure usando il connettore SAP. È possibile usare le operazioni del connettore SAP per creare flussi di lavoro automatizzati eseguiti quando vengono attivati da eventi nel server SAP o in altri sistemi ed eseguire azioni per gestire le risorse nel server SAP.

I flussi di lavoro delle app per la logica standard e a consumo offrono il connettore gestito SAP ospitato ed eseguito in Azure multi-tenant. I flussi di lavoro standard offrono anche il connettore predefinito SAP ospitato ed eseguito in App per la logica di Azure a tenant singolo. Se si crea e si ospita un flusso di lavoro a consumo in un ambiente del servizio di integrazione (I edizione Standard), è anche possibile usare la versione I edizione Standard nativa del connettore SAP. Per altre informazioni, vedere Connessione or technical reference (Informazioni di riferimento tecnico su Connessione or).

Compatibilità SAP

Il connettore SAP è compatibile con i tipi di sistemi SAP seguenti:

  • Sistemi SAP basati su HANA locali e basati sul cloud, ad esempio S/4 HANA.

  • Sistemi SAP locali classici, ad esempio R/3 e ECC.

SAP deve supportare la versione del sistema SAP che si vuole connettere. In caso contrario, eventuali problemi che potrebbero verificarsi potrebbero non essere risolvibili. Per altre informazioni sulle versioni di sistema SAP e sulle informazioni di manutenzione, vedere SAP Product Availability Matrix (PAM).

Il connettore SAP supporta i tipi di integrazione di messaggi e dati seguenti dai sistemi basati su SAP NetWeaver:

  • Documento intermedio (IDoc)

  • Business Application Programming Interface (BAPI)

  • Remote Function Call (RFC) e RFC transazionale (tRFC)

Il connettore SAP usa la libreria SAP .NET Connessione or (NCo).

Per usare le operazioni del connettore SAP, è necessario prima autenticare la connessione e avere le opzioni seguenti:

È possibile usare SNC per SAP NetWeaver Single Sign-On (SSO) o per le funzionalità di sicurezza di prodotti esterni. Se si sceglie di usare SNC, esaminare i prerequisiti SNC e i prerequisiti SNC per il connettore I edizione Standard.

Riferimento tecnico Connessione or

Il connettore SAP ha versioni diverse, in base al tipo di app per la logica e all'ambiente host.

App per la logica Ambiente versione di Connessione or
Consumo App per la logica di Azure multi-tenant Connettore gestito, visualizzato nella finestra di progettazione sotto l'etichetta Enterprise . Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito sap
- Connettori gestiti in App per la logica di Azure
Consumo Ambiente del servizio di integrazione Connettore gestito, visualizzato nella finestra di progettazione sotto l'etichetta Enterprise e la versione I edizione Standard nativa, visualizzata nella finestra di progettazione con l'etichetta I edizione Standard e presenta limiti di messaggio diversi rispetto al connettore gestito.

Nota: assicurarsi di usare la versione nativa di I edizione Standard, non la versione gestita.

Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito sap
- I edizione Standard limiti dei messaggi
- Connettori gestiti in App per la logica di Azure
Standard App per la logica di Azure a tenant singolo e ambiente del servizio app v3 (solo piani di Windows) Connettore gestito, visualizzato nella raccolta connettori in Runtime>Condiviso e connettore predefinito, visualizzato nella raccolta connettori in Runtime>in-App ed è basato sul provider di servizi. Il connettore predefinito può accedere direttamente alle reti virtuali di Azure con un stringa di connessione senza un gateway dati locale. Per altre informazioni, vedere la documentazione seguente:

- Informazioni di riferimento sul connettore gestito sap
- Informazioni di riferimento sul connettore predefinito SAP

- Connettori gestiti in App per la logica di Azure
- Connettori predefiniti in App per la logica di Azure

differenze di Connessione or

Il connettore predefinito SAP differisce significativamente dal connettore gestito SAP e dal connettore SAP I edizione Standard con controllo delle versioni nei modi seguenti:

  • Le connessioni locali non richiedono il gateway dati locale.

    Al contrario, il connettore predefinito SAP comunica direttamente con il server SAP nella rete virtuale integrata, evitando hop, latenza e punti di errore per un gateway di rete. Assicurarsi di caricare o distribuire le librerie client SAP non ridistribuibili con l'applicazione flusso di lavoro dell'app per la logica. Per altre informazioni, vedere Prerequisiti in questa guida.

  • Le dimensioni del payload fino a 100 MB sono supportate, pertanto non è necessario usare un URI BLOB per le richieste di grandi dimensioni.

  • Sono disponibili azioni specifiche per Call BAPI, Call RFC e Send IDoc. Queste azioni dedicate offrono un'esperienza migliore per bapi con stato, transazioni RFC e deduplicazione IDoc e non usare il modello di messaggistica SOAP Windows Communication Foundation (WCF) meno recente.

    L'azione Call BAPI include fino a due risposte con il codice JSON restituito, la risposta XML dalla chiamata BAPI e la risposta di rollback BAPI o BAPI e se si usa il commit automatico. Questa funzionalità risolve il problema con il connettore gestito SAP in cui il risultato del commit automatico è invisibile all'utente e osservabile solo tramite i log.

  • Timeout più lungo a 5 minuti rispetto al connettore gestito e al connettore con controllo delle versioni di I edizione Standard.

    Il connettore predefinito SAP non usa l'infrastruttura del connettore condivisa o globale, ovvero i timeout sono più lunghi di 5 minuti rispetto al connettore gestito SAP (due minuti) e al connettore con controllo delle versioni di SAP I edizione Standard (quattro minuti). Le richieste con esecuzione prolungata funzionano senza dover implementare il modello di azione di richiesta basato su webhook a esecuzione prolungata.

  • Per impostazione predefinita, le operazioni predefinite del connettore SAP sono senza stato. Tuttavia, è possibile abilitare la modalità con stato (affinità) per queste operazioni.

    In modalità con stato, il connettore predefinito SAP supporta la disponibilità elevata e le configurazioni con scalabilità orizzontale. Per confronto, il connettore gestito SAP ha restrizioni relative al gateway dati locale limitato a una singola istanza per i trigger e ai cluster solo in modalità di failover per le azioni. Per altre informazioni, vedere Connettore gestito SAP - Problemi noti e limitazioni.

  • I flussi di lavoro delle app per la logica standard richiedono e usano la libreria client SAP NCo 3.1, non la versione di SAP NCo 3.0. Per altre informazioni, consulta Prerequisiti.

  • I flussi di lavoro dell'app per la logica standard forniscono impostazioni dell'applicazione in cui è possibile specificare una password P edizione Standard e P edizione Standard ambiente di sicurezza personale.

    Questa modifica impedisce il caricamento di più file P edizione Standard, che non sono supportati e genera errori di connessione SAP. Nei flussi di lavoro dell'app per la logica a consumo, il connettore gestito SAP consente di specificare questi valori tramite i parametri di connessione, che consentono di caricare più file P edizione Standard e non è supportato, causando errori di connessione SAP.

  • Genera azione schema

    • È possibile scegliere tra più tipi di operazione, ad esempio BAPI, IDoc, RFC e tRFC, rispetto alla stessa azione nel connettore gestito SAP, che usa il parametro SapActionUris e un'esperienza di selezione del file system.

    • È possibile specificare direttamente un nome di parametro come valore personalizzato. Ad esempio, è possibile specificare il parametro RFC Name dall'azione Call RFC .For example, you can specify the RFC parameter from the Call RFC action. In confronto, nel connettore gestito SAP è stato necessario specificare un nome di parametro URI azione complesso.

    • Per impostazione predefinita, questa azione non supporta la generazione di più schemi per RFC, BAPI o IDocs in un'esecuzione a singola azione, supportata dal connettore gestito da SAP. Questa modifica della funzionalità impedisce ora di inviare grandi quantità di contenuto in una singola chiamata.

Parametri del connettore

Oltre a semplici input di stringa e numeri, il connettore SAP accetta i parametri di tabella seguenti (Type=ITAB input):

  • Parametri di direzione della tabella, sia di input che di output, per le versioni SAP meno recenti.
  • Modifiche ai parametri, che sostituiscono i parametri di direzione della tabella per le versioni sap più recenti.
  • Parametri di tabella gerarchici.

Problemi noti e limitazioni

Connettore gestito SAP

  • Il connettore SAP attualmente non supporta le stringhe di route SAP. Il gateway dati locale deve esistere in una rete virtuale in cui il gateway può raggiungere direttamente il sistema SAP che si vuole connettere.

  • In generale, il trigger SAP non supporta i cluster gateway dati. In alcuni casi di failover, il nodo del gateway dati che comunica con il sistema SAP potrebbe differire dal nodo attivo, con un comportamento imprevisto.

    • Per gli scenari di invio di messaggi, sono supportati i cluster del gateway dati in modalità di failover.

    • Le azioni SAP con stato non supportano i cluster gateway dati in modalità di bilanciamento del carico. Le comunicazioni con stato devono rimanere nello stesso nodo del cluster del gateway dati. Usare il gateway dati in modalità non cluster o in un cluster configurato solo per il failover. Ad esempio, queste azioni includono quanto segue:

      • Tutte le azioni che specificano un valore id sessione
      • [BAPI] Eseguire il commit della transazione
      • [BAPI] Eseguire il rollback della transazione
      • [BAPI - RFC] Chiudere una sessione con stato
      • [BAPI - RFC] Creare una sessione con stato
  • Nell'azione denominata [BAPI] Chiamare il metodo in SAP, la funzionalità di commit automatico non eseguirà il commit delle modifiche BAPI se nell'oggetto CallBapiResponse restituito dall'azione esiste almeno un avviso. Per eseguire il commit delle modifiche BAPI nonostante gli avvisi, seguire questa procedura:

    1. Creare una sessione in modo esplicito usando l'azione denominata [BAPI - RFC] Creare una sessione con stato.
    2. Nell'azione denominata [BAPI] Chiamare il metodo in SAP disabilitare la funzionalità di commit automatico.
    3. Chiamare invece l'azione denominata [BAPI] Eseguire il commit della transazione .

Connessioni basate su IP a SAP Message Server (configurazione con carico bilanciato)

Se si specifica un indirizzo IP per connettersi a un server messaggi SAP, ad esempio un servizio di bilanciamento del carico, la connessione potrebbe comunque non riuscire con un messaggio di errore simile a "nome host SAPDB edizione Standard RVER01.example.com sconosciuto". Il server messaggi indica al connettore SAP di usare un nome host per la connessione al server applicazioni SAP back-end o al server dietro il servizio di bilanciamento del carico. Se DNS non riesce a risolvere il nome host, la connessione non riesce.

Per questo problema, esistono le soluzioni o le soluzioni seguenti:

  • Assicurarsi che il client che effettua la connessione, ad esempio il computer con il gateway dati locale per il connettore SAP o l'host del connettore I edizione Standard per il connettore SAP basato su I edizione Standard, può risolvere i nomi host restituiti dal server messaggi.

  • Nella transazione denominata RZ11 modificare o aggiungere l'impostazione SAP denominata ms/lg_with_hostname=0.

Contesto del problema o sfondo

SAP ha aggiornato il connettore .NET (NCo) alla versione 3.1, che ha modificato il modo in cui il connettore richiede connessioni ai server back-end dai server messaggi. Il connettore usa ora una nuova API per la risoluzione del server applicazioni dal server messaggi, a meno che il connettore non usi l'API precedente tramite l'impostazione denominata ms/lg_with_hostname=0'. Per altre informazioni, vedere l'articolo della Knowledge Base di SAP 3305039 - Impostazione indirizzo IP SMLG non considerata durante l'accesso al gruppo di accesso.

Prerequisiti

  • Account e sottoscrizione di Azure. Se non si dispone ancora di una sottoscrizione di Azure, registrarsi per creare un account Azure gratuito.

  • Server applicazioni SAP o server messaggi SAP a cui si vuole accedere da App per la logica di Azure.

    • Configurare il server SAP e l'account utente per consentire l'uso di RFC.

      Per altre informazioni, che include i tipi di account utente supportati e l'autorizzazione minima necessaria per ogni tipo di azione (RFC, BAPI, IDoc), vedere la nota SAP seguente: 460089 - Profili di autorizzazione minimi per i programmi RFC esterni.

    • L'account utente SAP deve accedere al RFC_METADATA gruppo di funzioni e ai rispettivi moduli di funzione per le operazioni seguenti:

      Operazioni Accesso ai moduli funzionali
      Azioni per RFC RFC_GROUP_SEARCH e DD_LANGU_TO_ISOLA
      Azioni BAPI BAPI_TRANSACTION_COMMIT, BAPI_TRANSACTION_ROLLBACK, RPY_BOR_TREE_INIT, SWO_QUERY_METHODS e SWO_QUERY_API_METHODS
      Azioni IDoc IDOCTYPES_LIST_WITH_MESSAGES, IDOCTYPES_FOR_MESTYPE_READ, INBOUND_IDOCS_FOR_TID, OUTBOUND_IDOCS_FOR_TID, GET_STATUS_FROM_IDOCNR e IDOC_RECORD_READ
      Leggere l'azione tabella SAP Il valore può essere RFC BBP_RFC_READ_TABLE o RFC_READ_TABLE
      Concedi un accesso minimo rigoroso al server SAP per la tua connessione SAP RFC_METADATA_GET e RFC_METADATA_GET_TIMESTAMP
  • Flusso di lavoro dell'app per la logica da cui si vuole accedere al server SAP.

    • Per un flusso di lavoro a consumo in App per la logica di Azure multi-tenant, vedere Prerequisiti multi-tenant.

    • Per un flusso di lavoro Standard in App per la logica di Azure a tenant singolo, vedere Prerequisiti a tenant singolo.

    • Per un flusso di lavoro a consumo in un ambiente del servizio di integrazione di livello Premium (I edizione Standard), vedere I edizione Standard prerequisiti.

      Nota

      Quando si usa un edizione Standard di livello Premium, usare il connettore SAP nativo I edizione Standard, non il connettore gestito SAP, che non viene eseguito in modo nativo in un I edizione Standard. Per altre informazioni, vedere i prerequisiti di I edizione Standard.

  • Per impostazione predefinita, le operazioni predefinite del connettore SAP sono senza stato. Per eseguire queste operazioni in modalità con stato, vedere Abilitare la modalità con stato per i connettori predefiniti senza stato.

  • Per usare il trigger del connettore gestito o predefinito SAP denominato Quando viene ricevuto un messaggio, completare le attività seguenti:

    • Configurare le autorizzazioni di sicurezza del gateway SAP o Controllo di accesso List (ACL). Nella finestra di dialogo Monitoraggio gateway (T-Code SMGW) che mostra i file secinfo e reginfo, aprire il menu Goto e selezionare Expert Functions>External Security Maintenance of ACL Files (Manutenzione sicurezza>esterna di Funzioni esperti dei file ACL).

      È necessaria l'impostazione di autorizzazione seguente:

      P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*

      Questa riga ha il formato seguente:

      P TP=<trading-partner-identifier-(program-name)-or-*-for-all-partners> HOST=<comma-separated-list-with-external-host-IP-or-network-names-that-can-register-the-program> ACCESS=<*-for-all-permissions-or-a-comma-separated-list-of-permissions>

      Se non si configurano le autorizzazioni di sicurezza del gateway SAP, è possibile che venga visualizzato l'errore seguente:

      Registrazione di tp Microsoft.PowerBI.EnterpriseGateway dal nome> host host <non consentito

      Per altre informazioni, vedere la nota SAP 1850230 - GW: "Registrazione dell'ID> programma tp <non consentito".

    • Configurare la registrazione della sicurezza del gateway SAP per individuare i problemi relativi all'elenco di Controllo di accesso (ACL). Per altre informazioni, vedere l'argomento della Guida sap per configurare la registrazione del gateway.

    • Nella finestra di dialogo Configurazione delle Connessione RFC (T-Code SM59) creare una connessione RFC con il tipo TCP/IP. Assicurarsi che il tipo di attivazione sia impostato su Programma server registrato. Impostare il tipo di comunicazione della connessione RFC con il valore del sistema di destinazione su Unicode.

    • Se si usa questo trigger SAP con il parametro IDOC Format impostato su FlatFile insieme all'azione Decodifica file flat, è necessario usare la early_terminate_optional_fields proprietà nello schema del file flat impostando il valore su true.

      Questo requisito è necessario perché il record di dati IDoc del file flat inviato da SAP nella chiamata IDOC_INBOUND_ASYNCHRONOUS tRFC non viene riempito fino alla lunghezza completa del campo SDATA. App per la logica di Azure fornisce i dati originali IDoc del file flat senza spaziatura interna ricevuti da SAP. Inoltre, quando si combina questo trigger SAP con l'azione Decodifica file flat, lo schema fornito all'azione deve corrispondere.

    Nota

    Nei flussi di lavoro a consumo e standard, il trigger gestito SAP denominato Quando viene ricevuto un messaggio usa la stessa posizione URI per rinnovare e annullare la sottoscrizione a una sottoscrizione webhook. L'operazione di rinnovo usa il metodo HTTP PATCH , mentre l'operazione di annullamento della sottoscrizione usa il metodo HTTP DELETE . Questo comportamento potrebbe rendere visualizzata un'operazione di rinnovo come operazione di annullamento della sottoscrizione nella cronologia del trigger, ma l'operazione è ancora un rinnovo perché il trigger usa PATCH come metodo HTTP, non DELETE.

    Nei flussi di lavoro Standard, il trigger predefinito SAP denominato Quando viene ricevuto un messaggio usa invece il trigger Funzioni di Azure e mostra solo i callback effettivi da SAP.

    • WEBSITE_PRIVATE_IP: impostare questo valore della variabile di ambiente su 127.0.0.1 come indirizzo localhost.
    • WEBSITE_PRIVATE_PORTS: impostare questo valore della variabile di ambiente su due porte libere e utilizzabili nel computer locale, separando i valori con una virgola (,), ad esempio 8080.8088.
  • Contenuto del messaggio da inviare al server SAP, ad esempio un file IDoc di esempio. Questo contenuto deve essere in formato XML e includere lo spazio dei nomi dell'azione SAP da usare. È possibile inviare IDocs con uno schema di file flat eseguendo il wrapping in una busta XML.

Prerequisiti di connettività di rete

Il sistema SAP richiede la connettività di rete dall'host della libreria SAP .NET Connessione or (NCo):

  • Per i flussi di lavoro delle app per la logica a consumo in App per la logica di Azure multi-tenant, il gateway dati locale ospita la libreria NCo (SAP .NET Connessione or). Se si usa un cluster gateway dati locale, tutti i nodi del cluster richiedono la connettività di rete al sistema SAP.

  • Per i flussi di lavoro dell'app per la logica Standard in App per la logica di Azure a tenant singolo, la risorsa dell'app per la logica ospita la libreria NCo (SAP .NET Connessione or). La risorsa dell'app per la logica deve quindi abilitare l'integrazione della rete virtuale e tale rete virtuale deve avere connettività di rete al sistema SAP.

  • Per i flussi di lavoro dell'app per la logica a consumo in un edizione Standard, la rete virtuale I edizione Standard ospita la libreria NCo (SAP .NET Connessione or).

La connettività di rete richiesta dal sistema SAP include i server e i servizi seguenti:

  • Server applicazioni SAP, servizio Dispatcher (per tutti i tipi di accesso)

    Il sistema SAP può includere più server applicazioni SAP. L'host della libreria NCo (SAP .NET Connessione or) richiede l'accesso a ogni server e ai relativi servizi.

  • SAP Message Server, Servizio messaggi (per tipo di accesso Gruppo)

    Il server messaggi e il servizio reindirizzeranno a uno o più servizi Dispatcher del server applicazioni. L'host della libreria NCo (SAP .NET Connessione or) richiede l'accesso a ogni server e ai relativi servizi.

  • Server gateway SAP, servizio gateway

  • Server gateway SAP, servizio protetto gateway

    La connettività di rete richiesta dal sistema SAP include anche questo server e il servizio da usare con Secure Network Communications (SNC).

Il reindirizzamento delle richieste dal server applicazioni, dal servizio Dispatcher al server gateway, il servizio gateway viene eseguito automaticamente all'interno della libreria NCo (SAP .NET Connessione or). Questo reindirizzamento si verifica anche se nei parametri di connessione vengono fornite solo le informazioni sul servizio Dispatcher.

Se si usa un servizio di bilanciamento del carico davanti al sistema SAP, è necessario reindirizzare tutti i servizi ai rispettivi server. Per altre informazioni su servizi e porte SAP, vedere Porte TCP/IP di tutti i prodotti SAP.

Nota

Assicurarsi di abilitare la connettività di rete dall'host della libreria SAP .NET Connessione or (NCo) e che le porte necessarie siano aperte nei firewall e nei gruppi di sicurezza di rete. In caso contrario, vengono visualizzati errori come il partner non raggiunto dal componente NI (network interface) e dal testo di errore, ad esempio WSAECONNREFU edizione Standard D: Connessione ion rifiutato.

Prerequisiti della libreria client SAP NCo

Per usare il connettore SAP, è necessario installare la libreria client NCo di SAP Connessione or per Microsoft .NET 3.1. L'elenco seguente descrive i prerequisiti per la libreria client SAP NCo, in base al flusso di lavoro in cui si usa il connettore SAP:

  • Versione:

  • Dalla cartella di installazione predefinita della libreria client copiare i file dell'assembly (.dll) in un altro percorso, in base allo scenario indicato di seguito. In alternativa, se si usa solo il connettore gestito SAP, quando si installa la libreria client SAP NCo, selezionare Registrazione Global Assembly Cache. L'archivio ZIP I edizione Standard e il connettore predefinito SAP attualmente non supporta la registrazione GAC.

    • Per un flusso di lavoro a consumo eseguito in App per la logica di Azure multi-tenant e usa il gateway dati locale, copiare i file di assembly (.dll) seguenti nella cartella di installazione del gateway dati locale, ad esempio C:\Programmi\Gateway dati locale. La libreria client SAP NCo 3.0 contiene gli assembly seguenti:

      • libicudecnumber.dll
      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll

      Assicurarsi di copiare i file di assembly nella cartella di installazione del gateway dati. In caso contrario, la connessione SAP potrebbe non riuscire con il messaggio di errore. Controllare le informazioni sull'account e/o le autorizzazioni e riprovare. È possibile risolvere altri problemi usando il visualizzatore del log di associazione di assembly .NET. Questo strumento consente di verificare che i file di assembly si trovino nel percorso corretto.

    • Per i flussi di lavoro Standard, copiare i file di assembly (.dll) seguenti in un percorso da cui è possibile caricarli rispettivamente nella risorsa o nel progetto dell'app per la logica in cui si compila il flusso di lavoro, rispettivamente nel portale di Azure o in locale in Visual Studio Code. La libreria client SAP NCo 3.1 include gli assembly seguenti:

      • rscp4n.dll
      • sapnco.dll
      • sapnco_utils.dll
    • Per un flusso di lavoro a consumo in un edizione Standard, seguire invece i prerequisiti I edizione Standard.

Esistono le relazioni seguenti tra la libreria client SAP NCo, .NET Framework, il runtime .NET e il gateway dati:

  • L'adapter Microsoft SAP e il servizio host del gateway usano entrambi .NET Framework 4.7.2.

  • SAP NCo per .NET Framework 4.0 funziona con i processi che usano il runtime .NET da 4.0 a 4.8.

  • SAP NCo per .NET Framework 2.0 funziona con i processi che usano .NET Runtime 2.0 a 3.5, ma non funzionano più con il gateway più recente.

Prerequisiti SNC

Per i flussi di lavoro a consumo in App per la logica di Azure multi-tenant che usano il gateway dati locale e, facoltativamente, SNC, è necessario configurare anche le impostazioni seguenti.

  • Assicurarsi che la versione della libreria SNC e le relative dipendenze siano compatibili con l'ambiente SAP. Per risolvere eventuali problemi di compatibilità delle librerie, è possibile usare il gateway dati locale e i log del gateway dati.

  • Assicurarsi di aver copiato i file di assembly seguenti (.dll) nella libreria client SAP NCo 3.0 nella cartella di installazione del gateway dati locale, ad esempio C:\Programmi\Gateway dati locale.

    • libicudecnumber.dll
    • rscp4n.dll
    • sapnco.dll
    • sapnco_utils.dll
  • Per l'utilità SAPGENP edizione Standard è necessario usare in modo specifico sapgenpse.exe.

  • Se si fornisce un ambiente di sicurezza personale (P edizione Standard) con la connessione, non è necessario copiare e configurare P edizione Standard e edizione Standard CUDIR per il gateway dati locale.

  • Se si abilita SNC tramite un prodotto di sicurezza esterno, ad esempio sapseculib, Kerberos o NTLM, assicurarsi che la libreria SNC esista nello stesso computer dell'installazione del gateway dati. Per questa attività, copiare i file binari della libreria SNC nella stessa cartella dell'installazione del gateway dati nel computer locale, ad esempio C:\Programmi\Gateway dati locale.

    Nota

    Nel computer con l'installazione del gateway dati e la libreria SNC non impostare le variabili di ambiente per SNC_LIB e SNC_LIB_64. In caso contrario, queste variabili hanno la precedenza sul valore della libreria SNC passato attraverso il connettore.

  • Per usare SNC con Single Sign-On (SSO), assicurarsi che il servizio gateway dati sia in esecuzione come utente mappato a un utente SAP. Per modificare l'account predefinito per l'account del servizio gateway, selezionare Cambia account e immettere le credenziali utente.

    Screenshot che mostra il programma di installazione del gateway dati locale e la pagina Service Impostazioni con il pulsante per modificare l'account del servizio gateway selezionato.

Per altre informazioni sull'abilitazione di SNC, vedere Enable Secure Network Communications (SNC).

prerequisiti dell'ambiente App per la logica di Azure

Per un flusso di lavoro a consumo in App per la logica di Azure multi-tenant, il connettore gestito SAP si integra con i sistemi SAP tramite un gateway dati locale. Ad esempio, negli scenari in cui il flusso di lavoro invia un messaggio al sistema SAP, il gateway dati funge da client RFC e inoltra le richieste ricevute dal flusso di lavoro a SAP. Analogamente, negli scenari in cui il flusso di lavoro riceve un messaggio da SAP, il gateway dati funge da server RFC che riceve le richieste da SAP e le inoltra al flusso di lavoro.

  1. In un computer host o in una macchina virtuale presente nella stessa rete virtuale del sistema SAP a cui ci si connette, scaricare e installare il gateway dati locale.

    Il gateway dati consente di accedere in modo sicuro a dati e risorse locali. Assicurarsi di usare una versione supportata del gateway. Se si verifica un problema con il gateway, provare ad eseguire l'aggiornamento alla versione più recente, che potrebbe includere aggiornamenti per risolvere il problema.

  2. Nella portale di Azure creare una risorsa gateway di Azure per l'installazione del gateway dati locale.

  3. Nello stesso computer locale dell'installazione del gateway dati locale scaricare e installare la libreria client SAP NCo più recente.

  4. Per il computer host con l'installazione del gateway dati locale, configurare i nomi host di rete e la risoluzione dei nomi dei servizi.

    • Per usare i nomi host o i nomi dei servizi per le connessioni da App per la logica di Azure, è necessario configurare la risoluzione dei nomi per ogni applicazione SAP, messaggio e server gateway insieme ai relativi servizi:

      • Nel file %windir%\System32\drivers\etc\hosts o nel server DNS disponibile per il computer host per l'installazione del gateway dati locale, configurare la risoluzione dei nomi host di rete.

      • Nel file %windir%\System32\drivers\etc\services configurare la risoluzione dei nomi del servizio.

    • Se non si intende usare nomi host di rete o nomi di servizio per la connessione, è possibile usare invece indirizzi IP host e numeri di porta del servizio.

    • Se non si dispone di una voce DNS per il sistema SAP, l'esempio seguente mostra una voce di esempio per il file hosts:

      10.0.1.9           sapserver                   # SAP single-instance system host IP by simple computer name
      10.0.1.9           sapserver.contoso.com       # SAP single-instance system host IP by fully qualified DNS name
      

      L'elenco seguente mostra un set di voci di esempio per i file di servizi:

      sapdp00            3200/tcp              # SAP system instance 00 dialog (application) service port
      sapgw00            3300/tcp              # SAP system instance 00 gateway service port
      sapmsDV6           3601/tcp              # SAP system ID DV6 message service port
      

Abilitare Secure Network Communications (SNC)

Per un flusso di lavoro a consumo eseguito in App per la logica di Azure multi-tenant, è possibile abilitare SNC per l'autenticazione, che si applica solo quando si usa il gateway dati. Prima di iniziare, assicurarsi di soddisfare tutti i prerequisiti necessari e i prerequisiti SNC.

  1. Nella portale di Azure aprire l'app per la logica a consumo e il flusso di lavoro nella finestra di progettazione.

  2. Aggiungere o modificare un'operazione del connettore gestito SAP.

  3. Nella casella Informazioni di connessione SAP specificare le informazioni necessarie seguenti. Il tipo di autenticazione selezionato modifica le opzioni disponibili.

    Screenshot che mostra le impostazioni di connessione SAP per Consumo.

    Nota

    I campi Nome utente SAP e Password SAP sono facoltativi. Se non si specifica un nome utente e una password, il connettore usa il certificato client fornito in un passaggio successivo per l'autenticazione.

  4. Per abilitare SNC, nella casella informazioni di connessione SAP specificare invece le informazioni necessarie seguenti:

    Screenshot che mostra le impostazioni di connessione SAP per SNC abilitate per Consumo.

    Parametro Descrizione
    Usare SNC Selezionare la casella di controllo.
    Libreria SNC Immettere uno dei valori seguenti:

    - Nome della libreria SNC, ad esempio, sapsnc.dll
    - Percorso relativo del percorso di installazione NCo, ad esempio .\security\sapsnc.dll
    - Percorso assoluto del percorso di installazione NCo, ad esempio c:\security\sapsnc.dll
    SNC SSO Selezionare Accesso usando l'identità SNC o Logon con il nome utente/password specificato a livello RFC.

    In genere, l'identità SNC viene usata per autenticare il chiamante. È possibile scegliere di eseguire l'autenticazione con un nome utente e una password, ma questo valore di parametro è ancora crittografato.
    SNC My Name Nella maggior parte dei casi, è possibile omettere questo valore. La soluzione SNC installata di solito conosce il proprio nome SNC. Nel caso in cui la soluzione supporti più identità, potrebbe essere necessario specificare l'identità da usare per questa destinazione o server specifico.
    Nome partner SNC Immettere il nome per il backend SNC, ad esempio p:CN=DV3, OU=LA, O=MS, C=US.
    Qualità snc di protezione Selezionare la qualità del servizio da utilizzare per la comunicazione SNC con questo particolare server o destinazione. Il valore predefinito è definito dal sistema back-end. Il valore massimo è definito dal prodotto di sicurezza utilizzato per SNC.
    Certificato SNC Immettere la chiave pubblica con codifica Base64 per il certificato da usare per identificare il client in SAP.

    Nota: non includere l'intestazione o il piè di pagina PEM.

    - Non immettere la chiave privata per il certificato client qui. L'ambiente di sicurezza personale (P edizione Standard) deve contenere la chiave privata corrispondente per questo certificato e potrebbe contenere altri certificati privati. Per altre informazioni, vedere il parametro successivo.
    P edizione Standard Immettere snc Personal Security Environment (P edizione Standard) come file binario con codifica Base64.

    - La chiave P edizione Standard deve contenere la chiave privata per il certificato client in cui l'identificazione personale corrisponde alla chiave pubblica per il certificato client nel parametro Certificato SNC.

    - Anche se p edizione Standard potrebbe contenere più certificati client, per usare certificati client diversi, creare invece flussi di lavoro separati.

    - Se si usano più certificati client SNC per la risorsa dell'app per la logica Standard, è necessario specificare lo stesso P edizione Standard per tutte le connessioni. Il P edizione Standard deve contenere la chiave privata corrispondente per il certificato client per ognuna e tutte le connessioni. È necessario impostare il parametro Certificate SNC in modo che corrisponda al certificato privato specifico per ogni connessione.
  5. Per completare la creazione della connessione, selezionare Crea.

    Se i parametri sono corretti, viene creata la connessione. Se si verifica un problema con i parametri, nella finestra di dialogo di creazione della connessione viene visualizzato un messaggio di errore. Per risolvere i problemi relativi ai parametri di connessione, è possibile usare l'installazione del gateway dati locale e i log locali del gateway.

Convertire un file P edizione Standard binario in formato con codifica Base64

  1. Usare uno script di PowerShell, ad esempio:

    Param ([Parameter(Mandatory=$true)][string]$psePath, [string]$base64OutputPath)
    $base64String = [convert]::ToBase64String((Get-Content -path $psePath -Encoding byte))
    if ($base64OutputPath -eq $null)
    {
        Write-Output $base64String
    }
    else
    {
        Set-Content -Path $base64OutputPath -Value $base64String
        Write-Output "Output written to $base64OutputPath"
    } 
    
  2. Salvare lo script come file pseConvert.ps1 e quindi richiamare lo script, ad esempio:

    .\pseConvert.ps1 -psePath "C:\Temp\SECUDIR\request.pse" -base64OutputPath "connectionInput.txt"
    Output written to connectionInput.txt 
    

    Se non si specifica il parametro del percorso di output, l'output dello script nella console contiene interruzioni di riga. Rimuovere le interruzioni di riga nella stringa con codifica base 64 per il parametro di input della connessione.

Configurare e testare l'invio di IDocs al flusso di lavoro da SAP

Seguire questi passaggi solo per testare la configurazione SAP con il flusso di lavoro dell'app per la logica. Gli ambienti di produzione richiedono una configurazione aggiuntiva.

Per inviare IDocs da SAP al flusso di lavoro, è necessaria la configurazione minima seguente:

  1. Creare una destinazione RFC.
  2. Creare una connessione ABAP.
  3. Creare una porta ricevitore.
  4. Creare una porta mittente.
  5. Creare un partner di sistema logico.
  6. Creare un profilo partner.
  7. Testare l'invio di messaggi.

Creare una destinazione RFC

Questa destinazione identifica il flusso di lavoro dell'app per la logica come porta ricevente.

  1. In SAP aprire le impostazioni Di configurazione delle Connessione RFC. È possibile usare il codice transazione sm59 (T-Code) con il prefisso /n .

  2. Selezionare TCP/IP Connessione ions>Crea.

  3. Creare una nuova destinazione RFC con le impostazioni seguenti:

    1. Per Destinazione RFC immettere un nome.

    2. Nella scheda Technical Impostazioni ( Tipo di attivazione) selezionare Registered Server Program (Programma server registrato).

    3. Per ID programma immettere un valore. Nel server SAP il trigger del flusso di lavoro viene registrato usando questo identificatore.

      Importante

      L'ID programma SAP fa distinzione tra maiuscole e minuscole. Assicurarsi di usare in modo coerente lo stesso formato di maiuscole e minuscole per l'ID programma quando si configura il flusso di lavoro e il server SAP. In caso contrario, è possibile che vengano visualizzati gli errori seguenti nel monitoraggio tRFC (T-Code SM58) quando si tenta di inviare un IDoc a SAP:

      • Impossibile trovare IDOC_INBOUND_ASYNCHRONOUS funzione
      • Client RFC non ABAP (tipo di partner ) non supportato

      Per altre informazioni da SAP, vedere le note seguenti (account di accesso obbligatorio):

    4. Nella scheda Unicode selezionare Unicode per Tipo di comunicazione con sistema di destinazione.

      Nota

      Le librerie client sap .NET supportano solo la codifica dei caratteri Unicode. Se viene visualizzato l'errore Non-ABAP RFC client (tipo di partner) non supportato quando si invia un IDoc da SAP a App per la logica di Azure, verificare che il valore Del tipo di comunicazione con sistema di destinazione sia impostato su Unicode.

  4. Salva le modifiche.

  5. Registrare il nuovo ID programma con App per la logica di Azure creando un flusso di lavoro dell'app per la logica che inizia con il trigger gestito SAP denominato Quando viene ricevuto un messaggio.

    In questo modo, quando si salva il flusso di lavoro, App per la logica di Azure registra l'ID programma nel gateway SAP.

  6. Nella cronologia dei trigger del flusso di lavoro, i log dell'adapter SAP del gateway dati locale, se applicabile, e i log di traccia del gateway SAP, controllano lo stato di registrazione.

    Nella casella Monitoraggio gateway SAP (T-Code SMGW), in Client connessi, la nuova registrazione viene visualizzata come Server registrato.

  7. Per testare la connessione, nella nuova destinazione RFC selezionare Connessione ion Test.

Creare una connessione ABAP

Questa destinazione identifica il sistema SAP come porta del mittente.

  1. In SAP aprire le impostazioni Di configurazione delle Connessione RFC. È possibile usare il codice transazione sm59 (T-Code) con il prefisso /n .

  2. Selezionare ABAP Connessione ions>Crea.

  3. Per Destinazione RFC immettere l'identificatore per il sistema SAP di test.

  4. In Technical Impostazioni lasciare vuoto l'host di destinazione per creare una connessione locale al sistema SAP.

  5. Salva le modifiche.

  6. Per testare la connessione, selezionare Connessione ion Test.

Creare una porta ricevitore

  1. In SAP aprire le impostazioni di elaborazione Porte in IDOC. È possibile usare il codice di transazione we21 (T-Code) con il prefisso /n .

  2. Selezionare Porte>RFC>transazionali Crea.

  3. Nella casella delle impostazioni visualizzata selezionare il nome della porta. Per la porta di test immettere un nome. Salva le modifiche.

  4. Nelle impostazioni per la nuova porta ricevitore, per la destinazione RFC, immettere l'identificatore per la destinazione RFC di test.

  5. Salva le modifiche.

Creare la porta del mittente

  1. In SAP aprire le impostazioni di elaborazione Porte in IDOC. È possibile usare il codice di transazione we21 (T-Code) con il prefisso /n .

  2. Selezionare Porte>RFC>transazionali Crea.

  3. Nella casella delle impostazioni visualizzata selezionare il nome della porta.

  4. Per la porta di test immettere un nome che inizia con SAP. Salva le modifiche.

    Tutti i nomi delle porte del mittente devono iniziare con le lettere SAP, ad esempio SAPTEST.

  5. Nelle impostazioni per la nuova porta mittente immettere l'identificatore per la connessione ABAP per la destinazione RFC.

  6. Salva le modifiche.

Creare un partner di sistema logico

  1. In SAP aprire l'opzione Cambia visualizzazione "Sistemi logici": impostazioni di panoramica . È possibile usare il codice di transazione bd54 (T-Code).

  2. Accettare il messaggio di avviso seguente visualizzato: Attenzione: La tabella è cross-client

  3. Sopra l'elenco che mostra i sistemi logici esistenti, selezionare Nuove voci.

  4. Per il nuovo sistema logico immettere un identificatore Log.System e una breve descrizione del nome . Salva le modifiche.

  5. Quando viene visualizzato Prompt for Workbench, creare una nuova richiesta specificando una descrizione o se è già stata creata una richiesta, ignorare questo passaggio.

  6. Dopo aver creato la richiesta workbench, collegare la richiesta alla richiesta di aggiornamento della tabella. Per verificare che la tabella sia stata aggiornata, salvare le modifiche.

Creare profili partner

Per gli ambienti di produzione, è necessario creare due profili partner. Il primo profilo è per il mittente, ovvero l'organizzazione e il sistema SAP. Il secondo profilo è per il ricevitore, ovvero la risorsa e il flusso di lavoro dell'app per la logica.

  1. In SAP aprire le impostazioni dei profili partner. È possibile usare il codice di transazione we20 (T-Code) con il prefisso /n .

  2. In Profili partner selezionare Partner Type LS Create (Tipo di partner LS>Crea).

  3. Creare un nuovo profilo partner con le impostazioni seguenti:

    Impostazione Descrizione
    Partner No. Immettere l'identificatore del partner di sistema logico.
    Parten. Type Immettere LS.
    Agente Immettere l'identificatore dell'account utente SAP da usare quando si registrano gli identificatori di programma per App per la logica di Azure o altri sistemi non SAP.
  4. Salva le modifiche.

    Se il partner di sistema logico non è stato creato, viene visualizzato l'errore Immettere un numero di partner valido.

  5. Nelle impostazioni del profilo partner, in Parmtrs in uscita selezionare Crea parametro in uscita.

  6. Creare un nuovo parametro in uscita con le impostazioni seguenti:

  7. Salva le modifiche.

Testare l'invio di messaggi

  1. In SAP aprire lo strumento di test per le impostazioni di elaborazione IDoc. È possibile usare il codice di transazione we19 (T-Code) con il prefisso /n .

  2. In Modello per il test selezionare Via tipo di messaggio. Immettere il tipo di messaggio, ad esempio CREMAS. Seleziona Crea.

  3. Confermare il messaggio Di tipo IDoc selezionandoContinua.

  4. Selezionare il nodo EDIDC . Immettere i valori appropriati per le porte ricevitore e mittente. Selezionare Continua.

  5. Selezionare Elaborazione in uscita standard.

  6. Per avviare l'elaborazione IDoc in uscita, selezionare Continua.

    Al termine dell'elaborazione dello strumento, viene visualizzato il messaggio IDoc inviato al sistema SAP o al programma esterno.

  7. Per verificare la presenza di errori di elaborazione, usare il codice di transazione sm58 (T-Code) con il prefisso /n .

Creare flussi di lavoro per scenari SAP comuni

Per la guida pratica alla creazione di flussi di lavoro per carichi di lavoro di integrazione SAP comuni, vedere la procedura seguente:

Creare flussi di lavoro per scenari SAP avanzati

Trovare i log degli errori estesi (solo connettore gestito)

Se si usa il connettore gestito SAP, è possibile trovare messaggi di errore completi controllando i log estesi dell'adapter SAP. È anche possibile abilitare un file di log esteso per il connettore SAP.

  • Per le versioni locali del gateway dati da aprile 2020 e versioni precedenti, i log sono disabilitati per impostazione predefinita.

  • Per le versioni del gateway dati locale a partire da giugno 2020 e versioni successive, è possibile abilitare i log del gateway nelle impostazioni dell'app.

    • Il livello di registrazione predefinito è Warning.

    • Se si abilita Registrazione aggiuntiva nelle impostazioni di diagnostica dell'app gateway dati locale, il livello di registrazione viene aumentato a Informazioni.

    • Per aumentare il livello di registrazione a Dettagliato, aggiornare l'impostazione seguente nel file di configurazione. In genere, il file di configurazione si trova in C:\Program Files\On-premises data gateway\Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config.

      <setting name="SapTraceLevel" serializeAs="String">
         <value>Verbose</value>
      </setting>
      

Configurare la registrazione SAP estesa nel gateway dati locale (solo connettore gestito)

Se si usa un gateway dati locale per App per la logica di Azure, è possibile configurare un file di log esteso per il connettore SAP. È possibile usare il gateway dati locale per reindirizzare gli eventi ETW (Event Tracing for Windows) in file di log rotanti inclusi nei file di registrazione del gateway .zip.

È possibile esportare tutti i log di configurazione e servizio del gateway in un file .zip in dalle impostazioni dell'app gateway.

Nota

La registrazione estesa potrebbe influire sulle prestazioni del flusso di lavoro quando è sempre abilitata. Come procedura consigliata, disattivare i file di log estesi dopo aver completato l'analisi e la risoluzione di un problema.

Acquisire eventi ETW

Come attività di registrazione avanzata facoltativa, è possibile acquisire direttamente gli eventi ETW e quindi usare i dati in Diagnostica di Azure in Hub eventi o raccogliere i dati nei log di Monitoraggio di Azure. Per altre informazioni, vedere le procedure consigliate per la raccolta e l'archiviazione dei dati.

Per lavorare con i file ETL risultanti, è possibile usare PerfView oppure scrivere il proprio programma. La procedura dettagliata seguente usa PerfView:

  1. Nel menu PerfView selezionare Raccogli>raccolta per acquisire gli eventi.

  2. Nel parametro Provider aggiuntivo immettere *Microsoft-LobAdapter per specificare il provider SAP per acquisire gli eventi dell'adapter SAP. Se non si specificano queste informazioni, la traccia include solo eventi ETW generali.

  3. Mantenere le altre impostazioni predefinite. Se si desidera, è possibile modificare il nome o il percorso del file nel parametro File di dati.

  4. Selezionare Avvia raccolta per iniziare la traccia.

  5. Dopo aver riprodotto il problema o aver raccolto dati di analisi sufficienti, selezionare Arresta raccolta.

  6. Per condividere i dati con un'altra parte, ad esempio supporto tecnico di Azure tecnici, comprimere il file ETL.

  7. Per visualizzare il contenuto della traccia:

    1. In PerfView selezionare File Open (Apri file>) e selezionare il file ETL appena generato.

    2. Nella barra laterale PerfView la sezione Eventi nel file ETL.

    3. In Filtro filtrare in base Microsoft-LobAdapter a per visualizzare solo gli eventi e i processi del gateway pertinenti.

Testare il flusso di lavoro

In base al fatto che sia presente 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 Panoramica. Sulla barra degli strumenti selezionare Abilita.

  2. Sulla barra degli strumenti della finestra di progettazione selezionare Esegui esecuzione trigger>per avviare manualmente il flusso di lavoro.

  3. Per attivare il flusso di lavoro, inviare un messaggio dal sistema SAP.

  4. Tornare al riquadro Panoramica dell'app per la logica. In Cronologia esecuzioni trovare le nuove esecuzioni per il flusso di lavoro.

  5. Aprire l'esecuzione più recente, che mostra un'esecuzione manuale. Trovare ed esaminare la sezione output del trigger.

Abilitare la registrazione e la traccia della libreria client SAP (NCo) (solo connettore predefinito)

Quando è necessario analizzare eventuali problemi con questo componente, è possibile configurare la traccia NCo personalizzata basata su file di testo, che sap o il supporto Microsoft potrebbe richiedere. Per impostazione predefinita, questa funzionalità è disabilitata perché l'abilitazione di questa traccia potrebbe influire negativamente sulle prestazioni e utilizzare rapidamente lo spazio di archiviazione dell'host dell'applicazione.

È possibile controllare questa funzionalità di traccia a livello di applicazione aggiungendo le impostazioni seguenti:

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard.

  2. Nel menu dell'app per la logica, in Impostazioni, selezionare Variabili di ambiente per esaminare le impostazioni dell'applicazione.

  3. Nella scheda Impostazioni app della pagina Variabili di ambiente aggiungere le impostazioni dell'applicazione seguenti:

    • SAP_RFC_TRACE_DIRECTORY: directory in cui archiviare i file di traccia NCo, ad esempio C:\home\LogFiles\NCo.

    • SAP_RFC_TRACE_LEVEL: livello di traccia NCo con Level4 come valore suggerito per la registrazione dettagliata tipica. Il supporto sap o Microsoft potrebbe richiedere di impostare un livello di traccia diverso.

      Nota

      Per i flussi di lavoro dell'app per la logica Standard che usano la versione di runtime 1.69.0 o successiva, è possibile abilitare la registrazione per più livelli di traccia separando ogni livello di traccia con una virgola (,).

      Per trovare la versione di runtime del flusso di lavoro, seguire questa procedura:

      1. Nel menu del flusso di lavoro del portale di Azure selezionare Panoramica.
      2. Nella sezione Informazioni di base individuare la proprietà Versione runtime.
    • SAP_CPIC_TRACE_LEVEL: livello di traccia CPI-C (Common Programming Interface for Communication) con Verbose come valore suggerito per la registrazione dettagliata tipica. Il supporto sap o Microsoft potrebbe richiedere di impostare un livello di traccia diverso.

    Per altre informazioni sull'aggiunta delle impostazioni dell'applicazione, vedere Modificare le impostazioni dell'host e dell'app per i flussi di lavoro dell'app per la logica Standard.

  4. Salva le modifiche. Questo passaggio riavvia l'applicazione.

Livelli di traccia disponibili

Livelli di traccia NCo

Valore Descrizione
Level1 Livello per la traccia delle chiamate di funzione remota.
Level2 Livello per la traccia delle chiamate di funzioni remote e delle chiamate al metodo API pubblico.
Level3 Livello per tracciare chiamate di funzioni remote, chiamate al metodo API pubblico e chiamate di metodo API interne.
Level4 Livello per la traccia delle chiamate di funzioni remote, chiamate al metodo API pubblico, chiamate di metodo API interne, dump esadecimale per il protocollo RFC e informazioni correlate alla rete.
Blocco Scrive i dati nei file di traccia che mostrano quando i thread richiedono, acquisiscono e rilasciano blocchi sugli oggetti.
Metadati UFX Analizza i metadati coinvolti in una chiamata di funzione remota per ogni chiamata.
None Livello per l'eliminazione di tutti gli output di traccia.
ParameterData Analizza i dati del contenitore inviati e ricevuti durante ogni chiamata di funzione remota.
Prestazioni Scrive i dati nei file di traccia che consentono di analizzare i problemi di prestazioni.
PublicAPI Traccia la maggior parte dei metodi dell'API pubblica, ad eccezione dei getter, dei setter o dei metodi correlati.
InternalAPI Traccia la maggior parte dei metodi dell'API interna, ad eccezione dei getter, dei setter o dei metodi correlati.
RemoteFunctionCall Traccia le chiamate di funzione remota.
RfcData Analizza i byte inviati e ricevuti durante ogni chiamata di funzione remota.
SessionProvider Traccia tutti i metodi dell'implementazione attualmente usata di ISessionProvider.
SetValue Scrive informazioni nei file di traccia relativi ai valori impostati per i parametri di funzioni o campi di strutture o tabelle.

Livelli di traccia CPIC

Valore Descrizione
Non visualizzare Nessuna registrazione
Di base Registrazione di base
Verbose Registrazione dettagliata
VerboseWithData Registrazione dettagliata con tutti i dump delle risposte del server

Visualizzare la traccia

  1. Nel menu delle risorse dell'app per la logica Standard, in Strumenti di sviluppo selezionare Strumenti>avanzati Go.

  2. Sulla barra degli strumenti Kudu selezionare Console di debug>CMD.

  3. Passare alla cartella per l'impostazione dell'applicazione denominata $SAP_RFC_TRACE_DIRECTORY.

    Viene visualizzata una nuova cartella denominata NCo o qualsiasi nome di cartella usato per il valore dell'impostazione dell'applicazione, C:\home\LogFiles\NCo, impostata in precedenza.

  4. Aprire la cartella $SAP_RFC_TRACE_DIRECTORY , che contiene quanto segue:

    • Log di traccia NCo: un file denominato dev_nco_rfc.log, uno o più file denominati nco_rfc_NNNN.log e uno o più file denominati nco_rfc_NNNN.trc in cui NNNN è un identificatore di thread.

    • Log di traccia CPIC: uno o più file denominati nco_cpic_NNNN.trc in cui NNNN è l'identificatore del thread.

  5. Per visualizzare il contenuto in un file di log o di traccia, selezionare il pulsante Modifica accanto a un file.

    Nota

    Se si scarica un file di log o di traccia aperto dal flusso di lavoro dell'app per la logica e attualmente in uso, il download potrebbe comportare un file vuoto.

Abilitare la traccia CCL (Sap Common Crypto Library) (solo connettore predefinito)

Se è necessario analizzare eventuali problemi con la libreria di crittografia durante l'uso dell'autenticazione SNC, è possibile configurare la traccia CCL personalizzata basata su file di testo. È possibile usare questi log CCL per risolvere i problemi di autenticazione SNC o condividerli con il supporto Microsoft o SAP, se richiesto. Per impostazione predefinita, questa funzionalità è disabilitata perché l'abilitazione di questa traccia potrebbe influire negativamente sulle prestazioni e utilizzare rapidamente lo spazio di archiviazione dell'host dell'applicazione.

È possibile controllare questa funzionalità di traccia a livello di applicazione aggiungendo le impostazioni seguenti:

  1. Nella portale di Azure aprire la risorsa dell'app per la logica Standard.

  2. Nel menu delle risorse dell'app per la logica Standard, in Strumenti di sviluppo selezionare Strumenti>avanzati Go.

  3. Sulla barra degli strumenti Kudu selezionare Console di debug>CMD.

  4. Passare a un percorso in C:\home\site\wwwroot e creare un file di testo, ad esempio: CCLPROFILE.txt.

    Per altre informazioni sui parametri di registrazione, vedere Traccia> di SAP NOTE 2338952. L'esempio seguente fornisce una configurazione di traccia di esempio:

    ccl/trace/directory=C:\home\LogFiles\CCLLOGS
    ccl/trace/level=4
    ccl/trace/rotatefilesize=10000000
    ccl/trace/rotatefilenumber=10
    
  5. Nel menu dell'app per la logica, in Impostazioni, selezionare Variabili di ambiente per esaminare le impostazioni dell'applicazione.

  6. Nella pagina Variabili di ambiente aggiungere l'impostazione dell'applicazione seguente nella scheda Impostazioni app:

    CCL_PROFILE: directory in cui è stato creato CCLPROFILE.txt, ad esempio C:\home\site\wwwroot\CCLPROFILE.txt.

  7. Salva le modifiche. Questo passaggio riavvia l'applicazione.

Visualizzare la traccia

  1. Nel menu delle risorse dell'app per la logica Standard, in Strumenti di sviluppo selezionare Strumenti>avanzati Go.

  2. Sulla barra degli strumenti Kudu selezionare Console di debug>CMD.

  3. Passare alla cartella per il parametro $ccl/trace/directory , che proviene dal file CCLPROFILE.txt .

    In genere, i file di traccia sono denominati sec-Microsoft.Azure.Work-$processId.trc e sec-sapgenpse.exe-$processId.trc.

    Il flusso di lavoro dell'app per la logica esegue l'autenticazione SNC come processo in due passaggi:

    1. Il flusso di lavoro dell'app per la logica richiama sapgenpse.exe per generare un file cred_v2 dal file P edizione Standard.

      È possibile trovare le tracce correlate a questo passaggio in un file denominato sec-sapgenpse.exe-$processId.trc.

    2. Il flusso di lavoro dell'app per la logica autentica l'accesso al server SAP usando il file di cred_v2 generato, con la libreria client SAP che richiama la libreria di crittografia comune.

      È possibile trovare le tracce correlate a questo passaggio in un file denominato sec-Microsoft.Azure.Work-$processId.trc.

Inviare dati di telemetria SAP per il gateway dati locale a app Azure lication Insights

Con l'aggiornamento di agosto 2021 per il gateway dati locale, le operazioni del connettore SAP possono inviare dati di telemetria dalla libreria client SAP NCo e le tracce dall'adapter SAP Microsoft ad Application Insights, che è una funzionalità in Monitoraggio di Azure. Questi dati di telemetria includono principalmente i dati seguenti:

  • Metriche e tracce basate su metriche e monitoraggi sap NCo.

  • Tracce da Microsoft SAP Adapter.

Metriche e tracce dalla libreria client SAP NCo

Le metriche basate su SAP NCo sono valori numerici che potrebbero o meno variare in un periodo di tempo, in base all'utilizzo e alla disponibilità delle risorse nel gateway dati locale. È possibile usare queste metriche per comprendere meglio l'integrità del sistema e per creare avvisi sulle attività seguenti:

  • Declino dell'integrità del sistema.
  • Eventi insoliti.
  • Carico di sistema elevato.

Queste informazioni vengono inviate alla tabella di Application Insights denominata customMetrics. Per impostazione predefinita, le metriche vengono inviate a intervalli di 30 secondi.

Le tracce basate su SAP NCo includono informazioni di testo usate con le metriche. Queste informazioni vengono inviate alla tabella di Application Insights denominata traces. Per impostazione predefinita, le tracce vengono inviate a intervalli di 10 minuti.

Le metriche e le tracce NCo di SAP si basano sulle metriche NCo di SAP, in particolare sulle classi NCo seguenti:

  • RfcDestinationMonitor.
  • Rfc Connessione ionMonitor.
  • RfcServerMonitor.
  • RfcRepositoryMonitor.

Per altre informazioni sulle metriche fornite da ogni classe, vedere la documentazione di SAP NCo (accesso richiesto).

Configurare i dati di telemetria SAP per Application Insights

Prima di poter inviare dati di telemetria SAP per l'installazione del gateway ad Application Insights, è necessario aver creato e configurato la risorsa di Application Insights. Per altre informazioni, vedere la documentazione seguente:

Per abilitare l'invio di dati di telemetria SAP ad Application Insights, seguire questa procedura:

  1. Scaricare il pacchetto NuGet per Microsoft.ApplicationInsights.EventSourceListener.dll da questo percorso: https://www.nuget.org/packages/Microsoft.ApplicationInsights.EventSourceListener/2.14.0.

  2. Aggiungere il file scaricato alla directory di installazione del gateway dati locale, ad esempio C:\Programmi\Gateway dati locale.

  3. Nella directory di installazione del gateway dati locale verificare che il file Microsoft.ApplicationInsights.dll abbia lo stesso numero di versione del file Microsoft.ApplicationInsights.EventSourceListener.dll aggiunto. Il gateway attualmente usa la versione 2.14.0.

  4. Nel file ApplicationInsights.config aggiungere la chiave di strumentazione di Application Insights rimuovendo il commento dalla riga con l'elemento <InstrumentationKey></InstrumentationKey> . Sostituire il segnaposto, your-Application-Insights-instrumentation-key, con la chiave, ad esempio:

    <?xml version="1.0" encoding="utf-8"?>
    <ApplicationInsights schemaVersion="2014-05-30" xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
       <!-- Uncomment this element and insert your Application Insights key to receive ETW telemetry about your gateway <InstrumentationKey>*your-instrumentation-key-placeholder*</InstrumentationKey> -->
       <TelemetryModules>
          <Add Type="Microsoft.ApplicationInsights.Extensibility.Implementation.Tracing.DiagnosticsTelemetryModule, Microsoft.ApplicationInsights">
             <IsHeartbeatEnabled>false</IsHeartbeatEnabled>
          </Add>
          <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
             <Sources>
                <Add Name="Microsoft-LobAdapter" Level="Verbose" />
             </Sources>
          </Add>
       </TelemetryModules>
    </ApplicationInsights>
    
  5. Nel file ApplicationInsights.config è possibile modificare il valore delle tracce Level necessarie per le operazioni del connettore SAP, in base ai requisiti, ad esempio:

    <Add Type="Microsoft.ApplicationInsights.EventSourceListener.EventSourceTelemetryModule, Microsoft.ApplicationInsights.EventSourceListener">
       <Sources>
          <Add Name="Microsoft-LobAdapter" Level="Verbose" />
       </Sources>
    </Add>
    

    Per altre informazioni, vedere la documentazione seguente:

  6. Dopo aver applicato le modifiche, riavviare il servizio gateway dati locale.

Esaminare le metriche in Application Insights

Dopo l'esecuzione delle operazioni SAP nel flusso di lavoro dell'app per la logica, è possibile esaminare i dati di telemetria inviati ad Application Insights.

  1. Nel portale di Azure apri la tua Application Insights risorsa.

  2. Nel menu delle risorse, in Monitoraggio, selezionare Log.

    Lo screenshot seguente mostra il portale di Azure con Application Insights, aperto al riquadro Log:

    Screenshot che mostra portale di Azure con Application Insights aperto al riquadro

  3. Nel riquadro Log è possibile creare una query usando il Linguaggio di query Kusto (KQL) basato sui requisiti specifici.

    È possibile usare un modello di query simile alla query di esempio seguente:

    customMetrics
    | extend DestinationName = tostring(customDimensions["DestinationName"])
    | extend MetricType = tostring(customDimensions["MetricType"])
    | where customDimensions contains "RfcDestinationMonitor"
    | where name contains "MaxUsedCount"
    
  4. Dopo aver eseguito la query, esaminare i risultati.

    Lo screenshot seguente mostra la tabella dei risultati delle metriche della query di esempio:

    Screenshot che mostra Application Insights con la tabella dei risultati delle metriche.

    • MaxUsedCount è "Numero massimo di connessioni client usate contemporaneamente dalla destinazione monitorata", come descritto nella documentazione di SAP NCo (richiesta di accesso). È possibile usare questo valore per comprendere il numero di connessioni aperte contemporaneamente.

    • La colonna valueCount mostra 2 per ogni lettura perché le metriche vengono generate a intervalli di 30 secondi. Application Insights aggrega queste metriche in base al minuto.

    • La colonna DestinationName contiene una stringa di caratteri che è un nome interno dell'adapter SAP Microsoft.

      Per comprendere meglio questa destinazione RFC (Remote Function Call), usare questo valore con traces, ad esempio:

      customMetrics
      | extend DestinationName = tostring(customDimensions["DestinationName"])
      | join kind=inner (traces
         | extend DestinationName = tostring(customDimensions["DestinationName"]),
         AppServerHost = tostring(customDimensions["AppServerHost"]),
         SncMode = tostring(customDimensions["SncMode"]),
         SapClient = tostring(customDimensions["Client"])
         | where customDimensions contains "RfcDestinationMonitor"
         )
         on DestinationName , $left.DestinationName == $right.DestinationName
      | where customDimensions contains "RfcDestinationMonitor"
      | where name contains "MaxUsedCount"
      | project AppServerHost, SncMode, SapClient, name, valueCount, valueSum, valueMin, valueMax
      

È anche possibile creare grafici delle metriche o avvisi usando tali funzionalità in Application Insights, ad esempio:

Screenshot che mostra Application Insights con i risultati in formato grafico.

Tracce da Microsoft SAP Adapter

È possibile usare le tracce inviate da Microsoft SAP Adapter per la post-analisi dei problemi e per individuare eventuali errori interni esistenti che potrebbero o meno emergere dalle operazioni del connettore SAP. Queste tracce sono message impostate su "n\a" perché provengono da un framework di origine eventi precedente che precede Application Insights, ad esempio:

traces
| where message == "n/a"
| where severityLevel > 0
| extend ActivityId = tostring(customDimensions["ActivityId"])
| extend fullMessage = tostring(customDimensions["fullMessage"])
| extend shortMessage = tostring(customDimensions["shortMessage"])
| where ActivityId contains "8ad5952b-371e-4d80-b355-34e28df9b5d1"

Lo screenshot seguente mostra la tabella dei risultati delle tracce della query di esempio:

Screenshot che mostra Application Insights con la tabella dei risultati delle tracce.

Passaggi successivi