Written by Richard on February 1, 2015

Auto-Issuing from multiple locations for a single Part

Yes it is possible.

VISUAL allows you the capability to setup a part to be automatically issued to a work order as labor is reported against an operation.  To do this there are a couple of settings that you need to have in place for this to happen.  At a minimum, you need to flag the part as being AUTO ISSUE and specify the Warehouse and Location to issue from.  These settings can be found in the PART MAINTENANCE module

Infor VISUAL ERP - Part Maintenance
Part Maintenance in VISUAL 7.1.2

Now you may have situations where you need the ability to auto issue a part from multiple locations.  From the onset it may appear that you are limited to only having one - but it is possible to configure VISUAL to have more. 

Here's how...

  1. Call up the part in PART MAINTENANCE.
  2. Go into "Warehouse Locations..." from the MAINTAIN menu to bring up all the warehouse locations assigned to the part
  3. Now your first instinct would be to check the checkbox in the Auto Issue column.  DON'T because you may find yourself in a frustrating game of "Whack-A-Mole"!  Go ahead and try - you'll see what I mean.

    Whack a mole
    A Classic!
    Instead, simply select the checkbox under the Default Part Auto Issue column (the AUTO ISSUE checkbox will check automatically).  Once you have all your auto issue locations set - save and close the window

    Infor VISUAL ERP - Part Maintenance Warehouse Locations 
  4. Now you have configured the part to have multiple auto issue locations.  The only step left is indicating which location VISUAL should auto issue from on your work orders and/or engineering masters.  You can do this in the MATERIAL (REQUIREMENT) card of the auto issued part in the WO/EM under the PLANNING tab.

    Infor VISUAL ERP - Work Order Requirement Material Card Location ID 
    Note: The locations available will only be those that belong to the WAREHOUSE specified on the Work Order Header.  Also, if you choose not to override the location - then VISUAL will auto issue from the Default Auto Issue Warehouse and Location in PART MAINTENANCE.

Now you're all set.


Written by Richard on December 10, 2013

Automatically link new work orders to line items in the customer order entry window

The New Work Order feature in Customer Order Entry (and Order Management Window) allows you to create and link work orders as you enter the sales order into VISUAL.


This feature can save you quite a bit of time for situations where creating work orders on the fly from the order entry screen makes sense.  It allows you enter the sales order, create the work order and link (allocate) it all in one step. 

If linking work orders to customer order lines is common practice in your work place you might want to consider this option - Again, if it makes sense for your business

If you do use this feature or plan to use it - this macro might be of use to you.

Chances are, not all line items of a sales order require a work order....

  • Some items may be purchased.
  • Some items may be stocked items
  • Some items fall under specific planning policies
  • Some items are service charges
  • etc...

So the decision to link work orders to customer order lines may rest on the person entering the sales order.  You can streamline this process (and make the decision automatically) coding the business logic into an OnSave macro.

The following macro will automatically create and link work orders to line items for FABRICATED parts.  Simple requirement - but you get the idea

Macro breakdown

The Database Connection parameters:  You will need this to for the database lookup - which we will be doing to verify whether the line item meets the criteria to create a new work order.

strServerName="E N T E R   Y O U R   S E R V E R    N A M E"
strDatabase="E N T E R    Y O U R    V I S U A L    D A T A B A S E    N A M E"
strUserName="E N T E R    Y O U R    R E A D O N L Y    U S E R    I D"
strPassword="E N T E R    Y O U R    P A S S W O R D"

'*** Connection string for SQL Server
strcnn="Driver={SQL Server};Server=" & strServerName & ";Database=" & strDatabase & ";Uid=" & strUsername & ";Pwd=" & strPassword & ";"

set rs = CreateObject("ADODB.Recordset")

The remaining code uses the LINES object which allows us to read the line items (grid) of the customer order.  As we cycle through the lines, the macro will do a database lookup to determine whether the PART meets our requirement to create a new work order.  If a work order is required, we check the "New W/O" checkbox.  To do this we set the ADD field to "true".

