Condividi tramite


Estrarre dati dall'interfaccia utente della GUI SAP con Power Automate

Quando crei o aggiorni record in SAP, vengono generate informazioni sullo stato che includono gli ID record appena generati. SAP visualizza queste informazioni sullo stato nella parte inferiore dell'interfaccia utente SAP.

Di seguito è riportato un messaggio di stato di esempio che SAP visualizza dopo la creazione di una notifica PM SAP.

Screenshot dell'ID notifica SAP generato dopo aver salvato un nuovo record.

Queste informazioni sullo stato potrebbero essere utili per i passaggi successivi del processo di automazione. Pertanto devi estrarre questi dati sullo stato e assegnarli alle variabili per l'elaborazione dati downstream.

È possibile eseguire queste operazioni in vari modi, a seconda dell'approccio allo sviluppo. I due approcci sono tecniche con uso limitato di codice o con uso intensivo di codice.

Approccio con uso intensivo di codice

L'approccio con uso intensivo di codice utilizza i comandi VBScript per estrarre informazioni dagli elementi dell'interfaccia utente SAP.

Per estrarre i dati sullo stato SAP, come richieste di acquisto appena create o numeri di notifica di manutenzione dell'impianto, devi accedere all'elemento dell'interfaccia utente della barra di stato.

Il modo di accedere all'elemento dell'interfaccia utente della barra di stato è descritto di seguito.

session.findById("wnd\[0\]/sbar/pane\[0\]").Text

Esaminiamo l'esperienza end-to-end. Registreremo come creare una notifica PM SAP e modificheremo il codice generato per restituire l'ID appena creato a Power Automate Desktop.

Nel caso in cui non hai mai sentito parlare della notifica PM SAP o se non hai accesso alla stessa, non preoccuparti; sarai comunque in grado di comprendere i passaggi necessari per estrarre tali dati per il tuo scenario.

I passaggi sono:

  1. Conferma che tutto le configurazioni di script della GUI SAP siano state eseguite.

  2. Apri SAP Logon e seleziona il sistema SAP a cui intendi accedere.

    Screenshot di SAP Login 760.

  3. Seleziona Personalizza layout locale (Alt+F12), quindi seleziona Registrazione e riproduzione di script....

    Screenshot del sistema SAP Easy Access.

  4. Seleziona Altro.

  5. Sotto Salva in, specifica il percorso e il nome di file in cui intendi memorizzare le interazioni dell'utente acquisite.

    Screenshot del salvataggio del file di registrazione nella finestra di dialogo Registrazione e riproduzione.

  6. Seleziona il pulsante Registra script per avviare il processo di acquisizione della schermata. Ogni interazione in SAP viene acquisita come comandi VBScript ripetibili.

    Nota

    Se hai registrato i passaggi e li hai salvati in questo file in precedenza, dovrai confermare se desideri sovrascrivere il file.

  7. Inserisci il codice transazione IW21, quindi seleziona INVIO.

  8. Specifica il Tipo di notifica, quindi seleziona INVIO.

  9. Specifica i campi Testo breve, Gruppo di Planner, WorkCtr principale e qualsiasi altro campo necessario.

    Screenshot di un record di notifica SAP completato pronto per essere salvato.

  10. Seleziona Salva (CTRL+S) nella barra degli strumenti.

  11. Ritorna al modulo inizialeCrea notifica PM. Noterai un nuovo messaggio nella barra di stato nell'angolo in basso a sinistra dell'interfaccia utente.

    Screenshot dell'ID notifica SAP generato dopo aver salvato un nuovo record.

  12. Seleziona Esci (MAIUSC+F3) nella barra degli strumenti, quindi interrompi la registrazione.

  13. Eventualmente, disconnettiti da SAP e chiudi tutte le finestre SAP.

Esaminiamo il codice VBScript generato:

Screenshot del codice VBScript generato durante la creazione della notifica SAP.

Screenshot di VBScript generato durante la creazione della notifica SAP If Not IsObject application Then Set SapGuiAuto GetObject quot SAPGUI quot Set application SapGuiAuto GetScriptingEngine End If If Not IsObject connection Then Set connection application Children 0 End If If Not IsObject session Then Set session connection Children 0 End If If IsObject WScript Then WScript ConnectObject session quot on quot WScript ConnectObject application quot on quot End If session findById quot wnd 0 quot maximize session findById quot wnd 0 tbar 0 okcd quot text quot IW21 quot session findById quot wnd 0 quot sendVKey 0 session findById quot wnd 0 usr ctxtRIWO00 QMART quot text quot M2 quot session findById quot wnd 0 usr ctxtRIWO00 QMART quot caretPosition 2 session findById quot wnd 0 quot sendVKey 0 session findById quot wnd 0 usr subSCREE shortened command quot text quot My Notification Short Text quot session findById quot wnd 0 usr tabsTAB_ shortened command quot text quot 010 quot session findById quot wnd 0 usr tabsTAB_ shortened command quot text quot 0001 quot session findById quot wnd 0 usr tabsTAB_ shortened command quot text quot MAIN quot session findById quot wnd 0 usr tabsTAB_ shortened command quot setFocus session findById quot wnd 0 usr tabsTAB_ shortened command quot caretPosition 4 session findById quot wnd 0 tbar 0 btn 11 quot press session findById quot wnd 0 tbar 0 btn 15 quot press.

Ora modifichiamo il codice generato per includere un passaggio che estrae, taglia e quindi restituisce il nuovo ID notifica all'azione Esegui VBScript.

