# US 11,907,198 B2 · Selective recommendation and deployment of extensions in low-code approach

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,907,198 B2
- Document ID: US11907198B2
- Status: Granted
- Kind: B2
- Application number: 17/231,076
- Filed: 2021-04-15
- Published: 2022-10-20
- Granted: 2024-02-20
- Earliest claimed: 2021-04-15
- Assignees: Sap SE
- Applicants: Sap SE
- Inventors: Peter Eberlein; Volker Driesen
- Web page: https://patentgrep.com/patent/US11907198B2

## CPC

- G06F 16/213: {with details for schema evolution support}
- G06F 16/2358: {Change logging, detection, and notification (replication G06F16/27)}
- G06F 8/34: Graphical or visual programming
- G06F 8/35: model driven
- G06F 16/2365: {Ensuring data consistency and integrity}
- G06F 16/2448: {for particular applications; for extensibility, e.g. user defined types}
- G06F 16/2457: with adaptation to user needs
- G06F 16/252: {between a Database Management System and a front-end application}
- G06N 20/00: Machine learning
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Implementations include querying metadata of data objects to define a sub-set of data objects, each data object in the sub-set of data objects including a generic text field and/or an attachment field, and, for each data object in the sub-set of data objects, processing historical data of a data object to identify a set of data types, the historical data stored within a field of a table of a database system, providing a recommendation for a first extension corresponding to a first data type, and receiving user input indicating acceptance of the recommendation for the first extension and, in response, automatically providing extension code that is executable to add a field extension to the table and to modify a UI of an application for input of values corresponding to the first data type, and executing the extension code to deploy the extension and to modify the UI.

## Claims

### Claim 1

A computer-implemented method for one or more of adding extensions and providing default values to extensions in database systems, the method being executed by one or more processors and comprising:
querying metadata of data objects in a set of data objects to determine presence of one or more of a generic text field and an attachment field within a set of tables stored in the database system, each data object in the set of data objects corresponding to a respective table in the set of tables;
defining a sub-set of data objects, each data object in the sub-set of data objects comprising one or more of a generic text field and an attachment field within the respective table; and
for each data object in the sub-set of data objects:
processing historical data of the data object using at least one regular expression to identify a set of data types, the historical data stored within a field of the respective table stored in the database system,
in response to determining that a frequency of data of a first data type included in the generic text field exceeds a threshold frequency, displaying to a user a recommendation for a first extension corresponding to a first data type in the set of data types, the first extension comprising adding a column to the respective table, the column representing a field for the first data type that is absent from the respective table, and
receiving user input from the user, the user input indicating acceptance of the recommendation for the first extension and, in response, automatically:
providing extension code that is executable to add the field extension to the respective table and to modify a user interface (UI) of an application for input of values corresponding to the first data type, and
executing the extension code to deploy the extension and to modify the UI.

### Claim 2 (depends on 1)

The method of claim 1, further comprising, in response to receiving user input indicating acceptance of the recommendation for the first extension, determining default values for selective presentation in the UI for the first data type.

### Claim 3 (depends on 2)

The method of claim 2, wherein determining default values comprises one or more of providing default values from the historical data and extracting default values from one or more attached documents.

### Claim 4 (depends on 2)

The method of claim 2, wherein determining default values comprises initiating a machine learning (ML) platform to provide a ML model that is trained to generate the default values.

### Claim 5 (depends on 1)

The method of claim 1, further comprising determining a frequency of data values corresponding to the first data type within the field of the table, wherein providing a recommendation for a first extension corresponding to a first data type in the set of data types is executed in response to determining that the frequency at least meets a threshold frequency.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining a frequency of data values corresponding to a second data type within the historical data; and
determining to forego providing a recommendation for a second extension corresponding to the second data type in response to determining that the frequency fails to meet a threshold frequency.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
determining an accuracy associated with the first extension based on one or more of frequency of use of the first extension and acceptance of default values for the first extension; and
selectively alerting a user to one of updating and removing the first extension based on the accuracy.

### Claim 8

