Select Page
Epicor Process Set Maintenance: Bundle Up

Epicor Process Set Maintenance: Bundle Up

Scheduling ERP Processes

Batch processes have been with us since the inception of business computing. You can complete a batch of tasks as a single process for sake of efficiency. The benefits of such processes are clearly time-saving for an Epicor administrator. Batch processing allows for the automation of many tasks that would take an actual user an immense amount of time and effort to perform in order to accomplish the required manual tasks and calculations. In ERP software, the Materials Requirements Planning (or MRP) process is probably the most well known of such processes. As ERP systems have become more advanced, the need to group multiple processes to operate in harmony has become increasingly important.

Female using cloud technology on a mobile workstation

Epicor Process Bundling

In an Epicor context, there are many processes that you might want to sequentially bundle, such as following up an MRP regeneration by running the production planning and the shop schedule load graph processes, such that you can see the implication of the MRP run on material shortages and shop load respectively.

Sounds simple enough, but the problem with this scenario comes with the fact that such processes often run in the wee hours of the night, and only the most zealous members of the ERP fandom would wish to set their alarms for 3:00 AM so they can manually kick off a few ancillary processes once the MRP regen completes.

Enter Epicor’s Process Set Maintenance. Epicor process sets allow Epicor admins to bundle process runs into a single event. This allows you to sequentially run a suite of Epicor processes automatically, without human intervention. Process sets can include various differences:

  • processes
  • reports
  • executive queries

Once a process set is defined, and then attached to a system agent schedule, the related tasks are automatically processed according to the timing defined by the system agent.

Let’s look at a common issue, one that surfaces frequently for an Epicor admin. At times, you may wish to run processes in a manner that filters the actual processing. For instance, you may wish to run MRP by site, or PO suggestions according to a handful of part classes. Confusion is commonplace in handling process sets when the processes involved possess filtered activities. I’ll give you an example of the problem and an explanation of the actual behavior an Epicor admin can expect to experience when setting up and executing a process set.

Epicor Process Set Maintenance With Process Filters Enabled

Creating a process set occurs through the Process Set Maintenance screen. Once a process set is defined, individual processes can be assigned to a process set. In the example below, I created a process set:

Epicor Process Set Maintenance Screen

Next, I opened the PO Suggestion screen and configured its process parameters. Of those parameters, I set a site-specific filter:

Epicor Generating Purchase Suggestions Screenshot

Then I clicked the icon below to save the PO Suggestion process to the process set I previously created:

Save Epicor Process Set Screen

Returning to my original process set, I now see that the PO Suggestions process has been attached to the process set. Were I to go through the same actions with other processes, I could add multiple processes to this process set, and then use the “Move Up” and “Move Down” buttons to order them appropriately. But one point of confusion exists here. If I were to double-click on the process that I just added, to review its properties, the filter that I previous defined is no longer visible:

Epicor PO Suggestions

As we will see, this cosmetic issue is not detrimental to the actual execution of the processes themselves. To complete the setup of a process set, you need to assign it to a System Agent Schedule. This is accomplished through the Schedule Process Set screen. From this screen, you can select the Process Set:

Schedule ERP Process

Allowing the System Agent schedule to run according to its next run time, I can see in the Epicor System Monitor that the underlying process ran successfully:

Epicor System Monitor

Looking at the Log File related to the PO Suggestions run, I can see that the PO Suggestions process ran according to the filter that I had initially set. As you can see, the log file indicates the Epicor site that I had defined:

Epicor Process Log File

Epicor Admin Automation

In summary, while it may appear that an Epicor process loses its configured filters when added to a process set, in actuality, these parameters are retained, allowing the Epicor Admin great flexibility in automating a variety of ERP system activities.

Epicor Consulting? Epicor Managed Hosting?

Get advice from an ERP consultant or managed IT specialist. Chat with us to get a free ERP consultation or technology assessment.

Epicor Server File Download: Serving the Process Server

Epicor Server File Download: Serving the Process Server

The Pandora’s Box of ERP

Epicor processes can be a Pandora’s box of complexity. Rumbling under the surface, these processes perform innumerable tasks that allow an ERP system to function effectively. But when these processes fail to deliver the expected functionality, understanding the logic of these subaltern beasts can be problematic.