FYI: In macro terms, the variable ADD represents the "New W/O" checkbox you see in the grid.

Now because whenever you set the New W/O checkbox, VISUAL prompts the user to set the status of the new work order (Unreleased, Firmed or Released).  To accept the defaults, we use the SendKey function to hit the enter key. 

Infor VISUAL ERP - New Work Order Defaults
New Work Order Prompt - Use the Sendkeys to "hit" the OK button


set objShell = CreateObject("WScript.Shell")


Set OrderLines = LINES.VALUE

For i = 0 To (ORDERLINES.COUNT - 1)

    '*** Check SUPPLY_TYPE to make sure that line has not been allocated yet
    SupplyType=ORDERLINE("SUPPLY_TYPE") & ""
    '*** Verify that the line item is a VISUAL Part and that
    '*** it has not been allocated yet
    if PartID<>"" and SupplyType="" then
        '*** Database lookup to check whether part meets
        '*** new work order requirement
        '*** In this case if the part is FABRICATED

        if not rs.eof then
            if rs("FABRICATED")="Y" then
                '*** Part meets requirement.
                '*** Check New W/O checkbox

                '*** Send the ENTER key to accept
                '*** new work order defaults

            end if
        end if
    end if

Download the macro and try it yourself

Written by Jaime on August 14, 2013

Why you need to dispatch Outside Services in VISUAL

Outside services (OS) on work orders need to be purchased and linked to a purchase order number.

Yeah, Yeah …. you know that already. 

Infor VISUAL ERP - Global ScheduleBut did you know that if you don’t dispatch these OS purchase orders in VISUAL, it can greatly affect the Concurrent Scheduler?

Dispatching in VISUAL allows you to keep track of parts that are physically sent to your OS vendors. Each service dispatch is linked to the corresponding purchase order which in turn is linked to the work order.

The Concurrent Scheduler works with the dispatch records when it is performing the service checks (if selected).  If the parts are not dispatched, then the Scheduler does not recognize that it is out at the OS vendor and will just continue to plan using the transit days specified for the SERVICE ID in Outside Service Maintenance.

The PO’s Desired Received Date will only be used if the OS is dispatched.  This should only be of concern if you’ve checking service availability when generating your schedule.

Another tip: Be aware that if you do change the desired received dates for OS purchase orders --> be sure to update the dates on the dispatch records too!





Jaime Bzdok is a guest author of and is an active participant in the VISUAL community.  Jaime is the Director of Customer Engagements at Visual Business Solutions, an Infor Channel Partner. 

Connect with Jaime online at LinkedIn 

Written by Richard on June 13, 2013

Be careful when using the Material Requirement Part Replace function

The Material Requirement Part Replace function is a great feature of VISUAL when you have to replace a large number of requirement cards for the same Part ID with a new one.

Infor VIUSUAL ERP - Manufacturing Window
The REPLACE feature can be found under the EDIT menu of the Manufacturing Window

If you need to do a mass update, you can selectively replace Part IDs across Eng Masters, Quote Masters and/or Work Orders.  This function also allows you to change quantity (Qty Per, Fixed, Scrap) and cost information during the replacement process.
Infor VISUAL ERP - Manufacturing Window
The Material Requirement Part Replace window.


So this feature can save you a lot of time and effort

BUT it can also cause you a lot of grief if you're not careful.

First of all, I'm sure you're aware that this feature has the potential to modify a significant number of material requirements (especially if you hit the "REPLACE ALL" button) - so proceeding with caution is warranted

What you may not know is that this has the potential for causing major delays and issues the next time you run costings!  Say What?

