Highlighted
Acclaimed Contributor.
Acclaimed Contributor.
884 views

List Variable and Display Variable of my custom global list not populated even though global list is

Jump to solution

Hi,

I created a custom global list and it is populated and working correctly in Dev.  In order to get it to work correctly I had to restart the Service Manager service and I am hoping to avoid this when I move it to Prod.  When I initially created the global list in Dev I tried everything I could think of to get it to work without restarting services, but was unsuccessful.  The list is configured with the 'Build List on Startup' set, and the Regen Every set to 1 00:00:00.  I set the expiration date to a date in the past and then Saved.  I ran the *aapm.server.initer, and then I logged out and back in again.  The Value List, Display List, and SM message List fields are all populated correctly, but when I use the RAD Debugger to display my List Variable or Display variable they return NULL and of course the field on my form that references this global list presents an empty drop-down.

Does anyone know of another utility I need to run, or action I need to perform to get my List and Display variables to initialize without restarting the Service Manager service?

Thanks,
Audrey

0 Likes
1 Solution

Accepted Solutions
Highlighted
Super Contributor.. Super Contributor..
Super Contributor..

I had a similar problem with a new global list. My coworker pointed me to this help article, maybe it will help for your situation as well.

https://docs.microfocus.com/SM/9.52/Codeless/Content/tailor/data_management/tasks/build_lists_on_startup.htm

I copy/pasted the important bit below

  • Prior to version Service Manager 9.41, all global lists with the Build List on Startup option enabled were loaded at user login by applications, which might cause significant login delays. As of version 9.41, this functionality is optimized so that these global lists are not loaded into memory unless they are needed.
  • For a newly added global list, a restart of the Service Manager Server is required unless the name of the list variable starts with "$G.gl.".

It only applies to 9.41+ but you could try renaming your list to start with "$G.gl.* and see if that saves you a restart

View solution in original post

11 Replies
Highlighted
Knowledge Partner
Knowledge Partner
never faced this.
You can try to restart lister.
If this does not work and If you have more than one servlet running (horizontal/vertical scaling) and you can't have any downtime you can just use the restart command with a grace interval set and restart servlet by servlet on a timeline that makes sense for you (I'd start with the inactive timer).
Regards,
Breno Abreu

If you feel this was helpful please click the KUDOS! thumb below!
0 Likes
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Hi Breno,

Thanks for the suggestion, but I had no success with this.  I tried it in PreProd.  I stop and restarted Lister, but still my $G List and Display variables are not populated with anything.  Any other thoughts that would allow me to introduce this GL without restarting services?  We have a horizontally scaled environment and this involves a coordinated restart of services on all our servers, so I'd really like to avoid having to do this.

Thanks,
Audrey

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

Hi Audrey,

Try the TASK ONE step from https://softwaresupport.softwaregrp.com/doc/KM10423.

 

0 Likes
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Hi Jas1,

I had already repetitively done Task One in that document.  The Display List, Value list, and SM message List have always been correctly populated in the Global list, it is just the variables that are not.  So when I look at the list it all looks correct, but when I use the RAD debugger to display either of the variables it returns NULL.

>d $G.close.codes.hr.dl
Value is NULL

>d $G.close.codes.hr.vl
Value is NULL

and the drop-down lists on my forms are obviously empty.  Only after I restart the ServiceManager service on the server do the variables start to present the correct array of values and the drop-downs present the correctly options for selection.

Audrey

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

I found some old notes. I hope this will do the job so you don't have to restart SM.

And if you want to regen all the globallist and locallist, you can run following command:

x $L.names={};$L.filename="globallists";$L.success=rtecall("rinit", $L.success, $L.filevar, $L.filename);$L.success=rtecall("select", $L.success, $L.filevar, "true");$L.hasNext=0;while ($L.success and $L.hasNext=0) do ($L.names=$L.names+{name in $L.filevar};$L.success=rtecall("next", $L.hasNext, $L.filevar));$L.void=rtecall("callrad", $L.rc, "apm.server.initer", {"names"}, {$L.names}, true, "true")

0 Likes
Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Jas1,

Thanks for the reply, but this did not work either.  The variables associated with the Global List are still NULL.

Thanks
Audrey

0 Likes
Highlighted
Micro Focus Expert
Micro Focus Expert

I'm running low on ideas. One possibility is that your other global lists are huge and taking up the memory required to built the new custom global variables. You can go thru your global list records and run d recordsize($L.filed) to check the size of those global list record in bytes. Max is 64K to help you judge the size of the gl. Maybe deactivate some of the big ones and see if lack of memory is causing the new global variable from being created.

Or list all the global variables in rad debugger via globals and use x cleanup(<name of global variable>) to remove some of the global variables. Do the manual gl rebuild and all the known tips and see if your custom global variable now appears. It will help confirm if lack of memory is the cause.

You could log a case for this and get support to troubleshoot this further. I would have expected logging off and login on to clear the memory and create the new global variables since the display and values list were generated correctly.

0 Likes
Highlighted
Honored Contributor.
Honored Contributor.

Hi, have you tried including your new gl list name in the gl named "Startup Lists". I could just remember having the same issues when I was creating new gl list previously.

0 Likes
Highlighted
Trusted Contributor.
Trusted Contributor.

Hi Audrey,

As workaround you can try:

  1.  Find other initialized Global List, for example "Callback Type";
  2.  Rename its "List Name", "List variable", "Display variable" (simply add "1" to the end of this 3 fields) and then press "Add";
  3.  Find and select this new added GL, next press "Rebuild global list" in Additional menu, then press "Save";
  4.  Be sure you have new initialized GL object - just display in RAD Debagger its "List variable" and "Display variable";
  5. After you can work with your new Global List as usual - rename its Name, List and Display Variables, parameters, Values, etc.

This works in my SM9.52 environment. Of course, try it in your Dev first.

Hope this helps.

0 Likes
Highlighted
Super Contributor.. Super Contributor..
Super Contributor..

I had a similar problem with a new global list. My coworker pointed me to this help article, maybe it will help for your situation as well.

https://docs.microfocus.com/SM/9.52/Codeless/Content/tailor/data_management/tasks/build_lists_on_startup.htm

I copy/pasted the important bit below

  • Prior to version Service Manager 9.41, all global lists with the Build List on Startup option enabled were loaded at user login by applications, which might cause significant login delays. As of version 9.41, this functionality is optimized so that these global lists are not loaded into memory unless they are needed.
  • For a newly added global list, a restart of the Service Manager Server is required unless the name of the list variable starts with "$G.gl.".

It only applies to 9.41+ but you could try renaming your list to start with "$G.gl.* and see if that saves you a restart

View solution in original post

Highlighted
Acclaimed Contributor.
Acclaimed Contributor.

Josh,

Thanks for this information.  In testing the variable rename resolved the issue.  I couldn't take advantage of it for this change, since it had already passed through the testing and approval phase, so I couldn't go in and rename my variables and change my value and display list values in all my forms, but it is great information to have for future instances when I want to add a custom global list.  Thanks very much.

Audrey

0 Likes
The opinions expressed above are the personal opinions of the authors, not of Micro Focus. By using this site, you accept the Terms of Use and Rules of Participation. Certain versions of content ("Material") accessible here may contain branding from Hewlett-Packard Company (now HP Inc.) and Hewlett Packard Enterprise Company. As of September 1, 2017, the Material is now offered by Micro Focus, a separately owned and operated company. Any reference to the HP and Hewlett Packard Enterprise/HPE marks is historical in nature, and the HP and Hewlett Packard Enterprise/HPE marks are the property of their respective owners.