Need all consumer application for any of application.
Hi, I replaced the 2 aggregates with a SQL node. Please check the attached updated OML and let me know if it returns that you need.
install discovery app into dev environment from forge , login in to discovery with admin credentials there you can find both producer and consumers of all applications and modules.
we need to fetch the data without using the discovery app
Hi @Jivendra Kumar ,
You can get all the consumers of a module using an aggregate with the source Espace_Reference, joined with Espace & Espace_version.
You can filter after Espace_Reference.Producer_Name:
Espace_Reference.Producer_Name = ProducerModule
And then group by Espace.Name.
This will return all modules that consume the specified module.
____
If you want this at the application level, you’ll need to combine this with the LifeTime API v2. Use the LifeTime API to get all modules belonging to the application, and then apply the method above to find the consumers of each module.
I attached a sample OML for fetching the consumers of a particular module.
Thanks for your comment, yes you are correct, but I need the data when I pass the application id it need to show all application which is consuming that application. Please correct the join if you have any idea. Thanks
You will need to use a Data Action with two aggregates. In the first one, fetch all the modules from the application by filtering with the Application Id and grouping by Espace name.
Then use String_Join to create a single string with all the modules from that application.
Finally, in the second one, fetch all the applications consuming the input Application Id. This aggregate is the same as the original one I shared earlier, but with extra joins to bring the application name and an updated filter.
Please check the attached OML for implementation and testing.
Thanks for your valuable comment, I need to show the Application name which module consuming. Like If we have one application and, in that application, have 3 modules if I open any one of (Data module). It is consuming different application module. So, I need to show that list of application name (which is highlighted). You can refer the screen shot.
Can you please clarify what would be the input? Also you need the list of consumed modules and in paranthesis their application name or the list of applications and paranthesis the module or modules consumed?
Input is Application Id, and I need list of Application which is in Parenthesis. Like one application module consuming the cross-applications module. So, I need that list of application name which module consuming the Data module.
If you have any other question, please let me know.Thanks
I updated the output, now you will get the consumer application with the consumer module. Let me know if that's ok.
Please check the updated OML.
I tried it to debugged it here data is breaking and taking time to load it and not getting correct data.
No issues on my side. I tested with apps like Users, which are heavily used in the environment, and I was able to retrieve dozens of records without any problem.
There is a MaxRecords (50) for that aggregate, maybe that's why you don't get all results, you can simply delete that.
________
Are you getting any error? Also, double-check that you’re passing the correct Application Id from the Application entity.
I appreciate your effort, while executing the second 2 aggregate i am getting this error.
You can increase the timeout value for the aggregate , set a higher value for Timeout (in seconds).
I believe that is not good practice, but we can archive this using the SQL Query.
Ideally, we shouldn’t rely on increasing the timeout. I’ll see if I can optimize the query. In the meantime, try increasing the timeout to confirm whether the query actually returns the data you need.
I increased the timeout value that is not working taking time to load it. But when I am debugging it is giving me some data with extra data that is not expected data.
Do you have any update?
I appreciate your efforts. Need to show in the table for that we need to count to manage the pagination and add to filter to not show duplicate data. And Thanks for helping me.
At the moment, there are no actual duplicates. However, if more modules consume the application, they will be displayed individually. Would you prefer that, in such cases, instead of showing them one by one, they are grouped and displayed in a single line, for example?
Application Name | Module A, Module B, Module C
Yes, and need to show in the table with pagination and need to add search bar in that table
What would you search for ?
consumer application name
I updated the OML and added pagination. Instead of using a search widget, I replaced it with a dropdown that lists all applications. For a better user experience, you can also use a DropdownSearch instead of the standard dropdown.
I also fixed the issue with the duplicates.