cancel
Showing results for 
Search instead for 
Did you mean: 

Process & Object Pages Information

Neel1
MVP
Hello All - i am looking for a utility which can provide process and Object pages information and their input and output used in a CSV or excel.

@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
------------------------------
6 REPLIES 6

PvD_SE
Level 12
Hi Neeraj,

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
------------------------------
Happy coding!
Paul, Sweden
(By all means, do not mark this as the best answer!)

Thanks Paul  for your feedback.

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
------------------------------

ewilson
Staff
Staff
Hi @Neeraj Kumar,

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
------------------------------

thanks Eric.

This VBO require DB connection details which is tough to get in my case 😞

------------------------------
Neeraj Kumar
Technical Architect
------------------------------

@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
------------------------------

Hi @Neeraj Kumar

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:

21669.png

Now, you can add a code stage with the following parameters:

21670.png
21671.png
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:

21672.png


Workflow:

21673.png


After Executing Workflow:

21674.png
21675.png
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 it helps you out and if my solution resolves your query, then please provide a big thumbs up 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 | Technical Business Analyst,
WonderBotz India Pvt. Ltd.
Blue Prism Community MVP | Blue Prism 7x Certified Professional
Website: https://devneet.github.io/
Email: devneetmohanty07@gmail.com

----------------------------------