This feature, if not carefully used, will allow you to replace materal cards on CLOSED work orders if the material card is UNISSUED (regardless of the cards' status).  And because of the way VISUAL works - these work orders will then have their POSTING CANDIDATE set to YES and will be re-assessed by the costing utilities.  Whoa!

This issue only applies to replacing parts on work orders.  So be very sure before you commit to replacing parts on a large number of work orders - especially if you hit the "REPLACE ALL" button

The Material Requirement Part Replacement window is definitely missing a much needed filter (or column) --> Work Order Status.  That or only show orders that are FIRMED/RELEASED.  This would be a great Enhancement Request.

Written by Jason on June 5, 2013

Sweep the Leg
Sweep The Leg

There’s always that big debate of whether to use leg and detail and having one complex engineering master, or breaking it up into layers.  From the recent projects I am working on, the latter is working out excellent.


Here’s how we use Easy lean to simplify our builds, simplify planning, and reduce inventory on the floor. 

We had many complicated builds using a lot of leg/detail.

Here is an example of an engineering master that goes 6 fabricated layers deep comprising of 50 sub IDs (legs).

  • Top layer – 1 final assembly
  • 2nd layer – 5 sub IDs
  • 3rd layer – 8 Sub IDs
  • 4th layer – 10 Sub IDs
  • 5th layer – 12 Sub IDs
  • 6th layer – 14 Sub IDs

We broke out each of these Sub IDs as make-to-stock parts.  As an order was created for the top level part, Easy Lean would go through the requirements and create firmed work orders with appropriate release dates for each.  Release dates for each part is calculated by the parts “buffer”.  The Buffer is basically the time it takes to complete that work order.  In the example above, here are the buffers we assigned to each layer:

  • Top layer – 1 final assembly - 4 day buffer
  • 2nd layer – 5 fabricated parts – 5 day buffer
  • 3rd layer – 8 fabricated parts – 3 day buffer
  • 4th layer – 10 fabricated parts – 2 day buffer
  • 5th layer – 12 fabricated parts – 3 day buffer
  • 6th layer – 14 fabricated parts – 2 day buffer

When you calculate out the buffers and how the “layers” will be released it would look something like this:

Infor VISUAL ERP - Buffer Easy Lean

Notice we only gave the shop floor what they needed.  Instead of 50 work orders (sub IDs) getting printed and released all at once; the work orders were released in ‘layers’.  No human intervention was required in the planning of things as Easy Lean planned it all.  We could also set up replenishment levels and min/max/multiple rules in Part Maintenance for each make-to-stock part and plan all those to stock.

There are many other benefits of Easy Lean but what I find the most beneficial is this “MRP automation” it can do.  As long as you can define the logic it needs to follow, Easy lean will do all the planning for you!

Jason Snoeyink is a frequent contributor to and is an active participant in the VISUAL community. 

Connect with him online at LinkedIn 

Written by Richard on May 20, 2013

What does "Use All Supply before Applying Leadtime" exactly mean?

Good question!

The setting determines how MRP will create planned orders (or not) to satisfy demand.  If this option is turned on, VISUAL applies all quantities for a part from open supply orders (ie: purchase orders, work orders, and incoming inter-branch orders) in calculating the planned order quantity.

Here's a simple scenario:

A work order has been entered calling for 10 units of Part ABC.  You have zero on hand, BUT you do have an open PO for 100 units of part ABC to be delivered in 2 months (60 days).  The leadtime for part ABC is 10 days.

If you have this setting turned ON - VISUAL will not create a supply planned order for this part because you already have an open PO for it.  This PO is considered "available supply". 

The potential impact here is that if your purchasing agent is not on top of their game, the work order will only be scheduled to start in 2 months if "Check Material Availablility" is checked.  OUCH!

This is not to say that you shouldn't use the "Use All Supply before applying Leadtime" option.  You should use it to keep inventory levels down (especially on high $$$ items).  Just make sure all parties are on the same page and running exception reports in the MATERIAL PLANNING WINDOW to expedite (or push out) orders when needed - saving everyone a lot of grief!


Written by Richard on February 13, 2013

Yes, you CAN use the drag & drop feature to reschedule operations in the Standard schedule

I happened to be referring to the VISUAL manuals on scheduling when I came across an item stating that you cannot Drag and Drag operations in the STANDARD schedule

This is definitely not the case....unless I've been using a hacked version of VISUAL - which I'm not.

What's this Drag and Drop feature?  The Drag and Drop feature allows you to visually move and reschedule operations in the Scheduling window.  You can set when an operation should start or when it should finish - basically ignoring what VISUAL has determined to be your best schedule based on current conditions and system parameters. 

So you can literally have complete control of everything on the floor. 

MasterAnd why not use it?  You are king!  You are master of your domain. 

Well, I suggest you control yourself and limit your use of it.  When you intervene and move operations, you're actually FREEZING the operations to the new dates and times.  VISUAL will not schedule FROZEN operations and will schedule other jobs around them.  VISUAL now has to deal with these "fixed" operations when scheduling jobs.  And the resulting schedule may not be what you expect only because you may have forgotten about operations you had FROZEN in the past.

But I digress...

If you find yourself not being able to drag and drop operations in the STANDARD schedule, set the following in your VISUAL.ini file or Preference Maintenance.

[Scheduling Window]

And remember...self-discipline ;-)

