This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Send synchronization editor log with a mail

Hi,

I have a process with serveral steps.

One of this run Synchronization process with the process task Full projection.

Is possible to have a step after that tha send by email the log of the just finished Synchronization?

Where are stored synchronization editor log files?

Thanks

Mik

  • Hi Mik,

    the logged Information of the synchronization runs are stored in the One Identity Manager database in the tables starting with DPRJournal...

    You can use the report DPR_Journal_Summary to export the complete log using the report component.

    To generate the report the Parameter uidDPRJournal has to be set to the UID_DPRJournal of the synchronization journal you want to export.

    But you have to fetch the UID_DPRJournal from the database using the Information about the start stratup configuration in your process chain.

  • Ok so I added the generating report step after the synchronization step, but there is a way to pass directly the uidDPRJournal to the report step or some other ID that let me get the uidDPRJournal ?

    Then how can I insert the report in an email?

  • As i said:

    But you have to fetch the UID_DPRJournal from the database using the Information about the start stratup configuration in your process chain.


    Means, use an Script or SQL Job after the sync step and before the Report step the fetches the UID_DPRJournal of  the sync Journal by using a query similar to this

    select TOP 1 UID_DPRJournal from DPRJournal where UID_DPRProjectionStartInfo = '$UID_DPRProjectionStartInfo$' order by DprJournal.CreationTime DESC

    and return the UID_DPRJOunral as OUT-Parameter that you use in the Report step.

  • Thanks Markus.

    I've have alredy thought to a solution like that.

    I were justing thinking if there is way to get some information that a step can retrieve or been passed from the previous step. 

    I'll go with the solution you suggested.

    I have to figure out how to put report in a mail

  • I've taken a RFE for a future version of One Identity Manager, that would extend the sync component to export the UID of the created synchronization log as OUT-Parameter.

    Take a look at the RichMailComponent and the process chains at RPSReportSubscription. They will show you how you can send a report via email.

  • Hi, 

    I'm trying to pass the UID_DPRJournal from Sql component to reportcomponent (export) but I don't know where to put the name of the output paramenter of the sql step in the report step. 

    I can't fine any documentation about.

    I tried to look at RPS_Subscription processes but I don't understand where to put the name of my output variable.

    I try with paramname1 but  I get this error:

    ErrorMessages = [1123010] Missing value for mandatory parameter uidDPRJournal.
    at StdioProcessor.StdioProcessor._Execute(Job job)
    at VI.JobService.JobComponents.ReportComponent._TaskExport()
    at VI.JobService.JobComponents.ReportComponent._WriteStiReport(ReportEngine engine, String name, IDialogParameterSet parameters, String type, String file, CultureInfo culture)
    at VI.Base.SyncActions.Do[T](Func`1 function)
    at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
    ---- Start of Inner Exception ----
    at VI.Reporting.ReportEngine.<CreateStiReportAsync>d__0.MoveNext()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    --- End of stack trace from previous location where exception was thrown ---
    at VI.Reporting.ReportEngine.<_UpdateReportParameterDataAsync>d__d.MoveNext()
    at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1.ConfiguredTaskAwaiter.GetResult()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    --- End of stack trace from previous location where exception was thrown ---
    at VI.Reporting.DirectReportDataSource.<GetDataSetAsync>d__7.MoveNext()
    at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
    at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
    --- End of stack trace from previous location where exception was thrown ---
    at VI.Reporting.ObjectReportQuery.<GetDataTableAsync>d__0.MoveNext()
    at VI.Reporting.ObjectReportQuery._CreateQuery(ISession session, IMetaTable table, ReportQueryParameters parameters)
    at VI.Reporting.ReportTools.GetDataParameters(ISession session, IParameterSet parameters)

    I have no idea how to do

  • Hi,

    at your ReportComponent step, set the parameter ParameterName1 to "uidDPRJournal" and the parameter ParameterValue1 to "&OUT(NameOfYourOutParameter)&"

    That should do the trick as you do not have a proper ParameterSet in your case.

  • This is the error that  i get:

    ErrorMessages = [1123010] Missing value for mandatory parameter uidDPRJournal.

    at StdioProcessor.StdioProcessor._Execute(Job job)
    at VI.JobService.JobComponents.ReportComponent._TaskExport()
    at VI.JobService.JobComponents.ReportComponent._WriteStiReport(ReportEngine engine, String name, IDialogParameterSet parameters, String type, String file, CultureInfo culture)
    at VI.Base.SyncActions.Do[T](Func`1 function)
    at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)

    but I put the parameter, I think, in the right way as you can see in attached image

  • As I have written before. Set the parameter ParameterName1 to "uidDPRJournal" and the parameter ParameterValue1 to "&OUT(NameOfYourOutParameter)&"

    You renamed one of the parameters to "uidDPRJournal", that's why it isn't working.