Happy distribution warehouse manager holding a cloud-enabled mobile tablet
  • Was it a problem with network connectivity?
  • With master file setup?
  • With company configuration?
  • Was it a bug?

Accessing Log Files Through Epicor Server File Download

One can spend an immense amount of time trying to troubleshoot these processes, especially given the timing required to perform trial-and-error with back-end processes. Such repetition gives ERP wheel-spinning a new meaning.

Fortunately, Epicor has a means of slowing the wheel, if not breaking it altogether. It is a general best practice when designing and developing complex programs and processes to include some form of logging. This provides the end user, or Epicor admin in this case, an opportunity to divine the logic of the program in question. This can help you troubleshoot process issues quickly.

In the past, gaining access to these logs to anyone but an Epicor administrator has been problematic. But in recent versions, Epicor added functionality to allow an end user to access server-side log files: Server File Download.

Epicor Server File Download provides the ability for a given user to look up various types of log files and save them to a local location. This allows you to retrieve and review log files. It does not require access to the server locations where they are stored.

Let’s assume that I kicked off a PO Suggestions process and enabled logging, specifying both the logging level and the log file name:

Epicor Server Download Generate Purchasing

As the process runs, it writes a log file to the server. The log file can be retrieved using the following method:

  • Open the “Server File Download” screen, which has the following menu location: System Management/Schedule Processes/Server File Download.
  • Choose the Directory Type. User: These logs normally refer to the user-specific logs. Company: Company type files are the most common logging methods and logs for processes such as MRP or PO Suggestions normally land here. Reports: This area holds XML files related to Crystal Reports.
  • Use the “Select File…” button to identify the file you wish to retrieve.
  • Use the “Client Path…” button to define the location to which you want the file saved.
Epicor Server File Download

Clicking the “Select File…” button allows you to search for and select the file in question. In the example below, I located the file that I had named previously, when I kicked off PO Suggestions:

Epicor PO Suggestions

Clicking the “Client Path…” button allows you to specify the location to which you intend to download the file:

Epicor Server File Download Browse For Folder Screen

Once the source file and the destination location have been defined, select the OK button. This will kick off the download activity:

Epicor Source File

Once the download has completed, the system will raise a download status message:

E10 Server Download Complete

Once downloaded, you can navigate to the specified path and access and review the log file to better understand the details of the process itself:

ERP Process Server Log File

ERP system troubles? Check the log…

Navigating the workings of an ERP system’s back-end server processes can feel at first like an exploration into the Eleusinian Mysteries. Fortunately, Epicor’s Server File Download toolset allows you to unearth the hermetic actions of Epicor’s darker processes, hiding in the process server’s chthonic cave, bringing them into the platonic light of your client folder and making them visible for all to see.

Never miss an ERP step. Learn about our private cloud hosting solutions.

Epicor Data Fix Workbench: Balancing the Balance

Epicor Data Fix Workbench: Balancing the Balance

The Weight of the ERP Data World

My old friend Thanos was a big believer in the principle of balance. In an ERP context, data integrity is the epitome of balance. But sometimes unexpected issues corrupt data and throw this precious balance askew. Read further to understand how to use the Epicor Data Fix Workbench to restore data balance with a snap of your fingers.

Cloud ERP for Manufacturing

Fundamental to the successful management of an ERP system is the management of its data.

An ERP system is only as good as its data. If the data gets dirty, the ERP system will similarly suffer. But the sources of data discrepancies vary. In many cases, they are due to inadequate policies and procedures surrounding the entry and maintenance of ERP information. In other cases, the system itself is responsible for problems with its data. In these cases, Epicor ERP supports its customers through the development and delivery of data fix routines. These routines resolve specific data-related issues with the application’s data, allowing for smoother system operation.

When a customer encounters a data-related issue, Epicor support may provide a “.df” file to resolve the issue. These data fix routines need to be correctly installed and ran. The following document describes some of the steps involved in the installation and processing of data fix routines:

  • Upon receiving a data fix, save the .df data script file to a location accessible from the application server.
  • Log into the application server and open the Epicor Administration Console.
  • In the left tree view, navigate to the “Database Server Management” nod, and locate the database to which you intend to deploy the fix.
  • Select the E10 Database in question, as accessed through the admin console.

