Navigational interface for ERP system
The present invention comprises a software system having a user-friendly navigational interface utilizing an hierarchical display of business documents based upon a dominant-subordinate relationship between the documents. In one embodiment, the documents are related through the use of keys, which define a relationship between the dominant and the subordinate documents. In conjunction with the selection of a specific document, the invention displays information related to that document. The information to be displayed can be custom defined by the user. In one embodiment, each user can define a unique set of data to be displayed. The invention further provides a means by which the underlying data can be easily edited from the hierarchical display. The present invention also allows the creation of expressions that will alert the user to predetermined conditions. The alert is displayed in conjunction with the hierarchical display of a document, but the expression may be defined by data not normally contained within the document. In one embodiment, each user can define a unique set of alerts for various documents based on conditions of particular interest to the user. The present invention further comprises a visual rendering of predefined expressions describing the progress of work related to a document. This rendering may be based on data not normally contained within the given document. In one embodiment, each user can define a unique set of progress expressions for various documents based on conditions of particular interest to the user.
This patent application is a divisional application of Ser. No. 09/743,152, which was filed Jan. 5, 2001 as a U.S. national filing of PCT/US99/24859 under 35 U.S.C. § 371, which was filed Oct. 22, 1999 and claims the benefit of U.S. Provisional Patent Application No. 60/105,287 filed Oct. 22, 1998.
FIELD OF THE INVENTIONThe present invention relates to software interface systems, and in particular, to methods for providing quick and intuitive navigation to stored information normally available in different business documents.
BACKGROUNDComputer technology, related to both hardware and software, has revolutionized the way business is conducted. At one time, the scarcity of information was a major hurdle for various businesses to overcome. As a result of advancements in computers and information technology, businesses are frequently faced with information overload, since virtually every piece of information related to an enterprise is capable of being stored digitally, and thus being widely accessible, In health related fields, a patient's prescription drug history, insurance information, office visit results and x-rays can be stored in computer memory. A particular stock may be researched, ordered, and the transaction charged to an account, every step being accomplished via computer. Information overload is further exacerbated by the need to rapidly consolidate and assess information. This speed may be necessary in order to compete effectively, to exploit specific market conditions, or to correctly treat a patient in a medical emergency. Further, while much of the information can be stored in a common database, the user interface tends to be designed with a focus on the discipline that is primarily responsible for the information. The resultant interface is confusing to all but those familiar with the particular discipline. Information overload can thus be described as a problem of too much information and less time to rely on interface with another human being confounded by a foreign computer interface.
A specific example of this can be found in Enterprise Resource Planning (ERP) software. Prior to ERP software, a business would generally use different software applications to automate different functional departments of a business. For example, accounting, order entry, manufacturing, inventory and shipping departments would each use their own software systems. While these individual departments can achieve improved operational efficiency through software, the business as a whole would not realize the potential afforded by information technology because the individual software applications may not smoothly interface with each other, and there could be significant duplication of data across the individual systems.
With ERP software, all of the different functional applications for a business share a common database, so all data is entered only once. Moreover, there is a seamless integration of data between disparate applications, so data generated by one application can be immediately used by any other application. Due to the use of a comprehensive database, ERP systems permit enhanced analysis of a business' data.
However, because ERP systems provide such comprehensive access to a business' data, they suffer from having an end user interface that is difficult to learn. Generally, an ERP system is used by nearly every person in every operational department, even though each user only accesses a small portion of the data in the entire ERP system. This tends to make ERP user interfaces inherently complicated, particularly for end users that need to access information outside of the end user's normal area of expertise. For example, while a sales person may become proficient in accessing quotation or sales order information in an ERP system, if customer asks the sales person a question about the shipment or invoice for a particular order, the ERP user interface will usually make it difficult for the sales person find the information, because the user interface for shippers and invoices is likely to be unfamiliar to the sales person.
SUMMARY OF THE INVENTIONThe present invention comprises a software system having a user-friendly navigational interface utilizing an hierarchical display of business documents based upon a dominant-subordinate relationship between the documents. In one embodiment, the documents are related through the use of keys, which define a relationship between the dominant and the subordinate documents. In conjunction with the selection of a specific document, the invention displays information related to that document. The information to be displayed can be custom defined by the user. In one embodiment, each user can define a unique set of data to be displayed. The invention further provides a means by which the underlying data can be easily edited from the hierarchical display.
The present invention also allows the creation of expressions that will alert the user to predetermined conditions. The alert is displayed in conjunction with the hierarchical display of a document, but the expression may be defined by data not normally contained within the document. In one embodiment, each user can define a unique set of alerts for various documents based on conditions of particular interest to the user.
The present invention further comprises a visual rendering of predefined expressions describing the progress of work related to a document. This rendering may be based on data not normally contained within the given document. In one embodiment, each user can define a unique set of progress expressions for various documents based on conditions of particular interest to the user.
BRIEF DESCRIPTION OF THE DRAWINGS
Definitions
A “document” is a compilation of information commonly found in a business environment. Descriptions of specific types of documents related to an ERP setting appear below.
A “sub-document” is a portion of a document and comprises types of information that may appear multiple times. For example, a sales order line item may comprise a quantity, product description, unit price and extended price. A sales order line item is a sub-document because it is included within a larger document, namely a sales order.
A “document instance node” is an entry in a hierarchical tree structure associated with an instance of a representation of a business document, which, when selected, allows information associated with the specific document to be displayed. In the preferred mode, the node is an icon with identifying information adjacent. Alternatively, the node could be in the form of Hypertext, with or without an adjacent icon. It is preferable, although not mandatory, that the node-identifying information or hypertext displayed be sufficient to allow a user to uniquely identify the specific document. For example, a unique customer number, a unique customer name, or a unique composite of both customer number and customer name could represent a specific customer document. Customer name alone may not be sufficiently unique if, for example, a business sells to two different branch offices of the same customer. In this example, it may be the address of the office that differentiates the two customer record entries. Note that in this example, the specific instance could be associated with the node by the unique address of the customer, even if the address is not displayed when the document instance node is selected. It is also preferred in some instances to provide icons for various types of documents that allow the user to rapidly identify the type of document associated with the node. Several elements of the invention are invoked by the selection of a particular node, these elements are described elsewhere.
A “sub-document instance node” is an entry in a hierarchical tree structure that differs from a document instance node in that it is associated with a sub-document. This is useful within the context of the present invention since the line item of a document can form the bridge between two different business groups. For example, a sales force can create sales orders comprised of a list of products. However, while the manufacturing group must fill the entire order, it will be filled by fabricating the individual line items. Thus, the line items function as a bridge between the sales documents and the documents associated with manufacturing the items.
A “document type node” is a node that is used to symbolize a class of business document types. In the preferred embodiment, each “type” comprises a commonly used business document. Examples in an ERP setting include “Customers,” “Sales Orders,” “Job Orders” or “Accounts Payable Sub Ledger.” For any document type node, instances of particular documents (if any) may be displayed in an immediately subordinate position to the document type node. Because, in one embodiment, the document type node is only a heading, it does not cause the display of information for a particular document. In one embodiment of the invention, the document type node is the mechanism by which all of the nodes subordinate to it can be collapsed or expanded to provide easier navigation of the hierarchical tree.
A “filter document type node” is a document type node that is displayed based on the evaluation of a “filter document type node expression.” The filter document type node is displayed at the same level in the hierarchical tree structure as the document type node for the document instance for which the filter document type node expression was defined.
Normally, the satisfaction of a filter document type node expression results in the filter document type node being displayed. While it is possible for the document instance node to only be displayed under the filter document type node and not the document type node when the filter document type node expression is satisfied, allowing the document instance to be displayed more than once in a given level allows for multiple filter document type node expressions to be defined for a given document.
A “filter document type node expression” is a predetermined, logical expression applied to data. It is not necessary that the data accessed to evaluate the logical expression be derived solely from the document referenced by a document instance node for which the filter document type node expression is defined. For example, a credit department manager might define a filter document type node expression for a customer document that evaluates to true if a customer's actual credit exceeds the business's authorized credit limit for that customer, based on evaluation of accounts receivable information for the customer. In one embodiment, each user can define a set of filter document type node expressions unique to that user.
A “sub-document type node” is a type node that symbolizes a class of sub-document types. In one embodiment of the invention, the sub-document type node is the mechanism by which all of the nodes subordinate to it can be collapsed or expanded to provide easier navigation of the hierarchical tree.
A “filter sub-document type node” is a sub-document type node that is displayed based on the evaluation of a “filter sub-document type node expression.” The filter subdocument type node is displayed at the same level in the hierarchical tree structure as the subdocument type node for the sub-document instance for which the filter sub-document type node expression was defined. Normally, the Satisfaction of a filter sub-document type node expression results in the filter sub-document type node being displayed. While it is possible for the sub-document instance node to only be displayed under the filter sub-document type node and not the sub-document type node when the filter sub-document type node expression is satisfied, allowing the sub-document instance to be displayed more than once in a given level allows for multiple filter sub-document type node expressions to be defined for a given sub-document.
A “filter sub-document type node expression” is a predetermined, logical expression applied to data. It is not necessary that the data accessed to evaluate the logical expression be derived solely from the sub-document referenced by a document instance node for which the filter document type node expression is defined. For example, a manufacturing manager might define a filter document type node expression for a job order line item that evaluates to true if a specific receiver document line item is entered. In one embodiment, each user can define a set of filter document type node expressions unique to that user.
A “container” refers to an array of elements wherein the elements may be, but need not be, of the same nature. For instance, a container may comprise an element made up of an alphanumeric code, followed by an element comprised of no more than four numbers. The container can be thought of as a bag, into which any desired data, of any form may be placed. In one embodiment of the present invention, containers comprise representations of business documents and sub-documents.
An “entry point” is a document type that may be selected by the user as the starting point or root for a navigation tree. In one embodiment, this selection is made via the user interface, or by launching the hierarchical display from a screen in which the document is referenced, such as an editing screen.
A “point of interest” is a visual indicator that is displayed next to a document or subdocument instance node based on the evaluation of a “point of interest expression”. Normally, the satisfaction of a point of interest expression indicates a warning condition so as to alert the end user that further investigation is warranted.
A “point of interest expression” is a predetermined, logical expression applied to data. It is not necessary that the data accessed to evaluate the logical expression be derived solely from the document referenced by a document instance node next to which the resultant point of interest indicator would be displayed. For example, consider a customer document. An end user who is a credit manager may set a point of interest expression for a customer document that evaluates to true if a customer's actual credit exceeds the business's authorized credit limit for that customer, based on evaluation of accounts receivable information for the customer.
A “key” is a code that can be shared by two or more containers, pursuant to which there is a one-to-one or a one-to-many relationship between the two or more containers. This is accomplished in one embodiment by utilizing the concept of “primary key” and “foreign key” which is well known in the art. For example, where one container comprises a customer document, it may have a unique key that may be a unique customer name. This could be the primary key for the customer document. A quote business document may include or incorporate that unique customer name as a part of the unique quote business document identifier. However, the customer primary key comprises a foreign key when it is in the quote business document container. While it is not necessary that the keys be displayed to the user, it is useful in some contexts to use unique identifiers and identifier strings in the visual representation to the user. For example, continuing the above example with a customer name, such as “Joe's,” as the primary key for a customer document, a sales order associated with that particular customer may merely append a code such as SO-001 to the customer primary key (signifying sales order 001). While in the sales order container, the key “Joe'sSO-001” would be the primary key, while “Joe's” would be a foreign key. Thus, as between any two types of documents, the primary key will always be a unique identifier for one of the containers; in other words, a key will not be common between two document types such that a many-to-many relationship between the two document types is created.
A “pane” comprises a two or three-dimensional area displayable on a computer screen. In one embodiment, both the first and second panes are displayed in a single window in a windows-based operating system, but the panes could also be displayed in different windows.
A “user class” is a uniquely identifiable group of users. It is possible, but not necessary to define a user class for each unique user.
A “visual progress bar” is a visual representation of the evaluation of a “visual progress bar expression”. The representation in the preferred embodiment is in the form of a bar graph which progresses from zero (0) to one hundred (100) percent based upon the evaluation of the visual progress bar expression.
A “visual progress bar expression” is a user defined expression that evaluates to a numeric value. In one embodiment the expression is of the form x/y and evaluates to a number between 0 and 1. The expression may evaluate any data within the system.
A “breakpoint” is an expression that is defined by the user in conjunction with the visual progress bar expression, such that the color of the bar changes (e.g., from green to yellow to red) at predetermined values of X/Y. The invention further provides a means for reversing the order of the colors, such that the bar changes (e.g., from red to yellow to green) as the expression approaches one hundred (100) percent.
A “layer” is a dominant-subordinate relationship between documents or subdocuments of the same type wherein the subordinate document or sub-document represents a constituent part or step of the dominant document or sub-document.
A “representation of a business document” means a computer memory storing at least the minimal amount of information needed for a business document. In one embodiment the information is stored within containers. While a virtually unlimited number of permutations exist within various business settings, the minimal information for a reasonably useful system for the following documents in an ERP setting is as follows:
-
- Customer: a unique customer identifier. This is normally a customer number or an email address. However, this may also be a customer name. Although not required, a customer record will often include an address, phone number, contact name, and credit limit;
- Quote: a unique customer identifier, at least one quoted item, and a quoted pricing basis. The word “item” in this context need not refer to a discrete unit of a particular good. Similarly, the pricing basis may be as generic as “market value”. Additional information which is not necessary, but which may be present in a quote includes, but is not limited to, available discounts for bulk purchases, shipping arrangements, and date of delivery information. Since there is not necessarily a contract at this point, the quoted price is an estimate of the final price;
- Quote Item Bill of Material (BOM): a uniquely identified quote and at least one quoted item. In the simplest example, the item is a discrete unit, and the BOM is a discrete item. However, more complex items can incorporate a number of materials or subcomponents;
- Quote Item Routing Step: at least one quoted item and at least one operation. The operation may be as simple as transporting an item from place “A” on the manufacturing floor to place “B”. However, this feature is particularly useful in make to order contexts where a routing step indicates a customization of a base product;
- Sales Order: a unique customer identifier, a unique sales order identifier, at least one item, and a pricing scheme. A simple sales order is exemplified in an over the counter sales. However, an over the counter sale comprises information such as a definite quantity and price, which would not be present in a sales order for “all the items which can be produced in a month.” In this more complicated sales order, it would be appropriate to have a per unit pricing scheme, possibly incorporating an incentive scheme. Other information which may be associated with a sales order would be a destination, a quantity, a release date, method of payment, and a need date. The price and the item in a sales order are definite, as contrasted with the quoted price and quoted item of a quote. This is not to say that the final cost is definite, as the price may be on a per unit basis;
- Sales Order Item Release: a unique sales order identifier, at least one item, and an indication of time. While the indication of time might be as simple as “when available”, a sales order item release is particularly useful when a customer prefers to have delivery of purchases staggered over some period of time. In this context, a sales order item release might also include a quantity of items to be released on a specific day. This arrangement allows a price to be established based on a large number of items being purchased, while not creating an excessive need for manufacturing or warehouse capacity since delivery is spread out over time. Additional information may include shipping information;
- Sales Order Item Bill of Material (BOM): a unique sales order, and at least one item. Sales order BOMs are used to track the complete list of materials comprising the sales order item;
- Sales Order Item Routing Step: a unique sales order item and at least one operation;
- Job Order: a unique job order identifier, and an item identifier. Other fields which can be usefully associated with a job order include a release date, a need date, and fields to accumulate costs against the job order. Typical cost fields include material, labor, and overhead;
- Job Order Bill of Material (BOM): a unique job order identifier, and at least one item.
- Job Order Routing Step: a unique job order identifier, at least one item, and at least one operation.
- Shipper: when used to send a product to a customer, a shipper comprises a unique customer identifier, at least one item to be shipped, and a means for determining a shipping date. Alternatively, a shipper may be used when shipping an item to a sub-contractor. In this case, the shipper comprises a unique vendor identifier, at least one item to be shipped, a purchase order identifier, and a means for determining a shipping date. Commonly, this document will also contain freight and shipping charges, and a carrier. In either context, additional information within a shipper optionally comprises freight and shipping charges, a carrier, and the back order quantity. Other useful information may include the source of the items to be shipped.
- Accounts Receivable (AR) Invoice; a unique invoice identifier, a unique customer identifier (this may be an element of the invoice identifier), a quantity of items, a date, and an accumulation of prices for the items. This document will frequently incorporate freight and shipping charges, and carry a total accumulation for items and other charges;
- Accounts Receivable (AR) Payment: a unique payment identifier, a date, an amount, and an accounts receivable invoice identifier.
- General Ledger Account Category: at least one unique general ledger account category. Typically, categories will include assets, liabilities, shareholder's equity, revenue from sales, expenses and cost of goods sold;
- General Ledger Account: a unique account identifier, and a general ledger account category;
- General Ledger Account posting: a unique posting identifier, a general ledger account, and an amount;
- General Journal Entry: a unique general journal entry identifier, a general journal identifier, an amount and a date;
- Accounts Payable Sub Ledger: a unique AP sub-ledger identifier, and a general journal identifier;
- Accounts Payable (AP) Invoice: unique AP invoice identifier, a unique vendor identifier, at least one item, a quantity, at least one price, and a date;
- Accounts Payable (AP) Payment: a unique payment identifier, a date, an amount, and an AP invoice identifier.
- Accounts Receivable (AR) Sub-Ledger: a unique AR sub-ledger identifier, and a general journal identifier,
- Payroll Sub-Ledger: a unique payroll sub-ledger identifier, and a general journal identifier;
- Order Costing Sub Ledger: a unique order costing sub-ledger identifier, and a general journal identifier,
- Vendor: a unique vendor identifier;
- Purchase Order: a unique vendor identifier, a unique purchase order identifier, at least one item, and a pricing scheme;
- Purchase Order Item Release: a unique purchase order identifier, at least one item, and an indication of time;
- Receiver: a receiver identifier, a vendor identifier, at least one item, a quantity of the item(s), and a date. Some documents will include the name of the individual accepting receipt.
A “representation of a sub-document” means a computer memory storing at least the minimal amount of information needed for a sub-document. In one embodiment the information is stored within containers. While a virtually unlimited number of subdocuments exist within any given business setting, the minimal information for some exemplar sub-documents within an ERP setting is defined:
-
- Quote Item: a unique item identifier and a quote identifier, other information that may be listed includes need date and pricing information;
- Sales Order Item: a unique item identifier and a sales order identifier;
- Shipper Item: a unique item identifier and a shipper identifier;
- Purchase Order Item: a unique item identifier and a purchase order identifier,
- Receiver Item: a unique item identifier and a receiver identifier;
- Accounts Receivable (AR) Invoice Item: a unique item identifier and an invoice identifier;
- Accounts Payable (AP) Invoice Item: a unique item identifier and an AP invoice identifier.
Overview
The present invention relates to a quick and informative interface means for presentation of, and navigation through, stored information from different business documents. The invention allows a user to navigate through the information utilizing a means for displaying an hierarchical tree structure reflecting relationships between different types of business documents.
The present invention creates a hierarchical tree structure by defining relationships between different types of business documents as they are encountered in a typical business environment. While the present invention is not restricted to an ERP setting, typical “types” of business documents within an ERP setting include, but are not limited to, quotes, sales orders, customers, job orders, shippers, invoices (AR and AP), BOMs, routing steps, releases, payments (AR and AP), vendors, purchase orders, receivers, GL account categories, GL accounts, GL account postings, GL entries, AP sub-ledgers, AR sub-ledgers, payroll subledgers, and order costing sub-ledgers. In other settings, other variations of documents would be encountered. For example, in a health services setting, the documents may include x-ray negatives, office visit documentation, health insurance provider information, health history, and prescription drug history. Other documents in the above settings and other business settings will be obvious to those skilled in the art, and are within the scope of the present invention.
The documents are displayed to the user, in the preferred embodiment, so as to indicate in a visual manner, the relationship that exists between the documents, as will be defined below. This is accomplished by means of levels and branches, wherein entries within a branch have the same basis, such as the same customer or the same sales order, while entries in the same level will all be of the same type, such as all customers, or all quotes.
The hierarchical structure is based upon a dominant-subordinate relationship between adjacent levels. This relationship means that for a given branch, a dominant entry may have one or many entries in an adjacent subordinate branch. However, an entry within a subordinate level will only have one entry in the immediately adjacent dominant level within the same branch. It is important to note that a given entry may exist on more than one branch, while not violating the above relationship. For example, with reference to
When three entries at three levels within the same branch are considered, the relationship is described as being dominant-subordinate-sub-subordinate. In this case, the dominant-subordinate relationship is as defined above. Further, a dominant-subordinate relationship exists between the subordinate and sub-subordinate entry. As was described above, the relationship between the dominant and sub-subordinate entry would be a dominant-subordinate one. Additionally, as in the dominant-subordinate relationships above, the three entries can be, but need not be, in immediately adjacent levels.
The existence of a particular document entry is symbolized by a document instance node, which can be, but need not be, in the form of an icon. Icons associated with document instance nodes may be, but need not be, of different visual characteristics based on the type of document in conjunction with which they are used. Additionally, the document instance nodes may be, but need not be, grouped under another icon that indicates the type of documents in the particular group. This node is defined as a document type node. As in the case of the document instance nodes, document type nodes may be, but need not be, an icon, having different visual characteristics based on the type of document in conjunction with which the icon is used.
Referring to
In one embodiment type nodes are not used in the present invention. A representative tree structure for this embodiment is shown in
In one embodiment, the user has the option of further filtering document and subdocument instances (which will be described below). The user may define a specific data or group of data as a filter document type node expression or filter sub-document type node expression such that when the expression is met, the document or sub-document in which that data is resident will be shown subordinate to the filtering document type node or filter subdocument type node. For example, a customer document may be presented below a customer document type node as shown in
Referring to
Document instance nodes are associated with stored computer memory comprising representations of business documents. Thus, each instance node may be thought of as being associated with a specific document. Although each node has a discrete set of information associated with the node, the specific information contained within the computer memory may be, but need not be, defined as part of more than one document.
The displayed hierarchical tree structure of the present invention is based upon entry points. An entry point is a document that the user designates as the highest-level for a tree. The invention in the preferred embodiment defines a variety of potential entry points based on the normal flow of business documents in an ERP setting, the varieties of analysis that a business performs, and the specialized knowledge that can be expected within the different business groups of an enterprise. For example, in the scenario where a salesperson is visiting Customer B and Customer B has reason to know what quotes had been provided to Customer A, the salesperson would be interested in obtaining the quotes given to Customer A. Thus, the invention defines a customer document as an entry point and, as will be explained more fully below, the invention provides a means for navigating from a particular customer document (entry point) to the quote documents (subordinate documents) associated with that customer.
While the above example shows arrival at a specific quote from a customer document entry point, it is sometimes useful to enter the system by way of another entry point while accessing the same type of document. For instance, if one is tracking sales history and desires to understand seasonal variability, it is more useful to look directly at sales order documents generally rather than being limited to those of a specific customer. Thus, it is more convenient to look directly to sales order documents, rather than navigating through customer documents, thereby avoiding the extraneous level as well as not over constraining the documents available for exploration. Finally, a sales representative would be knowledgeable as to specific quotes and sales orders. A production manager would be familiar with particular job orders. The shipping department would have special interest in shipping activity, and accounting department personnel would be interested in invoices. Therefore, in the preferred embodiment of the invention, those documents, among others, are designated as entry points. Other entry points or groupings of entry points will be obvious to those skilled in the art as being appropriate for specific applications, those entry points and groupings of entry points are within the scope of the present invention.
Navigation from an entry point in the present invention is effected once a node of interest is selected with means for selecting a node. In one embodiment, means for selecting a node comprises an interface of a cursor controlled by a mouse. Navigation from the entry point is then accomplished by moving the cursor to the desired node and double clicking, or by right clicking the mouse, which causes a menu to appear, and choosing an explore option. Either action may cause nodes subordinate to the selected node to alternately be expanded or collapsed. Once a subordinate node is exposed, repeating the above sequence with the desired subordinate node may further expand the branch. In one embodiment, the above operation can be performed on instance nodes subordinate to document and sub-document type nodes as well as on instances subordinate to filter document and sub-document type nodes.
The invention further allows navigation through certain sub-documents, using the subdocument as a bridge between documents of different types. This is useful particularly in the case of line items. For example, a single sales order comprises several line items. Each of the line items has the potential for spawning several job orders. Thus, it is less confusing to a user to differentiate job orders according to the line item they are associated with, rather than presenting all the job orders related to a sales order. Consequently, the present invention comprises representations of sub-documents, sub-document instance nodes, sub-document type nodes, and filter sub-document type nodes having the same system characteristics as representations of documents, sub-document instance nodes, sub-document type nodes, and filter document type nodes, respectively.
The allowed paths are displayed to the user as branches that may be alternatively investigated from a given entry point or root. The entry point chosen by the user may be represented as the root level of the document tree, and is dominant to the subordinate document or sub-document, which may be navigated to directly from the root level. In one embodiment, subordinate levels are displayed as an indented list immediately below the entry point. While the branch level is in a subordinate relationship to the root level, as a given branch is explored, the branch becomes a dominant level to ensuing branches that are listed below the explored branch. Finally it should be noted that in the preferred embodiment only a single type of document is displayed at the top level (the “root”) of the tree. Alternate embodiments permit multiple entry points to be shown at the top level. One embodiment allows multiple instance nodes for the same business document or subdocument. Specifically, this is allowed when an instance has a filter document type node expression defined. In this scenario, if the expression is satisfied, the instance has a document instance node displayed subordinate both to the document type node as well as to the filter document type node.
Navigation paths in the present invention are defined by relationships between the different documents and sub-documents. In the preferred embodiment, the means for relating documents and or sub-documents is a key. A key will uniquely identify one container. This is the primary key for the container. For example, a customer container may have a primary key of 1001. If a container representing a sales order document is created which will relate to 1001, the container will incorporate customer no. 1001 as a foreign key, while being uniquely identified by its own primary key, S02002, for example.
In navigating to a particular document or sub-document in the preferred embodiment, the following principles apply. First, the document or subdocument to be navigated to (subordinate) must be of a type to which navigation is allowed as defined by the keys that relate documents to each other. Second, the container representing the subordinate document or sub-document must have, as a foreign field, the key which is present as a primary key in the dominant document or sub-document. Third, in any dominant-subordinate relationship, the subordinate document or sub-document must incorporate as a foreign key, any foreign key that was used in order to navigate to its immediately dominant document or subdocument. Applying this to the above example, since navigation is allowed from a customer document to a sales order document, as will be described below, the first principle is satisfied. When container S02002 was defined, it incorporated as a foreign field the primary key of the customer who made the order, in this example, 1001. Thus the second principle is satisfied. Since only two levels are involved, the third principle is met when the second principle is met. The third principle differs from the second principle when the user further explores the branch, S02002. For example, if the job order had been completed, and the product shipped, a shipper document, SH3003 would have been created. SH3003 would be the primary key, while 1001 and S02002 would be foreign keys for SH3003. Thus, continuing the above example, the user would be allowed to navigate to SH3003 since navigation is allowed from a job order to a shipper, SH3003 has S02002 as a foreign key, and S02002 has 1001 as a foreign key. It is important to note that the navigation is not dependent on the type nodes in this embodiment. Thus, the existence of more than one associated node for a given instance within the same level, such as may occur in an embodiment comprising filter document and sub-document type nodes, has no effect on the navigation provided by the present invention.
The present invention also incorporates layers, such that immediately adjacent subordinate levels may, but need not, comprise component documents or layers of the dominant document. Consider the following example. A quote document comprises an automobile, while quote item sub-documents comprise a power package and a sound package. However, the sound package may, but need not, include a remote CD player. Therefore, the sub-document representing a CD player option comprises a sub-layer quote item sub-document. Continuing this example, the remote CD player routing step document would include installation of the remote unit in the trunk. As a sub-layer to the associated routing step document, the running of wire from the remote unit to the local unit would be represented by a sub-layer routing step document. As the above example demonstrates, both documents and sub-documents can be layered.
The present invention further comprises means for defining the information, related to the representation of a business document or subdocument, which will be displayed when a document instance node is selected. The information that is identified by the user is then displayed when the associated instance node is selected. Using an ERP setting as an example, any information within the ERP system may be identified for display. While the information will predominantly comprise data from the selected document or sub-document, a user may identify information not normally associated with the document or sub-document. For example, a sales person interested in displaying information regarding outstanding sales orders for one customer, while interested only in the available credit for another customer, could identify this information for the individual customer such that as the customer documents are selected by the sales person, this information is displayed. In the preferred embodiment, the information is displayed to the user adjacent a user defined label such as, but not limited to, “Days Late”.
In one embodiment, each individual user defines the information according to their particular job needs, and this identification of information is stored within the system during the computer session. The information is also maintained by the system between sessions, available to be recalled whenever the user accesses the system and selects the applicable node. In an alternate embodiment, users are grouped into user classes, sometimes referred to as “roles”, that have common information needs. For example, shipping clerks may all be defined as a single user class, while the president of a company may be the sole member of a user class. The unique identification of users and or. groups of users and storage of user unique information are well known in the art.
The invention comprises a means for displaying the information so designated. The means for displaying information includes but is not limited to a pane within a window.
The invention also allows information within the system to be evaluated, and the results displayed graphically. This is accomplished by providing points of interest and visual progress bars. As in the case of the information to be displayed, the point of interest in the preferred embodiment is user definable, and stored and maintained within the system. The user defines a point of interest expression that is in the form of a logical expression, which resolves to true or not true. The system assesses the underlying information and results are then displayed to the user by a means for displaying a point of interest. In the preferred embodiment, the display is in the form of an icon that appears when the expression evaluates to true, and is displayed next to the instance node for which the expression is defined.
A visual progress bar, in one embodiment, is also user definable, and stored and maintained within the system. The displayed visual progress bar is also based upon an expression. The expression for a visual progress bar is in the form of X/Y, and attains a maximum value of one (1). The system computes a value based on the underlying information and results are then displayed to the user by a means for displaying a visual progress bar. In the preferred embodiment, the display is in the form of a progress bar and text.
The present invention further comprises a means for accessing the representation of a business document that is being displayed. In the preferred embodiment, a means for launching the accessing means is further provided. In the preferred embodiment, the accessing means allows the user to view or edit the representation of a business document. Consequently, a user may edit the representation of a business document by right clicking on the document instance node associated with the representation of a business document. In the preferred embodiment, editing comprises capabilities such as adding, deleting, and altering.
A means for limiting the nodes displayed to a user is also provided. This should not be confused with the function of filtering document and sub-document type nodes described above. The means for limiting displayed nodes in the preferred embodiment comprises a filter text box, into which letters, numbers and wildcards may be placed to limit the nodes displayed by the invention, including those displayed subordinate to filter document and subdocument type nodes.
The invention also comprises a means for launching the navigational software which may be imbedded into the system software, such that while a user is using an interface for displaying information in a representation of a business document, the user may launch the navigational software from that interface. In the preferred embodiment, the navigational software places a node associated with the representation of a business document that was being viewed as the root for the hierarchical tree structure.
Description of Relationships Between Documents
Using the example of an ERP setting, representative paths for navigating between business documents are shown in
Referring to
Customer Related Documents
Moving from customer document 415 to quote document 420 is useful when a salesperson is attempting to ascertain quotes given to a particular customer as has previously been discussed. Moving from customer document 415 to sales order document 425 is useful for understanding the purchase history of a particular customer. A salesperson may use this to ascertain when the next call to a customer should be made. A salesperson may navigate from customer document 415 to job order 430 if a customer has recently had a fire and can not receive any products. The salesperson can rapidly ascertain job order documents 430, representing work in progress, under customer document 415 and put them on hold.
Navigation from customer document 415 to shipper document 435 of demand-side state machine 410 is useful when the customer represented by customer document 415 inquires as to the status of a shipment that is late. The user enters the system at customer document 415 and navigates to shipper document 435 of demand-side state machine 410 to determine whether the shipment is in transit or sitting on the loading dock. Similarly, if a customer inquires as to a recently delivered bill, user can enter at customer document 415 and navigate to AR invoice document 440 to ascertain the basis for the billing. The same customer perspective is useful when an issue arises as to what invoice a particular payment was applied to. The AR clerk or manager would enter at customer document 415 and navigate to AR payment document 445 to find the needed information.
Quote Related Documents
Navigation from quote document 420 to quote item sub document 450 by a sales person is useful when a customer desires to know the cost basis of a particular option for a made to order product. Further evaluation of the cost basis of a quote line item is available by navigating to quote item BOM document 455 to ascertain information concerning the subcomponents of the line item, or by navigating to quote item routing step 460 to determine the processes which are to be performed on the quote line item, such as customized painting.
Sales Order Related Documents
The chain of documents and sub-documents under a sales order document is very similar to that of the chain under a quote document. The primary difference is that instead of an offer as in the case of the quote, the system provides for a means of displaying information concerning a product or service that has been contracted for. Thus, navigation is provided from sales order document 425 to sales order item sub-document 465 and thence to sales order item BOM document 475 or sales order item routing step document 480. However, since a contract for a specific product has been made, certain additional documents and paths are useful in tracking the progress of the product through the manufacturing stages.
The present invention provides a navigation path from sales order document 425 to shipper document 435 of demand-side state machine 410 so that a salesperson may ascertain the status of a specific order upon inquiry from a customer. To determine the status of a delivery for a customer who has a purchase order comprising a plurality of deliveries throughout a year, navigation from sales order item sub-document 465 to shipper document 435 of demand-side state machine 410 is provided. In cases where the product has not yet been shipped, the actual status of the product can be ascertained by navigating to sales order item release document 470 to determine if the item had been released for production and/or for shipping. From sales order item release document 470, navigation is allowed to either job order document 430, to determine where in production the item is, or to shipper document 435 of demand-side state machine 410 to establish shipping information.
Job Order Related Documents
Navigation from job order document 430 to job order BOM document 485 or job order routing step document 490 is useful in gathering information as to the status of a product which has been released for production. Should the sales person in the above example opt to navigate from sales order item release document 470 to job order document 430 instead of shipper document 435 of demand-side state machine 410, only to discover the work on the product has been completed, navigation is provided to shipper document 435 of demand-side state machine 410 directly from job order document 430.
Shipper Related Documents
Navigation from shipper document 435 of demand-side state machine 410 to shipper item sub-document 495 of demand-side state machine 410 is useful for a shipping manager who knows a shipment is supposed to go to a customer, but does not recall the specific items to be loaded. Navigation from shipper item sub-document 495 of demand-side state machine 410 to AR invoice document 440 is needed when personnel in accounts receivable are attempting to reconcile a global payment from a customer that covers all or parts of several shippers.
AR Invoice Related Documents
Many times a payment will be for less than an entire AR invoice. In these circumstances, the invention allows for navigation from AR invoice document 440 to AR invoice item sub-document 497.
AR Payment Related Documents
In the preferred embodiment, one could navigate to AR payment 45 from customer 415 as described above. Alternatively, navigation is useful, for example, from AR invoice item sub-document 497 to AR payment document 445, for accounts receivable personnel rectifying payments received against a specific AR invoice.
While the above examples provided a simple scenario showing the usefulness of the entry points and navigational paths for the preferred embodiment, many other reasons for the chosen paths and entry points exist. Further, many persons in addition to those discussed may be interested in the entry points and navigational paths for varying reasons. Additional entry points and paths are possible, said entry points and paths being within the scope of the present invention.
Supply Related Documents Entry Points
Referring now to
Vendor Related Documents
Continuing with
Purchase Order Related Documents
Navigation is provided from purchase order document 515 to purchase order item subdocument 535 and thence to purchase order item release document 540, which is useful for determining the status of sub-contracting work which is done in support of a contract of the type discussed under sales order item release document 470 of demand state machine 410 of
Shipper Related Documents
Navigation from shipper document 520 of supply side state machine 505 to shipper item sub-document 545 of supply side state machine 505 allows a user to view the specific items comprising shipper 520 of supply side state machine 505. This is useful for a clerk inventorying the products that have been shipped to a sub-contractor.
Receiver Related Documents
Navigation from receiver document 525 to receiver item sub-document 550 is useful for ascertaining the specific items that were received from a sub-contractor. In conjunction with shipper item sub-document 545 of supply side state machine 505, this allows a complete inventory of items at a sub-contractor to be determined. Navigation from receiver item subdocument 550 to AP invoice document 53Q. is useful for accounts payable personnel in determining whether an invoice for a particular item has been received.
AP Invoice Related Documents
Navigation from AP invoice document 530 to AP invoice item sub-document 555 is useful in determining the specific items that are being billed under AP invoice document 530. Navigation from AP invoice document 530 to AP payment document 560 is useful in determining the status of paying vendors for work performed.
GL Related Documents
Referring now to
Continuing with
The information within the aforementioned documents within this state machine comprises compiled information. The relationship between the compilation information and the primary instances is captured by navigation from AP sub-ledger document 630 and AR sub-ledger document 635, to AP invoice document 650 and AR invoice document 665 respectively. AP invoice document 650, AP invoice item sub-document 655, and AP payment document 660 are the same containers as AP invoice document 530, AP invoice item subdocument 555, and AP payment document 560 of
Those of skill in the art will appreciate that in one embodiment of the invention described above, each hierarchy level includes two nodes: a document type node, and a document instance node. For example, the following table illustrates, the node type and hierarchy level numbers for a representative set of records:
However those of skill in the art will appreciate that the document type nodes are optional, as they are not necessarily needed to display information from a particular business document. Accordingly, the document type nodes may be eliminated entirely from the levels of each hierarchy. In such a system, for example, the above representative hierarchy could be displayed as follows.
In such an embodiment, a child business document in a hierarchy may be expanded or collapsed by, for example, double clicking on the parent business document.
The machines in the preferred embodiment define a set of paths and entry points that will be useful in a wide variety of applications. It will be obvious to those skilled in the art that virtually any navigational path between documents can be programmed into a system, and the present invention includes within its scope alternate entry points and or paths that may be defined for an application. The salient feature being that navigation between documents and/or sub-documents of different types is allowed.
User Interface
Referring now to
By activating drop down combo box 40 of explore tab 10, a list of document types is displayed in text box 41. This list is limited to documents that are entry points. In the preferred embodiment, sub-documents are not entry points. The documents which are entry points include customer, quote, sales order, job order, shipper, AR invoice, vendor, purchase order, receiver, AP invoice, GAL account category, and G/L documents. Choosing a specific document type causes text box 50 to resize, according to the selection made, and that control receives focus. Text box 50 displays unique document identifiers, allowing the user to specify a particular document from which tree view control 60 is refreshed. Lookup capability is associated with this control through binocular button 70. Although all derivation of related documents is performed via the unique document identifier, a user can, at any time, activate locator 80 to provide support for other search criteria such as name, date, etc. In addition to a specific search criterion within text box 50, wildcarding can be used, for example, ‘*’=match zero or more, and ‘?’=match one.
Continuing with
There are two primary node categories (or lines) that appear in tree view control 60, type nodes such as type nodes 80, 81, 82, 83, and 84, and instance nodes such as instance nodes 90, 91, 92, 93, 94, 95, and 96. More specifically, type nodes 80, 82, 83, and 84 are document type nodes, which indicate that the documents listed underneath the nodes are of the same type. For example, under Bill of Material (BOM) document type node 84, BOM document instance nodes 94, 95, and 96 are listed. Document instance nodes, such as document instance nodes 90, 92, 93, 94, 95, and 96 identify a specific instance of a document.
Also shown in tree view control 60 are sub-document type node 81 and sub-document instance node 91. These nodes function in the same manner as document type nodes and document instance nodes. However, the nodes are associated with subsets of a document such as the specific line items in a sales order as represented by sub-document instance node 91.
Many actions are controlled by use of the cursor and mouse while in tree view control 60.
Continuing with pop-up menu 815, the “Expand” option expands one branch of the tree view. This operation is analogous to clicking on the ‘+’ appearing to the left of the node. The “Collapse” option collapses one branch of the tree view. This operation is analogous to clicking on the ‘−’ appearing to the left of an expanded node. “Zoom In” performs an exhaustive depth first exploration (explosion) from a chosen node. Rather than double clicking down a series of documents, the user can apply this operation to a node to see all related contents. This operation can expose a vast amount of information from hundreds to possibly thousands of nodes. The breadth of its execution is bound by a user-defined option (described below). “Zoom Out” is opposite the “Zoom In” operation. Thus it collapses ALL nodes on the selected level. The “Explore” option (not shown) is available on type nodes and drives the query to the next state in the state machine. This is the default double click behavior for a node.
With the exception of job order document type nodes, such as job order document type node 83, a document or sub-document type node will only appear as a subordinate document type node if the data base contains an instance node of the applicable type which is appropriately related to the dominant instance node. Thus, referring to
The invention further comprises graphics (icons) such that a user can rapidly categorize the node type or node instance. Referring to
Referring again to
Continuing with
Referring now to
The second primary control is POI grid 220 that contains a single element, which must evaluate to a logical value. If the element evaluates to TRUE for a document or subdocument instance node of a type identified in drop down combo 210, POI icon 97 (shown on
The third primary control is progress indicators grid 240 which comprises five elements, label 245, and expression 250, and lower bound, upper bound, and invert (not shown) which are to the right of expression 250. Label 245 can contain up to twenty characters of text that will be displayed to the left of bar graph 36 on view pane 31 as label 35 of
Properties grid 270 comprises two sub-grids, specifically, label sub-grid 275 and expression sub-grid 280. Entries in label sub-grid 275 such as label sub-grid entry 276 can contain up to twenty characters of text are rendered as label 41 in properties pane 30 of explore tab 10, to the left of expression 42 as shown in
Editing in each grid is effected via a right click menu. Values present in a grid can be manipulated directly. Adding a new entry is accomplished via right-click/Add, the right click can occur anywhere within the bounds of the grid. Similarly, right clicking on the target item and then selecting the ‘Delete’ option from the popup menu removes an entry. In progress Indicators grid 240 and properties grid 270, the relative positions (ordering) of entries can be changed through Right Click/Move Up/Down. Relative position has no bearing for points of interest. The final option of the pop-up menu, Expression Builder, launches a dialog in which the expression can be manipulated.
The final user interface primary control that is shown on display components tab 200 comprises drop down combo box 285 and copy button 290. The development of point of interest, progress indicator, and property expressions can be a time consuming task. For many applications, it is not necessary for each user will have their own, entirely distinct, set of expressions. Rather, several distinct user classes or ‘profiles’ will suffice. Use of drop down combo box 285 and copy button 290 effects the copying of a set of expressions defined for one user to the set of expressions associated with another user. The copy ‘source’ user is determined by making a selection from drop down combo box 285 which displays all users with any expression(s) defined. Once a selection of a user is made, pressing copy button 290 completes the process. All expressions defined for the source user will be copied to the currently logged on (active) user. Any expressions previously defined for the active user are destroyed.
Referring now to
Referring again to
Select on Hover 325 is a check box that determines whether a given node is ‘selected’ simply by the fact that the mouse cursor is over it. Having this setting on a high performance system is desirable as view pane 30 will be refreshed as the mouse passes over each node; allowing the user to view progress indicators for a large number of nodes with relative ease.
Toward the right half of options tab 300 of
Software Implementation
The preferred embodiment of the present invention incorporates Active TreeView Control, a commercially produced tree control available from Sheridan Software Systems, Inc. of Melville New York (Sheridan). System requirements for Active TreeView Control are available from Sheridan, as are descriptions of the included files (both distributable and nondistributable). In addition to these files, the present invention incorporates several additional files to effect various elements.
Icons associated with document type nodes and sub-document type nodes are displayed based upon the file NODEIMAGE.PRG as follows:
In the preferred embodiment, all points of interest, progress indicators, and property values are stored in a single table, ‘EXPLOREP,.DBF’. EXPLORER.DBF is of the form:
A free table is placed in the ERP's primary data directory, typically x:\ERPDATA. If this table does not become part of the ERP database, ‘ERPDATA.DBC’ it is necessary for the data installer to appropriately place this file in the target environment.
The file for checking POI expressions is stored as POINTSOFINTEREST.PRG as follows:
Additional functions and procedures (as opposed to simple expressions) used as expressions described above, are declared in the procedure file ‘EXPLORER.PRG. These procedures/functions are provided in EXPLORER.PRG and are as follows:
-
- PROCEDURE Explorer ARITEMShippedQuantity
- PROCEDURE Explorer CSPopText
- PROCEDURE Explorer JobQuantity
- PROCEDURE Explorer JOCostActual( )
- PROCEDURE Explorer JODRTGCostEstimate( )
- PROCEDURE Explorer JODRTGLaborCost
- PROCEDURE Explorer JODRTGOverheadCost
- PROCEDURE Explorer JODRTGUnitCost
- PROCEDURE Explorer JOMakeQuantity
- PROCEDURE Explorer MTDSales
- PROCEDURE Explorer QTDRTGLaborCost
- PROCEDURE Explorer QTDRTGOverheadCost
- PROCEDURE Explorer QTDRTGTotalCost
- PROCEDURE Explorer QTDRTGUnitCost
- PROCEDURE Explorer QuantityBO
- PROCEDURE Explorer QuantityCommitted
- PROCEDURE Explorer Quantitylnlnspection
- PROCEDURE Explorer QuantityInProcess
- PROCEDURE Explorer QuantityOnHand
- PROCEDURE Explorer QuantityOnOrder
- PROCEDURE Explorer ShipEarly
- PROCEDURE Explorer Ship Via
- PROCEDURE Explorer SODRTGLaborCost
- PROCEDURE Explorer SODRTGOverheadCost
- PROCEDURE Explorer SODRTGTotalCost
- PROCEDURE Explorer SODRTGUnitCost
- PROCEDURE Explorer SORelsOnTimePI
- PROCEDURE Explorer SORelsOnTimePOI
- PROCEDURE Explorer SORELSShipItem
- PROCEDURE Explorer SORELSUOM
- PROCEDURE Explorer SplitShip
- PROCEDURE Explorer Terms
- PROCEDURE Explorer UOM
- PROCEDURE Explorer YTDSales
The compiled version of this file, ‘EXPLORER.FXP’ must be present in the ERP's primary data directory x:\ERPDATA. Additionally, this file must be part of the ERP's setup.exe and be deployed to the target environment in the location described above. It is anticipated that additional functions/procedures would be useful in the target environment, addressing specific user requirements, said functions/procedures can be added to the PRG file. However, once the PRG file has been modified it must be recompiled, otherwise any new development will not be usable in the invention environment. These additional procedures and functions being obvious to those skilled in the art are within the scope of the present invention.
In order to capitalize on the significant ‘programmability’ offered by the present invention, one needs a basic understanding of how the expressions are ‘rendered’ in the view pane. The organization of the view pane is evaluated each time a new node type is selected. The number of, size, and relative location of progress indicators and the location of the ‘Properties’ pane are set. The values of each progress indicator and properties entries are evaluated each time a new node is chosen. Depending on the user selected hover option above, the selection of a new node can occur either by clicking on a node or by simply hovering the mouse over a node. In the latter case, the rendering of the view pane changes in rapid fashion: as the user drags the mouse down the tree view. Sixty or more nodes (depending on screen size, etc.) may be evaluated in a fraction of a second. For this reason, if rapid presentation of information is desired, it is important to develop expressions that can be readily evaluated. If a function/procedure is developed which looks at a given node and descends several levels deeper to gather more information, the system will respond more slowly. Therefore, a balance must be struck between descending to deeper levels to gather detailed information and forcing the user to ‘explore’ more deeply. Therefore, if a great deal of data is to be examined to yield a single or summary result, this task is better left to a report function which is invoked by the ERP system. If, however, the user is looking for an”, answer to a single instance, or identifying a particular problem area to be rapidly assessed, the invention is very useful.
Operation of the Invention
The operation of the preferred embodiment is explained. Once the invention has been launched, a user selects display components tab 200 of
The information to be displayed for the customer documents in properties pane 30 of explore tab 10 can be defined by typing the desired label into label sub-grid 275, and typing the desired expression into expression sub-grid 280. Alternatively, the pre-existing labels and expressions of another user may be copied by selecting drop down combo box 285, and selecting the user to be copied in text box 286. Copying of expressions and labels is then effected by selecting copy button 290.
This process is repeated for every document and sub-document type for which a point of interest, progress indicator, or display of information is desired. The user next selects options tab 300 of
The style of the hierarchical tree structure is set by selecting style drop down combo box 305 and highlighting the desired style in text box 306. Indentation for the subordinate levels is set by selecting the appropriate button on indentation spinner 310 to change the displayed number. Next, the user sets the number of levels to be controlled by the “zoom in” and zoom out’ options of pop-up menu 815 of
The user then selects explore tab 10 of
The results of an initial search (either a single document or several documents of the same type) are displayed in the tree view control 60. A placeholder node, corresponding to the document type identified in the drop down combo box appears as the root node as shown by document type node 80 in
Referring now to
Expansion of an instance node subordinate to customers document type node 735 will result in placeholder nodes for any document or sub-document types having an instance node under it, and a job order node regardless of any associated job order instances as explained above. This is shown in
Moving the cursor over an instance node causes the invention to retrieve the particular instance of the document or sub-document associated with the selected instance node. At this point, all of the document's or sub-document's fields are available to be evaluated. If data items are needed from an associated table a function/procedure must be developed to locate the related record(s) before the evaluation can take place. Typically, these functions/procedures will return the desired value itself. A good example of this would be the ‘on-hand’ functions used to determine various inventory statistics for a related item. Selection of the instance node causes properties pane 30 to be refreshed as a result of select on hover box 325, shown in
Modification of the actual instance is accomplished by selecting the instance, and right clicking the mouse. This causes pop up menu 815 (
Had the user instead explored customer instance node 745 of
Obviously, there exist a large number of variants to the above scenario. The invention may be used in any business setting, and a myriad of state machines may be created to optimize the invention for a particular application. Further, a plethora of alternate viewing, editing, and filtering methods are well known in the art. These and other modifications are obvious to those skilled in the art, and are considered within the scope of the present invention.
Claims
1. A software system comprising:
- representations of a plurality of business documents;
- means for relating the plurality of business documents;
- means for displaying a hierarchical tree structure of representations of business documents, the tree structure having at least one branch, wherein:
- the tree structure has a plurality of levels in a hierarchy, each level being in a dominant-subordinate relationship with each adjacent level, at least two levels in the same branch comprise at least one document type node and at least one document instance node, the document type nodes in at least two different levels in the same tree branch identify different types of business documents, each document instance node is: (a) immediately subordinate to a document type node, (b) associated with a representation of the same type of business document as a document instance node in the same level of the same branch, and (c) associated with a representation of a business document that is related to a representation of a business document associated with a document instance node in another level of the same branch; means for selecting a particular document instance node; and means for displaying information contained in the representation of a business document associated with a selected document instance node.
2. The system according to claim 1 wherein:
- the system allows multiple end users to simultaneously access the software system; the system further comprising
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, an identification of information in a representation of a business document to be displayed for at least one representation of a business document when the document instance node associated with the representation of a business document is selected;
- means for storing, for the at least one of the at least two uniquely identified end user classes, the identification of information in a representation of a business document to be displayed for the at least one representation of a business document when the document instance node associated with the representation of a business document is selected;
- such that the information displayed when a document instance node is selected is in accordance with the identified information stored for the at least one of the at least two uniquely identified end user classes.
3. The system of claim 2 wherein each of the at least one user classes comprises a unique end user.
4. The system of claim 2 further comprising:
- means for maintaining between software sessions, for the at least one of the at least two uniquely identified end user classes, the identification of information in a representation of a business document to be displayed for the at least one representation of a business document.
5. The system according to claim 1 further comprising:
- a point of interest expression; and
- means for displaying a point of interest indicator for each document instance node in which the point of interest expression is met, wherein:
- the software system allows multiple end users to simultaneously access the software system; and further comprising:
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, at least one point of interest expression,
- means for storing, for the at least one of the at least two uniquely identified end user classes, the at least one point of interest expression.
6. The system according to claim 1 further comprising:
- a point of interest expression;
- means for displaying a point of interest indicator for each document instance node in which the point of interest expression is met; and
- means for maintaining between software sessions, the at least one point of interest expression.
7. The system according to claim 1 wherein:
- the system includes means for defining a visual progress bar to be displayed when a particular document instance node is selected; and
- means for displaying the visual progress bar for each document instance node for which a visual progress bar definition exists, wherein:
- the software system allows multiple end users to simultaneously access the software system; and further comprising:
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, at least one visual progress bar definition;
- means for storing, for the at least one of the at least two uniquely identified end user classes, the at least one visual progress bar definition.
8. The system according to claim 1 wherein:
- the system includes means for defining a visual progress bar to be displayed when a particular document instance node is selected; and
- means for displaying the visual progress bar for each document instance node for which a visual progress bar definition exists, further comprising:
- means for maintaining between software sessions, the at least one visual progress bar definition.
9. The software system according to claim 1 further comprising:
- means for accessing a representation of a business document referred to by a document instance node;
- means for launching the means for accessing from the display of a document instance node in the hierarchical tree structure.
10. A software system comprising:
- representations of a plurality of business documents;
- means for relating the plurality of business documents;
- means for displaying a hierarchical tree structure of representations of business documents, the tree structure having at least one branch, wherein: the tree structure has a plurality of levels in a hierarchy, each level being in a dominant-subordinate relationship with each adjacent level, at least two levels in the same branch comprise at least one document instance node, the document instance nodes in at least two different levels of the same tree branch are associated with representations of different types of business documents, each document instance node is: (a) associated with a representation of the same type of business document associated with a document instance node in the same level of the same branch; (b) associated with a representation of a business document that is related to a representation of a business document associated with a document instance node in another level in the same branch;
- means for selecting a particular business document instance node; and
- means for displaying information contained in the representation of a business document associated with the selected document instance node.
11. The system according to claim 10 wherein:
- the system allows multiple end users to simultaneously access the software system; the system further comprising
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, an identification of information in a representation of a business document to be displayed for at least one representation of a business document when the document instance node associated with the representation of a business document is selected;
- means for storing, for the at least one of the at least two uniquely identified end user classes, the identification of information in a representation of a business document to be displayed for the at least one representation of a business document when the document instance node associated with the representation of a business document is selected;
- such that the information displayed when a document instance node is selected is in accordance with the identified information stored for the at least one of the at least two uniquely identified end user classes.
12. The system of claim 11 wherein each of the at least one user classes comprises a unique end user.
13. The system of claim 12 further comprising:
- means for maintaining between software sessions, for the at least one of the at least two uniquely identified end user classes, the identification of information in a representation of a business document to be displayed for the at least one representation of a business document.
14. The system according to claim 10 further comprising:
- a point of interest expression, and
- means for displaying a point of interest indicator for each document instance node in which the point of interest expression is met, wherein:
- the software system allows multiple end users to simultaneously access the software system; and further comprising:
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, at least one point of interest expression,
- means for storing, for the at least one of the at least two uniquely identified end user classes, the at least one point of interest expression.
15. The system of claim 14 further comprising:
- means for maintaining between software sessions, the at least one point of interest expression.
16. The system according to claim 10 wherein:
- the system includes means for defining a visual progress bar to be displayed when a particular document instance node is selected; and
- means for displaying the visual progress bar for each document instance node for which a visual progress bar definition exists, wherein:
- the software system allows multiple end users to simultaneously access the software system; and further comprising
- means for uniquely identifying at least two end user classes;
- means for defining, for at least one of the at least two uniquely identified end user classes, at least one visual progress bar definition,
- means for storing, for the at least one of the at least two uniquely identified end user classes, the at least one visual progress bar definition.
17. A method of navigating to information from different types of business documents in a software system, the method comprising the steps of:
- A) providing:
- representations of a plurality of business documents;
- means for relating the plurality of business documents;
- means for displaying a hierarchical tree structure of representations of business documents, the tree structure having at least one branch, wherein: the tree structure has a plurality of levels in a hierarchy, each level being in a dominant-subordinate relationship with each adjacent level, at least two levels in the same branch comprise at least one document type node and at least one document instance node, the document type nodes in at least two different levels in the same tree branch identify different types of business documents, each document instance node is: (a) immediately subordinate to a document type node, (b) associated with a representation of the same type of business document as a document instance node in the same level of the same branch, and (c) associated with a representation of a business document that is related to a representation of a business document associated with a document instance node in another level in the same branch;
- means for selecting a particular document instance node; and
- means for displaying information contained in the representation of a business document associated with a selected document instance node;
- B) selecting a first of the at least two document instance nodes that is in a level dominant the level of a second of the at least two document instance nodes, such that information associated with the first document instance node is displayed, and
- C) selecting the second of the at least two document instance nodes which is in a level subordinate to the first of at least two document instance nodes, such that information associated with the second document instance node is displayed.
18. A method for displaying information from representations of at least two different business documents of differing types comprising:
- providing representations of at least first and second different business documents of differing types in a computer memory, said representations being related by a common key,
- displaying, for the first and second representations of business documents, a dominant reference and a subordinate reference to the first and second representations of business documents in a manner that shows the dominant-subordinate relationship between the two references,
- providing a document information display area,
- selecting the dominant reference,
- displaying information from the first business document in the information display area,
- selecting the subordinate reference, and
- displaying information from the second business document in the information display area.
19. A computer based system for presentation of and navigation through stored information from difference business documents comprising:
- representations of a plurality of business documents;
- means for relating the plurality of business documents according to a previously established progression. the previously established progression defining the relationships between different types of business documents as they are encountered in a typical business environment and defining allowed navigation paths between the plurality of business documents.
- means for displaying the previously established progression as a hierarchical tree structure off representations of business documents. the tree structure having at least one branch, wherein: the tree structure has a plurality of levels in a hierarchy, each level being in a dominant-subordinate relationship with each adjacent level, at least two levels in the same branch comprise at least one document type node and at least one document instance node, the document type nodes in at least two different levels in the same tree branch identify different types of business documents, each document instance node is: (a) immediately subordinate to a document type node, (b) associated with a representation of the same type of business document as a document instance node in the same level of the same branch, and (c) associated with a representation of a business document that is related to a representation of a business document associated with a document instance node in another level in the same branch;
- means for selecting a particular document instance node; and
- means for displaying information contained in the representation of a business document associated with a selected document instance node.
Type: Application
Filed: Aug 3, 2004
Publication Date: Oct 27, 2005
Inventors: Gary Rush (Lafayette, IN), Herman Kiefus (Lafayette, IN)
Application Number: 10/910,487