Today's #TipTuesday is a feature that was introduced in GP 2013 R2: taking a company offline for maintenance or other periodic routines.

What is it?

This is a feature under the Administration page > System > Utilities area. The purpose of it is simply to prevent users from logging into one or more companies so that an administrator can work in it exclusively. Why might I do this? The most common reasons would be some kind of maintenance like running checklinks, some routine like year-end close, or some kind of utility operation like using a Combiner/Modifier tool perhaps.

How to use it

First, navigate to the Administration page > System > Utilities > Take Company Offline.

Take Company Offline window.

Insert one or more companies from the left-hand list of companies in my system, into the box on the right-hand side of the window. In my example, I've moved over to my Test Company. Let's say I want to refresh the Test Company so I want to keep people from logging into it while I do that.

I could change the "Offline Message" but I chose not to for this example. This wording is what is displayed to the users selecting an offline company when they log in.

What happens if a user is already logged in?

If users are in the company(ies) I am trying to take offline, I will get this warning message:

Warning: “There are users logged into the companies taken offline. Do you want to send the users a message?”.

At this stage, I can click Yes to open the Send Message window to send a message to those users who are logged in.

Send Message window where I could alert logged-in users.

When I do this, it will automatically filter the window to the "Users in Offline Companies" so I don't bother my other users. In this case, I typed out a custom message and clicked on Send.

After a brief delay (10-20 seconds perhaps?), my test user "jen" got the notification message as expected:

Notification message in GP for users who were logged in.

At this point, note there is no "automatic" anything, the user is not kicked out of the offline company, so it would be up to the administrator to ensure the users get out of the company they want to take offline. The pop message is simply an alert.

What happens if I try to log in?

Naturally, I wanted to test a couple of different scenarios to prove how this works with different settings. My "jen" user is a normal user inside of GP in terms of security (i.e. not a POWERUSER). However, that login did have "sysadmin" in SQL (server role).

So, when "jen" tried to log into GP, here is what happened:

GP 2018 login window, with a company name and “*Offline*” behind the company name.

First, the company shows "*Offline*" in the company drop-down list for visual verification for users. I selected it anyway, and clicked OK.

Warning: “The company you have selected is currently offline for maintenance. Do you want to continue and log on to the company?”.

I was prompted with this message: "Do you want to continue and log on to the company?". I clicked Yes and sure enough, I could log into the offline company.

But wait a minute… there is no user set to have "offline" access in this company, so why did that work?

Company Setup shows the “User with offline access” option highlighted.

The simple reason is that "jen" has the sysadmin server role in SQL so Dynamics GP must be looking at that and allowing those users to log in even with no specified "User with offline access" in Company Setup. That's a good thing. If I don't know which user has offline access, simply log in with 'sa' briefly or any other GP login that has SQL sysadmin rights in the back end. (Edit: per a comment on this article, users in the POWERUSER role in GP also have access to offline companies).

What does a regular user see?

Here is what message a normal user would see:

Warning message a regular user sees: “The company is currently offline for maintenance. Try again later.”.

Normal users, i.e., users who are not sysadmins in SQL and not the user who has offline access, see this message with only "OK" as an option and no ability to log in.