IP Library Granted Patent US 9,098,546
Granted Patent B2
US 9,098,546 · App. 13/712,898 · Granted Aug 4, 2015

Advanced business query language

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,098,546
App. No.
13/712,898
Granted
Aug 4, 2015
Kind
B2
Abstract

A new query language can be embedded in a business application programming language (e.g., the ABAP language). A query language consistent with implementations of the current subject matter can be based on a graph data-model of connected business objects (BO) or other data objects and can be designed as an efficient query language embedded into the business application programming language runtime, thereby allowing expression of business logic in a declarative manner.

Claims (38)

1. A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

determining, at a language layer of a query language architecture, a query syntax of a received query and a definition of a result set for the query;

checking, at a compiler layer of the query language architecture, semantics of the received query, the compiler layer supporting a single data model usable on multiple application layers of a multi-layer business software architecture;

reading, from a data dictionary in a persistent layer of a database from which query results are to be returned, a field expression corresponding to the result set;

building, by the compiler layer, the field expression into a query statement;

executing, at a runtime layer of the query language architecture, the query including the query statement; and

returning results to the query per the result set based on execution of the query on the database.

2. A computer program product as in claim 1 , wherein the query language architecture is implemented in a business software programming language as part of a business software architecture.

3. A computer program product as in claim 2 , wherein the business software programming language comprises an advanced business application programming (ABAP) language.

4. A computer program product as in claim 1 , wherein the query syntax comprises use of logical associations to represent connections between entities.

5. A computer program product as in claim 1 , wherein the operations further comprise pushing logic used in data retrieval for response to the query to a database level of the database.

6. A computer program product as in claim 1 , wherein the compiler layer and the runtime layer are natively implemented in a business software programming language kernel.

7. A computer program product as in claim 1 , wherein the reading of the field expression from the data dictionary in the persistent layer of the database comprises accessing a minimized business object model comprising one or more of definitions of business object nodes, calculated fields, and associations between business object nodes.

8. A system comprising:

at least one programmable processor; and

a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:

determining, at a language layer of a query language architecture, a query syntax of a received query and a definition of a result set for the query;

checking, at a compiler layer of the query language architecture, semantics of the received query, the compiler layer supporting a single data model usable on multiple application layers of a multi-layer business software architecture;

reading, from a data dictionary in a persistent layer of a database from which query results are to be returned, a field expression corresponding to the result set;

building, by the compiler layer, the field expression into a query statement;

executing, at a runtime layer of the query language architecture, the query including the query statement; and

returning results to the query per the result set based on execution of the query on the database.

9. A system as in claim 8 , wherein the query language architecture is implemented in a business software programming language as part of a business software architecture.

10. A system as in claim 9 , wherein the business software programming language comprises an advanced business application programming (ABAP) language.

11. A system as in claim 8 , wherein the query syntax comprises use of logical associations to represent connections between entities.

12. A system as in claim 8 , wherein the operations further comprise pushing logic used in data retrieval for response to the query to a database level of the database.

13. A computer-implemented method comprising:

determining, at a language layer of a query language architecture, a query syntax of a received query and a definition of a result set for the query;

checking, at a compiler layer of the query language architecture, semantics of the received query, the compiler layer supporting a single data model usable on multiple application layers of a multi-layer business software architecture;

reading, from a data dictionary in a persistent layer of a database from which query results are to be returned, a field expression corresponding to the result set;

building, by the compiler layer, the field expression into a query statement;

executing, at a runtime layer of the query language architecture, the query including the query statement; and

returning results to the query per the result set based on execution of the query on the database.

14. A computer-implemented method as in claim 13 , wherein the query language architecture is implemented in a business software programming language as part of a business software architecture.

15. A computer-implemented method as in claim 14 , wherein the business software programming language comprises an advanced business application programming (ABAP) language.

16. A computer-implemented method as in claim 13 , wherein the query syntax comprises use of logical associations to represent connections between entities.

17. A computer-implemented method as in claim 13 , wherein the operations further comprise pushing logic used in data retrieval for response to the query to a database level of the database.

18. A computer-implemented method as in claim 13 , wherein at least one of the determining, the checking, the reading, the building, the executing, and the returning is performed by a system comprising at least one programmable processor.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0223 →
CORRECTIVE ASSIGNMENT TO CORRECT THE APPLICATION NO. RECORDED AS 13712989. THE CORRECT APPLICATION NO. IS 13712898 PREVIOUSLY RECORDED ON REEL 029506 FRAME 0825. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jun 3, 2013
From: GRUENHAGEN, ANDREAS; STORK, CHRISTIAN; HOEFT, KERSTIN; SINGER, REINER; BROMBACH, MICHAEL; HERMANNS, MARCEL
To: SAP AG
Reel/Frame 030548/0534 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2012
From: GRUENHAGEN, ANDREAS; STORK, CHRISTIAN; HOEFT, KERSTIN; SINGER, REINER; BROMBACH, MICHAEL; HERMANNS, MARCEL
To: SAP AG
Reel/Frame 029506/0825 →