<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: List processes and objects in Product Forum</title>
    <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101800#M48674</link>
    <description>Hi &lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/2208"&gt;@PvD_SE&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;When it comes to the BP database, I generally use SQL Server Management Studio or Microsoft's BCP utility (if I'm trying to export a lot of data from it). If you want to connect to it from a process then you'll probably want to make use of the &lt;STRONG&gt;Data - SQL Server&lt;/STRONG&gt; VBO​.&lt;BR /&gt;&lt;BR /&gt;The process/VBO information is mostly contained in a table named &lt;STRONG&gt;&amp;lt;schema&amp;gt;.BPAProcess&lt;/STRONG&gt; (ex. dbo.BPAProcess). Here's what it looks like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="36829.png"&gt;&lt;img src="https://community.blueprism.com/t5/image/serverpage/image-id/36845iEEE7CC05D0F933F0/image-size/large?v=v2&amp;amp;px=999" role="button" title="36829.png" alt="36829.png" /&gt;&lt;/span&gt;&lt;BR /&gt;The &lt;STRONG&gt;ProcessType&lt;/STRONG&gt; column tells you whether it's a process or an object, the &lt;STRONG&gt;name&lt;/STRONG&gt; column gives you the name, and the &lt;STRONG&gt;lastmodifieddate&lt;/STRONG&gt; columns will give you the date that it was last changed/saved. However, this table doesn't give you the folder/group info.&lt;BR /&gt;&lt;BR /&gt;There's an existing view in the database, which may work better for you, named &lt;STRONG&gt;BPVGroupedProcessObjects&lt;/STRONG&gt;. This table contains the folder name, the process/object name, their IDs, and last modified information. Here's what it looks like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="36830.png"&gt;&lt;img src="https://community.blueprism.com/t5/image/serverpage/image-id/36846i097C80B4B453FA8F/image-size/large?v=v2&amp;amp;px=999" role="button" title="36830.png" alt="36830.png" /&gt;&lt;/span&gt;&lt;BR /&gt;So I think querying the &lt;STRONG&gt;BPVGroupedProcessObject&lt;/STRONG&gt; view may work best for you, but if you wanted to work with the &lt;STRONG&gt;BPAProcess&lt;/STRONG&gt; table you would then need to perform a join with the &lt;STRONG&gt;BPAGroup&lt;/STRONG&gt; (contains details of the actual folders/groups like groupid and name) and &lt;STRONG&gt;BPAGroupProcess&lt;/STRONG&gt; (contains groupid and processid) table in order to map processes/objects to folders.&lt;BR /&gt;&lt;BR /&gt;Regarding the structure of the database between 6.5 and 6.10, there are some differences, but I don't think there's anything significant related to the tables you would need to query to gather the information you're looking for.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Eric</description>
    <pubDate>Wed, 02 Nov 2022 11:08:55 GMT</pubDate>
    <dc:creator>ewilson</dc:creator>
    <dc:date>2022-11-02T11:08:55Z</dc:date>
    <item>
      <title>List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101799#M48673</link>
      <description>Hi folks,&lt;BR /&gt;&lt;BR /&gt;I need to produce a list of the following:&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;All of our processes&lt;/LI&gt;