Written by John on December 18, 2012

Concurrencies and the concurrent scheduler

I avoid using concurrencies and the concurrent scheduler. I used to be a strong believer that the scheduler could properly schedule a plant by managing all this complexity. Then I came to realize it really can’t. You might achieve a schedule, and maybe even one the users think they can execute, but it is hardly one that even comes close to achieving high performance.

In some cases we did achieve a proper executable schedule but in most cases not.

I just don’t believe the basic assumptions of the concurrent scheduler are true, namely:

  1. Maximum profitability is achieved when all resources are busy
  2. High resource utilization is key to shortest lead times
  3. The way to manage the plant is to manage every resource in detail
  4. More detail is the best way to manage complexity
  5. Maintaining the scheduling data detail is the best use of the scheduler’s time
  6. The operations can be scheduled just in time (I know you can put in artificial move times)
  7. That backwards scheduling from the due date will give you a good solution (it won’t)
  8. That forwards scheduling from the start date will give you a good solution (it won’t)


Written by Richard on November 19, 2012

Wouldn't it be great to Firm/Release ALL planned orders for a part with one click of a button?

VISUAL does have this functionality BUT it's only available if you have ADVANCED MRP.

Infor VISUAL ERP - Advanced MRP menuDo you have ADVANCED MRP?  If you're not sure you can browse through your Infor agreement.  But a quick way to find this out is to open the MATERIAL PLANNING WINDOW (MPW) and check whether you have the option "Show Advanced Mode" under the VIEW menu

This "mode" is part of the Advanced Material Planning (AMP) module.  AMP does not change the way you run MRP.  It presents your material position in a summarized horizontal view (buckets).  It can be used to define the master schedule, and offers more tools and allows you to copy a number of different types of information into the Master Production Schedule (MPS).

With AMP, you have the ability to select one or more planned orders and release them.  It also allows you to combine planned orders into one order and control the numbering sequence to use.  It's a really "nice to have" feature of VISUAL - allowing you to quickly go through your planning.

To showcase the feature, I have a fabricated part set to Master Schedule to produce 100 units a week.  After the MRP is executed, my Material Planning Window (MPW) for the part looks like the following (In Standard Mode):

Infor VISUAL ERP - Material Planning Window Standard Mode
You can see all the planned orders scheduled on a weekly basis.  If you wanted to release the planned orders for both November and December, you would need to select one line at a time and create the order.

Now switch to "Advanced Mode" under the VIEW menu.

You'll notice that VISUAL now summarizes the quantities (supply, demand, planned orders and master schedules) and places them in weekly buckets (across the top).

Infor VISUAL ERP - Material Planning Window Advanced Mode

Now, if you wanted to release all planned order for November and December, simply highlight the columns that represent the months (in this case, the first 6 columns) and hit the "Firm/Release Planned Order" icon in the toolbar.

Infor VISUAL ERP - Material Planning Window Release/Firm order

You will then be presented with the following dialog prompting you on how you would like to release the selected planned orders.  It does offer you a few more options than than if you were to release under the "standard mode" - such as control over numbering sequence, consolidate orders, create delivery schedules - to name a few

