Select Page
Hardware System Requirements for Epicor Prophet 21

Hardware System Requirements for Epicor Prophet 21

What are the hardware system requirements for Epicor Prophet 21?

Enterprise Resource Planning (ERP) systems like Epicor Prophet 21 (P21) play a crucial role in streamlining operations and driving business growth in the distribution industry. However, the hardware requirements for on-premise ERP deployments present an ongoing challenge, constantly evolving with technological advancements and software updates.

Hardware System Requirements for Epicor Prophet 21

Epicor P21 – Background and Evolving Capabilities

Epicor positions Prophet 21 as a solution “made by distributors for distributors.” As the distribution industry continues to change, P21’s capabilities expand to meet new challenges. These include advanced Customer Relationship Management (CRM), Order Management, eCommerce integration, and Business Intelligence features. With each new version and feature set, the demands on hardware infrastructure often increase.

The Moving Target of Hardware Requirements

The performance of on-premise Epicor P21 systems is intrinsically tied to the underlying hardware infrastructure. As the software evolves, so do its hardware needs. This presents a significant challenge for IT teams, who must continually reassess and potentially upgrade their hardware to maintain optimal performance.

Key Things to Consider When Addressing Hardware System Requirements for Epicor Prophet 21

While specific requirements may shift, some general hardware considerations for P21 deployment include the following:

  • Servers: Both database and application servers need regular evaluation to ensure they meet the latest requirements.
  • Processing Power: The demand for more powerful, multi-core processors (such as the Intel Xeon series) tends to increase over time.
  • Storage: The shift towards faster storage solutions like SSDs and advanced RAID configurations is ongoing.
  • Memory: RAM requirements typically trend upwards with each major software release.
  • Networking: As more features become web-based or cloud-integrated, network infrastructure becomes increasingly critical.

Back to the Basics of P21

Servers

  • Database Server: Responsible for managing and storing data that the ERP system uses; key features for optimal functionality and performance include robust storage and memory, ensuring users can quickly access and process data
  • Middleware/Web Applications Server: Essential for organizations that utilize P21’s web-based components; requires minimal to moderate processing capability and memory, depending on the number of users

Processing

  • Server CPU capabilities determine performance
  • Multi-core processors are recommended

Storage

  • Solid-State Drives (SSDs) perform the best
  • Redundant Array Independent Disks (RAID 10) enhance data processing

Memory

  • Adequate RAM is essential for operation
  • For the Database Server, 32 GB RAM or greater is recommended
  • For the Web Server, 8 GB RAM or more is needed, depending on the number of users

Networking

  • Web-based or cloud-integrated network infrastructure becomes necessary 
  • Advanced cybersecurity and compliance regulation needs demand IT talent

Scalability has become one of the greatest challenges when addressing hardware system requirements for Epicor Prophet 21.

One of the biggest challenges in on-premise ERP deployment is planning for scalability. As businesses grow and P21 capabilities expand, the hardware infrastructure must be able to scale accordingly. This often requires significant foresight and investment, as upgrading hardware can be costly and disruptive.

Cloud vs. On-Premise ERP: A Shifting Landscape

The evolving nature of hardware requirements is pushing many organizations to reconsider the total cost of ownership for on-premise deployments. Cloud-based solutions, which offload the burden of hardware management and upgrades, are becoming increasingly attractive. However, this shift introduces new considerations around data security, customization, and control.

Staying Ahead of the Cloud

To manage the ever-changing hardware requirements for on-premise P21 deployments, organizations should do the following:

  • Maintain close communication with Epicor about upcoming releases and their potential hardware impacts.
  • Regularly audit current hardware against the latest requirements.
  • Develop a long-term hardware upgrade strategy that aligns with both business growth projections and P21’s development roadmap.
  • Consider hybrid approaches that leverage both on-premise and cloud resources to balance performance, cost, and flexibility.

The hardware system requirements for Prophet 21 deployments are not static.

