Willkommen Gast! Um alle Funktionen zu aktivieren müssen Sie sich Anmelden oder Registrieren.

Mitteilung

Icon
Error

Optionen
Gehe zum aktuellsten Beitrag Gehe zum letzten Ungelesenen
Offline Johnymaroni  
#1 Geschrieben : Dienstag, 13. August 2019 13:05:05(UTC)
Johnymaroni

Beiträge: 4
Switzerland
Hallo Community

Ich muss in über 1400 Arbeitsplänen eine gewisse Position löschen.
Über ein Query konnte ich die Positionen im Arbeitsplan erkennen.
Die Position wird in der CA02 richtig ausgewält, Mülleimer angeclickt, und dann kommt ein Warnfeld, ob ich wirklich löschen möchte.
Dieser ist Standartmässig auf nein gestellt.

Nun meine Frage

Wie kann ich per Script von Nein auf Ja wechseln?
Unten stehend mein Script.


Set MyFile = fso.CreateTextFile(filePath, True)
MyFile.WriteLine ("If Not IsObject(Application) Then")
MyFile.WriteLine ("Set SapGuiAuto = GetObject(""SAPGUI"")")
MyFile.WriteLine ("Set Application = SapGuiAuto.GetScriptingEngine")
MyFile.WriteLine ("End If")
MyFile.WriteLine ("If Not IsObject(Connection) Then")
MyFile.WriteLine ("Set Connection = Application.Children(0)")
MyFile.WriteLine ("End If")
MyFile.WriteLine ("If Not IsObject(session) Then")
MyFile.WriteLine ("Set session = Connection.Children(0)")
MyFile.WriteLine ("End If")
MyFile.WriteLine ("If IsObject(WScript) Then")
MyFile.WriteLine ("WScript.ConnectObject session, ""on""")
MyFile.WriteLine ("WScript.ConnectObject Application, ""on""")
MyFile.WriteLine ("End If")
MyFile.WriteLine ("session.findById(""wnd[0]"").maximize")
MyFile.WriteLine ("session.findById(""wnd[0]/tbar[0]/okcd"").Text = ""/nca02""")
MyFile.WriteLine ("session.findById(""wnd[0]"").sendVKey 0")
For i = 2 To 3

If Trim(Range("A" & i)) <> "" Then

MyFile.WriteLine ("session.findById(""wnd[0]/usr/ctxtRC27M-MATNR"").Text = """ & Range("B" & i) & """")
MyFile.WriteLine ("session.findById(""wnd[0]/usr/ctxtRC27M-WERKS"").Text = ""1000""")
MyFile.WriteLine ("session.findById(""wnd[0]/usr/ctxtRC27M-WERKS"").setFocus")
MyFile.WriteLine ("session.findById(""wnd[0]/usr/ctxtRC27M-WERKS"").caretPosition = 4")
MyFile.WriteLine ("session.findById(""wnd[0]"").sendVKey 0")
MyFile.WriteLine ("session.findById(""wnd[0]/usr/tblSAPLCPDITCTRL_1400/txtPLPOD-VORNR[0," & Range("K" & i) & "]"").SetFocus ")
MyFile.WriteLine ("session.findById(""wnd[0]/usr/tblSAPLCPDITCTRL_1400/txtPLPOD-VORNR[0," & Range("K" & i) & "]"").caretPosition = 0")
MyFile.WriteLine ("session.findById(""wnd[0]/tbar[1]/btn[14]"").press")
MyFile.WriteLine ("session.findById(""wnd[1]/usr/btnSPOP-OPTION1"").press")
MyFile.WriteLine ("session.findById(""wnd[0]"").sendVKey 11 ")


Vielen Dank

Freundliche Grüsse
Johny

Nehmen Sie an dieser Diskussion teil! SAP FORUM - SAP Community LoginHier registrieren.

Offline Alpmann  
#2 Geschrieben : Dienstag, 13. August 2019 15:30:52(UTC)
Alpmann

Beiträge: 181
Hallo Johny,

das geht auch sehr einfach ohne Script. Schau dir mal die Transaktion CEWB (PP: Engineering Workbench) an.

Mit freundlichen Grüßen
Matthias Alpmann
Offline Johnymaroni  
#3 Geschrieben : Mittwoch, 14. August 2019 04:16:52(UTC)
Johnymaroni

Beiträge: 4
Switzerland
Hallo Matthias

Ich glaube ich hab mich falsch ausgedruckt.
Ich muss in 1400 Materialien, eine Position im Arbeitsplan löschen.
Diese kann mal Position 10, mal Position 50 sein.
So wie ich gesehen habe, kann ich in der CEWB nur ein Material gleichzeitig bearbeiten.
So könnte ich ja direkt über die CA02 gehen.

Freundliche Grüsse
Johny

Bearbeitet vom Benutzer Mittwoch, 14. August 2019 04:22:33(UTC)  | Grund: Nicht angegeben

Offline ScriptMan  
#4 Geschrieben : Mittwoch, 14. August 2019 05:30:41(UTC)
ScriptMan

Beiträge: 270
Hallo Johny,

leider arbeite ich nicht mit derartigen Transaktionen. Ich könnte mir
aber vorstellen, wenn der Standard ein "Nein" ist,

Code:
MyFile.WriteLine ("session.findById(""wnd[1]/usr/btnSPOP-OPTION1"").press")


dass dann ein "Ja" folgendes sein könnte.

Code:
MyFile.WriteLine ("session.findById(""wnd[1]/usr/btnSPOP-OPTION2"").press")


Man muss es halt ausprobieren!

Grüße, ScriptMan
Offline Alpmann  
#5 Geschrieben : Mittwoch, 14. August 2019 06:53:12(UTC)
Alpmann

Beiträge: 181
Hallo Johny,

mit der CEWB kann man definitiv mehrere Arbeitspläne auf einmal selektieren und bearbeiten. Du kannst da deine 1400 Artikel in die Mehrfachauswahl packen.

Ich habe erst neulich damit ca. 3000 Positionen gelöscht. Da war das so, dass ein Vorgang eines Arbeitsplatzes rausfallen sollte. Da man hier auch nach einem Arbeitsplatz selektieren kann, war das Thema in fünf Minuten erledigt.

Mit freundlichen Grüßen
Matthias Alpmann
Offline Johnymaroni  
#6 Geschrieben : Mittwoch, 14. August 2019 07:58:26(UTC)
Johnymaroni

Beiträge: 4
Switzerland
Hallo Matthias

Jetzt hab ich die Mehrfachselektion entdeckt.Blushing
Das ist ja Perfekt, so kann ich die Arbeitsplätze und Steuerschlüssel welche gelöscht werden müssen, direkt suchen.

Danke das du dir die Zeit genommen hast, einen zweiten Anlauf zu starten :)
Hat geholfen BigGrin


Freundliche Grüsse
Johny
Benutzer, die gerade dieses Thema lesen
Das Forum wechseln  
Du kannst keine neue Themen in diesem Forum eröffnen.
Du kannst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge nicht löschen.
Du darfst deine Beiträge nicht editieren.
Du kannst keine Umfragen in diesem Forum erstellen.
Du kannst nicht an Umfragen teilnehmen.

- Impressum / Datenschutz -