cancel
Showing results for 
Search instead for 
Did you mean: 

How to pass multiple mskey's through a provision job, so that the output should be stored in a falt/csv file

devaprakash_b
Active Contributor
0 Kudos

Hello Experts,

We have a custom UI from which we would be changing users would be requesting for roles,pwd reset, identity creation.

For this purpose we have created a new entry type which would be triggered whenever user requests for role,pwd reset etc.

Requirement: Generate Reports based on the request type raised by the user.

I have created a new report entry type. there are four types of reports which user can request from the custom ui. So based on the report type selected from the custom ui, the new report entry type task would be triggered.

Whenever this task is triggered, at first it stores the users requested details in its related attributes and temporary attributes.

i have created a switch task, to generate the report file based on the report type selected.

Problem: How to create a task which generates a file which all the request entry type attributes details based on the date ranges.

Can you kindly please help me with this.

Does the below idea works:


1 . Pass the values to a script and return the distinct mskey values via query through as task and then create a pass To Ascii file and provide the file location and attributes which needs to be stored in the destination tab.

2. Is there any way to provide the source details via an sql query for the provisioning job and destination would be an ascii file.

Look forward for your valuable suggestions.

Regards,

DP

Accepted Solutions (0)

Answers (1)

Answers (1)

terovirta
Active Contributor
0 Kudos

I've used the global constants in passing data between the workflow tasks and batch jobs.. Not saying it's the best practice and it has it's limitations, as it only works when there are no simultaneous users triggering tasks that write to variable with same name.

uGetGlobalVar

uSetGlobalVar

Communicating via DB-table might be better alternative. It's been pretty rare requirement and last time I did it, there was no requirement for simultaneous usage, so I got away by using global variables.

Note that you cannot pass context variables to the jobs.

regards, Tero

devaprakash_b
Active Contributor
0 Kudos

Hi Tero,

Thanks for your reply.

Can you help me with your second suggestion Communicating via DB-table might be better alternative. with more details, so that it would be helpful

Regards,

DP

former_member2987
Active Contributor
0 Kudos

D P,

Basically you would put the list of MSKEYs in a table and then use a script with uSelect() to query the table and return the keys.

Ideally the best way to handle this is to put this all in a scheduled job rather than a workflow task.  Then you could just put the query in the source tab.

Matt

terovirta
Active Contributor
0 Kudos

Read you question to too fast as I saw "UI" and "job" and assumed that you were already going to have a batch job to do the reporting. Couple of design considerations below..

Does a single report process multiple or single IdM entry?

If it processes single entry then it's best to do it in the workflow tasks. Since you have a custom entry type, you probably need to have toGeneric-pass that queries the data based on what's stored in the custom entry type and writes the query results to an ASCII-file. Just add the logic in your existing switch-tasks. All of this would have to happen in script, along with any look-ups, like querying manager's displayname to the report (having displayname in the report rather than mskey). It can get really messy but CSV is easier to output than HTML.

If there are multiple entires to be written to the same file then it might be easier to do the report in batch job. Since you're storing the report parameters to custom entry type and it already exists in IdM DB just ignore what I wrote about communicating between provisioning task and job. The job can access your report criteria from Id Store. Also, any look-ups you would need to do are easy to do in the destination tab.

regards, Tero

devaprakash_b
Active Contributor
0 Kudos

Hi Matt,

thanks for your reply. The requirement is whenever end user request for report from the custom ui, the the new entry type needs to be triggered and the attachment needs to be sent to the user via email. the report should contain the all attributes details of the requests which he used to raised for password reset, role assign/deletion etc.

So scheduling a job would help then? or else it possible to run a non provisioning job whenever the workflow task can be triggered

Regards,

DP

jaisuryan
Active Contributor
0 Kudos

Hi DP,

You can configure a task to execute a script that schedules a job using uRunJobNow() function.

Kind regards,

Jai