Dela via


Extrahera data från SAP GUI med Power Automate

När du skapar eller uppdaterar poster i SAP genereras statusinformation som innehåller de nyligen skapade post-ID. SAP visar denna statusinformation i den nedre delen av SAP UI.

Här är ett exempel på ett statusmeddelande som SAP visar när du har skapat ett SAP PM-meddelande.

Bild på SAP aviserings-ID som genererats efter att en ny post har sparats.

Den här statusinformationen kan vara användbar för automatiseringsprocessens steg senare. Därför bör du extrahera och tilldela dessa statusdata till variabler för databearbetning nedströms.

Det finns flera sätt att göra detta, beroende på din utvecklingsmetod. De två sätten är lågkod eller förkod-tekniker.

Förkod-metod

I förkod-metoden används VBScript-kommandon för att extrahera information från SAP UI-element.

För att extrahera SAP-statusdata, till exempel nyskapade inköpsrekvisitioner eller meddelandenummer för anläggningsunderhåll, behöver du åtkomst till statusfältets UI-element.

Så här får du åtkomst till statusfältets UI-element.

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

Nu ska vi gå igenom hela upplevelsen. Vi registrerar hur du skapar en SAP PM-avisering och ändrar koden som genereras för att returnera det nyskapade ID:t till Power Automate Desktop.

Om du aldrig har förser dig med SAP PM-avisering eller om du inte har tillgång till den, behöver du inte bekymra dig om att du fortfarande förstår stegen för att extrahera sådana data för ditt eget scenario.

Gör så här:

  1. Bekräfta att alla konfigurationer av SAP GUI skript har utförts.

  2. Öppna SAP inloggning och välj det SAP-system du vill logga in på.

    Skärmbild av SAP-inloggning 760.

  3. Välj Anpassa lokal layout (Alt+F12) och välj skriptinspelning och uppspelning....

    Skärmbild av SAP enkel åtkomstsystem.

  4. Välj Fler.

  5. Under Spara till, ange filens sökväg och filnamn där du vill lagra de samlade användarinteraktionerna.

    Skärmbild för att spara inspelningsfilen i dialogrutan Inspelning och uppspelning.

  6. Välj knappen Spela in skript om du vill starta insamlingsprocessen på skärmen. Varje interaktion du gör nu i SAP fångas upp som repeterbara VBScript-kommandon.

    Kommentar

    Om du har registrerat steg och sparat i den här filen tidigare måste du bekräfta om du vill skriva över filen.

  7. Ange transaktionskoden IW21 och välj sedan Retur.

  8. Ange Aviseringstyp och välj Retur.

  9. Ange en Kort text, Planner-grupp, Huvud WorkCtr och alla andra fält du behöver.

    Skärmbild av en slutförd SAP-aviseringspost som är redo att sparas.

  10. Välj Spara (Ctrl+S) i verktygsfältet.

  11. I det ursprungliga formuläret Skapa PM-avisering ser du ett nytt statusmeddelande i statusfältet i gränssnittets nedre vänstra hörn.

    Bild på SAP aviserings-ID som genererats efter att en ny post har sparats.

  12. Välj Avsluta (Skift+F3) i verktygsfältet och stoppa registreringen.

  13. Du kan även logga ut från SAP och stänga alla SAP-fönster.

Nu ska vi undersöka den genererade VBScript-koden:

Skärmbild på VBScript som genererades under skapandet av en SAP-avisering.

Skärmbild av VBScript genererat under genererande av SAP-avisering 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.

Nu ska vi justera den genererade koden så att den innehåller ett steg som extraherar, hämtar och returnerar det nya meddelande-ID:t till Åtgärden Kör VBScript.

Skärmbild av justerat VBScript som returnerar SAP-avisering till Power Automate Desktop via en variabel.

Skärmbild över justerat VBScript som returnerar SAP-avisring till Power Automate Desktop via en variabel 39 Detta är knappen Spara session findById quot wnd 0 tbar 0 btn 11 quot tryck på 39 Detta är den kompletta statusfälttexten som innehåller den data som ska extraheras statusfältMeddelandesessionsession findById quot wnd 0 sbar pane 0 quot text 39 Trimma och ta bort all text som omger vårt nya aviserings-ID avisreingsID Trimma Ersätt Ersätt statusfältMeddelande quot Avisering quot quot quot quot sparad quot quot quot 39 Detta är knappen Avbryt findById quot wnd 0 tbar 0 btn 15 quot tryck på 39 Detta skriver det nyskapade ID:t till utdatavariabeln för Run VBScript i Power Automate Desktop WScript Echo notificationID.

