How to create big of SAP accounts automatically on uiPath

Hi all,

I need to create about 1000 accounts in SAP application. The data of new users is saved on an excel file and I have to match this info to SAP forms. How can I do that on uiPath?

@BoBo

You can use Read Range activity to read the excel file

Use For Each Row activity to loop into the Datatable generated from Read Range activity

for reference you can visit below
https://forum.uipath.com/t/tutorial-how-to-check-a-string-is-present-in-excel-sheet-part-1/243696/2

Once you are ready with For Each Row activity, You can place different logics inside the For Each Row

You can use TypeInto activity to type, Get Text activity to get the text from SAP application Etc.,

Before all the for interacting with SAP from UiPath, do below steps

Hope this helps you

Thanks

Hi @ksrinu070184,

Thank you for your reply. I had a first imagine after reading your guideline. However, I got stuck at a specific case below:

  • I have a column in excel sheet which called “Email”. The value is dynamic e.g it maybe only one email for customer A, but mightbe 2 or 3 4 emails for customer B. Those emails are inputted in only one column named “Email” and separated by semi-colon, for example: email1;email2;email3…

In SAP I have to input each email1, email 2 to separate fields in a table like below:

image

Then when I read through the excel file using for each row I don’t know how to separate each email to each field in the above table. I have thought about the situation to separate email in excel file e.g each email in each column, but we don’t know how many emails per customer. So if we leave that email is blank then when pasting data to SAP it raise error.

Do you have any idea in this case?

Thank you.

Hey, @BoBo

You may separate each email with Split function. It works like with
emailsArray = YourEmailFieldFromExcel.Split(";"c)
Make sure your emailsArray variable has Array of String data type.
Later you can iterate through them with For Each activity

Please note that this approach also applies to those cases where you have only one email. Therefore, you should somehow adjust your current workflow.

Hope this will help. If you still have issues with pasting multiple emails to SAP, feel free to ask it :grinning:

Hi @Yurii_Horobets,

I have followed your instruction to my workflow (below) but it doesn’t seem working fine. It types “system.string” to my email field :D. Maybe I misunderstood your idea. Could you please explain more details?

image

Thank you.

Hi @LevKushnir @ksrinu070184 could you please help me on this case?

@BoBo

As the email is an array, You need a For Each loop and inside For Each loop you can put TypeInto activity and make TypeInto selector dynamic to type into next row

Hope this helps you

Thanks

Main.xaml (7.0 KB)
In the file, I created an example of a dynamic selector (in my tcode)

From your workflow I have to create a new variable for ‘email’ since uiPath raises error with that. Not sure why it doesn’t show error with your workflow.

And tried to run the above workflow and it doesn’t work for me. I also tried to adjust it by reading in excel scope… but still not work.

Hi @ksrinu070184 could you please explain more details about this?

I’ve assigned the emailarray and split it as per suggestion from Yurii. And then use a for each loop, but looks like it does not type the email correctly to each input field.

If you can help me in an example file I would appreciate your help!

Thank you.

Yes, exactly, you should have email variable


Main.xaml (9.2 KB)

If it does not type the email correctly, then, please, show your error here. Or use the AddRow button that you highlighted in yellow in one of your previous posts.

I made a selector on a different sap transaction. It definitely should not work in your case. But you can refer to it in order to create your dynamic selector

Yeah I can type each email into SAP table. However, the system always types to the first row of the SAP table even when I add a click activity to click to a new row. It seems I modified the wrong selector for input fields. The original selector should be:

image

and the variable is tableRow, start with 0 means first row.

In this case I create a variable for tableRow with Int32 variable type, and count +1 but it always type to first row.

Can you suggest some idea for this case?

I have already mentioned the solution in my xamls. Please check selector in Type Into activities from my files. Note that your tableRow variable can be implemented in For Each activity. Please see my first screenshot today. Activity For Each has a variable called index.

And in selector you write … tableRow=’" + index.ToString +"’ />"

I have tried tableRow=’" + index.ToString +"’ />" but still not work. It just types to the first row of email table :expressionless:

Make some screenshots of your workflow, please. Maybe then we can solve your problem

Please see the below screenshot for my workflow:

Great! And now, please share a screenshot of your selector )

Here you can see:

You are missing " between last + and that ’

Yep. But I think the selector is not correct here. Even when I try the correct format that you’ve provided it still does not work.