Script Aufzeichnung mit SAP

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Parawolli.

    Script Aufzeichnung mit SAP

    Guten Tag,ich habe folgenden Code mit SAP Script aufgezeichnet, mit dem ich eine SAP Transaktion steuern und abändern kann. In der SAP Transaktion kann die zu bearbeitende Stelle an 20 unterschiedlichen Positionen stehen.Daher lese ich im Vorfeld die Transaktion aus. Diese wird mit einem Zähler festgehalten und kann entsprechend von Zähler = 1 bis Zähler = 20 hoch sein. Im 2. Schritt kommt dieses Script dann zur Anwendung.Aktuell habe ich das Script 20x hintereinander kopiert. Der einzige Unterschied ist in Pos. 25 in der Eckigen Klammer. Dort steht [10,1] bis [10,20].Die einzelnen Programmabschnitte werden jeweils mit If Zähler 1 bis 20 abfragt.Ich will die Programmzeile 25 natürlich durch die Programmzeile 26 ersetzen, damit ich nur einen Programmabschnitt habe. Aber es kommt immer ein Laufzeitfehler 619 als gelbes Debuggen.Ich habe die Programmzeile 26 auch schon in verschiedenen Variationen geschrieben, aber trotzdem kommt immer der gleiche Fehler.
    Hat jemand eine Idee?


    Visual Basic-Quellcode

    1. If Zähler = 1 Then
    2. If Not IsObject(Application1) Then
    3. Set SapGuiAuto = GetObject("SAPGUI")
    4. Set Application1 = SapGuiAuto.GetScriptingEngine
    5. End If
    6. If Not IsObject(Connection) Then
    7. Set Connection = Application1.Children(0)
    8. End If
    9. If Not IsObject(session) Then
    10. Set session = Connection.Children(0)
    11. End If
    12. If IsObject(WScript) Then
    13. WScript.ConnectObject session, "on"
    14. WScript.ConnectObject Application1, "on"
    15. End If
    16. session.findById("wnd[0]").maximize
    17. session.findById("wnd[0]/tbar[0]/okcd").Text = "/NCA02"
    18. session.findById("wnd[0]").sendVKey 0
    19. session.findById("wnd[0]/usr/ctxtRC27M-MATNR").Text = Artikel_Nr
    20. session.findById("wnd[0]/usr/ctxtRC27M-WERKS").Text = "1553"
    21. session.findById("wnd[0]").sendVKey 0
    22. session.findById("wnd[0]").sendVKey 0
    23. session.findById("wnd[0]/usr/tblSAPLCPDITCTRL_1400/txtPLPOD-VGW03[10,1]").Text = SGV
    24. 'session.findById("wnd[0]/usr/tblSAPLCPDITCTRL_1400/txtPLPOD-VGW03[10, & Zähler]").Text = SGV
    25. session.findById("wnd[0]/tbar[0]/btn[11]").press
    26. Else: End If

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Parawolli“ ()

    Spekulatius: session.findById("wnd[0]/usr/tblSAPLCPDITCTRL_1400/txtPLPOD-VGW03[10," & Zähler & "]").Text = SGV
    Sonst denkt das Programm ja, dass & Zähler Teil des Suchstrings ist.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.