IP Library Granted Patent US 9,171,039
Granted Patent B2
US 9,171,039 · App. 13/249,229 · Granted Oct 27, 2015

Query language based on business object model

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,171,039
App. No.
13/249,229
Granted
Oct 27, 2015
Kind
B2
Abstract

Methods and apparatus, including computer program products, are provided for providing a query language based on a model. In one aspect, there is provided a computer-implemented method. The method may include receiving a first query; generating, based on a model including metadata representing a data structure, a second query specific to the data structure stored in a database; and sending the second query to the database. Related apparatus, systems, methods, and articles are also described.

Claims (39)

1. A non-transitory computer-readable storage medium containing instructions to configure a processor to perform operations comprising:

receiving a first query;

generating, based on a model including metadata representing a data structure, a second query specific to the data structure stored in a database, the second query being a single direct query to the database and defining all nodes and associations, including a root node, nodes dependent on the root node, and associations between all nodes, needed to traverse at least one business object and nodes stored in the database to generate a result set without buffering of intermediate results; and

sending the second query to the database; and

executing the second query page by page basis at runtime based on a page being displayed on a user interface used for executing the second query and using data transported from the database and associated only with the page being displayed on the user interface, the data associated with the displayed page is searched in and obtained from data stored in the database, and by searching an unrestricted amount of data at the database at constant seek time as a prerequisite of paging.

2. The non-transitory computer-readable medium of claim 1 , wherein the first query is configured in accordance with SQL and received from a user interface.

3. The non-transitory computer-readable medium of claim 1 , wherein the generating further comprises:

accessing the metadata representing the data structure comprising at least one business object.

4. The non-transitory computer-readable medium of claim 1 , wherein the generating further comprises:

generating the second query to include information to access at least one business object including at least one node and at least one association.

5. The non-transitory computer-readable medium of claim 1 , wherein the generating further comprises:

generating the second query in accordance with SQL.

6. The non-transitory computer-readable medium of claim 1 , wherein the sending further comprises:

sending the second query to the database comprising a relational database implemented in memory database.

7. The non-transitory computer-readable medium of claim 1 , wherein the sending further comprises:

sending the second query to the database comprising a relational database implemented as a column database.

8. A method comprising:

receiving, at a query generator, a first query;

generating, at the query generator, a second query specific to the data structure stored in a database, wherein the second query is generated based on a model including metadata representing a data structure, the second query being a single direct query to the database and defining all nodes and associations, including a root node, nodes dependent on the root node, and associations between all nodes, needed to traverse at least one business object and nodes stored in the database to generate a result set without buffering of intermediate results;

sending, from the query generator, the second query to the database; and

executing the second query page by page basis at runtime based on a page being displayed on a user interface used for executing the second query and using data transported from the database and associated only with the page being displayed on the user interface, the data associated with the displayed page is searched in and obtained from data stored in the database, and by searching an unrestricted amount of data at the database at constant seek time as a prerequisite of paging.

9. The method of claim 8 , wherein the first query is configured in accordance with SQL and received from a user interface.

10. The method of claim 8 , wherein the generating further comprises:

accessing the metadata representing the data structure comprising at least one business object.

11. The method of claim 8 , wherein the generating further comprises:

generating the second query to include information to access at least one business object including at least one node and at least one association.

12. The method of claim 8 , wherein the generating further comprises:

generating the second query in accordance with SQL.

13. The method of claim 8 , wherein the sending further comprises:

sending the second query to the database comprising a relational database implemented in memory database.

14. The method of claim 8 , wherein the sending further comprises:

sending the second query to the database comprising a relational database implemented as a column database.

15. A system comprising:

at least one processor; and

at least one memory, wherein the at least one processor and the at least one memory are configured to provide operations comprising:

receiving a first query;

generating a second query specific to the data structure stored in a database, wherein the second query is generated based on a model including metadata representing a data structure, the second query being a single direct query to the database and defining all nodes and associations, including a root node, nodes dependent on the root node, and associations between all nodes, needed to traverse at least one business object and nodes stored in the database to generate a result set without buffering of intermediate results;

sending the second query to the database; and

executing the second query page by page basis at runtime based on a page being displayed on a user interface used for executing the second query and using data transported from the database and associated only with the page being displayed on the user interface, the data associated with the displayed page is searched in and obtained from data stored in the database, and by searching an unrestricted amount of data at the database at constant seek time as a prerequisite of paging.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 27, 2012
From: TEICHMANN, JAN; GAUWEILER, THOMAS; HUTZEL, DANIEL; KLEIN, UDO; HERMANNS, MARCEL; WEILER, JENS; GIEBEL, DIRK; GOLDMANN, DANIEL; BRUNSWIG, FRANK; STEFFEN, HEIKO; TATZEL, STEFFEN; FITZER, JOACHIM
To: SAP AG
Reel/Frame 027960/0227 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2011
From: TEICHMANN, JAN; GAUWEILER, THOMAS; HUTZEL, DANIEL; KLEIN, UDO; HERMANNES, MARCEL; WEILER, JENS; GIEBEL, DIRK; GOLDMANN, DANIEL; BRUNSWIG, FRANK; STEFFEN, HEIKO; TATZEL, STEFFEN; FITZER, JAOCHIM
To: SAP AG
Reel/Frame 027324/0467 →