Hi Csongor Varga, At the end of 2020, I implemented an SAP RPA project using SAP GUI Scripting, and at that time, I learned a lot from your videos, including VBA. I'm truly grateful for that. I hope your videos reach even more people. Vincent Meng.
You were my mentor :) thank you so much for your service you great man! And for your help :) you actually took the time back in 2021 to accommodate my questions
Not many are familiar with GUI scripting. Even though they dont create themselves as takes a lot of time to learn. Good for us! SAP GUI doesnt work with long text. GUI scripting does work on Hana ERP. Not in Fiori apps. These are web based. The same reason VBA doesnt work when your office application is on cloud.
Man I had this job where I sent keystrokes from excel vba, copied every field into memory and then found the active window and paste tab paste tab, etc. just found out about this 10 yrs later. Didn’t have scripting ability back then. Sheesh. Anyway I’m doing it in python with whatever custom stuff I want, rename reports move them, and chatgpt is your friend on this.
My friend, You showed us how to download tables and thank You very much. But how to get specific numeber/amount/line of text from particular window in SAP? I would be so greatful for Your advice.
I did a tricks and tips video a few years ago. I think I show it there. But you record a macro where let's say you click on that particular field. The macro recording will record a line like session.FindByID(xxxxx).Selected. Put a breakpoint in that line, and add session.FindByID(xxxxx) (without the dot and the last word at the end). It will show the entire object and you can check which property holds the text of that field. Probably something like .Text or .Caption or .Value.
Hello Csongor and thank you for the great videos! I have a couple of questions. First is - in which video do you explain the looping in the scripts? And the second is - can we run the scripts in the background? Thanks in advance!
I replied to you in email :) I don't have a video with such looping. But in all my scripts the code starts with looking for the SAP session to connect to, and usually there is a separate Sub to execute the script. You can create a script which runs the report and the variant is passed as a parameter to this Sub. And you can call this sub 3 times with different variants. And the code will execute in sequence. Background processing: you can do it. It is not really background processing, but when record a script from the gui, the first list is always shows xxxx.Maximize, which makes the SAP GUI screen fullscreen. There is a xxxx.Iconify method that minimizes the SAP GUI window. The script will still work, but not in front of the user. Just replace Maximize with Iconify. Sorry I don't have access to a SAP system right now, I think the method is called Iconify but I am not 100% sure.
Thank you Csongor Varga, I created a 6 automation by watching your videos for 2 weeks. I have a question, how can i record a dynamic text field? Example in SMGW i want to capture the number of logged on clients. However this part is unclickble hence the script cant record it. It similiar to SM50 which i need to record the nnumber of Dialog, BG, update. etc.
@rolandmartingumapac Well click somewhere in the background in the gui and add a breakpoint to that line in the code. Add the ...Findbyid(....) line to the watch window and start going throught the screen structure using the Children property. Sometimes you can guess by the name if you found the correct control, otherwise check properties like .Text .Value if you can find the text you want to capture.
Hi.. Thank you for starting again, we have one question, script running only in my system I will share VBA macro sheet to others not working due to screen size..? How to use it globally on scrip, can you please help me.
It should work. The script looks cor the fields/buttons on the GUI screen, not what is show in your monitor. If the field is off the monitor screen because if the different resolution, it will still work.
The screen size does not affect ... except for the number of rows visible on a table control, grid or similar. If this is the case, probably your script should do "better" and have a way to move throw the table without depending on the size of the screen. For example if you try to write on line 10 of a table control and only 8 are visible, you will get an error unless you page down before. Usually the best way is to go one by one and ensuring the value you want is on the top row. It requires more logic to control it, but it is then fully independent of screen size.
Hello Csongor!!! Have you been able to create a code for an Excel VBA macro that can do the save step as with the Windows pop-up window? I have to save an excel file only that way so that the data is not modified :/ many thanks
@@olivergoldacker4819 Just as you say, it is faster but when you download it and make a series of filters with Macreo, the values are modified, the only way they are not modified is with the Windows popup :(
Thanks for all the video, I've learned a lot from you. However, I'm stuck on one project here, to create BOM with CS01. I know how to record the SAP GUI Scripting with VBA code as I've created some SAP automation. With the BOM creation, it's challenging and I'm hoping you can help. Let's say, the header called CUID. 1 CUID can have multiple SAP numbers (Materials). One the excel sheet, I have three rows with with the same CUIDs but different SAP numbers. So, on the VB code, how do we control it? 😆😭🙏
@yoke-yinp3188 I need to see how this transaction looks like. I am on holiday, so no SAP access now. Probably do it the same way as I scripted order creation with multiple line items. Assuming it is a similar thing.
It means that you are trying to control something which does not appear on the screen. For example you recorded a script which has a warning message, or a pop-up dialog, and you recorded how to OK that dialog. But when the script runs it the pop-up is not shown and there is no OK button to press. Probably you can delete that line it not required.
Hmmm, in I have a tips and tricks video and it has an example how you can log into GUI from Excel (instead of attaching to an open session). I think that will help you.
Hi Csongor Varga,
At the end of 2020, I implemented an SAP RPA project using SAP GUI Scripting, and at that time, I learned a lot from your videos, including VBA.
I'm truly grateful for that. I hope your videos reach even more people.
Vincent Meng.
Thanks a lot! I am happy to hear about your success.
Well done! Thanks for sharing this interesting content. I work with SAP on a daily basis and using scripts has revolutionized the way I work.
The man the myth the legend, welcome back, missed your SAP videos.
Thanks. Any proposals for new episodes?
@@csongorvarga Code optimization, proper list selection, code modularity, DRY principal.
@@Back1Ply ok, that was a bit much. Can you elaborate?
You were my mentor :) thank you so much for your service you great man! And for your help :) you actually took the time back in 2021 to accommodate my questions
@@georgebaker1137 You are welcome 😊
Not many are familiar with GUI scripting.
Even though they dont create themselves as takes a lot of time to learn. Good for us!
SAP GUI doesnt work with long text.
GUI scripting does work on Hana ERP.
Not in Fiori apps. These are web based.
The same reason VBA doesnt work when your office application is on cloud.
I will try this under HANA, but all my clients are still using ECC 6.0 for the time being.
Guy, very impressive ! Thanks a lot for that !
Man I had this job where I sent keystrokes from excel vba, copied every field into memory and then found the active window and paste tab paste tab, etc. just found out about this 10 yrs later. Didn’t have scripting ability back then. Sheesh.
Anyway I’m doing it in python with whatever custom stuff I want, rename reports move them, and chatgpt is your friend on this.
My friend, You showed us how to download tables and thank You very much. But how to get specific numeber/amount/line of text from particular window in SAP? I would be so greatful for Your advice.
I did a tricks and tips video a few years ago. I think I show it there. But you record a macro where let's say you click on that particular field. The macro recording will record a line like session.FindByID(xxxxx).Selected. Put a breakpoint in that line, and add session.FindByID(xxxxx) (without the dot and the last word at the end). It will show the entire object and you can check which property holds the text of that field. Probably something like .Text or .Caption or .Value.
Hello Csongor and thank you for the great videos!
I have a couple of questions.
First is - in which video do you explain the looping in the scripts? And the second is - can we run the scripts in the background? Thanks in advance!
I replied to you in email :) I don't have a video with such looping. But in all my scripts the code starts with looking for the SAP session to connect to, and usually there is a separate Sub to execute the script. You can create a script which runs the report and the variant is passed as a parameter to this Sub. And you can call this sub 3 times with different variants. And the code will execute in sequence.
Background processing: you can do it. It is not really background processing, but when record a script from the gui, the first list is always shows xxxx.Maximize, which makes the SAP GUI screen fullscreen. There is a xxxx.Iconify method that minimizes the SAP GUI window. The script will still work, but not in front of the user. Just replace Maximize with Iconify. Sorry I don't have access to a SAP system right now, I think the method is called Iconify but I am not 100% sure.
This is such a great video. I wish I could learn scripting by automating work order in SAP through excel data. Is it possible?
I think so. I will do a few more basics videos.
Can u please make video on bulk creation of service notifications
Congratulations! You are a legend!
Thanks man!
Thank you Csongor Varga, I created a 6 automation by watching your videos for 2 weeks.
I have a question, how can i record a dynamic text field?
Example in SMGW i want to capture the number of logged on clients. However this part is unclickble hence the script cant record it. It similiar to SM50 which i need to record the nnumber of Dialog, BG, update. etc.
@rolandmartingumapac Well click somewhere in the background in the gui and add a breakpoint to that line in the code. Add the ...Findbyid(....) line to the watch window and start going throught the screen structure using the Children property. Sometimes you can guess by the name if you found the correct control, otherwise check properties like .Text .Value if you can find the text you want to capture.
Hi, great videos, how do you make screenshots with VBA?
I am on holiday now, can quote the exact code, but I have a screenshot video and that has the exact example.
It is: keybd_event VK_SNAPSHOT, 1, 0, 0
Hi.. Thank you for starting again, we have one question, script running only in my system I will share VBA macro sheet to others not working due to screen size..? How to use it globally on scrip, can you please help me.
It should work. The script looks cor the fields/buttons on the GUI screen, not what is show in your monitor. If the field is off the monitor screen because if the different resolution, it will still work.
The screen size does not affect ... except for the number of rows visible on a table control, grid or similar.
If this is the case, probably your script should do "better" and have a way to move throw the table without depending on the size of the screen. For example if you try to write on line 10 of a table control and only 8 are visible, you will get an error unless you page down before.
Usually the best way is to go one by one and ensuring the value you want is on the top row. It requires more logic to control it, but it is then fully independent of screen size.
Hello Csongor!!! Have you been able to create a code for an Excel VBA macro that can do the save step as with the Windows pop-up window? I have to save an excel file only that way so that the data is not modified :/ many thanks
No, for that I need some Windows/VBA guru. I found a few resources online, but never got anything working.
Hello,
I no longer export an Excel file, but I use the clipboard and paste it into the Excel sheet. This is much faster.
@@olivergoldacker4819 Just as you say, it is faster but when you download it and make a series of filters with Macreo, the values are modified, the only way they are not modified is with the Windows popup :(
@@olivergoldacker4819 Thanks, I must try that. Does it also work if it is thousands of records.
Thanks for all the video, I've learned a lot from you. However, I'm stuck on one project here, to create BOM with CS01. I know how to record the SAP GUI Scripting with VBA code as I've created some SAP automation. With the BOM creation, it's challenging and I'm hoping you can help. Let's say, the header called CUID. 1 CUID can have multiple SAP numbers (Materials). One the excel sheet, I have three rows with with the same CUIDs but different SAP numbers. So, on the VB code, how do we control it? 😆😭🙏
@yoke-yinp3188 I need to see how this transaction looks like. I am on holiday, so no SAP access now. Probably do it the same way as I scripted order creation with multiple line items. Assuming it is a similar thing.
@@csongorvargaif you don't mind, I can email you.
@@csongorvargathanks for replying. Enjoy your vacation 😁
Hi would like to know how to solve the error message of "The control could not be found by Id. Line 15, Pos 0"? Thanks.
It means that you are trying to control something which does not appear on the screen. For example you recorded a script which has a warning message, or a pop-up dialog, and you recorded how to OK that dialog. But when the script runs it the pop-up is not shown and there is no OK button to press. Probably you can delete that line it not required.
How do you automate daily morning script run ? I can run the script but sap gui timeout is the issue. please help.
Hmmm, in I have a tips and tricks video and it has an example how you can log into GUI from Excel (instead of attaching to an open session). I think that will help you.
Damnit, I only playback. Recording is greyed out :(
Is scripting possible in sap grc nwbc browser page? If yes, please share the video or document link.
No, this is GUI scripting, only works in the GUI. BPS, NetWeaver portals, PCUI cannot be scripted.