A non-transitory computer-readable storage medium coupled to one or more processors and having instructions stored thereon which, when executed by the one or more processors, cause the one or more processors to perform operations for one or more of adding extensions and providing default values to extensions in database systems, the operations comprising:
querying metadata of data objects in a set of data objects to determine presence of one or more of a generic text field and an attachment field within a set of tables stored in the database system, each data object in the set of data objects corresponding to a respective table in the set of tables;
defining a sub-set of data objects, each data object in the sub-set of data objects comprising one or more of a generic text field and an attachment field within the respective table; and
for each data object in the sub-set of data objects:
processing historical data of the data object using at least one regular expression to identify a set of data types, the historical data stored within a field of the respective table stored in the database system,
in response to determining that a frequency of data of a first data type included in the generic text field exceeds a threshold frequency, displaying to a user a recommendation for a first extension corresponding to a first data type in the set of data types, the first extension comprising adding a column to the respective table, the column representing a field for the first data type that is absent from the respective table, and
receiving user input from the user, the user input indicating acceptance of the recommendation for the first extension and, in response, automatically:
providing extension code that is executable to add a field extension to the respective table and to modify a user interface (UI) of an application for input of values corresponding to the first data type, and
executing the extension code to deploy the extension and to modify the UI.

### Claim 9 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein operations further comprise, in response to receiving user input indicating acceptance of the recommendation for the first extension, determining default values for selective presentation in the UI for the first data type.

### Claim 10 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein determining default values comprises one or more of providing default values from the historical data and extracting default values from one or more attached documents.

### Claim 11 (depends on 9)

The non-transitory computer-readable storage medium of claim 9, wherein determining default values comprises initiating a machine learning (ML) platform to provide a ML model that is trained to generate the default values.

### Claim 12 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein operations further comprise determining a frequency of data values corresponding to the first data type within the field of the table, wherein providing a recommendation for a first extension corresponding to a first data type in the set of data types is executed in response to determining that the frequency at least meets a threshold frequency.

### Claim 13 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein operations further comprise:
determining a frequency of data values corresponding to a second data type within the historical data; and
determining to forego providing a recommendation for a second extension corresponding to the second data type in response to determining that the frequency fails to meet a threshold frequency.

### Claim 14 (depends on 8)

The non-transitory computer-readable storage medium of claim 8, wherein operations further comprise:
determining an accuracy associated with the first extension based on one or more of frequency of use of the first extension and acceptance of default values for the first extension; and
selectively alerting a user to one of updating and removing the first extension based on the accuracy.

### Claim 15

A system, comprising:
a computing device; and
a computer-readable storage device coupled to the computing device and having instructions stored thereon which, when executed by the computing device, cause the computing device to perform operations for one or more of adding extensions and providing default values to extensions in database systems, the operations comprising:
querying metadata of data objects in a set of data objects to determine presence of one or more of a generic text field and an attachment field within a set of tables stored in the database system, each data object in the set of data objects corresponding to a respective table in the set of tables;
defining a sub-set of data objects, each data object in the sub-set of data objects comprising one or more of a generic text field and an attachment field within the respective table; and
for each data object in the sub-set of data objects:
processing historical data of the data object using at least one regular expression to identify a set of data types, the historical data stored within a field of the respective table stored in the database system,
in response to determining that a frequency of data of a first data type included in the generic text field exceeds a threshold frequency, displaying to a user a recommendation for a first extension corresponding to a first data type in the set of data types, the first extension comprising adding a column to the respective table, the column representing a field for the first data type that is absent from the respective table, and
receiving user input from the user, the user input indicating acceptance of the recommendation for the first extension and, in response, automatically:
providing extension code that is executable to add a field extension to the respective table and to modify a user interface (UI) of an application for input of values corresponding to the first data type, and
executing the extension code to deploy the extension and to modify the UI.

### Claim 16 (depends on 15)

The system of claim 15, wherein operations further comprise, in response to receiving user input indicating acceptance of the recommendation for the first extension, determining default values for selective presentation in the UI for the first data type.

### Claim 17 (depends on 16)

The system of claim 16, wherein determining default values comprises one or more of providing default values from the historical data and extracting default values from one or more attached documents.

### Claim 18 (depends on 16)

The system of claim 16, wherein determining default values comprises initiating a machine learning (ML) platform to provide a ML model that is trained to generate the default values.

### Claim 19 (depends on 15)

The system of claim 15, wherein operations further comprise determining a frequency of data values corresponding to the first data type within the field of the table, wherein providing a recommendation for a first extension corresponding to a first data type in the set of data types is executed in response to determining that the frequency at least meets a threshold frequency.

### Claim 20 (depends on 15)

The system of claim 15, wherein operations further comprise:
determining a frequency of data values corresponding to a second data type within the historical data; and
determining to forego providing a recommendation for a second extension corresponding to the second data type in response to determining that the frequency fails to meet a threshold frequency.
