|Publication number||US7584172 B2|
|Application number||US 10/687,074|
|Publication date||Sep 1, 2009|
|Filing date||Oct 16, 2003|
|Priority date||Oct 16, 2003|
|Also published as||US20050086207|
|Publication number||10687074, 687074, US 7584172 B2, US 7584172B2, US-B2-7584172, US7584172 B2, US7584172B2|
|Inventors||Carsten Heuer, Andreas Gross, Heike Guder|
|Original Assignee||Sap Ag|
|Export Citation||BiBTeX, EndNote, RefMan|
|Patent Citations (9), Non-Patent Citations (3), Referenced by (7), Classifications (13), Legal Events (4)|
|External Links: USPTO, USPTO Assignment, Espacenet|
The following description relates to user interface controls by which a user can select a data query and a visual configuration.
Various software solutions exist for accessing data stored in repositories such as databases. This software may collectively be referred to as database management systems, and they typically provide users with one or more ways of entering queries to be executed in the database. As one example, the user can formulate a query in a special query language that the system can execute. Another example is that the user enters values for specific fields as a query and the system retrieves the database records having those specified field values. The database management systems typically also provide for some form of visual display of the results from an executed query. In addition, there are applications sometimes referred to as “report writer” programs that offer a variety of tools for the user to design and define the layout of a report that includes the results of a database search. Database management systems typically are delivered without “content,” that is, predefined queries and visual configurations for displaying results.
The systems and techniques described here relate to searches in data repositories.
In a first general aspect, a method of facilitating searches in a data repository comprises displaying a control in a computer user interface that is capable of presenting a plurality of search options that a user can select for execution. Each search option specifies both an associated predetermined query to be performed on a data repository and an associated predetermined visual configuration for displaying a result of the predetermined query. An input is received from the user selecting one of the plurality of search options presented by the computer user interface control. The predetermined data repository query associated with the selected search option is performed. The result of the predetermined query is displayed using the predetermined visual configuration associated with the selected search option.
In selected embodiments, the predetermined query is performed on a result of an executed data repository query. This may allow the user to further focus on specific data in the initial search result that the user is interested in.
In certain embodiments, the displayed control presents a search option that is defined by the user.
In a second general aspect, a computer user interface comprises a control presenting a plurality of search options that a user can select for execution. Each search option specifies both an associated predetermined query to be performed on a data repository and an associated predetermined visual configuration for displaying a result of the predetermined query.
Systems and techniques described here may provide more effective data repository searching through convenient selection of a predetermined query and a visual configuration. Associating two or more search options with identical queries and different visual configurations may increase the flexibility in displaying data. Having different queries associated with the same visual configuration may improve consistency in displaying data. Including search options as “content” when delivering a data repository management system may shorten the time before the buyer can perform data repository searches.
The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features and advantages will be apparent from the description and drawings, and from the claims.
Like reference numbers in the various drawings indicate like elements.
The computer system 100 may allow a user of the client device 102 to interact with at least one application program 114 provided by the server device. The application program 114 may be an order management program that employees of a business organization can use to enter, review and manage orders remitted by its customers, to name just one example. The server device 104 may store information that a user enters through the application program 114 in a data repository 116.
The nature of the data repository 116 may vary between different implementations. It may comprise structured or unstructured data. It may comprise a database, such as a hierarchic database, a relational database, or an object oriented database. In some implementations, the data repository 116 is located on a different device than the other units described in server device 104.
The data repository 116 can be managed using a data repository management module (DRMM) 118, located on the server device 104 in this example. Through the user interface program 112, functions of the DRMM 118 may be accessible to the user of the client device 102, who can run searches on the data in repository 116 and view the results of such searches. As an example, several application programs 114 may provide data to be stored in the data repository 116, and the DRMM 118 may conveniently provide the user access to search for, and review, any data in the data repository 116. Data can be provided to the repository 116 also without using application program 114, such as by uploading it from a file.
The DRMM 118 may facilitate that the user can enter search queries to be performed on the data repository 116. The DRMM 118 may also provide predetermined data repository searches that the user can select to be performed. Such predetermined queries may be stored on the server device 104 as data repository searches 120 such that they can be selected for execution by a user of the computer system 100.
The types of searches that can be performed on data repository 116 depend on the nature of data stored therein. For example, the data repository 116 may comprise data that can be associated into key figures, such as a collective value of sales orders or the number of items included in specific sales orders. In such implementations, the data repository searches 120 may comprise a query that specifies one or more key figures to be determined from the data in data repository 116. Moreover, data that can be associated into key figures sometimes can be organized according to one or more characteristics, such as organizing the cumulative value of sales orders by vendor or by product, to name just a few examples. In such implementations, the data repository searches 120 may comprise queries for organizing the specified key figure(s) according to one or more characteristics.
Results of data repository searches can be presented to the user on the screen 110. It may be possible for a search result to be displayed in any of a number of different visual configurations. For example, visual configurations may include the search result being displayed in table form, as a map, as a chart, as a diagram, as a list of information, and other forms of visual data presentation including combinations of the ones mentioned. The visual configurations that the DRMM 118 can use may be stored as visual configurations 122 on the server device 104. The visual configurations 122 may specify the characteristics of how they are displayed, such as the number of rows in a table or the size of a chart. When one of the data repository searches 120 is associated with a specific visual configuration 122, the result of that search will be displayed with the associated visual configuration on the screen 110.
Data repository searches 120 can be executed both on repository data that has been gathered in a repository search and on “unfiltered” repository data, that is, data that was not gathered in a repository search. In other words, the user can begin by running a search in repository 118 and then run one of the data repository searches 120 on the result of that search. It is also possible to run one of the data repository searches 120 on the data in repository 118 without a preceding search. When a data repository search 120 is to be run on results from a previous repository search, those results may be stored as search results 124 on the server device 104. Preferably, the search results 124 are stored in cache memory, and not persistently, in system 100. The search results 124 in this example are shown as stored separately from the data repository 116, which may be the case when the DRMM 118 and the data repository 116 are located on separate physical devices. In other implementations, the search results 124 may be located in the data repository 116 where the query producing those results was performed.
The search results 124 may comprise aggregated data, that is, a collection of related data. A user may wish to perform additional queries on aggregated data to extract more specific information from it. For example, the aggregated data may comprise the individual values of all sales orders remitted by all vendors. Performing one of the data repository searches 120 on the exemplary search result 124 may allow the user to focus in more closely, or “drill down”, on the specifics of the aggregated data that the user is interested in. As an example, the user may drill down on the aggregated data to target particular values of orders remitted by a certain vendor or orders for certain products.
Specific examples of data searching using the system 100 will now be described with reference to
Below the heading 202 is a user interface control 204 by which the user can select any of a number of search options (in this example labeled “data views”). Each of the search options specifies both a predetermined data repository query and a predetermined visual configuration for displaying the results of the query. In this example, names of the search options are listed in a drop-down menu that appears if the user activates an icon 205 on the control 204. The visual configuration associated with a particular search option may be noted in the name of the search option, as will be described below.
A result display area 206 is located below the control 204. The area 206 is where the results of predetermined queries are displayed with the predetermined visual configuration. In the following examples, different queries and visual configurations will be described, and it will be seen that the search results may require more or less space for display in the panel 200 depending on the visual configuration and the amount of data resulting from a performed query.
Selecting a search option in the control 204 triggers the user interface program 112 to instruct the DRMM 118 to perform the data repository search 120 associated with the selected search option. The DRMM 118 will also be instructed to provide the search results for display with the selected visual configuration 122.
The currently selected search option in control 204 is labeled “by vendor (current year)”. The text displayed for a search option in the control 204 represents the data repository query and the associated visual representation. The “by vendor” search option may have been selected by the user through the control 204 or it may be a default search option that is executed when the panel 200 executes is initiated. The results of the “by vendor” search option are currently displayed in the result display area 206.
The visual configuration associated with the “by vendor” search option is a table. In this example, the table comprises a Vendor column 208, a Purchase Order Value column 210 and a Number of Order Items column 212. For example, one of the vendors listed in the Vendor column 208 is “Parts & Pipe”, whose purchase order(s) the Purchase Order Value column 210 lists as being worth 237 Euro. Going to the Number of Order Items column 212, it is seen that Parts & Pipe has ordered five items totaling the value listed in column 210. Other vendors in the column 208 have different purchase order values, and some of them have a zero order value.
An “Advanced Analysis” link 214 in the panel 200 relates to user defined search options and will be described later.
An example of how a user may select a search option in the control 204 is described with reference to
The control 204 is configured so that the user can select any of the search options using input device(s) 108. Here, for example, the user may input a selection by using the pointing device to click on a specific search option. Accordingly, when the search options are presented in the user interface, the user can input the selection of a search option using a single action.
In this example, the “by product” search option selected in
If the table (or any other visual configuration display) is too large for the available area on the screen 110, suitable scrolling mechanisms can be used by which the user can scroll to particular portions of the results. The table in this example includes a row selection control 406 at the bottom of the result display area 206 by which the user can navigate between rows in the displayed table.
Two or more search options associated with the same query may have different visual configurations, for example as will now be described. Referring briefly again to
The “C.E.B. Berlin” vendor has such a high order value in this example (36,419.28 Euro according to the table in
The search options selectable in the control 204 may involve the repository data being organized by one or more characteristics. An example of this will now be described where a user may select a search option that organizes purchase order data both by respective vendor and products. With reference again briefly to
The table in area 206 contains a Purchase Order Value column 604 next to the Product column 602. The column 604 lists, for each vendor in column 600, the value of orders for the respective products listed in column 602. Next to column 604 is a Number of Order Items column 606 that lists, for each vendor in column 600, the number of items ordered of each product listed in column 602. For example, reviewing the table shows that vendor “C.E.B Berlin” has ordered one “Casing” product that corresponds to an order value of 12,000 Euro. The table contains a “Result” row 608 for each vendor, which sums up that vendor's order values and numbers of ordered items, respectively. The row selection control 406 at the bottom of result display area 206 lets the user navigate between different products and vendors contained in the displayed query result.
As seen from the
The search options in the above examples are associated with predefined data repository queries and with predefined visual configurations, meaning that the user can select any of the search options without having to formulate the query or define its visual configuration. The control 204 offers a convenient way of focusing in on amounts of data to find the aspects that are of particular interest, especially when the user has limited skill in formulating database queries and defining their visual configuration. It may therefore be desirable to provide a user interface with search options as “content” with the DRMM 118 when it is sold. A customer who is inexperienced in database searching and wishes to review key financial data, such as perhaps a business executive of the customer organization, can conveniently focus in on the interesting aspects of large amounts of repository data.
In some implementations, the search options in the control 204 may be user defined. That is, search options—including their associated queries and visual configurations—can be defined by the user and stored such that they are presented by the control 204. If there are already search options in the control 204, the user may define search options in addition to them. The user may also modify or delete an existing search option.
Assume that the panel 200 is currently displayed as shown in
The panel 700 includes a saving area 702 where the user may control how the customized search option is saved. A visual configuration selection control 704 can be used for selecting a visual configuration to be associated with the search option. The selected visual configuration is displayed in visual configuration display area 706. A query selection control 708 lets the user define the query to be run on the repository data.
As an illustrative example, the user may proceed as follows. Assume that the user clicked the link 214 because the user wished to create a customized search option based on the “by vendor” search option that is shown in
The user may use control 708 to change the repository search. As described above with reference to
The control 708 includes a “Vendor” portion 708 b by which the user can select to have the key figures arranged by vendor. The data in area 706 is currently organized by vendor. This corresponds to a selection of icon 709 a in column 709. Icon 709 a causes the search results in area 706 to be organized by vendor on the rows of the table. This selection can be undone by activating icon 709 b, after which portion 708 b would have two icons in column 709, like the other characteristics. A “Product Description” portion 708 c lets the user arrange the key figures according to product descriptions. The control 708 includes a “Product category” portion 708 d where the user can select to have the key figures organized by product categories. A “Product” portion 708 e of the control 708 lets the user organize the key figures by product, which was described above with reference to
If the user selects chart icon 712, panel 700 may appear as shown in
When the user is finished defining a search option in panel 700, the user may move to area 702 for selecting how to save the search option. The user enters a Description and a Technical Name in area 714. If the entered Technical Name already exists, the changes can only be saved if box 716 labeled “Overwrite Existing View” has been checked. If the user checks box 718 labeled “Save also as dataview with title:” and enters a title in field 720, then the search option defined in panel 700 will appear in control 204. The active visual configuration is identified and saved together with the data repository search as new search option. In parallel, the data repository search is saved under the given Description and Technical Name for optional use as an “initial” query on which drill downs can be performed.
In step 806, the result of the specified data search is displayed with the visual configuration associated with the selected search option. This visual configuration may be a table, a chart, a list, a map, or combinations thereof. Some examples of such visual configurations were described above with reference to the result display area 206 in
Advantages of providing data repository searches through a control that is capable of presenting search options associated with both predetermined queries and predetermined visual configurations may include any of the following. More effective data repository searching through convenient selection of both a predetermined query and predetermined visual configuration. Increased flexibility in the visual display of data because the control can present two or more search options that are associated with identical queries and that have different visual configurations. Consistent display of search results and easy comparison between results from different repository searches because a visual configuration may be associated with several search options having different predetermined queries. Improved data repository management systems that include a functional search option control as “content” when they are delivered.
The systems and techniques described here can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus can be implemented in a computer program product tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by a programmable processor; and method steps can be performed by a programmable processor executing a program of instructions to perform functions by operating on input data and generating output. The described systems and techniques can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. A computer program is a set of instructions that can be used, directly or indirectly, in a computer to perform a certain activity or bring about a certain result. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
Suitable processors for the execution of a program of instructions include, by way of example, both general and special purpose microprocessors, and the sole processor or one of multiple processors of any kind of computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memories for storing instructions and data. Generally, a computer will also include, or be operatively coupled to communicate with, one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
To provide for interaction with a user, the described systems and techniques can be implemented on a computer having a display device such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor for displaying information to the user and a keyboard and a pointing device such as a mouse or a trackball by which the user can provide input to the computer.
The systems and techniques described here can be implemented in a computer system that includes a back-end component, such as a data server, or that includes a middleware component, such as an application server or an Internet server, or that includes a front-end component, such as a client computer having a graphical user interface or an Internet browser, or any combination of them. The components of the system can be connected by any form or medium of digital data communication such as a communication network. Examples of communication networks include, e.g., a LAN, a WAN, and the Internet.
The computer system can include clients and servers. A client and server are generally remote from each other and typically interact through a network, such as the described one. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
Other embodiments are within the scope of the following claims.
|Cited Patent||Filing date||Publication date||Applicant||Title|
|US5226118 *||Jan 29, 1991||Jul 6, 1993||Prometrix Corporation||Data analysis system and method for industrial process control systems|
|US5721903 *||Oct 12, 1995||Feb 24, 1998||Ncr Corporation||System and method for generating reports from a computer database|
|US5870552 *||Mar 28, 1995||Feb 9, 1999||America Online, Inc.||Method and apparatus for publishing hypermedia documents over wide area networks|
|US6185588||Dec 31, 1996||Feb 6, 2001||International Business Machines Corporation||Method and apparatus for printing worldwide web pages in accordance with operator selected formatting|
|US6466241||Apr 2, 1996||Oct 15, 2002||Gateway, Inc.||Method and apparatus for managing program activation through use of a favorite program button menu|
|US6859909 *||Mar 7, 2000||Feb 22, 2005||Microsoft Corporation||System and method for annotating web-based documents|
|US20030204449 *||May 9, 2002||Oct 30, 2003||Paul Kotas||Services for generation of electronic marketplace listings using personal purchase histories or other indicia of product ownership|
|US20040133342 *||Dec 18, 2003||Jul 8, 2004||Banker Shailen V||Linked information system|
|US20050154652 *||Mar 7, 2005||Jul 14, 2005||Bezos Jeffrey P.||Contextual presentation of information about related orders during browsing of an electronic catalog|
|1||Description of the "recently used file list" in Microsoft Word, printed from the "Help" menu.|
|2||Description of the AutoReport function in Microsoft Access, printed from the "Help" menu.|
|3||http://www.sap.info./public/en/article.php4/comvArticle-193333c63b489e3d93/en "Product management business scenario", Nov. 24, 1999.|
|Citing Patent||Filing date||Publication date||Applicant||Title|
|US8156161||Apr 19, 2010||Apr 10, 2012||Taiwan Semiconductor Manufacturing Co., Ltd.||System and method for displaying data on a thin client|
|US8706751 *||Dec 13, 2006||Apr 22, 2014||International Business Machines Corporation||Method for providing a user interface driven by database tables|
|US8751558||Mar 22, 2010||Jun 10, 2014||Sap Ag||Mashup infrastructure with learning mechanism|
|US20080147602 *||Dec 13, 2006||Jun 19, 2008||Mark John Anderson||Method for providing a user interface driven by database tables|
|US20090210380 *||Feb 16, 2006||Aug 20, 2009||Sompo Japan Insurance Inc.||Data search system, method and program|
|US20100205206 *||Apr 19, 2010||Aug 12, 2010||The Macgregor Group, Inc.||System and method for displaying data on a thin client|
|US20110231592 *||Mar 22, 2010||Sep 22, 2011||Sap Ag||Mashup Infrastructure with Learning Mechanism|
|U.S. Classification||1/1, 707/999.003, 707/999.102, 707/999.104|
|International Classification||G06F7/00, G06F17/30|
|Cooperative Classification||Y10S707/99933, Y10S707/99943, G06F17/30398, G06F17/30554, Y10S707/99945|
|European Classification||G06F17/30S4V, G06F17/30S4F5|
|Oct 16, 2003||AS||Assignment|
Owner name: SAP AKTIENGESELLSCHAFT, GERMANY
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HEUER, CARSTEN;GROSS, ANDREAS;GUDER, HEIKE;REEL/FRAME:014627/0259
Effective date: 20031016
|Sep 14, 2010||CC||Certificate of correction|
|Feb 26, 2013||FPAY||Fee payment|
Year of fee payment: 4
|Aug 26, 2014||AS||Assignment|
Owner name: SAP SE, GERMANY
Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0334
Effective date: 20140707