Skip to main content
March 21, 2023
Solved

Deprecated GetLiteralParameterValue and SetLiteralParameterValue replacements?

  • March 21, 2023
  • 6 replies
  • 0 views

I'm getting the message "'Function GetLiteralParameterValue(si As SessionInfo, isSystemLevel As Boolean, parameterName As String) As String' is obsolete: 'This is a temporary function used by Marketplace Solutions for backwards compatibility with old XF versions. Please change your code to use supported functionality.'."

 

Anyone know what object & method should I be using instead?

 

 

strSomeString = BRApi.Dashboards.Parameters.GetLiteralParameterValue(si,Nothing,"pm_SomeParameter")

 

 

 

Best answer by amoore

Hi Robb, 

Here's guidance for 7.3.1. In 7.4, more functions are coming for workspaces as the workspace features evolve. 

If you hover over the intellisense after Parameters. you will see a down arrow showing a second function which is the new implementation of the function. This function incorporates the Workspace ID as a GUID. 
Old:

amoore_0-1679437295512.png

New:

amoore_1-1679437499112.png


If the dashboard is located under the default workspace, use Guid.Empty as shown below. 

amoore_2-1679437636747.png

If the dashboard object is located under a Named Workspace, you want to pass through the Workspace ID for that Workspace so at runtime it can locate the literal value parameter since that same parameter name can now be used in another workspace. 

Hope this helps! 

6 replies

amooreAnswer
March 21, 2023

Hi Robb, 

Here's guidance for 7.3.1. In 7.4, more functions are coming for workspaces as the workspace features evolve. 

If you hover over the intellisense after Parameters. you will see a down arrow showing a second function which is the new implementation of the function. This function incorporates the Workspace ID as a GUID. 
Old:

amoore_0-1679437295512.png

New:

amoore_1-1679437499112.png


If the dashboard is located under the default workspace, use Guid.Empty as shown below. 

amoore_2-1679437636747.png

If the dashboard object is located under a Named Workspace, you want to pass through the Workspace ID for that Workspace so at runtime it can locate the literal value parameter since that same parameter name can now be used in another workspace. 

Hope this helps! 

March 23, 2023

[Off Topic]
amoore Do I see an IDE? Any guide on how to set it up?

March 28, 2023

I'd like details on this too please

March 22, 2023

(Edit: I removed my earlier response as it is now obsolete)

March 22, 2023

ChrisLoran If the parameter were in your "MySolution01" workspace, would the parameter argument be:
"MySolution01.prm_pMinEquityMethod_ECT"?

Do you know how to get the guid for a workspace?

March 22, 2023

(I removed my earlier response here as it is now obsolete)

March 22, 2023

amoore ChrisLoran Thank you both for explaining both how and why.  This is very helpful.

March 22, 2023

RobbSalzmann  - to expand of Chris response related to 7.4. There are a number of BRApi functions coming surrounding workspaces that will assist with this functionality like "GetWorkspaceIDFromName". An example of this in 7.4 would be: 

Dim wsIdValue As Guid = BRApi.Dashboards.Workspaces.GetWorkspaceIDFromName(si, isSystemLevel, workspaceName)

In 7.3, although there is no BRApi function to obtain the workspace ID when using a named workspace, you can pass through args as DashboardExtenderArgs in your function signature and then specify args.PrimaryDashboard.WorkspaceID. As a note though, this implementation may run into problems if you need to lookup objects across multiple workspaces dynamically based using Workspace Name to obtain the ID. This where the functions in 7.4 that are coming will be more programmatically efficient for your needs. 

 

March 28, 2023

RE:  Warning at line 52:  'Sub SetLiteralParameterValue(si As
SessionInfo, isSystemLevel As Boolean, parameterName As String, newValue As
String)' is obsolete: This is a temporary function used by Marketplace
Solutions for backwards compatibility with old XF versions. Please change your
code to use supported functionality.

So what's the new functionality?  Same subroutine name just different parameters.  Old one still works but it is deprecated.

Snag_29e66b03.png

Thanks for posting this.  I ran into the same warning message today and I was wondering exactly how "to change the code to use the supported functionality."

 

 

 

March 28, 2023

Maybe these warnings need to provide a bit more direction.

August 2, 2023

Thank you, and hat tip to Omkareshwar for guiding some of us here, this thread is a huge time saver and full of really good contributions on resolving this error.