&lt;LI&gt;All of our objects&lt;/LI&gt;
&lt;LI&gt;All environment variables&lt;/LI&gt;
&lt;/UL&gt;
For each item, I need the latest date it was modified. I assume the easiest way to get this data would be to access the BP database by SQL.&lt;BR /&gt;&lt;BR /&gt;While I am very familiar with SQL in other environments, I have no clue as to how to access the BP database, or which tables and columns to get the data from.&lt;BR /&gt;&lt;BR /&gt;My questions:&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;How do I access the BP database with SQL from a BP process/object?&lt;/LI&gt;
&lt;LI&gt;What tables in the BP database contain data such as
&lt;UL&gt;
&lt;LI&gt;Process/object name?&lt;/LI&gt;
&lt;LI&gt;Folder?&lt;/LI&gt;
&lt;LI&gt;Date last modified?&lt;/LI&gt;
&lt;/UL&gt;
&lt;/LI&gt;
&lt;LI&gt;Are there any significant table changes between versions 6.5 and 6.10?&lt;/LI&gt;
&lt;/UL&gt;
&lt;BR /&gt;Happy coding!&lt;BR /&gt;---------------&lt;BR /&gt;Paul&lt;BR /&gt;Sweden</description>
      <pubDate>Wed, 02 Nov 2022 08:15:58 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101799#M48673</guid>
      <dc:creator>PvD_SE</dc:creator>
      <dc:date>2022-11-02T08:15:58Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101800#M48674</link>
      <description>Hi &lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/2208"&gt;@PvD_SE&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;When it comes to the BP database, I generally use SQL Server Management Studio or Microsoft's BCP utility (if I'm trying to export a lot of data from it). If you want to connect to it from a process then you'll probably want to make use of the &lt;STRONG&gt;Data - SQL Server&lt;/STRONG&gt; VBO​.&lt;BR /&gt;&lt;BR /&gt;The process/VBO information is mostly contained in a table named &lt;STRONG&gt;&amp;lt;schema&amp;gt;.BPAProcess&lt;/STRONG&gt; (ex. dbo.BPAProcess). Here's what it looks like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="36829.png"&gt;&lt;img src="https://community.blueprism.com/t5/image/serverpage/image-id/36845iEEE7CC05D0F933F0/image-size/large?v=v2&amp;amp;px=999" role="button" title="36829.png" alt="36829.png" /&gt;&lt;/span&gt;&lt;BR /&gt;The &lt;STRONG&gt;ProcessType&lt;/STRONG&gt; column tells you whether it's a process or an object, the &lt;STRONG&gt;name&lt;/STRONG&gt; column gives you the name, and the &lt;STRONG&gt;lastmodifieddate&lt;/STRONG&gt; columns will give you the date that it was last changed/saved. However, this table doesn't give you the folder/group info.&lt;BR /&gt;&lt;BR /&gt;There's an existing view in the database, which may work better for you, named &lt;STRONG&gt;BPVGroupedProcessObjects&lt;/STRONG&gt;. This table contains the folder name, the process/object name, their IDs, and last modified information. Here's what it looks like:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="36830.png"&gt;&lt;img src="https://community.blueprism.com/t5/image/serverpage/image-id/36846i097C80B4B453FA8F/image-size/large?v=v2&amp;amp;px=999" role="button" title="36830.png" alt="36830.png" /&gt;&lt;/span&gt;&lt;BR /&gt;So I think querying the &lt;STRONG&gt;BPVGroupedProcessObject&lt;/STRONG&gt; view may work best for you, but if you wanted to work with the &lt;STRONG&gt;BPAProcess&lt;/STRONG&gt; table you would then need to perform a join with the &lt;STRONG&gt;BPAGroup&lt;/STRONG&gt; (contains details of the actual folders/groups like groupid and name) and &lt;STRONG&gt;BPAGroupProcess&lt;/STRONG&gt; (contains groupid and processid) table in order to map processes/objects to folders.&lt;BR /&gt;&lt;BR /&gt;Regarding the structure of the database between 6.5 and 6.10, there are some differences, but I don't think there's anything significant related to the tables you would need to query to gather the information you're looking for.&lt;BR /&gt;&lt;BR /&gt;Cheers,&lt;BR /&gt;Eric</description>
      <pubDate>Wed, 02 Nov 2022 11:08:55 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101800#M48674</guid>
      <dc:creator>ewilson</dc:creator>
      <dc:date>2022-11-02T11:08:55Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101801#M48675</link>
      <description>Hi &lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/2208"&gt;@PvD_SE&lt;/a&gt;,&lt;BR /&gt;&lt;BR /&gt;As you stated perfectly, the approach to get this list in a precise way would be to go through the SQL database. The SQL database can be accessed using the following business object from DX Exchange: ​&lt;A href="https://digitalexchange.blueprism.com/dx/entry/3439/solution/data---sql-server" target="_blank" rel="noopener"&gt;Function for Data - SQL Server - 10.0.0&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;For this VBO to work, you would need some information in order to establish a connection first such as Server Name and related username and password if you are using SQL Authentication approach otherwise if you are using Windows Authentication approach they are not needed and you can leave the username &amp;amp; password fields blank. You can check about that from a relevant database team if your organisation has that otherwise if you have the direct access then you can view the same from you SQL Server Management Studio application.&lt;BR /&gt;&lt;BR /&gt;To use the VBO you must first set the connection details via the Set Connection action with the below parameters:&lt;BR /&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="36831.png"&gt;&lt;img src="https://community.blueprism.com/t5/image/serverpage/image-id/36839i01D6F6B7BC7FCD8C/image-size/large?v=v2&amp;amp;px=999" role="button" title="36831.png" alt="36831.png" /&gt;&lt;/span&gt;&lt;BR /&gt;In order to know the details that you asked below are the tables which you need to refer to:&lt;BR /&gt;&lt;BR /&gt;