Once selected, click the “Import DB Health Scrips(s)” selection in the right “Actions” window:

Epicor Data Fix Screenshot DB Health

This will raise a selection window. Click the ellipsis to search for the data fix script in question:

Epicor Data Fix Screenshot Select Scripts

Locate and open the data fix file in question:

Epicor E10 Pilot

Once selected, click the “OK” button to load the fix into the database:

Epicor Data Fix Workbench

Once loaded, you can now log into the application and run the fix. Navigate to the System Management > Upgrade/Mass Regeneration and open the “Data Fix Workbench”:

Epicor Data Fix Menu

Once the “Data Fix Workbench” loads, click the “Data Fix…” button to search for and select the desired fix:

Epicor Data Fix Button

The fixes available will be limited to the number of fixes you imported using the above procedure. Locate the fix you wish to run. Select the fix and click “OK”:

Epicor Data Fix Workbench Install

The process for running the fix in question may differ according to the specific fix itself. That said, there are a few general principles to running a fix routine that are consistent across fixes:

  • Enter any needed parameters
  • Click the “Report” button to return records in the database needing correction
  • Select the records you wish to correct
  • Run the routine to update/delete the selected records
Epicor Data Fix Workbench Final Step

The ongoing maintenance and management of an ERP ecosystem is a critical responsibility for Epicor administrators.

With challenges to server performance, network connectivity, database optimization, and endpoint security, administrators cannot afford to allow the system’s data to unravel. Every ERP system will encounter data issues at one point or another. Understanding the process to load and run a given fix in Epicor is a key step for ERP administrators, assisting in the important task of ERP data management.

Epicor System Monitor: Canceling a Hung Task

Epicor System Monitor: Canceling a Hung Task

Epicor’s System Monitor is a handy ERP tool that can be used for one of many purposes in working with the background processes and reports that Epicor’s Task Agent orchestrates. The Epicor Task Agent handles all server-side tasks for a given application server. These can be scheduled tasks or “immediate run requests” that are triggered by end users. Additionally, these can be SSRS reports or long-running processes like MRP or PO Suggestions. Whatever the tasks may be, the Epicor System Monitor is the perfect tool for viewing their status as they run, and their history once they complete.
Chalkboard Sketch of Planning Steps Including Tasks
On occasion, a task may hang or get stuck such that it prevents further processing. Imagine that a process such as PO Suggestions hangs up and stops processing, for one of many reasons. Tasks are stored in Epicor’s SysTask table, and if an active task such as PO suggestions is stuck in the System Monitor, it will prevent any subsequent attempts to run PO Suggestions. This can be a great problem to a company that needs to get new suggestions in the hands of its purchasing department.
Epicor System Monitor Generate PO Suggestions

Fortunately, there are a number of steps one can take to cancel or complete a stuck task.

When troubleshooting a stuck task in Epicor, look to address it in the following order:

  • Cancel the task in the System monitor
  • Bounce the Task Agent
  • Bounce the AppServer instance
  • Update the rogue SysTask record directly in SQL

Cancel the Task in the Epicor System Monitor

The simplest way to kill a task is using the Epicor System Monitor itself. This can be done by navigating to the “Active Tasks” tab, selecting the task you intend to cancel and clicking the delete (“X”) icon. If successful, this task will fall out of the “Active Tasks” queue and fall into the “History Tasks” queue as a task with a status of “Cancelled”:

 

E10 Canceling Active Tasks

Bounce the Task Agent

If the task will not cancel through the System Monitor, you can try to bounce the Task Agent itself, which may free up the task and allow it to cancel. This is a relatively noninvasive method and will generally go unnoticed by the user community. From the AppServer, launch the Epicor Administration console, and from the Admin console, launch the Task Agent Configuration utility. Select the task agent you wish to cancel and from the “Actions” menu, select “Stop Agent…”:

Epicor Stop Agent Screen

Bounce the AppServer Instance

