vbascriptingsap-gui

SAP GUI capture text from read only fields does not show in script


With SAP GUI scripting, how do you get the value of a non editable field that doesn't show up in the script?

The code from the script I can extract is as follows!

session.findById("wnd[0]").resizeWorkingPane 175,31,false
session.findById("wnd[0]/usr/tabsTABSTR_2100/tabpTRMN/ssubSUBSCR_2100:SAPLCOKO:2110/cmbCAUFVD-TERKZ").setFocus
session.findById("wnd[0]/mbar/menu[4]/menu[0]/menu[2]").select
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_VBELN").text = ""
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_SCHEDMGR").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_SCHEDULER").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_DSGNMGR").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZ_DSGNTECH").text = "111"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/cmbCOCI_AUFK-ZZBAM_FUNCA").key = "DATA"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/ctxtCOCI_AUFK-ZZBAM_ID").text = "www"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").text = "11121"
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").setFocus
session.findById("wnd[1]/usr/ssubCUSTSCR1:SAPLXCN1:0900/txtCOCI_AUFK-ZZBAM_VOL").caretPosition = 5

The field I need to capture is in the below screenshot where it says "Work For Others 3rd party".

I also would like to capture the info in the status bar at the bottom that shows the activity`s success or fail codes!

Thanks

Pete


Solution

  • Such fields can be represented by script as follows:

    1. Click the read only field with the mouse.
    2. Stop the script recording at this moment.
    3. The last clicked read only field is in the last line of the script and can be used.

    In this way you can also read the status bar. It should be as follows:

    msgbox session.findbyid("wnd[0]/sbar").text
    

    Regards, ScriptMan