Skip to content

qizhi-d/SAPScript

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SAP Script tips

  1. grid handling, concatenate with variable session.findById("wnd[0]/usr/subSUB0:SAPLMEGUI:" & screen_no & "/subSUB3:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1301/subSUB2:SAPLMEGUI:1303/tabsITEM_DETAIL/tabpTABIDT12/ssubTABSTRIPCONTROL1SUB:SAPLMEVIEWS:1101/subSUB2:SAPLMEACCTVI:0100/subSUB1:SAPLMEACCTVI:1000/tblSAPLMEACCTVIDYN_1000TC/txtMEACCT1000-VPROZ[3," & CStr(row) & "]").Text = percentage '"25"
  2. vertical scroll bar session.findById("wnd[0]/usr/subSUB0:SAPLMEGUI:" & screen_no & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211").verticalScrollbar.Position = Position + 1 Position = session.findById("wnd[0]/usr/subSUB0:SAPLMEGUI:" & screen_no & "/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211").verticalScrollbar.Position
  3. how to determine whether need to switch page on error resume next for grid/table PageSize = session.findById("wnd[0]/usr").findByName("SAPLMIGOTV_GOITEM", "GuiTableControl").verticalScrollbar.PageSize pageindex = j Mod PageSize If pageindex = 1 Then If j > 1 Then session.findById("wnd[0]/tbar[0]/btn[82]").press ' click the next page button End If CurrentRow = 0 Else CurrentRow = CurrentRow + 1 End If for more details, refer to MIGO 261 order _new
  4. screen number change due to fold/ unfold status, or screen size, resolution Function detect_screen_no(screen_no As String, str1 As String, str2 As String) As String On Error Resume Next session.findById (str1 & screen_no & str2) If Err.Number = 0 Then detect_screen_no = screen_no End If For i = 20 To 10 Step -1 On Error Resume Next session.findById (str1 & "00" & CStr(i) & str2) If Err.Number = 0 Then detect_screen_no = "00" & CStr(i) Exit For End If Next i 'detect_screen_no = "" End Function

Except findByID, instead findByName(name, controltype) can be used to avoid the dynamic screen number issue, e.g
session.findById("wnd[0]/usr").findByName("GODYNPRO-DETAIL_ZEILE", "GuiTextField").Text for more details refer to MIGO 261 order New 5. on error resume next to handle exception On Error Resume Next session.findById (str1 & "00" & CStr(i) & str2) If Err.Number = 0 Then detect_screen_no = "00" & CStr(i) Exit For End If 6. status bar message type warning, press ENTER MessageType = session.findById("wnd[0]/sbar").MessageType If MessageType = "W" Then session.findById("wnd[0]").sendVKey 0 End If 7. datetime , quantity format 8. carriage return embeded in longtext mat_desc = Replace(Replace(mat_desc, Chr(13), ""), Chr(10), "")

  1. considering performance, access the internal object( row, cell) of the item list instead of switch to item details, the address/path to the table's active cell: tablecontrol.Rows(rowindex)(columnindex), eg. table_items.Rows(0)(4), means the first row, the 5th column assign variable for tablecontrol, row or column will trigger sap auto exit when switch to other transaction or popup window!!!

  2. useful video https://www.youtube.com/watch?v=oPPhA14Pm-8 explain SAPGUI script from Excel

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 62.1%
  • AutoIt 35.1%
  • Visual Basic .NET 2.8%