U.S. patent application number 11/127595 was filed with the patent office on 2006-11-16 for method and system for enabling an electronic signature approval process.
This patent application is currently assigned to Microsoft Corporation. Invention is credited to Jan Lysgaard Jensen, Jacob Lind.
Application Number | 20060259486 11/127595 |
Document ID | / |
Family ID | 37420394 |
Filed Date | 2006-11-16 |
United States Patent
Application |
20060259486 |
Kind Code |
A1 |
Lind; Jacob ; et
al. |
November 16, 2006 |
Method and system for enabling an electronic signature approval
process
Abstract
The present invention includes a computer-implemented method and
an Enterprise Resource Planning System (ERP). The method and system
allows a user to enable an electronic signature approval process
for modification of data in a transaction. The method includes
accessing a table that corresponds with the transaction and adding
a signature field having a property sheet to the table. The method
also includes defining a select property in the property sheet with
a select parameter. The select property configured to provide
approval of modified data in the transaction upon entry of a valid
electronic signature.
Inventors: |
Lind; Jacob; (Roskilde,
DK) ; Jensen; Jan Lysgaard; (Frederiksberg,
DK) |
Correspondence
Address: |
WESTMAN CHAMPLIN (MICROSOFT CORPORATION)
SUITE 1400
900 SECOND AVENUE SOUTH
MINNEAPOLIS
MN
55402-3319
US
|
Assignee: |
Microsoft Corporation
Redmond
WA
|
Family ID: |
37420394 |
Appl. No.: |
11/127595 |
Filed: |
May 12, 2005 |
Current U.S.
Class: |
1/1 ;
707/999.009 |
Current CPC
Class: |
G06Q 10/10 20130101;
G06Q 10/06 20130101 |
Class at
Publication: |
707/009 |
International
Class: |
G06F 17/30 20060101
G06F017/30 |
Claims
1. A computer-implemented method of enabling an electronic
signature approval process for modification of data in a
transaction of an Enterprise Resource Planning System (ERP), the
method comprising: accessing a table corresponding to the
transaction; adding a signature field having a property sheet to
the table; and defining a select property in the property sheet
with a select parameter, the select property configured to provide
approval of modified data in the transaction upon entry of a valid
electronic signature.
2. The computer-implemented method of claim 1, further comprising:
accessing an electronic signature module; and configuring the
electronic signature module to correspond with the transaction.
3. The computer-implemented method of claim 2, wherein configuring
the electronic signature module to correspond with the transaction
comprises applying code to the electronic signature module specific
to the transaction.
4. The computer-implemented method of claim 1, wherein the select
parameter in the property sheet comprises a parameter that is used
consistently across all transactions that enable an electronic
signature approval process.
5. The computer-implemented method of claim 4, wherein the
parameter has a consistent naming convention across all
transactions that enable the electronic signature approval
process.
6. The computer-implemented method of claim 1, wherein defining a
select property in the property sheet with a select parameter
further comprises automatically configuring a database log to log
all changes made to the transaction.
7. The computer-implemented method of claim 1, wherein adding a
signature field comprises adding multiple signature fields such
that each signature field that is added corresponds with a required
electronic signature.
8. The computer-implemented method of claim 1, wherein adding a
signature field comprises adding a signature field named signature
modified.
9. A computer readable medium having computer readable instructions
stored thereon for enabling an electronic signature approval
process for modification of data in a transaction of an Enterprise
Resource Planning System (ERP), the computer readable instructions
causing the computing device to perform the steps of: (a) accessing
a table corresponding to the transaction in response to a first
user input; (b) adding a signature field to the table in response
to a second user input; and (c) defining a select property in the
property sheet with a select parameter in response to a third user
input, the select property configured to provide approval of
modified data in the transaction upon entry of a valid electronic
signature.
10. The computer readable medium of claim 23 wherein the computer
readable instructions further cause the computing device to perform
the steps of: (d) accessing an electronic signature module in
response to a fourth user input; and (e) configuring the electronic
signature module to correspond with the transaction in response to
a fifth user input.
11. The computer readable medium of claim 10, wherein step (e)
comprises applying code to the electronic signature module such
that the electronic signature module corresponds with the
transaction.
12. The computer readable medium of claim 9, wherein step (c)
comprises adding a signature field having a property sheet to the
table.
13. The computer readable medium of claim 12, wherein step (c)
further comprises automatically configuring a database log to log
all changes made to the transaction.
14. The computer readable medium of claim 9, wherein step (b)
comprises adding multiple signature fields such that each signature
field that is added corresponds with a required electronic
signature.
15. An Enterprise Resource Planning (ERP) system having a plurality
of transactions and configured to enable an electronic signature
approval process for modifying data in each of the plurality of
transactions, the ERP system comprising: a table configured to be
accessed by the user, the table corresponding to one of the
plurality of transactions; a signature field having a property
sheet and configured to be added to the table by the user; and a
select property included in the property sheet and configured to be
defined with a select parameter such that the select property
provides approval of modified data in the transaction upon entry of
a valid electronic signature.
16. The ERP system of claim 15 and further comprising an electronic
signature module configured to correspond with the transaction.
17. The ERP system of claim 15, wherein the select parameter
automatically configures a database log to log all changes made to
the transaction.
18. The ERP system of claim 15, wherein the signature field
comprises multiple signature fields such that each signature field
that is added corresponds with a required electronic signature.
19. The ERP system of claim 15, wherein the select parameter in the
property sheet comprises a parameter that is used consistently
across all transactions that enable an electronic signature
approval process.
20. The ERP system of claim 19, wherein the select parameter has a
consistent naming convention across all transactions that enable
the electronic signature approval process.
Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] Reference is hereby made to the following co-pending and
commonly assigned patent applications: U.S. application Ser. No.
______, filed ______, entitled "______"; U.S. application Ser. No.
______, filed ______, entitled "______" and U.S. application Ser.
No. ______, filed ______, entitled ______", all of which are hereby
incorporated by reference in their entirety.
BACKGROUND OF THE INVENTION
[0002] The present invention generally relates to computerized
Enterprise Resource Planning (ERP) systems. More particularly, the
present invention relates to an electronic signature approval
process for approving modifications to transactions or documents in
an ERP system.
[0003] Enterprise resource planning (or ERP) is a phrase used to
describe a broad set of activities supported by multi-module
application software that helps a manufacturer or other business
manage the important parts of its business. Computerized ERP
systems typically handle the logistics of various activity modules
internal to a business or organization, such as manufacturing,
production, distribution, inventory, shipping, invoicing,
accounting and human resource management. Often, an ERP system uses
or is integrated with a relational database system. An example of
an ERP system is Microsoft.RTM. Business Solutions-Axapta.RTM..
[0004] Each activity module managed by an ERP system includes
transactions or documents. Transactions or documents include
information or data that describes processes that occur internal to
a business or organization. Many businesses, such as those in the
pharmaceutical or biomedical industries, have certain processes
that are critical processes and need to be approved before they can
be implemented as an activity of the business. Such critical
processes are highly regulated by the Food and Drug Administration
(FDA) and require that implementation of new processes and
modifications to processes as well as deletions of processes are
signed off by a representative or multiple representatives of the
pharmaceutical or biomedical business.
[0005] Generally, information related to a critical process is
stored in the ERP system in the form of a transaction or document.
To approve such a process or a modification to a process, the
document is printed out and manually signed and dated by an
individual or multiple individuals who are allowed to make such
approvals. The document is then stored in a safe place that is
readily available such that copies can be made of the approved
document. For example, if the document requiring approval is a
manufacturing drawing or a process of how a product is developed
then a working copy of the originally signed document can be made
for those needing to complete a specific job shown or discussed in
the document. After the job is complete, the working copy is
destroyed such that only one original exists.
[0006] This manual approval process ensures a history or audit
trail that describes the lifecycle of data by storing old versions
of an approved document as well as storing modified versions of a
document. However, such a paper trail is difficult to manage.
Original documents can easily become misplaced. To ensure that the
history of critical data is fully documented, keeping and storing
additional copies of the original documents is practiced, thus
creating more problems with respect to managing paper trails.
SUMMARY OF THE INVENTION
[0007] The present invention includes a computer-implemented method
of enabling an electronic signature approval process for
modification of data in a transaction of an Enterprise Resource
Planning System (ERP). The method includes accessing a table that
corresponds with the transaction and adding a signature field
having a property sheet to the table. The method also includes
defining a select property in the property sheet with a select
parameter. The select property is configured to provide approval of
modified data in the transaction upon entry of a valid electronic
signature.
[0008] The present invention also includes an ERP system having a
plurality of transactions. The ERP system is configured to allow a
user to enable an electronic signature approval process for
modifying data in each of the plurality of transactions. The ERP
system includes a table configured to be accessed by the user. The
table corresponds to one of the plurality of transactions. The ERP
system includes a signature field having a property sheet. The
signature field is added to the table by the user. The ERP also
includes a select property included in the property sheet. The
select property is defined with a select parameter such that it
provides approval of modified data in the transaction upon entry of
a valid electronic signature.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 illustrates a block diagram of a general computing
environment in which the present invention can be practiced.
[0010] FIG. 2 illustrates a block diagram of an Enterprise Resource
Planning (ERP) system in accordance with an embodiment of the
present invention.
[0011] FIG. 3 is a flowchart illustrating a method of performing an
electronic signature approval process in accordance with an
embodiment of the present invention.
[0012] FIG. 4 illustrates a screenshot of an example electronic
signature form in accordance with an embodiment of the present
invention.
[0013] FIG. 5 illustrates a screenshot of a first tab form of a
database log in accordance with an embodiment of the present
invention.
[0014] FIG. 6 illustrates a screenshot of a second tab form of the
database log illustrated in FIG. 5 in accordance with an embodiment
of the present invention.
[0015] FIG. 7 illustrates a screenshot of a signature log in
accordance with an embodiment of the present invention.
[0016] FIG. 8 is a flowchart illustrating an example method of
performing an electronic signature approval process for making a
change to a production resource in accordance with an embodiment of
the present invention.
[0017] FIG. 9 is a flowchart illustrating a method of enabling an
electronic approval process in an ERP system in accordance with an
embodiment of the present invention.
[0018] FIG. 10 illustrates a screenshot of a table that corresponds
with a transaction in accordance with an embodiment of the present
invention.
[0019] FIG. 11 illustrates a screenshot of the table illustrated in
FIG. 10 in accordance with an embodiment of the present
invention.
[0020] FIG. 12 is a flowchart illustrating a further method of
enabling an electronic approval process in an ERP system in
accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS
[0021] The present invention is described in the context of an
Enterprise Resource Planning (ERP) system. The ERP system of the
present invention includes an electronic signature approval process
where an approver attempts to modify a critical process managed by
the ERP system. Critical processes in the ERP system are stored in
the form of transactions or documents. The present invention is
also described in the context of a user enabling the electronic
approval process. Before describing aspects of the present
invention, however, it may be useful to describe suitable computing
environments that can incorporate and benefit from these
aspects.
[0022] FIG. 1 illustrates an example of a suitable computing system
environment 100 on which the invention may be implemented. The
computing system environment 100 is only one example of a suitable
computing environment and is not intended to suggest any limitation
as to the scope of use or functionality of the invention. Neither
should the computing environment 100 be interpreted as having any
dependency or requirement relating to any one or combination of
components illustrated in the exemplary operating environment
100.
[0023] The invention is operational with numerous other general
purpose or special purpose computing system environments or
configurations. Examples of well-known computing systems,
environments, and/or configurations that may be suitable for use
with the invention include, but are not limited to, personal
computers, server computers, hand-held or laptop devices,
multiprocessor systems, microprocessor-based systems, set top
boxes, programmable consumer electronics, network PCs,
minicomputers, mainframe computers, telephony systems, distributed
computing environments that include any of the above systems or
devices, and the like.
[0024] The invention may be described in the general context of
computer-executable instructions, such as program modules, being
executed by a computer. Generally, program modules include
routines, programs, objects, components, data structures, etc. that
perform particular tasks or implement particular abstract data
types. The invention may also be practiced in distributed computing
environments where tasks are performed by remote processing devices
that are linked through a communication network. In a distributed
computing environment, program modules may be located in both local
and remote computer storage media including memory storage devices.
Tasks performed by the programs and modules are described below and
with the aid of figures. Those skilled in the art can implement the
description and figures provided herein as processor executable
instructions, which can be written on any form of a computer
readable medium.
[0025] With reference to FIG. 1, an exemplary system for
implementing the invention includes a general-purpose computing
device in the form of a computer 110. Components of computer 110
may include, but are not limited to, a processing unit 120, a
system memory 130, and a system bus 121 that couples various system
components including the system memory to the processing unit.
System bus 121 may be any of several types of bus structures
including a memory bus or memory controller, a peripheral bus, and
a local bus using any of a variety of bus architectures. By way of
example, and not limitation, such architectures include Industry
Standard Architecture (ISA) bus, Micro Channel Architecture (MCA)
bus, Enhanced ISA (EISA) bus, Video Electronics Standards
Association (VESA) local bus, and Peripheral Component Interconnect
(PCI) bus also known as Mezzanine bus.
[0026] Computer 110 typically includes a variety of computer
readable media. Computer readable media can be any available media
that can be accessed by computer 110 and includes both volatile and
nonvolatile media, removable and non-removable media. By way of
example, and not limitation, computer readable media may comprise
computer storage media and communication media. Computer storage
media includes both volatile and nonvolatile, removable and
non-removable media implemented in any method or technology for
storage of information such as computer readable instructions, data
structures, program modules or other data. Computer storage media
includes, but is not limited to, RAM, ROM, EEPROM, flash memory or
other memory technology, CD-ROM, digital versatile disks (DVD) or
other optical disk storage, magnetic cassettes, magnetic tape,
magnetic disk storage or other magnetic storage devices, or any
other medium which can be used to store the desired information and
which can be accessed by computer 110. Communication media
typically embodies computer readable instructions, data structures,
program modules or other data in a modulated data signal such as a
carrier wave or other transport mechanism and includes any
information delivery media. The term "modulated data signal" means
a signal that has one or more of its characteristics set or changed
in such a manner as to encode information in the signal. By way of
example, and not limitation, communication media includes wired
media such as a wired network or direct-wired connection, and
wireless media such as acoustic, RF, infrared and other wireless
media. Combinations of any of the above should also be included
within the scope of computer readable media.
[0027] The system memory 130 includes computer storage media in the
form of volatile and/or nonvolatile memory such as read only memory
(ROM) 131 and random access memory (RAM) 132. A basic input/output
system 133 (BIOS), containing the basic routines that help to
transfer information between elements within computer 110, such as
during start-up, is typically stored in ROM 131. RAM 132 typically
contains data and/or program modules that are immediately
accessible to and/or presently being operated on by processing unit
120. By way of example, and not limitation, FIG. 1 illustrates
operating system 134, application programs 135, other program
modules 136, and program data 137.
[0028] The computer 110 may also include other
removable/non-removable volatile/nonvolatile computer storage
media. By way of example only, FIG. 1 illustrates a hard disk drive
141 that reads from or writes to non-removable, nonvolatile
magnetic media, a magnetic disk drive 151 that reads from or writes
to a removable, nonvolatile magnetic disk 152, and an optical disk
drive 155 that reads from or writes to a removable, nonvolatile
optical disk 156 such as a CD ROM or other optical media. Other
removable/non-removable, volatile/nonvolatile computer storage
media that can be used in the exemplary operating environment
include, but are not limited to, magnetic tape cassettes, flash
memory cards, digital versatile disks, digital video tape, solid
state RAM, solid state ROM, and the like. The hard disk drive 141
is typically connected to the system bus 121 through a
non-removable memory interface such as interface 140, and magnetic
disk drive 151 and optical disk drive 155 are typically connected
to the system bus 121 by a removable memory interface, such as
interface 150.
[0029] The drives and their associated computer storage media
discussed above and illustrated in FIG. 1, provide storage of
computer readable instructions, data structures, program modules
and other data for the computer 110. In FIG. 1, for example, hard
disk drive 141 is illustrated as storing operating system 144,
application programs 145, other program modules 146, and program
data 147. Note that these components can either be the same as or
different from operating system 134, application programs 135,
other program modules 136, and program data 137. Operating system
144, application programs 145, other program modules 146, and
program data 147 are given different numbers here to illustrate
that, at a minimum, they are different copies.
[0030] A user may enter commands and information into the computer
110 through input devices such as a keyboard 162, a microphone 163,
and a pointing device 161, such as a mouse, trackball or touch pad.
Other input devices (not shown) may include a joystick, game pad,
satellite dish, scanner, or the like. These and other input devices
are often connected to the processing unit 120 through a user input
interface 160 that is coupled to the system bus, but may be
connected by other interface and bus structures, such as a parallel
port, game port or a universal serial bus (USB). A monitor 191 or
other type of display device is also connected to the system bus
121 via an interface, such as a video interface 190. In addition to
the monitor, computers may also include other peripheral output
devices such as speakers 197 and printer 196, which may be
connected through an output peripheral interface 195.
[0031] The computer 110 is operated in a networked environment
using logical connections to one or more remote computers, such as
a remote computer 180. The remote computer 180 may be a personal
computer, a hand-held device, a server, a router, a network PC, a
peer device or other common network node, and typically includes
many or all of the elements described above relative to the
computer 110. The logical connections depicted in FIG. 1 include a
local area network (LAN) 171 and a wide area network (WAN) 173, but
may also include other networks. Such networking environments are
commonplace in offices, enterprise-wide computer networks,
Intranets and the Internet.
[0032] When used in a LAN networking environment, the computer 110
is connected to the LAN 171 through a network interface or adapter
170. When used in a WAN networking environment, the computer 110
typically includes a modem 172 or other means for establishing
communications over the WAN 173, such as the Internet. The modem
172, which may be internal or external, may be connected to the
system bus 121 via the user input interface 160, or other
appropriate mechanism. In a networked environment, program modules
depicted relative to the computer 110, or portions thereof, may be
stored in the remote memory storage device. By way of example, and
not limitation, FIG. 1 illustrates remote application programs 185
as residing on remote computer 180. It will be appreciated that the
network connections shown are exemplary and other means of
establishing a communications link between the computers may be
used.
[0033] FIG. 2 illustrates a block diagram of an ERP system 200 in
accordance with an embodiment of the present invention. FIG. 3 is a
flowchart 300 illustrating a method of performing an electronic
signature approval process in ERP system 200 in accordance with an
embodiment of the present invention. In one embodiment, the
approval process illustrated in FIG. 3 is directed towards
approving modification of data in a transaction that requires a
single electronic signature.
[0034] The method begins at block 302. At block 302, ERP system 200
accesses a transaction or document from a plurality of transactions
202. Each transaction 202 includes information or data related to a
process that occurs internal to a business and managed by ERP
system 200.
[0035] In one example, ERP system 200 manages a business's
production. Many transactions in the ERP system are categorized as
transactions relating to specific aspects of production. Example
transactions include production resource transactions. A production
resource transaction includes data or information about a resource
that is being used in manufacturing. An example resource is a
milling machine. In such an example, the milling machine resource
transaction includes data indicating how long it takes the milling
machine to operate or data indicating the maximum amount of units
the milling machine can machine (i.e. capacity). It should be noted
that other data is also included in production resource
transactions.
[0036] In another example, ERP system 200 manages a business's
manufacturing. Manufacturing includes many transactions that
include data related to manufacture. One such transaction is a bill
of materials (BOM). The BOM includes a list of materials that is
required to make a particular product. Another such transaction is
a route. The route includes data or information of how to use the
BOM to make a particular product.
[0037] At block 304, ERP system 200 receives an indication that a
piece of data in the accessed transaction 202 is to be modified.
Modifications include additions, deletions or changes to data. Upon
such an indication, ERP system 200 passes to block 306 and an
electronic signature module 204 requests an approver to
electronically sign the transaction in order to perform the
indicated modification. Electronic signature module 204 requests an
electronic signature by using an electronic signature form. The
electronic signature form or window requires the entry of the
approver's username and password.
[0038] FIG. 4 illustrates a screenshot of an example electronic
signature form 400 used for requesting an electronic signature in
accordance with an embodiment of the present invention. Electronic
signature form 400 solicits an approver's username and password to
approve modifications to a transaction. In FIG. 4, the transaction,
which is to be approved, is indicated in process name block 402. In
the example illustrated in FIG. 4, an electronic signature is
requested for the approval of a production resource transaction.
The production resource transaction is known as a Work Center in
ERP system 200. In particular, the production resource is milling
machine number 1. At username field 404, an approver is asked to
enter a valid username. In the example illustrated in FIG. 4, the
approver's username is SVE. Although the approver's username can be
selectable from a plurality of usernames, the approver's username
can also be keyed into username field 404. At password field 406,
the approver is asked to enter a valid password. Electronic
signature form 400 also includes an information block 408.
Information block 408 provides an alert indicating that by
electronically signing the document, the approver understands that
the electronic signature is as legally binding as the approver's
handwritten signature. After the approver has entered their
username and password, the approver selects the okay field 410 such
that electronic signature module 204 will begin processing the
approver's information.
[0039] Referring back to FIGS. 2 and 3, electronic signature module
204 processes the username and password by accessing credentials
module 206. Credentials module 206 compares the username and
password to a list of acceptable usernames and corresponding
passwords. Such a module is well known in the art of authentication
and, in one embodiment of the present invention, credentials module
206 is used to validate the electronic signature such that
modifications can be made to transaction 202. However, credentials
module 206 is also configured to validate a user signing into an
instance of ERP system 200. Such a sharing of credentials between
electronic signature module 204 and an instance of an application
of the ERP system makes user memorization of a username and a
password simpler. There are additional advantages. For example, a
user can be signed into an instance of ERP system 200 and a
different user or approver can electronically sign a modification
to a transaction without being particularly signed into ERP system
200.
[0040] At block 308, electronic signature module 204 verifies
whether the username supplied, for example in username field 404
illustrated in FIG. 4, is a valid username for approving the
specific process. If the username is valid, ERP system 200 proceeds
to block 310. If, however, the username is invalid, ERP system 200
proceeds to block 312. At block 312 the electronic signature
approval process is aborted. At block 310, electronic signature
module verifies whether the password supplied, for example in
password field 406 illustrated in FIG. 4, is a valid password for
the given username. If the password is valid, ERP system 200
proceeds to block 314. If, however, the password is invalid, ERP
system 200 proceeds to block 312. As discussed above, at block 312,
the electronic signature approval process is aborted.
[0041] At block 314, the approver's username and password have been
verified and ERP system 200 writes a signature identification (ID)
that corresponds with the verified approver on accessed transaction
202. The signature ID indicates which approver has electronically
signed or approved modifications to transaction 202. ERP system 200
proceeds to block 316 and updates the transaction with the modified
data. At block 318, ERP system 200 registers the modified data in a
database log 208. Database log 208 is a tracking system that is
configured to log modifications of all information or data in any
given transaction, for example in transaction 202.
[0042] FIGS. 5 and 6 illustrate screenshots of database log 208 in
accordance with an embodiment of the present invention. As
illustrated in FIGS. 5 and 6, the screenshot in FIG. 5 illustrates
a first tab view 500, while the screenshot in FIG. 6 illustrates a
second tab view 600. First tab view 500 and second tab view 600
illustrate logged data of the transaction that corresponds with
production resource milling machine number 1. In FIG. 5, first tab
view 500 illustrates an Overview tab 502 of logged modifications to
milling machine number 1. Overview tab 502 includes a plurality of
columns that categorizes information and describes modification
entries that have been made to the particular production resource.
Example columns include Name of Table 504, Record Description 506,
Type of Change 508, Created Date 510, Created Time 512, Creator
Signature ID 514 and Creator Name 516. As illustrated, the
transaction, corresponding with milling machine number 1, was
created in ERP system 200 on May 19, 2004. On Apr. 1, 2005, the
table transaction was modified or updated and electronically signed
by the Administrator.
[0043] In FIG. 6, second tab view 600 illustrates a history tab
618. History tab 618 shows the actual logged modifications made to
milling machine number 1. History tab 618 includes a Field column
620, a Value column 622 and a Previous value column 624. Referring
to history tab 618, on Apr. 1, 2005, data in Values column 622 was
inserted and updated. History tab 618 also shows that there was no
data in Previous values column 622 before database log 208 was
updated.
[0044] After ERP system 200 registers the modified data into
database log 208, the ERP system passes to block 320 in FIG. 3 and
logs the approval attempt as being successful in a signature log
210 (FIG. 2). Referring back to block 312, if the electronic
signature approval process was aborted, ERP system 200 passes to
block 322 and logs the approval attempt as being unsuccessful in
signature log 210. Successful attempts are those electronic
signature approvals where valid usernames and passwords were used.
Unsuccessful attempts are those electronic signature approvals
where invalid usernames and/or passwords were used.
[0045] All successful and unsuccessful attempts at electronic
signature approval are logged in signature log 210 at either block
320 or block 322. FIG. 7 is a screenshot illustrating a view 700 of
signature log 210 in accordance with an embodiment of the present
invention. View 700 shows each electronic signature approval
attempt as a line entry. The signature log includes a plurality of
columns that include information describing the different attempts
made to electronically approve a process. Example columns include
Machine name 702, Active user ID 704, Signature user ID 706, Signer
name 708, Date 710, Time 712, Process description 714 and Signature
ID 716.
[0046] Machine name column 702 includes the name of the computing
device that was used to attempt electronic signature approval. As
illustrated in FIG. 7, all entries were approval attempts made at
the computing device named PC3401-JLIND. Active user ID column 704
includes the username that was used to sign into or open an
instance of ERP system 200. As illustrated, all entries were
approval attempts made on computing device PC3401-JLIND on an
instance of the ERP system that was signed into by the username
Admin. Signature user ID column 706 includes the username that was
used to attempt electronic signature approval of the resource. In
FIG. 7, the Signature user ID column 706 matches the Active user ID
column 704. However, as discussed above, the user who is attempting
to electronically sign a document need not be the same user who is
signed into the current instance of ERP system 200. It should be
noted that the username and password for signing into an instance
of ERP system 200 has the same credentials as the username and
password for electronically signing a transaction. Signer name
column 708 is the name of the user who is attempting to
electronically sign a transaction. The name of the user corresponds
with the signature user ID. Date column 710 and Time column 712
include the dates and times at which there was an attempt to
electronically approve a document. Process description column 714
includes a short description of what modifications were
attempted.
[0047] Signature ID column 716 includes an alpha-numeric
identification code that is associated with a successful attempt at
electronically signing a document. The first entry of view 700 does
not include a signature ID. The absence of a signature ID indicates
that the particular attempt at electronic signature approval was
unsuccessful. Therefore an unsuccessful entry is made into the
signature log. There can be one of three reasons for an absence of
a signature ID. In one aspect, the user trying to electronically
sign a transaction is not allowed to do so because the user does
not have the proper access rights or credentials to electronically
sign the transaction. In another aspect, the user has entered a
non-existing username. In yet another aspect, the user trying to
electronically sign a transaction has entered the wrong password.
The remaining two entries illustrated in FIG. 7 include a signature
ID (i.e. ES-001 and ES-002). These two entries were successful
attempts at electronically signing a transaction.
[0048] Regardless of the reason for an unsuccessful attempt at
electronic signature, the unsuccessful attempt can also initiate an
email or notification to the administrator. In addition, at any
given time a report can be generated based on successful and
unsuccessful attempts at electronic signature. For example, reports
can be generated that show successful and unsuccessful electronic
signature attempts per user or per date. Other types of reports are
possible.
[0049] In another embodiment of the present invention, multiple
electronic signatures can be applied to a transaction for approval
of a modification. For example, it is possible that a manager or
supervisor of an approver is also required to electronically
approve a transaction. To electronically approve a transaction that
requires multiple signatures, a first approver's electronic
signature is performed in accordance with the method illustrated in
FIG. 3. Upon a first approver's successful attempt at
electronically approving a transaction, a second approver can
attempt to make the same modification to a transaction using the
method illustrated in FIG. 3. Upon a successful attempt, ERP system
200 writes the second approver's signature onto the transaction as
illustrated in blocks 314, 316, 318 and 320 of FIG. 3.
[0050] FIG. 8 is a flowchart 800 illustrating an example method of
performing an electronic signature approval process when making a
change to a transaction in an ERP system, such as ERP system 200.
The example illustrated in FIG. 8 illustrates the steps associated
with changing the capacity of a production resource that requires
electronic signature approval. More particularly, flowchart 800
illustrates changing the capacity of milling machine number 1 as
previously discussed in association with FIGS. 5 and 6.
[0051] The method begins at block 802. At block 802, an approver
changes the capacity of the production resource and at block 804
applies those changes. To make the change, an electronic signature
module, such as electronic signature module 204, requests that the
user electronically sign an electronic signature form, such as the
form illustrated in FIG. 4. At block 806, the approver applies
their electronic signature.
[0052] At block 808, the electronic signature module verifies
whether the username applied in block 806 is a valid username for
approving the specific process to be modified. If the username is
valid, the ERP system proceeds to block 810. If, however, the
username is invalid, the ERP system proceeds to block 812. At block
812 the electronic signature approval process is aborted. At block
810, the electronic signature module verifies whether the password
applied in block 806 is a valid password for the given username. If
the password is valid, the ERP system proceeds to block 814. If,
however, the password is invalid, the ERP system proceeds to block
812. As discussed above, at block 812, the electronic signature
approval process is aborted.
[0053] At block 814, the approver's username and password have been
verified and the ERP system writes a signature ID that corresponds
with the verified approver on the transaction. This signature ID
indicates which approver has approved or electronically signed a
transaction, such as transaction 202. At block 814, the ERP system
also updates the changes to the capacity on the transaction. At
block 816, the ERP system registers the changed capacity in a
database log, such as database log 208. All successful and
unsuccessful attempts at electronic signature approval are logged
in a signature log, such as signature log 210, at either block 818
or block 820. The process description associated with either a
successful or an unsuccessful attempt at electronic signature
approval will include a description that capacity has been changed
on the production resource.
[0054] FIG. 9 is a flowchart 900 illustrating a method of enabling
an electronic approval process in an ERP system, such as ERP system
200 (FIG. 2), in accordance with an embodiment of the present
invention. The method illustrated in FIG. 9 is performed in
response to user inputs. In one embodiment, enabling an electronic
signature for approval of a transaction can require a single
electronic signature.
[0055] Each transaction, such as transaction 202 illustrated in
FIG. 2, includes a corresponding table 212. Referring to FIG. 9, at
block 902, table 212 is accessed in response to a first user input.
Accessed table 212 includes a plurality of fields that contain data
related to corresponding transaction 202. At block 904, a signature
field is added to table 212 in response to a second user input in
order to begin the process of adding an electronic signature
approval process feature to a particular transaction.
[0056] FIG. 10 is a screenshot illustrating a form 1000
representing one table 212 in accordance with an embodiment of the
present invention. Form 1000 illustrates that one table 212 is a
Work Center table. A Work Center table is a table for a production
resource. For example, the Work Center table could be for a milling
machine (i.e. milling machine number 1) as previously discussed.
Those skilled in the art should recognize that other names of
tables exist for other types of transactions. As illustrated, a
signature field 1002 has been added to table 212 to enable an
electronic signature approval process in association with a
particular transaction, such as a production resource. Signature
field 1002 is named signature modified.
[0057] FIG. 11 is a screenshot illustrating a property sheet 1004
associated with signature field 1002 in accordance with an
embodiment of the present invention. Upon adding signature field
1002 to a table, such as a Work Center table, the user is given
access, via a property sheet 1004, to a list of properties
associated with an electronic signature approval process that is
being added to the Work Center table. As illustrated in FIG. 11,
signature field 1002 includes a property sheet 1004. Property sheet
1004 includes a plurality of properties 1006 for defining aspects
of an electronic signature approval process. Each property 1006 is
defined by a parameter 1007.
[0058] Referring back to FIG. 9, at block 906, a select property in
property sheet 1004 is defined by a select parameter in response to
a third user input. As illustrated in FIG. 11, the select property
to be defined is property 1008 or the extended data type. In FIG.
11, the user defines select property 1008 with the select parameter
1009, such as the parameter "SysSignID". The defined select
property 1009 is configured to provide approval of modified data in
the transaction upon entry of a valid electronic signature.
"SysSignID" is simply a naming convention for select parameter
1009. The naming of parameter 1009 should remain consistent across
all transactions or tables in which the electronic signature
approval process is to be enabled. In another words, parameter 1009
is a controlling parameter in that upon entry of the "SysSignID",
or other type of name, the database log is configured to log all
changes to all fields within the particular table, such as the Work
Center table, that includes select parameter 1009. At the point
that select property 1008 is defined by the select parameter 1009,
the foundation to use electronic signature in transaction 202 that
corresponds with table 212 has been established.
[0059] FIG. 12 is a flowchart 1200 illustrating further steps for
enabling electronic signature approval after the foundation has
been established in accordance with FIG. 9. At block 1202,
electronic signature module 204 is accessed in response to a fourth
user input. For example, the fourth user input could be the
manipulation of a developmental tool in ERP system 200. Electronic
signature module 204 corresponds with an electronic signature form.
At block 1204, electronic signature module 204 is configured to
correspond with transaction 202 in response to a fifth user input.
In order to configure electronic signature module 204 to correspond
with transaction 202, the user applies code to the electronic
signature module. The code is specific to the transaction. However,
in many instances, the code is a generic code that needs very
little modification from transaction type to transaction type in
ERP system 200. The following example recites code that can be used
to configure an electronic signature module to correspond with the
example Work Center table: TABLE-US-00001 SysSign sysSign; ;
sysSign = sysSign::construct( tableNum(WrkCtrTable),
fieldNum(WrkCtrTable, SignatureModified)); if (!sysSign.Prompt ( )
) { return; } if (wrkCtrTable.RecId &&
sysSign.parmObjectStatus( ) == sysSignObjectStatus::
DialogFinishedOK) { sysSign.SetSysSignId(wrkCtrTable);
sysSign.finalize( ); } super( ); if (sysSign &&
sysSign.parmObjectStatus( ) ==
sysSugnObjectStatus::DialogFinishedOK)) {
sysSign.setSysSignId(wrkCtrTable); wrkCtrTable.update( );
wrkCenterTable_DS.reread( ); }
[0060] In another embodiment, enabling an electronic signature for
approval of a transaction can require multiple electronic
signatures. In such an embodiment, multiple signature fields are
added for each required electronic signature. In addition, each
signature field is configured with a select parameter, such as
"SysSignID" in the extended data type field. Finally, electronic
signature module 204 is configured to correspond with transaction
202 and therefore table 212, such that multiple signatures can be
applied using different instances of an electronic signature
form.
[0061] As discussed above in FIGS. 2-12 of the present invention,
ERP system 200 (FIG. 2) is a multi-module software application. The
ERP system 200 of the present invention includes a plurality of
transactions 202. Each transaction 202 corresponds with a table
212. If an electronic signature approval process is to be enabled
within a particular table, then the table includes a signature
field having a property sheet. The property sheet includes
properties that are defined by parameters. Basically the parameters
define how each the signature field functions. If an electronic
signature approval process has been enabled for a specific
transaction, then that transaction corresponds with an electronic
signature module 204. The electronic signature module 204 validates
an electronic signature by accessing a credentials module 206. The
ERP system also logs modifications to a transaction in a database
log 208 and also logs electronic signature approval attempts in a
signature log 210.
[0062] In order to accomplish these various functions, ERP system
200 includes suitably programmed processing circuitry or suitable
programming storage circuitry that implements the various modules,
such as a transaction, a table, an electronic signature module, a
credentials module, a database log and a signature log. In
addition, the programmed processing circuitry also controls the use
of fields, property sheets and parameters in tables that correspond
with transactions.
[0063] Although the present invention has been described with
reference to particular embodiments, workers skilled in the art
will recognize that changes may be made in form and detail without
departing from the spirit and scope of the invention.
* * * * *