&lt;UL&gt;
&lt;LI&gt;All of our processes - &lt;STRONG&gt;BPAProcess&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;All of our objects - &lt;STRONG&gt;BPAProcess&lt;/STRONG&gt;&lt;/LI&gt;
&lt;LI&gt;All environment variables - &lt;STRONG&gt;BPAEnvironmentVar&lt;/STRONG&gt;&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;BR /&gt;In order to get the processes, objects and environment variables first you can use the below SQL query in your &lt;STRONG&gt;Get collection&lt;/STRONG&gt; action:&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;For fetching list of processes:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;PRE class="language-markup"&gt;&lt;CODE&gt;SELECT P.name,P.description,P.version,P.createdate,P.lastmodifieddate, G.name AS [Folder Name]
FROM BPAProcess P INNER JOIN BPAGroupProcess GP ON P.processid = GP.processid INNER JOIN BPAGroup G ON GP.groupid = G.id
WHERE ProcessType = 'P'&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/P&gt;&lt;P&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;For fetching list of objects:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;PRE class="language-markup"&gt;&lt;CODE&gt;SELECT P.name,P.description,P.version,P.createdate,P.lastmodifieddate, G.name AS [Folder Name]
FROM BPAProcess P INNER JOIN BPAGroupProcess GP ON P.processid = GP.processid INNER JOIN BPAGroup G ON GP.groupid = G.id
WHERE ProcessType = 'O'&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;For fetching list of environment variables:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;
&lt;PRE class="language-markup"&gt;&lt;CODE&gt;SELECT name, datatype, value, description
FROM BPAEnvironmentVar&lt;/CODE&gt;&lt;/PRE&gt;
&lt;/P&gt;&lt;P&gt;
&lt;SPAN style="text-decoration: underline;"&gt;&lt;STRONG&gt;Explanation:&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;Environment Variables are stored in one table only are pretty straightforward to fetch from &lt;STRONG&gt;BPAEnvironmentVar&lt;/STRONG&gt; table.&lt;BR /&gt;&lt;BR /&gt;However, for BPAProcess we have a '&lt;STRONG&gt;ProcessType&lt;/STRONG&gt;' column which indicates whether the stored record is for a process or an object since we have both processes and objects stored under one table which are categorized by either the value 'O' or 'P' for the '&lt;STRONG&gt;ProcessType&lt;/STRONG&gt;' column in this table.&lt;BR /&gt;&lt;BR /&gt;When we consider the folder groups to be also picked up, they reside in a separate table called as &lt;STRONG&gt;BPAGroup&lt;/STRONG&gt; and the mapping for each group to a process resides in &lt;STRONG&gt;BPAGroupProcess&lt;/STRONG&gt; table so what I am essentially doing is matching the '&lt;STRONG&gt;processid&lt;/STRONG&gt;' field from BPAProcess table to any reference in &lt;STRONG&gt;BPAProcessGroup&lt;/STRONG&gt; table and then from there I again create a reference to &lt;STRONG&gt;BPAGroup&lt;/STRONG&gt; table using '&lt;STRONG&gt;groupid&lt;/STRONG&gt;' field this time.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Coming to the last part ideally few features were introduced that I can recall directly such as queue snapshots and error screenshots between these versions I think so you may have additional tables and fields to incorporate those. Maybe someone from Blue Prism team might have a document handy to capture all these details.&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;----------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;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&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Devneet Mohanty&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Intelligent Process Automation Consultant | Sr. Consultant - Automation Developer,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;WonderBotz India Pvt. Ltd.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Blue Prism Community MVP | Blue Prism 7x Certified Professional&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Website:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://devneet.github.io/" target="_blank" rel="noopener"&gt;https://devneet.github.io/&lt;/A&gt;&lt;BR /&gt;&lt;SPAN&gt;Email:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="mailto:devneetmohanty07@gmail.com" target="_blank" rel="noopener"&gt;devneetmohanty07@gmail.com&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;----------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;------------------------------&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 02 Nov 2022 11:23:40 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101801#M48675</guid>
      <dc:creator>devneetmohanty07</dc:creator>
      <dc:date>2022-11-02T11:23:40Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101802#M48676</link>
      <description>&lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/833"&gt;@ewilson&lt;/a&gt; &lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/1843"&gt;@devneetmohanty07&lt;/a&gt; Thanks for your swift and ​​complete replies. Much appreciated.</description>
      <pubDate>Wed, 02 Nov 2022 13:33:01 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101802#M48676</guid>
      <dc:creator>PvD_SE</dc:creator>
      <dc:date>2022-11-02T13:33:01Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101803#M48677</link>
      <description>&lt;P&gt;I Know its old thread but I have a question around the App Modeller elementes.&lt;/P&gt;
