Preactor International Ltd
Preactor 12.0 SP1 Release Notes
Copyright © 2006-2013 Preactor International. All rights reserved.
Contents
1. Overview .................................................................................................................................................. 3
1.1 Schema Change Warning ................................................................................................................. 3
1.2 Toolbar Version ............................................................................................................................... 3
1.3 Workspace Files ............................................................................................................................... 3
1.4 Upgrades and Side by Side .............................................................................................................. 3
1.5 Migration is no longer supported .................................................................................................... 3
2. Major new functionality .......................................................................................................................... 4
2.1 Planning Module (P400 GMPS) ....................................................................................................... 4
2.2 Performance Improvements ........................................................................................................... 4
2.2.1 Loading .................................................................................................................................... 4
2.2.2 Rendering the Sequencer ........................................................................................................ 4
2.2.3 Consolidated Calendar Periods ................................................................................................ 4
2.2.4 Scheduling................................................................................................................................ 4
2.2.5 Memory Usage ........................................................................................................................ 4
2.3 Unicode Support .............................................................................................................................. 4
2.4 Security Module............................................................................................................................... 5
2.4.1 Overview .................................................................................................................................. 5
2.4.2 Authentication Methods ......................................................................................................... 5
2.5 Calendar Datasets ............................................................................................................................ 6
2.6 Import/Export Wizard ..................................................................................................................... 6
2.7 Sequencer Enhancements ............................................................................................................... 6
2.7.1 Overview and Trace Chart Rendering ...................................................................................... 6
2.7.2 Navigation ................................................................................................................................ 6
2.7.3 Window Docking ...................................................................................................................... 6
2.8 Reporting Services 2008 and 2008 R2 Support ............................................................................... 7
2.9 Staging Tables for Preactor Link ...................................................................................................... 7
3. Detailed Change Notes ............................................................................................................................ 8
3.1 Preactor 12.0 SP1 ............................................................................................................................ 8
3.1.1 Defect Fixes.............................................................................................................................. 8
3.2 Preactor 12.0 ................................................................................................................................... 9
3.2.1 Features and Enhancements ................................................................................................... 9
3.2.2 Defect Fixes............................................................................................................................ 10
4. Known Issues ......................................................................................................................................... 14
1. Overview New features in this release include:
Performance Improvements
Security Module
Unicode Support
Calendar Datasets
Planning Module
Import/Export Wizard
Reporting Services 2008 and 2008 R2 support
Sequencer Enhancements
Staging Tables for Preactor Link
1.1 Schema Change Warning Preactor 12.0 requires some changes to the database schema. Preactor will detect that changes are
required and prompt you to update your schema.
Changes to the database schema are not reversible. Previous versions of Preactor will not load from a
database with a later schema version. Always take a backup before running with this version of Preactor.
1.2 Toolbar Version The version of the Sequencer toolbars has been incremented because new tools have been added. This
means that existing toolbar layouts will be reset.
1.3 Workspace Files Workspace files created with previous versions of Preactor are not compatible with this version and must
therefore be re-created.
1.4 Upgrades and Side by Side Preactor 12.0 will install alongside previous versions of Preactor 11.
1.5 Migration is no longer supported Direct migration of Preactor 9.4 configurations are no longer supported in Preactor 12. To migrate a
Preactor 9.4 configuration to Preactor 12 please use an earlier version of Preactor and then upgrade to
Preactor 12.
2. Major new functionality
2.1 Planning Module (P400 GMPS) Included in this release of Preactor is a new planner module, the main component of the Preactor
400GMPS product offering. To use Preactor 400 GMPS, install the ‘Mixed Planning 12.0’ configuration,
which is an example of Preactor 400 GMPS in a mixed mode (plan to stock & plan to order) environment.
For more information on Preactor 400 GMPS, please visit Preactor.com, or talk to your Partner.
2.2 Performance Improvements This release of Preactor focuses on improving performance for many common operations. While not
every operation will necessarily exhibit improved performance, much effort has been made to improve
performance in key areas. This is part of an on-going programme of performance improvements and
therefore performance will be a key theme in this and future releases of Preactor.
2.2.1 Loading
Significant improvements have been made to reduce the time taken to retrieve large datasets from the
database into Preactor. For example, to load 150,000 operations from a dataset into Preactor is up to 30x
faster.
2.2.2 Rendering the Sequencer
Despite significant alterations to the way operations are represented in the overview and trace-chart
windows (see Sequencer Enhancements), a noticeable improvement in the responsiveness of both these
views has been achieved, up to 10x faster in some cases.
2.2.3 Consolidated Calendar Periods
A new option has been added to consolidate adjacent calendar periods of the same state, efficiency and
cost factor where those periods belong to the same calendar template. Depending on how calendar
templates are defined, this can significantly reduce the number of events serviced in an event based rule.
You can enable and disable this option in the calendars section of the Tools... Options dialog in the
sequencer.
2.2.4 Scheduling
Performance has been improved in several key areas; data tracking and foreign key lookups, resolving
made-from relationships, seeking capacity on primary resources and consuming from secondary
constraints. All of these improvements yield a significant reduction in the time taken to schedule
operations in most circumstances.
2.2.5 Memory Usage
Peak memory usage and typical working set have been significantly reduced in this version of Preactor.
2.3 Unicode Support Preactor now has full Unicode support. The most obvious benefit is for translations into non-Latin
alphabets. Preactor will now run in any language on any of the supported versions of Windows.
2.4 Security Module As a result of the changes that were made to the menu system in Preactor 11.0 some functionality was
lost. Part of this functionality allowed a configuration developer to implement a simple login system that
would restrict the menu options that a user is allowed to execute.
The Preactor Security Module has been designed to fill this gap.
2.4.1 Overview
This module allows a configuration administrator to setup users and restrict access to certain navigation
options in the Preactor Desktop.
The module settings are specific to the database that a configuration connects to. This module will not
restrict access to features within another module (such as options within the Sequencer) or stop a user
from writing to tables in Preactor. It will only hide the option to allow a user to open it from within the
Preactor Desktop.
To edit security settings, choose ‘Configuration’ then ‘Security’ then ‘Manage Security Settings’ on the
Preactor desktop.
2.4.2 Authentication Methods
There are two authentication methods available. You can use either, both or no authentication. By
default, Preactor is configured with no authentication.
Basic
This authentication method stores usernames and passwords securely in the database. Users are
authenticated against the database when they log-in. Basic authentication allows you to define distinct
user roles that can be used independently of the current user context.
Windows
Windows security identifiers are stored in the database to identify users. The identity of the current
windows user is used to authenticate.
2.5 Calendar Datasets Different calendars can now be saved with each dataset. It is an optional feature which can be turned
on/off through the Tools... Options dialog in the sequencer.
A new menu option appears on the file menu in the sequencer when calendar datasets are enabled called
‘Load Calendars From Dataset...’. Use this option to propagate calendars from one dataset to another.
Templates and states remain common across all datasets.
2.6 Import/Export Wizard The Import/Export Wizard has been redesigned to provide easier visualization and management of the
mapping between the columns.
2.7 Sequencer Enhancements
2.7.1 Overview and Trace Chart Rendering
Changes have been made to improve the look of the Overview window when displaying a large number of
operations. In addition, some effects are applied to the operation rendering, including a gradient overlay
and a drop shadow.
2.7.2 Navigation
Additional navigation mechanisms have been introduced to improve navigation, especially in large
datasets. This functionality is present in the Overview, Trace Chart and Plots windows.
Action Description
Mouse Wheel Scroll up / down (included in previous versions) Shift + Mouse Wheel Scroll left / right Ctrl + Mouse Wheel Zoom in / out on the horizontal axis. Ctrl + Shift + Mouse Wheel Zoom in / out on the vertical axis Ctrl + Left Mouse Button Pan
2.7.3 Window Docking
The Material Explorer has become a dock-able window and most other windows can become float-able.
2.8 Reporting Services 2008 and 2008 R2 Support The latest version of the Report Viewer has been included; Preactor can now render Server Reports for
2005, 2008 and 2008 R2 and Local Reports for 2005 and 2008. The latest editions of SQL Server Reports
allow for more complex reporting.
2.9 Staging Tables for Preactor Link Staging tables provide an area in the database for feeding Preactor with data from other systems.
At this point in the development of the product, staging tables are for use with Preactor Link and cannot
be created using any other mechanism.
3. Detailed Change Notes
3.1 Preactor 12.0 SP1
3.1.1 Defect Fixes
Fixed an issue where clicking on the Preactor Login window using a non-primary (e.g. right,
middle, side but not left) mouse button would cause Preactor to crash.
Fixed an issue where the API method FindMatchingRecord would not correctly search for parent
records in the Orders table when in the Sequencer.
3.2 Preactor 12.0
3.2.1 Features and Enhancements
Added new planning module.
The Security Module has been added into Preactor.
o This allows for administrators to configure what parts of Preactor users have access to.
Removed Visual Basic Runtime dependency.
o As a result of this change we have gone to great length to ensure that previous user code will
continue to work without compilation. A developer who has referenced the Preactor, Planning
Board or Event Script APIs will not see any issues. Developers who have referenced other COM
libraries that Preactor used to register may find that previous projects no longer work.
Preactor now has full Unicode support.
o Binary tables and binary files are no longer supported.
Migration from 9.4 or earlier version of Preactor with tables saved in binary files is not
supported in this version. Instead, first migrate to version 11.2 of Preactor.
Added the option to consolidate consecutive calendar periods with the same attributes.
o This option is enabled by default and can help with performance in some scenarios. You
can disable this option from the calendar options by selecting the Tools -> Options menu
item in the sequencer.
Removed the date (top right) from the resource calendar due to it being misleading and
unhelpful.
Improved performance and memory usage when loading large amount of data from the database.
Added new feature to allow calendars to be saved with a dataset. This feature can be turned
on/off through the 'options' dialog in the sequencer.
New navigation actions are available in the Sequencer Overview, Trace Chart and Plots windows.
o New actions:
Shift + Mouse wheel: Scroll left/right
Ctrl + Mouse Wheel: Zoom in/out on the horizontal axis
Ctrl + Shift + Mouse Wheel: Zoom in/out on the vertical axis
Ctrl + Left Mouse Button: Pan
Improved performance in several key areas:
o Data tracking and foreign key lookups.
o Resolving made-from relationships.
o Seeking capacity on primary resources.
o Consuming from secondary constraints.
Added new languages: Bulgarian, Hungarian, Spanish (Spain), Spanish (Argentina) and Spanish
(Colombia).
Preactor will now rely on the .NET culture fall back behaviour when resolving includes containing
translations.
Modified the schedule dataset so that it saves an audit trail of which user saved the dataset and
at what time.
Added state name to the GetCurrent, GetNext and GetPrevious Calendar State Planning Board API
methods.
o If you are using an earlier version of Preactor the state name will be empty.
The ability to display operations for a resource in Stacked or Cascaded format has been added.
Improved rendering of overview and trace chart to include gradient effects on operation bars,
drop shadows and adjustable calendar intensity. Shows accent bars for late, early and at-risk
operations. Render performance is improved for both overview and trace chart rendering in large
configurations.
3.2.2 Defect Fixes
Fixed an issue where the sort order of Resources in the sequencer is saved to workspace files.
Although the workspace order was loaded from the workspace file, only the set order of the
resources is respected by the sequencer. This would result in a momentary alteration in the order
of resources when recalling some workspace files. The order of resources is no longer saved in the
workspace file.
Fixed an issue where the NativeName field in the FieldDefinition table incorrectly stored leading
whitespace characters.
Fixed an issue where field names ending with parenthesis '(' or ')' were losing the final bracket ')'
PCO Encoding issues are now resolved after migration of Preactor to Unicode and PCO being a
.NET component.
Amended the Save As dialogs for utilization data, plot data, workspace files, legacy report
definitions and exported legacy reports so that the dialog will prompt the user if they attempt to
overwrite an existing file.
Fixed an issue where double clicking within the report tree view would open the selected node,
despite the mouse being outside the bounds of the selected node.
Fixed an issue where the Matrix editor windows would be incorrectly positioned when opened
Fixed an issue where schedule analysis data was left behind after the schedule dataset was
deleted
Fixed an issue where non-Latin characters were not displayed correctly in the Import / Export
wizard.
Fixed an issue where the Overview window would cease to zoom and scroll correctly if the user
zoomed or scrolled the overview then closed and then re-opened it.
Fixed an issue when exporting CSV files from a plot where the first line of the CSV file should be
the plot name but instead is blank
Fixed an issue where /EFC (Enable Full Copy), if used on a table with no family relationship, would
cause Preactor to crash.
Fixed an issue where altering the default value for a REAL field where the localization settings
specified a decimal separator other than a period ('.') would fail.
Added support for 2008 RDL schema reports in both server and local mode.
Added support for 2008 R2 RDL schema reports in server mode only.
Issues displaying non-Latin characters in the popup tooltips have been fixed.
Fixed an issue where, under some circumstances, the text on the splash screen would appear
illegible.
Fixed an issue when a circular reference exists between two orders and the material explorer
would go into an infinite loop - eventually crashing with a StackOverflowException.
Fixed an issue where single record editors were not parented to the shell
Fixed an issue where help popup tooltips disappear right after they are displayed
Fixed an issue where fields names starting with a number could not be used with remotes
Fixed an issue where, in some scenarios, using LINK COMPLETE ORDER would cause an access
violation.
Fixed an issue where an overview group saved in the workspace file would be recalled incorrectly
after inserting or deleting records. The key of the overview group is now saved to the workspace
file, preventing this issue except for the case where the existing group is deleted and a new group
is created with the same key.
Fixed an issue in the package manager where the local instance name would show the incorrect
value
Fixed an issue where the following windows would appear at their default window position, as
determined by the operating system.
o Schedule Performance
o Order Enquiry Result
o Save Utilization Data
o Print Overview
o Gauge Line Parameters
o Schedule Repair
o Configure Predefined Workspace Buttons
o Repeat Order
All of the aforementioned windows now appear centred to their parent window.
Fixed issue where deleting operations in a user sequencing rule could cause incorrect or non-
existent records to be accessed later in the rule.
Fixed an issue whereby the Dataset that is being saved to when exiting the sequencer was not the
one previously switched to via the Save Schedule As ... option.
Fixed problem where SMC evaluated expressions when using the SMCQTY keyword would use the
local settings for decimal separator when the evaluate routine was expecting the decimal point.
Putting '#' before the field name in the expression forces the pre-process routine to insert the
numeric value that the evaluate routine expects.
Hidden the SuspendMessage PESP Action. It was never implemented.
Hidden the ResumeMessages PESP Action. It was never implemented.
Fixed an issue where the schedule could not be saved after importing a 9.x schedule from disk
Fixed an issue where the drop down list of folders in the server reports options dialog would
include report items and hidden folders. The folder list had been altered to show all folders
recursively for convenience.
Fixed an issue where report items that were included in the root of the referenced folder would
fail to appear in the reports tree view when using server reports.
Fixed an issue where specifying network licensing but not specifying a server could crash Preactor
Fixed an issue where a considerable delay could occur when initialising the sequencer if a report
server was configured.
Fixed an issue where the Overview Mode selection would not work in translated configuration
Fixed an issue where long strings written to a date field could crash Preactor
Fixed an issue where Preactor would crash if no resources are specified in a material explorer
enabled configuration.
Fixed an issue where schedules that include many rows in the vertical axis would cause erratic
behaviour when scrolling using the thumb on the scroll bar.
Fixed an issue where the overview would fail to draw operations on resources after 32000 rows.
This issue was identified when working with large datasets using the new 'cascade' resource
display option in 12.0.
Improved performance when loading workspace files in the sequencer.
Fixed an issue where Preactor would fail to open a workspace file from the sequencer if
compilation of serialization assemblies was prohibited on a system.
Fixed and issue where offline upgrades didn't always show the correct error message
Fixed issue where trying to change between editors while a long save was in progress caused a
crash.
Fixed an issue in the migration package which would cause the schedule analysis module to stop
working after a migration
Fixed an issue where drawing artefacts from the timeline would be drawn to the client area in the
overview window when scrolling if drawing bold lines between days.
Fixed an issue when using the WEIGHTED classification on fields after a matrix field would cause
the Weighting Attributes window to fail
Fixed an issue where Calendar Section in Options menu was not showing the warning symbol
Fixed an issue where creating secondary exceptions could cause Preactor to behave in
unexpected ways, leave schedule in the wrong state and crash
Fixed issue where shortage links where calculated incorrectly in the Material Explorer when
SUPPLY QTY classification was present.
Changed the Critical Ratio field to be read only
Fixed the Editor switches /AS and /NEQ. Both switches will now auto save without asking the user
Fixed problem with SMC passing expressions to the Preactor evaluation routine using
international numeric format. This evaluation routine requires numeric values to be in UK format
(decimal point as the decimal separator)
Fixed an issue which could intermittent crashes when calling user code
Fixed an issue where the CalculateWaitingTime PESP action could fail with jobs in history
Fixed an issue where the material milestones in the Sequencer would not correctly draw after
changing data in Supply or Demand tables
Fixed an issue where the On Calculate Setup PESP event would not get fired for record number 1.
Restored previous behaviour of Planning Board API method PutOperationOnResource after
performance changes in 11.1
Fixed the Minimize Overall Setup rule to run in Viewer as well as APS 400 +
Changed behaviour when in memory edit mode so that it is now possible to re-load the currently
loaded dataset from within the UI or through the API.
Fixed an issue when loading the Calendars in the Sequencer where zero length calendar periods in
the database would result in no calendars being loaded.
o These periods are now ignored and logged
Fixed an issue where Preactor would crash if the part numbers specified in the BoM or Co-Product
tables for a particular order were not unique. This remains a restriction, but an error message is
shown instead.
Fixed an issue where in circumstances where csc.exe is not allowed to execute due to trust levels
or explicit policy, Preactor would throw errors during various deserialization tasks including
loading settings, workspace files and report definitions.
Eliminated flicker when resizing unallocated operations window.
Fixed an issue where the sequencer UI would freeze after click events posted to the timeline
section of the overview window were serviced.
The 'At Risk' indication in the Overview, Trace and Editor windows has changed from Yellow to
Orange. This is because Yellow can be difficult to see on a white background.
Resolved an issue whereby re-sizing the Unscheduled Operations window after scheduling
operations, then hitting Undo would result in the Unscheduled Operations window being
displayed incorrectly: if resized larger the horizontal scroll bar was displayed in the wrong position
if displayed smaller, the unscheduled operations may not have been visible.
Fixed an issue in the SDK where the CalendarChange enumeration had an incorrect value for the
ExceptionAdded member
Fixed an issue where duplicate labels in the drop down parameters in the report viewer would
cause Preactor to crash
Due to an issue in Preactor when invoking .NET Custom Actions it is recommended that you
uniquely name User Rule, Tool and Custom Action methods (avoid overloading). Failure to do so
may result in MissingMethodExceptions and unexpected behaviour.
Fixed an issue where visiting any table other than the orders table as the first action in a Preactor
session would render SMC reference updates inoperable for the remainder of that session.
Fixed an issue with the 'SequenceOperation' API method where it would ignore 'AUTO SEQ
RESTRICT' classifications.
Fixed an issue where PESP would fail due to duplicate translated Action Names.
Improved sequencing performance when using MATCH FIELD
Fixed issue where using INTER OPERATION INTERVAL and MADE FROM with multiple concurrent
linked operations could cause the sequencer to enter an infinite loop.
Fixed issue where secondary constraints were not recalculated if the plot window was closed.
Fixed an issue where editing matrixes with DIRECT ASSOCIATE field could cause a crash
Fixed possible NullReferenceException when exiting the sequencer.
Fixed an issue where operation relationship lines could overwrite part of the time line in the
overview window if there are no supply and demand milestone resources.
Fixed an issue where exiting the Sequencer while the Material Explorer is still processing
information in the background would cause Preactor to crash.
Fixed issue whereby dragging a late or at risk operation when the overview was in Calendar
Priority mode caused artefacts to be left on the screen.
Improved performance when using Custom Plots.
Improved speed of displaying the editor when operations are late.
Improved drawing speed of plots with a large numbers of points.
Improved performance of calculating secondary constraint utilisation plots.
Improved performance of PutOpOnResource with large numbers of operations and secondary
constraints.
Improved speed of RankQueueByCriticalRatio when using CalculationType.Static.
Improved speed of converting resource key to index number.
Fixed defect that caused loading the sequencer for a second or subsequent time taking much
longer than the first time.
Improved sequencing speed when using START OFFSET where no start offset value is specified.
Improved speed of lookup for ASSOCIATE data values.
Improved performance when drawing secondary constraint plots.
Fixed an issue where the initial drag / drop operation in the sequencer could take longer than
subsequent drag / drop operations.
Fixed an issue where the /ECAO switch would cause operations to be scheduled late.
4. Known Issues
Preactor 12.0 occasionally crashes on Windows XP
There is a known issue on Windows XP which affects Preactor. Microsoft have not released a fix as part of the patch schedule, so if you experience this issue we recommend that you refer to this knowledge base article for further instruction regarding how to resolve the issue: http://support.microsoft.com/kb/943232
Trace chart range doesn't include comparative file's span.
On the trace chart window, when opening a comparative schedule if the schedule span is greater than
original schedule, you cannot view all the jobs on the planning board even if the Set Overview Range is set
to "Fit To Items".
Backward scheduling with constraint not working.
Backward Scheduling an infinite capacity resource with a secondary constraint on setup time only, does
not work as expected. It works like a finite resource.
Operations Not Highlighting Correctly Under 'All Bi-Directional Ops' Option.
Highlighting ‘all bi-directional ops’ in a configuration with material control will highlight operations
following all material relationships, rather than just the immediate predecessors and successors.
Problem With Import Data When Preactor Is Running Under Different Country Code.
Some demonstration data may not be compatible with all languages.
Running a configuration in a language where Day, Hours and Mins has been translated on DURATION field
type, values in DURATION type fields such as Op. Time Per Item or Batch Time etc are not interpreted
correctly when importing data from the import files that we ship resulting in wrong operation times and
ops being left unscheduled. The workaround is for the user to modify the import file to use the language
equivalent for Day, Hours, Mins etc.
Scheduling Accuracy in SMC Causing Ops to Show up As Short When they are not.
Issue in Preactor where Date/Time values can lose accuracy after a round trip to the database. This can
manifest in a number of ways and typically causes operation sequences that were valid on commit to
become invalid on load. To work around this issue on SQL Server 2008 or later, the data type for DateTime
columns should be changed to DateTime2.
MATCH FIELD and backwards sequencing doesn't work.
This is an incompatibility between 2 features. The use of MATCH FIELD only works with forward
sequencing. It should work with backwards scheduling too.
Backwards scheduling and increment for setup constraints doesn't work.
This is an incompatibility between the 2 features.
There is no work around except don’t use increment for setup time only and backward sequencing
together. The problem causes the setup time to be applied twice.
Licensing: The user is offered the opportunity to Activate a Network License.
If Activate is selected, only Local Licenses can be activated, the Network License option should not be
offered or used.
Manual upgrades silently cancel requests
When a user generates a manual upgrade, a request is generated and stored in the licensing storage.
If a new manual upgrade is created, this cancels the existing request and generates a new one. If a user
then tries to apply the result of the first request, it will fail.
This can leave their license in an inconsistent state.
Preactor APPCRASH when you right click on the Login window
If you use any other button than the left mouse button on the Login Window, Preactor will APPCRASH.
Out of life production not being called when running in constrained mode
In a Make to Order GMPS configuration in Constrained Mode, when planning in Hours, Update Out of Life
production needs to be called to refresh the values to state if any production goes out of life.