Detta anger variabeln VBScriptOutput för Åtgärden Kör VBScript till det nyligen skapade meddelande-ID:t.

Skärmbild som visar en dialogruta för Kör VBScript-åtgärd med ett skript som gör det möjligt att extraheringen av SAP-statusfält.

Om du vill visa innehållet i VBScriptOutput kan du använda en åtgärd för att visa meddelanden, på samma sätt som i följande bilder.

Skärmbild som visar ett felsökningsvisningsmeddelande med innehållet i VBScriptOutput.

Bild som visar en åtgärd för ett visningsmeddelande och dess parametrar.

Lågkod-metod

I lågkod-metod används åtgärder och anpassade väljare för att extrahera nyligen skapade post-ID eller andra statusmeddelanden som är viktiga för flödesbearbetning nedströms.

I följande steg går vi inte in på detaljer om hur du spelar in eller använder en manuell åtgärdsdesign för att skapa en ny SAP PM-aviseringspost. Granska RPA med lågkod eller ingen kod med SAP GUI i Power Automate Desktop om du behöver friska upp dina kunskaper om hur detta görs.

Följ de här stegen för en lågkodsmetod:

  1. Använd skrivbordsinspelaren eller manuell åtgärd för att fånga alla kontroller som du behöver för SAP PM-meddelandeprocessen.

  2. Skapa en meddelandepost och registrera statustexten som visas när du har valt Spara i verktygsfältet på skärmen Skapa PM-avisering.

    Skärmbild som visar en slutförd meddelandepost med en spara-knapp.

    När objektet har sparats omdirigeras du till föregående skärm där ett nytt meddelandenummer visas i statusfältets text.

  3. Gå tillbaka till Power Automate Desktop och sök efter en åtgärd med namnet Hämta information om UI-element i fönster och lägg till det i redigeringsarbetsytan.

  4. Välj rullgardinsmenyn UI-element och välj sedan knappen Lägg till ett nytt UI-element.

    Skärmbild som visar Visa information om ett användargränssnittselement i dialogrutan för fönsteråtgärder. Dialogrutans listruta för användargränssnittselement expanderas och väntar på indata.

  5. Välj fönstret SAP enkel åtkomst och håll markören över statusfältet tills en röd kantlinje visas med etiketten Gui Statusbar visas. När kantlinjen är aktiv, håll ned Ctrl och klicka sedan för att markera statusfältet.

    Skärmbild som visar en SAP-skärm med ett statusmeddelande med meddelande-ID och Power Automate Desktop spårningssession med en vald kontroll.

  6. Välj Spara.

    Skärmbild som visar Visa information om ett UI-element i dialogrutan för fönsteråtgärder med valda UI element.

  7. Sök efter åtgärden Ersätt text i fönstret Åtgärder och dra den till designarbetsytan.

  8. I Text att söka efter, ange Meddelande. Under Ersätt med, ange en tom sträng med följande tecken: %''%

    Skärmbild som visar dialogrutan Ersätt textåtgärd med angivna parametrar.

  9. Lägg till en annan åtgärd för Ersätt text och byt namn på Producerade variabler till %NotificationId%. I Text att söka efter, ange spara och under Ersätt med, ange en tom sträng (%''%).

    Skärmbild som visar dialogrutan Ersätt textåtgärd med angivna parametrar.

  10. Sök efter åtgärden Trimma text i fönstret Åtgärder dra den till designpanelen, markera %NotificationId% som Text att trimma och byt namn på Producerade variabler till %TrimmedNotificationID%.

    Skärmbild som visar dialogrutan Trimma textåtgärd med angivna parametrar.

  11. Sök efter åtgärden Visa meddelande i fönstret Åtgärder och dra den till designarbetsytan. Ange Rubrik för meddelanderuta och Meddelande att visa så att de passar dina behov.

    Skärmbild som visar dialogrutan Visa meddelande åtgärd med angivna parametrar.

  12. Kör den automatisering som skapar en ny SAP PM-avisering och extraherar det nya meddelande-ID:t som visas på följande bild.

    Skärmbild som visar ett Power Automate Desktop skript som ger ut ett nyskapat meddelande-ID via visningsmeddelande.