Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Wanneer u records in SAP aanmaakt of bijwerkt, worden statusgegevens gegenereerd, waaronder de nieuw gegenereerde record-id's. SAP geeft deze statusinformatie weer in het onderste deel van de SAP-gebruikersinterface.
Hier is een voorbeeldstatusbericht dat SAP weergeeft nadat u een SAP PM-melding hebt gemaakt.
Deze statusinformatie kan later nuttig zijn voor de stappen van het automatiseringsproces. Daarom moet u deze statusgegevens extraheren en toewijzen aan variabelen voor downstreamgegevensverwerking.
We hebben meerdere manieren om dit te bereiken, afhankelijk van uw ontwikkelingsaanpak. De twee benaderingen zijn: low-code of pro-code.
Techniek met pro-code
De pro-code-techniek maakt gebruik van VBScript-opdrachten om informatie uit SAP UI-elementen te extraheren.
Om SAP-statusgegevens te extraheren, zoals nieuw aangemaakte inkoopaanvragen of meldingsnummers voor fabrieksonderhoud, hebt u toegang nodig tot het UI-element van de statusbalk.
Hier leest u hoe u toegang krijgt tot het UI-element van de statusbalk.
session.findById("wnd\[0\]/sbar/pane\[0\]").Text
De hele werking wordt besproken. We leggen vast hoe u een SAP PM-melding maakt en de gegenereerde code wijzigt om de nieuw gemaakte id terug te sturen naar Power Automate Desktop.
Als u nog nooit van de PM-melding van SAP hebt gehoord of er geen toegang toe hebt, hoeft u zich geen zorgen te maken, u kunt nog steeds de stappen begrijpen die nodig zijn om dergelijke gegevens voor uw eigen scenario te extraheren.
Dit zijn de stappen:
Bevestig dat de configuratie voor SAP GUI-scripting is voltooid.
Open SAP-aanmelding en selecteer het SAP-systeem waarop u wilt inloggen.
Selecteer Lokale lay-out aanpassen (Alt+F12), en selecteer vervolgens Script opnemen en afspelen....
Selecteer Meer.
Geef onder Opslaan in het bestandspad en de bestandsnaam op waar u de vastgelegde gebruikersinteracties wilt opslaan.
Selecteer de knop Script opnemen om het schermopnameproces te starten. Elke interactie die u nu in SAP doet, wordt vastgelegd als herhaalbare VBScript-opdrachten.
Notitie
Als u eerder stappen hebt opgenomen en in dit bestand hebt opgeslagen, moet u bevestigen of u het bestand wilt overschrijven.
Voer de transactiecode IW21 in en selecteer vervolgens Enter.
Geef het Meldingstype op en selecteer Enter.
Voer een Korte tekst, Plannergroep, Main WorkCtr in en elk ander veld dat u nodig hebt.
Selecteer Opslaan (Ctrl+S) op de werkbalk.
Als u teruggaat naar het oorspronkelijke formulier PM-melding maken, ziet u een nieuw statusbericht in de statusbalk in de linkerbenedenhoek van de gebruikersinterface.
Selecteer Afsluiten (Shift+F3) op de werkbalk en vervolgens opname stoppen.
Meld u optioneel af bij SAP en sluit alle SAP-vensters.
Laten we de gegenereerde VBScript-code eens bekijken:
Screenshot of VBScript generated during SAP Notification creation 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.
Laten we nu de gegenereerde code aanpassen om een stap op te nemen die de nieuwe meldings-id extraheert, bijsnijdt en vervolgens terugstuurt naar de actie VBScript uitvoeren.
Schermopname van aangepast VBScript dat SAP-melding retourneert naar Power Automate voor bureaublad via een variabele 39 Dit is de knop Opslaan session findById quot wnd 0 tbar 0 btn 11 quot press 39 Dit is de volledige statusbalktekst die de gegevens bevat die moeten worden geëxtraheerd statusBarMessage session findById quot wnd 0 sbar pane 0 quot text 39 Bijsnijden en verwijderen van tekst rond de nieuwe melding-id notificationID Trim Replace Replace statusBarMessage quot Notification quot quot quot quot saved quot quot quot 39 Dit is de knop Afsluiten session findById quot wnd 0 tbar 0 btn 15 quot press 39 Hiermee schrijft u de nieuw aangemaakte id naar de Run VBScript-uitvoervariabele in Power Automate voor bureaublad WScript Echo notificationID.
Hiermee stelt u de variabele VBScriptOutput van de actie VBScript uitvoeren in op de nieuw gemaakte meldings-id.
Als u de inhoud van de VBScriptOutput wilt zien, kunt u een actie voor het weergeven van berichten gebruiken, vergelijkbaar met de uitvoer in de volgende afbeeldingen.
Techniek met low-code
De methode met weinig code maakt gebruik van acties en aangepaste selectors om nieuw gegenereerde record-id's of andere statusberichten te extraheren die belangrijk zijn voor de latere stroomverwerking.
In de volgende stappen wordt niet in detail ingegaan op het vastleggen of gebruiken van ontwerpen voor handmatige acties om een nieuw SAP PM-meldingsrecord te maken. Bekijk Low-code of No-code RPA met SAP GUI in Power Automate voor bureaublad om uw kennis hierover op te frissen.
Volg deze stappen voor een low-code aanpak:
Gebruik de bureaubladrecorder of het handmatige actieontwerp om alle bedieningselementen vast te leggen die u nodig hebt voor het SAP PM-meldingsproces.
Maak een meldingsrecord en leg de statustekst vast die verschijnt nadat u Opslaan hebt geselecteerd op de werkbalk van het scherm PM-melding maken.
Nadat het item is opgeslagen, wordt u doorgestuurd naar het vorige scherm waar u een nieuw meldingsnummer in de statusbalktekst zou moeten zien.
Ga nu terug naar Power Automate Desktop, zoek naar een actie met de naam Details van een UI-element in het venster ophalen en voeg het toe aan uw ontwerpcanvas.
Selecteer het vervolgkeuzemenu met UI-elementen en selecteer vervolgens de knop Een nieuw UI-element toevoegen.
Selecteer het venster SAP Easy Access en plaats de muisaanwijzer op de statusbalk tot een rode rand met het label Gui-statusbalk verschijnt. Houd Ctrl ingedrukt terwijl de rand actief is en klik vervolgens om de statusbalk te selecteren.
Selecteer Opslaan.
Zoek naar de actie Tekst vervangen in het deelvenster Acties en sleep het naar het ontwerpcanvas.
Voer in Tekst om te zoeken Melding in. Voer onder Vervangen door een lege tekenreeks in met de volgende tekens: %''%
Voeg nog een actie Tekst vervangen toe en wijzig de naam van Variabelen gemaakt in %NotificationId%. Voer in Tekst om te zoeken opslaan in, en onder Vervangen door een lege tekenreeks (%''%).
Zoek naar de actie Tekst bijsnijden in het deelvenster Acties, sleep deze naar het ontwerpcanvas, selecteer %NotificationId% als de waarde Tekst om bij te snijden en wijzig de naam van Variabelen gemaakt in %TrimmedNotificationID%.
Zoek naar de actie Bericht weergeven in het deelvenster Acties en sleep het naar het ontwerpcanvas. Stel Titel berichtvenster en Bericht om weer te geven in naar uw behoeften.
Voer de automatisering uit die een nieuwe SAP PM-melding maakt en de nieuw gegenereerde meldings-ID extraheert die kan worden weergegeven zoals in de volgende afbeelding.