They represent an ongoing challenge that requires constant attention and adaptation. While this document outlines some general considerations, it’s crucial to recognize that these may change rapidly. Organizations must stay informed about the latest requirements, plan proactively for hardware upgrades, and continually evaluate their deployment strategy to ensure they’re maximizing the benefits of their P21 system while managing the complexities of evolving hardware needs.

SYSPRO Error Message: Operator Already Logged In

SYSPRO Error Message: Operator Already Logged In

A warning message that most SYSPRO users will commonly see is the “Operator already logged in” prompt. Under normal circumstances, this message means exactly what it says! The operator is already signed in.

SYSPRO Error Message Operator Sign In

However, the error message can appear for other reasons that may be puzzling to the user. It is most typically associated with users not exiting SYSPRO through normal means (crashes, forced computer shutdown, etc). It is good for both the ERP administrator as well as the end-users to know what this error means and why it may appear despite the user not being signed in.

SYSPRO Error Message Operator Logged In

What does this “SYSPRO Error Message – Operator Already Logged In” message mean?

SYSPRO’s database has a table called AdmOperator. Inside this table there is a column used to indicate whether a SYSPRO operator is currently signed in. The column value is set to “Y” when a user signs in and is cleared when SYSPRO is closed out normally by the user. The “Y” value can linger in the database if the user fails to close out of SYSPRO “gracefully”.

In that case, the “Operator already logged in” message will appear. The user has the option to proceed which will clear any lingering operator entries. If the user is in fact already signed in, any previous session is terminated by the system.

What causes this “Operator already logged in” message?

Besides the intended circumstance of the operator already being signed in on another computer, the message also appears if a user fails to close out of SYSPRO “gracefully”. Examples of this could include:

  • The user shuts down their PC while SYSPRO was running. 
  • The user closes SYSPRO forcefully using the Windows Task Manager. This is common in the event of SYSPRO freezing or crashing. 
  • Network failures between SYSPRO and the app server causing communication errors. 
  • If the user closes their web browser when using SYSPRO Avanti without using the logout functionality in the application.

Some of these events may also result in “Unknown Processes” lingering in SYSPRO. These will have to be closed out using administrative tools in SYSPRO. To learn about these processes, see our article on Handling Unknown Processes in SYSPRO.

So, what should you do about this message?

Clicking “OK” to proceed is all you need to do! If the warning appears because the user is in fact already signed in, that previous session will simply be terminated. If it appeared for any of the other reasons outlined above, the database fields are cleaned up from any incorrect flags and reset to their intended status. It is good to inform users that this error means no harm and that they can safely proceed if they do not believe that their operator is signed in anywhere else.

How to Handle Unknown Processes in SYSPRO

How to Handle Unknown Processes in SYSPRO

Handling Unknown Processes in SYSPRO as an ERP Administrator

In SYSPRO, an “Unknown Process” is the result of a SYSPRO client having lost its connection to the host server prematurely. When an unknown process is detected, it means that a process is still running on the host server despite the client connection having been disconnected. Unknown processes can occur in the event of network disruption or a SYSPRO client shutting down unexpectedly.

Unknown Processes in SYSPRO ERP Admin

While SYSPRO generally catches common disconnects and clears these processes gracefully, in some cases, a process may linger and be declared as a “runaway” process. From an administrative point of view, it is important to stay on top of unknown processes as they can hog up valuable resources for others and can cause general instability if they are not terminated on a regular basis. Additionally, unknown processes can even consume user licenses which can affect other operators’ access to SYSPRO if you have an environment with limited user licensing.

To monitor and terminate any current unknown processes, you can use SYSPRO’s “Users” (IMPUSN) program. You can access the program by going to Main Menu > Administration > Logout Users. This program displays a list of all currently signed-in operators using SYSPRO. On the left-hand side, there is a “Processes” pane that you can filter for “Unknown”. A list of unknown processes will be displayed in the pane once selected. If you have any unknown processes in your system, the “End All Unknown Processes…” button will be enabled. Clicking it will clear the hung processes on the application server, and the previously hogged up server resources will once again be available.

