Hallo DC-Treffler,
bisher habe ich den SAP-Scriptrecorder lediglich zum Exportieren von Daten aus SAP nach Excel, zur dortigen Weiterverarbeitung mittels VBA verwendet.
Seit letzter Woche schaffe ich es endlich, dass ein aufgezeichnetes Script Daten aus Excel zieht und sie in der Transaktion COR2 verwendet, um die im Excel gepflegten Aufträge entsprechend zu ändern.
Anmerkung: Excel enthält zwei relevante Spalten. Spalte 1 enthält die Auftragsnummern, Spalte 11 ein Textfeld.
Frage: Ist es möglich die Statusmeldung nach Speichern des Auftrags in SAP ebenfalls auszulesen und diese in Excel zu protokollieren?
Danke für Eure Ideen.
If Not IsObject(application) Then
Set SapGuiAuto = GetObject("SAPGUI")
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, "on"
WScript.ConnectObject application, "on"
End If
session.findById("wnd[0]").maximize
Dim objExcel
Dim objSheet, intRow, i
Set objExcel = GetObject(,"Excel.Application")
Set objSheet = objExcel.ActiveWorkbook.ActiveSheet
For i = 2 to objSheet.UsedRange.Rows.Count
COL1 = Trim(CStr(objSheet.Cells(i, 1).Value)) 'Column1
COL11 = Trim(CStr(objSheet.Cells(i, 11).Value)) 'Column11
session.findById("wnd[0]/tbar[0]/okcd").text = "/NCOR2"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtCAUFVD-AUFNR").text = COL1
session.findById("wnd[0]").sendVKey 6
session.findById("wnd[0]/usr/tblSAPLCOVGTCTRL_5100/txtAFVGD-VORNR[0,9]").setFocus
session.findById("wnd[0]/usr/tblSAPLCOVGTCTRL_5100/txtAFVGD-VORNR[0,9]").caretPosition = 3
session.findById("wnd[0]").sendVKey 2
session.findById("wnd[0]/usr/tabsTABSTRIP_5110/tabpVOUS").select
session.findById("wnd[0]/usr/tabsTABSTRIP_5110/tabpVOUS/ssubSUBSCR_5110:SAPLCOVF:5159/txtAFVGD-USR01").text = COL11
session.findById("wnd[0]/usr/tabsTABSTRIP_5110/tabpVOUS/ssubSUBSCR_5110:SAPLCOVF:5159/txtAFVGD-USR01").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP_5110/tabpVOUS/ssubSUBSCR_5110:SAPLCOVF:5159/txtAFVGD-USR01").caretPosition = 19
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]").sendVKey 3
session.findById("wnd[0]").sendVKey 11
session.findById("wnd[0]").sendVKey 0
aux=col1 & " " & col11
CreateObject("WScript.Shell").run("cmd /c @echo %date% %time% " & aux & " >> C:\SCRIPT\PlOrCreationLog.txt")
next
msgbox "Alle Priotermine wurden angepasst"