Oracle EBS Purchase Order Automation using RPA

I am trying to create RPA process to automate the Purchase Order Generation using Oracle EBS Application.

So Process is like each purchase order has some no. of line items.

I am storing the purchase order with supplier name and line items associated with him in an Excel file. Reading those records from there to insert it in the Oracle Purchase form.
Format of table as below:

Supplier Item Description Quantity Price
Supplier 1 6100100232 item1 5 2
6100121232 item2 10 2
440400112 item3 3 4
Supplier 2 440400112 item3 10 1
6100121232 item2 20 1

I can enter two lines of records for first supplier . However then it returns error as
Escape Item: Could not find the UI element corresponding to this selector:
java name=‘Purchase Orders - [New]’ role=‘internal frame’
java name=‘ItemList of Values’ role=‘text’ virtualname=‘VTextField108’

Search failed at selector tag:
java name=‘ItemList of Values’ role=‘text’ virtualname=‘VTextField108’

The closest matches found are:
97% - java name=‘ItemList of Values’ role=‘text’ virtualname=‘VTextField107’
94% - java name=‘SiteList of Values’ role=‘text’ virtualname=‘VTextField16’
93%- java name=‘Ship-ToList of Values’ role=‘text’ virtualname=‘VTextField18’
91%- java name=‘PromisedList of Values’ role=‘text’ virtualname=‘VTextField180’
90% - java name=‘Lines tab page ItemList of Values’ role=‘text’ virtualname=‘VTextField108’
90% - java name=‘RevList of Values’ role=‘text’ virtualname=‘VTextField116’
90% - java name=‘Bill-ToList of Values’ role=‘text’ virtualname=‘VTextField19’

Help me out on this issue.

Hi @ajinkya , do you really need virtualname property in the selector? It doesn’t seems to be reliable, in this case.

@vlad.coteanu ; To dynamically fill the line item for the same supplier, we require that property.

Ignore / remove the virtualname component in your selector, and instead add table row (don’t remember the exact notation from my old EBS days).

The virtualname properties are dynamic, you should not trust them.

I’ve build a similar bot for a client a while back (can’t access and/or share that code, sorry), and that was my solution of navigating through this grid.

Important: the table row property is static in Ebs. Meaning that this grid shows like 10 lines in the grid. As soon as you’d need a 11th line you need to scroll down (using keypress down) from line 10 to 11. The table row is then still the 10th, since the grid is static regardless of scroll depth.

@Jeroen_van_Loon yes, I understood that virtualname is not static but dynamic however I am still looking for static property. It would be great if you just share the id you have used for selector if possible.
Below are the selectors in order to type in Item

wnd app='jp2launcher.exe' cls='SunAwtFrame' title='Oracle Applications - APIDEV' />
<java cls='JFrame' hasTableAncestor='0' name='Oracle Applications - APIDEV' role='frame' />
<java cls='JRootPane' hasTableAncestor='0' role='root pane' />
<java cls='JLayeredPane' hasTableAncestor='0' role='layered pane' />
<java cls='JPanel' hasTableAncestor='0' role='panel' />
<java cls='FndFormsEngine' hasTableAncestor='0' role='frame' />
<java cls='MDIContainer' hasTableAncestor='0' role='panel' virtualname='MDIContainer*' />
<java cls='EwtComponent' hasTableAncestor='0' role='panel' virtualname='EwtComponent3' />
<java cls='ScrollBox' hasTableAncestor='0' role='scroll pane' virtualname='ScrollBox4' />
<java cls='ScrollBox$1' hasTableAncestor='0' role='viewport' virtualname='ScrollBox$15' />
<java cls='FormDesktopContainer' hasTableAncestor='0' role='desktop pane' virtualname='FormDesktopContainer6' />
<java name='Purchase Orders - [New]' role='internal frame' virtualname='ExtendedFrame466' />
<java cls='EwtComponent' hasTableAncestor='0' role='panel' virtualname='EwtComponent467' />
<java cls='FScrollBox' hasTableAncestor='0' role='scroll pane' virtualname='FScrollBox468' />
<java cls='ScrollBox$1' hasTableAncestor='0' role='viewport' virtualname='ScrollBox$1469' />
<java cls='DrawnPanel' hasTableAncestor='0' role='panel' virtualname='DrawnPanel470' />
<java cls='FScrollBox' hasTableAncestor='0' role='scroll pane' virtualname='FScrollBox471' />
<java cls='ScrollBox$1' hasTableAncestor='0' role='viewport' virtualname='ScrollBox$1472' />
<java cls='DrawnPanel' hasTableAncestor='0' role='panel' virtualname='DrawnPanel473' />
<java name='ItemList of Values' role='text' virtualname='VTextField370' />

if you recall anything please let me know

Ghe, apparently I solved it back then by actually using the idx property.
image

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.