SYSPRO Unknown Processes

To monitor operators seeing frequent disconnects, you can use the built-in Client-Server Diagnostic program (IMPDG5). Note that this program can only be run from a client machine. You can also make use of the System Audit Query program (IMPJNS) where you are able to filter for various system-related events such as client-server disconnects. These tools are sure to provide you with detailed information about any potential operator seeing frequent disconnects or unexpected client shutdowns.

SYSPRO ERP System Audit Screen

Please be aware that terminating unknown processes is only a temporary solution to the potential problem that is causing them to begin with. Be sure to monitor the specific client machines or operators encountering frequent disconnects.

Here are some helpful tips to reduce the number of unknown processes seen in your SYSPRO environment:

  • Educate your users about the importance of exiting SYSPRO “gracefully”. Unless SYSPRO is unresponsive, do not shut down Windows or use the Task Manager to kill SYSPRO. 
  • Set a “timeout” value against operators so that SYSPRO disconnects the user after a given time of inactivity. This can be done through the “Operators” program (IMPBOP). 
  • Schedule a task that performs a logout of all users in SYSPRO at a time where the system is not in use (generally overnight). 
  • Stay up to date with available SYSPRO hotfixes and the latest SYSPRO product releases to remain within SYSPRO’s product support. New hotfixes are usually only developed for the latest versions of SYSPRO.  

Looking for help with your SYSPRO ERP environment?

As an ERP Administrator handling Unknown Processes in SYSPRO, you know it’s crucial to vigilantly manage and terminate these processes to prevent resource depletion and licensing issues. The “Users” and “Client-Server Diagnostic” programs offer valuable tools for monitoring and addressing disconnects and unexpected shutdowns. However, it’s essential to address the root causes by educating users on proper exit procedures, setting timeout values, scheduling logouts during system downtime, and staying updated with SYSPRO hotfixes and releases to maintain product support and stability. Proactive management ensures the efficient operation of your SYSPRO environment.

If you find managing SYSPRO ERP processes and maintaining system stability a challenging task, consider reaching out to our team at EstesGroup. With our expertise in SYSPRO ERP consulting and our comprehensive suite of managed cloud and IT services, we can provide the support you need to streamline your operations, optimize performance, and ensure the smooth functioning of your SYSPRO environment. Don’t hesitate to leverage our experience and solutions to enhance your ERP management and IT infrastructure. Trust us at EstesGroup to help you navigate the complexities of SYSPRO with confidence.

SYSPRO Data Integrity: A Guide to Balance Functions

SYSPRO Data Integrity: A Guide to Balance Functions

How to Ensure Data Integrity Within SYSPRO – Balance Functions Explained

Ensuring data integrity is a top priority for any software product, especially for an ERP such as SYSPRO. As users go about performing their daily activities, various problems can arise, even with the most mature ERP systems. The most common issues seen within SYSPRO that can lead to data instability are users being disconnected, programs freezing up, or business objects unexpectedly stopping in the middle of processing. With tens (or potentially hundreds) of daily active users, it is imperative for your business that the data within SYSPRO stays consistent. So how does SYSPRO combat data integrity problems and maintain the overall stability of its data? The answer is SYSPRO balance functions!

SYSPRO Data Integrity Balance Functions

A balance function in SYSPRO is a detailed process used to correct and adjust database information if discrepancies are detected. They are built in to SYSPRO’s Period-End programs and are supposed to be run prior to posting GL entries or performing Month-End/Year-End tasks. SYSPRO’s balance functions can help “balance” a module by comparing user transaction data to its own control totals and correcting any noticed discrepancies. Some examples of these discrepancies that it can correct include:

  • GL journal entries that have not been properly completed or are still marked with “in-process” flags if they were abandoned. Users unexpectedly disconnecting from the system can be a cause of this.
  • Failed inventory transactions. Minor hiccups from bugs or networking issues during inventory transactions can result in inaccurate inventory counts. For example, a stock code may display as having available quantity on-hand but an attempt to issue or release the quantity results in errors.
  • Specific key documents being locked down by users for maintenance that fail to be released once complete. Again, a potential result of unexpected user disconnects or program errors. These are commonly encountered within sales/purchase order entry and customer/supplier setups programs.

