Trekk ut data fra SAP GUI med Power Automate
Når du oppretter eller oppdaterer oppføringer i SAP, genererer den statusinformasjon som inkluderer de nylig genererte oppførings-ID-ene. SAP viser denne statusinformasjonen i den nedre delen av SAP-grensesnittet.
Her er et eksempel på en statusmelding som SAP viser etter at du har opprettet et SAP PM-varsel.
Denne statusinformasjonen kan være nyttig for trinnene i automatiseringsprosessen som kommer senere. Derfor bør du trekke ut og tilordne disse statusdataene til variabler for nedstrøms databehandling.
Vi har flere måter å oppnå dette på, avhengig av utviklingsmetoden din. De to metodene er lavkodet eller prokodet teknikk.
Fremgangsmåte for prokode
Prokode-metoden bruker VBScript-kommandoer for å trekke ut informasjon fra SAP-UI-elementer.
Hvis du vil trekke ut SAP-statusdata, for eksempel nylig opprettede kjøpsavtaler eller systemnumre for vedlikehold av fabrikker, må du ha tilgang til UI-elementet for statuslinjen.
Slik får du tilgang til UI-elementet for statuslinjen.
session.findById("wnd\[0\]/sbar/pane\[0\]").Text
Nå går vi gjennom hele opplevelsen. Vi registrerer hvordan du oppretter et SAP PM-varsel og endrer koden som genereres, slik at den nylig opprettede ID-en returneres til Power Automate Desktop.
Hvis du aldri har hørt om SAPs PM-varslinger, eller du ikke har tilgang til dem, trenger du ikke bekymre deg. Du vil likevel kunne forstå fremgangsmåten som kreves for å trekke ut slike data for ditt eget scenario.
Her er trinnene:
Bekreft at alle SAP GUI-skriptkonfigurasjoner er utført.
Åpne SAP Logon og velg SAP-systemet du vil logge på.
Velg Tilpass lokalt oppsett (Alt+F12), og velg deretter Opptak og avspilling av skript....
Velg Mer.
Angi filbanen og filnavnet der du vil lagre de registrerte brukersamhandlingene, under Lagre til.
Velg Registrer skript-knappen for å starte prosessen med å registrere skjermen. Alle samhandlinger du gjør nå i SAP, fanges opp som repeterbare VBScript-kommandoer.
Merk
Hvis du har registrert trinn og lagret dem i denne filen tidligere, må du bekrefte om du vil overskrive filen.
Angi transaksjonskoden IW21, og velg deretter Angi.
Angi Varslingstype, og velg deretter Angi.
Skriv inn en Kort tekst, Planleggergruppe, Main WorkCtr og andre felt du trenger.
Velg Lagre (Ctrl+S) på verktøylinjen.
Tilbake i det opprinnelige skjemaet for Oppretting av PM-varsling vil du legge merke til en ny statusmelding på statuslinjen nederst til venstre i UI.
Velg Avslutt (Skift+F3) på verktøylinjen, og deretter avslutt opptaket.
Du kan eventuelt logge av SAP og lukke alle SAP-vinduer.
Vi ser nærmere på den genererte VBScript-koden:
Skjermbilde av VBScript som ble generert under oppretting av SAP-varsling 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.
La oss nå justere den genererte koden slik at den inkluderer et trinn som trekker ut, forkorter og gir deg den nye varsel-ID-en i Kjør VBScript-handlingen.
Skjermbilde av justert VBScript som returnerer SAP-varsel til Power Automate Desktop via en variabel 39 Dette er Lagre-knappen session findById quot wnd 0 tbar 0 btn 11 quot press 39 Dette er hele teksten på statuslinjen som inneholder dataene som skal hentes ut statusBarMessage session findById quot wnd 0 sbar pane 0 quot text 39 Trimming og fjerning av tekst rundt vår nye varslings-ID notificationID Trim Erstatt Erstatt statusBarMessage quot Varsling quot quot quot quot saved quot quot quot 39 Dette er Avslutt-knappen session findById quot wnd 0 tbar 0 btn 15 quot press 39 Dette gjør at den nyopprettede ID-en skrives til Kjør VBScript-utdatavariabelen i Power Automate Desktop WScript Echo notificationID.
Dette angir VBScriptOutput-variabelen for Kjør VBScript-handlingen til den nylig opprettede varslings-ID-en.
Hvis du vil se innholdet i VBScriptOutput, kan du bruke en visningsmeldingshandling som ligner på utdataene på følgende bilder.
Fremgangsmåte for lavkode
Metoden for lavkoding bruker handlinger og egendefinerte velgere til å trekke ut nylig genererte oppførings-IDer eller andre statusmeldinger som er viktige for nedstrømsflytbehandling.
Fremgangsmåten nedenfor vil ikke gå i detalj om hvordan du registrerer eller bruker manuell handlingsutforming til å opprette en ny PM-varslingsoppføring i SAP. Hvis du trenger en oppfriskning, kan du se gjennom Lavkodet eller Ukodet RPA med SAP GUI i Power Automate Desktop.
Følg denne fremgangsmåten for å bruke en lavkodet metode:
Bruk skrivebordsopptakeren eller en manuell handlingsutforming for å fange opp alle kontrollene du trenger for PM-varsling i SAP.
Opprett en varslingsoppføring, og registrer statusteksten som vises når du har valgt Lagre på verktøylinjen på Opprett PM-varsel-skjermen.
Når elementet er lagret, blir du omdirigert til det forrige skjermbildet, der du skal se et nytt varselnummer i statuslinjeteksten.
Gå tilbake til Power Automate Desktop, søk etter en handling kalt Hent detaljer om et UI-element i vindu, og legg det til på redigeringslerretet.
Velg rullegardinmenyen for UI-elementet, og velg deretter Legg til et nytt UI-element-knappen.
Velg SAP Easy Access-vinduet og hold markøren over statuslinjen til det vises en rød ramme kalt GUI-statusfelt. Mens kanten er aktiv, holder du nede Ctrl og klikker for å velge statusfeltet.
Velg Lagre.
Søk etter Erstatt tekst-handlingen i Handlinger-ruten, og dra den til utformingslerretet.
I Tekst det skal søkes etter skriver du Varsling. Under Erstatt med angir du en tom streng ved å angi følgende tegn: %''%
Legg til en annen Erstatt tekst-handling og endre navnet på Variabler produsert til %NotificationId%. I Tekst det skal søkes etter angir du lagre, og under Erstatt med angir du en tom streng (%''%).
Søk etter Trim tekst-handlingen på Handlinger-fanen, dra den til utformingslerretet, velg %NotificationId% som Tekst som skal trimmes-verdi og endre navn på Variabler produsert til %TrimmedNotificationID%.
Søk etter Vis melding-handlingen på Handlinger-ruten, og dra den til utformingslerretet. Angi Meldingsbokstittel og Melding som skal vises etter dine behov.
Kjør automatiseringen som oppretter et nytt PM-varsel i SAP, og trekk ut den nylig genererte varslings-ID-en som kan vises som på bildet nedenfor.