Screenshot del codice VBScript modificato che restituisce la notifica SAP a Power Automate Desktop tramite una variabile.

Screenshot del codice VBScript modificato che restituisce la notifica SAP a Power Automate Desktop tramite una variabile 39 This is the Save button session findById quot wnd 0 tbar 0 btn 11 quot press 39 This is the full Status Bar text that contain the data to be extracted statusBarMessage session findById quot wnd 0 sbar pane 0 quot text 39 Trimming and removing any text surrounding our new notification Id notificationID Trim Replace Replace statusBarMessage quot Notification quot quot quot quot saved quot quot quot 39 This is the Exit button session findById quot wnd 0 tbar 0 btn 15 quot press 39 This writes the newly created Id to the Run VBScript output variable in Power Automate Desktop WScript Echo notificationID.

La variabile VBScriptOutput dell'azione Esegui VBScript viene impostata sull'ID notifica appena creato.

Screenshot che mostra una finestra di dialogo dell'azione Esegui VBScript con lo script evidenziato che consente l'estrazione di testo della barra di stato SAP.

Se intendi visualizzare il contenuto di VBScriptOutput, puoi utilizzare un'azione Visualizza messaggio, simile all'output nelle immagini seguenti.

Screenshot che mostra un messaggio di visualizzazione di debug con il contenuto di VBScriptOutput.

Screenshot che mostra un'azione Visualizza messaggio e i relativi parametri.

Approccio con uso limitato di codice

L'approccio con uso limitato di codice utilizza azioni e selettori personalizzati per estrarre gli ID record appena generati o altri messaggi di stato importanti per l'elaborazione del flusso downstream.

I passaggi seguenti non descrivono in modo dettagliato il modo in cui registrare o utilizzare la progettazione di azioni manuale per creare un nuovo record Notifica PM SAP. Vedi Basso uso di codice o RPA senza codice con GUI SAP in Power Automate Desktop per informazioni su come eseguire tale operazione.

Segui questi passaggi per un approccio con uso limitato di codice:

  1. Utilizza il registratore desktop o la progettazione di azioni manuale per acquisire tutti i controlli necessari per il processo di notifica PM SAP.

  2. Crea un record di notifica e acquisisci il testo dello stato che appare dopo aver selezionato Salva nella barra degli strumenti della schermata Crea notifica PM.

    Screenshot che mostra un record di notifica completato con un pulsante Salva evidenziato.

    Dopo che l'elemento è stato salvato, verrai reindirizzato alla schermata precedente dove dovresti vedere un nuovo numero di notifica nel testo della barra di stato.

  3. Ora torna a Power Automate Desktop, cerca un'azione denominata Recupera dettagli da un elemento dell'interfaccia utente nella finestra e aggiungila al canvas di creazione.

  4. Seleziona il menu a discesa dell'elemento dell'interfaccia utente, quindi seleziona il pulsante Aggiungi un nuovo elemento dell'interfaccia utente.

    Screenshot che mostra la finestra di dialogo Recupera dettagli da un elemento dell'interfaccia utente nella finestra. Nella finestra di dialogo, il menu a discesa dell'elemento dell'interfaccia utente è espanso, in attesa di input.

  5. Seleziona la finestra SAP Easy Access e passa il mouse sopra la barra di stato fino a quando non viene visualizzato un bordo rosso etichettato Gui Statusbar. Mentre il bordo è attivo, tieni premuto CTRL, quindi fai clic per selezionare la barra di stato.

    Screenshot che mostra una schermata SAP con un messaggio di stato che elenca l'ID notifica e la sessione di monitoraggio di Power Automate Desktop con un controllo selezionato.

  6. Seleziona Salva.

    Screenshot che mostra la finestra di dialogo dell'azione Recupera dettagli da un elemento dell'interfaccia utente nella finestra con un elemento dell'interfaccia utente selezionato.

  7. Cerca l'azione Sostituisci testo nel riquadro Azioni e trascinalo nel canvas di progettazione.

  8. In Testo da trovare, immetti Notifica. In Sostituisci con, immetti una stringa vuota immettendo i seguenti caratteri: %''%

    Screenshot che mostra la finestra di dialogo dell'azione Sostituisci testo con i relativi parametri specificati.

  9. Aggiungi un'altra azione Sostituisci testo e rinomina Variabili prodotte in %NotificationId%. In Testo da trovare, immetti Salva e sotto Sostituisci con, immetti una stringa vuota (%''%).

    Screenshot che mostra un'altra finestra di dialogo dell'azione Sostituisci testo con i relativi parametri specificati.

  10. Cerca l'azione Taglia testo nel riquadro Azioni, trascinalo nel canvas di progettazione, seleziona %NotificationId% come valore Testo da tagliare e rinomina Variabili prodotte in %TrimmedNotificationID%.

    Screenshot che mostra la finestra di dialogo dell'azione Taglia testo con i relativi parametri specificati.

  11. Cerca l'azione Visualizza messaggio nel riquadro Azioni e trascinala nel canvas di progettazione. Imposta Titolo finestra di messaggio e Messaggio da visualizzare come necessario.

    Screenshot che mostra la finestra di dialogo dell'azione Visualizza messaggio con i relativi parametri specificati.

  12. Esegui l'automazione che crea una nuova notifica PM SAP ed estrae il relativo ID notifica appena generato che può essere visualizzato come mostrato nell'immagine seguente.

    Screenshot che mostra uno script di Power Automate Desktop in esecuzione che genera un ID notifica appena creato tramite Visualizza messaggio.