U.S. patent application number 13/469318 was filed with the patent office on 2013-11-14 for system and method for performing detailed planning functions.
The applicant listed for this patent is Paul Barber, Geoffrey Ng, Jason Seeley, Robert Walker. Invention is credited to Paul Barber, Geoffrey Ng, Jason Seeley, Robert Walker.
Application Number | 20130304531 13/469318 |
Document ID | / |
Family ID | 49549368 |
Filed Date | 2013-11-14 |
United States Patent
Application |
20130304531 |
Kind Code |
A1 |
Barber; Paul ; et
al. |
November 14, 2013 |
SYSTEM AND METHOD FOR PERFORMING DETAILED PLANNING FUNCTIONS
Abstract
A system, method and computer program product for performing
detailed planning functions for businesses, enterprises and other
types of organizations. According to an embodiment, the system
comprises a graphical user interface configured to allow a user to
define calculations based on data associated with an entity that
may have scalar attributes for each entity, and/or a time series,
and execution of the defined calculation generates time series
result. According to another aspect, a calculation definition may
be configured to be adjustable allowing a user to adjust parameter
value(s) for each entity associated with the calculation
definition. According to another aspect, a calculation definition
may be configured to be discretionary allowing a user to attach or
assign a calculation to each entity individually. According to
another aspect, multiple calculations may be created and have the
same name.
Inventors: |
Barber; Paul; (Mississauga,
CA) ; Walker; Robert; (Mississauga, CA) ; Ng;
Geoffrey; (Scarborough, CA) ; Seeley; Jason;
(Bolton, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Barber; Paul
Walker; Robert
Ng; Geoffrey
Seeley; Jason |
Mississauga
Mississauga
Scarborough
Bolton |
|
CA
CA
CA
CA |
|
|
Family ID: |
49549368 |
Appl. No.: |
13/469318 |
Filed: |
May 11, 2012 |
Current U.S.
Class: |
705/7.12 |
Current CPC
Class: |
G06Q 10/06 20130101 |
Class at
Publication: |
705/7.12 |
International
Class: |
G06Q 10/06 20120101
G06Q010/06 |
Claims
1. A system for defining and executing one or more calculations
associated with a planning process for an entity, said system
comprising: a user interface module configured for a user machine;
a server being operatively coupled to said user machine and
comprising a processor, and an entities module and a calculations
module operatively coupled to said processor; said user interface
module being operatively coupled to said processor and comprising a
screen configured to be responsive to one or more inputs for
defining a calculation associated with a planning process for said
entity comprising processing selected data retrieved from said
entities module or said calculations module; said processor
comprising a calculation engine, and said calculation engine being
configured to execute said calculation defined according to said
user interface, and generate one or more results associated with
said process definition; and said server comprising calculation
results module operatively coupled to said calculation engine and
configured to receive said one or more calculation results.
2. The system as claimed in claim 1, wherein said calculation
results module further comprises a database configured for storing
financial based results and a database configured for storing
detailed planning data.
3. The system as claimed in claim 1, wherein said entities module a
computer-readable storage media configured with a table comprising
a record for a plurality of entities, wherein each of said
plurality of entities comprises a process definition including a
detailed planning calculation.
4. The system as claimed in claim 3, wherein said calculations
module comprises a computer-readable storage media configured with
one or more relational tables comprising one or more of said
process definitions defined by said user.
5. The system as claimed in claim 4, wherein said process
definitions comprise conditional calculations configured to apply
to selected entities or for a selected time period.
6. The system as claimed in claim 2, wherein said calculation
results module comprises a computer-readable storage media
configured with a table for storing said one or more results.
7. The system as claimed in claim 6, wherein said financial based
results database comprises an OLAP cube configured to be populated
with data comprising summarized data from said calculations results
module.
8. The system as claimed in claim 7, wherein said detailed planning
database comprises an OLAP cube configured to be populated with
data comprising detailed planning data from said calculations
results module.
9. The system as claimed in claim 8, wherein said detailed planning
data comprises data generated from execution of one or more
calculations associated with said process definition, and comprises
data for executing further calculations including variance
calculations.
10. The system as claimed in claim 1, wherein said user interface
module is configured to allow a user to define a plurality of
calculations with a calculation name that is the same.
11-29. (canceled)
Description
FIELD OF THE INVENTION
[0001] The present invention relates to computer systems and more
particularly, to a system and method for performing detailed
planning functions for businesses and other types of organizations
or enterprises.
BACKGROUND OF THE INVENTION
[0002] Businesses, commercial entities and other types of
enterprises involve a variety of activities and resources. These
activities often overlap in terms of resources, personnel, internal
and/or external procedures, regulatory regimes, etc. For example,
in the context of personnel, planning typically deals with
determining future needs for employee resources according to an
organization's operational and strategic demands. Personnel
planning typically involves the processing and handling of many
variables and different types of information. Since personnel costs
have a direct impact on the bottom line of almost all
organizations, personnel planning is a critical function.
[0003] Personnel planning typically involves many variables,
numerous payroll calculations, and analysis of often sensitive
personnel data. Similarly, other types of resources or activities
associated with an organization or enterprise will require similar
considerations for performing planning functions.
[0004] Accordingly, there remains a need for improvements in the
art.
BRIEF SUMMARY OF THE INVENTION
[0005] The present invention is directed to a method and system for
performing detailed planning functions for businesses and other
types of enterprises.
[0006] According to an embodiment, the present invention comprises
a system and method for performing personnel planning functions
based on personnel data and/or enterprise data for determining
needs and costs for personnel according to an organization's
strategic and/or operational concerns.
[0007] According to one embodiment, the present invention comprises
a system for defining and executing one or more calculations
associated with a planning process for an entity, the system
comprises: a user interface module configured for a user machine; a
server being operatively coupled to the user machine and comprising
a processor, and an entities module and a calculations module
operatively coupled to the processor; the user interface module
being operatively coupled to the processor and comprising a screen
configured to be responsive to one or more inputs for defining a
calculation associated with a planning process for the entity
comprising processing selected data retrieved from the entities
module or the calculations module; the processor comprising a
calculation engine, and the calculation engine being configured to
execute the calculation defined according to the user interface,
and generate one or more results associated with the process
definition; and the server comprising calculation results module
operatively coupled to the calculation engine and configured to
receive the one or more calculation results.
[0008] According to another embodiment, the present invention
comprises a graphical user interface display system operatively
coupled to a processor for defining a planning calculation for an
entity based on data stored in an entities database and storing the
planning calculation in a calculations database, the graphical user
interface display system comprises: a menu-bar having a calculation
definition tab configured to be responsive to an input from a user;
the definition tab being configured to display a calculation
definition screen in response to the user input, the calculation
definition screen comprising a general definition panel and a
timing configuration panel; the general definition panel comprising
a calculation control configured to be responsive to a user input
for selecting a calculation, a calculation type control configured
to be responsive to a user input for specifying a calculation type
for the selected calculation, and a target control configured to be
responsive to a user input for selecting a target database for
storing results associated with the calculation; the timing
configuration panel comprising a start period control configured to
define a start period for a time vector and an end period control
configured to define an end period for the time vector.
[0009] According to another embodiment, the present invention
comprises a computer-implemented method for defining a calculation
associated with an entity for performing a planning process, the
method comprises the steps of: selecting an entity from a plurality
of entities, wherein each of the plurality of entities includes an
entity record stored in an entities database module, and the entity
record comprises data associated with the entity; providing a
graphical user interface configured to define the calculation
associated with the selected entity; defining the calculation with
one or more conditional parameters; executing the calculation by
applying the one or more conditional parameters to the data
associated with the entity; generating a time series based result
based on the execution of the calculation; and storing the time
series based result in a calculated costs database.
[0010] According to another embodiment, the present invention
comprises a non-transitory computer-readable storage medium with an
executable program stored thereon, wherein the program instructs a
microprocessor to perform the following steps: selecting an entity
from a plurality of entities, wherein each of the plurality of
entities includes an entity record stored in an entities database
module, and the entity record comprises data associated with the
entity; providing a graphical user interface configured to define
the calculation associated with the selected entity; defining the
calculation with one or more conditional parameters; executing the
calculation by applying the one or more conditional parameters to
the data associated with the entity; generating a time series based
result based on the execution of the calculation; and storing the
time series based result in a calculated costs database.
[0011] Other aspects and features of the present invention will
become apparent to those ordinarily skilled in the art upon review
of the following description of embodiments of the invention in
conjunction with the accompanying figures.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Reference will now be made to the accompanying drawings
which show, by way of example, embodiments of the present
invention, and in which:
[0013] FIG. 1 shows in diagrammatic form an exemplary system for
operating or executing methods or processing operations in
accordance with an embodiment of the invention;
[0014] FIG. 2 is an exemplary screen shot of a detailed planning
calculations screen for selecting and configuring detailed planning
calculations for the system according to an embodiment of the
invention;
[0015] FIG. 3 is an exemplary screen shot of an "Edit" calculation
screen or window accessed using the Edit menu bar option on the
calculations screen and configured for editing a calculation
according to an embodiment of the present invention;
[0016] FIG. 4 is an exemplary screen shot of an "Add" calculation
screen or window accessed using the Add menu bar option on the
calculations screen and configured for editing a calculation
according to an embodiment of the present invention;
[0017] FIG. 5 is an exemplary screen shot of a "Calculations
Details" window or panel accessed using the calculation details tab
on the Edit Calculation screen and configured for changing
parameters for a calculation according to an embodiment of the
present invention;
[0018] FIG. 6 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Source Value" parameter and
the configurable parameter types for the source value according to
an embodiment of the present invention;
[0019] FIG. 7 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Source Value" parameter
configurable for a scalar value according to an embodiment of the
present invention;
[0020] FIG. 8 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Source Value" parameter
configurable as an "Attribute" according to an embodiment of the
present invention;
[0021] FIG. 9 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Source Value" parameter
configurable as a "Calculation" according to an embodiment of the
present invention;
[0022] FIG. 10 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Source Value" parameter
configurable as a "Global Vector" according to an embodiment of the
present invention;
[0023] FIG. 11 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Spread Factor" parameter and
the configurable parameter types for the spread factor according to
an embodiment of the present invention;
[0024] FIG. 12 is an exemplary screen shot of the "Calculations
Details" window or panel showing the "Spread Range" parameter and
the configurable parameter types for the spread range according to
an embodiment of the present invention;
[0025] FIG. 13 is an exemplary screen shot of an "Add Condition"
window or panel accessed using the conditions tab on the Edit
Calculation screen and configured for specifying conditions for a
calculation according to an embodiment of the present
invention;
[0026] FIG. 14 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attribute condition and
configured for selecting an employee attribute according to an
embodiment of the present invention;
[0027] FIG. 15 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attributes condition and
configured for selecting a numerical operator associated with the
employee attribute according to an embodiment of the present
invention;
[0028] FIG. 16 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attributes condition and
configured for selecting a value for the employee attribute
according to an embodiment of the present invention;
[0029] FIG. 17 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attributes condition and
configured for displaying a list of one or more employee attribute
values selectable by a user according to an embodiment of the
present invention;
[0030] FIG. 18 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attributes condition
comprising a "dimension member" and configured for selecting one or
more members associated with the dimension according to an
embodiment of the present invention;
[0031] FIG. 19 is an exemplary screen shot of a Dimensional
Selector dialog box or panel accessible from the add condition
window and configured for selecting one or more members associated
with the dimension according to an embodiment of the present
invention;
[0032] FIG. 20 is an exemplary screen shot of the "Add Condition"
window or panel accessed using an employee attributes condition
comprising type "Date" and configured for selecting a date from a
graphical representation of a calendar according to an embodiment
of the present invention;
[0033] FIGS. 21 to 23 are exemplary screen shots of the
"Calculations Details" window or panel showing a configuration for
setting up an exemplary adjustable calculation according to an
embodiment of the present invention;
[0034] FIG. 24 is an exemplary screen shot of an Employee Editor
Profile Tab window or panel for the Calculation Editor function
screen and configured for an exemplary employee, "New Programmer"
according to an embodiment of the present invention;
[0035] FIG. 25 is an exemplary screen shot of an Employee Editor
Summary Tab window or panel for Calculation Editor screen and
configured for a "Reporting Category View" as shown according to an
embodiment of the present invention;
[0036] FIGS. 26 to 31 are exemplary screen shots of an "Edit
Calculation" screen or window accessed using the "Discretionary"
tab on the Calculation Editor screen and configured for editing a
"Car Allowance" calculation according to an embodiment of the
present invention;
[0037] FIG. 32 is an exemplary screen shot of the detailed planning
calculations screen or window configured with the "same name"
feature according to an embodiment of the present invention;
[0038] FIGS. 33 to 37 are exemplary screen shots of the "Edit
Calculation" window or panel configured with the "same name"
feature according to an embodiment of the present invention
[0039] FIG. 38 is an exemplary screen of a Calculation Editor
dialog box generated according to an aspect of the "same name"
feature according to an embodiment of the present invention;
[0040] FIG. 39 is an exemplary screen shot of an "Edit Calculation"
window or panel accessed from the Calculation Editor screen (e.g.
using the Calculation Details Tab) and configured for an exemplary
FICA Tax calculation;
[0041] FIG. 40 is an exemplary screen shot of the Employee Editor
Summary window accessed from the Calculation Editor screen (e.g.
using the Summary Tab) and configured for showing the results of
the calculation of type "Tax";
[0042] FIG. 41 is an exemplary screen shot of an "Edit Calculation"
window or panel accessed from the Calculation Editor screen (e.g.
using the Calculation Details Tab) and configured for setting up an
exemplary salary "Standard Increase" calculation;
[0043] FIG. 42 is an exemplary screen shot of the "Employee Editor"
window or panel showing a configuration for editing an exemplary
"Standard Increase" calculation according to an embodiment of the
present invention;
[0044] FIG. 43 is an exemplary screen shot of the Employee Editor
Summary window accessed from the Calculation Editor screen (e.g.
using the Summary Tab) and configured for showing the results of
the calculation of type "Standard Increase";
[0045] FIG. 44 is an exemplary screen shot of an "Edit Calculation"
window or panel accessed from the Calculation Editor screen (e.g.
using the Calculation Details Tab) and configured for setting up an
exemplary salary "Anniversary Increase" calculation;
[0046] FIG. 45 is an exemplary screen shot of the "Employee Editor"
window or panel showing a configuration for editing an exemplary
"Anniversary Increase" calculation according to an embodiment of
the present invention;
[0047] FIG. 46 is an exemplary screen shot of the Employee Editor
Summary window accessed from the Calculation Editor screen (e.g.
using the Summary Tab) and configured for showing the results of
the calculation of type "Anniversary Increase";
[0048] FIG. 47 is an exemplary screen shot of an "Edit Calculation"
window or panel accessed from the Calculation Editor screen (e.g.
using the Calculation Details Tab) and configured for an exemplary
"Health Care Premium" calculation; and
[0049] FIG. 48 is an exemplary screen shot of the Employee Editor
Summary window accessed from the Calculation Editor screen (e.g.
using the Summary Tab) and configured for showing the results of
the exemplary "Health Care Premium" calculation.
[0050] Like reference numerals indicate like or corresponding
elements or components in the drawings.
DETAILED DESCRIPTION OF THE EMBODIMENTS OF THE INVENTION
[0051] Embodiments according to the present invention are described
below by way of a set of screen shots that are generated by a
computer executing software or code and displayed to a user of the
system. The screen shots comprise a graphical user interface and
embedded logic and/or underlying processors and processing
functions comprising executable computer code, objects, software
and other code elements for performing or executing the functions
associated with the system.
[0052] As will be described in more detail below, the present
invention comprises embodiments of a computer-implemented system,
method and computer program product configured for performing
detailed planning functions and/or calculations for resources
associated with an enterprise, business, or other type of
organization, whether for profit or non-profit. According to one
aspect, the system and method are configured to provide a
generalized mechanism for generating plans at a detailed level for
a potentially large number of entities, and as such, may be used
for determining a wide variety of intra or inter organizational
planning applications. In the context of the present description,
the system is described for a personnel planning application, for
example, determining present or future needs for personnel
according to an organization's strategic and operational demands.
It will, however, be appreciated and understood that embodiments
according to the present invention have wider applicability to
other implementations and/or resource planning applications.
[0053] According to one aspect, the invention comprises a system
and method configured for setting up calculations related to or
associated with functions, operations, reporting or other
activities for an enterprise, organization or other type of entity.
A calculation is assigned a name in the system and comprises a time
range scope, and may also include one or more conditions that
relate to the entity or an individual in the entity (e.g. employees
of a software company who are programmers and are paid on an hourly
basis). According to another aspect, the time scope may be
restricted for selected entities, for example, the Benefit premium
calculations are delayed or lagged by three months for new
employees, as will be described in more detail below. According to
another aspect, the name assigned to calculations can be the same
and are differentiated at a system level based on the entity (e.g.
employee) or other parameters, as described in more detail below.
According to another aspect, the system is configured with a
pre-defined set of parameters, and the values of the parameters are
user-definable or modifiable. According to one aspect and in the
context of a personnel detailed planning application, the parameter
values comprise scalar quantities (e.g. entity attributes, such as,
"Annual Salary" or numerical values, such as "60,000"), or time
series (e.g. other calculations, such as, "Quarterly Bonus", or
inputs that vary by employee, such as, "Shifts Worked", or global
vectors, such as, "Working Days per Month", which comprises a
customer-defined time series that does not vary by employee.
According to another aspect, a parameter for a calculation may
comprise another calculation, and the system is configured to make
the calculation on the basis of the calculation names. According to
another aspect, the system comprises logic configured to execute
calculations that are not user-definable. The calculations are
executed based on the parameter settings, and according to an
implementation, the calculation result comprises a time series.
[0054] In accordance with embodiments of the present invention, a
system and techniques or methods (e.g. computer-implemented
processes) are described in more detail below for performing a
variety of planning functions and/or calculations based on data
stored and/or accessed from one or more relational databases or
tables and/or one or more OLAP databases (e.g. "cubes").
[0055] Reference is first made to FIG. 1, which shows in
diagrammatic form an exemplary operating environment and
configuration for implementing and practising a system and
processes according to embodiments of the present invention. The
operating environment according to an embodiment and indicated
generally by reference 100 comprises a client/server configuration.
As shown, one or more clients 110, indicated individually by
references 110a, 110b, 110c, . . . , 110n, access a server
indicated by reference 120, for example, through a network 130. As
shown, the server 120 comprises a processor indicated generally by
reference 121, a calculation engine 122, an entities module 123, a
calculations module 124, a calculated costs module 125, a detailed
planning module 126 and a financial data module 128. The processor
121 comprises one or more computer devices that are configured in
known manner to execute computer programs, software, objects or
code, and perform or provide the functions, operations and
features, as described in more detail herein. The server 120
includes a calculation engine module 122, which may comprise a
separate computer, computing device or processor configured to
execute or perform (i.e., operating under stored program control,
e.g. a computer program or software stored on a computer readable
media or medium) the functions and operations as described in more
detail below, or may comprise a component or module of the
processor 121 and configured to execute or perform the functions
and/or operations, as described in more detail below. The
calculation engine 122 is configured to operate either on
individual entities or on multiple entities, and the calculations
or operations are performed for the relevant entities based on the
conditional nature of the calculations, as described in more detail
below.
[0056] Referring still to FIG. 1, the entities module 123 comprises
a table or a view that includes a record for each entity for which
planning functions or calculations are to be performed (for
example, "Employees"). The entities module 123 is configured or
implemented in a computer-readable medium comprising a storage
media or other non-volatile memory or device. According to an
exemplary implementation, each entity may include associated scalar
attributes (i.e. attributes that do not vary with time), and
according to another aspect, the scalar attributes can be defined
by a user utilizing a graphical user interface (GUI). The
calculations module 124 includes one or more relational tables
comprising descriptions of calculations or operations defined by a
user utilizing a graphical user interface. According to an
embodiment, the descriptions comprise conditional elements, i.e. a
calculation may apply to a subset of the entities and/or a subset
of possible time periods. For example, in the context of a
personnel planning application, a calculation can be configured to
calculate or determine planned payroll taxes such as CPP premiums
based on the salary of an employee.
[0057] The calculated costs module 125 as shown in FIG. 1 according
to an exemplary implementation comprises a table, for example, a
virtual table configured in a computer-readable medium or memory,
and comprises the results of calculations, i.e. the output
generated by the calculation engine 122. The detailed planning
module 126 according to an embodiment comprises an OLAP cube. The
detailed planning cube 126 is configured to be populated with
detailed data from the calculated costs module 125, and after
execution of the planning operations, actual data (for example,
data from a payroll management system) which may be used for
executing variance calculations. According to another aspect, the
detailed planning module 126 is configured to provide reporting
data generated through the operation of the calculation engine 122.
The financial data module 128 according to an embodiment comprises
an OLAP cube that is configured to be populated with summarized
data retrieved from the calculated costs module 125. According to
another aspect, the financial data module 128 is configured to
provide reporting data generated through the operation of the
calculation engine 122.
[0058] Referring again to FIG. 1, the network 130 may comprise a
local area network (LAN), a wide area network (WAN), the Internet
or any combination thereof. For the embodiment depicted in FIG. 1,
the clients 110 are connected via the Internet indicated generally
by reference 130. It will be appreciated that the method and system
according to the present invention may be practised or implemented
for other networks, communication protocols and/or
configurations.
[0059] As shown in FIG. 1, the server 120 is configured with a
client interface module or application indicated generally by
reference 129. The client interface module 129 is configured to
provide an interface with the client machines 110. According to an
embodiment, the client interface module 129 is implemented with a
user interface or GUI (Graphical User Interface) which runs on each
of the client machines 110 as indicated generally by reference 112.
According to an embodiment, the client interface module 129 and the
user interface 112 comprise logic, processes, executable functions,
graphical screens and windows, configured to provide a user with
the capability to specify a detailed planning operation or
calculation, and/or parameters, definitions or other variables
associated with the planning operation or calculation, as will be
described in more detail below.
[0060] The operation and configuration of the detailed planning
system and according to embodiments of the invention are described
in more detail below with reference to the user interface and
screen shots depicted in FIGS. 2 to 48.
[0061] According to an embodiment, the detailed planning processor
module 128 is configured with a graphical user interface or GUI
comprising a "Calculations" screen or window as shown in FIG. 2 and
indicated generally by reference 200. According to an embodiment,
the detailed planning processor module 128 and the calculations
screen 200 are configured to provide a user with a mechanism to
configure and/or modify calculations and other operations used the
modeling, planning and/or management of operations and procedures
associated with an enterprise or other type of organization or
entity, as will be described in more detail below.
[0062] As shown in FIG. 2 and according to an embodiment, the
calculations screen 200 comprises a calculations panel 210 and a
menu bar 220. The calculations panel 210 comprises a "Name" column
212 which is configured to display a plurality of calculation or
operations associated with the planning function or enterprise. In
the context of personnel planning application, the calculation
types comprise "Anniversary COLA Increase", "Base Salary", "Car
Allowance", "Cell Phone Allowance", "Employee Retirement
Contributions", "FICA Tax", "Headcount", "Health Care Premiums",
etc. According to another aspect, multiple calculations can have
the same name, for example, there can be more than one "Base
Salary" calculation, as will be described in more detail below. As
also shown in FIG. 2, the calculations panel 210 may include
additional columns associated with the calculation types or
operations, for example, an "ID" column 214, a "Scenario" column
216, a "Calculation Type" column 218, and a "Comments" column 219.
The menu bar 220 comprises an "Add" object (e.g. a button or icon)
222, an "Edit" button or icon 224, a "Delete" button or icon 226,
and a "Duplicate" button or icon 228. The menu bar 220 buttons are
configured to be responsive to actuation by a user (e.g. in
response to a mouse click or other input device) and provide the
functionality to manage calculations, as described in more detail
below.
[0063] Reference is next made to FIG. 3, which shows a screen shot
of an "Edit Calculation" screen or window according to an
embodiment of the present invention and indicated generally by
reference 300. According to an embodiment, the edit calculations
screen 300 is accessed or displayed by the system in response to
the Edit object 224 (e.g. icon) being activated, e.g. "clicked"
using a mouse or other type of pointing device. The Edit
Calculation screen 300 is configured to allow a user to define a
calculation, and provides the capability to specify attribute(s)
for the calculation. As shown, the Definitions tab of the Edit
Calculation screen 300 comprises a "General" dialog box or panel
310, a "Timing" dialog box or panel 320 and a "Menu" toolbar 330.
The general dialog box 310 is configured to provide the capability
to define a detailed planning calculation or function, i.e. define
or specify the attributes or parameters associated with the
calculation. As shown, the general dialog box 310 comprises a
"Name" drop-down list box 311 for selecting a name for the
calculation, a "Calculation Type" drop-down list box 312 configured
for defining the type of calculation, a "Scenario" drop-down list
box 315, a "Comments" entry box 316, a "Reporting Category"
drop-down list box 317, and a "Format" drop-down list box 319. As
shown, the general dialog box 310 may also include OLAP cube
information, for example, cube target accounts, comprising a
"Detailed Planning Cube Target Account" and a "Finance Cube Target
Account" indicated respectively by references 313 and 314.
According to an embodiment, the cube target accounts are configured
as active links, e.g. HTML links and allow a user to actuate either
field (for example, through a mouse click) and in response the
system is configured to display an associated dialog box (not
shown) which allows the user to specify a target account, e.g.
"(61100) Salaries", in the Detailed Planning Cube 126 (FIG. 1)
and/or a target account, e.g. "(6000) Employee Salaries", in the
Finance Cube 128 (FIG. 1). As also shown in FIG. 3, additional user
selectable controls are provided, comprising a "Discretionary"
check box 341 and an "Inactive" check box 342. The discretionary
check box 341 is configured to allow a user to configure the
calculation as a discretionary calculation as will be described in
more detail below, and the inactive check box 342 is configured to
allow a user to make the calculation inactive. As also shown in
FIG. 3, the Edit Calculations screen 300 includes an "OK" button or
icon 350 and a "Cancel" button or icon 352. The OK button 350 is
implemented in known manner and configured to save the user entered
settings to memory which are then utilized by the calculation
engine 122 (FIG. 1) to then configure the calculation or function.
The Cancel button 352 is also implemented in known manner and
configured to allow the user to exit the Edit Calculation screen
300 without saving any of the changes or entries.
[0064] According to an embodiment, the timing dialog box 320 is
configured to allow a user define one or more time vectors.
According to one aspect, the detailed planning operations, i.e.
calculations, are based on the time vectors and the timing dialog
box 320 is configured to allow a user to define the time scope of
the time vectors using various parameters and attributes, as
described in more detail below. As shown, the timing dialog box 320
includes a "Start Period" indicator field 321 and an "End Period"
indicator field 322. According to an embodiment, the start period
321 and the end period 322 indicator fields are configured as
active links, e.g. HTML links, and allow a user to actuate either
field (for example, using a mouse click) and in response the system
displays a dialog box (not shown) which allows the user to specify
or configure a start time or date and/or an end time or date.
According to another aspect, the timing dialog box 320 is
configured to allow further time parameters to be specified, for
example, a make "Adjustable" check box select indicated by
reference 324, and an "Acquisitions wait for # periods" and a
drop-down list box for specifying the number of periods indicated
by reference 325; a make "Adjustable" check box select indicated by
reference 326 and an "Acquisitions only for # periods" and a
drop-down list box for specifying the number of periods indicated
by reference 327; and a make "Adjustable" check box select
indicated by reference 328, and a "Terminations only for # periods"
and a drop-down list box for specifying the number of periods
indicated generally by reference 329, as shown in FIG. 3.
[0065] Reference is next made to FIG. 4, which shows a
configuration for the Edit Calculation screen 300 according to an
embodiment of the present invention. The Edit Calculation screen is
configured as an "Add Calculation" screen, i.e. for a user to add a
calculation. As described above, the Edit Calculation screen as
described above comprises the general dialog box 310, the timing
dialog box 320 and the menu toolbar 330, for example, as described
above. In accordance with the embodiment, the "Calculation Type"
drop-down list box 312 is configured with pre-set or pre-coded
calculation types indicated generally by reference 412. In the
context of a personnel planning application or implementation, the
calculation types 412 comprise "Accumulate", "Anniversary
Increase", "Banding", "Date Difference", "Formula", etc. as shown
in FIG. 4. In accordance with the embodiment, a user selects one of
the calculation types 412 and the system is configured to generate
and/or present parameters or attributes that are specific to the
calculation type, and may also be modified by a user as will be
described in more detail below.
[0066] Reference is next made to FIG. 5, which shows the Edit
Calculation screen 300 configured with a "Calculation Details"
dialog box or panel indicated generally by reference 500. The
calculation details dialog box 500 is invoked or displayed in
response to the Calculation Details button or tab 334 being
clicked. The calculations details dialog box 500 is configured and
tailored with associated parameters or attributes according to the
type of calculation. According to an embodiment, the parameters are
not user specified, but instead pre-coded or configured in the
system. The user can however change the value of the parameters for
a calculation, for example, as described in more detail below. The
calculation details dialog box 500 depicted in FIG. 5 is configured
for the "Spread Data" calculation 412 (FIG. 4.). According to an
embodiment, the spread data calculation comprises a source value
parameter 510, a spread factor parameter 520 and a spread range
parameter 530. Each of the parameters, in turn, can have multiple
parameter types which are configured to be user selectable. For
example, the source value parameter 510 comprises a first parameter
type 512 and a second parameter type 514. The first parameter type
512 is configured to have four user selectable parameter types:
"Value", "Attribute", "Calculation" and "Global Vector", as shown
in FIG. 6. For the Attribute parameter type 512, the second
parameter type 514 is configured to have four user selectable
parameter types: "Base Annual Salary", "Base Hourly Rate", "FTE"
and "Headcount", as shown in FIG. 8.
[0067] According to another aspect, for the Value parameter type
512, the Calculation Details dialog box 500 is configured to allow
a user to enter a scalar value in the second parameter type box 514
as shown in FIG. 7. As shown in FIG. 7, the calculations details
dialog box 500 includes an "Adjustable" check box 516. The
adjustable check box 516 is configured to allow a user to flag the
value parameter, i.e. the scalar value, as being adjustable by
other users. According to an exemplary implementation, the
calculation engine 122 (FIG. 1) is configured to operate on
time-based vectors, and a scalar value is interpreted or treated as
a time vector comprising the same value (i.e. the value entered in
the scalar field 514) in each time period. According to another
aspect, the Attribute parameter type 512 is configured to allow a
user to select a scalar numerical value for the Employee attribute.
The calculation engine 122 (FIG. 1) is configured to use the scalar
value for that employee for each employee comprising the
calculation operation. As described above, the scalar value is
treated by the system as a time vector with the same value in each
time period.
[0068] According to an embodiment, the system is configured to
allow the user to select another calculation for the second
parameter type 514 when the first parameter type 512 is selected as
the "Calculation" parameter type as shown in FIG. 9. For an
exemplary personnel planning application or implementation, the
calculations comprise: "Base Salary", "Car Allowance", "Cell Phone
Allowance", "Employee Retirement Contributions", etc. as shown in
FIG. 9. The calculation engine 122 (FIG. 1) is configured to treat
the calculations as time vectors and according to another aspect
configured to execute the calculations in a predefined or required
order.
[0069] As shown in FIG. 10, the Global Vector parameter type 512 is
configured to allow a user to select a global vector. According to
an exemplary implementation for a personnel planning application,
the global vectors comprise time vectors that do not vary by
employee. As shown, the second parameter type 514 for a Global
Vector comprises "Standard Hours Per Month", "Weeks Per Month" and
"Working Days Per Month", according to an exemplary personnel
planning implementation. Numerical data for a global vector is
entered from another screen, as described in more detail below.
[0070] Reference is next made to FIG. 11, which shows an exemplary
implementation for the Spread Factor attribute 520 and more
particularly the spread factor parameter 522. As shown, the spread
factor parameter 522 is configured to have one of three parameter
types: "Spread Evenly", "Calculation" or "Global Vector. It will be
appreciated that each of these parameters types comprise time
vectors, and spread evenly is a virtual time vector with the same
value in all time periods.
[0071] Reference is next made to FIG. 12, which shows an exemplary
implementation for the "Spread Range" attribute indicated generally
by reference 530 and having a parameter type comprising drop-down
list indicated generally by reference 532. According to an
exemplary implementation, the spread range parameter is configured
for four parameter types: "Spread within each calendar year",
"Spread to full calculation range", "Spread within each calendar
year", "Spread within each fiscal year" or "Spread within each
fiscal quarter", as shown in FIG. 12. It will be appreciated that
the spread range parameters do not comprise data objects (for
example, values or attributes), but rather are configured as a
calculation that is to be performed by specifying the range across
which data is to be spread. According to an exemplary
implementation, the value that is calculated in a single time
period for the Spread Data calculation type is equal to:
SD ( t ) = SV ( t ) SF ( t ) 1 n SF ( t i ) ##EQU00001##
Where SD(t) is the result of the calculation for time period t,
SV(t) is the value of the Source Value at time period t, SF(t) is
the value of the Spread Factor at time period t and
.SIGMA..sub.1.sup.nSF(t.sub.i) is the sum of the values of the
Spread Factor for all time periods in the spread range of which t
is a member.
[0072] For example, if a fiscal year starts in January and the
spread is set to occur within each fiscal quarter, then the
calculation engine 122 (FIG. 1) is configured to execute the
calculations as follows:
TABLE-US-00001 Time Period January February March April May June
Source Value 100 200 200 200 300 300 Spread Factor 5 4 4 5 4 4
Calculation 38.46 61.54 61.54 76.92 92.31 92.31 Result Where 38.46
= 100 * 5/(5 + 4 + 4)
[0073] Reference is next made to FIG. 13, which shows the Edit
Calculation screen 300 configured with an "Add Condition" dialog
box or panel indicated generally by reference 500. The calculation
details dialog box 1300 is invoked or displayed in response to the
Conditions tab 336 being selected and the Add menu item being
clicked. The Add Condition dialog box 1300 is configured to allow a
user to define or add a condition and other attributes to a
calculation. As shown, the Add Condition dialog box 1300 is
configured with an Attribute type 1310, an Operator parameter 1320
and a Value parameter 1330. According to an embodiment, the
Attribute type 1310 comprises employee attributes selectable from a
drop-down list box 1312 and include (as shown in FIG. 14): "Base
Annual Salary", "Base Hourly Rate", "Education", "End Period",
"FTE", "Headcount", "Health Plan", "Hire Date", etc. It will be
appreciated that each of the employee attributes will have an
attribute type, for example, numerical, text, date, dimension
member, list, etc. As shown, the Add Condition dialog box 500 is
also configured with an OK button 1350 and a Cancel button 1352.
According to an embodiment, the operator parameter 1320 is
configured for numerical or mathematical attributes, and comprises
a drop-down list box 1322 with user-selectable numerical employee
attributes: "Equal", "Not Equal", "Greater Than", "Greater Than or
Equal", "Lesser Than" or "Lesser Than or Equal" as shown in FIG.
15. According to an embodiment, the value parameter 1330 comprises
a text input box 1332 as shown in FIG. 16 and is configured to
accept a numerical value as inputted by the user. According to an
embodiment, the value parameter 1330 comprises a "List" for the
employee attribute, "Education", and includes a plurality of user
selectable check boxes 1710 as shown in FIG. 17. The operator
parameter 1320 can have a setting of Equal or Not Equal.
[0074] According to an embodiment for the employee attribute,
"Organization" 1310, the value parameter 1330 as shown in FIG. 18
comprises a "Dimension Member" type 1810. For the example depicted
in FIG. 18, the dimension members 1810 comprise "Information
Technology" and "Human Resources". The operator parameter 1320 can
have a setting of Equal or Not Equal. As also shown in FIG. 18, the
Add Condition dialog box 1300 is configured with a "Select" button
or icon 1820. The select button 1820 is configured to be responsive
to a user actuation for displaying a screen configured to allow the
user to select one or more dimension members to be associated with
the attribute type 1310. According to an embodiment, the server 120
(FIG. 1) is configured to display a "Dimensional Selector" dialog
box or screen indicated generally by reference 1900 as shown in
FIG. 19. As shown, the dimensional selector dialog box 1900
comprises a dimension dialog box or panel 1910 and a selected
dimension panel 1920. The dimension dialog box 1910 is configured
with a GUI tree view or structure to show all the dimensions and/or
a subset of the dimensions (i.e. according to search criteria
entered in a text box or field 1912). In known manner, the GUI tree
view 1910 is configured with nodes and comprises a clickable
buttons or icons for expanding and collapsing the tree view nodes
to access related members (i.e. "children"). The dimension selector
dialog box 1900 also includes an "Enter Search Criteria" text box
1912 and a "Found Members" text display box 1914 and "OK", "Cancel"
and "Help" buttons 1916, 1917 and 1919, respectively, configured to
function in known manner. The selected dimension panel 1920 is
configured to display the member(s) selected from the tree
structure or view, for example, "Human Resources" and "Information
Technology".
[0075] According to an embodiment and as shown in FIG. 20, the
employee attribute type 1310 includes a "Hire Date" setting, and
the value parameter 1330 is configured in the form of a "Date" and
includes a "Calendar" configured as a drop-down box indicated
generally by reference 2010. The operator parameter 1320 is
configured to be "Equal" or "Not Equal" as also shown in FIG. 20.
The user selection(s) are stored to memory or discarded using the
OK button 1350 or Cancel button 1352 in known manner.
[0076] Reference is next made to FIG. 21, and the Edit Calculation
screen 300 configured to show the method steps or operation for
setting up an "adjustable calculation" according to an embodiment
of the invention. According to an embodiment, an adjustable
calculation is configured to allow a user to change the calculation
parameter(s) that are marked as being adjustable by the user when
the calculation is set up. For the exemplary adjustable calculation
configured in the FIG. 21, the calculation is for "Health Care
Premiums" and has been configured as an "adjustable calculation"
using the "Adjustable" check box 2010 in the Timing panel 320. The
user has also activated the "Acquisitions wait for # periods", i.e.
by clicking check box 2020, and set the wait period to 3 months,
i.e. using a scroll box 2030. According to another aspect, the
default value is set at 3 months in the scroll box 2030, and unless
adjusted by a user the value remains at 3 months. According to
another aspect, once a calculation type has been set up as being
adjustable, a user can select one of the adjustable calculations
using the Employer Editor screen 2200 which is configured with an
"Adjustable" tab 2218 as shown in FIG. 22. The Employee Editor
comprises a software component or object, configured for example,
as a graphical user interface screen or window, that allows as user
to add, edit and delete the List of Entities 123 (FIG. 1). The
adjustable tab 2218 comprises a "Calculation" drop-down list box
2230 which is configured with one or more calculation types that
have been configured as being adjustable. For the example depicted
in FIG. 22, the adjustable calculations comprise "Anniversary COLA
(Cost Of Living Allowance) Increase [73]", "Health Care Premiums
[72]" and "Standard COLA Increase [60]".
[0077] Reference is next made to FIG. 23, which shows a screenshot
of the Employee Editor screen 2200 configured with the "Health Care
Premiums [72]" adjustable calculation, i.e. selected in the
calculation drop-down list box 2230 (FIG. 22). As shown the screen
or dialog box for the Adjustable tab 2218 comprises a "Timing"
panel indicated generally by reference 2310. The timing panel 2310
is configured to allow a user to change the time scope of a
calculation, and according to one aspect includes an "Acquisitions
wait for # periods" time scope 2320 comprising a check box 2322 and
a scroll box 2324, an "Acquisitions only for # periods" time scope
2330 comprising a check box 2332 and a scroll box 2334, and a
"Terminations only for # periods" time scope 2340 comprising a
check box 2342 and a scroll box 2344 in the context of a personnel
planning application. The timing panel 2310 may also include a "Set
to Default" button 2350 which is configured for setting the
selected time scope value as the default value (for example, as
described above). The Employee Editor screen 2200 is also
configured with a "Profile" tab 2210, a "Summary" tab 2212, an
"Actions" tab 2214, a "Discretionary" tab 2216, an "Input" tab 2220
and an "Allocations" tab 2222, as described in more detail
below.
[0078] Reference is next made to FIG. 24, which shows a screen shot
of a Profile window or panel 2400 generated and displayed by the
system in response to the Profile tab 2210 being "clicked" on the
Employee Editor screen 2200 (FIG. 22). As shown, the Profile screen
2400 comprises a number of text input boxes or fields and drop-down
list boxes which are populated with employee specific information,
such as, "Position" in drop-down list box 2410, "Hire Date" in text
input box 2412, "Status" in drop-down list box 2414, and "Base
Annual Salary" in text input box 2416. For this exemplary employee,
"New Programmer", the employee's position is Accounts Payable with
a start date of Mar. 1, 2012 as Full Time employee and Base Annual
Salary of $50,000.
[0079] Reference is next made to FIG. 25, which shows a screen shot
of a Summary window or panel 2500 generated and displayed by the
system in response to the "Summary" tab 2212 being clicked on the
Employee Editor screen 2200 (FIG. 22). According to an embodiment,
the summary window 2500 is configured to summarize and display
information associated with the "relevant employee". For this
exemplary "relevant employee", the setting of the "Acquisitions
wait for # periods" 2320 (FIG. 23) is set to two months, which
means that according to the policy of the organization, there are
no "Health Care Premium" expenses for the months of "March" and
"April" as depicted in FIG. 25. The Health Care Premium expense
starts in "May" as also shown in FIG. 25.
[0080] According to an embodiment, the calculation engine 122 (FIG.
1) may be configured to apply calculation(s) to all employees or to
apply the calculation(s) to some or a restricted number of
employees. According to one aspect, the General definition panel
310 (which is accessed by clicking the "Definition" tab 332) on the
Edit Calculation screen 300 is configured with a "Discretionary"
checkbox 2610 as shown in FIG. 26. The calculation engine 122 (FIG.
1) is configured to make the calculation being edited a
"discretionary calculation" when the checkbox 2610 is clicked, for
example, as shown in FIG. 26. According to another aspect,
discretionary calculations are applied to employees not just based
on conditions, but also on a one-by-one basis. According to another
aspect, the calculation engine 122 (FIG. 1) can be configured for a
discretionary calculation by using the "Conditions" tab 336, which
displays a Conditions screen or panel 2700 of the Edit Calculation
screen 300 as shown in FIG. 27. According to this aspect, a
discretionary calculation can have one or more associated
conditions. For a discretionary calculation to apply to an
employee, the employee has to meet the relevant condition(s) as
configured as described above and also have the calculation applied
on a one-by-one basis. According to another embodiment, the
calculation engine 122 (FIG. 1) can be configured to perform
discretionary calculations using the "Applies To" tab 338 on the
Edit Calculation screen 300. If a calculation has been configured
as being discretionary, then the Applies To tab 338 is active or
enabled. As shown in FIG. 28, in response to clicking the "Applies
To" tab 338, an "Applies To" screen or panel 2800 is generated and
displayed (i.e. by the processor 121 and/or calculation engine 122
operating under software control). The "Applies To" screen 2800 as
shown is configured to provide a user with the capability to select
which employees receive the discretionary calculation from a list
of employees that meet the conditions configured in the Conditions
screen 2700 under the Conditions tab 336 (for example, as described
above). According to an exemplary GUI implementation, the employees
are arranged in a vertical column or list 2810 with a checkbox 2820
associated with each of the employees for applying the
discretionary calculation. According to another embodiment, the
system is configured to identify employees set up with
discretionary calculation(s) utilizing the "Discretionary" tab 2218
on the Employee Editor screen 2200, which is configured with a
Discretionary Calculations screen or window 2900 as depicted in
FIG. 29. The discretionary calculations screen 2900 provides a
mechanism for identifying employees (i.e. the employee being
edited) receiving discretionary calculations. The discretionary
calculations screen 2900 comprises an Existing Calculations panel
2910 configured to display existing calculations (e.g. as active
objects) and a Selected Calculations panel 2920 configured to
display selected calculations (e.g. configured as active objects).
For the example depicted in FIG. 29, the selected discretionary
calculation for the employee is "Car Allowance [54]". The
discretionary calculations screen 2900 includes controls, e.g.
">", "<", ">>", "<<", for moving discretionary
calculation objects the between the panels 2910 and 2920.
[0081] Reference is next made to FIG. 30, and the Employee Editor
screen 2200 and the Inputs tab 2220. In response to actuation of
the inputs tab 2220, the system is configured to display a screen
or window 3000 that allows the user to enter monthly data for all
calculations of type "Input" that apply to the entity being edited,
as depicted in FIG. 30. The inputs type calculations screen 3000 is
configured to allow a user to enter one or more monthly values as
shown. According to this aspect, the "Car Allowance" calculation is
of the type "Input", and the user can enter or modify individual
monthly values as indicated generally by reference 3010 in FIG. 30.
Because the car allowance discretionary allowance has been applied
to the employee being edited in the Employee Editor screen 2200,
the system is configured to display a Summary calculations screen
or window 3100 as depicted in FIG. 31, in response to the user
actuating the Summary tab 2212. As shown, the system has displayed
the values for the "Car Allowance" calculation and also added them
to the values for the "Benefits Total" calculation, as indicated by
reference 3110.
[0082] According to another embodiment, the system is configured
(e.g. the processor 121 and the calculation engine 122) to process
between calculations having the same name. It will be appreciated
that in certain applications, such as personnel planning,
calculations and parameters will have the same or generic names,
but may comprise very different calculations or parameters. For
example, base salary will be different for an hourly worker and a
salaried employee. Reference is made to FIG. 32, which shows the
Calculations screen configured with the same names function
according to an embodiment of the invention and indicated generally
by reference 3200. For the example, shown in FIG. 32, there are
multiple calculations named "Based Salary" as indicated generally
by reference 3210. However, according to another aspect, the
calculation engine 122 (FIG. 1) may be configured to reference
calculations from other calculations. As a result, the system is
configured so that calculations having the same name are defined
for multiple contexts, i.e. while multiple calculations can have
the name "Base Salary", there is only one definition of "Base
Salary" for any one employee.
[0083] It will be appreciated that each calculation has a scope and
the scope may comprise a combination of: (1) potentially multiple
values of "Time Period"; (2) potentially multiple values of
"Scenario"; and/or (3) potentially multiple values of each
user-defined "Employee Attribute", for example, as also described
above. For instance, a calculation can apply to all months (i.e.
time scope), for Plan 9 (i.e. scenario scope), for all
"Departments" (i.e. scope of "Department" Employee Attribute), for
all Job Functions (i.e. scope of "Job Function" Employee
Attribute), for all married employees (i.e. scope of "Marital
Status" Employee Attribute). According to another aspect,
calculations having the same name are configured with a
non-overlapping scope. It will be appreciated that if calculations
having the same name, the results for overlapping time period(s)
(and scenario(s)) would be ambiguously defined.
[0084] Reference is next made to FIG. 33, which shows the Edit
Calculation screen 300 and a Definition screen 3300 accessed
through the Definition tab 332. As shown, the "Base Salary" is
defined in the General panel 310. The Base Salary definition for
this employee has "Spread Data" calculation type 3310 and an "All
Scenarios" scenario scope 3320. In the comments, the base salary is
labeled as "Monthly Salary". In Timing panel 320, the time scope of
the "Base Salary" calculation is defined with a "Start Period" of
January 2012 and an "End Period" of December 2012, as indicated
generally by reference 3330.
[0085] Reference is made to FIG. 34, which shows a Conditions
window or dialog box 3400 in the Edit Calculation screen 300
(accessed using the Conditions tab 336). The scope(s) for all
Employee Attributes are defined under the Conditions tab 336 (as
also described above). For the example depicted in FIG. 33, the
calculation comprises a "Spread Data" and is applied to employees
that have the attribute "Type" equal to "Annual" as indicated
generally by reference 3410. The "Type" employee attribute
comprises a list attribute (i.e. with specified text values) as
described above. The scope for this "Type" attribute is "Annual".
According to another aspect, the calculation engine 122 (FIG. 1) is
configured to define the scope as "All" for all employee
attributes, i.e. the calculation applies for all values of each
employee attribute.
[0086] Reference is next made to FIG. 35, which shows an Edit
Calculation screen 300 configured for defining another same name
calculation, "Base Salary". The calculation has the name, "Base
Salary", and is defined with type "Formula", as indicated generally
by reference 3510 in the General panel 310. The scenario for this
"Base Salary" calculation is "All Scenarios" and the Comments
comprise "Full time monthly hourly salary", as indicated generally
by reference 3520. The time scope for the calculation is defined in
the Timing panel 320 and for this Base Salary calculation, the time
scope is January 2012 to December 2012, as indicated generally by
reference 3530. Reference is next made to FIG. 36, and a screen or
dialog box 3600 for the Conditions tab 336 in the Edit Calculation
screen 300, which is configured for this Base Salary calculation
definition. As indicated generally by reference 3610, this Base
Salary calculation is configured to apply to employees set up with
a "Type" attribute equal to "Hourly" and a "Status" attribute equal
to "Full Time". In other words, the Type scope and the Status scope
for this calculation are "Hourly" and "Full Time", respectively. It
will be appreciated that this calculation, "Base Salary", can have
the `same name` as the previous calculation, "Base Salary", because
the calculation is configured so that there is no overlap between
the conditions. For instance, the employee type attribute is either
"Annual" or "Hourly", but cannot be both. Accordingly, the same
name calculation, Base Salary, can be defined for all employees in
the organization.
[0087] Reference is next made to FIG. 37, which shows the Edit
Calculation screen 300 and in particular an Edit Condition screen
or window 3700 which is invoked by clicking the Conditions tab 336
(and the "Edit" button 3702). For the exemplary calculation, the
conditions for the Base Salary calculation (or formula) have been
configured and will be applied to employees having employee Type
attribute equal to "Hourly" and to employees having employee Type
attribute equal to "Annual", as indicated generally by reference
3710. The Type scope is now "Annual" and "Hourly".
[0088] When a user attempts to save a same name calculation or
formula configuration, the system is configured (e.g. logic
embodied in the software or code executed by the processor 121
and/or calculation engine 122) to check if the scope overlaps or
intersects with the scope with another calculation having the same
name. If the system detects an overlap, a Calculation Editor dialog
box 3800 having the form as shown in FIG. 38 is displayed to advise
the user. According to an embodiment, the calculation engine 122
(FIG. 1) is configured to execute the following algorithm for same
name calculations:
.E-backward.b such that {X.sub.a.andgate.X.sub.b}.noteq.
Where b is an existing calculation, a is the calculation being
saved, X.sub.a is the set of all (n+2) tuples (i.e. combinations)
having the form (T.sub.a, S.sub.a, A.sub.a,1, A.sub.a,2, . . .
A.sub.a,n), where n is the number of Employee Attributes, T.sub.a
is a member of the Time scope of calculation a, S.sub.a is a member
of the Scenario scope of the calculation a and A.sub.a,n is a
member of the scope of the n.sup.th Employee Attribute of
calculation a; and X.sub.b is the set of all (n+2)-tuples (i.e.
combination) of the form (T.sub.b, S.sub.b, A.sub.b,1, A.sub.b,2, .
. . A.sub.b,n), where T.sub.b is a member of the Time scope of
calculation b, S.sub.b is member of the Scenario scope of
calculation b and A.sub.b,n is a member of the scope of the
n.sup.th Employee Attribute of calculation b.
[0089] According to another aspect, the calculation engine 122
(FIG. 1) is configured to perform a number of pre-programmed
calculations. In the context of a detailed planning application for
personnel, the calculation engine 122 is configured to execute 14
types of calculations. The 14 calculations according to an
embodiment are listed in the Calculation Type 312 drop-down list
box as shown in FIG. 4 as described above.
[0090] Reference is made to FIG. 39, which shows the Edit
Calculation screen 300 and in particular the Calculation Details
screen configured for a tax calculation indicated generally by
reference 3900 and accessed using the Calculations Details tab 334.
In North American, payroll taxes tend to be complicated and
comprise different payroll taxes, such as FICA, SUTA, CPP and EI,
each of which will have its own characteristics. The monthly
calculated value is:
( SV - ( AEA 12 ) ) .times. TR ##EQU00002##
Where SV is the monthly source value, AEA is the annual exemption
amount and TR is the tax rate. In addition, the monthly values are
adjusted so that the cumulative amount for any one calendar year is
not more than:
((AMAV-AEV-YAA).times.TR)
Where AMAV is the Annual Maximum Applicable Value, AEV is the
Annual Exemption Value, TR is the tax rate and YAA is the Yearly
Adjustment Amount.
[0091] Reference is next made to FIG. 40, which shows a screen shot
of the Summary tab 2212 in the Employee Editor screen 2200 for the
results of a tax calculation indicated generally by reference 4000.
In this exemplary implementation, the calculation comprises a FICA
type calculation and a SUTA type calculation, with the results
indicated generally by reference 4010. In this example, the FICA
tax calculation has been executed to be 7.28% of each month's "Base
Salary" (less a monthly exemption value of one twelfth of 7,500 or
625) up to an annual maximum of 7.28% of 45,000 less 7,500 or
2,730. For example, the January value for FICA is determined as
follows:
(13.333-(7,500/12)).times.7.28% or 925
[0092] Reference is next made to FIG. 41, which shows a screen shot
of the Calculation Details tab 334 in the Edit Calculation screen
300 indicated generally by reference 4100. The "Standard Increase"
calculation is configured to allow a user to specify how a time
vector can be increased (or inflated) based on specified inflation
values and time periods. In this example, the user has specified an
increase of 2.25% for April 2012 and the "Adjustable" parameter
check box has been activated, as indicated generally by reference
4110. According to an embodiment, the calculation engine 122 (FIG.
1) is configured to generate a time vector that contains the
cumulative inflation rates that to be added to the source value, as
follows:
CIR n = i = 1 n ( 1 + IR i ) - 1 ##EQU00003##
Where CIR.sub.n is the cumulative inflation rate at period n and
IR.sub.i is the inflation rate (i.e. "% Increase") at period i. The
Source Value time vector is then multiplied by the cumulative
inflation rate time vector. If the "Return Gross Amount" checkbox
is checked, then this time vector is the result of the calculation.
Otherwise, the calculation engine 122 (FIG. 1) is configured to
subtract the Source Value time vector from the time vector to
determine the result of the calculation, i.e. the increases due to
applying this calculation to the Source Value vector.
[0093] Reference is next made to FIG. 42, which shows a screen shot
of the Employee Editor screen 2200 configured with an Adjustable
calculations screen or window 4200. The Adjustable calculation
screen 4200 is accessed using the Adjustable tab 2218 and comprises
a Timing panel 4210 and a Calculation Details panel 4220 according
to an embodiment. As shown in FIG. 42, the Adjustable calculations
screen 4200 is configured for a standard increase type calculation,
e.g. a "Standard COLA Increase" calculation (FIG. 4). For this
exemplary cost of living adjustment calculation, the "% Increase"
parameter has been configured as being adjustable, and the
adjustable calculations screen 4200 is configured to allow a user
to edit any one of the parameter input fields: "% Increase",
"Increase" or "Value" as indicated generally by reference 4230.
When one parameter value is changed, the system is configured to
automatically update or calculate values for the other two
parameters. According to another aspect, the calculation engine 122
(FIG. 1) is configured to display or render the results of the
standard increase calculation, for example, as shown in the Summary
screen 4300 for the Employee Editor screen 2200 in FIG. 43. In this
example, the "Standard COLA Increase" calculation has been applied
to April and subsequent months as indicated generally by reference
4310.
[0094] In FIG. 45, the Employee Editor screen 2200 is shown with an
Adjustable calculation screen 4500 configured for an anniversary
increase calculation, e.g. an "Anniversary COLA Increase"
calculation. Because the "% Increase" for the first anniversary is
configured as adjustable, the calculation engine 122 (FIG. 1)
allows the user to adjust or edit any one of the "% Increase",
"Increase" or "Value" parameters, for example, as described above.
The results for the "Anniversary Increase" calculation are
generated by the calculation engine and also graphically displayed
on the Summary screen under the Summary tab 2212, for example as
shown in FIG. 46, and indicated generally by reference 4600.
[0095] Reference is next made to FIG. 44, which shows the Edit
Calculation screen 300 with a Calculation Details screen 4400
configured for an "Anniversary Increase" calculation type and
accessed using the Calculations Details tab 334. For the
Anniversary Increase calculation type, the Calculation Details
screen 4400 is configured to allow a user to specify how a time
vector can be increased (i.e. inflated) based on specified
inflation values and/or time periods comprising anniversaries of a
date. For the example depicted in FIG. 44, the user has specified
an increase for the first two anniversaries 4410 of an employee's
"Hire Date" 4420 and the "% Increase" parameter for the first
anniversary has been flagged as being "Adjustable" 4430. The
calculation engine 122 (FIG. 1) is configured to generate a time
vector comprising cumulative inflation rates that are applied to
the "Source Value", in this example, "Base Salary" 4440.
[0096] Reference is next made to FIG. 47, which shows the Edit
Calculation screen 300 with a Calculation Details screen 4700
configured for a "Lookup" calculation type (FIG. 4). The
Calculation Details screen 4700 is accessed using the Calculations
Details tab 334. In this example, the Calculation Details screen
4700 is configured for calculating "Health Plan" Premiums, and the
"Source Value" is Employee Attribute 4720 (i.e. of type list)
"Health Plan" 4710. The Calculation Details screen 4700 is
configured to allow a user to enter data in rows that correspond to
the List Values of the Source Value parameter, and the columns
correspond to the time periods of the Time Scope of the
calculation, as indicated generally by reference 4730. According to
another aspect, the calculation engine 122 (FIG. 1) is configured
to display or render the results of the "Health Care Premiums"
Lookup calculation, for example, as shown in the Summary screen
4800 for the Employee Editor screen 2200 in FIG. 48. In this
example, the calculation engine 122 has calculated the "Health Care
Premiums" by using the Health Plan Employee attribute to identify
which row in the definition of the Health Plan Premiums calculation
is to be used as the calculation result, as indicated generally by
reference 4810.
[0097] According to the embodiments described above, the system
comprises a graphical user interface that is configured to provide
users with the functionality to define calculations and other
operations associated with detailed planning for an entity. The
system/GUI (and underlying or embedded logic and control) is
configured (e.g. operating under software control) for generating a
calculated time series based on scalar attributes for each entity
and/or time series. For example in the context of personnel
detailed planning, the system is configured to generate a time
series of monthly salary amounts based on a monthly salary value
for an employee, a date for a salary increase and/or the % of the
increase. According to another aspect, the system/GUI is configured
to provide users with the functionality to define calculations that
manipulate time series for each entity. For example, in the context
of personnel planning, the system is configured to generate monthly
payroll taxes from monthly salary amounts for each employee in the
organization. According to another aspect, the system/GUI is
configured to provide users with the functionality to optionally
flag calculation parameters as being "Adjustable", which allows
users to adjust the parameter value for each entity being
calculated. For example, in the context of personnel detailing
planning, the system is configured to perform a calculation with a
bonus of $1000, then making the calculation adjustable, allows the
user to change and try different bonus amounts. According to
another aspect, the system/GUI is configured to provide a user with
the capability to optionally flag calculations as being
"Discretionary", which means that a user can attach a calculation
to each entity individually. For example, in the context of
personnel detailing planning, the system is configured to provide a
user with the capability to decide which employees are permitted to
have mobile phone costs associated with them. According to another
aspect, the system/GUI is configured to provide users with a
pre-defined set of calculation types, for example, a "Spread"
calculation that is configured to take an annual amount and spread
the amount to months based on drivers defined using the GUI. The
result of each calculation comprises a time series. Each
pre-defined calculation comprises one or more set parameters.
According to another aspect, the system/GUI is configured to
provide users with the capability to define the calculation scope
for a calculation and the conditional application to entities based
on selected attributes of the entity. For example, in the context
of personnel detailing planning, the system is configured to apply
hourly rates to only hourly paid employees for salary calculations,
or to apply Canadian pension calculations only to Canadian
employees. It will be appreciated that this functionality provides
the capability to define conditional sets of calculations, for
example, a different tax rate for each province or state. According
to another aspect, the system/GUI is configured to provide users
with the capability to use the same name for multiple calculations,
provided the scope of the calculations do not intersect. For
example, the system is configured to execute multiple calculations
for "Earnings". The system calculates "Earnings" for annually paid
or salaried employees differently than "Earnings" for hourly paid
employees. In this example, an employee cannot be both an hourly
paid employee and a salaried employee. According another aspect,
the common or same calculation can be used by the system as a
parameter in a dependent calculation. For example, in the context
of personnel detailing planning, the system can be configured to
execute a "Payroll Taxes" calculation using the "Earnings"
calculation as a parameter, even if there are multiple calculation
definitions with the same name "Earnings".
[0098] The functionality and features associated with the processor
or processing module 121 (FIG. 1), the calculation engine or module
122 (FIG. 1), and/or the server 120 (FIG. 1) and/or the client
machines 110 (FIG. 1) and/or the graphical user interface (GUI)
screens or windows 112 for the detailed planning system (FIGS. 2 to
50) as described above and in accordance with the embodiments may
be implemented in the form of one or more software objects,
components, or computer programs or program modules in the server
and/or the client machines, and stored or embedded on a computer
readable media, such as a disk, or other type of non-volatile
memory or storage media. Further, at least some or all of the
software objects, components or modules can be hard-coded into
processing units, programmable devices, and/or read only memories
or other non-volatile storage media in the mobile communication
device, server and/or other components or modules depicted in the
drawings. The specific implementation details of the software
objects and/or program modules will be within the knowledge and
understanding of one skilled in the art.
[0099] The present invention may be embodied in other specific
forms without departing from the spirit or essential
characteristics thereof. Certain adaptations and modifications of
the invention will be obvious to those skilled in the art.
Therefore, the presently discussed embodiments are considered to be
illustrative and not restrictive, the scope of the invention being
indicated by the appended claims rather than the foregoing
description, and all changes which come within the meaning and
range of equivalency of the claims are therefore intended to be
embraced therein.
* * * * *