US20050240881A1 - Navigational interface for ERP system - Google Patents
Navigational interface for ERP system Download PDFInfo
- Publication number
- US20050240881A1 US20050240881A1 US10/910,487 US91048704A US2005240881A1 US 20050240881 A1 US20050240881 A1 US 20050240881A1 US 91048704 A US91048704 A US 91048704A US 2005240881 A1 US2005240881 A1 US 2005240881A1
- Authority
- US
- United States
- Prior art keywords
- document
- business
- node
- instance node
- representation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/048—Indexing scheme relating to G06F3/048
- G06F2203/04803—Split screen, i.e. subdividing the display area or the window area into separate subareas
Definitions
- the 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.
- ERP Enterprise Resource Planning
- a business 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.
- ERP software 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.
- ERP systems provide such comprehensive access to a business' data, they suffer from having an end user interface that is difficult to learn.
- 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.
- 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.
- the documents are related through the use of keys, which define a relationship between the dominant and the subordinate documents.
- the invention displays information related to that document.
- the information to be displayed can be custom defined by the user.
- 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.
- 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.
- each user can define a unique set of progress expressions for various documents based on conditions of particular interest to the user.
- FIG. 1 is a representative excerpt of a pane showing a hierarchical arrangement of different types of business documents.
- FIG. 2 shows a screen that may be used to specify the particular information to be displayed when a document or sub-document instance node is selected.
- FIG. 3 shows a representative screen showing how options for displaying the hierarchical structure may be specified.
- FIG. 4 shows an exemplary hierarchical relationships between demand business documents and subdocuments.
- FIG. 5 shows an exemplary hierarchical relationships between supply business documents and subdocuments.
- FIG. 6 shows an exemplary hierarchical relationships between general ledger business documents and subdocuments.
- FIG. 7 shows a hierarchical display system in which document type nodes are displayed subordinate to a document instance node for those document types that actually exist for the particular document instance node.
- FIG. 8 shows a pop-up box that permits an accessing screen for a particular business document (or sub-document) to be launched directly from the hierarchical tree structure.
- FIG. 9 shows the screen of FIG. 3 with representative display parameter options and data filter options.
- FIG. 10 is a representative data-editing screen for a customer record type business document.
- FIG. 11 is a representative data-editing screen for part of a sales quote type business document.
- FIG. 12 is a representative data-editing screen for the sales line item sub-document part of the sales quote type business document-editing screen of FIG. 11 .
- FIG. 13 shows representative icons that may be used to specify whether a particular Bill-of-Materials document is for a Make, Buy or Sell item.
- FIG. 14 shows the levels of a branch in a tree structure in which both document type nodes and document instance nodes are used.
- FIG. 15 shows the level of a branch in a tree structure in which only document type nodes and document instance nodes are used.
- 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.
- 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.
- the node is an icon with identifying information adjacent.
- 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.
- it may be the address of the office that differentiates the two customer record entries.
- 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.
- 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.
- each “type” comprises a commonly used business document. Examples in an ERP setting include “Customers,” “Sales Orders,” “Job Orders” or “Accounts Payable Sub Ledger.”
- instances of particular documents 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- the sub-document instance node 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.
- 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.
- 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.
- 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).
- the key “Joe'sSO-001” would be the primary key, while “Joe's” would be a foreign key.
- 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.
- 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.
- 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:
- 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:
- 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.
- 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 FIG. 4 , one may navigate from customer (level 1 ) to sales order (level 2 ) to shipper (level 3 ), or, from customer (level 1 ) to shipper (level 2 ). Navigation is described more fully below.
- the relationship is described as being dominant-subordinate-sub-subordinate.
- the dominant-subordinate relationship is as defined above.
- 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.
- 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.
- 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.
- 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.
- Tree structure 1405 comprises three levels, indicated by columns 1410 , 1415 , and 1420 .
- Level 1415 is subordinate to level 1410 and dominant to level 1420
- level 1420 is subordinate to both level 1410 and level 1415 .
- one type node 1425 is displayed along with two instance nodes 1430 and 1435 .
- Type nodes 1440 and 1445 are displayed in subordinate level 1415 .
- Instance nodes 1450 and 1455 are of the same type, since both are shown under type node 1440 , and both are related and subservient to instance node 1430 .
- Instance nodes 1430 , 1450 , and 1455 are all in the same branch.
- Instance nodes 1460 and 1465 are shown under type node 1445 . Thus, they are of the same type as type node 1445 . While they are subordinate to instance node 1435 , and of the same branch as instance node 1435 , they are not necessarily related to instance node 1430 . Finally, instance nodes 1470 is shown in level 1420 . Thus, instance node 1470 would be subordinate to instance nodes 1450 and 1430 , but not 1455 . Further, instance node 1470 is of the same branch as instance nodes 1450 and 1430 , but it is not of the same branch as instance node 1455 .
- type nodes are not used in the present invention.
- a representative tree structure for this embodiment is shown in FIG. 15 , which like FIG. 14 displays three levels, 1510 , 1520 , and 1530 .
- the instance nodes shown in FIG. 15 have the same relationships as the instance nodes in an embodiment incorporating type nodes. Namely, instance node 1550 is subordinate to instance node 1540 , and of the same branch as instance node 1540 . Instance node 1560 is subordinate to both instance node 1540 and instance node 1550 , and of the same branch as instance nodes 1540 and 1550 . At the same time, instance node 1570 is subordinate to and of the same branch as instance node 1540 , but instance node 1540 is not of the same branch as instance node 1550 .
- 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.
- a customer document may be presented below a customer document type node as shown in FIG. 7 .
- the user had defined a filtering document type expression for any customer having an outstanding invoice greater than thirty days, and named that filter document type node “Accounts Overdue,” and customer 000100-AIR APPLICATIONS INC.
- customer document 000100-AIR APPLICATIONS INC. would be shown subordinate to “Customers” document type node in addition to “Accounts Overdue” filter document type node. Further, the “Accounts Overdue” filter document type node would be displayed at the same indentation as the document type node “Customers.”
- the document or sub-document may be displayed alternatively, or redundantly. This does not violate the one-to-one or one-to-many dominant subordinate relationship defined above in that there is only one instance being referenced. It is merely being redundantly presented to the user.
- the document and sub-document instance nodes may, but need not, be acted upon and navigated from just as an instance node under a document or sub-document type node.
- Instance nodes 1610 and 1620 , and 1630 , 1640 and 1650 are displayed subordinate to type nodes 1660 and 1670 respectively, indicating relationships defined above.
- Instance node 1690 is likewise displayed subordinate to instance node 1610 .
- the identical tree is shown in FIG. 17 , with the exception that a filter document type node expression has been defined, and instance node 1610 satisfies the logical expression. Consequently, filter document type node 1675 is displayed with instance node 1680 listed underneath.
- the actual instance associated with instance node 1680 is the same instance that is associated with instance node 1610 .
- expansion of node 1680 and consequent exploration leads to instance node 1690 , just as expansion and exploration of instance node 1610 leads to instance 1690 .
- instance node 1680 is in all functional respects identical to instance node 1610 .
- 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.
- 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.
- entry points 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.
- 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.
- 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.
- 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.
- the top level the “root”
- 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.
- 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.
- the document or subdocument to be navigated to must be of a type to which navigation is allowed as defined by the keys that relate documents to each other.
- 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.
- 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.
- container S02002 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.
- 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.
- a quote document comprises an automobile
- quote item sub-documents comprise a power package and a sound package.
- the sound package may, but need not, include a remote CD player.
- the sub-document representing a CD player option comprises a sub-layer quote item sub-document.
- the remote CD player routing step document would include installation of the remote unit in the trunk.
- the running of wire from the remote unit to the local unit would be represented by a sub-layer routing step document.
- 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.
- 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”.
- 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.
- 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.
- 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.
- 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.
- 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.
- a means for launching the accessing means is further provided.
- 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.
- 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.
- 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.
- FIGS. 4, 5 and 6 representative paths for navigating between business documents are shown in FIGS. 4, 5 and 6 , which respectively describe supply, demand and general ledger documents.
- Typical “types” of business documents within the ERP setting comprise, but is 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 sub-ledgers, and order costing sub-ledgers.
- demand-side state machine 410 is described.
- Customer document 415 comprises the highest-level entry point of demand-side state machine 410 .
- the usefulness of entering at customer document 415 is described above.
- Quote 420 , sales order 425 , job order 430 , shipper 435 , and AR invoice 440 also comprise entry points for demandside state machine 410 , such that a user may navigate using these entry points as the root level of the tree. It is useful to enter at quote documents 420 in order to perform business analysis. For instance, in assessing the appropriateness of a product's price, a salesperson may want to know if an item has been quoted frequently, but rarely sold. This might indicate that the product is overpriced.
- 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.
- 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.
- 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.
- 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 .
- 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.
- 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.
- 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 .
- 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.
- the invention allows for navigation from AR invoice document 440 to AR invoice item sub-document 497 .
- AR payment 45 from customer 415 as described above.
- 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.
- Vendor document 510 comprises the highest-level entry point for supply side state machine 505 .
- a production manager may desire to begin a tree at the vendor document level in order to if it is known that a product has been shipped to a particular sub-contractor, but the purchase order number is not known.
- purchase order document 515 shipper document 520 of supply side state machine 505 receiver document 525 and AP invoice document 530 are provided as entry points in the preferred embodiment.
- a salesperson receiving an inquiry as to the meaning of a specific purchase order item may be given a purchase order number as a reference and enter at purchase order document 515 .
- the same salesperson may use a number or receiver number in asking the shipping clerk whether a product is sitting on the loading dock. Therefore, the shipping clerk would enter the navigation tree at shipper document 520 of supply side state machine 505 or receiver document 525 respectively.
- An accounts payable clerk may be given an invoice number when asked about the status of paying a vendor, thus entering the tree at AP invoice document 530 . Consequently, the preferred embodiment has defined the above entry points to minimize the navigation required to obtain the desired information.
- navigation paths through supply side state machine 505 are defined.
- Navigation from vendor document 5 , 10 to purchase order document 515 is of use in several instances. One example is for accounts payable personnel attempting to determine the number of open orders that exist for a given vendor.
- Navigation from vendor document 510 to shipper document 520 of supply side state machine 505 is useful for a sales person desiring information on the status of a product that has sub-contract work to be performed on the product.
- Navigation from vendor document 510 to receiver document 525 is useful for determining if the product has returned from the sub-contractor.
- Navigation from vendor document 510 to AP invoice document 530 is useful for a manager interested in performing a price comparison between vendors.
- 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 FIG. 4 .
- a salesperson investigating a late delivery can ascertain whether the shipment to the sub-contractor has been released.
- navigation from purchase order document 515 or purchase order item release document 540 to shipper 520 of supply side state machine 505 allows a salesperson to determine if the product has been shipped to the vendor for the sub-contracted work to be performed.
- Navigation from purchase order document 515 to receiver document 525 is useful in determining if the product has been returned from the vendor.
- 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.
- 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 53 Q. is useful for accounts payable personnel in determining whether an invoice for a particular item has been received.
- 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 drill-down state machine 605 is explained.
- the highest level entry point for GL drill-down state machine 605 is GL account category document 610 . This entry point is provided for users who are not familiar with the various accounts in the general ledger, so as to be an aid in determining an exploration path.
- the other entry point in GL drill-down state machine 605 is GL account document 615 which is useful for experienced users who know the account they are interested in.
- navigation paths of GL drill-down state machine 605 are described. Navigation from GL account category document 610 to GL account document 615 is used to begin focus on a specific GL account, such as but not limited to assets, liabilities, and shareholders' equity. Navigation from GL account document 615 to GL account postings document 620 is useful for viewing cash flow within a specific account without the confusion of daily fluctuations. Navigation from GL account postings document 620 to general journal entries sub-document 625 is useful in focusing on activity on a daily basis, allowing analysis of trend lines for any account in any account category. Navigation from general journal entries sub-document 625 to the ledgers comprising the entry allows for increased focused on the ledgers which is useful, for example, in performing cost analysis. In the preferred embodiment, the ledgers comprise AP sub-ledger document 630 , AR sub-ledger document 635 , payroll sub-ledger document 640 , and order costing sub-ledger document 645 .
- the ledgers comprise AP sub-ledger document 630 , AR sub
- 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 FIG. 5 .
- AR invoice document 665 , AR invoice item sub-document 670 , and AR payment document 675 of GL drill-down state machine 605 in the preferred embodiment are the same containers as AR invoice document 440 , AR invoice item sub-document 497 , and AR payment document 445 of supply-side state machine 410 shown in FIG. 4 .
- each hierarchy level includes two nodes: a document type node, and a document instance node.
- the following table illustrates, the node type and hierarchy level numbers for a representative set of records: Description Node Type Level Customers Document type node 1 customer 1 Document instance node 1 quotes Document type node 2 quote 1 Document instance node 2 quote line items Document type node 3 quote line item 1 Document instance node 3 quote line item 2 Document instance node 3 quote 2 Document instance node 2 quote line items Document type node 3 quote line item 1 Document instance node 3 quote line item 2 Document instance node 3 sales orders Document type node 2 sales order 1 Document instance node 2 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 sales order 2 Document instance node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 sales order 2 Document instance node 2 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 sales order 2 Document instance node 3
- 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.
- 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.
- Explore tab 10 contains the primary visual objects that the user interacts with when locating or reviewing information.
- Explore tab 10 comprises the means for displaying a hierarchical tree structure shown by navigation pane 20 , and the means for displaying information embodied as properties pane 30 .
- the relative sizes of the panes may be adjusted by placing the mouse cursor (not shown) between the two at or about dashed line 25 and then clicking and dragging the mouse to yield the desired proportion.
- 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 .
- locator 80 can, at any time, activate locator 80 to provide support for other search criteria such as name, date, etc.
- search criteria such as name, date, etc.
- tree view control 60 is a hierarchical tree structure of document instance and type nodes.
- tree view control 60 is a commercially available control such as can be provided by Sheridan Software Systems, Inc. of Melville New York, which is discussed in more detail below.
- Tree view control 60 contains the result of the current search criterion of locator 80 , combo box 40 , or text box 50 .
- Tree view control 60 contents are not removed until a new search criterion is specified. It is via tree view control 60 that the user navigates to related documents or sub-documents, initiates further exploration from, and receives certain visual feed back pertaining to the state of a document.
- type nodes such as type nodes 80 , 81 , 82 , 83 , and 84
- instance nodes such as instance nodes 90 , 91 , 92 , 93 , 94 , 95 , and 96 .
- 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.
- sub-document type node 81 and sub-document instance node 91 are also shown in tree view control 60 . 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 .
- FIG. 8 shows explore tab 10 .
- Cursor 805 indicated by the shaded rectangle, has been placed over job order instance node 810 .
- pop-up menu 815 is displayed.
- Pop-up menu 815 comprises 5 actions, namely, “Go To”, “Expand”, “Collapse”, “Zoom In”, and “Zoom Out.”
- “Go To” causes an editing screen for the selected business document (or sub-document) to be launched directly from tree view control 60 .
- Data editing screen 1000 shown in FIG. 10 , is an embodiment of a data-editing screen for a customer document.
- Data-editing screen 1100 of FIG. 11 is an embodiment of a data-editing screen for a quote document
- data-editing screen 1200 of FIG. 12 shows an embodiment of a data editing screen for a sales line item sub-document.
- 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.
- 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.
- the display of document type nodes 705 , 710 , 715 , and 720 indicate that there are instance nodes subordinate to those type nodes.
- job order document type node 725 must be explored.
- the preferred embodiment displays a subordinate job order type node such as job order type node 725 whenever demand-side state machine 410 of FIG. 4 indicates that navigation to an existent job order would be allowed.
- job order 430 it is possible for job order 430 to be subordinate to customer 415 , or sales order item release 465 . Consequently, whenever a sales order item release or customer document instance node is displayed as an expanded dominant document instance node, such as document instance node 730 of FIG. 7 , a job order document type node will be displayed.
- This designed anomaly reflects the fact that a potential exists for an excessive number of job orders within a given database, necessitating an extensive search to verify no applicable job orders exist.
- a system designed to await search results for job orders has the potential for unduly delaying display of search results. Consequently, the preferred embodiment will display a job order type node along with the actual search results, while completing the search of the job orders within a database.
- the invention further comprises graphics (icons) such that a user can rapidly categorize the node type or node instance.
- graphics icons
- FIG. 2 various icons for document and sub document type nodes are shown. The use of icons to visually symbolize different types of objects is well known in the art.
- document and sub-document instance nodes may also have a variety of distinct graphics that can be displayed in conjunction with the specific type of document or sub-document rendered. Even within a given type of document, various icons may be used to impart more particular information about the underlying instance. For example, referring to FIG. 13 , representative examples of icons are shown that may be used to further categorize bills of material. (BOM).
- BOM bills of material.
- Icon 1305 may be used to show a BOM for an item which will be manufactured internally, icon 1310 may be used to indicate the item is an item which must be bought, and icon 1315 may indicate an item which can be sold. Alternate associations are within the scope of the present invention.
- the appearance of the node's text itself may serve to differentiate.
- document and sub-document type nodes appear in bold text while document and sub-document instance nodes are not in bold text. This is shown, for example, in FIG. 1 by the text for document type node 80 , “Sales Orders” which appears in bold text, and the text for document instance node 90 , “001004-COBY EQUIPMENT CO.” which is not in bold text.
- POI icon 97 appears as a generalized warning symbol. The details of POI icon 97 are discussed below, but its primary purpose is normally to alert the user that a predefined condition exists.
- view pane 30 is shown on explore tab 10 .
- Two types of objects are shown in the embodiment of FIG. 1 , progress indicators and properties. Referring to FIG. 1 , progress indicators are rendered in label/3D panel pair 31 while the properties values are rendered in edit box 32 . These two object types are used to provide informational feedback pertaining to the ‘selected’ document or sub-document instance node in tree view control 60 . The definition of the expressions that generate these objects is discussed below.
- Progress indicators 33 and 34 comprise label 35 and bar graph 36 .
- properties values 37 , 38 and 39 are also shown. Each properties value comprises label 41 and expression 42 . In the preferred embodiment, up to twenty progress indicators and an unlimited number of properties values may be defined for each document or sub-document instance node.
- Display components tab 200 comprises four primary controls.
- the first primary control is drop down combo box 210 which, when selected, causes a list of the document and sub-document instance nodes viewable in explore tab 10 shown in FIG. 1 , to appear in text box 211 .
- Highlighting the desired node serves to select/identify the specific document or sub-document instance node for which expressions are being displayed/modified in tab 200 .
- a second identifier, not shown, for a given editing session is the user under whose logon the invention is being accessed. So if, for example, a consultant or other technical personnel is defining expressions for a given user, they need to be logged in as that user so that the expressions created/modified are associated with that user and not the person manipulating the expression.
- 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 FIG. 1 ) will appear beside the document or sub-document instance node in tree view control 60 of explore tab 10 which is of the type identified in drop down combo 210 .
- the element may comprise a single expression, or multiple expressions for a given document or subdocument type node. Referring to FIG. 2 , POI expression 230 is shown in POI grid 220 . This expression, if evaluated to true, would cause POI icon 97 to be displayed.
- POI expression 231 is also present in POI grid 220 , a logical “OR” is read between the expressions such that if either POI expression 2301 or POI expression 231 evaluates to true for a given document or sub-document instance which is of the type identified in drop down combo box 210 , POI icon 97 will be displayed with the document or sub-document instance node on tree view control 60 .
- the expression can, but need not, evaluate data directly associated with the document or sub-document instance node for which the expression is defined. Consequently, the expression or multiple expressions can evaluate data primarily associated with any document or sub-document, in any combination for a given POI.
- a sales person may create an expression that evaluates to true for a specific customer document instance node when three months has elapsed since the last order placed by the customer.
- This POI will only appear on explore tab 10 for the sales person's user logon, not, for example, on the accounts receivable clerk's explore tab 10 .
- the accounts receivable clerk may create an expression that evaluates to true for a given customer document instance node if a customer has an invoice outstanding for three months or more.
- the expression evaluates to true the POI would be present on the accounts receivable clerk's explore tab 10 , but not on the sales person's explore tab 10 . While several different POI expressions may be defined for a number of distinct users, there is no requirement that any be defined.
- 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 FIG. 1 .
- Expression 250 comprises the numeric expression used to render bar graph 36 as a bar progressing from left to right indicating from 0% to 100%. Expression 250 must return a value between zero and one and is typically of the form x/y.
- Bar graph 36 is rendered in one of three colors. In the preferred embodiment, this color scheme is red, yellow, and green.
- Upper bound and lower bound serve to identify the threshold at which bar graph 36 changes from red to yellow and from yellow to green.
- Invert (not shown) is a check box, that when checked inverts the color scheme order of bar graph 36 from red, yellow, green to green, yellow, red.
- Up to twenty progress indicators may be identified for each document or sub-document instance node. As in the case of POIs discussed above, the progress indicators are uniquely programmable by each unique user.
- 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 FIG. 1 .
- Entries in expression sub-grid 280 such as expression sub-grid entry 281 identify the specific data rendered as expression 42 in properties pane 30 of explore tab 10 .
- This expression can evaluate to any of the common data types available in commercially available systems such as FoxPro, which is available from Microsoft of Seattle, Wash.
- the system converts entries under expression subgrid 280 from the form “table.field” to characters.
- An unlimited number of values may be defined for each document or sub-document instance node.
- This feature of the present invention allows the individual user to determine the information within the document that is of the most importance to the user's function. For example, a shipping clerk selecting a customer document instance node would most likely be concerned with the address of the customer and preferred shipping means. Therefore, the shipping clerk has the ability to configure the invention to present this information when the customer document instance node is selected.
- the president of the company might be more interested in the names of the executives and the phone numbers for a customer. Therefore, the president could configure the invention to display this information when a customer document instance node is selected.
- 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.
- 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.
- Options tab 300 comprises several user preferences and operational controls.
- Style drop down combo box 305 is a drop down combo box that controls the display aspects of tree view control 60 of navigation pane 20 of explore tab 10 .
- the user can set any one of seven preferences that are listed in text box 306 when style drop down combo box 305 is selected.
- FIG. 9 shows options tab 300 with style drop down combo box 305 selected, and the seven available preferences.
- Indentation spinner 310 is a spinner control that determines the amount of indentation (in pixels) that each subordinate level is indented from the dominant level in tree view control 60 of navigation pane 20 of explore tab 10 .
- Font Size 315 is a spinner control that determines the relative size of the text appearing in tree view control 60 of navigation pane 20 of explore tab 10 .
- Zoom Depth 320 is a spinner control that determines the maximum number of levels a ‘Zoom In’ operation will attempt. The zoom operation is the exhaustive exploration of a chosen node. Due to the nature of the relationships contained in the invention as embodied in the preferred embodiment, the number of nodes explored during the zoom operation could easily reach into the thousands.
- Image Size 330 is an option group that determines whether large or small graphics (icons) appear along with each node.
- “Large” is the default, and the user can choose between 16 ⁇ 16 or 32 ⁇ 32 (pixel) icons.
- 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.
- Status grid 335 is multi-select such that one, a combination, or all entries may be selected. It is important to note that these filters are placed on status grid 335 as defined by the preferred embodiment, and that no other logical expression may be applied. In addition, not all documents have a status. In these cases, status grid 335 is disabled.
- date fields 340 and 345 At the lower right hand portion of options tab 300 of FIG. 3 are shown date fields 340 and 345 . These fields can be used to restrict the documents or subdocuments displayed on explore tab 10 . The date fields can be used alone or in conjunction with the status filter to further restrict the records retrieved during exploration.
- 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.
- 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).
- the present invention incorporates several additional files to effect various elements.
- EXPLOREP EXPLORER.DBF
- EXPLORER.DBF is of the form: Field Name Type Width Description FCINITIALS Character 3
- FIORDER Integer 4 Order in which entry appears (1 Indexed) FCLABEL Character 30 Descriptive text appearing to the left of Property or Progress Indicator FCEXPR Character 254
- Valid VFP expression that is evaluated to produce result FILO Integer 4 Lower transition (Green- Yellow) bound for Progress Indicator FIHI Integer 4 Upper transition (Yellow- Red) bound for Progress Indicator FLINVTHERM Logical 1 causes progress indicator to go from Red Yellow-Green
- ERP enterprise resource planning
- 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.
- EXPLORER.PRG 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:
- 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.
- 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.
- a user selects display components tab 200 of FIG. 2 .
- User selects a node type by selecting drop down combo box 210 , and highlighting “Customer” in text box 211 .
- Desired points of interest for customer documents can then be defined by typing in the appropriate expression in points of interest grid 220 .
- Labels and expressions can then be typed in for any desired progress indicators by typing the desired label into progress indicators grid 240 .
- the details of the progress to be monitored are entered into progress indicators grid 240 along with a numeric value between zero and one for the upper and lower bounds, indicating when the progress bar graph should change in color, from green, to yellow, to red. If desired, the order is reversed by checking the invert box found to the far right of expression 250 .
- 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 .
- 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 .
- 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.
- the user sets the number of levels to be controlled by the “zoom in” and zoom out’ options of pop-up menu 815 of FIG. 8 .
- Select on hover 325 is then checked to automatically refresh view pane 30 of FIG. 1 when the cursor highlights an instance node.
- the desired document statuses to be included in the tree are then set by selecting drop down combo box 333 and selecting the desired document type in text box 334 .
- the operation is completed by highlighting the desired statuses in status grid 335 . This sequence is repeated for all document and sub-document types that are desired to be shown in the hierarchical tree.
- the tree can be further limited by placing a date limit in date fields 340 and 345 .
- the tree is created in navigation pane 20 by first selecting drop down combo box 40 of explore tab 10 . This causes a list of available document types to be displayed in text box 41 . Highlighting a desired document type in text box 41 causes that document type to be displayed in text box 41 , and a search to be conducted for that type of document, within the constraints established on options tab 300 of FIG. 3 .
- the results of an initial search 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 FIG. 1 , and the result set of the search appears in tree view control 60 .
- a search parameter may be typed in text box 50 .
- This search adds only document and sub-document instance nodes for instances found to the tree. The actual instances are not retrieved the instance node is selected as is explained below.
- This two step methodology of first searching, and later retrieving serves to balance response time for ‘explore’ requests between a single level search and an exhaustive search where hundreds if not thousands of records could be scanned.
- an initial search is performed for customer documents.
- the corresponding logic in the preferred embodiment will add Customers document type node 735 and any customer numbers and names. From the initial search the user can ‘drill down’ into further detail by exploding the desired nodes until a leaf is reached; then taking one of the two following actions: double clicking on the leaf node or right clicking on the leaf node and choosing ‘Explore’ from the popup menu. This action will initiate the same two-level exploration of the chosen node type described above with the exception being that the document identifier is already present (it was the node chosen to explore).
- 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 FIG. 7 by sales quotes document type node 705 , sales order document type node 710 , job orders document type node 725 , shippers document type node 715 , and AR invoices document type node 720 .
- 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 FIG. 3 , being checked.
- Modification of the actual instance is accomplished by selecting the instance, and right clicking the mouse. This causes pop up menu 815 ( FIG. 8 ) to be displayed. Selection of the “Go To” option causes a data-editing screen for the selected instance to be displayed. For example, by selecting customer instance node 730 ( FIG. 7 ), right clicking the mouse, and selecting the “Go To” option, data-editing screen 1000 shown in FIG. 10 is displayed.
- quote instance nodes related to Indiana Fan Co. would have been displayed. Following the above “Go To” process, data-editing screen 1100 of FIG. 11 would be displayed for quote document 1115 . Notice that text box 1105 reflects the same customer number used to identify customer instance node 745 of FIG. 7 . From data-editing screen 1100 of FIG. 11 , the user may select items tab 1110 , causing items tab 1110 to be displayed as shown in data-editing screen 1200 of FIG. 12 . This is the data-editing screen for quote line item document 1205 related to quote document 1115 shown in FIG. 11 . Alternatively, the user could have drilled down to the subdocument instance node associated with quote line item document 1205 , selected the subdocument instance node, and selected the “Go To” option from the pop-up menu.
Abstract
Description
- 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.
- The 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.
- Computer 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.
- 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.
-
FIG. 1 is a representative excerpt of a pane showing a hierarchical arrangement of different types of business documents. -
FIG. 2 shows a screen that may be used to specify the particular information to be displayed when a document or sub-document instance node is selected. -
FIG. 3 shows a representative screen showing how options for displaying the hierarchical structure may be specified. -
FIG. 4 shows an exemplary hierarchical relationships between demand business documents and subdocuments. -
FIG. 5 shows an exemplary hierarchical relationships between supply business documents and subdocuments. -
FIG. 6 shows an exemplary hierarchical relationships between general ledger business documents and subdocuments. -
FIG. 7 shows a hierarchical display system in which document type nodes are displayed subordinate to a document instance node for those document types that actually exist for the particular document instance node. -
FIG. 8 shows a pop-up box that permits an accessing screen for a particular business document (or sub-document) to be launched directly from the hierarchical tree structure. -
FIG. 9 shows the screen ofFIG. 3 with representative display parameter options and data filter options. -
FIG. 10 is a representative data-editing screen for a customer record type business document. -
FIG. 11 is a representative data-editing screen for part of a sales quote type business document. -
FIG. 12 is a representative data-editing screen for the sales line item sub-document part of the sales quote type business document-editing screen ofFIG. 11 . -
FIG. 13 shows representative icons that may be used to specify whether a particular Bill-of-Materials document is for a Make, Buy or Sell item. -
FIG. 14 shows the levels of a branch in a tree structure in which both document type nodes and document instance nodes are used. -
FIG. 15 shows the level of a branch in a tree structure in which only document type nodes and document instance nodes are used. - 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
FIG. 4 , one may navigate from customer (level 1) to sales order (level 2) to shipper (level 3), or, from customer (level 1) to shipper (level 2). Navigation is described more fully below. Further, it is possible to have a plurality of levels between two entries of the same branch, while maintaining a dominant-subordinate relationship with respect to the two entries. For instance, in the above example, customer is dominant to shipper, regardless of whether or not one navigates through an intermediate sales order document. - 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
FIG. 14 , this is explained.Tree structure 1405 comprises three levels, indicated bycolumns Level 1415 is subordinate tolevel 1410 and dominant tolevel 1420, andlevel 1420 is subordinate to bothlevel 1410 andlevel 1415. Referring tocolumn 1410, onetype node 1425 is displayed along with twoinstance nodes 1430 and 1435.Type nodes 1440 and 1445 are displayed insubordinate level 1415.Instance nodes instance node 1430.Instance nodes Instance nodes type node 1445. Thus, they are of the same type astype node 1445. While they are subordinate to instance node 1435, and of the same branch as instance node 1435, they are not necessarily related toinstance node 1430. Finally,instance nodes 1470 is shown inlevel 1420. Thus,instance node 1470 would be subordinate toinstance nodes instance node 1470 is of the same branch asinstance nodes instance node 1455. - In one embodiment type nodes are not used in the present invention. A representative tree structure for this embodiment is shown in
FIG. 15 , which likeFIG. 14 displays three levels, 1510, 1520, and 1530. The instance nodes shown inFIG. 15 have the same relationships as the instance nodes in an embodiment incorporating type nodes. Namely,instance node 1550 is subordinate toinstance node 1540, and of the same branch asinstance node 1540.Instance node 1560 is subordinate to bothinstance node 1540 andinstance node 1550, and of the same branch asinstance nodes instance node 1570 is subordinate to and of the same branch asinstance node 1540, butinstance node 1540 is not of the same branch asinstance node 1550. - 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
FIG. 7 . However, if the user had defined a filtering document type expression for any customer having an outstanding invoice greater than thirty days, and named that filter document type node “Accounts Overdue,” and customer 000100-AIR APPLICATIONS INC. did in fact have an invoice which had issued more than thirty days previously that was still outstanding, then customer document 000100-AIR APPLICATIONS INC. would be shown subordinate to “Customers” document type node in addition to “Accounts Overdue” filter document type node. Further, the “Accounts Overdue” filter document type node would be displayed at the same indentation as the document type node “Customers.” In this embodiment, the document or sub-document may be displayed alternatively, or redundantly. This does not violate the one-to-one or one-to-many dominant subordinate relationship defined above in that there is only one instance being referenced. It is merely being redundantly presented to the user. The document and sub-document instance nodes may, but need not, be acted upon and navigated from just as an instance node under a document or sub-document type node. - Referring to
FIG. 16 , a tree structure with a filter document type node is explained.Instance nodes nodes Instance node 1690 is likewise displayed subordinate toinstance node 1610. The identical tree is shown inFIG. 17 , with the exception that a filter document type node expression has been defined, andinstance node 1610 satisfies the logical expression. Consequently, filter document type node 1675 is displayed withinstance node 1680 listed underneath. The actual instance associated withinstance node 1680 is the same instance that is associated withinstance node 1610. Further, expansion ofnode 1680 and consequent exploration leads toinstance node 1690, just as expansion and exploration ofinstance node 1610 leads toinstance 1690. Thus,instance node 1680 is in all functional respects identical toinstance node 1610. - 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
FIGS. 4, 5 and 6, which respectively describe supply, demand and general ledger documents. Typical “types” of business documents within the ERP setting comprise, but is 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 sub-ledgers, and order costing sub-ledgers. - Referring to
FIG. 4 , demand-side state machine 410 is described. Customer document 415 comprises the highest-level entry point of demand-side state machine 410. The usefulness of entering at customer document 415 is described above.Quote 420,sales order 425,job order 430,shipper 435, andAR invoice 440 also comprise entry points fordemandside state machine 410, such that a user may navigate using these entry points as the root level of the tree. It is useful to enter atquote documents 420 in order to perform business analysis. For instance, in assessing the appropriateness of a product's price, a salesperson may want to know if an item has been quoted frequently, but rarely sold. This might indicate that the product is overpriced. Conversely, if every quote results in an order, perhaps the item is under priced. The usefulness of entering atsales order 425 was presented above. A Production manager who wants to know the status of backlogs would desire to enter straight intojob orders 430, not being immediately interested in the particular customers affected. Further, the production manager would be able to see all the open orders that are yet to be addressed by manufacturing. An individual that is in the shipping department might know that they are sending a shipment to a particular organization, but not the specific items or quantities to be shipped. This individual would be interested in entering atshipper document 435 of demand-side state machine 410 and drilling down to find the specific information. Referring still toFIG. 4 , the allowed navigation paths of the preferred embodiment are described. From customer document 415, direct navigation is possible to quotedocument 420,sales order document 425,job order document 430,shipper document 435 ofdemandside state machine 410,AR invoice document 440, orAR payment document 445. - 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 tosales 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 tojob 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 toshipper 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 toAR 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 toAR payment document 445 to find the needed information. - Quote Related Documents
- Navigation from
quote document 420 to quoteitem 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 quoteitem BOM document 455 to ascertain information concerning the subcomponents of the line item, or by navigating to quoteitem 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 salesorder item sub-document 465 and thence to sales orderitem BOM document 475 or sales order itemrouting 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 toshipper 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 toshipper 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 orderitem release document 470 to determine if the item had been released for production and/or for shipping. From sales orderitem release document 470, navigation is allowed to eitherjob order document 430, to determine where in production the item is, or toshipper document 435 of demand-side state machine 410 to establish shipping information. - Job Order Related Documents
- Navigation from
job order document 430 to job orderBOM document 485 or job order routingstep 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 orderitem release document 470 tojob order document 430 instead ofshipper document 435 of demand-side state machine 410, only to discover the work on the product has been completed, navigation is provided toshipper document 435 of demand-side state machine 410 directly fromjob 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 toAR 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 ARinvoice 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
FIG. 5 , supplyside state machine 505 is explained.Vendor document 510 comprises the highest-level entry point for supplyside state machine 505. A production manager may desire to begin a tree at the vendor document level in order to if it is known that a product has been shipped to a particular sub-contractor, but the purchase order number is not known. In addition tovendor document 510,purchase order document 515,shipper document 520 of supplyside state machine 505receiver document 525 andAP invoice document 530 are provided as entry points in the preferred embodiment. A salesperson receiving an inquiry as to the meaning of a specific purchase order item may be given a purchase order number as a reference and enter atpurchase order document 515. The same salesperson may use a number or receiver number in asking the shipping clerk whether a product is sitting on the loading dock. Therefore, the shipping clerk would enter the navigation tree atshipper document 520 of supplyside state machine 505 orreceiver document 525 respectively. An accounts payable clerk may be given an invoice number when asked about the status of paying a vendor, thus entering the tree atAP invoice document 530. Consequently, the preferred embodiment has defined the above entry points to minimize the navigation required to obtain the desired information. - Vendor Related Documents
- Continuing with
FIG. 5 , navigation paths through supplyside state machine 505 are defined. Navigation fromvendor document 5,10 to purchaseorder document 515 is of use in several instances. One example is for accounts payable personnel attempting to determine the number of open orders that exist for a given vendor. Navigation fromvendor document 510 toshipper document 520 of supplyside state machine 505 is useful for a sales person desiring information on the status of a product that has sub-contract work to be performed on the product. Navigation fromvendor document 510 toreceiver document 525 is useful for determining if the product has returned from the sub-contractor. Navigation fromvendor document 510 toAP invoice document 530 is useful for a manager interested in performing a price comparison between vendors. - Purchase Order Related Documents
- Navigation is provided from
purchase order document 515 to purchaseorder item subdocument 535 and thence to purchase orderitem 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 orderitem release document 470 ofdemand state machine 410 ofFIG. 4 . Thus, a salesperson investigating a late delivery can ascertain whether the shipment to the sub-contractor has been released. Continuing this example, navigation frompurchase order document 515 or purchase orderitem release document 540 toshipper 520 of supplyside state machine 505 allows a salesperson to determine if the product has been shipped to the vendor for the sub-contracted work to be performed. Navigation frompurchase order document 515 toreceiver document 525 is useful in determining if the product has been returned from the vendor. - Shipper Related Documents
- Navigation from
shipper document 520 of supplyside state machine 505 to shipper item sub-document 545 of supplyside state machine 505 allows a user to view the specificitems comprising shipper 520 of supplyside 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 toreceiver 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 supplyside state machine 505, this allows a complete inventory of items at a sub-contractor to be determined. Navigation fromreceiver 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 APinvoice item sub-document 555 is useful in determining the specific items that are being billed underAP invoice document 530. Navigation fromAP invoice document 530 toAP payment document 560 is useful in determining the status of paying vendors for work performed. - GL Related Documents
- Referring now to
FIG. 6 , GL drill-downstate machine 605 is explained. The highest level entry point for GL drill-downstate machine 605 is GLaccount category document 610. This entry point is provided for users who are not familiar with the various accounts in the general ledger, so as to be an aid in determining an exploration path. The other entry point in GL drill-downstate machine 605 isGL account document 615 which is useful for experienced users who know the account they are interested in. - Continuing with
FIG. 6 , navigation paths of GL drill-downstate machine 605 are described. Navigation from GLaccount category document 610 toGL account document 615 is used to begin focus on a specific GL account, such as but not limited to assets, liabilities, and shareholders' equity. Navigation fromGL account document 615 to GL account postings document 620 is useful for viewing cash flow within a specific account without the confusion of daily fluctuations. Navigation from GL account postings document 620 to general journal entries sub-document 625 is useful in focusing on activity on a daily basis, allowing analysis of trend lines for any account in any account category. Navigation from general journal entries sub-document 625 to the ledgers comprising the entry allows for increased focused on the ledgers which is useful, for example, in performing cost analysis. In the preferred embodiment, the ledgers comprise APsub-ledger document 630, ARsub-ledger document 635,payroll sub-ledger document 640, and order costingsub-ledger document 645. - 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 ARsub-ledger document 635, toAP invoice document 650 andAR invoice document 665 respectively.AP invoice document 650, APinvoice item sub-document 655, andAP payment document 660 are the same containers asAP invoice document 530, APinvoice item subdocument 555, andAP payment document 560 ofFIG. 5 .AR invoice document 665, ARinvoice item sub-document 670, andAR payment document 675 of GL drill-downstate machine 605 in the preferred embodiment are the same containers asAR invoice document 440, ARinvoice item sub-document 497, andAR payment document 445 of supply-side state machine 410 shown inFIG. 4 . - 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:
Description Node Type Level Customers Document type node 1 customer 1 Document instance node 1 quotes Document type node 2 quote 1 Document instance node 2 quote line items Document type node 3 quote line item 1 Document instance node 3 quote line item 2 Document instance node 3 quote 2 Document instance node 2 quote line items Document type node 3 quote line item 1 Document instance node 3 quote line item 2 Document instance node 3 sales orders Document type node 2 sales order 1 Document instance node 2 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 sales order 2 Document instance node 2 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 job orders Document type node 2 job order 1 Document instance node 2 job order 2 Document instance node 2 customer 2 Document instance node 1 sales orders Document type node 2 sales order 1 Document instance node 2 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 sales order 2 Document instance node 3 sales order line items Document type node 3 sales order line item 1 Document instance node 3 sales order line item 2 Document instance node 3 job orders Document type node 2 job order 1 Document instance node 2 job order 2 Document instance node 2 - 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.
Description Node Type Level customer 1 Document instance node 1 quote 1Document instance node 2 quote line item 1Document instance node 3 quote line item 2Document instance node 3 quote 2Document instance node 2 quote line item 1Document instance node 3 quote line item 2Document instance node 3 sales order 1Document instance node 2 sales order line item 1Document instance node 3 sales order line item 2Document instance node 3 sales order 2Document instance node 2 sales order line item 1Document instance node 3 sales order line item 2Document instance node 3 job order 1Document instance node 2 job order 2Document instance node 2 Customer 2Document instance node 1 sales order 1Document instance node 2 sales order line item 1Document instance node 3 sales order line item 2Document instance node 3 sales order 2Document instance node 2 sales order line item 1Document instance node 3 sales order line item 2Document instance node 3 job order 1Document instance node 2 job order 2Document instance node 2 - 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
FIG. 1 , the preferred embodiment of the invention is described. Exploretab 10 contains the primary visual objects that the user interacts with when locating or reviewing information. Exploretab 10 comprises the means for displaying a hierarchical tree structure shown bynavigation pane 20, and the means for displaying information embodied asproperties pane 30. As is well known in the art, the relative sizes of the panes may be adjusted by placing the mouse cursor (not shown) between the two at or about dashed line 25 and then clicking and dragging the mouse to yield the desired proportion. - By activating drop down
combo box 40 ofexplore tab 10, a list of document types is displayed intext 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 causestext 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 throughbinocular button 70. Although all derivation of related documents is performed via the unique document identifier, a user can, at any time, activatelocator 80 to provide support for other search criteria such as name, date, etc. In addition to a specific search criterion withintext box 50, wildcarding can be used, for example, ‘*’=match zero or more, and ‘?’=match one. - Continuing with
FIG. 1 , below drop downcombo box 40, and occupyingnavigation pane 20 ofexplore tab 10, is tree view control 60, which is a hierarchical tree structure of document instance and type nodes. In the preferred embodiment, tree view control 60 is a commercially available control such as can be provided by Sheridan Software Systems, Inc. of Melville New York, which is discussed in more detail below. Tree view control 60 contains the result of the current search criterion oflocator 80,combo box 40, ortext box 50. Tree view control 60 contents are not removed until a new search criterion is specified. It is via tree view control 60 that the user navigates to related documents or sub-documents, initiates further exploration from, and receives certain visual feed back pertaining to the state of a document. - There are two primary node categories (or lines) that appear in tree view control 60, type nodes such as
type nodes instance nodes type nodes document type node 84, BOMdocument instance nodes document instance nodes - Also shown in tree view control 60 are
sub-document type node 81 andsub-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 bysub-document instance node 91. - Many actions are controlled by use of the cursor and mouse while in tree view control 60.
FIG. 8 shows exploretab 10.Cursor 805, indicated by the shaded rectangle, has been placed over joborder instance node 810. By right clicking, pop-upmenu 815 is displayed. Pop-upmenu 815 comprises 5 actions, namely, “Go To”, “Expand”, “Collapse”, “Zoom In”, and “Zoom Out.” When selected, “Go To” causes an editing screen for the selected business document (or sub-document) to be launched directly from tree view control 60.Data editing screen 1000, shown inFIG. 10 , is an embodiment of a data-editing screen for a customer document. Data-editing screen 1100 ofFIG. 11 is an embodiment of a data-editing screen for a quote document, and data-editing screen 1200 ofFIG. 12 shows an embodiment of a data editing screen for a sales line item sub-document. - 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 toFIG. 7 , the display ofdocument type nodes order type node 725, job orderdocument type node 725 must be explored. For practical reasons, the preferred embodiment displays a subordinate job order type node such as joborder type node 725 whenever demand-side state machine 410 ofFIG. 4 indicates that navigation to an existent job order would be allowed. For example, referring toFIG. 4 , it is possible forjob order 430 to be subordinate to customer 415, or salesorder item release 465. Consequently, whenever a sales order item release or customer document instance node is displayed as an expanded dominant document instance node, such asdocument instance node 730 ofFIG. 7 , a job order document type node will be displayed. This designed anomaly reflects the fact that a potential exists for an excessive number of job orders within a given database, necessitating an extensive search to verify no applicable job orders exist. Therefore, while display of type nodes when no associated instance node exists is avoided so as to limit the amount of spurious information displayed to the user, a system designed to await search results for job orders has the potential for unduly delaying display of search results. Consequently, the preferred embodiment will display a job order type node along with the actual search results, while completing the search of the job orders within a database. - The invention further comprises graphics (icons) such that a user can rapidly categorize the node type or node instance. Referring to
FIG. 2 , various icons for document and sub document type nodes are shown. The use of icons to visually symbolize different types of objects is well known in the art. In the same manner, document and sub-document instance nodes may also have a variety of distinct graphics that can be displayed in conjunction with the specific type of document or sub-document rendered. Even within a given type of document, various icons may be used to impart more particular information about the underlying instance. For example, referring toFIG. 13 , representative examples of icons are shown that may be used to further categorize bills of material. (BOM).Icon 1305 may be used to show a BOM for an item which will be manufactured internally,icon 1310 may be used to indicate the item is an item which must be bought, andicon 1315 may indicate an item which can be sold. Alternate associations are within the scope of the present invention. In addition to the graphics (icons) appearing in conjunction with the node's text, the appearance of the node's text itself may serve to differentiate. In the preferred embodiment, document and sub-document type nodes appear in bold text while document and sub-document instance nodes are not in bold text. This is shown, for example, inFIG. 1 by the text fordocument type node 80, “Sales Orders” which appears in bold text, and the text fordocument instance node 90, “001004-COBY EQUIPMENT CO.” which is not in bold text. - Referring again to
FIG. 1 , a secondary graphic is defined. This icon is Point of Interest (POI)icon 97. In the preferred embodiment,POI icon 97 appears as a generalized warning symbol. The details ofPOI icon 97 are discussed below, but its primary purpose is normally to alert the user that a predefined condition exists. - Continuing with
FIG. 1 ,view pane 30 is shown onexplore tab 10. Two types of objects are shown in the embodiment ofFIG. 1 , progress indicators and properties. Referring toFIG. 1 , progress indicators are rendered in label/3D panel pair 31 while the properties values are rendered inedit box 32. These two object types are used to provide informational feedback pertaining to the ‘selected’ document or sub-document instance node in tree view control 60. The definition of the expressions that generate these objects is discussed below. Progress indicators 33 and 34 comprise label 35 and bar graph 36. Also shown areproperties values label 41 andexpression 42. In the preferred embodiment, up to twenty progress indicators and an unlimited number of properties values may be defined for each document or sub-document instance node. - Referring now to
FIG. 2 ,display components tab 200 is shown.Display components tab 200 comprises four primary controls. The first primary control is drop downcombo box 210 which, when selected, causes a list of the document and sub-document instance nodes viewable inexplore tab 10 shown inFIG. 1 , to appear intext box 211. Highlighting the desired node serves to select/identify the specific document or sub-document instance node for which expressions are being displayed/modified intab 200. As is discussed below, a second identifier, not shown, for a given editing session is the user under whose logon the invention is being accessed. So if, for example, a consultant or other technical personnel is defining expressions for a given user, they need to be logged in as that user so that the expressions created/modified are associated with that user and not the person manipulating the expression. - 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 downcombo 210, POI icon 97 (shown onFIG. 1 ) will appear beside the document or sub-document instance node in tree view control 60 ofexplore tab 10 which is of the type identified in drop downcombo 210. The element may comprise a single expression, or multiple expressions for a given document or subdocument type node. Referring toFIG. 2 ,POI expression 230 is shown inPOI grid 220. This expression, if evaluated to true, would causePOI icon 97 to be displayed. However, sincePOI expression 231 is also present inPOI grid 220, a logical “OR” is read between the expressions such that if either POI expression 2301 orPOI expression 231 evaluates to true for a given document or sub-document instance which is of the type identified in drop downcombo box 210,POI icon 97 will be displayed with the document or sub-document instance node on tree view control 60. The expression can, but need not, evaluate data directly associated with the document or sub-document instance node for which the expression is defined. Consequently, the expression or multiple expressions can evaluate data primarily associated with any document or sub-document, in any combination for a given POI. Thus, a sales person may create an expression that evaluates to true for a specific customer document instance node when three months has elapsed since the last order placed by the customer. This POI will only appear onexplore tab 10 for the sales person's user logon, not, for example, on the accounts receivable clerk'sexplore tab 10. At the same time, the accounts receivable clerk may create an expression that evaluates to true for a given customer document instance node if a customer has an invoice outstanding for three months or more. In this case, when the expression evaluates to true, the POI would be present on the accounts receivable clerk'sexplore tab 10, but not on the sales person'sexplore tab 10. While several different POI expressions may be defined for a number of distinct users, there is no requirement that any be defined. - The third primary control is
progress indicators grid 240 which comprises five elements,label 245, andexpression 250, and lower bound, upper bound, and invert (not shown) which are to the right ofexpression 250.Label 245 can contain up to twenty characters of text that will be displayed to the left of bar graph 36 onview pane 31 as label 35 ofFIG. 1 .Expression 250 comprises the numeric expression used to render bar graph 36 as a bar progressing from left to right indicating from 0% to 100%.Expression 250 must return a value between zero and one and is typically of the form x/y. Bar graph 36 is rendered in one of three colors. In the preferred embodiment, this color scheme is red, yellow, and green. Upper bound and lower bound (not shown) serve to identify the threshold at which bar graph 36 changes from red to yellow and from yellow to green. Invert (not shown) is a check box, that when checked inverts the color scheme order of bar graph 36 from red, yellow, green to green, yellow, red. Up to twenty progress indicators may be identified for each document or sub-document instance node. As in the case of POIs discussed above, the progress indicators are uniquely programmable by each unique user. -
Properties grid 270 comprises two sub-grids, specifically, label sub-grid 275 andexpression sub-grid 280. Entries inlabel sub-grid 275 such as labelsub-grid entry 276 can contain up to twenty characters of text are rendered aslabel 41 inproperties pane 30 ofexplore tab 10, to the left ofexpression 42 as shown inFIG. 1 . Entries inexpression sub-grid 280 such as expressionsub-grid entry 281 identify the specific data rendered asexpression 42 inproperties pane 30 ofexplore tab 10. This expression can evaluate to any of the common data types available in commercially available systems such as FoxPro, which is available from Microsoft of Seattle, Wash. The system converts entries underexpression subgrid 280 from the form “table.field” to characters. An unlimited number of values may be defined for each document or sub-document instance node. This feature of the present invention allows the individual user to determine the information within the document that is of the most importance to the user's function. For example, a shipping clerk selecting a customer document instance node would most likely be concerned with the address of the customer and preferred shipping means. Therefore, the shipping clerk has the ability to configure the invention to present this information when the customer document instance node is selected. The president of the company might be more interested in the names of the executives and the phone numbers for a customer. Therefore, the president could configure the invention to display this information when a customer document instance node is selected. - 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 andproperties 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 downcombo box 285 andcopy 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 downcombo box 285 andcopy 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 downcombo 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
FIG. 3 , the third tab,options tab 300 is shown.Options tab 300 comprises several user preferences and operational controls. Style drop downcombo box 305 is a drop down combo box that controls the display aspects of tree view control 60 ofnavigation pane 20 ofexplore tab 10. The user can set any one of seven preferences that are listed intext box 306 when style drop downcombo box 305 is selected.FIG. 9 showsoptions tab 300 with style drop downcombo box 305 selected, and the seven available preferences. - Referring again to
FIG. 3 , other user preferences are described.Indentation spinner 310 is a spinner control that determines the amount of indentation (in pixels) that each subordinate level is indented from the dominant level in tree view control 60 ofnavigation pane 20 ofexplore tab 10.Font Size 315 is a spinner control that determines the relative size of the text appearing in tree view control 60 ofnavigation pane 20 ofexplore tab 10.Zoom Depth 320 is a spinner control that determines the maximum number of levels a ‘Zoom In’ operation will attempt. The zoom operation is the exhaustive exploration of a chosen node. Due to the nature of the relationships contained in the invention as embodied in the preferred embodiment, the number of nodes explored during the zoom operation could easily reach into the thousands. The purpose of this control is to place a practical limit on the exhaustive search.Image Size 330 is an option group that determines whether large or small graphics (icons) appear along with each node. In the preferred embodiment, “Large” is the default, and the user can choose between 16×16 or 32×32 (pixel) icons. - 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 asview 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 ofFIG. 3 are shown several controls for the scope of the search of documents and sub-documents. As with expressions in points ofinterest grid 220,progress indicators grid 240, andproperties grid 270, these ‘filters’ are persistently stored by user in the preferred embodiment. The process of setting filters is anchored by the selection of a document type by selecting drop downcombo box 333 and selecting a document type from the drop down list. The selected document type is displayed intext box 334. Once a selection is made,status grid 335 will refresh, illustrating the document ‘Statuses’ available for the selected document or sub-document type and highlighting which of the statuses are selected for display.Status grid 335 is multi-select such that one, a combination, or all entries may be selected. It is important to note that these filters are placed onstatus grid 335 as defined by the preferred embodiment, and that no other logical expression may be applied. In addition, not all documents have a status. In these cases,status grid 335 is disabled. At the lower right hand portion ofoptions tab 300 ofFIG. 3 are shown date fields 340 and 345. These fields can be used to restrict the documents or subdocuments displayed onexplore tab 10. The date fields can be used alone or in conjunction with the status filter to further restrict the records retrieved during exploration. - 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:
LPARAMETERS pcDocument Type, plPlaceholder DO CASE CASE pcDocumentType = CUSTOMFR IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = QUOTE IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = QUOTE ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = QUOTE_ITEM_BOM IF plPlaceholder RETURN “FOLDERBOM” ELSE RETURN “ITEMBOM” ENDIF CASE pcDocumentType = QUOTE_ITEM_RTG IF plPlaceholder RETURN “FOLDERRTG” ELSE RETURN “ITEMRTG” ENDIF CASE pcDocumentType = SALES_ORDER IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = SALES_ORDER_ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = SALES_ORDER_ITEM_RELEASE IF plPlaceholder RETURN “FOLDERRELEASE” ELSE RETURN “RELEASE” ENDIF CASE pcDocumentType = SALES_ORDER_ITEM_BOM IF piPlaceholder RETURN “FOLDERBOM” ELSE RETURN “ITEMBOM” ENDIF CASE pcDocumentType = SALES_ORDER_ITEM_RTG IF plPlaceholder RETURN “FOLDERRTG” ELSE RETURN “ITEMRTG” ENDIF CASE pcDocumentType = JOB ORDER IF plPlaceholder RETURN “FOLDERDQCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = JO BOM IF plPlaceholder RETURN “FOLDERBOM” ELSE RETURN “ITEMBOM” ENDIF CASE pcDocumentType = JO RTG If piPlaceholder RETURN “FOLDERRTG” ELSE RETURN “ITEMRTG” ENDIF CASE pcDocumentType = SHIPPER IF piPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = SHIPPER ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AR INVOICE IF piPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = AR-INVOICE-ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AR PAYMENT IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = VENDOR IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = PURCHASE ORDER IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = PURCHASE_ORDER_ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = PURCHASE_ORDER_ITEM_RELEASE IF plPlaceholder RETURN “FOLDERRELEASE” ELSE RETURN “RELEASE” ENDIF CASE pcDocumentType = RECEIVER IF plPlaceholder RETURN “FOLDER DOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = RECEIVER ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AP-INVOICE IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = AP-INVOICE-ITEM IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AP PAYMENT IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = GL_ACCOUNT_CATEGORY IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = GL ACCOUNT IF plPlaceholder RETURN “FOLDERDOCUMENT” ELSE RETURN “DOCUMENT” ENDIF CASE pcDocumentType = GL-ACCOUNT-POSTING IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = GL JOURNAL IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = OC DISTRIBUTION IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AP DISTRIBUTION IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = AR DISTRIBUTION IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF CASE pcDocumentType = PR DISTRIBUTION IF plPlaceholder RETURN “FOLDERITEM” ELSE RETURN “ITEM” ENDIF OTHERWISE OMsg.Stop(“Programmer error, unexpected parameter passed. Offen ENDCASE RETURN “UNKNOWN” - 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:
Field Name Type Width Description FCINITIALS Character 3 The user (oSession.fcInitials) to whom this entry belongs FCTYPE Character 1 V = Properties, I = Point of Interest T = Progress Indicator FCNODETYPE Character 10 Note type (see above) to which it belongs (used to determine source table) FIORDER Integer 4 Order in which entry appears (1 Indexed) FCLABEL Character 30 Descriptive text appearing to the left of Property or Progress Indicator FCEXPR Character 254 Valid VFP expression that is evaluated to produce result FILO Integer 4 Lower transition (Green- Yellow) bound for Progress Indicator FIHI Integer 4 Upper transition (Yellow- Red) bound for Progress Indicator FLINVTHERM Logical 1 Causes progress indicator to go from Red Yellow-Green - 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:
LPARAMETERS poNode, pcDocument Type LOCAL 1cError LOCAL 1nError SELECT csrilist SCAN FOR ((UPPER (csrilist.fcinitials) = UPPER (oSession.cInitials)) .AND. (csrilist *Determine control value 1nError = 0 1cError = ON (“ERROR”) ON ERROR InError = ERROR( ) LxControlValue = EVALUATE (csrilist.fcexpr) ON ERROR &lcError. IF 1nError = 0 *No error, use calculated value ELSE LxControlValue =.F. ENDIF ENDSCAN RETURN“” - 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 ofFIG. 2 . User selects a node type by selecting drop downcombo box 210, and highlighting “Customer” intext box 211. Desired points of interest for customer documents can then be defined by typing in the appropriate expression in points ofinterest grid 220. Labels and expressions can then be typed in for any desired progress indicators by typing the desired label intoprogress indicators grid 240. The details of the progress to be monitored are entered intoprogress indicators grid 240 along with a numeric value between zero and one for the upper and lower bounds, indicating when the progress bar graph should change in color, from green, to yellow, to red. If desired, the order is reversed by checking the invert box found to the far right ofexpression 250. - The information to be displayed for the customer documents in
properties pane 30 ofexplore tab 10 can be defined by typing the desired label intolabel sub-grid 275, and typing the desired expression intoexpression sub-grid 280. Alternatively, the pre-existing labels and expressions of another user may be copied by selecting drop downcombo box 285, and selecting the user to be copied intext box 286. Copying of expressions and labels is then effected by selectingcopy 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 ofFIG. 3 to establish various display parameters. - The style of the hierarchical tree structure is set by selecting style drop down
combo box 305 and highlighting the desired style intext box 306. Indentation for the subordinate levels is set by selecting the appropriate button onindentation 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-upmenu 815 ofFIG. 8 . Select on hover 325 is then checked to automatically refreshview pane 30 ofFIG. 1 when the cursor highlights an instance node. The desired document statuses to be included in the tree are then set by selecting drop downcombo box 333 and selecting the desired document type intext box 334. The operation is completed by highlighting the desired statuses instatus grid 335. This sequence is repeated for all document and sub-document types that are desired to be shown in the hierarchical tree. The tree can be further limited by placing a date limit indate fields - The user then selects explore
tab 10 ofFIG. 1 to navigate to the desired information. The tree is created innavigation pane 20 by first selecting drop downcombo box 40 ofexplore tab 10. This causes a list of available document types to be displayed intext box 41. Highlighting a desired document type intext box 41 causes that document type to be displayed intext box 41, and a search to be conducted for that type of document, within the constraints established onoptions tab 300 ofFIG. 3 . - 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 inFIG. 1 , and the result set of the search appears in tree view control 60. Alternatively, a search parameter may be typed intext box 50. This search adds only document and sub-document instance nodes for instances found to the tree. The actual instances are not retrieved the instance node is selected as is explained below. This two step methodology of first searching, and later retrieving, serves to balance response time for ‘explore’ requests between a single level search and an exhaustive search where hundreds if not thousands of records could be scanned. - Referring now to
FIG. 7 , an initial search is performed for customer documents. The corresponding logic in the preferred embodiment will add Customers documenttype node 735 and any customer numbers and names. From the initial search the user can ‘drill down’ into further detail by exploding the desired nodes until a leaf is reached; then taking one of the two following actions: double clicking on the leaf node or right clicking on the leaf node and choosing ‘Explore’ from the popup menu. This action will initiate the same two-level exploration of the chosen node type described above with the exception being that the document identifier is already present (it was the node chosen to explore). - 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 inFIG. 7 by sales quotes documenttype node 705, sales orderdocument type node 710, job orders documenttype node 725, shippers documenttype node 715, and AR invoices documenttype node 720. - 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 hoverbox 325, shown inFIG. 3 , being checked. Thus, as the cursor highlightscustomer instance node 740, labels and expressions previously defined by the user inproperties grid 270 ofFIG. 2 , for customer document types, are displayed. Further, any evaluation defined inprogress indicators grid 240 ofFIG. 2 will be initiated, and the results displayed. A typical result is shown aslabel 750 andbar graph 755 inFIG. 7 . The expressions reflect information specific to the customer instance associated withinstance node 740. - Modification of the actual instance is accomplished by selecting the instance, and right clicking the mouse. This causes pop up menu 815 (
FIG. 8 ) to be displayed. Selection of the “Go To” option causes a data-editing screen for the selected instance to be displayed. For example, by selecting customer instance node 730 (FIG. 7 ), right clicking the mouse, and selecting the “Go To” option, data-editing screen 1000 shown inFIG. 10 is displayed. - Had the user instead explored customer instance node 745 of
FIG. 7 , quote instance nodes related to Indiana Fan Co. would have been displayed. Following the above “Go To” process, data-editing screen 1100 ofFIG. 11 would be displayed forquote document 1115. Notice thattext box 1105 reflects the same customer number used to identify customer instance node 745 ofFIG. 7 . From data-editing screen 1100 ofFIG. 11 , the user may selectitems tab 1110, causingitems tab 1110 to be displayed as shown in data-editing screen 1200 ofFIG. 12 . This is the data-editing screen for quoteline item document 1205 related toquote document 1115 shown inFIG. 11 . Alternatively, the user could have drilled down to the subdocument instance node associated with quoteline item document 1205, selected the subdocument instance node, and selected the “Go To” option from the pop-up menu. - 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 (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/910,487 US20050240881A1 (en) | 1998-10-22 | 2004-08-03 | Navigational interface for ERP system |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10528798P | 1998-10-22 | 1998-10-22 | |
US09/743,152 US7131069B1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for ERP system |
PCT/US1999/024859 WO2000023874A1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for erp system |
US10/910,487 US20050240881A1 (en) | 1998-10-22 | 2004-08-03 | Navigational interface for ERP system |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1999/024859 Division WO2000023874A1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for erp system |
US09/743,152 Division US7131069B1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for ERP system |
Publications (1)
Publication Number | Publication Date |
---|---|
US20050240881A1 true US20050240881A1 (en) | 2005-10-27 |
Family
ID=35137912
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/743,152 Expired - Fee Related US7131069B1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for ERP system |
US10/910,487 Abandoned US20050240881A1 (en) | 1998-10-22 | 2004-08-03 | Navigational interface for ERP system |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/743,152 Expired - Fee Related US7131069B1 (en) | 1998-10-22 | 1999-10-22 | Navigational interface for ERP system |
Country Status (1)
Country | Link |
---|---|
US (2) | US7131069B1 (en) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030214538A1 (en) * | 2002-05-17 | 2003-11-20 | Farrington Shannon Matthew | Searching and displaying hierarchical information bases using an enhanced treeview |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US20070162435A1 (en) * | 2005-12-30 | 2007-07-12 | Sap Ag | Systems and methods for monitoring and controlling warehouse activities |
US20080027791A1 (en) * | 2006-07-31 | 2008-01-31 | Cooper Robert K | System and method for processing performance data |
US7437686B1 (en) * | 2007-11-16 | 2008-10-14 | International Business Machines Corporation | Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation |
CN101354645A (en) * | 2007-07-25 | 2009-01-28 | Sap股份公司 | Method and system for customizing a software application |
US20090064143A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Subscribing to Progress Indicator Treshold |
US20090216582A1 (en) * | 2008-02-26 | 2009-08-27 | Oracle International Corporation | Sub-ledger to account for performance obligations |
US20090254866A1 (en) * | 2006-08-16 | 2009-10-08 | Kuegle Bernhard | Method and system for displaying a multitude of objects on a display |
FR2954569A1 (en) * | 2009-12-18 | 2011-06-24 | Nomalys | Structured information e.g. invoice, displaying method for touch-sensing display unit of cellular phone, involves displaying representations of structure of set of information on display areas of touch-sensing display unit |
US20110209094A1 (en) * | 2010-02-25 | 2011-08-25 | Salesforce.Com, Inc. | Systems and methods for implementing customized drop-down menus |
US20120185802A1 (en) * | 2011-01-18 | 2012-07-19 | Yisia Young Suk Lee | Method and apparatus for retrieving and displaying information |
US20140075286A1 (en) * | 2012-09-10 | 2014-03-13 | Aradais Corporation | Display and navigation of structured electronic documents |
US8799336B1 (en) * | 2007-04-12 | 2014-08-05 | United Services Automobile Association | Electronic file management hierarchical structure |
US20140237429A1 (en) * | 2012-08-06 | 2014-08-21 | Wixpress Ltd. | System for supporting flexible color assignment in complex documents |
US20140278694A1 (en) * | 2013-03-15 | 2014-09-18 | ConnectWise Inc. | Systems and methods for business management using product data with product classes |
US20160188747A1 (en) * | 2014-12-30 | 2016-06-30 | Raymond Cypher | Computer Implemented Systems and Methods for Processing Semi-Structured Documents |
US9449056B1 (en) | 2012-11-01 | 2016-09-20 | Intuit Inc. | Method and system for creating and updating an entity name alias table |
US9501849B2 (en) * | 2012-05-11 | 2016-11-22 | Vmware, Inc. | Multi-dimensional visualization tool for browsing and troubleshooting at scale |
US10110442B2 (en) | 2015-02-20 | 2018-10-23 | Microsoft Technology Licensing, Llc | Hierarchical data surfacing configurations with automatic updates |
CN108959444A (en) * | 2018-04-18 | 2018-12-07 | 李世伟 | Homepage cluster system management method and device based on tree |
US10997671B2 (en) * | 2014-10-30 | 2021-05-04 | Intuit Inc. | Methods, systems and computer program products for collaborative tax return preparation |
US11093462B1 (en) | 2018-08-29 | 2021-08-17 | Intuit Inc. | Method and system for identifying account duplication in data management systems |
US11321647B2 (en) | 2013-03-15 | 2022-05-03 | Connectwise, Llc | Project scheduling and management system that uses product data with product classes |
US11348189B2 (en) | 2016-01-28 | 2022-05-31 | Intuit Inc. | Methods, systems and computer program products for masking tax data during collaborative tax return preparation |
US11429913B2 (en) | 2013-08-02 | 2022-08-30 | Connectwise, Llc | Systems and methods for converting sales opportunities to service tickets, sales orders, and projects |
US11761701B2 (en) * | 2016-01-25 | 2023-09-19 | Sun Kyong Lee | Refrigerator inventory device |
Families Citing this family (159)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8396811B1 (en) | 1999-02-26 | 2013-03-12 | Syncada Llc | Validation approach for auditing a vendor-based transaction |
US8392285B2 (en) | 1996-11-12 | 2013-03-05 | Syncada Llc | Multi-supplier transaction and payment programmed processing approach with at least one supplier |
US20070055582A1 (en) | 1996-11-12 | 2007-03-08 | Hahn-Carlson Dean W | Transaction processing with core and distributor processor implementations |
US20080172314A1 (en) | 1996-11-12 | 2008-07-17 | Hahn-Carlson Dean W | Financial institution-based transaction processing system and approach |
FR2803929B1 (en) * | 1999-12-30 | 2004-09-17 | Ferid Allani | METHOD AND DEVICE FOR ACCESSING SOURCES OF INFORMATION AND SERVICES ON THE WEB |
US7801777B2 (en) * | 2001-01-23 | 2010-09-21 | Oracle International Corporation | System and method for managing the development and manufacturing of a beverage |
US7487182B2 (en) * | 2001-01-23 | 2009-02-03 | Conformia Software, Inc. | Systems and methods for managing the development and manufacturing of a drug |
US20020165806A1 (en) * | 2001-01-23 | 2002-11-07 | Kataria Anjali Rani | System and method for managing a regulated industry |
US9600842B2 (en) * | 2001-01-24 | 2017-03-21 | E-Numerate Solutions, Inc. | RDX enhancement of system and method for implementing reusable data markup language (RDL) |
EP1612728A3 (en) * | 2001-04-06 | 2008-06-11 | Océ Printing Systems GmbH | Method, system and computer program for producing electronic document from rasterized image data |
FR2845845B1 (en) * | 2002-10-10 | 2005-01-14 | Cit Alcatel | DEVICE FOR GRAPHIC DISPLAY OF NETWORK EQUIPMENT, FOR A COMMUNICATIONS NETWORK MANAGEMENT SYSTEM |
JP4396242B2 (en) * | 2003-11-28 | 2010-01-13 | 富士ゼロックス株式会社 | Document link structure information creation apparatus and method |
US20050210040A1 (en) * | 2004-03-18 | 2005-09-22 | Zenodata Corporation | Document organization and formatting for display |
US20050209872A1 (en) * | 2004-03-18 | 2005-09-22 | Zenodata Corporation | Title quality scoring systems and methods |
US20050210068A1 (en) * | 2004-03-18 | 2005-09-22 | Zenodata Corporation | Title examination systems and methods |
US7505968B2 (en) * | 2004-03-18 | 2009-03-17 | Zd Acquisition, Llc | Evaluating the relevance of documents and systems and methods therefor |
US8606723B2 (en) | 2004-06-04 | 2013-12-10 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8655756B2 (en) | 2004-06-04 | 2014-02-18 | Sap Ag | Consistent set of interfaces derived from a business object model |
AU2005255456B2 (en) | 2004-06-09 | 2007-09-13 | Syncada Llc | Order-resource fulfillment and management system and approach |
US8762238B2 (en) | 2004-06-09 | 2014-06-24 | Syncada Llc | Recurring transaction processing system and approach |
US7925551B2 (en) * | 2004-06-09 | 2011-04-12 | Syncada Llc | Automated transaction processing system and approach |
CN101031905A (en) | 2004-06-09 | 2007-09-05 | 美国银行和许可股份有限公司 | Distributor-based transaction processing arrangement and approach |
US7574386B2 (en) | 2004-06-09 | 2009-08-11 | U.S. Bank National Association | Transaction accounting auditing approach and system therefor |
US8694397B2 (en) | 2004-06-18 | 2014-04-08 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7617204B2 (en) * | 2004-09-15 | 2009-11-10 | Microsoft Corporation | Conditional navigation through hierarchical lists |
US20060089865A1 (en) * | 2004-10-25 | 2006-04-27 | Mcnulty Hicken Smith, Inc. | Computer-aided method for managing a part shipping apparatus development project |
US20060123393A1 (en) * | 2004-12-02 | 2006-06-08 | Brian Atkins | User interface for network application |
US8744937B2 (en) | 2005-02-25 | 2014-06-03 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7774366B2 (en) | 2005-03-08 | 2010-08-10 | Salesforce.Com, Inc. | Systems and methods for implementing multi-application tabs and tab sets |
US8095393B2 (en) * | 2005-04-21 | 2012-01-10 | Seifert Michael J | Method and system for automated processing of insurance information |
US20070067276A1 (en) * | 2005-09-20 | 2007-03-22 | Ilja Fischer | Displaying stored content in a computer system portal window |
US8522194B2 (en) | 2005-12-30 | 2013-08-27 | Sap Ag | Software modeling |
US8321831B2 (en) | 2005-12-30 | 2012-11-27 | Sap Ag | Architectural design for internal projects application software |
US8396731B2 (en) | 2005-12-30 | 2013-03-12 | Sap Ag | Architectural design for service procurement application software |
US8402426B2 (en) | 2005-12-30 | 2013-03-19 | Sap Ag | Architectural design for make to stock application software |
US8380553B2 (en) | 2005-12-30 | 2013-02-19 | Sap Ag | Architectural design for plan-driven procurement application software |
US8326703B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Architectural design for product catalog management application software |
US8370794B2 (en) | 2005-12-30 | 2013-02-05 | Sap Ag | Software model process component |
US8316344B2 (en) | 2005-12-30 | 2012-11-20 | Sap Ag | Software model deployment units |
US8327319B2 (en) | 2005-12-30 | 2012-12-04 | Sap Ag | Software model process interaction |
US8676617B2 (en) | 2005-12-30 | 2014-03-18 | Sap Ag | Architectural design for self-service procurement application software |
US8448137B2 (en) | 2005-12-30 | 2013-05-21 | Sap Ag | Software model integration scenarios |
US8660904B2 (en) | 2005-12-30 | 2014-02-25 | Sap Ag | Architectural design for service request and order management application software |
US8407664B2 (en) | 2005-12-30 | 2013-03-26 | Sap Ag | Software model business objects |
US20070198952A1 (en) * | 2006-02-21 | 2007-08-23 | Pittenger Robert A | Methods and systems for authoring of a compound document following a hierarchical structure |
US8538864B2 (en) | 2006-03-30 | 2013-09-17 | Sap Ag | Providing payment software application as enterprise services |
US8442850B2 (en) * | 2006-03-30 | 2013-05-14 | Sap Ag | Providing accounting software application as enterprise services |
US8438119B2 (en) | 2006-03-30 | 2013-05-07 | Sap Ag | Foundation layer for services based enterprise software architecture |
US8326702B2 (en) | 2006-03-30 | 2012-12-04 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8396761B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing product catalog software application as enterprise services |
US8396749B2 (en) | 2006-03-30 | 2013-03-12 | Sap Ag | Providing customer relationship management application as enterprise services |
US8321832B2 (en) | 2006-03-31 | 2012-11-27 | Sap Ag | Composite application modeling |
US8374931B2 (en) | 2006-03-31 | 2013-02-12 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7743041B2 (en) * | 2006-04-07 | 2010-06-22 | Lawson Software, Inc. | Data oriented navigation within software applications |
US8312416B2 (en) | 2006-04-13 | 2012-11-13 | Sap Ag | Software model business process variant types |
EP2076874A4 (en) | 2006-05-13 | 2011-03-09 | Sap Ag | Consistent set of interfaces derived from a business object model |
US20070288256A1 (en) * | 2006-06-07 | 2007-12-13 | Speier Gary J | Patent claim reference generation |
US8392364B2 (en) | 2006-07-10 | 2013-03-05 | Sap Ag | Consistent set of interfaces derived from a business object model |
US7801689B2 (en) * | 2006-07-17 | 2010-09-21 | Oracle International Corporation | Systems and methods for tracking the composition of distilled spirits in production and storage |
US8566193B2 (en) | 2006-08-11 | 2013-10-22 | Sap Ag | Consistent set of interfaces derived from a business object model |
US8571961B1 (en) | 2006-09-28 | 2013-10-29 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US8712884B2 (en) | 2006-10-06 | 2014-04-29 | Syncada Llc | Transaction finance processing system and approach |
US8396909B1 (en) * | 2007-04-12 | 2013-03-12 | United Services Automobile Association (Usaa) | Electronic file management hierarchical structure |
US9760839B1 (en) | 2007-07-25 | 2017-09-12 | United Services Automobile Association (Usaa) | Electronic recording statement management |
US9693106B2 (en) * | 2007-07-26 | 2017-06-27 | The Directv Group, Inc. | Method and system for preordering content in a user device associated with a content processing system |
US20090037961A1 (en) * | 2007-08-01 | 2009-02-05 | The Directv Group, Inc. | On-demand system interfaces and features |
US8671033B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Architectural design for personnel events application software |
US8671032B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Providing payment software application as enterprise services |
US8510143B2 (en) | 2007-12-31 | 2013-08-13 | Sap Ag | Architectural design for ad-hoc goods movement software |
US8401936B2 (en) | 2007-12-31 | 2013-03-19 | Sap Ag | Architectural design for expense reimbursement application software |
US8315900B2 (en) | 2007-12-31 | 2012-11-20 | Sap Ag | Architectural design for self-service procurement application software |
US8447657B2 (en) | 2007-12-31 | 2013-05-21 | Sap Ag | Architectural design for service procurement application software |
US8671034B2 (en) | 2007-12-31 | 2014-03-11 | Sap Ag | Providing human capital management software application as enterprise services |
US20090187531A1 (en) * | 2008-01-21 | 2009-07-23 | Microsoft Corporation | User experience for viewing business data via personal information application |
US8751337B2 (en) | 2008-01-25 | 2014-06-10 | Syncada Llc | Inventory-based payment processing system and approach |
US8417593B2 (en) | 2008-02-28 | 2013-04-09 | Sap Ag | System and computer-readable medium for managing consistent interfaces for business objects across heterogeneous systems |
US8577991B2 (en) | 2008-03-31 | 2013-11-05 | Sap Ag | Managing consistent interfaces for internal service request business objects across heterogeneous systems |
US8433585B2 (en) | 2008-03-31 | 2013-04-30 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8589263B2 (en) | 2008-03-31 | 2013-11-19 | Sap Ag | Managing consistent interfaces for retail business objects across heterogeneous systems |
US8413165B2 (en) | 2008-03-31 | 2013-04-02 | Sap Ag | Managing consistent interfaces for maintenance order business objects across heterogeneous systems |
US8423418B2 (en) | 2008-03-31 | 2013-04-16 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8473317B2 (en) | 2008-03-31 | 2013-06-25 | Sap Ag | Managing consistent interfaces for service part business objects across heterogeneous systems |
US8364715B2 (en) | 2008-03-31 | 2013-01-29 | Sap Ag | Managing consistent interfaces for automatic identification label business objects across heterogeneous systems |
US8370233B2 (en) | 2008-03-31 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8930248B2 (en) * | 2008-03-31 | 2015-01-06 | Sap Se | Managing consistent interfaces for supply network business objects across heterogeneous systems |
US20090271021A1 (en) * | 2008-04-28 | 2009-10-29 | Popp Shane M | Execution system for the monitoring and execution of insulin manufacture |
US20090319955A1 (en) * | 2008-06-20 | 2009-12-24 | Microsoft Corporation | Techniques for a navigation based design tool |
US20090326988A1 (en) | 2008-06-26 | 2009-12-31 | Robert Barth | Managing consistent interfaces for business objects across heterogeneous systems |
US8671064B2 (en) | 2008-06-26 | 2014-03-11 | Sap Ag | Managing consistent interfaces for supply chain management business objects across heterogeneous systems |
US8566185B2 (en) | 2008-06-26 | 2013-10-22 | Sap Ag | Managing consistent interfaces for financial instrument business objects across heterogeneous systems |
US8645228B2 (en) | 2008-06-26 | 2014-02-04 | Sap Ag | Managing consistent interfaces for business objects across heterogeneous systems |
US8326706B2 (en) | 2008-09-18 | 2012-12-04 | Sap Ag | Providing logistics execution application as enterprise services |
US8374896B2 (en) | 2008-09-18 | 2013-02-12 | Sap Ag | Architectural design for opportunity management application software |
US8386325B2 (en) | 2008-09-18 | 2013-02-26 | Sap Ag | Architectural design for plan-driven procurement application software |
US8321250B2 (en) | 2008-09-18 | 2012-11-27 | Sap Ag | Architectural design for sell from stock application software |
US8352338B2 (en) | 2008-09-18 | 2013-01-08 | Sap Ag | Architectural design for time recording application software |
US8595077B2 (en) | 2008-09-18 | 2013-11-26 | Sap Ag | Architectural design for service request and order management application software |
US8315926B2 (en) | 2008-09-18 | 2012-11-20 | Sap Ag | Architectural design for tax declaration application software |
US8401928B2 (en) | 2008-09-18 | 2013-03-19 | Sap Ag | Providing supplier relationship management software application as enterprise services |
US8818884B2 (en) | 2008-09-18 | 2014-08-26 | Sap Ag | Architectural design for customer returns handling application software |
US8380549B2 (en) | 2008-09-18 | 2013-02-19 | Sap Ag | Architectural design for embedded support application software |
US8463666B2 (en) | 2008-11-25 | 2013-06-11 | Sap Ag | Managing consistent interfaces for merchandise and assortment planning business objects across heterogeneous systems |
US8577760B2 (en) | 2008-11-25 | 2013-11-05 | Sap Ag | Managing consistent interfaces for tax authority business objects across heterogeneous systems |
US8401908B2 (en) | 2008-12-03 | 2013-03-19 | Sap Ag | Architectural design for make-to-specification application software |
US8321306B2 (en) | 2008-12-03 | 2012-11-27 | Sap Ag | Architectural design for selling project-based services application software |
US8321308B2 (en) | 2008-12-03 | 2012-11-27 | Sap Ag | Architectural design for manual invoicing application software |
US8311904B2 (en) | 2008-12-03 | 2012-11-13 | Sap Ag | Architectural design for intra-company stock transfer application software |
US8738476B2 (en) | 2008-12-03 | 2014-05-27 | Sap Ag | Architectural design for selling standardized services application software |
US8671035B2 (en) | 2008-12-11 | 2014-03-11 | Sap Ag | Providing payroll software application as enterprise services |
US20100153297A1 (en) | 2008-12-12 | 2010-06-17 | Sap Ag | Managing Consistent Interfaces for Credit Portfolio Business Objects Across Heterogeneous Systems |
US8190710B2 (en) | 2009-06-23 | 2012-05-29 | Oracle International Corporation | System and method for providing user context support in a native transaction platform |
US8326913B2 (en) * | 2009-06-25 | 2012-12-04 | Oracle International Corporation | Method and system for service contract discovery |
US8205171B2 (en) | 2009-09-01 | 2012-06-19 | Oracle International Corporation | System and method for providing graphical user interface displaying multiple views |
US8806379B2 (en) * | 2009-09-01 | 2014-08-12 | Oracle International Corporation | Method and system for displaying group relationships in a graphical user interface |
US8863029B2 (en) * | 2009-09-01 | 2014-10-14 | Oracle International Corporation | Method and system for providing graphical user interface having filtering capability |
US8396751B2 (en) | 2009-09-30 | 2013-03-12 | Sap Ag | Managing consistent interfaces for merchandising business objects across heterogeneous systems |
US20110179390A1 (en) * | 2010-01-18 | 2011-07-21 | Robert Paul Morris | Methods, systems, and computer program products for traversing nodes in path on a display device |
US8655880B2 (en) | 2010-04-01 | 2014-02-18 | Oracle International Corporation | Graphical information navigator |
US8370272B2 (en) | 2010-06-15 | 2013-02-05 | Sap Ag | Managing consistent interfaces for business document message monitoring view, customs arrangement, and freight list business objects across heterogeneous systems |
US8515794B2 (en) | 2010-06-15 | 2013-08-20 | Sap Ag | Managing consistent interfaces for employee time event and human capital management view of payroll process business objects across heterogeneous systems |
US8417588B2 (en) | 2010-06-15 | 2013-04-09 | Sap Ag | Managing consistent interfaces for goods tag, production bill of material hierarchy, and release order template business objects across heterogeneous systems |
US8412603B2 (en) | 2010-06-15 | 2013-04-02 | Sap Ag | Managing consistent interfaces for currency conversion and date and time business objects across heterogeneous systems |
US9135585B2 (en) | 2010-06-15 | 2015-09-15 | Sap Se | Managing consistent interfaces for property library, property list template, quantity conversion virtual object, and supplier property specification business objects across heterogeneous systems |
US8732083B2 (en) | 2010-06-15 | 2014-05-20 | Sap Ag | Managing consistent interfaces for number range, number range profile, payment card payment authorisation, and product template template business objects across heterogeneous systems |
US8364608B2 (en) | 2010-06-15 | 2013-01-29 | Sap Ag | Managing consistent interfaces for export declaration and export declaration request business objects across heterogeneous systems |
US9721040B2 (en) * | 2010-12-09 | 2017-08-01 | Oracle International Corporation | Mechanism to input, search and create complex data strings within a single dialog |
US8560392B2 (en) | 2011-07-28 | 2013-10-15 | Sap Ag | Managing consistent interfaces for a point of sale transaction business object across heterogeneous systems |
US8775280B2 (en) | 2011-07-28 | 2014-07-08 | Sap Ag | Managing consistent interfaces for financial business objects across heterogeneous systems |
US8666845B2 (en) | 2011-07-28 | 2014-03-04 | Sap Ag | Managing consistent interfaces for a customer requirement business object across heterogeneous systems |
US8601490B2 (en) | 2011-07-28 | 2013-12-03 | Sap Ag | Managing consistent interfaces for business rule business object across heterogeneous systems |
US8521838B2 (en) | 2011-07-28 | 2013-08-27 | Sap Ag | Managing consistent interfaces for communication system and object identifier mapping business objects across heterogeneous systems |
US8725654B2 (en) | 2011-07-28 | 2014-05-13 | Sap Ag | Managing consistent interfaces for employee data replication business objects across heterogeneous systems |
US8712879B2 (en) * | 2011-09-20 | 2014-04-29 | Oracle International Corporation | Data portal for concurrent assessment |
US9232368B2 (en) | 2012-02-16 | 2016-01-05 | Sap Se | Consistent interface for user feed administrator, user feed event link and user feed settings |
US8762454B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for flag and tag |
US8762453B2 (en) | 2012-02-16 | 2014-06-24 | Sap Ag | Consistent interface for feed collaboration group and feed event subscription |
US9237425B2 (en) | 2012-02-16 | 2016-01-12 | Sap Se | Consistent interface for feed event, feed event document and feed event type |
US8756274B2 (en) | 2012-02-16 | 2014-06-17 | Sap Ag | Consistent interface for sales territory message type set 1 |
US8984050B2 (en) | 2012-02-16 | 2015-03-17 | Sap Se | Consistent interface for sales territory message type set 2 |
US9367826B2 (en) | 2012-06-28 | 2016-06-14 | Sap Se | Consistent interface for entitlement product |
WO2014000200A1 (en) | 2012-06-28 | 2014-01-03 | Sap Ag | Consistent interface for document output request |
US9400998B2 (en) | 2012-06-28 | 2016-07-26 | Sap Se | Consistent interface for message-based communication arrangement, organisational centre replication request, and payment schedule |
US9246869B2 (en) | 2012-06-28 | 2016-01-26 | Sap Se | Consistent interface for opportunity |
US8949855B2 (en) | 2012-06-28 | 2015-02-03 | Sap Se | Consistent interface for address snapshot and approval process definition |
US8521621B1 (en) | 2012-06-28 | 2013-08-27 | Sap Ag | Consistent interface for inbound delivery request |
US8756135B2 (en) | 2012-06-28 | 2014-06-17 | Sap Ag | Consistent interface for product valuation data and product valuation level |
US8615451B1 (en) | 2012-06-28 | 2013-12-24 | Sap Ag | Consistent interface for goods and activity confirmation |
US9547833B2 (en) | 2012-08-22 | 2017-01-17 | Sap Se | Consistent interface for financial instrument impairment calculation |
US9076112B2 (en) | 2012-08-22 | 2015-07-07 | Sap Se | Consistent interface for financial instrument impairment expected cash flow analytical result |
US9043236B2 (en) | 2012-08-22 | 2015-05-26 | Sap Se | Consistent interface for financial instrument impairment attribute values analytical result |
US9191357B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for email activity business object |
US9191343B2 (en) | 2013-03-15 | 2015-11-17 | Sap Se | Consistent interface for appointment activity business object |
US9575942B1 (en) * | 2013-11-14 | 2017-02-21 | Amazon Technologies, Inc. | Expanded icon navigation |
US10373268B1 (en) | 2014-10-05 | 2019-08-06 | Henry A. Orphys | Determining correct answers to tax and accounting issues arising from business transactions and generating accounting entries to record those transactions using a computerized predicate logic implementation |
US11295393B1 (en) | 2014-10-05 | 2022-04-05 | Henry A. Orphys | Determining correct answers to tax and accounting issues arising from business transactions and generating accounting entries to record those transactions using a computerized logic implementation |
US10706480B1 (en) | 2014-10-05 | 2020-07-07 | Henry A. Orphys | Determining correct answers to tax and accounting issues arising from business transactions and generating accounting entries to record those transactions using a computerized predicate logic implementation |
US10667008B1 (en) | 2014-12-18 | 2020-05-26 | The Directv Group, Inc. | Method and system for setting and receiving user notifications for content available far in the future |
US10459820B2 (en) * | 2017-01-13 | 2019-10-29 | Sap Se | Document clustering in in-memory databases |
US11069002B2 (en) * | 2017-10-17 | 2021-07-20 | Hrb Innovations, Inc. | User interfaces for a tax return application |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216421A1 (en) * | 1997-09-26 | 2005-09-29 | Mci. Inc. | Integrated business systems for web based telecommunications management |
US6981222B2 (en) * | 1998-10-22 | 2005-12-27 | Made2Manage Systems, Inc. | End-to-end transaction processing and statusing system and method |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5555388A (en) | 1992-08-20 | 1996-09-10 | Borland International, Inc. | Multi-user system and methods providing improved file management by reading |
US5463555A (en) | 1993-09-28 | 1995-10-31 | The Dow Chemical Company | System and method for integrating a business environment with a process control environment |
JPH0869489A (en) * | 1994-08-30 | 1996-03-12 | Ricoh Co Ltd | Tree structure diagram production device and method |
US5801702A (en) * | 1995-03-09 | 1998-09-01 | Terrabyte Technology | System and method for adding network links in a displayed hierarchy |
US5963922A (en) | 1996-02-29 | 1999-10-05 | Helmering; Paul F. | System for graphically mapping related elements of a plurality of transactions |
US5960200A (en) * | 1996-05-03 | 1999-09-28 | I-Cube | System to transition an enterprise to a distributed infrastructure |
US6101515A (en) * | 1996-05-31 | 2000-08-08 | Oracle Corporation | Learning system for classification of terminology |
US5958012A (en) | 1996-07-18 | 1999-09-28 | Computer Associates International, Inc. | Network management system using virtual reality techniques to display and simulate navigation to network components |
US5923328A (en) * | 1996-08-07 | 1999-07-13 | Microsoft Corporation | Method and system for displaying a hierarchical sub-tree by selection of a user interface element in a sub-tree bar control |
US5903902A (en) | 1996-09-09 | 1999-05-11 | Design Intelligence, Inc. | Design engine with tree and component structure |
US6233545B1 (en) * | 1997-05-01 | 2001-05-15 | William E. Datig | Universal machine translator of arbitrary languages utilizing epistemic moments |
US5877766A (en) * | 1997-08-15 | 1999-03-02 | International Business Machines Corporation | Multi-node user interface component and method thereof for use in accessing a plurality of linked records |
US5987471A (en) | 1997-11-13 | 1999-11-16 | Novell, Inc. | Sub-foldering system in a directory-service-based launcher |
US5966707A (en) | 1997-12-02 | 1999-10-12 | International Business Machines Corporation | Method for managing a plurality of data processes residing in heterogeneous data repositories |
JP2002507030A (en) * | 1998-03-13 | 2002-03-05 | アスペン テクノロジー インコーポレイテッド | Method and computer device for automatically executing application software |
US6453312B1 (en) * | 1998-10-14 | 2002-09-17 | Unisys Corporation | System and method for developing a selectably-expandable concept-based search |
US6678705B1 (en) * | 1998-11-16 | 2004-01-13 | At&T Corp. | System for archiving electronic documents using messaging groupware |
US5987443A (en) | 1998-12-22 | 1999-11-16 | Ac Properties B. V. | System, method and article of manufacture for a goal based educational system |
US6748421B1 (en) * | 1998-12-23 | 2004-06-08 | Canon Kabushiki Kaisha | Method and system for conveying video messages |
US6415298B1 (en) * | 1999-07-15 | 2002-07-02 | American Management Systems, Inc. | Effective dated tree control in a component based-object oriented convergent customer care and billing system |
US6591260B1 (en) * | 2000-01-28 | 2003-07-08 | Commerce One Operations, Inc. | Method of retrieving schemas for interpreting documents in an electronic commerce system |
US6728733B2 (en) * | 2000-03-29 | 2004-04-27 | Komatsu Wall System Development Co., Ltd. | System, method, and program product for administrating document file in computerized network system |
US6606620B1 (en) * | 2000-07-24 | 2003-08-12 | International Business Machines Corporation | Method and system for classifying semi-structured documents |
US6622137B1 (en) * | 2000-08-14 | 2003-09-16 | Formula Telecom Solutions Ltd. | System and method for business decision implementation in a billing environment using decision operation trees |
US6665662B1 (en) * | 2000-11-20 | 2003-12-16 | Cisco Technology, Inc. | Query translation system for retrieving business vocabulary terms |
-
1999
- 1999-10-22 US US09/743,152 patent/US7131069B1/en not_active Expired - Fee Related
-
2004
- 2004-08-03 US US10/910,487 patent/US20050240881A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216421A1 (en) * | 1997-09-26 | 2005-09-29 | Mci. Inc. | Integrated business systems for web based telecommunications management |
US6981222B2 (en) * | 1998-10-22 | 2005-12-27 | Made2Manage Systems, Inc. | End-to-end transaction processing and statusing system and method |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7484185B2 (en) * | 2002-05-17 | 2009-01-27 | International Business Machines Corporation | Searching and displaying hierarchical information bases using an enhanced treeview |
US20030214538A1 (en) * | 2002-05-17 | 2003-11-20 | Farrington Shannon Matthew | Searching and displaying hierarchical information bases using an enhanced treeview |
US20040239683A1 (en) * | 2003-05-27 | 2004-12-02 | Heng Chu | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US7242413B2 (en) * | 2003-05-27 | 2007-07-10 | International Business Machines Corporation | Methods, systems and computer program products for controlling tree diagram graphical user interfaces and/or for partially collapsing tree diagrams |
US20070162435A1 (en) * | 2005-12-30 | 2007-07-12 | Sap Ag | Systems and methods for monitoring and controlling warehouse activities |
US7792886B2 (en) * | 2005-12-30 | 2010-09-07 | Sap Ag | Systems and methods for monitoring and controlling warehouse activities |
WO2008016920A2 (en) * | 2006-07-31 | 2008-02-07 | Cooper Robert K | System and method for processing performance data |
WO2008016920A3 (en) * | 2006-07-31 | 2008-05-29 | Robert K Cooper | System and method for processing performance data |
US20080027791A1 (en) * | 2006-07-31 | 2008-01-31 | Cooper Robert K | System and method for processing performance data |
US20090254866A1 (en) * | 2006-08-16 | 2009-10-08 | Kuegle Bernhard | Method and system for displaying a multitude of objects on a display |
US8799336B1 (en) * | 2007-04-12 | 2014-08-05 | United Services Automobile Association | Electronic file management hierarchical structure |
US10185576B2 (en) * | 2007-07-25 | 2019-01-22 | Sap Se | Method and system for customizing a software application |
CN101354645A (en) * | 2007-07-25 | 2009-01-28 | Sap股份公司 | Method and system for customizing a software application |
US20090031295A1 (en) * | 2007-07-25 | 2009-01-29 | Jie Zhao | Method and System for Customizing a Software Application |
US20120278794A1 (en) * | 2007-07-25 | 2012-11-01 | Jie Zhao | Method and system for customizing a software application |
CN101354645B (en) * | 2007-07-25 | 2016-08-03 | Sap欧洲公司 | For customizing the method and system of software application |
US8209675B2 (en) * | 2007-07-25 | 2012-06-26 | Sap Ag | Method and system for customizing a software application |
US9454411B2 (en) * | 2007-08-30 | 2016-09-27 | International Business Machines Corporation | User-selectable progress bar threshold triggers and notification by detecting color change |
US20090064143A1 (en) * | 2007-08-30 | 2009-03-05 | International Business Machines Corporation | Subscribing to Progress Indicator Treshold |
US7437686B1 (en) * | 2007-11-16 | 2008-10-14 | International Business Machines Corporation | Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation |
US20090144665A1 (en) * | 2007-11-16 | 2009-06-04 | International Business Machines Corporation | Systems, methods and computer program products for graphical user interface presentation to implement filtering of a large unbounded hierarchy to avoid repetitive navigation |
US20090216582A1 (en) * | 2008-02-26 | 2009-08-27 | Oracle International Corporation | Sub-ledger to account for performance obligations |
FR2954569A1 (en) * | 2009-12-18 | 2011-06-24 | Nomalys | Structured information e.g. invoice, displaying method for touch-sensing display unit of cellular phone, involves displaying representations of structure of set of information on display areas of touch-sensing display unit |
US20110209094A1 (en) * | 2010-02-25 | 2011-08-25 | Salesforce.Com, Inc. | Systems and methods for implementing customized drop-down menus |
US9600512B2 (en) * | 2010-02-25 | 2017-03-21 | Salesforce.Com, Inc. | Systems and methods for implementing customized drop-down menus |
US20120185802A1 (en) * | 2011-01-18 | 2012-07-19 | Yisia Young Suk Lee | Method and apparatus for retrieving and displaying information |
US9501849B2 (en) * | 2012-05-11 | 2016-11-22 | Vmware, Inc. | Multi-dimensional visualization tool for browsing and troubleshooting at scale |
US20140237429A1 (en) * | 2012-08-06 | 2014-08-21 | Wixpress Ltd. | System for supporting flexible color assignment in complex documents |
US11010936B2 (en) | 2012-08-06 | 2021-05-18 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US11670016B2 (en) | 2012-08-06 | 2023-06-06 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US10482630B2 (en) * | 2012-08-06 | 2019-11-19 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US20170116761A1 (en) * | 2012-08-06 | 2017-04-27 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US9513771B2 (en) * | 2012-08-06 | 2016-12-06 | Wix.Com Ltd. | System for supporting flexible color assignment in complex documents |
US9110974B2 (en) * | 2012-09-10 | 2015-08-18 | Aradais Corporation | Display and navigation of structured electronic documents |
US20140075286A1 (en) * | 2012-09-10 | 2014-03-13 | Aradais Corporation | Display and navigation of structured electronic documents |
US9449056B1 (en) | 2012-11-01 | 2016-09-20 | Intuit Inc. | Method and system for creating and updating an entity name alias table |
US20140278694A1 (en) * | 2013-03-15 | 2014-09-18 | ConnectWise Inc. | Systems and methods for business management using product data with product classes |
US11551170B2 (en) | 2013-03-15 | 2023-01-10 | Connectwise, Llc | Business management system that uses product data with product classes |
US10318901B2 (en) * | 2013-03-15 | 2019-06-11 | Connectwise, Llc | Systems and methods for business management using product data with product classes |
US11321647B2 (en) | 2013-03-15 | 2022-05-03 | Connectwise, Llc | Project scheduling and management system that uses product data with product classes |
US10846636B2 (en) | 2013-03-15 | 2020-11-24 | Connectwise Llc | Systems and methods for business management using product data with product classes |
US11429913B2 (en) | 2013-08-02 | 2022-08-30 | Connectwise, Llc | Systems and methods for converting sales opportunities to service tickets, sales orders, and projects |
US10997671B2 (en) * | 2014-10-30 | 2021-05-04 | Intuit Inc. | Methods, systems and computer program products for collaborative tax return preparation |
US10255376B2 (en) * | 2014-12-30 | 2019-04-09 | Business Objects Software Ltd. | Computer implemented systems and methods for processing semi-structured documents |
US20160188747A1 (en) * | 2014-12-30 | 2016-06-30 | Raymond Cypher | Computer Implemented Systems and Methods for Processing Semi-Structured Documents |
US10140383B2 (en) | 2014-12-30 | 2018-11-27 | Business Objects Software Ltd. | Computer implemented systems and methods for processing semi-structured documents |
US10110442B2 (en) | 2015-02-20 | 2018-10-23 | Microsoft Technology Licensing, Llc | Hierarchical data surfacing configurations with automatic updates |
US11761701B2 (en) * | 2016-01-25 | 2023-09-19 | Sun Kyong Lee | Refrigerator inventory device |
US11348189B2 (en) | 2016-01-28 | 2022-05-31 | Intuit Inc. | Methods, systems and computer program products for masking tax data during collaborative tax return preparation |
CN108959444A (en) * | 2018-04-18 | 2018-12-07 | 李世伟 | Homepage cluster system management method and device based on tree |
US11093462B1 (en) | 2018-08-29 | 2021-08-17 | Intuit Inc. | Method and system for identifying account duplication in data management systems |
Also Published As
Publication number | Publication date |
---|---|
US7131069B1 (en) | 2006-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7131069B1 (en) | Navigational interface for ERP system | |
US7240077B1 (en) | Web site content change management | |
US8069093B2 (en) | Website user account linking | |
US6628307B1 (en) | User interface for internet application | |
US9460422B2 (en) | Systems and methods for managing to-do list task items to automatically suggest and add purchasing items via a computer network | |
US8069096B1 (en) | Multi-constituent attribution of a vendor's product catalog | |
US7900151B2 (en) | Maintaining individual object data | |
US7792888B2 (en) | Method, system, and program for customer service and support management | |
US7266508B1 (en) | System and method for managing customer contacts and related information | |
US20030115207A1 (en) | Hierarchical hybrid OLAP analytics generators | |
US20030061225A1 (en) | Hierarchical hybrid OLAP scenario management system | |
US20050091263A1 (en) | Systems and methods for representing and editing multi-dimensional data | |
US20040039629A1 (en) | Web based method and system for managing and transferring business information | |
US5890132A (en) | Associating a physical application to a business operation | |
US20020186254A1 (en) | Information handling method and apparatus and intuitive graphical user interface for navigating business application software | |
US20030220805A1 (en) | Web based method and system for managing and transferring real estate information | |
EP1693793A1 (en) | Intellectual property management system | |
US20030061246A1 (en) | Hierarchical hybrid online analytical processing services system | |
WO2000055771A1 (en) | System for specifying building upgrade options and determining building cost | |
US20100131889A1 (en) | User interface to explore data objects and their related supplementary data objects | |
WO2000023874A1 (en) | Navigational interface for erp system | |
US6892357B2 (en) | Logistics management method and system | |
US20040148309A1 (en) | Customer fields | |
US20030061226A1 (en) | Data loader for handling imperfect data and supporting multiple servers and data sources | |
US8234174B1 (en) | Method and apparatus for creating custom advertisements |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: MADE2MANAGE SYSTEMS, INC., INDIANA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:RUSH, GARY W.;KIEFUS, HERMAN J.;REEL/FRAME:015659/0665 Effective date: 19990120 |
|
AS | Assignment |
Owner name: HARRIS N.A., ILLINOIS Free format text: SECURITY AGREEMENT;ASSIGNOR:MADE2MANAGE SYSTEMS, INC.;REEL/FRAME:016945/0378 Effective date: 20051219 |
|
AS | Assignment |
Owner name: MADE2MANAGE SYSTEMS INC., INDIANA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HARRIS N.A., AS ADMINISTRATIVE AGENT;REEL/FRAME:018061/0828 Effective date: 20060802 |
|
AS | Assignment |
Owner name: HARRIS N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: FIRST LIEN PATENT COLLATERAL AGREEMENT;ASSIGNOR:MADE2MANAGE SYSTEMS, INC.;REEL/FRAME:018075/0144 Effective date: 20060802 |
|
AS | Assignment |
Owner name: HARRIS N.A., AS ADMINISTRATIVE AGENT, ILLINOIS Free format text: SECOND LIEN PATENT COLLATERAL AGREEMENT;ASSIGNOR:MADE2MANAGE SYSTEMS, INC.;REEL/FRAME:018075/0637 Effective date: 20060802 |
|
AS | Assignment |
Owner name: CONSONA ERP, INC., INDIANA Free format text: CHANGE OF NAME;ASSIGNOR:MADE2MANAGE SYSTEMS, INC.;REEL/FRAME:019419/0900 Effective date: 20070430 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: CONSONA ERP, INC.,INDIANA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HARRIS N.A., AS AGENT;REEL/FRAME:024456/0629 Effective date: 20100528 Owner name: CONSONA ERP, INC.,INDIANA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HARRIS N.A., AS AGENT;REEL/FRAME:024456/0643 Effective date: 20100528 |