Search

US-12619592-B2 - External database as source for local system customizing

US12619592B2US 12619592 B2US12619592 B2US 12619592B2US-12619592-B2

Abstract

A method, a system, and computer program product for customizing settings of cloud-based software applications using an external database as a source are provided. A request to generate a new database table corresponding to a new version of a database table associated with a cloud-based system hosting a cloud-based software application is received. The request is processed to determine a content of the new database table using a data structure of the database table. A version identifier corresponding to the new database table is generated. The version identifier and the new database table are provided, to an external database for storage. A deployment, to a productive system, of the new database table, is controlled for the new database table to be used when executing the cloud-based software application.

Inventors

  • Wulf Kruempelmann
  • Volker Zirkel

Assignees

  • SAP SE

Dates

Publication Date
20260505
Application Date
20221206

Claims (14)

  1. 1 . A computer-implemented method comprising: receiving, by one or more processors, a request to generate a second database table corresponding to a new version of a first database table associated with a cloud-based system hosting a cloud-based software application, wherein the request includes a customized template having one or more customizations that are specific to a tenant, wherein the one or more customizations modify data that is stored in a first column from a first datatype to a second datatype, wherein the customized template is created based on a template selected by the tenant among a set of default templates, the tenant applying the one or more customizations to the selected template, and wherein the second database table is generated based on a difference between one or more datatypes of data stored in a particular column of the first database table and one or more datatypes specified by the customized template for the particular column including one or more of a numerical datatype, a character datatype, a date datatype, and a logical datatype; determining, by the one or more processors, in response to the request, a content of the second database table using a same data structure as the first database table; generating, by the one or more processors, a version identifier corresponding to the second database table as a branch number; providing, by the one or more processors to an external database, the branch number and the second database table for storage; performing, by the one or more processors, a validation of the second database table by verifying each entry of the content of the second database table, wherein the validation comprises verifying the second datatype of the data stored in the first column; storing, in the external database, the validated second database table mapped to the branch number; alerting, by a database trigger of a customizing engine, a development system when the second database table is generated with the branch number to enable the second database table to be propagated to a test system and a productive system; and controlling, by the one or more processors, a deployment, to the test system and the productive system, of the second database table, for the second database table to be used when executing the cloud-based software application, wherein the deployment, to the test system and the productive system, of the second database table comprises reading entries of the second database table directly from the external database using the branch number without replicating the second database table.
  2. 2 . The computer-implemented method of claim 1 , wherein controlling, by the one or more processors, the deployment, to the test system and the productive system, of the second database table is based on a schedule associated with the branch number of the second database table, the schedule indicating a time for switching from an old version of the first database table to the new version of the first database table based on one or more factors including a rule change, a code change, or an entity change, and wherein the computer-implemented method further comprises: generating a deployment approval for enabling the deployment, to the test system and the productive system, of the second database table to match a timing of a change associated with the one or more factors.
  3. 3 . The computer-implemented method of claim 2 , further comprising: storing the first database table in an original database different from the external database.
  4. 4 . The computer-implemented method of claim 1 , wherein the request to generate the second database table is provided by an external customizing repository configured to directly write data in the external database.
  5. 5 . The computer-implemented method of claim 1 , wherein the one or more customizations applied to the selected template by the tenant modify a manner in which data is stored in the second database table.
  6. 6 . The computer-implemented method of claim 1 , wherein the difference is determined based on a comparison of the data stored in the particular column of the first database table against the customized template.
  7. 7 . A non-transitory computer-readable storage medium comprising programming code, which when executed by at least one processor, causes operations comprising: receiving a request to generate a second database table corresponding to a new version of a first database table associated with a cloud-based system hosting a cloud-based software application, wherein the request includes a customized template having one or more customizations that are specific to a tenant, wherein the one or more customizations modify data that is stored in a first column from a first datatype to a second datatype, wherein the customized template is created based on a template selected by the tenant among a set of default templates, the tenant applying the one or more customizations to the selected template, and wherein the second database table is generated based on a difference between one or more datatypes of data stored in a particular column of the first database table and one or more datatypes specified by the customized template for the particular column including one or more of a numerical datatype, a character datatype, a date datatype, and a logical datatype; determining, in response to the request, a content of the second database table using a same data structure as the first database table; generating a version identifier corresponding to the second database table as a branch number; providing, to an external database, the branch number and the second database table for storage; performing, by the at least one processor, a validation of the second database table by verifying each entry of the content of the second database table, wherein the validation comprises verifying the second datatype of the data stored in the first column; storing, in the external database, the validated second database table mapped to the branch number; alerting, by a database trigger of a customizing engine, a development system when the second database table is generated with the branch number to enable the second database table to be propagated to a test system and a productive system; and controlling a deployment, to the test system and the productive system, of the second database table, for the second database table to be used when executing the cloud-based software application, wherein the deployment, to the test system and the productive system, of the second database table comprises reading entries of the second database table directly from the external database using the branch number without replicating the second database table.
  8. 8 . The non-transitory computer-readable storage medium of claim 7 , wherein controlling the deployment, to the test system and the productive system, of the second database table is based on a schedule associated with the branch number of the second database table, the schedule indicating a time for switching from an old version of the first database table to the new version of the first database table based on one or more factors including a rule change, a code change, or an entity change, and wherein the operations further comprise: generating a deployment approval for enabling the deployment, to the test system and the productive system, of the second database table to match a timing of a change associated with the one or more factors.
  9. 9 . The non-transitory computer-readable storage medium of claim 8 , wherein the operations further comprise: storing the first database table in an original database different from the external database.
  10. 10 . The non-transitory computer-readable storage medium of claim 7 , wherein the request to generate the second database table is provided by an external customizing repository configured to directly write data in the external database.
  11. 11 . A system comprising: at least one processor; and at least one memory storing instructions, which when executed by the at least one processor, cause operations comprising: receiving a request to generate a second database table corresponding to a new version of a first database table associated with a cloud-based system hosting a cloud-based software application, wherein the request includes a customized template having one or more customizations that are specific to a tenant, wherein the one or more customizations modify data that is stored in a first column from a first datatype to a second datatype, wherein the customized template is created based on a template selected by the tenant among a set of default templates, the tenant applying the one or more customizations to the selected template, and wherein the second database table is generated based on a difference between one or more datatypes of data stored in a particular column of the first database table and one or more types specified by the customized template for the particular column including one or more of a numerical datatype, a character datatype, a date datatype, and a logical datatype; determining, in response to the request, a content of the second database table using a same data structure as the first database table; generating a version identifier corresponding to the second database table as a branch number; providing, to an external database, the branch number and the second database table for storage; performing, by the at least one processor, a validation of the second database table by verifying each entry of the content of the second database table, wherein the validation comprises verifying the second datatype of the data stored in the first column; storing, in the external database, the validated second database table mapped to the branch number; alerting, by a database trigger of a customizing engine, a development system when the second database table is generated with the branch number to enable the second database table to be propagated to a test system and a productive system; and controlling a deployment, to the test system and the productive system, of the second database table, for the second database table to be used when executing the cloud-based software application, wherein the deployment, to the test system and the productive system, of the second database table comprises reading entries of the second database table directly from the external database using the branch number without replicating the second database table.
  12. 12 . The system of claim 11 , wherein controlling the deployment, to the test system and the productive system, of the second database table is based on a schedule associated with the branch number of the second database table, the schedule indicating a time for switching from an old version of the first database table to the new version of the first database table based on one or more factors including a rule change, a code change, or an entity change, and wherein the operations further comprise: generating a deployment approval for enabling the deployment, to the test system and the productive system, of the second database table to match a timing of a change associated with the one or more factors.
  13. 13 . The system of claim 12 , wherein the operations further comprise: storing the first database table in an original database different from the external database.
  14. 14 . The system of claim 11 , wherein the request to generate the second database table is provided by an external customizing repository configured to directly write data in the external database.

