diff --git a/docs/10-concepts/apis-d1d1107.md b/docs/10-concepts/apis-d1d1107.md index 6339fbc1..eb37f32d 100644 --- a/docs/10-concepts/apis-d1d1107.md +++ b/docs/10-concepts/apis-d1d1107.md @@ -6,7 +6,7 @@ Discover and consume APIs to manage, build, and extend the core capabilities of -An Application Programming Interface or API is an **interface provided by an application for interacting with other applications**. APIs specify how software programs are able to exchange information with each other, even if designed and run by different organizations. They facilitate interaction by selectively exposing certain functionality, allowing different apps, websites, and devices to communicate effectively with each other. More importantly, APIs allow businesses to reach beyond regular business channels and share data, content, and services directly to both B2B \(business to business\) and B2C \(business to consumer\) clients, making UI development easy. +An Application Programming Interface or API is an **interface provided by an application for interacting with other applications**. APIs specify how software programs are able to exchange information with each other, even if designed and run by different organizations. They facilitate interaction by selectively exposing certain functionality, allowing different apps, websites, and devices to communicate effectively with each other. More importantly, APIs enable businesses to reach beyond regular business channels and share data, content, and services directly to both B2B \(business to business\) and B2C \(business to consumer\) clients, making UI development easy. @@ -33,7 +33,7 @@ Description -**[SAP BTP on SAP Business Accelerator Hub](https://api.sap.com/products/SAPCloudPlatform/overview)** +[SAP BTP on SAP Business Accelerator Hub](https://api.sap.com/products/SAPCloudPlatform/overview) @@ -47,26 +47,26 @@ It is also the official place where REST and OData REST API references are publi -**[SAP BTP API Management](https://help.sap.com/viewer/p/SAP_CLOUD_PLATFORM_API_MANAGEMENT)** +[API Management Capability within SAP Integration Suite](https://help.sap.com/viewer/p/SAP_CLOUD_PLATFORM_API_MANAGEMENT) -API Management allows you to build, manage, publish, and monetize your own APIs within one secure and scalable environment. +With the API Management capability, you can build, manage, publish, and monetize your own APIs within one secure and scalable environment. -**SDKs** +**Software Development Kits \(SDKs\)** + +For an overview on the available SDKs, see [Tools](tools-abcae5b.md). -The software development kits \(SDKs\) available for SAP BTP offer APIs to, for example, accelerate enterprise app development. - -For an overview on the available SDKs, see [Tools](tools-abcae5b.md). +The SDKs available for SAP BTP offer APIs to, for example, accelerate enterprise app development. diff --git a/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-a-783ff50.md b/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-a-783ff50.md index fff1614c..929eda5d 100644 --- a/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-a-783ff50.md +++ b/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-a-783ff50.md @@ -22,21 +22,21 @@ The following figure illustrates the architecture required for platform users. T ![](images/architecture_platform_users_features_set_a_14e046f.png "Architecture Required for Custom User Base of Platform Users") -In the preceding figure, you enable trust between SAP BTP and your corporate identity provider over your tenant of SAP Cloud Identity Services - Identity Authentication. For each Neo subaccount, you choose the Identity Authentication tenant to use as the platform identity provider. The Identity Authentication tenant automatically configures an application within the tenant and generates an identifier to establish the connection between the two entities. When you log on to a platform resource, such as the cockpit, you indicate the Neo subaccount you want to log on with using this identifier in the subdomain, for example, `https://cockpit.eu10.hana.ondemand.com/cockpit/?idp=bs8ibxkn.accounts.ondemand.com`. Once you’ve logged on with your platform user, the cockpit displays any global accounts and subaccounts your platform user is a member of. +In the preceding figure, you enable trust between SAP BTP and your corporate identity provider over your tenant of SAP Cloud Identity Services - Identity Authentication. For each Neo subaccount, you choose the SAP Cloud Identity Services tenant to use as the platform identity provider. The SAP Cloud Identity Services tenant automatically configures an application within the tenant and generates an identifier to establish the connection between the two entities. When you log on to a platform resource, such as the cockpit, you indicate the Neo subaccount you want to log on with using this identifier in the subdomain, for example, `https://cockpit.eu10.hana.ondemand.com/cockpit/?idp=bs8ibxkn.accounts.ondemand.com`. Once you’ve logged on with your platform user, the cockpit displays any global accounts and subaccounts your platform user is a member of. > ### Note: > An e-mail address alone isn’t enough to determine membership in an account. For Neo subaccounts the identifier is the user base \(identity provider\) and a configurable identifier with the user base; usually the user ID. For multi-environment subaccounts, the identifier is the origin \(your Cloud Foundry-specific alias for the identity provider\) and e-mail address. For example, you can have a platform user in the default identity provider, SAP ID service, and another user in your corporate identity provider with the same e-mail address. You can log on to the cockpit with both, but the cockpit displays different user information. This difference is because you’ve logged on with different identity providers. > -> You also see this difference when assigning roles or membership in subaccount. You must provide the user base or origin in addition to the e-mail address of the user. You can choose your own origin for multi-environment accounts, but the origin must be unique across all SAP customers. We recommend using the subdomain of your Identity Authentication tenant or your organization's name. All your users must be able to remember or type the origin when they use the Cloud Foundry command-line interface or service dashboards. A string of random characters isn't useful. +> You also see this difference when assigning roles or membership in subaccount. You must provide the user base or origin in addition to the e-mail address of the user. You can choose your own origin for multi-environment accounts, but the origin must be unique across all SAP customers. We recommend using the subdomain of your SAP Cloud Identity Services tenant or your organization's name. All your users must be able to remember or type the origin when they use the Cloud Foundry command-line interface or service dashboards. A string of random characters isn't useful. To use a corporate identity provider for platform users of a multi-environment subaccount, you need a Neo subaccount set up for the same corporate identity provider. This requirement exists, because logon to the cockpit is dependent on a Neo subaccount. You’re extending the existing configuration of your Neo subaccount to add the trust of your corporate identity provider to your multi-environment subaccounts. -For Neo subaccounts, there’s a 1:1 relationship between its applications in your Identity Authentication tenant. Multi-environment subaccounts are handled differently. During configuration, you submit a support ticket in which you state all the regions you want to apply this corporate identity provider configuration. This trust then applies to **all** your multi-environment subaccounts in those regions. So, all your multi-environment subaccounts share the same application in your Identity Authentication tenant. +For Neo subaccounts, there’s a 1:1 relationship between its applications in your SAP Cloud Identity Services tenant. Multi-environment subaccounts are handled differently. During configuration, you submit a support ticket in which you state all the regions you want to apply this corporate identity provider configuration. This trust then applies to **all** your multi-environment subaccounts in those regions. So, all your multi-environment subaccounts share the same application in your SAP Cloud Identity Services tenant. Configuring platform users for multi-environment subaccounts has no impact on your existing Neo configuration. You need the Neo configuration to log on to resources like the cockpit. > ### Recommendation: -> While support of multiple corporate identity providers is possible, we recommend using your Identity Authentication tenant as a proxy and use conditional authentication to separate them. +> While support of multiple corporate identity providers is possible, we recommend using your SAP Cloud Identity Services tenant as a proxy and use conditional authentication to separate them. **Related Information** diff --git a/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-b-8980b91.md b/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-b-8980b91.md index 26c0a6af..110b5d35 100644 --- a/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-b-8980b91.md +++ b/docs/10-concepts/bringing-your-corporate-identity-provider-for-platform-users-feature-set-b-8980b91.md @@ -24,7 +24,7 @@ The following figure illustrates the architecture required for platform users. T ![](images/SAP_BTP_Account_Mapping_e29be15.png) -In the preceding figure, you enable trust between the SAP BTP global account and your corporate identity provider over your tenant of SAP Cloud Identity Services - Identity Authentication. For each global account, you choose the Identity Authentication tenant to use as the identity provider for platform users. For the platform identify provider, you can have up to three Identity Authentication tenants per global account. Multiple global accounts can share the same Identity Authentication tenant. When you log on to a platform resource, such as the cockpit, you indicate the Identity Authentication tenant that you want to log on with. For example, to log on to the cockpit, copy a URL parameter from the cockpit to identify the tenant: +In the preceding figure, you enable trust between the SAP BTP global account and your corporate identity provider over your tenant of SAP Cloud Identity Services - Identity Authentication. For each global account, you choose the SAP Cloud Identity Services tenant to use as the identity provider for platform users. For the platform identify provider, you can have up to three SAP Cloud Identity Services tenants per global account. Multiple global accounts can share the same SAP Cloud Identity Services tenant. When you log on to a platform resource, such as the cockpit, you indicate the SAP Cloud Identity Services tenant that you want to log on with. For example, to log on to the cockpit, copy a URL parameter from the cockpit to identify the tenant: https://cockpit.btp.cloud.sap/cockpit/?idp=<tenant>.accounts.ondemand.com @@ -32,18 +32,16 @@ For example: `https://cockpit.btp.cloud.sap/cockpit/?idp=cidppuxhm.accounts.onde Once you’ve logged on, the cockpit displays any global accounts and subaccounts of which your platform user is a member. -Typically, a user is identified by email and origin \(your alias for the identity provider\). However, to most accurately identify a user, you need both user identifier and an identifier from an identity provider. The reason is that the system treats users with the same name but from different identity providers as separate users. For example, you can have a platform user in the default identity provider, SAP ID service, and another user in your corporate identity provider with the same e-mail address. This behavior applies to global accounts, directories, multi-environment subaccounts, and Cloud Foundry orgs and spaces. - -For Neo subaccounts a user is uniquely identified by the user base \(hostname of the Identity Authentication tenant\) and a configurable subject identifier. You can log on to the cockpit with both, but the cockpit displays different user information. This difference is because you’ve logged on with different identity providers. +Typically, a user is identified by email and origin \(your alias for the identity provider\). However, to most accurately identify a user, you need both user identifier and an identifier from an identity provider. The reason is that the system treats users with the same name but from different identity providers as separate users. For example, you can have a platform user in the default identity provider, SAP ID service, and another user in your corporate identity provider with the same e-mail address. This behavior applies to global accounts, directories, multi-environment subaccounts, and Cloud Foundry orgs and spaces. A user is uniquely identified by the user base \(host name of the SAP Cloud Identity Services tenant\) and a configurable subject identifier. If this user exists in two identity providers, meaning two user bases, they are considered as two users \(with different authorizations\). Both users can log on to the cockpit. However, their user information is different in Neo subaccounts because they are stored in different identity providers. > ### Note: -> With enhancements of cloud management tools feature set B, the trust configuration between SAP BTP and Identity Authentication changes for platform users \(for example, administrators, developers, operators\) in the Neo environment. The change only applies to global accounts in cloud management tools feature set B which have custom trust configurations for platform users. +> With enhancements of cloud management tools feature set B, the trust configuration between SAP BTP and SAP Cloud Identity Services - Identity Authentication changes for platform users \(for example, administrators, developers, operators\) in the Neo environment. The change only applies to global accounts in cloud management tools feature set B which have custom trust configurations for platform users. > > For more information, see [SAP Note 3330671](https://launchpad.support.sap.com/#/notes/3330671). You also see this difference when assigning roles. You must provide the origin or user base in addition to the e-mail address or user ID of the user. When platform users use the Cloud Foundry command-line interface or service dashboards, they need to remember the origin. You can choose your own origin, but the origin must be unique across all customers. We recommend that you use a meaningful name that helps identify the target it points to. -In Identity Authentication, there's one application that represents SAP BTP overall. So, if you have multiple global accounts with the same Identity Authentication tenant, they all share the same application in your Identity Authentication tenant that is where customers typically configure settings such as the corporate identity provider used for authentication and user attribute mapping between systems. For more information, see [Map User Attributes from a Corporate Identity Provider for Platform Users](../50-administration-and-ops/map-user-attributes-from-a-corporate-identity-provider-for-platform-users-40c2e54.md). +In SAP Cloud Identity Services - Identity Authentication, there's one application that represents SAP BTP overall. So, if you have multiple global accounts with the same SAP Cloud Identity Services tenant, they all share the same application in your SAP Cloud Identity Services tenant that is where customers typically configure settings such as the corporate identity provider used for authentication and user attribute mapping between systems. For more information, see [Map User Attributes from a Corporate Identity Provider for Platform Users](../50-administration-and-ops/map-user-attributes-from-a-corporate-identity-provider-for-platform-users-40c2e54.md). **Related Information** diff --git a/docs/10-concepts/business-users-2e68494.md b/docs/10-concepts/business-users-2e68494.md index e988f29e..26487c12 100644 --- a/docs/10-concepts/business-users-2e68494.md +++ b/docs/10-concepts/business-users-2e68494.md @@ -6,7 +6,7 @@ Application developers \(platform users\) create and deploy application-specific security artifacts for business users, such as scopes. Administrators use these artifacts to assign roles, build role collections, and assign these role collections to business users or user groups. In this way, they control the users' permissions in the application. -For business users, there's a [default identity provider](../50-administration-and-ops/default-identity-provider-d6a8db7.md), too. We expect that you have your own identity provider. We recommend that you configure your custom tenant of Identity Authentication as the identity provider and connect Identity Authentication to your own corporate identity provider. +For business users, there's a [default identity provider](../50-administration-and-ops/default-identity-provider-d6a8db7.md), too. We expect that you have your own identity provider. We recommend that you configure your custom tenant of SAP Cloud Identity Services as the identity provider and connect SAP Cloud Identity Services to your own corporate identity provider. diff --git a/docs/10-concepts/commercial-information-b7f5a93.md b/docs/10-concepts/commercial-information-b7f5a93.md deleted file mode 100644 index 29b755b3..00000000 --- a/docs/10-concepts/commercial-information-b7f5a93.md +++ /dev/null @@ -1,178 +0,0 @@ - - -# Commercial Information - - - - - -## Service - - - -### Description - -SAP BTP ABAP environment is SAP’s Platform-as-a-Service offering to create innovative ABAP applications and extensions in the cloud. It provides the modern ABAP RESTful Application Programming Model, leveraging SAP HANA Cloud, SAP Fiori, and a cloud-optimized ABAP language with a clear set of released standard APIs. Developers can utilize a development toolset that enables tight integration with Git-enabled lifecycle management. - - - -### Overview - -![](images/Commercial_Information_Page_New_d6eec70.png) - - - -### SAP BTP Cockpit: Descriptions of the Service Plans - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- -Name - - - -Service Plan - - - -Description - -
- -free - - - -Free - - - -For small proof-of-concept projects. Allows you to explore all development capabilities. Also includes the piloting of ABAP Test Cockpit scenarios remotely for on-premise systems via the Custom Code Migration app. The instance will be automatically stopped each night, requiring a manual restart via the Landscape Portal. Only community support available. Free tier instance is not subject to SLAs. Upgrading to paid plan seamless; non-upgraded instance and its content decommissioned after 90 days. - -
- -standard - - - -Standard - - - -You can size the ABAP runtime and the SAP HANA memory independently from each other. To be able to do your sizing, you must also select the quota plans abap\_compute\_unit and hana\_compute\_unit. When you create an ABAP system, you must decide on the system size in ABAP compute units. One ABAP compute unit represents 16 GB. - -
- -abap\_compute\_unit - - - -Standard - - - -Configure ABAP Runtime in blocks of 16 GB. Increase the quotas in the abap\_compute\_unit service plan at least by 1. - -
- -hana\_compute\_unit - - - -Standard - - - -Configure HANA Memory in blocks of 15 GB. Increase the quotas in the hana\_compute\_unit service plan at least by 2. - -
- -16\_abap\_64\_db \(Deprecated\) - - - -16 GB Runtime and 64 GB Persistence \(Deprecated\) - - - -This ABAP runtime service plan provides a 16 GB ABAP runtime with a 64 GB database. No additional sizing is possible. - -This service plan is deprecated. Please change the service plan to “standard”. - -
- - - -
- -## Metrics - - - - - - - - - - - -
- -Metric - - - -Definition - -
- -Memory - - - -Temporary memory bank where computers store data that needs to be retrieve and processed quickly. - -The memory represents the size of the data that can be processed , and CPU represents the speed at which the data can be retrieved. - -
- - - -
- -## Supplemental Terms and Conditions - -For more information, see the [SAP Business Technology Platform Service Description Guide](https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html?sort=latest_desc&tag=language%3Aenglish&pdf-asset=82ce6fed-917e-0010-bca6-c68f7e60039b&page=1). - diff --git a/docs/10-concepts/commercial-information-for-sap-btp-abap-environment-b7f5a93.md b/docs/10-concepts/commercial-information-for-sap-btp-abap-environment-b7f5a93.md new file mode 100644 index 00000000..7423bb96 --- /dev/null +++ b/docs/10-concepts/commercial-information-for-sap-btp-abap-environment-b7f5a93.md @@ -0,0 +1,202 @@ + + +# Commercial Information for SAP BTP, ABAP environment + +This page explains the relationship between the service plans of the SAP Discovery Center and the service plans of the SAP BTP cockpit and provides information to help you understand how the service is billed. + + + + + +## Service + + + +### Overview + +![Image of Consumption-Based Models for SAP BTP ABAP environment. It shows the Free and Standard service plans containing the Hours of Runtime Memory in 16 GB blocks for the Free plan, and Hours of Persistent and Runtime Memory in 16 GB blocks for the Standard plan. It also shows the deprecated plan called 16 GB Runtime and 64 GB Persistence.](images/Commercial_Info_Page_Updated_e08278d.png)[**Discovery Center: SAP BTP ABAP environment**](https://discovery-center.cloud.sap/serviceCatalog/abap-environment?tab=service_plan®ion=all) + +> ### Note: +> For more information about consumption-based models, please check [What is the Consumption-Based Commercial Model?](https://help.sap.com/docs/btp/sap-business-technology-platform/what-is-consumption-based-commercial-model?version=Cloud) + + + +### SAP BTP Cockpit: Service Plans + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Name + + + +Service Plan + + + +Description + +
+ +free + + + +Free + + + +Allows you to create small proof-of-concept development projects. Also can be used for the piloting of a remote ABAP test cockpit scenario against on-premise systems in the Custom Code Migration app. The instance will be stopped each night automatically and needs to be started again via the Landscape Portal. Only community support is available for free tier service plans and these are not subject to SLAs. + +
+ +standard + + + +Standard + + + +Allows you to create projects for development, test, and productive ABAP systems. The minimum system size is 2 HANA Compute Units and 1 ABAP Compute Unit. + +It is mandatory to assign a combination of three entitlement service plans: ABAP Compute Unit, HANA Compute Unit, and either the Free, Standard, or SaaS OEM plan. + +
+ +abap\_compute\_unit + + + +Standard + + + +Allows you to configure runtime memory, which refers to volatile memory used during the execution of applications. This memory provides fast read and write access but loses all data when the system is restarted or shut down. The metric measures the amount of runtime memory used in 16 GB blocks on an hourly basis. + +It is mandatory to assign a combination of three entitlement service plans: ABAP Compute Unit, HANA Compute Unit, and either the Free, Standard, or SaaS OEM plan. + +
+ +hana\_compute\_unit + + + +Standard + + + +Allows you to configure persistent memory, which refers to storage that retains data even after the system is restarted or shut down. The metric measures the amount of persistent storage used in 16 GB blocks on an hourly basis. + +It is mandatory to assign a combination of three entitlement service plans: ABAP Compute Unit, HANA Compute Unit, and either the Free, Standard, or SaaS OEM plan. + +
+ +saas\_oem + + + +SaaS OEM + + + +Allows you to create projects for ABAP systems to run multitenancy SaaS applications. The minimum system size is 2 HANA Compute Units and 1 ABAP Compute Unit. + +It is mandatory to assign a combination of three entitlement service plans: ABAP Compute Unit, HANA Compute Unit, and either the Free, Standard, or SaaS OEM plan. + +
+ +16\_abap\_64\_db \(Deprecated\) + + + +16 GB Runtime and 64 GB Persistence \(Deprecated\) + + + +This ABAP runtime service plan provides a 16 GB ABAP runtime with a 64 GB database. No additional sizing is possible. + +This service plan is deprecated. Please change the service plan to “standard”. + +
+ + + +
+ +## Metrics + + + + + + + + + + + +
+ +Metric + + + +Definition + +
+ +Memory + + + +Temporary memory bank where computers store data that needs to be retrieve and processed quickly. + +The memory represents the size of the data that can be processed , and CPU represents the speed at which the data can be retrieved. + +
+ + + +
+ +## Supplemental Terms and Conditions + +For more information, see the [SAP Business Technology Platform Service Description Guide](https://www.sap.com/about/trust-center/agreements/cloud/cloud-services.html?sort=latest_desc&tag=language%3Aenglish&pdf-asset=82ce6fed-917e-0010-bca6-c68f7e60039b&page=1). + diff --git a/docs/10-concepts/images/Commercial_Info_Page_Updated_e08278d.png b/docs/10-concepts/images/Commercial_Info_Page_Updated_e08278d.png new file mode 100644 index 00000000..09049890 Binary files /dev/null and b/docs/10-concepts/images/Commercial_Info_Page_Updated_e08278d.png differ diff --git a/docs/10-concepts/images/Commercial_Information_Page_New_d6eec70.png b/docs/10-concepts/images/Commercial_Information_Page_New_d6eec70.png deleted file mode 100644 index 24c6a8b6..00000000 Binary files a/docs/10-concepts/images/Commercial_Information_Page_New_d6eec70.png and /dev/null differ diff --git a/docs/10-concepts/images/SAP_BTP_Account_Mapping_e29be15.png b/docs/10-concepts/images/SAP_BTP_Account_Mapping_e29be15.png index 6bf2d4c3..ba073d65 100644 Binary files a/docs/10-concepts/images/SAP_BTP_Account_Mapping_e29be15.png and b/docs/10-concepts/images/SAP_BTP_Account_Mapping_e29be15.png differ diff --git a/docs/10-concepts/images/architecture_platform_users_features_set_a_14e046f.png b/docs/10-concepts/images/architecture_platform_users_features_set_a_14e046f.png index 9ab7637d..c4e325dc 100644 Binary files a/docs/10-concepts/images/architecture_platform_users_features_set_a_14e046f.png and b/docs/10-concepts/images/architecture_platform_users_features_set_a_14e046f.png differ diff --git a/docs/10-concepts/images/user-accounts_27c8463.png b/docs/10-concepts/images/user-accounts_27c8463.png index 7dcc72c9..a553cb88 100644 Binary files a/docs/10-concepts/images/user-accounts_27c8463.png and b/docs/10-concepts/images/user-accounts_27c8463.png differ diff --git a/docs/10-concepts/tools-abcae5b.md b/docs/10-concepts/tools-abcae5b.md index 073b0897..1e51f226 100644 --- a/docs/10-concepts/tools-abcae5b.md +++ b/docs/10-concepts/tools-abcae5b.md @@ -167,18 +167,6 @@ The Eclipse plug-in for the Cloud Foundry environment is a Java-based toolkit fo -[SAP Web IDE](https://help.sap.com/viewer/product/SAP_Web_IDE/CF/en-US) - - - - -With SAP Web IDE Full-Stack, you can easily develop, test, build, deploy, and extend role-based, consumer-grade apps for business users. Create applications rapidly and deliver an outstanding user experience. You can extend or build SAP Fiori apps, create SaaS solutions, extend SAP S/4HANA cloud services, develop hybrid mobile apps, and build IoT apps for SAP Leonardo, using the UI development toolkit for HTML5, the SAP HANA toolset, and Java programming language and technologies. - - - - - - [SAP Business Application Studio](https://help.sap.com/viewer/product/SAP%20Business%20Application%20Studio/Cloud/en-US) diff --git a/docs/10-concepts/user-and-member-management-cc1c676.md b/docs/10-concepts/user-and-member-management-cc1c676.md index 808f72a0..746a8591 100644 --- a/docs/10-concepts/user-and-member-management-cc1c676.md +++ b/docs/10-concepts/user-and-member-management-cc1c676.md @@ -10,7 +10,7 @@ On SAP BTP, member management takes place at all levels from global account to e ## User Accounts -A user account corresponds to a particular user in an identity provider, such as the default identity provider or a custom tenant of the Identity Authentication service. +A user account corresponds to a particular user in an identity provider, such as the default identity provider or a custom tenant of the SAP Cloud Identity Services - Identity Authentication. **User accounts** enable users to log on to SAP BTP, access subaccounts, and to use services according to the permissions granted to them. @@ -23,6 +23,10 @@ Before diving into the different user and member management concepts, it's impor **Related Information** +[Platform Users](platform-users-4401316.md "Platform users are usually developers, administrators or operators who deploy, administer, and troubleshoot applications and services on SAP BTP. They’re the users that have full access and give certain permissions, for instance, at global account, directory, or subaccount level. Members only have basic access.") + +[Business Users](business-users-2e68494.md "Business users use the applications that are deployed to SAP BTP. For example, the end users of SaaS apps or services, such as SAP Workflow service or SAP Cloud Integration, or end users of your custom applications are business users.") + [Working with Users](../50-administration-and-ops/working-with-users-2c91f88.md "In the SAP BTP cockpit, you can see the users of your global account or subaccount, user-related identity provider information, and their authorizations. In a user's overview, you can create and delete users, and assign role collections. You can also display an overview of the role collections, where you can drill down all the way to the role, and see the application that the role is belongs to.") [Roles and Role Collections](../50-administration-and-ops/roles-and-role-collections-14a877c.md "Usually a role collection consists of one or multiple roles. You can use the SAP BTP cockpit to add or remove roles.") diff --git a/docs/20-getting-started/creating-an-abap-system-50b32f1.md b/docs/20-getting-started/creating-an-abap-system-50b32f1.md index 6e5cc029..a42fe2d5 100644 --- a/docs/20-getting-started/creating-an-abap-system-50b32f1.md +++ b/docs/20-getting-started/creating-an-abap-system-50b32f1.md @@ -213,6 +213,11 @@ For more information about creating service instances, see [Create Service Insta Using an email address as subject name identifier might not be possible if the e-mail address is ambiguous across users or if the trusted identity provider configured for authentication in the ABAP Environment instance’s subaccount already is configured with the subject name identifier `Login Name`. In this case, you can change the **login attribute** to `user_name` and in addition also provide the user name for the initial user in the **admin user name** \(see above\). + + > ### Caution: + > Currently, it's only possible to change the login attribute **when creating a new ABAP system**. To change the settings **afterwards**, please create a service ticket. + + diff --git a/docs/20-getting-started/creation-of-additional-administrator-users-optional-ced8380.md b/docs/20-getting-started/creation-of-additional-administrator-users-optional-ced8380.md index 1ee0ab55..3a797384 100644 --- a/docs/20-getting-started/creation-of-additional-administrator-users-optional-ced8380.md +++ b/docs/20-getting-started/creation-of-additional-administrator-users-optional-ced8380.md @@ -6,3 +6,16 @@ After you have set up the ABAP environment for administration, add more administ After you have completed the administrative setup, only your user is available as administrator in the ABAP environment. You will probably want to create more administration users for your ABAP environment. Creating more administration users also helps you verify that your administrative setup is correct and complete. +**Related Information** + + +[Adding a User as Org Manager for the Cloud Foundry Organization](adding-a-user-as-org-manager-for-the-cloud-foundry-organization-57059dc.md "After you have created a Cloud Foundry organization for the ABAP environment, you can add more users as organization managers.") + +[Adding a User as Space Manager for the Cloud Foundry Space](adding-a-user-as-space-manager-for-the-cloud-foundry-space-02b8cd8.md "After you have created a Cloud Foundry space for the ABAP environment, you can add more users as space managers.") + +[Logging on to the Administration Launchpad of the ABAP Environment](logging-on-to-the-administration-launchpad-of-the-abap-environment-11e765e.md "To add another user as administrator for the ABAP instance, log on to the administration launchpad of the ABAP environment.") + +[Creating an Employee Record for a New Administrator](creating-an-employee-record-for-a-new-administrator-7580525.md "To be able to create a new administration user, you first need to create an employee record for the new administrator.") + +[Assigning the ABAP Environment Administrator Role to the New Administrator User](assigning-the-abap-environment-administrator-role-to-the-new-administrator-user-ad888b0.md "Add the new administration user as administrator to the ABAP instance.") + diff --git a/docs/20-getting-started/getting-started-with-custom-code-analysis-in-the-abap-environment-2fc0fea.md b/docs/20-getting-started/getting-started-with-custom-code-analysis-in-the-abap-environment-2fc0fea.md new file mode 100644 index 00000000..57e16fd5 --- /dev/null +++ b/docs/20-getting-started/getting-started-with-custom-code-analysis-in-the-abap-environment-2fc0fea.md @@ -0,0 +1,50 @@ + + +# Getting Started with Custom Code Analysis in the ABAP Environment + +Learn how to get started with Custom Code Analysis in the SAP BTP, ABAP environment. + +You want to use the SAP BTP, ABAP environment to analyze your custom code remotely in your SAP ECC or SAP S/4HANA systems? This documentation will help you gain insight into all the options to work with the ABAP Test Cockpit \(ATC\) in the SAP BTP, ABAP environment. + +The following list covers all possible use cases and will guide you to the respective documentation chapters providing more details on each use case. + +1. **ABAP Test Cockpit Configurator:** Use this app to maintain ATC configurations using the SAP Fiori launchpad. + + For more information on this app, see [ABAP Test Cockpit Configurator](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/abap-test-cockpit-configurator). + + To learn how to enable the app, see [Enable Usage of the ABAP Test Cockpit Configurator App](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/enable-usage-of-abap-test-cockpit-configurator-app). + +2. **Custom Code Analysis:** If you want to check your custom code in your on-premise system remotely using the SAP BTP, ABAP environment as the central check system, you need to set up the Custom Code Migration app on the SAP Fiori launchpad. + + To enable the Custom Code Migration app, see [Enable Usage of the Custom Code Migration App](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/enable-usage-of-custom-code-migration-app). + + To learn all about custom code migration, see the [Custom Code Migration Guide for SAP S/4HANA 2023](https://help.sap.com/doc/9dcbc5e47ba54a5cbb509afaa49dd5a1/2023.000/en-US/CustomCodeMigration_EndToEnd.pdf). + +3. **ATC Developer Scenario:** You can use a system in the SAP BTP, ABAP environment as a central check system to run ATC checks from an on-premise system against this system. To do this, a number of configurations will be necessary. + + To learn how to use the ATC as a central check system, see [Configuring Remote ATC Using a Central Check System](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/configuring-remote-atc-using-central-check-system?). + + To learn how to set up the ATC developer scenario, see [Configuring the ATC Developer Scenario](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/using-sap-btp-system-as-atc-central-check-system). + +4. **Working with Exemptions:** Learn about your options to exempt your ATC findings. + + To learn how to enable the Approve ATC Exemptions app to be able to exempt the findings from your custom code analysis, see [Enable Usage of the Approve ATC Exemptions App](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/enable-usage-of-approve-atc-exemptions-app). + + For more information on the Approve ATC Exemptions app, see [Approve ATC Exemptions](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/approve-atc-exemptions). + +5. **Schedule Custom Code Analysis:** The Schedule Custom Code Analysis app enables you to schedule projects created in the Custom Code Migration app as application jobs. With this functionality, the analyses can be performed once or periodically. + + To learn more about the app and how to enable it, see [Schedule Custom Code Analysis](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/schedule-custom-code-analysis). + +6. **Maintain the Baseline:** In the Custom Code Migration app, it is now possible to maintain the baseline. This means that you can add/remove custom code project check results to/from the baseline​ and choose whether you would like to exempt your findings, suppress your findings or reduce their priority. After adding findings to the baseline, they won't appear in the subsequent check results of the custom code project. + + To learn more about the baseline functionality in the Custom Code Migration app, see [Custom Code Migration](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/custom-code-migration). + + +**Related Information** + + +[SAP BTP, ABAP environment](https://help.sap.com/docs/sap-btp-abap-environment) + +[Custom Code Analysis](../50-administration-and-ops/custom-code-analysis-15d0a1a.md "") + diff --git a/docs/30-development/api-for-consumption-of-business-rules-69da3f8.md b/docs/30-development/api-for-consumption-of-business-rules-69da3f8.md new file mode 100644 index 00000000..3ccf712e --- /dev/null +++ b/docs/30-development/api-for-consumption-of-business-rules-69da3f8.md @@ -0,0 +1,428 @@ + + +# API for Consumption of Business Rules + +The purpose of the CL\_FDT\_FUNCTION\_PROCESS\_API is to enable consumption of BRF+ \(Business Rule Framework plus\) rules within the ABAP Cloud development environment. It acts as a bridge between your application and BRF+ functions\(rules\). + +The following table shows methods in CL\_FDT\_FUNCTION\_PROCESS\_API class: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +Method + + + +Parameter + + + +Description + +
+ +`Get_Content_List` + +This method is used to get the list of context elements for BRFplus function. + + + +Importing: `IV_FUNCTION_ID` + + + +ID of the function to be processed. + +
+ +Importing: `V_TIMESTAMP`: + + + +The timestamp parameter specifies the data retrieval or function evaluation time. Without a timestamp, the function returns the context list at the current date and time. + +
+ +Importing: `IV_TRACE_GENERATION` + + + +This Boolean indicates that the trace should be generated with a lean trace or not. + +
+ +Exporting: `ET_CONTEXT_LIST` + + + +The exporting parameter is a table containing the function's context list, which includes the id, name, and data object type of each context. + +
+ +`GET_CONTEXT_VALUE` + +This method is used to get the value of the context object of a BRFplus function in a referenced object. + + + +Importing: `IV_FUNCTION_ID` + + + +ID of the function to be processed. + +
+ +Importing:`IV_DATA_OBJECT` + + + +A character-like parameter that specifies the name or ID of the data object involved in the function call. + +
+ +Importing: `IV_TIMESTAMP` + + + +The timestamp parameter specifies the point in time for data retrieval or function evaluation. If no timestamp is provided, the function returns the context value at the current date and time. + +
+ +Importing: `IV_TRACE_GENERATION` + + + +This Boolean indicates that the trace should be generated with a lean trace or not. + +
+ +Exporting: `EV_DATA` + + + +This parameter exports the data object's actual value after function execution. Its type "ANY" indicates flexibility to handle any data type, expanding the function's return possibilities. + +
+ +Exporting: `ER_DATA` + + + +This exporting parameter references the data object, enabling its manipulation or examination beyond the function call. + +
+ +`GET_DATA_OBJECT_REFERENCE` + +This method is used to get the data reference of a context object in BRFplus function. + + + +Importing: `IV_FUNCTION_ID` + + + +ID of the function to be processed. + +
+ +Importing: `IV_DATA_OBJECT`: + + + +Importing: IV\_DATA\_OBJECT: A character-like parameter that specifies the name or ID of the data object involved in the function call. + +
+ +Importing: `IV_DATA_OBJECT` + + + +A character-like parameter that specifies the name or ID of the data object involved in the function call. + +
+ +Importing: `IV_TIMESTAMP` + + + +Importing: IV\_TIMESTAMP: The timestamp parameter specifies a specific point in time for data retrieval or function evaluation. If no timestamp is provided, all function context in a referenced object at the current date and time is returned. + +
+ +Importing: `IV_TRACE_GENERATION` + + + +Importing: IV\_TRACE\_GENERATION: This Boolean indicates that the trace should be generated with a lean trace or not. + +
+ +Exporting: + +`EV_DATA_OBJECT_NAME` + + + +This parameter exports the technical name of the data object involved in the operation, providing metadata such as its name or identifier. + +
+ +Exporting `ER_DATA` + + + +This exporting parameter provides a reference to the data object. It does not contain an actual value but rather a pointer to the data object. + +
+ +`MOVE_DATA_TO_DATA_OBJECT` + +This method is used to pass data from external source to BRFplus function’s context. + + + +Importing: `IR_DATA` + + + +This is a reference to any ABAP data object. It allows the method to directly interact with ABAP data objects provided by the calling program, offering a flexible interface for data processing. + +
+ +Importing: `IV_FUNCTION_ID` + + + +ID of the function to be processed. + +
+ +Importing: `IV_DATA_OBJECT`: + + + +A character-like parameter that specifies the name or ID of the data object involved in the function call. + +
+ +Importing: `IV_TIMESTAMP` + + + +The timestamp parameter is used to define a specific point in time for the data retrieval or function evaluation. If no time stamp is provided, then it takes current date and time. + +
+ +Importing: `IV_TRACE_GENERATION` + + + +This Boolean indicates that the trace should be generated with a lean trace or not. + +
+ +Importing: `IV_HAS_DDIC_BINDING` + + + +Indicates whether the data passed to the method confirms to a DDIC \(Data Dictionary\) structure as defined in BRF+. + +
+ +Exporting: `ER_DATA` + + + +This exporting parameter exports a reference to a BRFplus data object. This allows the method to return a data object that can be further manipulated or evaluated outside the method. + +
+ +`PROCESS ` + +With this method, a BRFplus function can be processed. You can specify a timestamp for the function to be processed so you can simulate the system behavior as it would have been at that point. Also, you can decide whether the trace for the function execution shall be saved in database for later reference or not. + + + +Importing: `IV_FUNCTION_ID` + + + +ID of the function to be processed. + +
+ +Importing: `IV_TIMESTAMP` + + + +The timestamp parameter is used to define a specific point in time for the data retrieval or function evaluation. If no time stamp is provided, the result of the function at the current date and time is returned. + +
+ +Importing: `IV_TRACE_MODE` + + + +Indicates the modes of trace. By default, mode is ‘L’ \(Lean Trace\). + +
+ +Importing: `: IV_SAVE_TRACE` + + + +Indicates whether the trace generated for current processing of the Function should be saved in database. + +
+ +Importing:`IT_ID_VALUE` + + + +Table of ID/value pairs \(ID/reference to value for each context element\). From a performance perspective, this is the most efficient way of triggering the processing of BRFplus. Also, using this parameter requires that you know the IDs of the context elements that you want to pass. + +
+ +Exporting: `EA_RESULT` + + + +Exporting: EA\_RESULT: + +A variable of a type that is compatible with the result data object of the BRFplus function. You can get an ABAP data object of this type \(a reference\) by calling method`CL_FDT_FUNCTION_PROCESS_API ->IF_FDT_FUNCTION_PROCESS_API~GET_DATA_OBJECT_REFERENCE`. + +
+ diff --git a/docs/30-development/application-router-configuration-c19f165.md b/docs/30-development/application-router-configuration-c19f165.md index 46a59f94..3d72f94e 100644 --- a/docs/30-development/application-router-configuration-c19f165.md +++ b/docs/30-development/application-router-configuration-c19f165.md @@ -240,17 +240,39 @@ In addition, the relevant destination configurations in the ** en ## Troubleshooting -The application router uses the `@sap/logging` package, which means that all of the typical logging features are available to control application logging. For example, to set all logging and tracing to the most detailed level, set the ** environment variable to “`debug`”. +The application router uses the `cf-nodejs-logging-support` package, giving you access to all its logging control features. For example, you can set all logging and tracing to the finest level by setting the `CF_NODEJS_LOGGING_LEVEL` environment variable to `debug`. + +If you've deployed the application on Cloud Foundry, you can change the log level and restart the application using the following command: + +> ### Sample Code: +> ``` +> cf set-env CF_NODEJS_LOGGING_LEVEL debug +> ``` + +You can enable additional traces of incoming and outgoing requests by setting the ** environment variable to `true`. When enabled, basic information will be logged for every incoming and outgoing request of the application router. Note that this could impact performance. + +Some libraries used by the `cf-nodejs-logging-support` package use other tracing mechanisms. For example, you can use the `debug` package. By setting the \`DEBUG\` environment variable, you can enable additional traces. > ### Note: -> Enabling debug log level could lead to a very large amount of data being written to the application logs and trace files. The asterisk wild card \(\*\) enables options that trace sensitive data that is then written to the logs and traces. +> Enabling the debug log level could lead to a very large amount of data being written to the application logs and trace files. The asterisk wild card \(\*\) enables options that trace sensitive data that is then written to the logs and traces. -> ### Tip: -> Logging levels are application-specific and case-sensitive; they can be defined with lower-case characters \(for example, “debug”\) or upper-case characters \(for example, “DEBUG”\). An error occurs if you set a logging level incorrectly, for example, using lower-case characters “debug” where the application defines the logging level as “DEBUG”. +In addition, you can enable internal Node.js traces via the \`NODE\_DEBUG\` environment variable. + +> ### Note: +> Be cautious when enabling some of these options as they may trace security-sensitive data. + +The `cf-nodejs-logging-support` package sets the `x-request-id` header in the application router's responses. This is useful if you want to search entries related to a particular request execution in the logs and traces of the application router. Note that the application router doesn't change the headers it receives from the backend and forwards to the client. If the backend is a `Node.js` application using the `cf-nodejs-logging-support`package \(and also sets the `x-request-id` header\), the header value that the client receives will be the one from the backend, not the one from the application router. -You can enable additional traces of the incoming and outgoing requests by setting the environment variable ** to true. When enabled basic information will be logged for every incoming and outgoing request of the application router. +> ### Note: +> You can also use the \`XS\_APP\_LOG\_LEVEL\` environment variable for backward compatibility in SAP HANA extended application services, advanced model \(XS advanced\). If you've deployed the application on the XS advanced runtime for SAP HANA Platform 2.0, you can change the log level and restart the application using the following command: +> +> > ### Sample Code: +> > ``` +> > xs set-env XS_APP_LOG_LEVEL debug +> > ``` -The `@sap/logging` package sets the header `x-request-id` in the application router's responses. This is useful if you want to search the application router's logs and traces for entries that belong to a particular request execution. Note that the application router does not change the headers received from the back end and forwarded to the client. If the back end is a `Node.js` application which uses the `@sap/logging` package \(and also sets the `x-request-id` header\), then the value of the header that the client receives is the one coming from the back end and not the one from the application router itself. +> ### Tip: +> Logging levels are application-specific and case-sensitive; they can be defined with lower-case characters \(for example, “debug”\) or upper-case characters \(for example, “DEBUG”\). An error occurs if you set a logging level incorrectly, for example, using lower-case characters “debug” where the application defines the logging level as “DEBUG”. **Related Information** diff --git a/docs/30-development/concepts-9482e7e.md b/docs/30-development/concepts-9482e7e.md index 7cb45e52..a35d9e96 100644 --- a/docs/30-development/concepts-9482e7e.md +++ b/docs/30-development/concepts-9482e7e.md @@ -10,7 +10,7 @@ Learn more about the system landscape/account model, ABAP environment pipeline, ## System Landscape/Account Model -> ### gCTS Delivery: +> ### Note: > If you use gCTS transport delivery instead of add-on delivery, no discounted development licenses are available: ABAP systems created for development purposes \(development, test, demo\) cost the same as ABAP systems created for production purposes. For creation on system AMT instead of `saas_oem`, the standard service plan is used since no add-on is installed. > > Additionally, the same global account is used for development/production purposes because gCTS repositories are only available across the same global account. diff --git a/docs/30-development/configure-a-database-connection-for-the-tomee-7-application-container-03cfb10.md b/docs/30-development/configure-a-database-connection-for-the-tomee-7-application-container-03cfb10.md index 5f7acf89..b383b954 100644 --- a/docs/30-development/configure-a-database-connection-for-the-tomee-7-application-container-03cfb10.md +++ b/docs/30-development/configure-a-database-connection-for-the-tomee-7-application-container-03cfb10.md @@ -83,7 +83,7 @@ As a result of this configuration, when the application starts, the *com.sap.xs. **Related Information** -[SAP HANA HDI Data Source Usage](sap-hana-hdi-data-source-usage-c9d288e.md) +[SAP HANA HDI Data Source Usage](sap-hana-hdi-data-source-usage-c9d288e.md "If you want your Java application to consume SAP HANA Database (for example, to use an HDI container), follow the steps below.") [Database Connection Configuration Details](database-connection-configuration-details-f0d2d05.md "Define details of the database connection used by your Java Web Application running on SAP BTP, Cloud Foundry with SAP Java Buildpack.") diff --git a/docs/30-development/configuring-remote-atc-using-a-central-check-system-89a6d80.md b/docs/30-development/configuring-remote-atc-using-a-central-check-system-89a6d80.md index b1e903ed..8b82d1e6 100644 --- a/docs/30-development/configuring-remote-atc-using-a-central-check-system-89a6d80.md +++ b/docs/30-development/configuring-remote-atc-using-a-central-check-system-89a6d80.md @@ -2,11 +2,11 @@ # Configuring Remote ATC Using a Central Check System -You can perform remote code analysis in ATC which allows to analyze custom code remotely with the latest checks. +You can perform remote code analysis in ATC, allowing you to analyze custom code remotely with the latest checks. -When using SAP BTP ABAP environment as central check system, you will use the `Custom Code Migration` app to scope and analyze custom code in an on-premise SAP system for SAP S/4HANA Cloud. +When using SAP BTP ABAP environment as the central check system, you will use the `Custom Code Migration` app to scope and analyze custom code in an on-premise SAP system for SAP S/4HANA Cloud. -To use this SAP Fiori app, your SAP administrator must enable the app provide access for the relevant users. In addition, you also need to establish an RFC connection for the Cloud Connector. This enables you to access the on-premise system as checked system from the ABAP environment as central check system remotely. +To use this SAP Fiori app, your SAP administrator must enable the app to provide access for the relevant users. In addition, you also need to establish an RFC connection for the Cloud Connector. This enables you to access the on-premise system as the checked system from the ABAP environment as central check system remotely. **Related Information** diff --git a/docs/30-development/configuring-the-atc-developer-scenario-3943c74.md b/docs/30-development/configuring-the-atc-developer-scenario-3943c74.md index 051786ed..c64f0ac4 100644 --- a/docs/30-development/configuring-the-atc-developer-scenario-3943c74.md +++ b/docs/30-development/configuring-the-atc-developer-scenario-3943c74.md @@ -98,5 +98,5 @@ To enable the ATC Developer Scenario, you've to define communication arrangement ## Results -You've enabled a cloud system as central check system for remote ATC checks from an on-premise system against the cloud system. In SAP GUI or ABAP Development Tools for Eclipse, you can now run ATC checks in your checked system. In ABAP Development Tools for Eclipse in the *ATC Problems* view, you can create exemptions that you can then manage in the [Approve ATC Exemptions](https://help.sap.com/docs/btp/sap-business-technology-platform/approve-atc-exemptions) app. +You've enabled a cloud system as the central check system for remote ATC checks from an on-premise system against the cloud system. In SAP GUI or ABAP development tools for Eclipse, you can now run ATC checks in your checked system. In ABAP development tools for Eclipse in the *ATC Problems* view, you can create exemptions that you can then manage in the [Approve ATC Exemptions](https://help.sap.com/docs/btp/sap-business-technology-platform/approve-atc-exemptions) app. diff --git a/docs/30-development/create-a-new-product-version-6efb524.md b/docs/30-development/create-a-new-product-version-6efb524.md index c8e1fc64..83a77734 100644 --- a/docs/30-development/create-a-new-product-version-6efb524.md +++ b/docs/30-development/create-a-new-product-version-6efb524.md @@ -25,10 +25,15 @@ Find out how to create a new product version: > ### Note: > Note that if you begin configuring a new product version but cancel before finishing the process, the new product version will still be displayed in the overview list in status “not yet triggered”. To continue working on it, simply select it from the list. -4. Select software components to be included in your new product version. To add additional software components, click the *Add* button on the right. For each software component, define a component version, enter the desired branch and commit ID as seen in the Manage Software Components app, and select in which languages your product version should be built. You can change the order of how the software components are imported via drag and drop in the table or by selecting a component and moving it using the arrows on the right. For more information, see [Manage Software Components.](https://help.sap.com/docs/BTP/65de2977205c403bbc107264b8eccf4b/3dcf76a072c9450eb46b99db947dab46.html?version=Cloud) +4. Select software components to be included in your new product version. To add additional software components, click the *Add* button on the right. For each software component, define a component version, enter the desired branch and commit ID as seen in the *Manage Software Components* app, and select in which languages your product version should be built. > ### Note: - > The leading software component is the software component that is, as opposed to a reuse software component, exclusively used as part of one add-on product. The reuse software component should be the first, whereas a leading software component would be the last in order. This is to make sure that that the software components are imported in the correct order, making sure to adhere to dependencies. + > Note that the software components you use for the product version build have to be SAP-managed. [Bring Your Own Git \(BYOG\)](https://help.sap.com/docs/btp/sap-business-technology-platform/how-to-configure-your-git-repository?locale=en-US&version=Cloud) software components are currently not supported in the *Build Product Version* app. + + You can change the order of how the software components are imported via drag and drop in the table or by selecting a component and moving it using the arrows on the right. + + > ### Remember: + > The reuse software component should be the first, whereas a leading software component would be the last in order. This is to make sure that the software components are imported in the correct order, making sure to adhere to dependencies. The leading software component is the software component that is, as opposed to a reuse software component, exclusively used as part of one add-on product. 5. Click the *Build Product Version* button to trigger the build of the pipeline for your new product version. diff --git a/docs/30-development/deploy-product-32c4f7d.md b/docs/30-development/deploy-product-32c4f7d.md index 5d3e1a90..6f02dd64 100644 --- a/docs/30-development/deploy-product-32c4f7d.md +++ b/docs/30-development/deploy-product-32c4f7d.md @@ -2,7 +2,7 @@ # Deploy Product -As a provider, you can use the *Deploy Product* app to update the version of your product on specific systems. +As a provider, you can use the *Deploy Product* app to deploy or update your product version in specific systems. @@ -26,16 +26,14 @@ You need to have the “LandscapePortalAdmin” user role assigned to your user The planning calendar gives an overview of planned and unplanned downtimes of service-relevant infrastructure as well as already scheduled product version updates. - Calendar legend: - - ![](images/Downtimes_b54de52.jpg) - You can use the calendar to help you find a fitting time slot for your product version update so as to make sure that it doesn’t conflict with other downtimes. 4. On the left side, under *Product and Product Version Selection*, select which product and version you want to update from the drop-down menu. > ### Note: - > The product version can only be updated to a higher version. It is not possible to update the product version to a lower version. + > - The product version can only be updated to a higher version. It is not possible to update the product version to a lower version. + > + > - Only one product can be installed per system. 5. In the *Available Systems* section, select at least one system in which you want to update the product version. You can also select multiple systems at once. diff --git a/docs/30-development/developing-html5-applications-in-the-cloud-foundry-environment-11d77aa.md b/docs/30-development/developing-html5-applications-in-the-cloud-foundry-environment-11d77aa.md index 836ffc80..dff73072 100644 --- a/docs/30-development/developing-html5-applications-in-the-cloud-foundry-environment-11d77aa.md +++ b/docs/30-development/developing-html5-applications-in-the-cloud-foundry-environment-11d77aa.md @@ -6,7 +6,7 @@ SAP BTP enables you to access and run HTML5 applications in a cloud environment HTML5 applications consist of static content that runs on a browser. Then you develop your applications - either in SAP Business Application Studio, or in your own IDE \(integrated development environment\) - and deploy them to the [HTML5 application repository](html5-application-repository-f8520f5.md). -Depending on your backed application setup, you either configure the destinations during development, or define them after deploying the application. Finally, to consume the applications, you can create a site using SAP Cloud Portal service or SAP Launchpad service, build the URL, and define custom domains. +Depending on your backend application setup, you either configure the destinations during development, or define them after deploying the application. Finally, to consume the applications, you can create a site using SAP Cloud Portal service or SAP Launchpad service, build the URL, and define custom domains. On the Cloud Foundry environment of SAP BTP you can run an application that was uploaded to HTML5 application repository using one of the following options: diff --git a/docs/30-development/environment-variables-ba52705.md b/docs/30-development/environment-variables-ba52705.md index 4c09d1d0..8d2a8498 100644 --- a/docs/30-development/environment-variables-ba52705.md +++ b/docs/30-development/environment-variables-ba52705.md @@ -306,6 +306,18 @@ Enables the application router to start as an HTTP/2 server. Enables the application router to send the entire chain of certificates provided in the binding of the authentication service \(XSUAA or Indentity Authentication\) to the backend applications. The certificates are required for mutual TLS authentication \(mTLS handshake\). See [Mutual TLS Authentication \(mTLS\) and Certificates Handling](mutual-tls-authentication-mtls-and-certificates-handling-46b8b85.md). + + + + + +OWN\_SAP\_CLOUD\_SERVICE + + + + +An array that contains the business solutions \("SAP cloud services"\) that your HTML5 applications are associated with as values. This configuration enables the standalone application router to use the same standardized format for runtime URLs \(`/.-/`\) that is also used by the managed application router. If a runtime URL contains one of the defined values in the `` section, the application router will recognize the value during the processing of a request. + @@ -1253,9 +1265,6 @@ Here is a sample content for the `CF_NODEJS_LOGGING_LEVEL` environment variable: > CF_NODEJS_LOGGING_LEVEL: "debug" > ``` -> ### Note: -> The application router also uses the `@sap/logging` library. To configure the log level for this library, you use the `XS_APP_LOG_LEVEL` environment variable. - **Related Information** diff --git a/docs/30-development/example-group-endpoint-ac889df.md b/docs/30-development/example-group-endpoint-ac889df.md deleted file mode 100644 index c644e74a..00000000 --- a/docs/30-development/example-group-endpoint-ac889df.md +++ /dev/null @@ -1,40 +0,0 @@ - - -# Example: Group Endpoint - - - -Please find an example of a group endpoint below: - -> ### Sample Code: -> ``` -> { -> "schemas" : [ -> "urn:ietf:params:scim:schemas:core:2.0:Group", -> "urn:ietf:params:scim:schemas:extension:sap:2.0:Group" -> ], -> "id" : "BROL_BUSINESSROLE1", -> "externalId" : "BUSINESSROLE1", -> "displayName" : "business role 1", -> "members" : [ -> { -> "value" : "CB0000000001", -> "$ref" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Users/CB0000000001", -> "display" : "John Doe" -> } -> ], -> "urn:ietf:params:scim:schemas:extension:sap:2.0:Group" : { -> "type" : "authorization", -> "supportedOperations" : "membership" -> }, -> "meta" : { -> "resourceType" : "Group", -> "created" : "2018-12-11T19:18:05Z", -> "lastModified" : "2021-09-08T12:38:32Z", -> "version" : "20210908123832", -> "location" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Groups/BROL_BUSINESSROLE1 -> } -> } -> -> ``` - diff --git a/docs/30-development/example-user-endpoint-d69daf4.md b/docs/30-development/example-user-endpoint-d69daf4.md deleted file mode 100644 index fcc4a8f4..00000000 --- a/docs/30-development/example-user-endpoint-d69daf4.md +++ /dev/null @@ -1,79 +0,0 @@ - - -# Example: User Endpoint - - - -Please find an example of a user endpoint below: - -> ### Sample Code: -> ``` -> { -> "schemas" : [ -> "urn:ietf:params:scim:schemas:core:2.0:User", -> "urn:ietf:params:scim:schemas:extension:sap:2.0:User" -> ], -> "id" : "CB0000000001", -> "externalId" : "WORKER_ID", -> "userName" : "JOHN_DOE", -> "name" : { -> "formatted" : "John Doe", -> "familyName" : "Doe", -> "givenName" : "John" -> }, -> "displayName" : "John Doe", -> "emails" : [ -> { -> "value" : "john.doe@sap.com", -> "type" : "work", -> "primary" : true -> } -> ], -> "phoneNumbers" : [ -> { -> "value" : "+123456789", -> "type" : "work" -> }, -> { -> "value" : "+987654321", -> "type" : "mobile" -> } -> ], -> "userType" : "Employee", -> "preferredLanguage" : "E", -> "timezone" : "CET", -> "active" : true, -> "groups" : [ -> { -> "value" : "BUGR_ZCBUSERGROUP", -> "$ref" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Groups/BUGR_ZCBUSERGROUP", -> "display" : "business user group", -> "type" : "userGroup" -> }, -> { -> "value" : "BROL_BUSINESSROLE1", -> "$ref" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Groups/BROL_BUSINESSROLE1", -> "display" : "business role 1", -> "type" : "authorization" -> }, -> { -> "value" : "BROL_BUSINESSROLE2", -> "$ref" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Groups/BROL_BUSINESSROLE2", -> "display" : "business role 2", -> "type" : "authorization" -> } -> ], -> "urn:ietf:params:scim:schemas:extension:sap:2.0:User" : { -> "userUuid" : "GLOBAL_USER_ID" -> }, -> "meta" : { -> "resourceType" : "User", -> "created" : "2015-05-22T12:53:56Z", -> "lastModified" : "2015-05-22T12:53:56Z", -> "version" : "20150522125356", -> "location" : "https://system.com/sap/bc/http/sap/aps_iam_api_scim/Users/CB0000000001" -> } -> } -> -> ``` - diff --git a/docs/30-development/images/Daily_Overnight_Stop_0eacc54.png b/docs/30-development/images/Daily_Overnight_Stop_0eacc54.png new file mode 100644 index 00000000..a69ea06c Binary files /dev/null and b/docs/30-development/images/Daily_Overnight_Stop_0eacc54.png differ diff --git a/docs/30-development/images/Fridays_Recurrence_49b09e5.png b/docs/30-development/images/Fridays_Recurrence_49b09e5.png new file mode 100644 index 00000000..ac44acbe Binary files /dev/null and b/docs/30-development/images/Fridays_Recurrence_49b09e5.png differ diff --git a/docs/30-development/images/Manual_Restart_dd6c54e.png b/docs/30-development/images/Manual_Restart_dd6c54e.png new file mode 100644 index 00000000..f38f27a6 Binary files /dev/null and b/docs/30-development/images/Manual_Restart_dd6c54e.png differ diff --git a/docs/30-development/images/R1_and_R2_7ca289b.png b/docs/30-development/images/R1_and_R2_7ca289b.png new file mode 100644 index 00000000..3bc7209a Binary files /dev/null and b/docs/30-development/images/R1_and_R2_7ca289b.png differ diff --git a/docs/30-development/images/Recurrence_ScSht_1_ff2c1cd.png b/docs/30-development/images/Recurrence_ScSht_1_ff2c1cd.png deleted file mode 100644 index 23a60453..00000000 Binary files a/docs/30-development/images/Recurrence_ScSht_1_ff2c1cd.png and /dev/null differ diff --git a/docs/30-development/images/Recurrences_ExampleSchedule_c66e288.png b/docs/30-development/images/Recurrences_ExampleSchedule_c66e288.png deleted file mode 100644 index 247fbd0d..00000000 Binary files a/docs/30-development/images/Recurrences_ExampleSchedule_c66e288.png and /dev/null differ diff --git a/docs/30-development/images/Weekend_Stop_e1abbfa.png b/docs/30-development/images/Weekend_Stop_e1abbfa.png new file mode 100644 index 00000000..79d581d3 Binary files /dev/null and b/docs/30-development/images/Weekend_Stop_e1abbfa.png differ diff --git a/docs/30-development/images/example2_recurrence_24b8174.png b/docs/30-development/images/example2_recurrence_24b8174.png deleted file mode 100644 index 719f2c49..00000000 Binary files a/docs/30-development/images/example2_recurrence_24b8174.png and /dev/null differ diff --git a/docs/30-development/images/recurrence_scrshot2_45105cb.png b/docs/30-development/images/recurrence_scrshot2_45105cb.png deleted file mode 100644 index 8b3e096c..00000000 Binary files a/docs/30-development/images/recurrence_scrshot2_45105cb.png and /dev/null differ diff --git a/docs/30-development/important-notes-6d9a1b2.md b/docs/30-development/important-notes-6d9a1b2.md index 7353fc4a..0edba075 100644 --- a/docs/30-development/important-notes-6d9a1b2.md +++ b/docs/30-development/important-notes-6d9a1b2.md @@ -2,7 +2,15 @@ # Important Notes -- The creation of a Git repository branch creates a clone of the parent branch. If you create a branch immediately after the release decision, you have a “frozen” state. You can import this state safely into one or multiple production systems, “pre-production” systems, etc., or you may use it later for auditing. +- The creation of a Git repository branch creates a clone of the parent branch. If you create a branch immediately after the release decision, you have a codeline for further changes in parallel to the parent branch. Branches can be compared to a block chain which means you can only add new commits on top but not skip or overtake some. - In the different system setups, the production systems can either be provisioned once development starts or later on, when needed for the first time for the Go Live, which is the point in time, when the first release is used productively in the production system. -- A classical 3-system setup comprising a development, quality assurance, and production system can be enhanced by pre-production systems, multiple test systems, etc. Test systems can be provisioned on demand \(temporary\) or permanently. +- A classical 3-system setup comprising a development, quality assurance, and production system can be enhanced by pre-production systems, multiple test systems, etc. Test systems can be provisioned on demand \(temporary\) or permanently. In addition, any systems that are not permanently needed can be temporarily stopped and started later using [Manage System Hibernation](https://help.sap.com/docs/btp/sap-business-technology-platform/manage-system-hibernation?version=Cloud) in the Landscape Portal. This reduces the operating costs especially in larger system landscapes. +- Keep your transports open in the development system until you are sure they will not jeopardize the validation of other features in testing systems. + +- New developments too large for a single transport should be released in disable state by toggling them in code or using a "branch-by-abstraction" pattern so that their delivery can be decoupled from their enablement. That means, you can enable them explicitly in test systems without fearing any damage by delivery to subsequent systems. Finally, they can be enabled in production by changing the default after successful testing. This approach can also serve as "circuit breaker" to easily turn off problematic features in emergency cases by transporting just the reverted default toggling. + +- If a released transport turns out to cause issues in testing, release a subsequent transport in development to remedy the issue. + +- If one or more released transports from development turnout to be a dead end, they can be reverted by pulling the last known good commit in the development system using Manage Software Components app and continue from there. Note however that this will revert all transports that were released after this last known good commit. + diff --git a/docs/30-development/install-and-set-up-abapgit-2002380.md b/docs/30-development/install-and-set-up-abapgit-2002380.md index 6df3238d..adeadf6e 100644 --- a/docs/30-development/install-and-set-up-abapgit-2002380.md +++ b/docs/30-development/install-and-set-up-abapgit-2002380.md @@ -11,7 +11,7 @@ Learn how to install and set up abapGit. > ### Restriction: -> Please be aware that abapGit is an open-source project owned by the community. Therefore, we do not provide support for abapGit. We only support the Git integration in the ABAP environment. +> Please be aware that abapGit is an open-source project maintained by the open source community and is not owned by SAP. Therefore, SAP does not provide support for the open source abapGit version \(ZABAPGIT\). Consequently, we ask you to refrain from creating incidents related to the use of the ZABAPGIT report. However, for the SAP BTP, ABAP environment, a separate SAP-owned version \(fork\) of abapGit has been established. SAP does provide standard support for this version. @@ -60,5 +60,5 @@ Learn how to install and set up abapGit. **Related Information** -[https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/create-content-in-on-premise-system-and-push-it-to-abapgit-repository?version=Cloud](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/create-content-in-on-premise-system-and-push-it-to-abapgit-repository?version=Cloud) +[Create Content in an On-Premise System and Push it to abapGit Repository](https://help.sap.com/docs/sap-btp-abap-environment/abap-environment/create-content-in-on-premise-system-and-push-it-to-abapgit-repository?version=Cloud) diff --git a/docs/30-development/integrating-cross-domain-identity-management-aa4b03c.md b/docs/30-development/integrating-cross-domain-identity-management-aa4b03c.md deleted file mode 100644 index 688d8f1f..00000000 --- a/docs/30-development/integrating-cross-domain-identity-management-aa4b03c.md +++ /dev/null @@ -1,36 +0,0 @@ - - -# Integrating Cross-domain Identity Management - -You can use this communication scenario to read cross-domain identity management data. - - - -
- -## Context - -The communication scenario SAP\_COM\_0465 allows you to read cross-domain identity management data. - - - - - -## Procedure - -1. Check if a communication user already exists for this scenario. If not, create a communication user in the *Maintain Communication Users* app. - - For more information, see the *Related information* section. - -2. Check if a communication system already exists for this scenario. If not, create a communication system in the *Communication Systems* app. - -3. Check if a communication arrangement already exists for this scenario. If not, create a communication arrangement for the *System for Cross-domain Identity Management Integration* scenario \(SAP\_COM\_0465\) in the *Communication Arrangements* app. - - For more information, see the *Related information* section. - - -**Related Information** - - -[Communication Management](../50-administration-and-ops/communication-management-2e84a10.md "The communication management apps allow you to integrate your system or solution with other systems to enable data exchange.") - diff --git a/docs/30-development/parameters-and-properties-490c8f7.md b/docs/30-development/parameters-and-properties-490c8f7.md index df9ac565..1400d93a 100644 --- a/docs/30-development/parameters-and-properties-490c8f7.md +++ b/docs/30-development/parameters-and-properties-490c8f7.md @@ -679,6 +679,48 @@ Example +`binding-name` + + + + +required dependency + + + + +Write + + + + +Provide a binding name for the association between an application and a service instance + + + + +  + + + + +``` +modules: + - name: java + ......... + requires: + - name:test + parameters: + binding-name: java-test +``` + + + + + + + + `env-var-name` diff --git a/docs/30-development/sap-fiori-applications-in-the-abap-environment-1d9deef.md b/docs/30-development/sap-fiori-applications-in-the-abap-environment-1d9deef.md index e4536a79..5c4cb5c1 100644 --- a/docs/30-development/sap-fiori-applications-in-the-abap-environment-1d9deef.md +++ b/docs/30-development/sap-fiori-applications-in-the-abap-environment-1d9deef.md @@ -52,7 +52,7 @@ While the IAM business catalog defines the access to the apps, the space and pag Fiori space and page templates are not visible in the development system by default and therefore cannot be used. To use them, you need to programmatically scope them. See [Scoping Space and Page Templates](scoping-space-and-page-templates-74d5b1a.md) for more details about scoping. -After you have scoped the page and space template, they are visible as predefined spaces and pages in the [Manage Launchpad Spaces](https://help.sap.com/docs/btp/user-interface-configurations/manage-launchpad-spaces?version=Cloud) and [Manage Launchpad Pages](https://help.sap.com/docs/btp/user-interface-configurations/manage-launchpad-pages?version=Cloud) apps. +After the page and space template are scoped, they are visible as predefined spaces and pages in the [Manage Launchpad Spaces](https://help.sap.com/docs/btp/user-interface-configurations/manage-launchpad-spaces?version=Cloud) and [Manage Launchpad Pages](https://help.sap.com/docs/btp/user-interface-configurations/manage-launchpad-pages?version=Cloud) apps. > ### Restriction: > Creation of Space Templates and Page Templates diff --git a/docs/30-development/sap-hana-hdi-data-source-usage-c9d288e.md b/docs/30-development/sap-hana-hdi-data-source-usage-c9d288e.md index 35449b23..7b2c41ad 100644 --- a/docs/30-development/sap-hana-hdi-data-source-usage-c9d288e.md +++ b/docs/30-development/sap-hana-hdi-data-source-usage-c9d288e.md @@ -2,6 +2,8 @@ # SAP HANA HDI Data Source Usage +If you want your Java application to consume SAP HANA Database \(for example, to use an HDI container\), follow the steps below. + ## Procedure @@ -14,35 +16,41 @@ 2. Bind the service instance to a Java application. - Specify the service instance in the Java application's deployment manifest file. + Specify the service instance in the Java application's deployment *manifest.yml* file. > ### Sample Code: - > manifest.yml - > > ``` + > > services: > - my-hdi-container > ``` -3. Add the resource reference to the `web.xml` file, which must have the name of the service instance. +3. Add a resource reference XML block. Its technical name must be the same as the name of the service instance. > ### Sample Code: - > web.xml - > > ``` + > > > jdbc/my-hdi-container > javax.sql.DataSource > > ``` + Add this resource reference to the following files, respectively: + + - For Tomcat: **`web.xml`** and **`context.xml`** + + - For TomEE 7: **`web.xml`** and **`resource.xml`** + + 4. Look up the data source in your code. - You can find the reference to the data source in the following ways: + You can find the reference to the data source in two ways – by using annotations or with JNDI look-up. Add the relevant code to your Java servlet: - Annotations ``` + @Resource(name = "jdbc/my-hdi-container") private DataSource ds; ``` @@ -50,9 +58,17 @@ - Java Naming and Directory Interface \(JNDI\) look-up ``` + Context ctx = new InitialContext(); return (DataSource) ctx.lookup("java:comp/env/jdbc/my-hdi-container"); ``` +**Related Information** + + +[SAP HDI Containers](https://help.sap.com/docs/SAP_HANA_PLATFORM/4505d0bdaf4948449b7f7379d24d0f0d/e28abca91a004683845805efc2bf967c.html?version=latest) + +[Set Up a Schema or an HDI Container \(Cloud Foundry\)](https://help.sap.com/docs/hana-cloud/sap-hana-cloud-getting-started-guide/set-up-schema-or-hdi-container-cloud-foundry) + diff --git a/docs/30-development/schedule-a-recurring-stop-start-04053dd.md b/docs/30-development/schedule-a-recurring-stop-start-04053dd.md index 0269fb5c..4fa76e3e 100644 --- a/docs/30-development/schedule-a-recurring-stop-start-04053dd.md +++ b/docs/30-development/schedule-a-recurring-stop-start-04053dd.md @@ -31,19 +31,19 @@ Create two recurrences. Recurrence 1 stops the system on weekdays over night \(f *Settings for Reccurence 1*: -![](images/Recurrence_ScSht_1_ff2c1cd.png) +![](images/Daily_Overnight_Stop_0eacc54.png) Starting today, the system will stop over night from Mondays to Fridays until the end of the year. Now let’s set the recurrence for the weekend stops. *Settings for Reccurence 2*: -![](images/recurrence_scrshot2_45105cb.png) +![](images/Weekend_Stop_e1abbfa.png) With this recurrence, the system will stop every Friday night until Monday morning. The two recurrences \(R1: daily overnight stop in yellow; R2: weekend stop in blue\) will make sure your system is only live from Mondays through Fridays from 06:00 to 20:00. -![](images/Recurrences_ExampleSchedule_c66e288.png) +![](images/R1_and_R2_7ca289b.png) > ### Note: > Note that the end time you select \(06:00 in our example\) specifies when the system \(re\)start will be triggered. It might take a few minutes for the system to be available again. @@ -58,7 +58,21 @@ Keep in mind that the date you specify in the *From* field is the start date of Let's look at an example. -If you enter the following settings, the system stop will not be triggered on August 22nd \(a Tuesday\) , but on the first Friday after this date \(August 25th\) and every following Friday. The stop will be triggered on Fridays at 14:00 and the start will be triggered two hours later, at 16:00. +If you enter the following settings, the system stop will not be triggered on July 9th \(a Tuesday\) , but on the first Friday after this date \(July 12th\) and every following Friday. The stop will be triggered on Fridays at 14:00 and the start will be triggered two hours later, at 16:00. -![](images/example2_recurrence_24b8174.png) +![](images/Fridays_Recurrence_49b09e5.png) + + + + + +## Example 3 + +Let's assume you want a system to stop automatically at 18:00 every day, but you don't want the system to start automatically. Instead, you wish to start it manually Monday through Friday. + +In this case, you can create a daily recurrence with a system start date in the indefinite future \(e.g. in the year 2999\). This recurrence gives you the option to start your system manually at your desired time and day. The automatic stop that occurs on a Friday at 18:00, for example, puts your system in hibernation throughout the weekend until you start it manually on Monday. + +In the app, this scenario would look like the following: + +![](images/Manual_Restart_dd6c54e.png) diff --git a/docs/30-development/scim-interface-for-iam-d8e3c4a.md b/docs/30-development/scim-interface-for-iam-d8e3c4a.md deleted file mode 100644 index 63003b62..00000000 --- a/docs/30-development/scim-interface-for-iam-d8e3c4a.md +++ /dev/null @@ -1,229 +0,0 @@ - - -# SCIM Interface for IAM - -SCIM stands for System for Cross-domain Identity Management. It is an open standard that allows for the automation of user provisioning and management in cloud-based applications and services. - -You can use this interface to maintain and retrieve business users in your Cloud system and assign business roles and business user groups to them. - -For more information about SCIM in general, see the *Related Information* section. - -> ### Note: -> The write operations are protected with a X-CSRF-Token. -> -> SCIM Extensions In addition, your Cloud system provides the following extensions to extend the endpoints of users and groups: -> -> **Extension name:*urn:ietf:params:scim:schemas:extension:sap:2.0:User*** - -The following singular attributes are defined: - -- *validFrom*: Valid From date of a business user - -- *validTo*: Valid To date of a business user - -- *loginTime*: Last login time of a business user - -- *userUuid*: Defines the global user ID - -- *userUuidHistory*: All global user IDs that were assigned to the business user - - - *value*: Global user ID assigned to a business user - - - *active*: Global user ID currently actively in use - - - -Example - -> ### Sample Code: -> ``` -> "urn:ietf:params:scim:schemas:extension:sap:2.0:User" : { -> "validFrom" : "2023-05-01T00:00:00Z", -> "validTo" : "2123-05-01T00:00:00Z", -> "loginTime" : "2024-01-01T11:22:33Z", -> "userUuid" : "", -> "userUuidHistory" : [ -> { -> "value" : "", -> "active" : true -> }, -> { -> "value" : "", -> "active" : false -> } -> ] -> } -> -> ``` - -**Extension name:***urn:ietf:params:scim:schemas:extension:sap.odm:2.0:User* - -The following singular attributes are defined: - -- *workAssignment*: Contains employee information - - - *id*: Business partner ID - - - *startDate*: Valid From date of an employee - - - *endDate*: Valid To date of an employee - - - *primary*: Employee is primary - - - -> ### Sample Code: -> ``` -> "urn:ietf:params:scim:schemas:extension:sap.odm:2.0:User" : { -> "workAssignment" : [ -> { -> "id" : "0000000001", -> "startDate" : "2000-01-01T00:00:00Z", -> "endDate" : "9999-12-31T23:59:59Z", -> "primary" : true -> } -> ] -> } -> -> ``` -> -> **Extension name: *urn:ietf:params:scim:schemas:extension:sap:2.0:Group*** -> -> The following singular attributes are defined: -> -> - *type*: Describes whether the group is a business role \(*authorization*\) or a business user group \(*userGroup*\) -> -> - *supportedOperations*: Describes the possible operations that can be performed either with the group*membership* or *readWrite* -> -> -> Example -> -> > ### Sample Code: -> > ``` -> > "urn:ietf:params:scim:schemas:extension:sap:2.0:Group": { -> >  "type": "authorization" -> >  "supportedOperations": "membership" -> > } -> > ``` - - - -**Parameter Equivalents in your Cloud System** - - - - - - - - - - - - - - - - - - - - - - - -
- -Parameter in SCIM Standard - - - -Equivalent in your Cloud System - -
- -*id* - - - -Unique *business user ID* - -
- -*externalId* - - - -*worker/employee ID* - -
- -*userName* - - - -*user name* - -
- -*groups\["type"\]* - - - -Determines whether it is a business role or business user group. - -
- - - -Group - - - - - - - - - - - - - - - -
- -Parameter in SCIM Standard - - - -Equivalent in your Cloud System - -
- -*id* - - - -Unique internal ID for SCIM containing a prefix \(*BROL\_* or *BUGR\_*\) and the business role or business user group ID to ensure that no duplicates exist. This ID has no corresponding Cloud equivalent. - -
- -*externalId* - - - -Business role or business user group ID - -
- -**Related Information** - - -[System for cross-domain Identity Management](https://simplecloud.info/) - -[Example: User Endpoint](example-user-endpoint-d69daf4.md "") - -[Example: Group Endpoint](example-group-endpoint-ac889df.md "") - diff --git a/docs/30-development/setting-up-and-working-with-your-landscape-9a6fe7e.md b/docs/30-development/setting-up-and-working-with-your-landscape-9a6fe7e.md index 2ea8d822..b9a8ac35 100644 --- a/docs/30-development/setting-up-and-working-with-your-landscape-9a6fe7e.md +++ b/docs/30-development/setting-up-and-working-with-your-landscape-9a6fe7e.md @@ -8,5 +8,5 @@ In general, the number of ABAP systems in your landscape is the result of the pr The number of ABAP systems = \(number of branches x DEV systems\) + \(number of branches x QAS systems\) + \(number of PRD systems\) -This is due to the fact that an ABAP system always checks out only one branch of a software component. Yet, several software components represented by one branch can run in one ABAP system in parallel. +An ABAP system allows only one active branch of a software component per system at any given point in time. Yet, several software components represented by one branch can run in one ABAP system in parallel. That means, unless your administrator checks out a different branch in the Manage Software Component app, all released transports will be committed to this active branch. diff --git a/docs/30-development/setting-up-the-authorizations-bb559a5.md b/docs/30-development/setting-up-the-authorizations-bb559a5.md index 64ace495..f52e5524 100644 --- a/docs/30-development/setting-up-the-authorizations-bb559a5.md +++ b/docs/30-development/setting-up-the-authorizations-bb559a5.md @@ -8,13 +8,13 @@ Some further activities in ADT and in the administrator’s launchpad are necess 1. Create an Identity and Access Management \(IAM\) Business Catalog. - When you create a job catalog entry and a job template as explained in [Creating a Job Catalog Entry and a Job Template in ADT](creating-a-job-catalog-entry-and-a-job-template-in-adt-949ba00.md), an object of the type **IAM App** is created automatically. It has the name **\_SAJC**. This IAM app contains the start authorization for all job templates that refer to this job catalog entry. + When you create a job catalog entry and a job template as explained in [Creating a Job Catalog Entry and a Job Template in ADT](creating-a-job-catalog-entry-and-a-job-template-in-adt-949ba00.md), an object of the type **IAM App** is created automatically. It has the name **\_SAJC**. Create an IAM business catalog via ADT: 1. Right-click the package where the objects are located that have already been created. 2. Select *New \> Other ABAP Repository Object*. - 3. Expand *Cloud Identity and Access Management*. + 3. Collapse *Cloud Identity and Access Management*. 4. Double-click *Business Catalog*. 5. Enter a name \(e.g. `ZTEST_MY_SIMPLE_JOBS`\) and a description. 6. Select *Save* and choose the appropriate transport request. @@ -24,30 +24,7 @@ Some further activities in ADT and in the administrator’s launchpad are necess 10. Select *Save*. 11. Press *Publish Locally* on the top right corner of the screen. -2. If the business logic performs own authorization checks, remember to add the required authorizations to a separate IAM app of type `EXT`. The following steps explain how to do this: - - 1. Right-click the package that contains the objects that have already been created. - - 2. Select *New* and then choose *Other ABAP Repository Object*. - - 3. Expand *Cloud Identity and Access Management*. - - 4. Choose *IAM App*. - - 5. Enter a name and a description. Choose *EXT - External App* as application type. - - 6. Select an appropriate transport request and click *Save*. - - 7. Select the *Authorizations* tab. - - 8. Select *Insert*. Now, you can specify an authorization object and assign values to the authorization fields. - - 9. Repeat step `h` for each authorization that is necessary to run the business logic. - - 10. Add the IAM app to the business catalog that you've created as described in step 1. - - -3. Create a business role. +2. Create a business role. Open the Fiori App *Maintain Business Roles* in the Fiori Launchpad of the administrator and perform the following steps: @@ -55,16 +32,18 @@ Some further activities in ADT and in the administrator’s launchpad are necess 2. Choose a name \(e.g. `ZTEST_MY_SIMPLE_JOBS`\) and a description. 3. Click on *Assigned Business Catalogs*. 4. Select *Add*. - 5. Select the business catalog created in the previous step \(e.g. `ZTEST_MY_SIMPLE_JOBS`\). + 5. Select the business role created in the previous step \(e.g. `ZTEST_MY_SIMPLE_JOBS`\). > ### Note: - > A business user who shall be able to schedule application jobs needs to have access to the *Application Jobs* tile. This tile is provided by the business catalog `SAP_CORE_BC_APJ_JCE`, which is contained in the business role `SAP_BR_ADMINISTRATOR`. It doesn't only provide the *Application Jobs* app, but also contains restriction types to configure the authorization on other users’ jobs and to schedule jobs for other users \(for more information, see the section *Assigning Further Authorizations* below\). + > A business user who shall be able to schedule application jobs needs to have access to the *Application Jobs* tile. This tile was provided by the business catalog `SAP_CORE_BC_APJ`, which is contained in the business role `SAP_BR_ADMINISTRATOR`. + > + > With the 2105 cloud release, the business catalog `SAP_CORE_BC_APJ` has been set to **deprecated**. Use the new business catalog `SAP_CORE_BC_APJ_JCE` instead. It doesn't only provide the *Application Jobs* app, but also contains restriction types to configure the authorization on other users’ jobs \(for more information, see the section *Assigning Further Authorizations* below\). > > Add the business catalog `SAP_CORE_BC_APJ_JCE` to the business role created following the steps above, or assign it to a separate business role. 6. Select *Save*. -4. Assign the business role to a user. +3. Assign the business role to a user. For more information, see [How to Maintain Business Users](../50-administration-and-ops/how-to-maintain-business-users-db1d0b4.md). @@ -75,22 +54,22 @@ Some further activities in ADT and in the administrator’s launchpad are necess ## Assigning Further Authorizations -You can access only your own jobs in the *Application Jobs* app. In order to grant access to other users' objects used in the *Application Jobs* app, create a new business role assigning the business catalog `SAP_CORE_BC_APJ_JCE` to it. You can modify the provided restriction types according to your needs. +With the 2105 cloud release, you can access only your own jobs in the *Application Jobs* app. In order to grant access to other users' objects used in the *Application Jobs* app, create a new business role assigning the business catalog `SAP_CORE_BC_APJ_JCE` to it. You can modify the provided restriction types according to your needs. -1. Create a new business role assigning the business catalog `SAP_CORE_BC_APJ_JCE` to it. The restriction type `Job Catalog Entry/Application Job Part` contains the two fields `Application Job Catalog Entry` and `Application Job Part`. +1. Create a new business role assigning the business catalog `SAP_CORE_BC_APJ_JCE` to it. The restriction type `Job Catalog Entry/Application Job Part` contains the two fields `Application Job Catalog Entry` and `Application Job Part`. For more information, see [Maintain Business Roles \(Deprecated\)](../50-administration-and-ops/maintain-business-roles-deprecated-8980ad0.md). > ### Note: > With this restriction type you'll be able to provide the necessary authorizations for certain actions on other users' application jobs, which are based on a specified job catalog entry. With this, you can display the logs of other users' jobs, which are based on this specified job catalog entry. > > Alternatively, you can also create a display only-role using this restriction type. -2. The business catalog `SAP_CORE_BC_APJ_JCE` has another restriction type: `Create Application Jobs for Other Users`. It has the restriction field `Application Job Catalog Entry`. +2. Next, define your business role with the above-mentioned restriction fields `Application Job Catalog Entry` and `Application Job Part`. To do so, select *Maintain Restrictions*. In the `Application Job Catalog Entry` field, you can choose the job catalog entries, and in the `Application Job Part` field, you can choose for which part of a job access should be granted. You can choose the values `JOB` \(Job Details\), `SPOOL` \(Result List\), and `APPLOG` \(Log\) by clicking the *Edit* icon next to the fields. + +3. Go back and select *Save*. Now, you've maintained your business role, and you can assign the role to a business user. - > ### Note: - > With this restriction type you'll be able to grant a business user the authorization to schedule an application job for any other business user, based on the job catalog entry selected. This feature is supported by the parameter `iv_username` of the method `cl_apj_rt_api=>schedule_job`. For more information, see [Maintaining Application Jobs Using an API](maintaining-application-jobs-using-an-api-1491e6c.md). -3. Next, define your business role with the above-mentioned restriction fields `Application Job Catalog Entry` and `Application Job Part`. To do so, select *Maintain Restrictions*. In the `Application Job Catalog Entry` field, you can choose the job catalog entries, and in the `Application Job Part` field, you can choose for which part of a job access should be granted. You can choose the values `JOB` \(Job Details\), `SPOOL` \(Result List\), and `APPLOG` \(Log\) by clicking the *Edit* icon next to the fields. +**Related Information** -4. Go back and select *Save*. Now, you've maintained your business role, and you can assign the role to a business user. + diff --git a/docs/30-development/ui-development-b74a89d.md b/docs/30-development/ui-development-b74a89d.md index d562288b..39c074fe 100644 --- a/docs/30-development/ui-development-b74a89d.md +++ b/docs/30-development/ui-development-b74a89d.md @@ -10,42 +10,19 @@ Learn more about the different options to develop SAP Fiori applications for an ## Overview -You can develop SAP Fiori applications for OData services that are exposed as a UI service. See [OData Service Consumption](https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/odata-service-consumption?version=Cloud). +You can develop SAP Fiori applications for OData services that are exposed as a UI service. See [OData Service Consumption](https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/odata-service-consumption?version=Cloud).![](images/UI_Development_Overview_e7e06e4.png) -- SAP Fiori is a design system that enables you to create business apps with a consumer-grade user experience, turning casual users into SAP experts with simple screens that run on any device. You can build apps that follow the SAP Fiori design principle using a combination of SAPUI5 and SAP Fiori elements. See [SAP Fiori](https://help.sap.com/docs/SAP_FIORI_OVERVIEW). - SAPUI5 is a development framework that allows you to build a front-end application that follows the SAP Fiori design guidelines. SAPUI5 apps are built using HTML5, JS, XML, OData, and JSON, and are based on the Model, View, Controller \(or MVC\) design pattern. See [SAPUI5](https://help.sap.com/docs/SAPUI5?version=External). - SAP Fiori elements is a framework that comprises the most commonly used floorplan templates. It is designed to speed up development by reducing the amount of frontend code needed to build SAP Fiori apps and to ensure UX consistency and compliance with the latest SAP Fiori design guidelines. See [SAP Fiori Elements](https://sapui5.hana.ondemand.com/#/topic/03265b0408e2432c9571d6b3feb6b1fd). +In order to develop SAP Fiori applications, you use SAP Business Application Studio with SAP Fiori tools extensions. +SAP Business Application Studio supports integration with Git so that you can use Git as source control system and store the code of SAP Fiori applications in remote git repositories. -To develop SAP Fiori applications, you can either use SAP Business Application Studio with SAP Fiori tools extensions or Microsoft Visual Studio Code \(VS Code\) with SAP Fiori tools extensions. - -- [SAP Business Application Studio](https://help.sap.com/docs/btp/sap-business-technology-platform/sap-business-application-studio?version=Cloud) is an SAP Business Technology Platform \(SAP BTP\) service that offers a modern development environment tailored for efficient development of business applications for the SAP Intelligent Enterprise. See [SAP Business Application Studio](https://help.sap.com/docs/btp/sap-business-technology-platform/sap-business-application-studio?version=Cloud). - - Visual Studio Code is a source-code editor provided by Microsoft for Windows, Linux, and macOS. See . - - SAP Fiori tools is a set of extensions for SAP Business Application Studio and Visual Studio Code that makes developing SAP Fiori applications faster and easier. See [SAP Fiori Tools](https://help.sap.com/viewer/product/SAP_FIORI_tools/Latest/en-US). - - -SAP Business Application Studio and VS Code support integration with Git so that you can use Git as source control system and store the code of SAP Fiori applications in remote git repositories. - -- Git is a free and open source distributed version control system designed to handle everything from small to very large projects fast and efficiently. - - -Once you have implemented the SAP Fiori application, you can deploy it to the ABAP or Cloud Foundry environment. +Once you have implemented the custom SAP Fiori application, you can deploy it to the ABAP environment. You can launch the deployed apps standalone or embed them into the SAP Fiori launchpad. -- SAP Fiori launchpad is the entry point for business users to SAP Fiori apps on mobile and desktop devices. The launchpad comprises a home page where app tiles, which can display live status indicators, such as the number of open tasks, are clustered. Each tile represents a business application that the user can launch. See [SAP Fiori Launchpad - User Guide](https://help.sap.com/docs/btp/sap-fiori-launchpad-for-sap-btp-abap-environment/sap-fiori-launchpad-user-guide?version=Cloud). - - -The ABAP environment comes with an embedded SAP Fiori launchpad and provides access to SAP Fiori apps that are deployed to the ABAP environment. Apps deployed to the Cloud Foundry environment can be added to a launchpad provided by theSAP Build Work Zone, standard edition. You can also add apps that are deployed to the ABAP environment to launchpads provided by the SAP Build Work Zone, standard edition. See [Integrating Content with SAP Build Work Zone, standard edition](../50-administration-and-ops/integrating-content-with-sap-build-work-zone-standard-edition-ac97434.md). - -- The SAP Build Work Zone, standard edition is an SAP BTP service that enables you to build a portal-like central entry point and provides enterprise-wide, efficient, secure, and role-based access to SAP and non-SAP applications. See [SAP Build Work Zone, Standard Edition](https://help.sap.com/docs/build-work-zone-standard-edition). - - -![](images/UI_Development_Overview_e7e06e4.png) +SAP S/4HANA Cloud comes with an embedded SAP Fiori launchpad and provides access to SAP Fiori apps that are deployed to the ABAP environment. You can also add apps that are deployed to the ABAP environment to launchpads provided by the SAP Build Work Zone, standard edition. diff --git a/docs/30-development/use-case-2-one-development-and-correction-codeline-in-a-5-system-landscape-4e53874.md b/docs/30-development/use-case-2-one-development-and-correction-codeline-in-a-5-system-landscape-4e53874.md index 80b68a87..459b56e8 100644 --- a/docs/30-development/use-case-2-one-development-and-correction-codeline-in-a-5-system-landscape-4e53874.md +++ b/docs/30-development/use-case-2-one-development-and-correction-codeline-in-a-5-system-landscape-4e53874.md @@ -92,6 +92,9 @@ Additional role needed Second, developers are also not allowed to create transport requests and tasks on their own, but it’s the release manager who creates them for all developers. This separation is achieved by giving business catalog `SAP_A4C_BC_TRN_MNG_PC` \(Development - Transport Management\) to the release manager instead of the developer role in correction system COR. +> ### Note: +> Note that any systems that are not permanently needed can be temporarily stopped and started later using Manage System Hibernation in Landscape Portal. This applies to TST, COR, and QAS, or even DEV, thus reducing the operating costs and making a 5-system landscape much more affordable. +
@@ -901,9 +904,6 @@ Pull the software component\(s\) to get the correction into the already checked If issues during the test phase of YYYY- cannot be fixed in a reasonable time frame until the next release date, you can skip that release, especially if you have a tight release schedule \(“continuous delivery” model\). In that case, you have to perform double maintenance for the unfinished corrections from YYYY- in the main branch of the development ABAP system, release them, and create the new release branch YYYY- derived from that main branch. That way, branch YYYY- contains finished new development as well as the unfinished corrections from branch YYYY-. Afterwards, you can bring system COR and QAS to branch YYYY- and continue with that. -> ### Note: -> Branches cannot be deleted or marked as obsolete. Therefore, it’s important to use other tools to inform consumers about not using branch YYYY-. - diff --git a/docs/30-development/xlsx-read-access-5359a35.md b/docs/30-development/xlsx-read-access-5359a35.md index 8910e55e..5bb4e095 100644 --- a/docs/30-development/xlsx-read-access-5359a35.md +++ b/docs/30-development/xlsx-read-access-5359a35.md @@ -2,7 +2,7 @@ # XLSX Read Access -The starting point for programmatically reading the content of an XLSX document is to obtain a read access for the document. This document shows how this is done. +The starting point for programmatically reading the content of an XLSX document is to get a read access for the document. Find out how this is done. > ### Caution: > Note that when data is read from a given XLSX document via the XCO XLSX module, the data is provided in exactly the way it's stored within the XLSX document. This implies that no security or any other kind of additional validations are performed against the data contained in the worksheets of the XLSX workbook when it's accessed by the means described below. Please ensure that when the read data is further processed by application logic \(for example, stored in a database table or shown in a Fiori app\), dedicated checks are in place to guard your application against potentially malicious content \(such as string values in an XLSX worksheet containing JavaScript code\). @@ -14,17 +14,17 @@ Consider the following: > DATA lv_file_content TYPE xstring. > > " LV_FILE_CONTENT must be populated with the complete file content of the .XLSX file -> " whose content shall be processed programmatically. +> " whose content will be processed programmatically. > > DATA(lo_read_access) = xco_cp_xlsx=>document->for_file_content( lv_file_content > )->read_access( ). > ``` -Once obtained, the next step is to obtain the read access for the worksheet which contains the data that shall be read. It's possible to identify a worksheet based on its name or position: +Once obtained, the next step is to get the read access for the worksheet which contains the data that will be read. It's possible to identify a worksheet based on its name or position: > ### Sample Code: > ```abap -> " Read access for the worksheet at position 1, i.e. the first worksheet in the workbook. +> " Read access for the worksheet at position 1, such as the first worksheet in the workbook. > DATA(lo_first_worksheet) = lo_read_access->get_workbook( > )->worksheet->at_position( 1 ). > @@ -37,9 +37,9 @@ Once obtained, the next step is to obtain the read access for the worksheet whic -## Accessing data via a stream +## Accessing Data via a Stream -The first way to gain access to the data stored in a worksheet is by selecting a collection of cells based on a selection pattern \(see [XLSX](xlsx-9b7a0d1.md)=\> *Selection patterns*. This is done via method SELECT on IF\_XCO\_XLSX\_RA\_WORKSHEET. Accessing the cells contained in the selection is done following a stream-based approach, meaning a dedicated stream is obtained for the selection which will provide sequential access to the individual blocks of the selection. Two kinds of streams are offered: +The first way to gain access to the data stored in a worksheet is by selecting a collection of cells based on a selection pattern \(see [XLSX](xlsx-9b7a0d1.md)=\> *Selection patterns*. You can do this using the method `SELECT` on `IF_XCO_XLSX_RA_WORKSHEET`. You can access the cells contained in the selection following a stream-based approach, meaning that you'll get a dedicated stream for the selection which will provide sequential access to the individual blocks of the selection. Two kinds of streams are offered: - Cell stream: A cell stream provides access to the selection one cell at a time, traversing the selection from left to right and top to bottom @@ -50,12 +50,12 @@ The first way to gain access to the data stored in a worksheet is by selecting a ### Cell streams -Cell streams are intended for dynamic reading scenarios where it's required to process each cell individually. As such, the following operations are offered for cell streams: +Cell streams are intended for dynamic reading scenarios where it's required to process each cell individually. The following operations are offered for cell streams: -- Visit: The visit operation takes a visitor implementation as the input \(an object of type IF\_XCO\_XLSX\_RA\_CS\_VISITOR\) which defines the logic that shall be performed for each cell. This construction follows the `Visitor` design pattern. +- Visit: The visit operation takes a visitor implementation as the input \(an object of type `IF_XCO_XLSX_RA_CS_VISITOR`\) which defines the logic that should be performed for each cell. This construction follows the `Visitor` design pattern. -Consider the following example of how a visit operation can be obtained and executed: +Consider the following example of how a visit operation can be obtained and run: > ### Sample Code: > ```abap @@ -65,8 +65,8 @@ Consider the following example of how a visit operation can be obtained and exec > " The read access to the worksheet. > DATA lo_worksheet TYPE REF TO if_xco_xlsx_ra_worksheet. > -> " The implementation of the visitor, e.g. a dedicated local class containing the -> " logic that shall be performed for each visited cell. +> " The implementation of the visitor, such as a dedicated local class containing the +> " logic that will be performed for each visited cell. > DATA lo_visitor TYPE REF TO if_xco_xlsx_ra_cs_visitor. > > lo_worksheet->select( lo_selection_pattern @@ -79,12 +79,12 @@ Consider the following example of how a visit operation can be obtained and exec ### Row streams -Row streams are best used when the structure of the data that shall be read is statically known. The primary use case is to read a portion of a worksheet \(as identified by a selection\) into an internal table. As such, the following operations are offered for row streams: +Use row streams when the structure of the data that should be read is statically known. The primary use case is to read a portion of a worksheet \(as identified by a selection\) into an internal table. The following operations are offered for row streams: -- Write To: The write to operation takes a reference to an internal table as the input to which the selected data shall be written \(upon execution of the operation\) +- Write To: The write to operation takes a reference to an internal table as the input to which the selected data will be written \(when running the operation\) -Consider the following example of how a write to operation can be obtained and executed: +Consider the following example of how a write to operation can be obtained and run: > ### Sample Code: > ```abap @@ -119,15 +119,15 @@ Consider the following example of how a write to operation can be obtained and e -## Accessing data via a cursor +## Accessing Data via a Cursor -An alternative to accessing the data in a worksheet via selections and streams is to obtain a cursor for a worksheet read access via method CURSOR on IF\_XCO\_XLSX\_RA\_WORKSHEET. Just as with desktop office suites, a cursor can first be positioned on any given cell \(identified by coordinate values for both the column and row of the cell\). Afterwards, it can be moved around the worksheet freely via the methods on IF\_XCO\_XLSX\_RA\_CURSOR: +An alternative to accessing the data in a worksheet via selections and streams is to get a cursor for a worksheet read access using the method `CURSOR` on `IF_XCO_XLSX_RA_WORKSHEET`. Just as with desktop office suites, you can first position a cursor on any given cell \(identified by coordinate values for both the column and row of the cell\). Afterwards, you can move it around the worksheet freely via the methods on `IF_XCO_XLSX_RA_CURSOR`: -- Methods MOVE\_UP, MOVE\_RIGHT, MOVE\_DOWN and MOVE\_LEFT can be used to move the cursor relative to its current position by the given number of steps +- You can use the methods `MOVE_UP`, `MOVE_RIGHT`, `MOVE_DOWN` and `MOVE_LEFT` to move the cursor relative to its current position by the given number of steps -- Methods SET\_COLUMN and SET\_ROW can be used to set the new column or row for the cursor +- You can use the methods `SET_COLUMN` and `SET_ROW` to set the new column or row for the cursor -- Method HAS\_CELL can be used to determine if the underlying worksheet contains a cell for the current position of the cursor. If so, it can be accessed via method GET\_CELL +- You can use the method `HAS_CELL` to determine if the underlying worksheet contains a cell for the current position of the cursor. If so, you can access it using the method `GET_CELL` The following example illustrates how the string values of the cells in column A starting at row 5 can be read out until the first row is encountered for which the worksheet has no cell or the cell has no value: @@ -163,26 +163,26 @@ The following example illustrates how the string values of the cells in column A -## Reading out hyperlinks +## Reading Out Hyperlinks -When data is accessed via a cursor, it's also possible to read out the hyperlink associated with a given cell. To this extent, once a handle for a cell has been obtained in the form of an object of type `IF_XCO_XLSX_RA_CELL`, it's possible to +When you access data using a cursor, it's also possible to read out the hyperlink associated with a given cell. Once you get a handle for a cell in the form of an object of type `IF_XCO_XLSX_RA_CELL`, it's possible to -- Check if a hyperlink is associated to the given cell via method `HAS_HYPERLINK` on `IF_XCO_XLSX_RA_CELL` -- Obtain the handle for the hyperlink of the given cell via method `GET_HYPERLINK` on `IF_XCO_XLSX_RA_CELL` +- Check if a hyperlink is associated to the given cell via the method `HAS_HYPERLINK` on `IF_XCO_XLSX_RA_CELL` +- Get the handle for the hyperlink of the given cell via the method `GET_HYPERLINK` on `IF_XCO_XLSX_RA_CELL` -The handle for a hyperlink, `IF_XCO_XLSX_RA_HYPERLINK`, can then be used to obtain both the target and the location of the hyperlink via methods `GET_TARGET` and `GET_LOCATION`. Both target and location are returned exactly as they are stored within the XLSX document. +The handle for a hyperlink, `IF_XCO_XLSX_RA_HYPERLINK`, can then be used to get both the target and the location of the hyperlink via the methods `GET_TARGET` and `GET_LOCATION`. Both target and location are returned exactly as they are stored within the XLSX document. -## Value transformations +## Value Transformations -When accessing the value of an individual cell \(via IF\_XCO\_XLSX\_RA\_CELL\_VALUE\) or of a complete row \(as part of a row stream operation\), it's possible to apply transformations to the value, which will affect how the cell value is written to an ABAP data field. Technically, a value transformation \(obtainable via XCO\_CP\_XLSX\_READ\_ACCESS=\>VALUE\_TRANSFORMATION\) encapsulates a transformation routine that can be applied to +When accessing the value of an individual cell \(via `IF_XCO_XLSX_RA_CELL_VALUE`\) or of a complete row \(as part of a row stream operation\), it's possible to apply transformations to the value, which will affect how the cell value is written to an ABAP data field. Technically, a value transformation that you can get using the method `XCO_CP_XLSX_READ_ACCESS=>VALUE_TRANSFORMATION` contains a transformation routine that can be applied to -- Values of individual cells \(in case the value transformation implements the interface IF\_XCO\_XLSX\_RA\_VT\_CELL\_VALUE\) +- Values of individual cells \(in case the value transformation implements the interface `IF_XCO_XLSX_RA_VT_CELL_VALUE`\) -- Values of rows \(in case the value transformation implements the interface IF\_XCO\_XLSX\_RA\_VT\_ROW\_VALUE\) +- Values of rows \(in case the value transformation implements the interface `IF_XCO_XLSX_RA_VT_ROW_VALUE`\) The following value transformations are currently offered: @@ -194,37 +194,40 @@ The following value transformations are currently offered: - Best effort -The default value transformation is the best effort value transformation. It can be overwritten using +The default value transformation is the best effort value transformation. You can overwrite it using -- Method SET\_VALUE\_TRANSFORMATION of IF\_XCO\_XLSX\_RA\_CELL\_VALUE when the value of an individual cell is read +- The method `SET_VALUE_TRANSFORMATION` of `IF_XCO_XLSX_RA_CELL_VALUE` when the value of an individual cell is read -- Method SET\_VALUE\_TRANSFORMATION of IF\_XCO\_XLSX\_RA\_RS\_OP\_WRITE\_TO when row values are read and written to an internal table as part of the write to row stream operation +- The method `SET_VALUE_TRANSFORMATION` of `IF_XCO_XLSX_RA_RS_OP_WRITE_TO` when row values are read and written to an internal table as part of the write to row stream operation ### 'Identity' value transformation -The 'identity' value transformation doesn't apply any modification to the XLSX type or value of a cell. As such, the ABAP field that the cell value shall be written to must be fully compliant with the type and value of the cell as it's stored in the XLSX file. Technically, the value as ist's stored in the XLSX file is first written to a string data object, which is then written to the provided ABAP field without changes and as such, if this write can't be performed successfully, a runtime error is to be expected. +The 'identity' value transformation doesn't apply any modification to the XLSX type or value of a cell. The ABAP field that the cell value will be written to must be fully compliant with the type and value of the cell as it's stored in the XLSX file. The value is first written to a string data object, which is then written to the provided ABAP field without changes. If this write can't be performed successfully, a runtime error appears. + +> ### Note: +> For floating point numbers, please use one of the `decfloat` built-in types. Don't use packed numbers \(type P\) since it might lead to wrong conversions. ### 'String value' value transformation -The 'string value' value transformation gets the stringified value of any cell such that it can always be safely written to an ABAP field of type STRING. +The 'string value' value transformation gets the stringified value of any cell so that it can always be safely written to an ABAP field of type `STRING`. ### 'Best effort' value transformation -The 'best effort' value transformation is based on an inspection \(based on ABAP runtime type services\) of the ABAP field that a given cell value shall be written to. Based on the type determined for the target ABAP field a transformation is applied to the cell value. The 'best effort' value transformation behaves just as the 'identity' value transformation except for the following types of ABAP fields: +The 'best effort' value transformation is based on an inspection of the ABAP field that a given cell value will be written to. Based on the type determined for the target ABAP field, a transformation is applied to the cell value. The 'best effort' value transformation behaves just as the 'identity' value transformation except for the following types of ABAP fields: -- D: When a cell value is written to an ABAP date field the value of the cell is interpreted as a date and it is converted to the ABAP date format +- D: When a cell value is written to an ABAP date field, the value of the cell is interpreted as a date, and it's converted to the ABAP date format -- T: When a cell value is written to an ABAP time field the value of the cell is interpreted as a time and it is converted to the ABAP time format +- T: When a cell value is written to an ABAP time field, the value of the cell is interpreted as a time, and it's converted to the ABAP time format -- Data element MSEHI: When a cell value is written to an ABAP field typed against data element MSEHI the cell value is interpreted as the external value for a unit of measurement which is converted to the internal ABAP format using conversion routine CUNIT +- Data element `MSEHI`: When a cell value is written to an ABAP field typed against data element `MSEHI`, the cell value is interpreted as the external value for a unit of measurement, which is converted to the internal ABAP format using conversion routine `CUNIT` -- Data element SPRAS: When a cell value is written to an ABAP field typed against data element SPRAS the cell value is interpreted as the external value for a language which is converted to the internal ABAP format using conversion routine ISOLA +- Data element `SPRAS`: When a cell value is written to an ABAP field typed against data element `SPRAS`, the cell value is interpreted as the external value for a language, which is converted to the internal ABAP format using conversion routine `ISOLA` diff --git a/docs/30-development/xlsx-write-access-8dddce9.md b/docs/30-development/xlsx-write-access-8dddce9.md index 10d2fc8c..4ebbda64 100644 --- a/docs/30-development/xlsx-write-access-8dddce9.md +++ b/docs/30-development/xlsx-write-access-8dddce9.md @@ -2,20 +2,20 @@ # XLSX Write Access -The starting point for programmatically writing the content of an XLSX document is to obtain a write access for the document. This document shows how this is done. +The starting point for programmatically writing the content of an XLSX document is to get a write access for the document. Find out how this is done. ## Context -Creating a new, empty XLSX document and obtaining write access for it can be accomplished like this: +You can create a new, empty XLSX document and get write access for it like this: > ### Sample Code: > ```abap > DATA(lo_write_access) = xco_cp_xlsx=>document->empty( )->write_access( ). > ``` -An empty XLSX document consists of one worksheet named `Sheet1` which is accessible via +An empty XLSX document consists of one worksheet named `Sheet1` which you can access via > ### Sample Code: > ```abap @@ -24,7 +24,7 @@ An empty XLSX document consists of one worksheet named `Sheet1` which is accessi > )->worksheet->at_position( 1 ). > ``` -It can be populated with data using the means described below. Once the worksheet has been filled as desired, the corresponding file content of the document can be obtained as an XSTRING via +You can populate it with data using the means described below. Once the worksheet has been filled as desired, you can get the corresponding file content of the document as an XSTRING via > ### Sample Code: > ```abap @@ -56,11 +56,11 @@ The first way how you can write data into a worksheet is by selecting a collecti ### Row streams -Row streams are best used when the structure of the data that should be written is statically known. The primary use case is to write the rows of an internal table into a corresponding portion of the worksheet \(as identified by a selection\). As such, the following operations are offered for row streams: +Row streams are best used when the structure of the data that should be written is statically known. The primary use case is to write the rows of an internal table into a corresponding portion of the worksheet \(as identified by a selection\). The following operations are offered for row streams: -- Write From: The write from operation takes a reference to an internal table as the input whose rows shall be written to the selected rows in the worksheet \(upon execution of the operation\) +- Write From: The write from operation takes a reference to an internal table as the input whose rows will be written to the selected rows in the worksheet \(upon running the operation\) -Consider the following example of how a write from operation can be obtained and executed: +Consider the following example of how a write from operation can be obtained and run: > ### Sample Code: > ```abap @@ -97,10 +97,10 @@ Consider the following example of how a write from operation can be obtained and ## Writing Data via a Cursor -An alternative to writing data into a worksheet via selections and streams is to obtain a cursor for a worksheet write access via method `CURSOR` on `IF_XCO_XLSX_WA_WORKSHEET`. Just as with desktop office suites, a cursor can first be positioned on any given cell \(identified by coordinate values for both the column and row of the cell\). Afterwards, it can be moved around the worksheet freely via the methods on `IF_XCO_XLSX_WA_CURSOR`: +An alternative to writing data into a worksheet via selections and streams is to get a cursor for a worksheet write access using the method `CURSOR` on `IF_XCO_XLSX_WA_WORKSHEET`. Just as with desktop office suites, you can position a cursor on any given cell \(identified by coordinate values for both the column and row of the cell\). Afterwards, you can move it around the worksheet freely via the methods on `IF_XCO_XLSX_WA_CURSOR`: -- Methods `MOVE_UP`, `MOVE_RIGHT`, `MOVE_DOWN` and `MOVE_LEFT` can be used to move the cursor relative to its current position by the given number of steps -- Methods `SET_COLUMN` and `SET_ROW` can be used to set the new column or row for the cursor +- You can use the methods `MOVE_UP`, `MOVE_RIGHT`, `MOVE_DOWN` and `MOVE_LEFT` to move the cursor relative to its current position by the given number of steps +- You can use the methods `SET_COLUMN` and `SET_ROW` to set the new column or row for the cursor - Method `GET_CELL` provides access to the cell at the current position of the cursor The following example illustrates how the current date and time \(stored in ABAP variables `LV_DATE` and `LV_TIME`\) can be written into a worksheet: @@ -232,7 +232,7 @@ where $LV\_DATE$ is the current date and $LV\_TIME$ is the current time. ## Value Transformations -When writing the value of an individual cell \(via `IF_XCO_XLSX_WA_CELL_VALUE`\) or of a complete row \(as part of a row stream operation\) it's possible to apply transformations to the value, which will affect what XLSX value is written to the cell in the worksheet. Technically, a value transformation \(obtainable via `XCO_CP_XLSX_WRITE_ACCESS=>VALUE_TRANSFORMATION`\) contains a transformation routine that can be applied to +When writing the value of an individual cell \(via `IF_XCO_XLSX_WA_CELL_VALUE`\) or of a complete row \(as part of a row stream operation\) it's possible to apply transformations to the value, which will affect what XLSX value is written to the cell in the worksheet. Technically, a value transformation that you can get using the method `XCO_CP_XLSX_WRITE_ACCESS=>VALUE_TRANSFORMATION` contains a transformation routine that can be applied to - Values of individual cells \(in case the value transformation implements the interface `IF_XCO_XLSX_WA_VT_CELL_VALUE`\) - Values of rows \(in case the value transformation implements the interface `IF_XCO_XLSX_WA_VT_ROW_VALUE`\) @@ -255,10 +255,10 @@ The **best effort** value transformation is based on an inspection \(based on AB - Type `ABAP_BOOL`: When an ABAP field of type `ABAP_BOOL` is written to a cell, a boolean value will be written to the worksheet - D: When an ABAP field of type D is written to a cell, a date value will be written to the worksheet - T: When an ABAP field of type T is written to a cell, a time value will be written to the worksheet -- Data element `MSEHI`: When an ABAP field typed against data element `MSEHI` is written to a cell, the external value of the corresponding unit of measurement as determined by conversion routine CUNIT will be written to the worksheet -- Data element `SPRAS`: When an ABAP field typed against data element`SPRAS` is written to a cell, the external value of the corresponding language as determined by conversion routine ISOLA will be written to the worksheet +- Data element `MSEHI`: When an ABAP field typed against data element `MSEHI` is written to a cell, the external value of the corresponding unit of measurement as determined by conversion routine `CUNIT` will be written to the worksheet +- Data element `SPRAS`: When an ABAP field typed against data element`SPRAS` is written to a cell, the external value of the corresponding language as determined by conversion routine `ISOLA` will be written to the worksheet - C, N and `STRING`: When an ABAP field of type C, N or `STRING` is written to a cell, a string value will be written to the worksheet - I, INT8 and P: When an ABAP field of type I, INT8 or P is written to a cell, a numeric value will be written to the worksheet -If an attempt is made to write an ABAP field of any other type to a cell of a worksheet using the best effort value transformation, a runtime error is to be expected. +If an attempt is made to write an ABAP field of any other type to a cell of a worksheet using the best effort value transformation, you can expect a runtime error. diff --git a/docs/40-extensions/enabling-events-exchange-between-sap-cloud-systems-1592246.md b/docs/40-extensions/enabling-events-exchange-between-sap-cloud-systems-1592246.md index 31ee75f5..e92b17b7 100644 --- a/docs/40-extensions/enabling-events-exchange-between-sap-cloud-systems-1592246.md +++ b/docs/40-extensions/enabling-events-exchange-between-sap-cloud-systems-1592246.md @@ -85,7 +85,7 @@ The following procedure outlines the steps you need to perform to enable the exc ## Next Steps -When the formation is created, navigate to the SAP Event Broker application and enable the event subscriptions. See [Enabling SAP Event Subscriptions](https://help.sap.com/docs/SAP_EMKS/19cb7423096b476d940924799c9e8f5a/e0b4046096524301ba1d738909368b9f.html). +When the formation is created, navigate to the SAP Event Broker application and enable the event subscriptions. See [Enabling SAP Event Subscriptions](https://help.sap.com/docs/event-broker/event-broker-service-guide/enable-subscriptions?version=Cloud). diff --git a/docs/50-administration-and-ops/about-user-management-in-the-cloud-foundry-environment-8e6ce96.md b/docs/50-administration-and-ops/about-user-management-in-the-cloud-foundry-environment-8e6ce96.md index 2c9fbd8c..ea17825c 100644 --- a/docs/50-administration-and-ops/about-user-management-in-the-cloud-foundry-environment-8e6ce96.md +++ b/docs/50-administration-and-ops/about-user-management-in-the-cloud-foundry-environment-8e6ce96.md @@ -24,7 +24,7 @@ Whenever you add a user at the org or space level with the SAP BTP cockpit, SAP > ### Remember: > When you delete a user at the Cloud Foundry level, SAP BTP doesn’t delete the corresponding shadow user at the subaccount level. > -> When you delete a user at the subaccount level, delete the user at the Cloud Foundry org and space levels, too. Otherwise, the system automatically creates the corresponding user at the subaccount level if the user has a Cloud Foundryrole. +> When you delete a user at the subaccount level, delete the user at the Cloud Foundry org and space levels, too. Otherwise, the system automatically creates the corresponding user at the subaccount level if the user has a Cloud Foundry role. For more information about shadow users, see [Working with Users](working-with-users-2c91f88.md). diff --git a/docs/50-administration-and-ops/audit-log-retention-for-the-cloud-foundry-environment-adaefa6.md b/docs/50-administration-and-ops/audit-log-retention-for-the-cloud-foundry-environment-adaefa6.md index bdb09862..8d8a7b94 100644 --- a/docs/50-administration-and-ops/audit-log-retention-for-the-cloud-foundry-environment-adaefa6.md +++ b/docs/50-administration-and-ops/audit-log-retention-for-the-cloud-foundry-environment-adaefa6.md @@ -8,6 +8,6 @@ Currently, there are two main categories of retention of audit data, divided by - [Retention of Audit Data written from SAP BTP Applications and Services](retention-of-audit-data-written-from-sap-btp-applications-and-services-3ea497f.md) \(SAP-generated\) -- [Retention of Audit Data written from Customer’s SAP BTP Applications](retention-of-audit-data-written-from-customer-s-sap-btp-applications-9cf4217.md) \(Customer-generated\) +- [Retention of Audit Data written from Customer’s BTP Applications](retention-of-audit-data-written-from-customer-s-btp-applications-9cf4217.md) \(Customer-generated\) diff --git a/docs/50-administration-and-ops/displaying-and-analyzing-abap-runtime-errors-a762c2a.md b/docs/50-administration-and-ops/displaying-and-analyzing-abap-runtime-errors-a762c2a.md index 4fbd4fa5..30e2f10e 100644 --- a/docs/50-administration-and-ops/displaying-and-analyzing-abap-runtime-errors-a762c2a.md +++ b/docs/50-administration-and-ops/displaying-and-analyzing-abap-runtime-errors-a762c2a.md @@ -26,6 +26,6 @@ To analyze an ABAP runtime error, click on a row in the list. This takes you to - The *Source Code Extract* section shows an extract of the ABAP source code where the error occurred. You can work in the source code now and return to the source code position where the error occurred at any time by choosing *Go to Line with Runtime Error*. You can now choose whether you want to go to the ABAP code in the ABAP development tools for Eclipse \(ADT\) to debug or change the development object or whether you want to display the code read-only in HTML. -- The *Active Calls/Events* section lists all events with information on where the events occurred. From here, you can also navigate to the ABAP code in the ABAP development tools for Eclipse \(ADT\) or display it in HTML. +- The *Active Calls/Events* section lists the call stack with information on where the active calls and events occurred. From here, you can also navigate to the ABAP code in the ABAP development tools for Eclipse \(ADT\) or display it in HTML. diff --git a/docs/50-administration-and-ops/how-to-configure-software-components-51bed3b.md b/docs/50-administration-and-ops/how-to-configure-software-components-51bed3b.md new file mode 100644 index 00000000..40666fc9 --- /dev/null +++ b/docs/50-administration-and-ops/how-to-configure-software-components-51bed3b.md @@ -0,0 +1,33 @@ + + +# How to Configure Software Components + + + + + +## Context + +You can configurate software components in the *Repository Settings*, which can be opened by clicking on the *Settings* button. + + + + + +## Key Features + +You can do the following adjustments to the selected software component: + +- Repository Role: + + Use the repository role to configure how transport requests behave when they're released. If the option *Target* is selected, the transport requests will not be pushed to the remote repository. However, if the *Source* option is selected, the transport request can be pushed to the remote repository. + +- Rollback Mechanism: + + This rollback mechanism can be enabled and disabled. If enabled, only valid commits can be imported in the repository. If disabled, all commits can be imported even if they are invalid. For more information about this mechanism, see: [How to Pull Software Components](how-to-pull-software-components-90b9b9d.md). + +- Update Credentials \(BYOG software components only\): + + Use this option to update your Git user credentials that were saved when the software component was cloned. This option is enabled only for Bring Your Own Git components that have already been linked to a Git repository. For more information on that, see [How to Configure Your Git Repository](how-to-configure-your-git-repository-994c961.md). + + diff --git a/docs/50-administration-and-ops/how-to-pull-software-components-90b9b9d.md b/docs/50-administration-and-ops/how-to-pull-software-components-90b9b9d.md index 582156ef..850a3017 100644 --- a/docs/50-administration-and-ops/how-to-pull-software-components-90b9b9d.md +++ b/docs/50-administration-and-ops/how-to-pull-software-components-90b9b9d.md @@ -278,5 +278,5 @@ You can pull \(remotely available\) changes of your software component to the se [How to Clone Software Components](how-to-clone-software-components-18564c5.md "") - +[How to Configure Software Components](how-to-configure-software-components-51bed3b.md "") diff --git a/docs/50-administration-and-ops/integrating-sap-btp-abap-environment-and-local-printers-9dd57ea.md b/docs/50-administration-and-ops/integrating-sap-btp-abap-environment-and-local-printers-9dd57ea.md index 4384011c..37cffdf5 100644 --- a/docs/50-administration-and-ops/integrating-sap-btp-abap-environment-and-local-printers-9dd57ea.md +++ b/docs/50-administration-and-ops/integrating-sap-btp-abap-environment-and-local-printers-9dd57ea.md @@ -10,7 +10,7 @@ With `SAP_COM_0467`, the SAP BTP, ABAP environment system sends a notification t Item retrieval and status update is the same for both methods. The only difference is the determination of new items to print. -Please check the documentation of your OMS first to see which method is supported before creating a communication arrangement of any type. An example of an implementation of these communication scenarios is the solution of Microsoft, see [this blog](https://community.sap.com/t5/technology-blogs-by-members/it-has-never-been-easier-to-print-from-sap-with-microsoft-universal-print/ba-p/13672206). +Please check the documentation of your OMS first to see which method is supported before creating a communication arrangement of any type. An example of an implementation of these communication scenarios is Microsoft Universal Print. See [this blog](https://community.sap.com/t5/technology-blogs-by-members/it-has-never-been-easier-to-print-from-sap-with-microsoft-universal-print/ba-p/13672206) for more details. **Related Information** diff --git a/docs/50-administration-and-ops/monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md b/docs/50-administration-and-ops/monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md index 2f2af163..6a86a1f5 100644 --- a/docs/50-administration-and-ops/monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md +++ b/docs/50-administration-and-ops/monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md @@ -385,6 +385,7 @@ Here are some useful tips for working in this perspective: > > You can also switch to a chart that shows the cumulative costs of the selected service over time. +- When you haven't selected a row in the main table, the *Global Account - Cost Summary* chart is displayed below the main table. It shows a summary of the costs by month in your global account over the last 12 months. To get back to this chart when a chart with the costs for a specific subaccount, directory, or service is displayed, unselect the selected row in the main table. See other useful tips, such as table sorting, filtering, and searching, in the [Understanding the Cost and Usage Views](monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md#loiode6f0db8919f4e6f97e54bc4ddaf2ab8__section_u3v_vd3_m1c) section. @@ -423,6 +424,7 @@ Here are some useful tips for working in this perspective: > > You can also switch to a chart that shows the cumulative costs of the selected subaccount or directory over time. +- When you haven't selected a row in the main table, the *Global Account - Cost Summary* chart is displayed below the main table. It shows a summary of the costs by month in your global account over the last 12 months. To get back to this chart when a chart with the costs for a specific subaccount, directory, or service is displayed, unselect the selected row in the main table. See other useful tips, such as table sorting and searching, in the [Understanding the Cost and Usage Views](monitoring-usage-and-consumption-costs-in-your-global-account-de6f0db.md#loiode6f0db8919f4e6f97e54bc4ddaf2ab8__section_u3v_vd3_m1c) section. diff --git a/docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-sap-btp-applications-9cf4217.md b/docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-btp-applications-9cf4217.md similarity index 98% rename from docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-sap-btp-applications-9cf4217.md rename to docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-btp-applications-9cf4217.md index 73f5e394..5699cb94 100644 --- a/docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-sap-btp-applications-9cf4217.md +++ b/docs/50-administration-and-ops/retention-of-audit-data-written-from-customer-s-btp-applications-9cf4217.md @@ -1,6 +1,6 @@ -# Retention of Audit Data written from Customer’s SAP BTP Applications +# Retention of Audit Data written from Customer’s BTP Applications diff --git a/docs/50-administration-and-ops/security-events-logged-by-the-cloud-foundry-services-84acdc9.md b/docs/50-administration-and-ops/security-events-logged-by-the-cloud-foundry-services-84acdc9.md index 67dd59a1..587cb073 100644 --- a/docs/50-administration-and-ops/security-events-logged-by-the-cloud-foundry-services-84acdc9.md +++ b/docs/50-administration-and-ops/security-events-logged-by-the-cloud-foundry-services-84acdc9.md @@ -311,6 +311,18 @@ SAP Conversational AI +SAP Data Privacy Integration + + + + +[Access to Audit Logs](https://help.sap.com/docs/data-privacy-integration/security/audit-and-logging-information-data-privacy-integration) + + + + + + SAP Datasphere Cloud diff --git a/docs/50-administration-and-ops/troubleshooting-84f2c28.md b/docs/50-administration-and-ops/troubleshooting-84f2c28.md new file mode 100644 index 00000000..2add0f03 --- /dev/null +++ b/docs/50-administration-and-ops/troubleshooting-84f2c28.md @@ -0,0 +1,15 @@ + + +# Troubleshooting + +You can use the [Guided Answers for Audit Logging in the Cloud Foundry Environment](https://ga.support.sap.com/dtp/viewer/#/tree/3642/actions/59095) page as self service to troubleshoot your issues. + +If you don't manage to solve your issue with the Guided Answers, you can open a support ticket in [SAP4Me](https://me.sap.com/servicessupport), in which you need to provide: + +- Your GA ID + +- Your subaccount ID + +- Step by step description of the issue with screenshots. + + diff --git a/docs/60-security/configuring-backup-65a8d82.md b/docs/60-security/configuring-backup-65a8d82.md index d9a9090a..584055e8 100644 --- a/docs/60-security/configuring-backup-65a8d82.md +++ b/docs/60-security/configuring-backup-65a8d82.md @@ -4,5 +4,5 @@ For SAP Authorization and Trust Management Service, you can backup the service configuration, the authorizations, and the configuration of the identity provider using APIs. -For more information, see [Service Configurations Managed by Customers](https://help.sap.com/viewer/df50977d8bfa4c9a8a063ddb37113c43/Cloud/en-US/7821fcf6f0cc487799fb6b75e8d0e0f7.html#loio9de0caa8abe34f4897e5b727868019c0 "SAP doesn't manage backups of service configurations. However, you can back up your service-specific configuration yourself. This backup allows you to restore your configuration in case it’s deleted by accident.") :arrow_upper_right:. +For more information, see [Service Configurations Managed by Customers](https://help.sap.com/viewer/df50977d8bfa4c9a8a063ddb37113c43/Cloud/en-US/7821fcf6f0cc487799fb6b75e8d0e0f7.html#loio9de0caa8abe34f4897e5b727868019c0 "SAP doesn't manage backups of service configurations. However, you can back up your service-specific configuration yourself. This backup allows you to restore your configuration in case it’s deleted by accident..") :arrow_upper_right:. diff --git a/docs/60-security/limits-for-technical-artifacts-of-the-sap-authorization-and-trust-management-service-6d3ef52.md b/docs/60-security/limits-for-technical-artifacts-of-the-sap-authorization-and-trust-management-service-6d3ef52.md index bbf55852..e6bed358 100644 --- a/docs/60-security/limits-for-technical-artifacts-of-the-sap-authorization-and-trust-management-service-6d3ef52.md +++ b/docs/60-security/limits-for-technical-artifacts-of-the-sap-authorization-and-trust-management-service-6d3ef52.md @@ -38,7 +38,7 @@ Service instances per subaccount -1000 +2500 diff --git a/docs/60-security/security-considerations-for-the-sap-authorization-and-trust-management-service-f117cab.md b/docs/60-security/security-considerations-for-the-sap-authorization-and-trust-management-service-f117cab.md index 1aed92f9..77ccfc76 100644 --- a/docs/60-security/security-considerations-for-the-sap-authorization-and-trust-management-service-f117cab.md +++ b/docs/60-security/security-considerations-for-the-sap-authorization-and-trust-management-service-f117cab.md @@ -51,7 +51,9 @@ This configuration has several security implications like: - JavaScript-based cross-site scripting vulnerabilities of older browser versions. -- 3rd-party cookies are required when using different domains for authentication with the SAP Authorization and Trust Management service, the identity provider, and the application. +- Third-party cookies are required when using different domains for authentication with the SAP Authorization and Trust Management service, the identity provider, and the application. + + See also [Third-Party Cookies and SAP Authorization and Trust Management Service](third-party-cookies-and-sap-authorization-and-trust-management-service-5ab1e0b.md). Ensure that no attacker can add malicious web pages or Javascript to any of the hosts allowed to frame the applications. This recommendation also includes hosts that act as reverse proxies, where an attacker can put their content on a different host behind the reverse proxy. Ensure that everything exposed by those framing hosts is safe. diff --git a/docs/60-security/security-e129aa2.md b/docs/60-security/security-e129aa2.md index 4ad25ce4..ce7b8eca 100644 --- a/docs/60-security/security-e129aa2.md +++ b/docs/60-security/security-e129aa2.md @@ -14,7 +14,7 @@ We provide a list with our recommendations for the configuration of our services See [SAP BTP Security Recommendations](https://help.sap.com/docs/BTP/c8a9bb59fe624f0981efa0eff2497d7d/531f33def8074ccdb6f1f784a34dafcb.html?version=Cloud). -Our customer success organization, uses these recommendations as a base to create a security baseline template. +Our customer success organization uses these recommendations as a base to create a security baseline template. For more information, go to [https://support.sap.com/sos](https://support.sap.com/sos) and choose *Media Library* \> *SAP CoE Security Services - Security Baseline Template*. @@ -49,7 +49,7 @@ All users of SAP BTP are stored in identity providers, either in the default or For more information, see [Trust and Federation with Identity Providers](../50-administration-and-ops/trust-and-federation-with-identity-providers-cb1bc8f.md). > ### Note: -> For China \(Shanghai\) region, a different default identity provider is used. +> For the China \(Shanghai\) region, a different default identity provider is used. > > For more information, see this [blog article](https://blogs.sap.com/2021/02/22/activate-totp-two-factor-authentication-on-sap-business-technology-platform-formerly-known-as-cloud-platform-at-alibaba-cloud/) on *SAP Community*. @@ -95,7 +95,7 @@ Make sure you use HTTP clients \(such as web browsers\) that support TLS version > ### Note: > You can optionally use TLS 1.3 in the Custom Domain Manager. This option allows the use of TLS 1.3 with applications running on SAP BTP. It's not allowed to use TLS 1.3, for example for the SAP BTP cockpit or SAP Cloud Identity Services. These services are still using TLS 1.2. > -> See [What Is Custom Domain?](https://help.sap.com/viewer/6f35a23466ee4df0b19085c9c52f9c29/Cloud/en-US/4f4c3ff62fd2413089dce8a973620167.html "Configure and expose your application under your own domain.") :arrow_upper_right:. +> See [What Is Custom Domain](https://help.sap.com/docs/custom-domain/custom-domain-manager/what-is-custom-domain). @@ -121,7 +121,7 @@ See [SAP Credential Store](https://help.sap.com/viewer/product/CREDENTIAL_STORE/ ## Malware Scanning -Use SAP Malware Scanning service to scan business documents for malware. Integrate this service with your custom-developed apps running on the Cloud Foundry runtime. When your apps upload business documents, your apps can call the SAP Malware Scanning service to check for viruses or other malware. +Use the SAP Malware Scanning service to scan business documents for malware. Integrate this service with your custom-developed apps running on the Cloud Foundry runtime. When your apps upload business documents, your apps can call the SAP Malware Scanning service to check for viruses or other malware. For more information, see [SAP Malware Scanning Service](https://help.sap.com/docs/MALWARE_SCANNING?version=Cloud). diff --git a/docs/70-getting-support/support-components-08d1103.md b/docs/70-getting-support/support-components-08d1103.md index acd1b233..4f0b1a7f 100644 --- a/docs/70-getting-support/support-components-08d1103.md +++ b/docs/70-getting-support/support-components-08d1103.md @@ -3679,6 +3679,7 @@ Develop, debug, test, and deploy SAP business applications. - US Central \(IA\) +- Israel \(Tel Aviv\) GCP - India \(Mumbai\) @@ -9331,116 +9332,6 @@ Manage your SAP systems in infrastructure as a service \(IaaS\) environments. - - - - - -[SAP Omnichannel Promotion Pricing](https://help.sap.com/viewer/p/OPP) - - - - -Calculate effective sales prices by applying promotional rules. - - - - -- LOD-CID-OPP - - - - - - -- Cloud Foundry - - - - - - -- AWS - - - - - - -- Europe \(Frankfurt\) - - - - - - -- Yes - - - - - - -- Available - - - - - - - - -[SAP Omnichannel Promotion Pricing](https://help.sap.com/viewer/p/OPP) - - - - -Calculate effective sales prices by applying promotional rules. - - - - -- LOD-CID-OPP - - - - - - -- Cloud Foundry - - - - - - -- Azure - - - - - - -- Europe \(Netherlands\) -- US East \(VA\) -- Australia \(Sydney\) - - - - - - -- Yes - - - - - - -- Available - - - @@ -10844,7 +10735,7 @@ Design, configure, and execute automation projects. -[Process Integration](https://help.sap.com/viewer/product/CLOUD_INTEGRATION/Cloud/en-US) +[SAP Process Integration](https://help.sap.com/viewer/product/CLOUD_INTEGRATION/Cloud/en-US) @@ -11613,6 +11504,60 @@ Configure and run predefined pipelines for continuous integration and delivery. + + + + + +[Continuous Integration and Delivery](https://help.sap.com/docs/CONTINUOUS_DELIVERY?version=Cloud) + + + + +Configure and run predefined pipelines for continuous integration and delivery. + + + + +- BC-CP-CF-CICD + + + + + + +- Cloud Foundry + + + + + + +- Azure + + + + + + +- Europe \(Netherlands\) + + + + + + +- Yes + + + + + + +- Available + + + diff --git a/docs/index.md b/docs/index.md index abdd4627..18e9d18f 100644 --- a/docs/index.md +++ b/docs/index.md @@ -17,7 +17,7 @@ - [Additional Information About Cloud Foundry](10-concepts/cloud-foundry-environment-9c7092c.md#loio1c6cba872ce24f2ba24f53feb6dbce6d) - [ABAP Environment](10-concepts/abap-environment-11d6265.md) - [ABAP Development Tools for Eclipse](10-concepts/abap-development-tools-for-eclipse-54dd712.md) - - [Commercial Information](10-concepts/commercial-information-b7f5a93.md) + - [Commercial Information for SAP BTP, ABAP environment](10-concepts/commercial-information-for-sap-btp-abap-environment-b7f5a93.md) - [Kyma Environment](10-concepts/kyma-environment-468c2f3.md) - [Kyma's Modular Approach](10-concepts/kyma-s-modular-approach-95a4101.md) - [Kyma Modules](10-concepts/kyma-modules-0dda141.md) @@ -118,6 +118,7 @@ - [Mapping the Identity Provider Group Developers to the Neo Group](20-getting-started/mapping-the-identity-provider-group-developers-to-the-neo-group-1fd7873.md) - [Getting Started as a Developer in the ABAP Environment](20-getting-started/getting-started-as-a-developer-in-the-abap-environment-4b896c9.md) - [Tutorial Overview](20-getting-started/tutorial-overview-5de8374.md) + - [Getting Started with Custom Code Analysis in the ABAP Environment](20-getting-started/getting-started-with-custom-code-analysis-in-the-abap-environment-2fc0fea.md) - [Getting Started in the Kyma Environment](20-getting-started/getting-started-in-the-kyma-environment-d1abd18.md) - [Getting Started with an Enterprise Account in the Kyma Environment](20-getting-started/getting-started-with-an-enterprise-account-in-the-kyma-environment-1903e9c.md) - [Getting Started with a Trial Account in the Kyma Environment](20-getting-started/getting-started-with-a-trial-account-in-the-kyma-environment-ccb83c7.md) @@ -631,10 +632,6 @@ - [Integrating Business User Change Documents](30-development/integrating-business-user-change-documents-624988e.md) - [Business User Changes - Read](30-development/business-user-changes-read-1c042ca.md) - [Operation for Business User Changes - Read](30-development/operation-for-business-user-changes-read-c85065d.md) - - [Integrating Cross-domain Identity Management](30-development/integrating-cross-domain-identity-management-aa4b03c.md) - - [SCIM Interface for IAM](30-development/scim-interface-for-iam-d8e3c4a.md) - - [Example: User Endpoint](30-development/example-user-endpoint-d69daf4.md) - - [Example: Group Endpoint](30-development/example-group-endpoint-ac889df.md) - [Integrating Business Role Data \(Read\)](30-development/integrating-business-role-data-read-1ba3bff.md) - [Business Role - Read Integration](30-development/business-role-read-integration-acf3f0f.md) - [Business Role Entity](30-development/business-role-entity-95bb304.md) @@ -1138,6 +1135,7 @@ - [Metric Providers](30-development/metric-providers-07b7c9e.md) - [Integration to SAP BTP Services](30-development/integration-to-sap-btp-services-7402d24.md) - [Scoping Framework](30-development/scoping-framework-33bb4f2.md) + - [API for Consumption of Business Rules](30-development/api-for-consumption-of-business-rules-69da3f8.md) - [UI Development](30-development/ui-development-b74a89d.md) - [SAP Fiori Applications in the ABAP Environment](30-development/sap-fiori-applications-in-the-abap-environment-1d9deef.md) - [Scoping Space and Page Templates](30-development/scoping-space-and-page-templates-74d5b1a.md) @@ -1507,7 +1505,7 @@ - [Audit Log Retrieval API for Global Accounts in the Cloud Foundry Environment](50-administration-and-ops/audit-log-retrieval-api-for-global-accounts-in-the-cloud-foundry-environment-7db3c9f.md) - [Audit Log Retention for the Cloud Foundry Environment](50-administration-and-ops/audit-log-retention-for-the-cloud-foundry-environment-adaefa6.md) - [Retention of Audit Data written from SAP BTP Applications and Services](50-administration-and-ops/retention-of-audit-data-written-from-sap-btp-applications-and-services-3ea497f.md) - - [Retention of Audit Data written from Customer’s SAP BTP Applications](50-administration-and-ops/retention-of-audit-data-written-from-customer-s-sap-btp-applications-9cf4217.md) + - [Retention of Audit Data written from Customer’s BTP Applications](50-administration-and-ops/retention-of-audit-data-written-from-customer-s-btp-applications-9cf4217.md) - [Audit Log Write API for Customers](50-administration-and-ops/audit-log-write-api-for-customers-64e99bb.md) - [Audit Log Viewer for the Cloud Foundry Environment](50-administration-and-ops/audit-log-viewer-for-the-cloud-foundry-environment-e3baa5f.md) - [Accessibility Features in Audit Log Viewer](50-administration-and-ops/accessibility-features-in-audit-log-viewer-bf36fd1.md) @@ -1515,6 +1513,7 @@ - [Checking Who Created an Application or a Service Instance](50-administration-and-ops/checking-who-created-an-application-or-a-service-instance-3dcbb16.md) - [Check Who Created an Application](50-administration-and-ops/check-who-created-an-application-50a8092.md) - [Check Who Created a Service Instance](50-administration-and-ops/check-who-created-a-service-instance-f51ced4.md) + - [Troubleshooting](50-administration-and-ops/troubleshooting-84f2c28.md) - [Administration and Operations in the ABAP Environment](50-administration-and-ops/administration-and-operations-in-the-abap-environment-c4fd102.md) - [SAP Fiori Apps in the ABAP Environment](50-administration-and-ops/sap-fiori-apps-in-the-abap-environment-dbfaac8.md) - [Business Catalogs](50-administration-and-ops/business-catalogs-e1ae7ec.md) @@ -1777,6 +1776,7 @@ - [How to Pull Software Components](50-administration-and-ops/how-to-pull-software-components-90b9b9d.md) - [How to Delete Software Components](50-administration-and-ops/how-to-delete-software-components-a982ba3.md) - [How to Configure Your Git Repository](50-administration-and-ops/how-to-configure-your-git-repository-994c961.md) + - [How to Configure Software Components](50-administration-and-ops/how-to-configure-software-components-51bed3b.md) - [How to Export Using SAP Cloud Transport Management](50-administration-and-ops/how-to-export-using-sap-cloud-transport-management-b837a3b.md) - [How to Work with Branches](50-administration-and-ops/how-to-work-with-branches-6b2f0bf.md) - [How to Tag Commits](50-administration-and-ops/how-to-tag-commits-10139f4.md)