If a Task Agent bounce is ineffective, bouncing the AppServer itself may work. This is a much more invasive solution, so it should be done when the user load is low, or else at a prescribed time such that the user community will be prepared. From the Admin Console, navigate to the server you wish to bounce, right-click the server node and select “Stop Application Pool.”  Once stopped, right-click it again and select “Start Application Pool.” In my experience, this will normally shake loose the stuck task:

Epicor System Monitor Admin Console to Stop a Hung Task

Update the rogue SysTask record directly in SQL

If all else fails, your last recourse is to update the SysTask record through SQL Server. Opening an instance of SQL Server Management Studio, navigate to the Database in question and create a new query. Enter the script below, adjusting the SysTaskNum to reflect the specific task number as found in the System Monitor. Run the query to update the record. While I am never a fan of direct SQL updates, this is one case in which such an update may be necessary.

 

update ice.SysTask set EndedOn = GetDate(), TaskStatus = ‘Complete’, History = 1 where SysTaskNum = 55228
delete ice.SysTaskKill where SysTaskNum = 55228

 

 

The Epicor System Monitor Lets You View, Manage and Cancel Tasks

At times, Epicor tasks need to be stopped. Hopefully, this article helped you understand the steps to take when trying to kill a task. This Epicor screen shows you which tasks are active, and it enables the initial steps for task resolution. You might even use this ERP feature daily. Due to its usefulness, the System Monitor is a classic. If your ERP system is a labyrinth, then your Epicor System Monitor is a golden thread, helping you navigate the maze and kill the wrongful task. As I’ve always said, it’s better to monitor than to minotaur…

 

For more ERP tricks from our Epicor consulting team, ask us for a case study on CTO and ETO implementations.

Or click here to watch our Epicor Summit to learn about Planning Workbench, SQL Server Administration, and SSRS Reports.

 

How to Update Multiple Tables in Epicor DMT

How to Update Multiple Tables in Epicor DMT

Multi-table updates for Epicor implementation and beyond

As part of Epicor ERP’s overall implementation and optimization toolset, the Data Management Tool (DMT) is a fundamental aspect of a successful implementation strategy. It gives you the ability to load, update, and even remove data. These capabilities allow you to cleanly load the setup and master file data as part of an environment build activity prior to go-live. When a user imports data, DMT keeps upload and update behaviors in check so that data migration is efficient and effective.

Multiple Table Updates Data Management Tool Epicor

Epicor DMT also enables you to load live transactional records such as sales orders and purchase orders. These are essential to a successful cutover. Better yet, DMT possesses the ability to maintain records and improve the system’s data integrity long after the system is live. This allows an Epicor admin to efficiently clean up and even optimize the master file. This benefit also applies to transactional files in the live environment.

The Epicor ERP “Part” Routine

Within this context, one especially helpful capability involves the ability not only to update multiple columns of a table but to also update multiple related table records at once. For example, DMT’s “Part” routine allows for the creation and maintenance of records existing in the “Part” table. But DMT’s “Part Combined” routine allows not only for the creation of Part records. It also provides the ability to simultaneously add and/or update related Part Site (PartPlant), Part Warehouse (PartWhse), and Part Revision (PartRev) records. One could update these records individually, but Epicor provides the ability to perform multiple row updates in a single pass.

Sometimes DMT necessitates a multi-table setup in order to load and update data

For instance, the Resource table requires that you utilize the Resource Group routine to make updates to the Resource table. Let’s assume that you are the Epicor admin for your company. What if your operations manager decides to forgo using Epicor’s finite scheduling functionality? As such, you need to run an update to uncheck the Resource.Finite flag on all active resources. Should you search for a routine in DMT to update the “Resource” table, you will discover that none are available. Only the “Resource Group” load program is available:

Epicor ERP DMT Search Resource Group
DMT Engineering Resource Group
Fortunately, you can utilize the Resource Group load program to update the Resources related to all Resource Groups. Within Epicor’s Data Management Tool, multiple table update routines utilize a specific field naming convention to differentiate the primary table from its child tables:
  • Primary Table: The field names are sufficient—given that the program knows the table context, the parent table (in this case, the “ResourceGroup” table).
  • Child Table: Epicor utilizes a [ChildTableName]#[ChildFieldName] convention when defining the fields for the child table to be utilized.