Description

TECHNICAL FIELD The present disclosure generally relates to cloud computing and, more specifically, to customizing cloud computing systems using an external database as a source. BACKGROUND An application can be hosted by a cloud platform such that the application can be remotely accessible to multiple tenants, for example, over the Internet. For example, the application can be available as a cloud-based service including, for example, a software as a service (SaaS) and/or the like. Many organizations can rely on such cloud-based software applications including, for example, enterprise resource planning (ERP) software, customer relationship management (CRM) software, and/or the like. The settings, stored as tables, can define processes executable by the ERP and the CRM systems. Customization of settings using a staging table can involve a complex activation process that can conflict with some processes executed by the ERP and the CRM systems. SUMMARY Methods, systems, and articles of manufacture, including computer program products, are provided for customizing cloud computing systems using an external database as a source. In one aspect, a computer-implemented method includes: receiving, by one or more processors, a request to generate a new database table corresponding to a new version of a database table associated with a cloud-based system hosting a cloud-based software application; processing, by the one or more processors, the request to determine a content of the new database table using a data structure of the database table; generating, by the one or more processors, a version identifier corresponding to the new database table; providing, by the one or more processors to an external database, the version identifier and the new database table for storage; and controlling, by the one or more processors, a deployment, to a productive system, of the new database table, for the new database table to be used when executing the cloud-based software application. In some variations, one or more features disclosed herein including the following features can optionally be included in any feasible combination. In some implementations, the computer-implemented method further includes: performing, by the one or more processors, a validation of the new database table by verifying each entry of the content of the new database table; and generating, by the one or more processors, a deployment approval for enabling the deployment, to the productive system, of the new database table. In some implementations, controlling, by the one or more processors, the deployment, to the productive system, of the new database table is based on a schedule associated with the version identifier of the new database table, the schedule indicating a time for switching from an old version of the database table to the new version of the new database table. In some implementations, the database table is stored in an original database different from the external database. In some implementations, the new database table includes one or more customizations specific to a tenant associated with the cloud-based system. In some implementations, the request to generate the new database table is provided by an external customizing repository configured to directly write data in the external database. In some implementations, the deployment, to the productive system, of the new database table includes reading entries of the new database table directly from the external database using the version identifier. In another aspect, a non-transitory computer-readable storage medium includes programming code, which when executed by at least one data processor, causes operations including: receiving a request to generate a new database table corresponding to a new version of a database table associated with a cloud-based system hosting a cloud-based software application; processing the request to determine a content of the new database table using a data structure of the database table; generating a version identifier corresponding to the new database table; providing, to an external database, the version identifier and the new database table for storage; and controlling a deployment, to a productive system, of the new database table, for the new database table to be used when executing the cloud-based software application. In some variations, one or more features disclosed herein including the following features can optionally be included in any feasible combination. In some implementations, the operations further include: performing a validation of the new database table by verifying each entry of the content of the new database table; and generating a deployment approval for enabling the deployment, to the productive system, of the new database table. In some implementations, controlling the deployment, to the productive system, of the new database table is based on a schedule associated with the version identifier of the new database table, the schedule