Infor VISUAL ERP - Firm Planned Orders

When ready, click the ORDER button to generate all the orders.

Okay.  Okay.  It's more than just ONE click...but it's defintely faster than doing one by one!


Written by Wayne on August 22, 2012

Placing a workorder On Hold

Have you ever had the need to place a workorder On Hold because...

  • the customer changed the part in the middle of production;
  • a new fixture needs to be fabricated;
  • you are waiting for a special tool to arrive;
  • or you are waiting for approval from the customer to continue production?

For these and a myriad of other situations, we needed a method of placing a workorder on hold, yet still retain the ability to give our users visibility of the order.  After trying several ways of placing the workorder status back to an unreleased status, we found that we lost focus of the order.  Also, there was no way to notify specific users of these issues. 

Infor VISUAL ERP - Shop Resource MaintenanceWe have discovered a quick way of accomplishing this by adding an outside service operation that we have labeled “HOLD” prior to the operation that needs to be put on hold.  The next time the scheduler is run, the system will use the transit days for that operation, and push the order out in the future for the number of transit days.  By pushing the scheduled date out to the future it allows other pending work orders to be scheduled in its place while it remains on hold.  This shop resource maintenance screen shows how our HOLD resource is setup.

The following shows how the Outside Service Maintenance screen is setup.  No cost is associated with this service because the operation has no financial impact on the workorder.  The preferred vendor is our company that was setup in vendor maintenance.  By creating an outside service id for each department we were able to track what kind of issues we were having and who is responsible for its resolution.

Infor VISUAL ERP - Outside Service Maintenance

Here is a list of the Outside Services we use.  When an item is placed on hold for a department it is that department’s responsibility to resolve this issue.

Infor VISUAL ERP - Workorder Hold Reason
On the planning tab we set the default Transit days to 999.  By doing this, it uses 999 each time a new hold operation is added.  Whenever our users see a hold operation on a workorder where the transit days set to 999, they know that this is new and action needs to be taken.   Infor VISUAL ERP - Outside Services PlanningOnce a resolution is identified, the transit days on the workorder is changed to reflect a realistic number of days the operation will be on hold.  The only drawback found with using the transit day field is that the field does not decrease in the scheduler each day.  This means that if the transit day is set to 30 days, each day the scheduler runs it tells you the operation will take an additional 30 days to complete the operation.  While this is not an issue for us, but should this be problematic, a simple SQL script could be added to decrease the number by one each day before the scheduler runs.

Infor VISUAL ERP - Operation cardThis is the workorder operation with a hold added for our Program Administration Department.  In this example they have decided that it will take about 15 days to get resolved so they changed the transit days to reflect that number.  Adding a note so others can see what is going on with this operation is also helpful to identify why the order is on hold.

When an order is placed on hold, users will see it on a report or within an application that was developed in-house.  The user can decide to take action on the issue or change the hold to another department.  This is accomplished by changing the outside service id to another department.  The application also puts a date and timestamp in the notes area so users can see what is going on and who is involved with this issue.  Once the user is ready to estimate how long the hold will take they can change the transit days to reflect the duration of the hold. 

The following SQL script will show all the released operations that are currently on hold:

Select workorder_base_id, workorder_lot_id, workorder_split_id, workorder_sub_id,  sequence_no, resource_id, service_id from operation where resource_id = 'HOLD' and status = 'R';

Below is a screen shot of the application that has been developed to manage the hold status for operations.  From within this application we are able to change departments (service_id), transit days, operation status, and add notes to the operation.  We are also able to view and sort the data by department and/or planner id and drill-down into the workorder and part number by double clicking on the links.

Infor VISUAL ERP - On Hold Workorders report

Wayne Bourdage is our special guest author at and is an active participant in the VISUAL community.  He has custom developed several software solutions to enhance the Visual product, allowing it to run more efficiently by simplifying and automating redundant tasks 

Connect with Wayne online at LinkedIn