Hi community!

How are you?

Any example for call a API Rest from c# script in a businessProcess?

 

I have a list of processes to call from a detail, one of them must call an API and process the response but I can not use the "Call Web service" element because the request needs a json structure with many nests and I can not complete it in any other way that is not a script, any suggestions?

King Regards,

 

Ezequiel

Like 0

Like

1 comments



Dear Ezequiel,

Configuring the method for "Call web service" business process parameter please use quick setup:

In this case, for example, if you provide the JSON with a nested element or even with a nested array:

The system will automatically configure correct JSON paths:

Afterward, choosing this method in "Call web service" business process parameter, you will be able to fill in any nested parameter:

The only thing that may be uncomfortable for now is that for the nested array you can fill only the first element.

In case you need to fill a bunch of the array elements please try to use any synchronous C# methods in scrip-task instead, for example, the first answer in this topic may work for you: https://stackoverflow.com/questions/9145667/how-to-post-json-to-a-server-using-c

Regards,

Anastasia

Show all comments

I see that we have in repo a couple of data packages with SysDcmSettings that were probably generated automatically and I'm wondering what's their purpose. My guess is it has something to do with some filtering but I'm not sure. Do you know the answer?

Like 0

Like

3 comments

Dear Carlos,

SysDCMSettings contains setting for section cases. It contains binding to the section, stages of the DCM, filters and default case. In UI it looks like this: http://prntscr.com/lkk1nq

Ok, thank you. So if I have something like this in the Filters column:

[{"columnUId":null}]

and my StageColumnUId has only nulls, it means I can delete those settings? It seems they were created by accident.

Carlos Zaldivar Batista,

Sure, but we recommend you to save those settings before deleting in order to restore it if something goes wrong. 

Show all comments

Hi,

I've configured Azure AD to my BPM. Other external application (web app) uses same Azure AD. I am trying to figure it out, how to do this:

1) Logged (via Azure AD) user on external web app, clicks button which will send request to BPM (to execute some process)

2) BPM should receive request and somehow assign executing process to currently logged user on external web app

Do you know the way to do this? Maybe I should do something like this:

1) Create technical user on BPM

2) Use this technical user credentials to login via BPM AuthService 

3) Send request to BPM (one of sent parameters will be username or email of currently logged user on web app)

4) BPM can somehow assign this username/email to executed process (how to do this?)

Maybe there is some better way to make it work? I saw that on BPM 7.13 there is some OAuth 2.0 integration -> https://academy.bpmonline.com/documents/technic-bpms/7-13/setting-oauth-20-application

Best regards,

Tomasz

Like 0

Like

1 comments

Hello Tomasz,

The idea is to authorize your external web app to bpmonline using user`s credentials. More about authentication by the link: 

https://academy.bpmonline.com/documents/technic-sdk/7-13/choosing-metho…

Afterwards, business processes will run under this user. Other way to run process under certain user are not available due to security reasons.



One more way to implement this is to log in as technical user e.g. Supervisor and include information about target user in request, After that it`s up to you how to process it in business process.

Regards,

Alex

Show all comments

Hello Community! I need create a case for each collection recived in a web service call and i can make it with a script task but the problem is the number of case. How can generate a ordinal number for each record in the loop?

Regards,

Like 0

Like

1 comments

If you could do it as a separate task in the process, you could use a User Task with "Generate ordinal number" to populate that. If you wanted to do it in the loop in your script task code, you could read the system settings for CaseCodeMask (which contains the prefix string) and CaseLastNumber (which contains the last number used). Then increment the value for each case and then write back the last value used to the CaseLastNumber setting.

FYI this is how the UserTask does this: https://github.com/CustomerFX/BpmOnlineBase/blob/9a8a337a470d914a6ec00f…

Show all comments

Hi Team,

             Here I created Candidate entry section the records entered by Supervisor. and section have vendors lookup(vendor-1,vendor2,---etc) here i assign vendor to the record for example 

X- Record assign to vendor-1 

Y-Record assign to Vendor-2

My requirement is when ever Vendor-1 is login to Portal only visible X-Record in Candidate Entry Section. How to do this functionality?

Regards,

Sekhar.

 

  

Like 0

Like

5 comments

Hello Sekhar!



You can grant access rights to a group of users or organizational roles in the element itself. So the solution is to grant access to each record based on vendor.  An example is on the picture below. Also, you can change access to records via business processes: https://academy.bpmonline.com/documents/technic-bpms/7-13/change-access…



Best wishes,

Alex

Hi Alex,

           It should not work.Please explain in detail way if possible put the screen shots.

Hi Sekhar,



Could you please provide more detailed explanation of your requirements. Based on the information that you has provided the option with granting access rights to records is a solution. If the solution doesn`t work please specify why



Best wishes,

Alex

Sekhar,

Also, you can find more information about access rights if you check this link:

https://academy.bpmonline.com/documents/base/7-13/access-rights

Alex_Tim,

Thanks Alex we got it

 

Show all comments

Hi all,

I'm starting a contract project helping to convert an automated workflow-based system to BPM Online. Our Database is fully 3rd normal form with over 60 tables. In the grand scheme of things, it's a pretty small database, however for import into BPM Online, it seems to be pushing the limits when it comes to importing data.

BPM Online will be substantially customized with forms and workflow. 

At this point, I'm struggling with two different issues:

1. I've been told that Excel spreadsheets are the only way to import legacy data, and each spreadsheet can only be a maximum of 10 MB. Some of our tables have almost a million rows each and will be 20+ spreadsheets each. That means we'll have more than a hundred separate import runs.

2. A test loading one spreadsheet of one of our tables with 60 columns took an hour. It appears that we're looking at over 100 hours runtime, just to load our data.

This seems burdensome for import into an enterprise class appplication like BPM Online. Is there another approach?

BTW, I'm not sure which product and version we'll be on. I marked Enterprise.

Thanks in advance to all,

Bill

Like 1

Like

1 comments

Dear Bill,

You can create a webservice which will transfer data from your system to BPM'online. It will still impact performance of your system but it will be more flexible for your business task. I have picked a couple of articles from our academy that should help you to implement this functionality:

https://academy.bpmonline.com/documents/technic-sdk/7-13/integration-bp…

https://academy.bpmonline.com/documents/technic-sdk/7-12/web-services-c…

https://academy.bpmonline.com/documents/technic-sdk/7-13/odata

https://academy.bpmonline.com/documents/technic-bpms/7-13/studying-web-…

You may also refer to sub articles in the "See also" section below the main article.



Best regards,

Angela

Show all comments