Scheduling SYSPRO Data Integrity Tasks

While most SYSPRO environments generally only run these balance functions during their period-end tasks, it is strongly recommended to schedule balance functions to run regularly. Sites with heavy user activity (including custom business object activity) may want to run balance functions overnight several days throughout the week. The result of this will be an improved and overall smoother SYSPRO experience for all users.

Balance functions are not found separately within their own respective program. Instead, they are usually part of and located within period-end programs. The naming convention of some of these programs may not be clear and it is not easy to identify all of them. As such, here is a full list of the programs within SYSPRO that contain or can perform the functionality of a “balance function”:

  • AP Period End
  • AR Period End
  • AR Bank Deposit Slip
  • Cash Book Period End
  • Assets Period End
  • Inventory Period End
  • Sales Order Purge
  • Purchase Order Purge
  • GRN Purge
  • Sales Analysis Update

It is imperative to understand that some of these programs contain critical data-altering functionality within SYSPRO relating to period-end module closures or purging of data. You should tread with caution when accessing these programs and ensure you only have “Balance” selected. NOT any unwanted options pertaining to period-end and/or data purge functionality! 

Some of the above-listed programs may have an option called “Reset lowest unprocessed journal”. As it is not always checked by default, it is recommended to enable this option prior to executing a balance function. It performs an additional data-stability feature intended to fix GL journal issues. 

SYSPRO Data Integrity Balance Functions AR Period Example

SYSPRO environments that are not familiar with the power of balance functions can (and will) encounter unwanted issues and potentially unstable data problems. Knowing how to utilize, execute, and schedule balance functions is key to ensuring your SYSPRO environment’s data remains both stable and trouble-free.

Ready to discover how an EstesGroup ERP consultant tackles data integrity challenges & ensures your company’s success? Chat with us now & sign up for a free demo to see what your business would look like in EstesCloud!

RPA DNA – What is Robotic Process Automation?

RPA DNA – What is Robotic Process Automation?

Robotic Process Automation (RPA) is a new software technology that has the potential, in conjunction with AI technologies, to transform business processes, policies, and Enterprise Resource Planning (ERP) systems.

Robotic Process Automation RPA

RPA removes workers’ mundane, time-consuming tasks so that they can alternatively focus on innovation and creation. With RPA, software robots, rather than humans, quickly and efficiently perform data system tasks. Simple software robots can log in to data systems, locate and move files, insert and alter information in data systems, and assist in analytics and reporting.

More advanced software robots, especially if they have AI technology, can interpret, organize, and make decisions in a cognitive, human-like way. Businesses will discover that RPA technology is relatively inexpensive to implement, and it is business-ready and scalable.

A variety of different industries — in manufacturing, finance, and healthcare — can benefit from adopting RPA technology into their business operations and processes. The benefits of RPA technology are expansive, and these benefits carry over into ERP system implementations and ERP processes. Ultimately, with RPA, businesses can focus on improving their workplace atmospheres so that they are more efficient and productive.

What are the benefits of Robotic Process Automation (RPA)?

