SAPFICO
SAPFICO
Steps
General Ledger Accounting:- General ledger accounting is the complete record of all
business transactions.
GL Accounting Configuration Steps:-
Step-1:- Define Chart of Accounts
Step-2:-Assign Company Code to Chart of Accounts
Step 3:- Define Account Groups
Step 4:- Define Retained Earning Account
Step 5:- Creation of GL Master Records
Step 6:- Define Tolerance Group for GL Account
Special Purpose Ledgers are ledgers that you can define for your specific business and organizational
requirements. The ledgers contain the dimensions you enter. You can create Special Purpose Ledgers in your
FI-SL system.
Step 1) Define Table Directory
IMG Path:
In this activity, you can perform an express installation for a FI-SL system. The system performs the express
installation for the respective functions using default settings and values.
Step 2) Maintain Table Directory
In this step, you can call up a directory of all the tables used in the Special Purpose Ledger system and display or
maintain these tables. The table directory is updated automatically when you install an FI-SL table. You should
only maintain it manually if absolutely necessary.
Step 3) Maintain Fixed Field Movement:
In this step, you can define which fields of a sender table are transferred to the fields of a FI-SL receiver
table. Table T800M is updated automatically if you install a FI-SL table you should only maintain the table
manually if absolutely necessary. You should under no circumstances delete entries from this table.
Step 4) Maintain Field Movements
When assigning activities to your company code/ledger and global company/ledger combinations, you define a
field grouping code for each combination. This field grouping code determines which dimensions from other SAP
application areas are transferred to dimensions in the FI-SL system. In the “Maintain Field Movement” step you
can maintain the field grouping codes for your activities.
Step 5) Define Ledger
Financial Accounting (New) -> Special Purpose Ledger-> Basic Settings-> Master
Data-> Ledger-> Define Ledger
In this step, you can create and maintain a Special Purpose Ledger. Data is posted to the ledgers from other
SAP application areas or external systems and can also be entered directly in the FI-SL system.
Step 6) Maintain Company code:
Ex:Go to FB03 and enter FI document number as below and press enter.
In the below screen you can get the special purpose document number as below.
https://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/
8308e6d301d54584a33cd04a9861bc52/3c143a9c5e284f1b97282ccbdeb17aae.html
The special purpose ledger document appears as below.
Authorizations in Analytics
for Universal Journal
On this page
Use
Extensibility
Further Aspects
Related Information
Grant authorizations in Analytics for the universal journal, that is, for
example, for general ledger accounting, sales accounting, overhead
accounting, product cost accounting, inventory accounting and asset
accounting.
Use
The universal journal is the basis of an integrated accounting system in
which financial accounting and management accounting data are
recorded in a single chart of accounts. Since all financial data is based on
the same line items, no reconciliation between financial accounting and
management accounting is ever required.
A general ledger accountant, for example, might want to view all data of a
certain company code in the financial statement, whereas a cost
accountant, for example, should only be able to see certain cost centers.
To enable this, different authorizations contexts have been introduced.
Depending on the authorization context, the system checks a different set
of authorization objects. If you want to see in detail which authorizations
are checked, start ABAP eclipse or transaction SE80 to view the different
Access Controls, for example for I_GLAccountLineItem.
The authorization context is set via a new authorization
object F_AcDocA_C with a set of predefined values:
Caution
Please note that assigning business catalogs defining different
authorization contexts to a business user can lead to the overriding of
existing authorizations.
For example, a business user has only been assigned business catalogs
that are attached to authorization context OVHDCOST and has been
granted partial authorization for the restriction type Cost Center. This
business user can therefore only see some cost centers. If the same
business user is now assigned an additional business catalog with the
authorization context GENLDGR, PRODNCOST, INVTRY or ASSET, the
existing authorizations for the restriction type Cost Center are overridden.
The business user can now see all cost centers. Please also note that
despite it losing its effect, the restriction type is still visible in
the Maintain Business Roles app under Restrictions.
This overriding effect can also be caused if one restriction type is used in
different assigned business roles of different business catalogs.
Note
Please note that no authorization check will be performed.
CompanyCode F_BKPF_BUK
Authorization Objects for General Ledger Accounting (F_AcDocA_C - GENLDGR)
CompanyCode F_CC_HIER
FinancialAccountType F_BKPF_KOA
BusinessArea F_BKPF_GSB
Segment F_FAGL_SEG
_GLAccountInCompanyCode.Authorization F_BKPF_BES
Group
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationG F_BKPF_BLA
roup
ProfitCenter K_PCAR_REP
ProfitCtrResponsibleUser
CompanyCode F_BKPF_BUK
CompanyCode F_CC_HIER
FinancialAccountType F_BKPF_KOA
BusinessArea F_BKPF_GSB
Authorization Objects for General Ledger Accounting (F_AcDocA_C - GENLDGR)
Segment F_FAGL_SEG
_GLAccountInCompanyCode.Authorization F_BKPF_BES
Group
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationG F_BKPF_BLA
roup
ProfitCenter K_PCAR_REP
ProfitCtrResponsibleUser
CostCtrResponsibleUser (ResponsibleU
ser = current logged on user)
_SalesDocument.SalesDocumentType V_VBAK_AAT
CompanyCode F_BKPF_BUK
Authorization Objects for Overhead Cost Accounting (F_AcDocA_C - OVHDCOST)
CompanyCode F_CC_HIER
_GLAccountInCompanyCode.Authorization F_BKPF_BES
Group
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationG F_BKPF_BLA
roup
Order.OrderType K_ORDER
ProfitCenter K_PCAR_REP
ProfitCtrResponsibleUser
CostCtrResponsibleUser (ResponsibleU
ser = current logged on user)
CompanyCode F_BKPF_BUK
CompanyCode F_CC_HIER
_GLAccountInCompanyCode.Authorization F_BKPF_BES
Authorization Objects for Overhead Cost Accounting (F_AcDocA_C - OVHDCOST)
Group
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationG F_BKPF_BLA
roup
_Order.OrderType K_ORDER
ProfitCenter K_PCAR_REP
ProfitCtrResponsibleUser
CostCtrResponsibleUser (ResponsibleU
ser = current logged on user)
Plant K_PKSA
CompanyCode F_BKPF_BUK
CompanyCode F_CC_HIER
_GLAccountInCompanyCode.AuthorizationGrou F_BKPF_BES
p
Authorization Objects for Inventory Accounting (F_AcDocA_C - INVTRY)
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationGroup F_BKPF_BLA
ProfitCenter K_PCAR_REP
ProfitCtrResponsibleUser
ValuationArea K_ML_VA
CompanyCode F_BKPF_BUK
CompanyCode F_CC_HIER
BusinessArea F_BKPF_GSB
Segment F_FAGL_SEG
_GLAccountInCompanyCode.AuthorizationGrou F_BKPF_BES
p
_Supplier.AuthorizationGroup F_BKPF_BEK
_Customer.AuthorizationGroup F_BKPF_BED
_AccountingDocumentType.AuthorizationGroup F_BKPF_BLA
ProfitCenter K_PCAR_REP
Authorization Objects for Inventory Accounting (F_AcDocA_C - INVTRY)
ProfitCtrResponsibleUser
Extensibility
This authorization context also allows custom authorizations for CDS views
delivered by SAP. To define your own set of authorization objects to be
checked you need to do the following:
Further Aspects
Some objects can be authorized in multiple ways. For example, profit
centers and cost centers.
SAP HANA Extended Application Services (SAP HANA XS) enables you to
create a database view as a design-time file in the repository. Repository
files can be read by applications that you develop. In addition, all
repository files including your view definition can be transported to
other SAP HANA systems, for example, in a delivery unit.
https://help.sap.com/docs/SAP_HANA_PLATFORM/
cc2b23beaa3344aebffa2f6e717df049/
aa300f37f08f4f02bfa7f8ade507f0fa.html?version=2.0.02&locale=en-US
string schema;
string query;
bool public(default=true);
schema="MYSCHEMA";
public=false
query="SELECT T1.\"Column2\"
FROM \"MYSCHEMA\".\"acme.com.test.tables::MY_TABLE1\" AS T1 LEFT
JOIN \"MYSCHEMA\".\"acme.com.test.views::MY_VIEW1\" AS T2 ON
T1.\"Column1\" = T2.\"Column1\"";
depends_on=
"acme.com.test.tables::MY_TABLE1","acme.com.test.views::MY_VIEW1";
Blue-Green deployment is a technique used to release software updates with zero
downtime and minimal risk. In Blue-Green deployment, two identical environments
are set up: one is the “blue” environment, which is currently in use (live system), and
the other is the “green” environment, which is the updated version (deployment
candidate). Once the green environment is ready, traffic is redirected from the blue
environment to the green environment. If any issues occur during deployment, traffic
can be quickly redirected back to the blue environment.
Hybrid apps are built using web technologies like HTML, CSS and JavaScript whereas
Native apps built with specific technology and language for specific platform like Java
for Android, Swift for iOS. In other words, any mobile app that is built using the
mobile platform specific technologies are called Native apps. Hybrid app can be built
for any platform from single code base.
Native apps are very fast and responsive because they are built for that specific
platform (Android/IOS) and are compiled using the platform’s core programming
languages and APIs. As a result, the app generated, is much more efficient than the
hybrid apps. The device stores the app allowing the app’s software to leverage the
device’s processing speed. These apps can also directly access the hardware of the
device such as the GPS, camera, microphone, etc. So they are much faster than
hybrid apps in execution, which ultimately results in better user experience. Push
notifications are another huge advantage in native apps.
In the SAP domain, an SAPUI5 or FIORI app can directly be converted (built) into a
mobile app from the WebIDE. This is an example of Hybrid app development in SAP.
But, to use native technology for our mobile app development, SAP has provided a
new set of tools called as MDK (Mobile Development Kit), which is based on the FIORI
guidelines, and provides a user friendly UX. It also has a drag and drop interface
which can be used for app development. We will look in detail at these paradigms, in
this blog.
Hybrid approach is becoming obsolete for our SAP mobile apps development. Due to
the reasons mentioned above, SAP is moving more towards development of mobile
apps using the MDK tool. It is easier to develop and use.
https://blogs.sap.com/2020/07/07/creating-sap-based-mobile-apps-using-hybrid-and-mdk-
tools/
send database-specific SQL commands to a database system and process the result
The ADBC classes all begin with the prefix CL_SQL_ or CX_SQL_ and are documented. The following
paragraphs briefly introduce the most important classes.
Programming Guideline
Notes
ADBC can always be used when access to a database using the Native SQL interface instead of
the Open SQL interface is necessary.
ADBC does not support automatic client handling. The client ID of a database table must be
specified explicitly. Note that application programs should only use data from the current client.
See also the associated security note and the programming guideline.
Alongside ADBC, it is also possible to embed Native SQL statically between EXEC
SQL and ENDEXEC in ABAP programs. The recommendation, however, is to used ADBC.
o While the static embedding of Native SQL offers exclusively static access to the
Native SQL interface, ADBC makes modern object-oriented and dynamic access
possible.
The existing static embedding of Native SQL statements is still supported but should no longer be
used in new programs.
ALV IDA
Overview
https://blogs.sap.com/2018/07/16/sap-list-viewer-
with-integrated-data-access-alv-with-ida/
ALV with IDA (SAP List Viewer with Integrated Data Access) helps tables that
contain very large quantities of data to be displayed on the UI. The results of
operations such as sorting, grouping, or filtering are also delivered with a very fast
response time. It uses the in-memory database, such as SAP HANA, without having
to switch to a new programming environment. There is no change in the User
interface and standard functions (also ALV services). ALV functions are adjusted to
the use of in-memory databases. The new general programming model (Coding
Pushdown) is also optimally supported when using in-memory databases.
Examples
Example#1: Display Sales Order Details
Following example demonstrates how to display sales order with SALV IDA.
Output:
Check DB Capabilities
CHECK cl_salv_gui_table_ida=>db_capabilities( )-
>is_table_supported( iv_ddic_table_name = ‘VBAK’).
Create IDA
IF cl_salv_gui_table_ida=>db_capabilities( )->is_max_rows_recommended( ).
ENDIF.
Display
o_ida->fullscreen( )->display( ).
Program
&---------------------------------------------------------------------*
*& Report zjp_cds_inv_items_test
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zjp_cds_inv_items_test.
public section.
CLASS-METHODS create
RETURNING
value(r_result) TYPE REF TO lcl_main.
methods run.
protected section.
private section.
endclass.
method create.
create object r_result.
endmethod.
method run.
cl_salv_gui_table_ida=>create_for_cds_view(`Z_Invoice_Items`)->fullscreen(
)->display( ).
endmethod.
endclass.
start-of-selection.
lcl_main=>create( )->run( ).
To ease the complexity of the FAQ bot, the intents and entities are
predefined and hidden, and the bot includes a set of predefined skills.
However, you can design the bot responses as per your business needs.
http://cpplerdev.centurypnp.com:8000/sap/opu/odata/sap/
MM_PUR_PO_MAINT_V2_SRV/C_PurchaseOrderTP
http://cpplerpdev.centurypnp.com:8080/sap/opu/odata/sap/
MM_PUR_PO_MAINT_V2_SRV/C_PurchaseOrderTP
Machine Learning
tive Power-
PAL
https://blogs.sap.com/2023/06/22/auto-generating-hana-ml-cap-artifacts-from-
python/
DESCiption:
The predictive power of a model is the quality indicator of models generated using
the application. This indicator corresponds to the proportion of information contained
in the target variable that the explanatory variables can explain. To improve the
predictive power of a model, new variables may be added to the training dataset.
Explanatory variables may also be combined
Details:
“0.79” can explain 79% of the information contained in the target variable
using the explanatory variables contained in the dataset analyzed.
“1” is a hypothetical perfect model, capable of explaining 100% of the target
variable using the explanatory variables contained in the dataset analyzed. In
practice, such a predictive power would generally indicate that an explanatory
variable 100% correlated with the target variable was not excluded from the
dataset analyzed.
“0” is a purely random model
Predictive Confidence-
Description:
The prediction confidence is the robustness indicator of the models generated using
the application. It indicates the capacity of the model to achieve the same
performance when it is applied to a new data set exhibiting the same characteristics
as the training dataset. To improve the prediction confidence of a model, additional
observation rows may be added to the training
Details:
Equal to or greater than “0.98” is very robust. It has a high capacity for
generalization.
Less than “0.95” must be considered with caution. Applying it to a new
dataset will incur the risk of generating unreliable results.
Train Dataset- Which emp will leave the company or not- its given to SAC
and it create a ML model – this is called predictive model.
The model is built by dividing in
There is a train dataset which is divided into 2 models – 1 is training (multiple models)
and another is validation. (accuracy of all these model) whichever gives best accuracy it will use
predictive power, sensitivity , prediction confidence, TPR, FPR for giving its accuracy.
Then we use apply dataset and give to ML model where only data of emp , now it gives
prediction probability and category (0 & 1) . this gives the chance of empl leaving
These 2 above datasets are input and the output dataset is built on it,
A report is based on these 2 datasets and given to HR and then they can address the issue
Machine learning
For training ML model, data source, called Training Dataset, is needed, and the
data to which the prediction is applied has to be prepared, which is called Apply
Dataset. Both have to be created as CDS View manually.
Then the ML data model, called Intelligent Scenario, is created in which Library
(APL), algorithm (Regression) is defined as well as setting Training Dataset and Apply
Dataset with the tool Intelligent Scenarios.
After that, the model is trained to create output view, called ABAP Apply View. it is
also CDS View.
In the final step, the Fiori application (KPI Tile Generic Drill down app) is created.
For doing that, the CDS view data source for the app is created in which ABAP Apply
View is used as the source.
Steps in detail
1. Create Custom CDS Views as the data source of Intelligent Scenario /
ML Model.
2. Create Intelligent scenario / ML model with Intelligent Scenarios using
the created CDS Views.
3. Train the ML model with Intelligent Scenario Management and output CDS
View is generated.
4. Create Custom CDS View as the source of Custom Fiori app.
5. Create Fiori app using the created Custom CDS View.
Detail steps are described in the configuration guide of the Scope Item 55Z. Here the
brief steps are shown.
ARTIFICIAL Intelligence
Data Security :
SAP Cloud Platform offers an OAuth 2.0 user authentication service that
communicates with an Identity Provider or local trust store to provide a secure
method of passing valid credentials through HTTP calls.
Infrastructure security
Network security
Operating system security
Database security
Secure code ABAP/4
Configuration of a server
Enablement of security logging
System communication
When carried out effectively, it’s easy to maintain system compliance with
the help of continuous monitoring, audits, and the establishment of
emergency concepts.
Despite this, many organizations keep them out of scope for security
teams or rely on the ERP vendor tools alone. As you might expect, this
dramatically increases the risk of attacks and makes ERP systems, such as
SAP, a prime target for adversaries.
Within SAP security, there are several steps you can take to prevent
attacks:
You can easily do these checks using a test catalog. Creating this from
scratch requires effort and is not only relevant for the authorizations in
the SAP Basis area, but also for business processes. Suppose 4-6 eye
principles are undermined by the assignment of necessary permissions
and combinations of permissions. In that case, there is a risk of
exploitation or fraud.
SOD-checks are ideally carried out not only according to SAP roles but
according to users who may violate a so-called SOD conflict by assigning
several roles. In addition to users’ evaluation, you should know which
roles ultimately trigger the conflict in combination. The SAP transaction
SUIM and its API allow checks of combinations of critical authorizations.
Patch Management
SAP is increasingly affected by security breaches. Threats that are
currently dealt with in traditional cybersecurity are also valid for SAP
systems. There are continuous publications of so-called SAP Security
Notes, however, the challenge for organizations is to keep the SAP
systems up-to-date and apply the patches continuously.
And so, many SAP systems remain unpatched for a long time and end up
with serious security gaps. To make matters worse, with the release of
new patches, information is released about where the vulnerabilities are,
and how they can be exploited. Not only is patching essential but also the
detection of exploited vulnerabilities, so-called zero-day exploits.
Transaction Monitoring
Next up, is code security—an essential part of your SAP security. In SAP
systems, it is often left to the developers to ensure the ABAP code’s
security. Coding is put together in transports and transported from the
development systems to the production systems, but often it’s done
without a sufficient examination of the coding.
Worse yet, SAP offers attackers options for code injection as coding can
even be generated and executed at runtime. The manipulation of
important and urgent transports is just one way of transporting malicious
programs into an SAP system completely undetected. Luckily, SAP
provides a code inspector, with modules like the Code Vulnerability
Analyzer, to check the coding.
System Settings
Your system settings are the basis of SAP security and there are
numerous settings options in SAP systems. Settings are done at the
database level by SAP transactions, or so-called SAP Profile Parameters,
which are stored in files. The rollout of an SAP system must comply with a
set of rules for system settings, which can be found in an SAP Basis
operating manual.
Unfortunately, these are often insufficient in the standard SAP system. For
instance, in many companies, only 5% of their folders are properly
protected.
RFC Configuration
The RFC Gateway can be described as the SAP-internal firewall and needs
to be configured precisely (RegInfo, SecInfo), to avoid unauthorized
remote access from systems and applications.
SAP best practice guidelines, or guidelines from SAP user groups such as
the DSAG, contain practice-tested and security-oriented settings and test
catalogs.
The most critical logs are the SAP Security Audit Log (SM20), which
contains a set of security and audit-relevant events. Change Logs (SCU3)
of database tables are available, and the so-called Change Documents of
users and business objects (SCDO). The SAP RFC Gateway Log SMGW
carries logs of the RFC Gateway, logs of the SAP Internet Communication
Manager, and the Web Dispatcher.
The SAP Read Access Log stores read and write access to specific fields of
transactions, reports, or programs. Thereby providing an essential
component to meet the obligations under the EU Data Protection
Regulation (GDPR or DS-GVO) – the logging of personal data access.
The configuration of the SAP Read Access Logs and their evaluation is an
essential element of SAP Security Monitoring, not least in times of GDPR.
With this log’s help, access to SAP can be monitored, extracted, and
centrally collected, and at best, automatically monitored with appropriate
rules. The SAP Read Access Log is maintained via the transaction
SRALMANAGER.
1. Align Your Settings: Make sure you have your settings all set up
to align with your organizational structure. You should also educate
your teams and double-check all security measures in place are
being followed.
2. Create Emergency Procedures: In the event of an emergency,
you should have a plan in place to address it quickly and effectively.
For one, you should be sure your Network Administrators can easily
revoke access and privileges as needed.
3. Conduct Housekeeping and Review: Next, you should always be
monitoring your SAP Systems. Also, make sure the list of
permissions is updated regularly, especially when you have new
hires or staff change roles.
4. Use Security Tools: Lastly, it’s crucial to have the right security
tools in place to keep tabs on what’s happening and catch any
suspicious activity. That way, you can more easily prevent a
cyberattack or data breach from happening.
https://blogs.sap.com/2022/07/08/fundamentals-of-security-in-btp-
implement-authentication-in-a-node.js-app/
The above diagram showcases the call flow. Let’s break it down.
1. User request for the resource from Application. The App Router takes
incoming.
2. Since user is not authenticated, App Router initiates an OAuth2 flow with
the XSUAA.
3. XSUAA forwards the request to Identity Provider to enforce the
business user to authenticate.
4. IdP prompts the user to authenticate himself. For Example, by entering
username and password.
5. User authenticates himself.
6. If the authentication was successful, Identity Provider sends a SAML
token to user (web browser). The web browser sends this new SAML
token to the XSUAA for authentication.
7. XSUAA consider this request as authenticated and generates an OAuth Token
which is technically a JWT token.
8. The App Router enriches each subsequent request with the JWT, before
the request is routed to a dedicated application. The application verify the JWT
token and send the requested resource to user.
If you have any queries, let me know in comment or get in touch with me
at LinkedIn!
Next blog in the series:
Fundamentals of Security in BTP: What is OAuth?
Fundamentals of Security in BTP: Implement Authentication and Authorization
in a Node.js App
https://blogs.sap.com/2023/04/20/security-of-grow-with-sap-landscape/
1. The SAP S/4HANA cloud, public edition is hosted in SAP Converged Data
Center, Azure, and Google Cloud at various global locations. In the SAP
S/4HANA Cloud, Public Edition and SAP BTP, business users access the
application via a standard browser, providing a seamless user experience
across all devices and Fiori applications through the Fiori Launchpad.
2. SAP S/4HANA Cloud uses a load balancer and a web dispatcher. The incoming
request is directed to the load balancer. The load balancer distributes
incoming network traffic across shared web dispatcher cluster. Each customer
accesses their system through a unique, customer-specific URL, with
communication managed by the SAP Web Dispatcher’s Reverse Proxy
component. The web dispatcher is responsible for routing incoming requests
from the load balancer to the customer specific application (ABAP)
3. Standard users authenticate using SAML 2.0 assertions (SSO) through SAP
Cloud Identity, ensuring secure access to the system. It handles
authentication, ensuring that end users can securely access the system.
4. At the backend, the SAP HANA database powers the system, providing
optimized access through Core Data Services (CDS) views. Both the SAP
S/4HANA ABAP and SAP HANA components are managed by SAP, ensuring a
reliable and secure environment for users.
A secure connectivity from SAP S/4HANA cloud, public edition and SAP Business
Technology Platform can be established via several methods that includes support
for standard OData services in SAP S/4HANA cloud that can be consumed by
applications running on SAP BTP, Integration Suite in SAP BTP to integrate SAP
S/4HANA Cloud with other services and applications on SAP BTP by creating
integration flows that define how data is exchanged between the systems.
Additionally customer’s expose SAP S/4HANA Cloud services as APIs and consume
them in your applications on SAP BTP. The secure connectivity can be established
between SAP S/4HANA Cloud and SAP BTP leveraging security and authentication
mechanisms available such as OAuth 2.0, SAML 2.0, and Client certificates. For
example, SAP S/4HANA Cloud uses OAuth 2.0 for authentication and authorization.
This ensures that only authorized users and applications can access data in SAP BTP.
SAP S/4HANA Cloud, public edition subscription contains embedded SAP Analytics
Cloud and is automatically deployed and configured during tenant provisioning.
However, this is limited to only live connection to S/4HANA Cloud tenant.
Encryption Controls:
By default, SAP manages encryption key for data at rest encryption keys for SAP
S/4HANA cloud, public edition. To manage the encryption keys, two Secure Stores in
the File System (SSFS) are used. The Instance SSFS stores various encryption root
keys (data volume, log volume, backup), while the System PKI SSFS stores system-
internal root certificates for secure internal communication. The contents of both
SSFSs are protected by SSFS Master Keys, which are generated during installation.
There is an option for customers to use Customer-Controlled Encryption Key
integration, You can refer to the documentation for details.
Figure 4: Data Protection and Encryption Stack
API Security:
Customers should follow best practice approach to security settings under their
responsibility. SAP BTP provide API Security in API Management. The SAP S/4HANA
cloud provides Business user Change API, Security Audit Log API, Business Role
Change API, OAuth 2.0, SAML2.0, Cross Origin Resource Sharing security. Besides,
customer should ensure establishing strong authentication methods for business
users, such as multi-factor authentication and single sign-on. Additionally, it is crucial
to define and enforce appropriate authorization levels based on users’ roles, securely
configure, and manage trusted certificates for secure communication channels and
implement read access logging to monitor and audit data access for potential
security breaches or unauthorized activities.
While SAP, as a data processor, is committed to protecting data through its Data
Processing Agreement and Technical and Organisational Measures, SAP S/4HANA
cloud application offers built-in security features and specific data protection
functions that customers can easily customize to their needs to meet their data
privacy compliance. These functions include consent management, security audit
logs, read access logs, blocking, and deletion of personal data.
Figure 6: Data Privacy in SAP S/4HANA cloud, public edition
For more details in Data Protection and Privacy features available with SAP S/4HANA
cloud, public edition, please refer to this documentation.
RPA