Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
stefan_schnell
Active Contributor
Over two years ago I presented here the lite version of Scripting Tracker. Scripting Tracker is a utility and a replacement to the SAP GUI Scripting Development Tools. It is a SAP GUI analyzer and recorder on SAP GUI Scripting base. Now I decided to make all features of Scripting Tracker free available. In this case it means that the recording module is also free available from now.

The analyzer shows a clearly arranged tree with all SAP sessions and its scripting objects. Also it shows for each scripting object, after the selection in the tree with a single mouse click, a lot of technical details like e.g. ID, position etc.



With the recorder the program offers the possibility to record, edit and execute your SAP GUI activities in PowerShell Windows and PowerShell Core, Visual Basic on Windows Scripting Host, AutoIt or Python script language. Also it is possible to record your activities in Java language. E.g. with the + button you enriches the source with information comment lines about the transaction, title, dynpro - program name and screen number - and the session number. With Scripting Tracker you have full visual control about the creating code, now it couldn't be easier to use SAP GUI Scripting.



The Scripting API viewer shows the complete SAP GUI Scripting API in an organized tree, analogous to the SAP GUI Scripting API help file. It is possible with a double click to copy the signature in the clipboard to use it in your code. Also it shows the methods and properties vis-à-vis, this means you can find a method or property and the classes where they are available.



With the Comparator you can compare screen elements of different screens to find differences.



The DumpState delivers a hierarchy of collections with detailed information about the state of an object.



 

You can find Scripting Tracker here.

2020/02/08 Update 4.35 of Scripting Tracker is available

  • Switch to JShell instead Java code generation

  • Checked with JDK 13.0.2

  • Checked with PowerShell Core 7.0.0 Release Candidate 2

  • Checked with Python 3.8.1

  • For more transparency added OutputDebugString for external program calls

  • For more transparency the recorder control dialog is now no longer an invisible window

  • Many improvements in details

  • Minor bug fixing


2020/01/25 Update 4.30 of Scripting Tracker is available

  • Checked with SAP GUI for Windows 7.60 Patch Level 4

  • Checked with PowerShell Core 7.0.0 Release Candidate 1

  • Corrections of the PowerShell Core 7 COM integration

  • Added SAP GUI Scripting registry settings in the customizing tab

  • Integration of the new SAP GUI for Windows 7.60 HTML help file

  • More content in the help file

  • Many more improvements in details

  • Minor bug fixing


2019/11/21 Update 4.20 of Scripting Tracker is available

  • Implementation of PowerShell Core support

  • Extension of help file with integration scenarios of UiPath RPA and SAP GUI Scripting with different programming languages

  • Many improvements in details

  • Minor bug fixing


2018/10/28 Update 4.10 of Scripting Tracker is available

  • Many improvements in details

  • Minor bug fixing.


2018/06/01 Update 4.01 of Scripting Tracker is available

  • Integration of code composer.

  • Extension of the snippets with WebUI automation examples.

  • Export of analyser tree.

  • Many improvements in details.

  • Minor bug fixing.


2017/09/21 Update 3.25 of Scripting Tracker is available

  • Implementation of Python code recording
    For integrative tasks, with the perspective of test automation, the Python support was implemented. To use SAP GUI Scripting in the context of Python you need PyWin32 extension.

  • Adding a Note tab as textual memory.

  • Many improvements in details

  • Minor bug fixing.


2017/09/03 Update 3.21 of Scripting Tracker is available

  • Includes AutoItX
    Scripting Tacker includes now AutoItX to use it seamlessly in the context of SAP GUI Scripting. It is a fabulous addition e.g. to control non SAP GUI dialogs.

  • Many improvements in details


2017/07/24 Update 3.20 of Scripting Tracker is available

  • Implementation of DumpState
    The DumpState delivers a hierarchy of collections with detailed information about the state of an object.

  • Implementation of another perspective to the SAP GUI Scripting API
    Now it shows the methods and properties vis-à-vis, this means you can find a method or property and the classes where they are available.

  • Many improvements in details

  • Check with SAP GUI for Windows 7.50 PL 1

  • Check with Windows 10 and 7


2017/03/31 Update 3.15 of Scripting Tracker is available

  • Implementation of Java™ code recording
    More and more is the SAP GUI for Windows not longer the primary UI for the user activities in the context of SAP. With the perspective of UI5 and START I implement the Java™ code recording possibility, to offer an integration with other UI technologies e.g. via Selenium.
    Hint: To use SAP GUI Scripting in the context of Java™ you need the Java COM Bridge (JACOB).


2016/12/13 Update 3.11 of Scripting Tracker is available

  • Implementation of a ROT viewer


2016/10/02 Update 3.10 of Scripting Tracker is available

  • Removal of VBScript control, because the relevance is insignificant now and the possibilities are limited. Use instead Windows Scripting Host (WSH) with VBScript.

  • For such reasons removal of VBScript debugging via WSH.

  • PowerShell is now the major language.

  • Scripting Tracker uses now UTF-8 as standard.

  • Codepage additions for Windows Scripting Host (WSH), because WSH is not able to use UTF-8 encoded files.


2016/07/20 Update 3.00 of Scripting Tracker is available

  • Implemetation of an object browser which shows the classes, methods, properties, enumerations and constants of the SAP GUI Scripting API

  • Minor changes


2016/03/12 Update 2.30 of Scripting Tracker is available

  • Complete redesign of the recorder module

  • Native PowerShell code generation


2016/02/25 Update 2.23 of Scripting Tracker is available

  • Help file return to CHM format

  • Minor changes


2015/10/24 Update 2.22 of Scripting Tracker is available

  • Actualization of the recorder module to GUI 7.40

  • Minor bug fixing


2015/09/05 Update 2.20 of Scripting Tracker is available

  • Add the Comparator tab, to compare screens with its elements and find differences between them easily.

  • Disable the possibility to export list of screen elements as CSV file.


2015/03/29 Update 2.12 of Scripting Tracker is available

  • Integration of AutoIt recorder now possible

  • Add the possibility to save a complete source file via shift and save button

  • Disable support of MiniRobot, because it has no relevance

  • Minor bug fixing


Comments are welcome.
70 Comments
stefan_schnell
Active Contributor
0 Kudos
Hello missfish

welcome in the SAP Community.

Sorry but I don't understand your question. Which lines do you mean? Lines of a table? Please explain more in detail what do you want to detect.

Best regards
Stefan
makrupka
Explorer
0 Kudos
Stefan, bin heute auf dein Tool aufmerksam geworden aber deine Seite ist momentan nicht erreichbar. Ist das nur ein temporaeres Problem? Wuerde den Scripting Tracker gern nutzen.
stefan_schnell
Active Contributor
0 Kudos
Hallo Martin,

vielen Dank für Deine Nachricht.

Die Seite ist erreichbar, sowohl die Hauptseite wie auch die Subdomain, habe es eben überprüft. Bitte einfach nochmal versuchen.

For all:
makrupka wrotes about accessibility problems of my website. This appeared to be a temporary problem of the provider. All works well.

Best regards
Stefan
former_member676024
Discoverer
0 Kudos

Hi Stefan,

Thanks for sharing this.

I’m currently learning SAP scripting and this is a great help but unfortunately, I can’t download the scripting tracker tool due to restrictions in my work laptop.

I’m creating a simple automation about material product hierarchy configuration but I don’t know how to get the value searched thru Position button to compare if it is equal to the input value since even if the value is not existing, it will still display the closest value on the first row.

So I wanted to add some validation after my code to check if the searched value is exactly equal to the input value.

Do you have any idea how to code this kind of validation?

Looking forward to your response. Thank you!

 

stefan_schnell
Active Contributor
0 Kudos
Hello Dan,

which transaction code do you use? How do you get to the dialog?

As far as I can see it is a GuiTableControl. After pressing ok in the "Another entry" dialog box, detect with CurrentRow the active row and use GetCell to read the content. Now you can compare if it is your entry or not and you can decide what to do.

Best regards
Stefan
former_member676024
Discoverer
0 Kudos
Hi Stefan,

Thanks for your reply.

I'm using transaction code v/76

Tried using CurrentRow and the result is always 0 probably because it always points to the the first row? But I can't make the GetCell work, just used the Msgbox to see the return value.
objSess.FindById("wnd[0]/usr/btnVIM_POSI_PUSH").press
objSess.FindById("wnd[1]/usr/sub:SAPLSPO4:0300/ctxtSVALD-VALUE[0,21]").Text = PHCode
objSess.FindById("wnd[1]/usr/sub:SAPLSPO4:0300/ctxtSVALD-VALUE[0,21]").caretPosition = 12
objSess.FindById("wnd[1]/tbar[0]/btn[0]").press

Row = objSess.FindById("wnd[0]/usr/tblSAPL080HTCTRL_V_T179").CurrentRow
CellValue = objSess.FindById("wnd[0]/usr/tblSAPL080").GetCell(Row, 0)
MsgBox CellValue

 
0 Kudos
Hi Stefan,

I am automating SAP using Java, It is a great tool.

I can track the elements using tracker but the recorder option is not visible. I can capture the session and find the elements. Any reasons for this.

I am using the latest version of tracker.

Sap Version :

Release 750 final release
Version 7500.2.4.1141
Build 1817102

Windows 10

stefan_schnell
Active Contributor

Hello mrif

the visibility of the Recorder tab is depend on the availability of…

  • Recorder.exe in the same directory as Tracker.exe
  • Recorder.dll in the same directory as Tracker.exe
  • Scintilla.dll in the same directory as Tracker.exe

It seems that your installation do not meet one or more of these requirements. Please check your installation.

Best regards
Stefan

Thanks, Stefan,

