This document describes how to implement Cloud Storage as a content repository for SAP, by using the on-premises or any cloud edition of ABAP SDK for Google Cloud. Cloud Storage can handle your SAP-related data storage needs for storing various file types such as PDFs and images, and for archiving business data.
By storing your SAP documents and archiving your business data in Cloud Storage, you can achieve a scalable and cost-effective solution while maintaining compatibility with your SAP workflows.
When using Cloud Storage as a content repository, you can store documents with a maximum file size of 5 TB. This is the limit for individual uploads to a Cloud Storage bucket on Google Cloud.
Data flow diagram
The following diagram shows how documents and business data in SAP systems are archived to Cloud Storage by using the ABAP SDK for Google Cloud.
As shown in the preceding diagram, the data flow from SAP to Google Cloud includes the following components:
Documents attached to business objects: This represents the documents attached to business objects that you want to store, such as invoice attachments.
Business data in SAP: This represents the business data that you want to archive from your SAP ERP system.
SAP archiving program: This is the program within SAP that handles the process of moving business data from SAP database to the storage.
SAP ArchiveLink service: The SAP ArchiveLink service acts as the bridge between the SAP system and Cloud Storage for moving documents and business data.
ABAP SDK for Google Cloud: The SDK enables communication between the SAP system and Google Cloud. It provides the necessary functions to interact with Google Cloud APIs.
SAP Internet Communication Manager (ICM): This is a component of the SAP NetWeaver Application Server that handles network communication. It acts as a gateway for HTTP-based requests.
Cloud Storage: This is the cloud-based object storage service provided by Google Cloud, where the documents and business data are stored.
Security
When you archive your SAP data, your data is transmitted securely to Cloud Storage through the Cloud Storage API. This communication is protected by using HTTPS encryption and OAuth-based authentication. Subsequently, TLS encryption ensures your data remains secure during its complete journey over the internet.
Once on Google Cloud, encryption at rest safeguards your stored data, whether it's on disks or in backup media. By default, Google manages the encryption keys, providing a baseline level of protection for your data at rest. While Google manages default encryption keys, you can also use Cloud Key Management Service to create and manage your own encryption keys for enhanced control.
On Cloud Storage, you can further secure your archived data and
tamper-proof it from human modification by implementing access control
through IAM. Provide only the necessary service accounts with WRITE
and READ
permissions. If you require human viewing, then extend strict
VIEW
or READ
permissions on the Cloud Storage bucket.
Ensure that IAM best practices are followed by granting least privileged access. Only give the permissions that are absolutely necessary for a user or service account to perform its specific tasks.
Pricing
The ABAP SDK for Google Cloud, which is free to install and use, includes a subpackage that lets you implement Cloud Storage as a content repository for SAP. However, you're responsible for the costs that you incur based on the data volume in Cloud Storage. For information about Cloud Storage pricing, see Pricing.
Set up Cloud Storage as a content repository for SAP
This section explains the steps to configure Cloud Storage as a content repository for your SAP systems.
Enable the Cloud Storage API
Enable the Cloud Storage API in your Google Cloud project. For information about how to enable Google Cloud APIs, see Enabling APIs.
Create Cloud Storage buckets
Your SAP data is stored within Cloud Storage buckets. To create a storage bucket, navigate to Creating storage buckets and follow the provided instructions. Make sure to select the appropriate storage class for your data. For a comprehensive overview of the available storage classes in Cloud Storage, see Storage classes.
For best practices related to creating and managing storage buckets, see Bucket naming guidelines and Bucket locations.
Install the SDK
When you install the latest version of the on-premises or any cloud edition of ABAP SDK for Google Cloud, the subpackage for implementing Cloud Storage as a content repository is installed for you. For information about how to install the SDK, see Install and configure the on-premises or any cloud edition of ABAP SDK for Google Cloud.
If you're already using version 1.9 or earlier of the on-premises or any cloud edition of ABAP SDK for Google Cloud, then update your SDK to the latest version. For more information, see Update ABAP SDK for Google Cloud.
This feature is only available with the on-premises or any cloud edition of ABAP SDK for Google Cloud.
Set up authentication
Once you set up authentication to access Google Cloud APIs in your on-premises or any cloud edition of ABAP SDK for Google Cloud, you use the same authentication method to access the Cloud Storage API. For information about how to set up authentication in the on-premises or any cloud edition of ABAP SDK for Google Cloud, see Authentication overview.
Make a note of the client key that you've created as part of the authentication setup. You use this client key when configuring Cloud Storage as a content repository.
Required IAM roles
Ensure that the dedicated service account for API access that you've configured in the client key configuration has access to the Cloud Storage bucket.
The service account configured in the client key configuration must have the following IAM roles:
Create a background user
For implementing Cloud Storage as a content repository for SAP,
the SDK is shipped with the SICF HTTP handler class /GOOG/CL_CONTENT_REPO_GCS
.
To invoke the SICF HTTP handler class /GOOG/CL_CONTENT_REPO_GCS
during runtime, you need
to create a background user.
To create a background user, do the following:
Create a background user. For information about how to create a background user, see Creating a Background User.
Provide the user ID:
ARCHIVEUSER
.Set an initial password for the background user.
Make a note of the user ID and password for later use.
Create an SICF node for SAP ArchiveLink service
An SICF node is required for SAP ArchiveLink service to establish the communication link between SAP and Cloud Storage.
To create an SICF node, do the following:
- In SAP GUI, open the transaction
SICF
. - Navigate to the appropriate location where you want to create a new node.
- Right-click the parent node and select New Sub-element.
- Enter a name for your SAP ArchiveLink service, for example,
gcs_archivelink
. - Double-click the newly created service to access its properties.
- Go to the Logon Data tab.
- In the Procedure field, select Required with Logon Data.
- Provide the background user
ARCHIVEUSER
and password for the background user that you've created in the Create a background user section. - Go to the Handler list tab.
- To configure the HTTP handler class for the content repository, enter
/GOOG/CL_CONTENT_REPO_GCS
. - Save the new entry.
Create a content repository definition
Create a content repository definition for your Cloud Storage integration.
To create a content repository definition, do the following:
- In SAP GUI, open the transaction
OAC0
. - Click New Entries.
- Enter a name for your content repository.
- Enter a description for your content repository.
- In the Document area field, select ARCHIVELINK.
- In the Storage type field, select HTTP content server.
- In the Version no. field, enter your content server version number.
- In the HTTP server field, enter the HTTP hostname of your SAP system.
- In the Port number field, enter the HTTP port of your SAP system. If you're using an HTTPS port, then enter that port number in the SSL port number field.
In the HTTP Script field, enter the name of the SICF node with its path, which you created for the SAP ArchiveLink service, for example,
sap/bc/gcs_archivelink
.This information is used for internal communication between your SAP application and the content server SICF node.
Save the new entry.
Configure the content repository for Cloud Storage
Configure the connection parameters that let your SAP system interact with Cloud Storage as its content repository.
To configure the content repository, do the following:
In SAP GUI, execute the transaction code
/GOOG/SDK_IMG
.Alternatively, execute the transaction code
SPRO
, and then click SAP Reference IMG.Click ABAP SDK for Google Cloud > Basic Settings > Content Repository: Configuration.
Click New Entries.
Enter values for the following fields:
Field Data type Description Content repository String The name of the content repository definition. For more information, see Create a content repository definition. Google Cloud Key Name String The client key that you've configured for authentication to Google Cloud during the authentication setup. Cloud Storage bucket String The name of the Cloud Storage bucket name, where you want to store your SAP data. Data file naming convention String The file naming convention for data files stored in the Cloud Storage bucket name. Select one of the following options: - Store data file as
DOC_ID
-data - Store data file as data
- Store data file as
Save the new entry.
Your content repository is ready. You can use the configured content repository for storing documents and for archiving business data for the use cases that are supported by SAP.
Use cases
You can use Cloud Storage as a content repository for the following use cases.
Store documents
To store the documents attached to business objects in a Cloud Storage bucket,
in transaction OAC3
, select the relevant business object, and configure the
content repository that you
created in the Create a content repository definition section.
For information about how to configure content repositories for storing documents attached to business objects, see the SAP documentation How to configure the Archivelink scenario.
Archive data
To archive business data in a Cloud Storage bucket,
use the SAP Archive Administration (SARA
) transaction to configure the
content repository
that you created in the Create a content repository definition section.
For information about how to configure content repositories for archiving business data, see the SAP documentation Archive Administration.
Enhancement exits
When implementing Cloud Storage as a content repository for SAP, you can use enhancement points where you can insert code to add custom features.
The following table lists the functions that the enhancement points support, the methods, and the class that contains the enhancement point.
Function | Class | Method | Spot | Option |
---|---|---|---|---|
Additional preprocessing in the DOC_SEARCH method |
/GOOG/CL_CONTENT_REPO_GCS |
DOC_SEARCH |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_DOC_SEARCH |
Additional preprocessing in the APPEND method |
/GOOG/CL_CONTENT_REPO_GCS |
APPEND |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/PRE_PROCESS_APPEND |
Additional post processing after the APPEND method |
/GOOG/CL_CONTENT_REPO_GCS |
APPEND |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_APPEND |
Additional preprocessing in the PROCESS_CREATE method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_CREATE |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/PRE_PROCESS_CREATE |
Additional post processing in the PROCESS_CREATE method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_CREATE |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_CREATE |
Additional preprocessing in the PROCESS_CREATE_POST method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_CREATE_POST |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/PRE_PROCESS_CREATE_POST |
Additional post processing in the PROCESS_CREATE_POST method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_CREATE_POST |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_CREATE_POST |
Additional post processing in the PROCESS_GET method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_GET |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_GET |
Additional preprocessing in the PROCESS_UPDATE method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_UPDATE |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/PRE_PROCESS_UPDATE |
Additional post processing in the PROCESS_UPDATE method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_UPDATE |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_UPDATE |
Additional preprocessing in the PROCESS_UPDATE_POST method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_UPDATE_POST |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/PRE_PROCESS_UPDATE_POST |
Additional post processing in the PROCESS_UPDATE_POST method |
/GOOG/CL_CONTENT_REPO_GCS |
PROCESS_UPDATE_POST |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_UPDATE_POST |
Additional post processing after deletion | /GOOG/CL_CONTENT_REPO_GCS |
PROCESS_DELETE |
/GOOG/ES_CONTENT_REPO_GCS |
/GOOG/POST_PROCESS_DELETE |
Get support
If you need help resolving problems with the ABAP SDK for Google Cloud, then do the following:
Refer to the ABAP SDK for Google Cloud troubleshooting guide.
Ask your questions and discuss ABAP SDK for Google Cloud with the community on Cloud Forums.
Collect all available diagnostic information and contact Cloud Customer Care. For information about contacting Customer Care, see Getting support for SAP on Google Cloud.
Community resources
You can explore the following community resources for implementing Cloud Storage as a content repository for SAP: