View Users
Administrators typically use this program to identify who is accessing the system and which programs are currently running.
Exploring
Things you can do in this program include:
-
View detailed information about operators currently in the system
-
Manually log users out of the system
-
Terminate unknown processes
-
Manually log users out of the system and simultaneously terminate their associated SYSPRO processes
-
Determine the number of SYSPRO user licenses currently consumed out of the total number of licensed users
-
Display programs currently in use throughout the system for all operators
-
View information about SYSPRO processes that are currently causing locks in your system
-
Identify data files currently being used
-
View information regarding unknown processes
This program is accessed from various locations in SYSPRO:
- Program List > Utilities
- SYSPRO Ribbon bar > Administration > Logout Users
An unknown process is one where a Windows SYSPRO process continues to run on the Application Server even after the application has closed (i.e. the PID is no longer associated with the current user).
Terminating an unknown process typically does no harm (i.e. although the process is running on the server, the user is not actually using SYSPRO).
Elevated refers to running a program (e.g., SYSPRO) with elevated permissions as a Windows administrator. This can be done by right-clicking on the program and selecting Run as administrator from the context menu. Programs loaded by a service (e.g., Avanti Initialization Service or SYSPRO 8 Communications Service) always run elevated.
Starting
You can restrict operator access to programs by assigning them to groups and applying access control against the group (configured using the Operator Groups program).
The following configuration options in SYSPRO may affect processing within this program or feature, including whether certain fields and options are accessible.
Solving
One of these warnings is displayed when you attempt to log out an operator from SYSPRO.
Prematurely logging out an operator who is using SYSPRO can cause data corruption.
Ensure that the user you are logging out is not capturing critical data, completing a period end or currently working on important programs.
A user who has been logged out cannot load a new program or access primary functions within the main SYSPRO posting programs.
Ordinarily, when administrators log out users, the related processes are automatically ended if the Logout function ends process option is enabled.
However, administrators cannot view all the details about processes performed by specific operators, or end these processes automatically when they log them out in the following scenarios:
-
The administrator runs the Desktop UI standalone (elevated) but the operator runs the Desktop UI in a client-server environment.
Refer to Terminology for a detailed explanation of elevated. -
The administrator runs SYSPRO the Desktop UI (not elevated) but the operator runs the Desktop UI in a client-server environment.
-
The administrator runs the Web UI but the operator runs the Desktop UI in a client-server environment.
This is because a 32-bit process (standalone and Web UI) cannot read the details of a 64-bit process (Desktop UI in a client-server environment in these scenarios).
This message is displayed when administrators log out users in any of the above scenarios.
Log into an appropriate user interface to end processes based on the scenarios listed above.
When logging out a user, the following occurs:
-
The user is removed from the SYSPRO user file (AdmCurrentUsers).
-
The LoggedInStatus flag of the AdmOperator table is updated, which ensures that the concurrent number of users is decreased (i.e. license consumption is updated correctly).
-
Details relating to the terminated user and its associated Microsoft SQL Server process are recorded in the AdmSpidHistory table.
-
Details relating to the terminated user and its associated Microsoft Windows process are recorded in the AdmPidHistory table.
If the Logout function ends process option is disabled when logging out a user, then the forced logout results in the user being logged out of SYSPRO without terminating the server-side process.
The client session remains active so that the user can complete the current transaction. However, if the user attempts to load a new program, a system message notifies them that they have been logged out by an administrator.
Any related processes are not terminated (i.e. the process remains active on the application server).
If the Logout function ends process option is enabled when logging out a user, then the following occurs:
-
Job logging is updated accordingly (if the Job logging required setup option is enabled).
-
The associated server-side executable process is terminated.
-
Any open transactions are rolled back.
-
Resources are returned to the server operating system.
The forced logout results in the user's client session remaining active, but all related processes are terminated. If the user attempts to complete a transaction or load a new program, a system message notifies them that they have been logged out by an administrator.
The following programs let you kill the associated SYSPRO process at the same time as logging out the user:
-
View Users (Program List > Utilities)
-
Display Users Logged in (accessed from the View Users function of the SYSPRO login dialog when logging in as an administrator).
Ensure that the Logout function ends process option (available from the Options menu) is enabled before selecting to log out the user. This ensures that any process associated with the user is also terminated, thereby avoiding an unknown process situation.
When performing this function, details relating to the terminated user and its associated process are recorded in the AdmSpidHistory table.
If you don't kill the associated process when logging out a user, an unknown process can occur.
You can terminate these unknown processes by using one of the following programs:
-
View Users (Program List > Utilities)
Use the End All Unknown Processes function from the Processes pane.
-
Windows Task Manager (Program List > Utilities)
Use either the End Process or End All Unknown Processes function.
You can view information about an unknown process from the Unknown Process Details pane of the View Users program. This provides details of processes linked to users who have been logged out, according to the records of the AdmSpidHistory table.
Processes cannot be terminated when logging out a user in the following scenarios:
-
The administrator runs the Desktop UI standalone (elevated) but the operator runs the Desktop UI in a client-server environment.
Refer to Terminology for a detailed explanation of elevated.This is because a process that is not running elevated cannot see the details of a process that is running elevated. -
The administrator runs the Desktop UI standalone (elevated) but the operator runs the Desktop UI in a client-server environment.
This is because a 32-bit process (Desktop UI standalone, elevated) cannot read the details of a 64-bit process (the client-server environment in this scenario). -
The administrator runs the Desktop UI standalone (not elevated) but the operator runs the Web UI.
This is because the operator process was started by the Avanti Initialization Service (it is therefore elevated) and the administrator is not running SYSPRO elevated. -
The administrator runs the Web UI but the operator runs the Desktop UI in a client-server environment.
This is because a 32-bit process (Web UI) cannot read the details of a 64-bit process (Desktop UI in a client-server environment in this scenario). -
The administrator runs the Desktop UI standalone (not elevated) but the operator runs the Desktop UI in a client-server environment.
This is because a 32-bit process (standalone) cannot read the details of a 64-bit process (Desktop UI in a client-server environment in this scenario).
The list of processes shown in the View Users program will differ depending on how you run SYSPRO, i.e., Desktop UI or Web UI, standalone or client-server, etc. when you view All processes. This is because:
-
Non-elevated processes cannot see elevated processes.
-
32-bit processes cannot read information about 64-bit processes.
-
Processes running in a container may mask processes running on the host operating system.
SQL locking typically occurs in systems with a high number of concurrent users where multiple processes are trying to exclusively access the same table, record, or page in Microsoft SQL Server at the same time. This can stall business operations for a significant amount of time.
The SQL Blocking Details pane of the View Users program displays information regarding SYSPRO processes that are causing locks as well as those being blocked by other processes for the SQL Session ID created by each logged-in SYSPRO user.
Each operator in SYSPRO is associated with a user file that reflects the state of that operator (e.g. the resources that are open by the operator).
If a network-related problem occurs (or the client computer is powered off prematurely) then this is generally detected by the application server process which shuts itself down gracefully. In some cases, however, the process on the application server continues as a runaway process.
A runaway process can consume excessive server operating system resources and slow down applications like SYSPRO.
Although ending a runaway process should alleviate the slow response time on the server, this is not a long term solution (i.e. you are dealing with the symptom and not the cause).
If a server is subjected to runaway processes on a regular basis, we strongly advise that you establish the cause of the runaway processes.
You can use SYSPRO's Client-Server Diagnostic program to establish which operators are frequently experiencing connectivity problems.
The SYSPRO 8 Communications Service cleans up the runaway processes on a per user basis.
For example:
If user-A is disconnected for some reason and the corresponding SYSPRO process is left running on the server, then the process is only cleared when user-A reconnects.
The number of licenses currently in use are displayed on the status bar at the bottom of the screen.
The Licensed users entry indicates how many licenses are currently in use out of the total number of licenses available.
Disable the Allow concurrent use of this operator option in the Operator Maintenance program (SYSPRO Ribbon bar > Setup > Operators) to prevent an operator from consuming additional licenses when logging in to SYSPRO more than once.
The primary instance of any SYSPRO logon is the one that owns all the spawned SYSPRO instances. To avoid additional SYSPRO licenses being consumed, you must first log out of a spawned instance before logging out of a primary instance.
For example:
-
Log in to an instance of SYSPRO as your ADMIN operator and run the View Users program.
-
Log in to a second instance of SYSPRO with a different operator (e.g. TEST) and run any program.
-
Refresh the details in the View Users program on the ADMIN instance of SYSPRO.
The following instances are displayed:
- ADMIN
- TEST
-
Against your TEST instance, launch a new instance of the TEST operator by launching a program from the menu behind the currently running application.
This creates a new instance of SYSPRO for the operator TEST.
-
Refresh the details in the View Users program on the ADMIN instance of SYSPRO.
The following instances are displayed:
- ADMIN
- TEST
- TEST (1)
Note that only two licenses have been consumed.
-
Return to your first TEST instance and close the first application you opened and then close SYSPRO.
-
Refresh the details in the View Users program on the ADMIN instance of SYSPRO.
The following instances are displayed:
- ADMIN
- TEST (1)
-
Log in to a new instance of SYSPRO using operator TEST.
-
Refresh the details in the View Users program on the ADMIN instance of SYSPRO.
The following instances are displayed:
- ADMIN
- TEST (1)
- TEST
Note that three licenses are being consumed.
The reason for this is that the spawned instance of TEST (i.e. TEST1) was not closed before TEST was closed.
Using
- Columns in a listview are sometimes hidden by default. You can reinstate them using the Field Chooser option from the context-sensitive menu (displayed by right-clicking a header column header in the listview). Select and drag the required column to a position in the listview header.
- Fields on a pane are sometimes removed by default. You can reinstate them using the Field Selector option from the context-sensitive menu (displayed by right-clicking any field in the pane). Select and drag the required fields onto the pane.The captions for fields are also sometimes hidden. You can select the Show Captions option from the context-sensitive menu to see a list of them. Click on the relevant caption to reinstate it to the form. If the Show Captions option is grayed out, it means no captions are hidden for that form.
- Press Ctrl+F1 within a listview or form to view a complete list of functions available.
Referencing
Field | Description |
---|---|
Show Files used |
This lets you display and pin the Files Used pane (if it is not currently pinned). |
Logout function ends process |
This lets you kill associated processes when logging out users. It resolves the issue of unknown SYSPRO processes on the application server. This option is enabled by default and disabling it only applies for the current run of the program. |
Display |
This lets you choose your preferred view: Structured view
This displays the SYSPRO company information and operator role information for the operators listed in the User Details pane. Selecting this view also enables the Logout company and Logout role hyperlinks in the Logout column. Flat View
This displays only operator and program information. SYSPRO company information, as well as the Logout company and Logout role hyperlinks in the Logout column are hidden. |
Refresh view |
This lets you refresh the user details displayed. If you have applied a custom filter then you must select this option to refresh the information in the User Details pane. |
Who am I |
This highlights the workstation's active user (useful if several operators are using the same login). |
Show detail |
This displays the program details for each operator in the User Details pane. |
Show Custom Filter |
This displays and pins the Filter Options pane (if it is not currently pinned). |
The status bar displays additional information, including the number of SYSPRO user licenses currently consumed out of the total number of licensed users.
Column | Description |
---|---|
Description |
This indicates the following:
A Login In Progress entry indicates that an operator is in the process of logging in. A record is written to the AdmPidHistory table until the login validation is complete. However, this could also indicate an unresponsive network (or an client machine) that is delaying the login process. |
Logout |
Logout company
This logs out all operators from the SYSPRO company displayed in the Description column. This function is only displayed if you selected Structured view against the Display toolbar option. Logout role
This logs out all operators for the role displayed in the Description column. This function is only displayed if you selected Structured view against the Display toolbar option. Logout
This logs out the operator displayed in the Description column. If the Logout function ends process option is enabled, this action also kills the SYSPRO process associated with the operator. Logged out users can't load a new program or access primary functions within the main SYSPRO posting programs.
Prematurely logging out an operator who is using SYSPRO can cause data corruption. The ability to log out users is dependent on the Allowed to logout users option of the Operator Groups program being enabled against your primary operator group. |
Login / Login date / Login time |
This indicates the date and/or time that the operator logged into the system. |
Last activity |
This indicates the amount of time that the operator has been inactive in SYSPRO. This is calculated from when the last client session was started and not since the operator's session actually performed any activity. Elapsed time is calculated using the following:
In a WCF environment, this value is still not a true reflection of the last time the user did any work on the active session. This is because the WCF service updates the last activity date and time each time a new WCF SYSPRO client is launched, when it detects if the client session is still active. |
Last active date and time / Last active date / Last active time |
This indicates the last date and/or time that the operator was active in SYSPRO. |
PID |
This indicates the process identity number. If you run the SYSPRO.EXE on your server, the message is displayed in this column. This is because you don't have full scope by default, which means that the Display Users Logged in program cannot find client instances of the SYSPRO.EXE. If you run the SYSPROClient.EXE from a client machine, then access is through the SYSPRO services which have full scope to all running processes on the server and all PIDs can be seen. |
Operator / Operator name |
This indicates the user's operator code and name. |
Operator email | This indicates the operator's email address. |
Operator location |
This indicates the physical location defined against the operator. |
Program / Program description |
This indicates each program that the operator is currently running. |
Company code / Company name / Company |
This indicates the company in which the operator is logged into. |
Computer name |
This indicates the name of the computer associated with the operator. |
Machine name |
This indicates the operator's machine name. |
SPID |
This indicates the SQL session process ID. This is stored against the user file as they log into SYSPRO. |
CMS only user |
This indicates the operator is only licensed to use the Contact Management System features of SYSPRO. |
Client type |
This indicates whether the operator's workstation is connected using CCI or WCF. |
Client version |
This indicates the SYSPRO version on the client machine. This is represented by the version of the SYSPROCommsInterop40.dll in the client base directory. |
Client/Server id |
This indicates the identity code of the client machine. |
Instance |
This indicates the system instances being used by the operator. |
Operator instance |
This indicates the instance number of SYSPRO being used by the operator (i.e. the number of times the operator appears in the AdmCurrentUsers) table. This is useful when multiple logins are allowed for the operator as it enables you to identify the individual instances. |
Role description |
This indicates the description of the operator role. |
Row type code |
This indicates the line type displayed:
|
Session type |
This indicates the platform through which the user logged in:
|
User number |
This indicates the user number allocated by SYSPRO when the operator logged in. |
Server computer name |
This indicates the computer name associated with your server machine in your SYSPRO environment (also known as the machine name). This information is determined by the operating system and the format of the name depends on how the environment has been configured. When you log into the client-server or standalone version of SYSPRO, an entry is written to the user file (AdmCurrentUsers in the system-wide database). This table contains information about the current server environment and the server computer name is extracted from this table. This information is useful in a client-server environment to identify the computer which is your designated server machine. This column isn't displayed by default. |
Server machine id |
This indicates the Globally Unique Identifier (GUID) associated with the server machine in your SYSPRO environment (e.g. 4ad9d64d-a4be-48ad-976b-eeeaee576857). The GUID is created when the system is installed and relates to the SYSPRO application server. This information is useful in a client-server environment to identify the computer which is your designated server machine. This column isn't displayed by default. |
Field | Description |
---|---|
Process type |
All
Display all processes. SYSPRO
Display only SYSPRO processes:
Unknown
Display all unknown processes. |
End All Unknown Processes |
Terminate all unknown processes. This option only applies if you selected Unknown as the Process type. |
This pane provides you with insight into unknown processes resulting from a user being logged out.
It details the process information that was recorded in the AdmPidHistory table when the user was logged out without ending the process (i.e. with the Logout function ends process option disabled).
The following information is provided, if available:
-
User number
-
Operator
-
Company
-
Session Type
-
Date Saved
-
Last program run
-
Login date
-
Login time
-
Client server ID
-
SQL SPID
-
Location
-
Computer
-
Contact Management only
-
Role
This pane displays information regarding SYSPRO processes causing locks and those being blocked by other processes for the SQL Session ID created by each logged-in SYSPRO user.
Information is only displayed if there is at least one blocking process and one blocked process.
Column | Description |
---|---|
Blocking SPID |
This indicates the SQL session process ID of the process causing the SQL block. |
PID |
This indicates the process identity number. |
End |
Select the hyperlink in this column to end the highlighted process. Only server-side processes can be ended using this function; client-side processes are not directly affected. After ending a process, the event is recorded in the System Audit Query program, including the date, time, process ended, and by whom. This function is displayed only if the operator belongs to a primary group where the Allowed to logout users is enabled (Operator Groups). |
Process name |
This indicates the name of the process causing the SQL block. |
Wait time |
This indicates the time for which the blocking process has caused the SQL block. |
Wait type |
This indicates the SQL code for the type of lock that has been acquired. |
Operator / Operator name |
This indicates the name and code of the operator whose process is causing the SQL block. |
Operator location |
This indicates the physical location of the operator whose process is causing the SQL block. |
Operator email |
This indicates the email address of the operator. |
Program |
This indicates the program that is causing the SQL block. |
Program description |
This indicates the description of the program that is causing the SQL block. |
Computer name |
This indicates the name of the computer whose process is causing the SQL block. |
SQL Login |
This indicates the SQL Server logon by which the process has been authenticated. |
SQL statement |
This indicates the blocked SQL statement being executed. An AutoPreview option (selected from the shortcut menu displayed when you right-click the column header) enables you to view the first 400 characters of the SQL statement being issued. |
Field | Description |
---|---|
Apply Custom Filter |
This applies your filter selections and saves them against your operator code. You need to select the Refresh View option to display the User Details according to the Filter Options you indicated. |
Reset |
This clears any selections you made and resets all filter options to their defaults. |
File selection |
Indicate the programs for which to display users in the User Details pane. This is useful if you want to trace which operators are using a specific file. |
File filter type |
Indicate the program code for which you want to display users in the User Details pane. Select No filter to include all file codes. |
File code |
Indicate the specific file code for which you want to display users in the User Details pane. |
File list |
Indicate a list of data files for which you want to display users in the User Details pane. |
Show exclusive access |
Display only operators who have exclusive access to the data files you selected to display. This is useful when you cannot access a file and need to determine which operator is locking the file. This option is disabled if you selected No filter at the Filter file type field. |
This pane displays the data files currently being used by the program which is highlighted in the User Details pane.
Copyright © 2024 SYSPRO PTY Ltd.