Check Customer License in an OnPrem db – from the web client

This is my first post of 2021, so I’d like to take the opportunity to wish all of you all the best, all the health, all the safety, and .. may we finally meet again in person in 2021!
I’d be very happy to have much less of this:

And more of this:

Anyway ;-). Let’s get to the topic..

I got an internal question from our consultants on how they are able to access the license information of the customer for an OnPrem customer. There are a few scenarios where that’s interesting. Just to check which license is in production. Or how many objects or users did they buy. Well – anything license wise ;-).

And you know – a consultant usually doesn’t have access to SQL Server, PowerShell or anything like that. So it had to be accessible from the web client.

I was like: that’s easy! There are virtual tables that contain that information:
– “License Information” contains the actual text of the license file.
– “License Permission” contains the information on object level.
And since we can run tables, it’s just a matter of finding the right Table Number, and off we go.

You might remember my blogpost: Getting not-out-of-the-box information with the out-of-the-box web client ? It explains that I can get to all objects through table 2000000038, and there, I can find the corresponding table numbers:
– “License Information”: 2000000040
– “License Permission”: 2000000043
So what the heck – just run it with that ID, and that’s it, we’re done! Consultants have a solution!

Well … no …

In the web client, you can’t just run every system table. I suppose, the ones that is not actual data in a SQL Table, and that need to get the data through some business logic, can’t be shown while running the table.

So here’s a little trick

You can show those tables by creating your own page based on the table. And with the wizards of Andrzej’s extension, it’s super easy to do!
Just:

Create a page (List):

Add the fields:

Done!
When you run this page now, you’ll see the license information from the Web Client

Is this useful? For us it is. Our consultants now have a page (it’s part of one of our library-apps) they can easily check themselves without bothering someone who is familiar with PowerShell.. .

If you want to know how to do it with PowerShell – well – there is an out-of-the-box CmdLet: Export-NAVServerlicenseInformation

I personally didn’t see another easy solution for getting to that information from the Web Client. I do know, this involves development and deployment .. And also maintenance of an app .. . So if you have a less intrusive solution, I’m all ears :-).

5.00 avg. rating (98% score) - 4 votes

Permanent link to this article: https://www.waldo.be/2021/01/07/check-customer-license-in-an-onprem-db-from-the-web-client/

7 comments

3 pings

Skip to comment form

    • Anders Larsen on January 11, 2021 at 9:57 am
    • Reply

    Hi Waldo

    Nice sollution…. but it dont seems to work for me … 🙂

    I get this information thrown at me in version 17.1 and 14.20

    The type or method ‘License Information’ cannot be used for ‘Extension’ development.AL(AL0296)

    <>

      • waldo on January 11, 2021 at 9:59 am
        Author

      Yeah, this only works (and should only work) OnPrem – so you need to set “target” in the app.json to “OnPrem”.. .

    • Anders Larsen on January 11, 2021 at 10:58 am
    • Reply

    Its a Docker … sooo i guess its OnPrem 😉 ….

    {
    “version”: “0.2.0”,
    “configurations”: [
    {
    “name”: “Your own server”,
    “request”: “launch”,
    “type”: “al”,
    “environmentType”: “OnPrem”,
    “server”: “http://(there was a text here)”,
    “serverInstance”: “BC”,
    “authentication”: “UserPassword”,
    “startupObjectId”: 22,
    “startupObjectType”: “Page”,
    “breakOnError”: true,
    “launchBrowser”: true,
    “enableLongRunningSqlStatements”: true,
    “enableSqlInformationDebugger”: true,
    “tenant”: “default”
    }
    ]
    }

      • waldo on January 11, 2021 at 10:59 am
        Author

      Look at this:
      https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-json-files

      and now look at the “target” setting..

    • Anders Larsen on January 11, 2021 at 11:00 am
    • Reply

    Woow … sorry … i should maybe read app.json … not other …

    it works like a charm ! 🙂 … Tnx !!

    • guido robben on January 11, 2021 at 9:14 pm
    • Reply

    You can do this with more tables:

    – License Permission
    – Table Information
    – Active Sessions
    – Database locks
    – Events
    – Installed apps

    These are the ones I use

      • waldo on January 12, 2021 at 9:50 am
        Author

      Exactly! I’m working on an open source app on my github with those, and more, pages ;-).

  1. […] Check Customer License in an OnPrem db – from the web client […]

  2. […] Source : Waldo’s Blog Read more… […]

  3. […] Check Customer License in an OnPrem db – from the web client […]

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.