In SAP System we have list of shipment (Check Box) so every time Process will run Its should pick shipment from there and should Process it. Next time it should go for next shipment Number take it and Process this Process should be repeated Back and Forth.
Every-time it should pick a new Shipment number or Should go In order to pick Shipment Number. Also how to handle exception in there. Such as If it Wont find a Shipment. It Should Not go further. Few other point mentioned below.
If I click on execute button shipment Number list take some time to Load it. It can be 1Min or more also what can we do to handle such Situation until particular screen appear.
On screen we have criteria under which a shipment should go Further if that Criteria not fulfilled. It should stop there and go for next shipment. Criteria is we process Shipment number only If
Overall Status = Shipment Completion
And there are few check Point should be ticked. (Refer Screen Shot).
*Please elaborate these too. No Infinite Loop, No Open Ending.
One way to do it is to scrap the data from your shipment list - e.g. with “Get visible text”, where the Output would be then your input in “Generate data table”. Then, for each row of your data table you would use e.g. “Get row item” and IF its output is different from empty, you would click the text, otherwise you would break the flow. To make your execution flexible and adjusted to any loading delays, you can use such activities as e.g. “On image appear”, “On image vanish”, or “Element/Image/Text exists” with later “If”. The condition you want to be fulfilled may be also written e.g. in “If” - in case the status is actually written somewhere literally as “Shipment Completion”, it would be then your overall status variable = “Shipment Completion”. Ticking check boxes can be done with “Check” activity. Maybe these are just bits and pieces, but I hope this solves some of your issues.
does it work if you pick “Get visible text” and while “indicating on screen” you mark the numbers from this particular column by dragging your cursor with a left click (just like when you normally select an area anywhere)?
Perhaps, or even better, you may apply the methods shown in the SAP automation training, where you operate on blocks: https://academy.uipath.com/lms/index.php?r=player&course_id=10##training
Check e.g. the solutions starting from 12:27 minute of the movie: use basic recording - select “Copy” - click the first cell from the Shipment column). When you save it, it will generate “GetValue” activity in the Studio. Check if the row and column are marked in its selector with numbers. Use “Do While” loop to cycle, set up a counter for it with assign activity, and move your GetValue activity to the body of Do While. Change the Selector as shown in the movie. Perhaps the part from 14:48 on will be even more useful.
If you don’t get the right selector with “Copy” in Recording, you can correct it: go to the selector - Open in UiExplorer - Select (choose the field with the first shipment from the list). Check the selector with Validate and Highlight. If it is working, then copy the selector and replace the one you have in GetValue activity. It may help to put the whole thing in Attach Window activity.
Some advice here - replace the row number with a variable in the selector using the “Selector” field straight in “Properties Pane”, NOT by pressing “…” button next to it. Otherwise the change will not work.
Please refer to this thread to make things clear:
An example of some valid selector part that makes an automation iterate through SAP column is:
" /ctxtRV45A-MABNR[1," +counter.ToString+ “]’ />”
@pad it does not have copy Option and it has big scroll down list. Get visible text I tried does not workout for me.
We don’t have cell in hereto read it like data table. that is the problem that would be easy to do. here each shipment is clickable. There is no Copy option
@ Nitin, as mentioned before, maybe better refer to the training movie which presents SAP automation. “Shipment List: Shipment Completion” screen itself kinda looks like a table and “Shipment” column (if i understand your process well) is the one you would like to scrape your data from for a future use(to create a loop to enter particular shipments and process them), so I wonder what you get when you are trying to build your automation using recording? When you use “Copy” from Recording menu, can you use that selector to create a loop? Can you narrow down your field selection via e.g. dragging the cursor with the left click over the first shipment number from the list?
@Nitin_Soni, that’s looking good. Can you assign a counter variable and replace your row number with it to make your automation iterate through the column content? Perhaps this part of your selector would be /usr/lbl[1," +counter.ToString+ “] then. Just remember not to do change in “Selector Editor”.