&lt;P&gt;I want to make sure no object keep any value for "Web Page Address" element.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;what will be the DB query or any alternate solution to find that? ( Navigating manually is big no)&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 16 Jun 2023 15:52:10 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101803#M48677</guid>
      <dc:creator>SuhasDhongade1</dc:creator>
      <dc:date>2023-06-16T15:52:10Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101804#M48678</link>
      <description>&lt;P&gt;Hi Suhas,&lt;/P&gt;
&lt;P&gt;Don't know about the SQL, but as an alternative you could make a release including all of your objects and then scan the XML for 'https' or for the element you mention.&lt;/P&gt;
&lt;P&gt;Happy coding!&lt;BR /&gt;---------------&lt;BR /&gt;Paul&lt;BR /&gt;Sweden&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2023 10:21:00 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101804#M48678</guid>
      <dc:creator>PvD_SE</dc:creator>
      <dc:date>2023-06-20T10:21:00Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101805#M48679</link>
      <description>&lt;P&gt;&lt;A class="user-content-mention" data-sign="@" data-contactkey="fce89ed4-35e0-4115-a38d-ff87e2603e3d" data-tag-text="@Suhas Dhongade" href="https://community.blueprism.com/network/profile?UserKey=fce89ed4-35e0-4115-a38d-ff87e2603e3d" data-itemmentionkey="414a38a4-0eb0-40ae-96bd-c67536f90802"&gt;@Suhas Dhongade&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I don't recall the actual element name in the XML, but if you export a VBO with an app model and that element populated you'll be able to find it by looking at the XML in a text editor. From there, you can craft a SQL query to run against the database. Something like this:&lt;/P&gt;
&lt;PRE class="language-sql"&gt;&lt;CODE&gt;SELECT [dbo].[BPAProcess].[processxml] FROM [dbo].[BPAProcess] WHERE ([dbo].[BPAProcess].[ProcessType] = 'O' AND [AttributeID] &amp;lt;&amp;gt; 1) AND ([processxml] LIKE 'INSERT ELEMENT NAME HERE');&lt;/CODE&gt;&lt;/PRE&gt;
&lt;P&gt;Cheers,&lt;/P&gt;
&lt;P&gt;Eric&lt;/P&gt;</description>
      <pubDate>Tue, 20 Jun 2023 13:27:03 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101805#M48679</guid>
      <dc:creator>ewilson</dc:creator>
      <dc:date>2023-06-20T13:27:03Z</dc:date>
    </item>
    <item>
      <title>Re: List processes and objects</title>
      <link>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101806#M48680</link>
      <description>&lt;P&gt;Thank&amp;nbsp; Paul and Eric,&lt;/P&gt;
&lt;P&gt;&lt;a href="https://community.blueprism.com/t5/user/viewprofilepage/user-id/833"&gt;@ewilson&lt;/a&gt; Thank you for query however that gives me minimal details.&lt;/P&gt;
&lt;P&gt;At the end, I was able to capture the attribute and object names, but I was unable to capture the precise element name in which the attribute was present.&lt;/P&gt;
&lt;P&gt;
&lt;PRE class="language-sql" tabindex="0"&gt;&lt;CODE&gt;
DROP TABLE IF EXISTS #tempWorkQueueItem1;

SELECT
    CONVERT(XML, P.processxml) AS 'xmldata' INTO #tempWorkQueueItem1
from
    bpaprocess P
WHERE
    processtype = 'O'
    and P.NAME like '% YOUR OBJECT NAME %'
SELECT
    *
from
    (
        SELECT
       [xmldata].query(N'(//element)') AS [AllElemets],
            [xmldata].value(N'(//element/@name)[1]', 'nvarchar(max)') AS [ElementName],
            [xmldata].query(
                N'(//attribute[@name="wPageAddress"]/ProcessValue[@value !=""])'
            ) as [WebAddress]
        FROM
            #tempWorkQueueItem1		
    ) T
where
    [WebAddress] is not null
    and cast([WebAddress] as varchar(max)) != ''
 
DROP TABLE #tempWorkQueueItem1

&lt;/CODE&gt;&lt;/PRE&gt;
&lt;PRE&gt;&lt;/PRE&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 21 Jun 2023 07:49:37 GMT</pubDate>
      <guid>https://community.blueprism.com/t5/Product-Forum/List-processes-and-objects/m-p/101806#M48680</guid>
      <dc:creator>SuhasDhongade1</dc:creator>
      <dc:date>2023-06-21T07:49:37Z</dc:date>
    </item>
  </channel>
</rss>