For example, should you click the “Required” fields button for the “Resource Group” load, you will discover that to update the “Resource” table, you will need a number of key Resource Group fields but also the “Resource#ResourceID” and the “Resource#ResourceDescription” fields:

multiple table updates in Epicor DMT resource group required fields

This is also evident when using the “Template Builder…” functionality to create a load template.

Given the above scenario, I opted to include the “Resource#Finite” field when creating the load template:

DMT Resource Group Template Builder
To perform the ResourceGroup-Resource parent-child table update to the finite-scheduling field that I had intended, I now have a load template with the following fields, named as follows:
  • Company
  • Plant
  • JCDept
  • ResourceGrpID
  • Description
  • Resource#ResourceID
  • Resource#Description
  • Resource#Finite

As is the convention with Epicor’s Data Management Tool loads, I entered my data into a spreadsheet:

DMT Resource Group Template

Finally, by loading the spreadsheet file into DMT, I can now perform the necessary update. The file, as defined below, loads without error:

Multiple Table Updates in Epicor DMT Resource Group Finite Update

Epicor’s Data Management Tool is replete with capabilities.

However, these features that are not always well documented or communicated. But with a little foreign key fiddling and a few Epicor consulting friends, DMT can be of great assistance to your Epicor ERP implementation.

Epicor Administration & Helpful Tools of the Trade

Epicor Administration & Helpful Tools of the Trade

A Day in the Life of an Epicor Admin

One of the best parts of working as an ERP consultant is the opportunity to work with so many smart people, and you’ll find many working in Epicor administration. Companies are successful for a variety of reasons, and the strengths, skills, and character of individual employees are at the core of organizational performance. The privilege of working with devoted coworkers makes it all worthwhile. As they say, iron sharpens iron — and even should a few sparks fly, I am thankful for the grind. Epicor admins come with a toolset capable of managing the application’s configuration, performance, and architecture — administration responsibilities that demand precision and prowess.

Epicor Administration

What exactly is an Epicor admin?

Of the many ERP positions I’ve encountered, none are so perplexing and nebulous as those responsible for Epicor administration. What I have come to understand is that the Epicor Administrator is as thankless a role as it is undefined. In my years as an Epicor consultant, I’ve encountered countless ERP administrators, and their skills and responsibilities extend in all directions.

 

For example, an average day for an Epicor admin might look something like this:

  • Address system errors first thing in the morning.
  • Perform an ad hoc backup of the production database and restore it over the test environment to give new employees a place to train.
  • Troubleshoot intermittent MRP issues.
  • Educate the engineering department on correct part setup.
  • Deploy yesterday’s dashboard tweaks.
  • Blow away some pesky personalizations that have been flummoxing a particular user.
  • Help the finance department with some BAQs in anticipation of the coming month’s end.
  • For free time, work on a chip-away-at SSRS report.
  • On the way out the door, kick off a DMT run to mop up some of last week’s indiscretions.

What does tomorrow bring for the Epicor administrator?

 

Every admin I’ve met hosts a similar blend of firefighting, process improvement, and general oversight. And in spite of the tremendous breadth that such a position demands, I have encountered many an admin whose depth of knowledge has matched their breadth. Over the years, I’ve done my best to learn from them and to document what I’ve learned. As such, here are a few Epicor administration tricks I’ve picked up along the way that you can bookmark, revisit, and share.

 

Need your BAQ to return more than 10,000 rows? BAQ Execution Settings help Epicor administrators get more data.

Have you wondered how to manage the multiple sessions flag in user security works?

Do you need to enable new functionality through the admin console? Check out our post on Epicor licensing.

Looking to launch a form’s custom version from a right click or an MES button? Learn more about binding Epicor customizations using process calls and menu IDs.

Trying to work out auto-login? Review Epicor sysconfig files and auto-login capabilities.

Need to relate UD tables to their parents? Learn how the SysRowID fields relate parents to children.

Are you running into the “CGCCode Mismatch” error when importing dashboards in Epicor 10? Learn how to edit a dashboard definition.

Are you looking to deploy customizations in a multi-company environment?

Beyond Epicor Admin

Are you looking to go beyond administration knowledge?

Sign up for a free consultation with an Epicor consultant by chatting with us now.