After extracting the tracker few files went missing related to the recorder,That caused this issue.I have copied them back again.
stefan_schnell
Active Contributor
Thanks for your reply mrif great to hear that everything works.
former_member690884
Discoverer
0 Kudos
Dear Stefan,

I have loved your work regarding SAP Gui scripting and it has indeed helped me a lot in my work. Thank you!

Just recently I have been up against a strange issue. My script (please refer below) was working absolutely fine but now it has started throwing me an error : Object required:'ActiveWorkbook'-

I am not able to figure out why it so because it was working absolutely fine a day back.

If you could please help me here then that would be really great.




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))
COL3 = Trim(CStr(objSheet.Cells(i, 3).Value))

session.findById("wnd[0]/tbar[0]/okcd").text = "/nsu01"
session.findById("wnd[0]").sendVKey 0
session.findById("wnd[0]/usr/ctxtSUID_ST_BNAME-BNAME").text = COL1
session.findById("wnd[0]/tbar[1]/btn[7]").press
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS").select
session.findById("wnd[0]/tbar[1]/btn[19]").press
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS/ssubMAINAREA:SAPLSUID_MAINTENANCE:1121/chkSUID_ST_NODE_DBMS_USER-IS_KERBEROS_ENABLED").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS/ssubMAINAREA:SAPLSUID_MAINTENANCE:1121/chkSUID_ST_NODE_DBMS_USER-IS_KERBEROS_ENABLED").selected = true
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS/ssubMAINAREA:SAPLSUID_MAINTENANCE:1121/txtSUID_ST_NODE_DBMS_USER-EXTERNAL_IDENTITY").text = COL3
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS/ssubMAINAREA:SAPLSUID_MAINTENANCE:1121/txtSUID_ST_NODE_DBMS_USER-EXTERNAL_IDENTITY").setFocus
session.findById("wnd[0]/usr/tabsTABSTRIP1/tabpDBMS/ssubMAINAREA:SAPLSUID_MAINTENANCE:1121/txtSUID_ST_NODE_DBMS_USER-EXTERNAL_IDENTITY").caretPosition = 21
session.findById("wnd[0]/tbar[0]/btn[11]").press

next
msgbox "Process Completed"




Regards,

Akash Prabhu

 
stefan_schnell
Active Contributor

Hello Akash,

thanks for your kindful words.

It seems that an invisible Excel instance runs on your system without an open workbook. Open your task manager and search for open Excel instances. Or use PowerShell:

GetObject takes this instance and ActiveWorkBook fails. This can happen, if an Excel instance opened with CreateObject, does not ended respectively closed correctly.

Best regards
Stefan

former_member690884
Discoverer
Dear Stefan,

Thank you so much for your quick and precise response.

We use citrix environment for our SAP and excel applications and hence, based on your guidance, I tried to run the script in QA citrix rather than Prod citrix and it ran successfully.

Hence as you have correctly mentioned it was due to unwanted Excel instance running in background, after resetting my citrix profile now I am able to run my scripts again!

Thank you very much and keep guiding !

Regards,

Akash Prabhu
0 Kudos

Hi Stefan, thank you so much for such a great tool.

I have been using this for SAP ECC with no issues, but when I started using this with SAP S4/HANA, it is acting strange with the Analyser tracker, it doesn't track the correct field that you clicked, for example screen below, i was clicking the gross weight field, but the red frame is tracking Authorization group box, greatly appreciated if you can help me to see what's going wrong.

0 Kudos
This is an amazing tool, thank you for sharing it with the world... I have a question...

 

Is it possible to get the tooltip value in a variable? Using VBScripting... I can get the text value of an element but I'm not sure if I can get the ToolTip Value the same way... I was looking at the Scripting API section and under AccToolTIp it has a method named "GetCurrentTollTipText () As BStr" but I don't know how to use it...
former_member791492
Discoverer
Thank you st.schnell for this great tool. I have been using it since a a year or two and it made my life really easier !

Though since the last SAP update the tracker is loosing the connection with the client window after the connection page. I was wondering if you know about this behavior and if a patch would be an option if possible ?

 

Have a great day
stefan_schnell
Active Contributor
Hello julien_lmd

thanks for your hint, I will try that.

Best regards
Stefan
former_member791492
Discoverer
Hello Stefan,

this issue I am facing might be linked to an SAP privilege modification preventing me to use any kind of SAP recorder. For example embedded "Script Recording and Playback.." functionality is greyed out. I will investigate furthermore and let you know.

Have a good day

Julien
largecat
Discoverer
0 Kudos

Dear,  I download the Scripting Tracker (tried both X86 and X64), run it but capture nothing from the SAP gui,

I run Scripting Tracker using user mode, not admin mode,

and I'm have no admin right in SAP.

 

I attached the picture of the config,

what's the reason for this? thanks advanced.

 

the "script recorder and payback" cannot bre:

 

largecat
Discoverer
0 Kudos
pls ignore this question couse the script function is disabled by admin,
Labels in this area