As businesses seek to automate their work flows to become more efficient and productive, Robotic Process Automation (RPA) will continue to transform workplace atmospheres and advance processes and operations while increasing production and profits. By implementing RPA technology, businesses will realize the following benefits:

  • RPA is initially inexpensive to implement and is ready for use, with minimal coding, by most data systems.
  • RPA eliminates some of the monotonous, arduous tasks that fatigue workers.
  • RPA eliminates human error and encourages speed, efficiency, and accuracy of repetitive tasks.
  • RPA adapts to meet increased production needs and ultimately reduces costs and increases production.
  • RPA creates a happier working atmosphere in which employees can focus on customer relations and innovation rather than mundane tasks.
  • RPA encourages a strong increase in rate on investment (ROI).
  • RPA promotes consistent compliance with industry and government standards.
  • RPA enhances security by eliminating human interaction with sensitive, private information.
  • RPA can automatically generate reports and analytics that businesses can use to improve their processes and operations.

How does Robotic Process Automation (RPA) integrate with ERP systems?

Enterprise resource planning (ERP) systems are essential for businesses to tailor their workplace atmospheres, and by utilizing Robotic Process Automation (RPA), businesses can automate and reappropriate mundane tasks to software robots rather than humans.

Users will be able to realize the full benefits of ERP systems and focus on more foundational tasks while RPA accomplishes lower-skilled, mundane tasks. ERP systems will experience similar benefits that businesses have when integrating Robotic Process Automation (RPA). Some areas that ERP operations can utilize and benefit from RPA include:

  • Accurate data capture and transfer
  • Assistance with and automation of data migration
  • Inventory and supply chain management
  • Real-time data sharing
  • Real-time analytics and reporting necessary for compliance

Why should businesses integrate their ERP systems with RPA technology?

Many companies are hesitant to implement Robotic Process Automation (RPA) or fear that RPA will eliminate workers. RPA is cost-effective and easy for businesses to implement and integrate into their ERP systems. RPA software increases speed, productivity, and efficiency of processes and operations while encouraging a happier workplace atmosphere.

RPA doesn’t replace humans. It certainly is more consistent and reliable, but there will always be a need for human interaction. Although RPA will eliminate many of the lower-skilled, mundane tasks that humans must perform, workers will still be responsible for higher-skilled, fundamental tasks. As RPA streamlines workplaces and ERP systems, humans will be able to focus on more complex, meaningful tasks that will help businesses grow and maximize profits.

Combining an ERP system with new cloud-based technology allows businesses to experience all the benefits of both while approaching the future with automation and efficiency. Businesses will see cost reductions and great increases in rate on investment (ROI).

ERP systems with integrated RPA technology encourage streamlined workplace atmospheres, innovation, competitiveness, and ultimately, business growth. RPA lets workers enjoy their coffee, innovate, and communicate with customers while it does the grunt work.

Looking for answers to questions about how new technology can help your business? Meet with our team to learn how cloud-based solutions and services can help you achieve your goals!

Epicor Prophet 21 Performance – Real-World Issues

Epicor Prophet 21 Performance – Real-World Issues

Recently, I met with an Epicor Prophet 21 customer on a discovery call to review the issues they were encountering in relation to some ongoing P21 web UI slowdowns. ERP system performance is a common challenge across the ERP community, and in the Prophet 21 community, the subject of P21 performance is similarly of great importance. Coming out of the call, I thought I’d collect a few of the talking points and add a few additional P21 system performance considerations that can impact the speed and responsiveness of your Prophet 21 web UI.

Epicor Prophet 21 Performance Distribution Industry

Epicor Prophet 21 system performance can be a maze to navigate.

We had originally characterized the issue as a problem with the P21 API loading, and we began looking more broadly. As you might know, the Prophet 21 sits on top of Microsoft’s Internet Information Services web server platform, known colloquially as “IIS”.  There are several things to consider if your P21 web server is slowing down throughout the day, and with an ERP system like P21, the issues actually affecting the performance of the Prophet 21 web interface may reside many layers below the P21 web server.

Background:

It might be helpful to initially review the composition and operation of websites. Websites are comprised of both static and dynamic pages. A static page is pre-defined on the web server and is ready to be served up. A dynamic page is generated at run time and may dynamically differ each time it is generated. In terms of HTML pages that comprise the P21 user interface, generally speaking, the P21 application pool can only respond to a certain number of requests at a time. If it is busy responding to requests for dynamic pages, then it may not have any threads left to serve the static pages. For this reason, a code problem on a dynamic page can create the illusion that the static pages are being served “slowly”. My point is, don’t rule out code or SQL. As an example, if you have 100 pages all hitting a database or API at the same time, and all 100 await a response, request 101 may be blocked until one of the first 100 requests completes.

Diagnosing the Degradation:

Beyond explicit issues like request load, there are plenty of things that you can do to help you diagnose performance problems with your Prophet 21 web application:

Load Profiles: What does your load profile look like normally? This makes a big difference – it may be that you always have an issue, but you can’t see the impact until your site receives load. You could try to test this (in staging) with something like JMeter.

Reviewing your logs: Does your application have logs? If not, you should consider adding some logging. If you already have logs, what do they say? Are there exceptions being thrown by your application? Is there something that is consistently failing?

IIS Logs: Enable IIS logs if you haven’t already. Reviewing your P21 IIS logs can help you see which requests are taking the longest. You can use something like Microsoft’s Log Parser to run SQL-like queries against your logs. You may even want to dump your logs into a SQL database if that makes your P21 logs easier to review. Once you know which pages are taking the longest, you can focus some of your attention on them.

Memory: How much memory is your application pool using? A memory leak is an obvious candidate but should be quite easy to see. Use Windows’ inbuilt Performance Monitor to track memory consumed by your application pool over the day and see if this increases as the day goes on.

SQL Performance: The performance of your P21 SQL database may be an underlying cause of poor Prophet 21 user interface performance. SQL server provides a series of query structures called Dynamic Management Views, or DMVs, that can provide details about server and database health and performance. These can be very helpful in diagnosing performance issues at this level. One common DMV, sys.dm_exec_requests, can help you understand query properties such as wait_type, wait_time, blocking_session_id and the total_elapsed_time.

P21 Application Pool Connections: Check how many connections your application pool has open – using something like Microsoft’s TCPView. Your application pool will try to re-use connections where possible, but you’ll probably see a lot of open connections to your application pool. One interesting thing you can see from this is how many connections you have open to your SQL database or any external APIs your application is using.

Use an Application Performance and Monitoring Tool: Performance monitoring tools, like AppDynamics, will be able to help pinpoint slow performing parts of your code. Unfortunately, there’s a little bit of a learning curve to be able to use these tools effectively, but they can be very powerful in helping to diagnose problems with your applications.

SQL Server AutoGrowth Property: Review the property in your SQL database pertaining to AutoGrowth. You may encounter issues if the following are occurring:

1. If the database is a super-busy database, transactionally speaking.

2. If AutoGrowth is enabled.

3. The AutoGrowth default is a smaller MB amount. This may cause random slowdowns on the database engine, which could impact the API application pool response time. 

One thing to test would be to set that AutoGrowth size in MB to a very large number. That way, the AutoGrowth will only happen periodically.

Look for Memory Leaks: Once I had a customer experiencing IIS performance degradation issues with a custom web application we had built that was using asp.net and Crystal runtime integration. Ultimately, the issues with IIS and the web app related to memory leaks that were not obvious at all until we started doing some deep-dive testing. You will want to consider the possibility of internal memory leaks when building a support case against the application having performance-related issues that may or may not have been resolved in minor version changes. I know IIS also plays a part in this and how it manages internal garbage disposal with application pools, so this may be an area that you need to explore as well.

As you can see, Epicor Prophet 21 system performance can be a maze to navigate. To find your way through the P21 performance maze, there are many potential paths to take, and depending on the ultimate source of the problem, many might be dead ends. But in understanding the directions one might take in navigating the many potential Prophet 21 performance issues, P21 users can hopefully find themselves at the maze’s end – and moving on to bigger and better things.

Prophet 21 Cloud Migration Steps for Managed Hosting of P21