Hi Experts,
We have an Version 11 on prem environment. We are exploring a use scenario to retrieve the application object(AO) numbers to build a management dashboard. This needs to retrieve module break down AO numbers in different environments(DEV, UAT, PRod). Service console has the dashboard alike, but we need the data behind the scene. https://<env>/ServiceCenter/License_Usage.aspx
Does OS provide this API capability? If yes,where is it? If not, what's the workaround?
Thanks,
Jimmy
Hi Jimmy,
Have you checked this component? Perhaps this is what you are looking for:
https://www.outsystems.com/forge/component-overview/4242/application-objects-count
Regards,
Paulo Z
Hi Paulo, This app is not working. I cannot install it on my studio. It prompts download failure.
Hi, it requires the OutDoc application to be installed too.
I was able to install the .oap package directly in the service studio after installing the OutDoc.
Here's the .oap
Hi Paulo, Thanks for the attachment. it's working. Let me check the capability.
Cheers, Jimmy
Hi @Jimmy Wen,you can use this for example to get the espaces for an application or vice versa:
select * from {App_Definition_Module}
inner join {Module} on {Module}.[Id] = {App_Definition_Module}.[Module_Id]
inner join {Espace} on {Espace}.[Id] = {Module}.[Espace_Id]Obviously these entities can be found in 'system'.So your final answer would be:
select {Application}.[Name], {Espace}.[Name], {Report_Su}.[OMLComplexity] from {App_Definition_Module}
inner join {Espace} on {Espace}.[Id] = {Module}.[Espace_Id]
inner join {Report_Su} on {Report_Su}.[EspaceId] = {Espace}.[Id]
inner join {Application} on {Application}.[Id] = {App_Definition_Module}.[Application_Id] where {Application}.[Name] like '%Foo%'
Best regards,Jeroen Vormer
Hi Jeroen,
Thanks for your reply. I will try later the day.
Hi Jimmy Wen,
As far as I know, you can get this information from the database from the OSSYS_REPORT_METRICS table. You'll get weekly or monthly reports with a lot of information, including the AO usage. The unit value represents the month or the week number, depending on the unit type:
You can have every environment exposing this data, so you can mesh the data of each environment.
Kind Regards,João
Paulo and João, Thanks for all your replays. I will look into both.
@João Marques I also want to explore the application and module mapping. Use case is to build the AO consumption breakdown by applications. For example, application A has components XYZ. Modules X consumes 10 AOs, modules Y consumes 5 AOs and modules Z consumes 3 AOs. Then I can have an aggregation t to show application A consumes 18 AOs in total.
Do you know where to find the application module mapping in the database?
I don't think you have the counts for each module.
There are the counts for every object (entity, screen, etc.) for every module / espace version on the OSSYS_ESPACE_OBJECT_COUNT. You'd have to join to the espace version, filter by published ones, and join with the espace table.
I believe there's a platform internal process / timer that runs on the end of every week and month, and does the calculation and fills in the report table I shared before.
Being that said, I don't believe you have the AO count on that granularity level, but you have the count of every object and can calculate the AOs for every published module version.
Hi Jimmy, you can use this SQL for example:FROM ([OSDEV1].dbo.[OSSYS_ESPACE] [ENESPACE]
LEFT JOIN [OSDEV1].dbo.[OSSYS_REPORT_SU] [ENREPORT_SU] ON ([ENESPACE].[ID] = [ENREPORT_SU].[ESPACEID]))
WHERE ([ENESPACE].[IS_ACTIVE] = 1) and [ENREPORT_SU].[OMLCOMPLEXITY] >1Which gives you the AO-count for each module....Obviously you can use the espace entity and report_su entity from "System", to create your won aggregate.Best regards,Jeroen Vormer
@Jeroen Vormer Do you know how to retrieve the application to module mapping information in the database? I want to aggregate the AO info and group it by applications.