Skip to Content
avatar image
Former Member

How To tackle the Changing Id in SAPGUI Scriptiing?

Hi Experts,

I have been trying to automate one of the screen using the script. The problem I am facing is the id is getting changed Frequently. Please see the below example for reference.

Line = session.findById("wnd[0]/usr/subSUB0:SAPLMEGUI:0010/subSUB2:SAPLMEVIEWS:1100/subSUB2:SAPLMEVIEWS:1200/subSUB1:SAPLMEGUI:1211/tblSAPLMEGUITC_1211/txtMEPO1211-EBELP[1," & Row &"]").text

The bold part of the upper code is getting changed frequently. sometime it is 10 and sometime it is 16,19,15.

Can you please suggest any way to make it dynamic?

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • Best Answer
    May 14 at 08:23 AM

    Hello Vivek,
    you can loop over your elements in the user screen (usr) to detect the name.

    Set UserArea = session.findById("wnd[0]/usr")
    For i = 0 To UserArea.Children.Count - 1
      If Instr(UserArea.Children(CInt(i)).Name, "SAPLMEGUI:") Then
        SubName = UserArea.Children(CInt(i)).Name
      End If
    Next
    Set SubArea = session.findById("wnd[0]/usr/sub" & SubName)
    MsgBox SubArea.Name
    

    We set the variable UserArea and loop over all elements. If one elements name contains SAPLMEGUI: we get it. On this way you can detect which screen do you use, 10 or 15 or 16 or 19. The variable SubName contains SUB0:SAPLMEGUI:0010 and you can now use this variable in your IDs.

    Let us know your results.

    Cheers
    Stefan

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    May 14 at 10:13 AM

    Hi Stefan,

    Thank you so much the solution worked.

    Add comment
    10|10000 characters needed characters exceeded