Process & Object Pages Information
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
23-11-22 08:43 AM
@ewilson - Is the below utility is capable of giving these information or there is other standard utility as well?
https://digitalexchange.blueprism.com/dx/entry/3439/solution/process-information-utility-3
------------------------------
Neeraj Kumar
Technical Architect
------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
23-11-22 11:12 AM
Alternatively, this information can be found in the release XML. All you have to do is extract it with a suitable program/tool. Perhaps someone has a suitable VBA or C# they can share?
------------------------------
Happy coding!
---------------
Paul
Sweden
------------------------------
Paul, Sweden
(By all means, do not mark this as the best answer!)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
23-11-22 11:18 AM
You are correct. but before writing any in-house code i want to see and leverage the work if someone has already done in this direction and hence I posted the query.
------------------------------
Neeraj Kumar
Technical Architect
------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
23-11-22 11:55 AM
The VBO you've referenced can be used to pull together the information you're looking for, but it won't write it to Excel or a CSV. You'd have to add that part in your process.
Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
24-11-22 03:48 PM
This VBO require DB connection details which is tough to get in my case 😞
------------------------------
Neeraj Kumar
Technical Architect
------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
24-11-22 04:23 PM
@Neeraj Kumar,
Thats correct. It needs those because it queries the BP database to collect the information.
I think you can get some of the information you're looking for using AutomateC. Just take a look through the available flags.
Cheers,
------------------------------
Eric Wilson
Director, Integrations and Enablement
Blue Prism Digital Exchange
------------------------------
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
24-11-22 06:44 PM
For your requirement, I created a custom VBO which can generate Object related information from a exported XML or .bpobject file. You can either use the attached VBO or can create the same using the below steps:
Create a blank business object named 'Fetch Object Details' and add a page to it called 'Generate Object Report' which will have the following arguments:
1) Input File Path - Input (Text) - This denotes the file path for the exported .xml or .bpobject file from where the details need to be fetched.
2) Output Folder Path - Input (Text) - This denotes the folder path where the generated CSV report needs to be saved.
3) Success - Output (Flag) - This denotes the flag value indicating the status of the execution.
4) Message - Output (Text) - This denotes the output message which comes as a result of the execution indicating either success or exception message.
Add the following namespaces and external references as shown below:
Now, you can add a code stage with the following parameters:
Code:
try{
// Initialize variables for Process Dictionary & Direction
Dictionary<String, Object> dictProcess = new Dictionary<String, Object>();
string direction = "";
// Initialize String Builder Object & Prepare File Header
string delimiter = ",";
StringBuilder sb = new StringBuilder();
sb.Append("ACTION_NAME" + delimiter + "PARAMETER_NAME" + delimiter + "PARAMETER_TYPE" + delimiter + "PARAMETER_DIRECTION" + delimiter + "PARAMETER_DESCRIPTION" + "\r\n");
// Load Input XML Document Inside XDocument Object
XDocument xml = XDocument.Load(Input_File_Path);
// Fetch Process Name
String processName = xml.Element("process").Attribute("name").Value;
// Generate Process Dictionary
foreach (XElement element in xml.XPathSelectElements("process//subsheet"))
{
dictProcess.Add(element.Attribute("subsheetid").Value, element.XPathSelectElements("name").First().Value);
}
// Fetch Process Related Details
foreach (XElement element in xml.XPathSelectElements("process//stage"))
{
if (element.Attribute("name").Value.ToLower().Equals("start") || element.Attribute("name").Value.ToLower().Equals("end"))
{
foreach (XElement subElement in element.Descendants())
{
if (subElement.Name.ToString().ToLower().Equals("inputs") || subElement.Name.ToString().ToLower().Equals("outputs"))
{
foreach (XElement parameterElement in subElement.Descendants())
{
if (subElement.Name.ToString().ToLower().Equals("inputs"))
{
direction = "INPUT";
}
else
{
direction = "OUTPUT";
}
// Append Details Fetched For Current Action
sb.Append(dictProcess[element.XPathSelectElement("subsheetid").Value.ToString()] + delimiter + parameterElement.Attribute("name").Value + delimiter +
parameterElement.Attribute("type").Value + delimiter + direction + delimiter + parameterElement.Attribute("narrative").Value.Replace(",","|") + "\r\n");
// Write Process Details To Input CSV File
StreamWriter sw = new StreamWriter(Output_Folder_Path + @"\" + processName + ".csv");
sw.WriteLine(sb.ToString());
sw.Close();
}
}
}
}
}
Message = "The process/object details file got generated successfully";
Success = true;
}
catch (Exception ex)
{
Message = ex.Message;
Success = false;
}
Once the workflow has been built, you can test the same with the provided bpobject or .xml file and an output folder path as shown below:
Test File:
Workflow:
After Executing Workflow:
Test the same at your end and let me know in case of any queries.
------------------------------
----------------------------------
Hope it helps you out and if my solution resolves your query, then please mark it as the 'Best Answer' so that the others members in the community having similar problem statement can track the answer easily in future
Regards,
Devneet Mohanty
Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com
----------------------------------
------------------------------
Hope this helps you out and if so, please mark the current thread as the 'Answer', so others can refer to the same for reference in future.
Regards,
Devneet Mohanty,
SS&C Blueprism Community MVP 2024,
Automation Architect,
Wonderbotz India Pvt. Ltd.
