Skip to content

Commit 0b6c60c

Browse files
Merge branch 'sap-tutorials:main' into main
2 parents 9da2e8c + d648387 commit 0b6c60c

File tree

147 files changed

+1107
-195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+1107
-195
lines changed

.reuse/dep5

Lines changed: 0 additions & 30 deletions
This file was deleted.

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Default templates for SAP open source repositories, including LICENSE, .reuse/de
66

77
## To-Do
88

9-
In case you are the maintainer of a new SAP-toturials open source project, these are the steps to do with the template files:
9+
If you are the maintainer of a new SAP-toturials open source project, these are the steps to do with the template files:
1010

1111
- Check if the default license (Apache 2.0) also applies to your project. A license change should only be required in exceptional cases. If this is the case, please change the [license file](LICENSE).
1212
- Enter the correct metadata for the REUSE tool. See our [wiki page](https://wiki.wdf.sap.corp/wiki/display/ospodocs/Using+the+Reuse+Tool+of+FSFE+for+Copyright+and+License+Information) for details how to do it. You can find an initial .reuse/dep5 file to build on. Please replace the parts inside the single angle quotation marks < > by the specific information for your repository and be sure to run the REUSE tool to validate that the metadata is correct.

REUSE.toml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version = 1
2+
SPDX-PackageName = "abap-core-development"
3+
SPDX-PackageSupplier = "julie.plummer@sap.com"
4+
SPDX-PackageDownloadLocation = "<https://github.com/sap-tutorials/abap-core-development"
5+
SPDX-PackageComment = "The code in this project may include calls to APIs (\"API Calls\") of\n SAP or third-party products or services developed outside of this project\n (\"External Products\").\n \"APIs\" means application programming interfaces, as well as their respective\n specifications and implementing code that allows software to communicate with\n other software.\n API Calls to External Products are not licensed under the open source license\n that governs this project. The use of such API Calls and related External\n Products are subject to applicable additional agreements with the relevant\n provider of the External Products. In no event shall the open source license\n that governs this project grant any rights in or to any External Products,or\n alter, expand or supersede any terms of the applicable additional agreements.\n If you have a valid license agreement with SAP for the use of a particular SAP\n External Product, then you may make use of any API Calls included in this\n project's code for that SAP External Product, subject to the terms of such\n license agreement. If you do not have a valid license agreement for the use of\n a particular SAP External Product, then you may only make use of any API Calls\n in this project for that SAP External Product for your internal, non-productive\n and non-commercial test and evaluation of such API Calls. Nothing herein grants\n you any rights to use or access any SAP External Product, or provide any third\n parties the right to use of access any SAP External Product, through API Calls."
6+
7+
[[annotations]]
8+
path = "**"
9+
precedence = "aggregate"
10+
SPDX-FileCopyrightText = "2022 SAP SE or an SAP affiliate company and abap-core-development contributors"
11+
SPDX-License-Identifier = "CC-BY-4.0"

tutorials/abap-env-rfc/abap-env-rfc.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ For readability and reuse, you will create these in an interface.
260260

261261
2. Enter the following and choose **Next**.
262262

263-
- Name: **`IF_TYPES_FOR_SYSTEM_INFO`**
263+
- Name: **`ZIF_TYPES_FOR_SYSTEM_INFO`**
264264
- Description: **`Types for RFC_GET_SYSTEM_INFO`**
265265

266266
3. Choose the transport request, then choose **Finish**.
@@ -348,7 +348,7 @@ In the class implementation, in the method **`if_oo_adt_classrun~main`**, add th
348348
349349
DATA(lv_destination) = lo_destination->get_destination_name( ).
350350
351-
DATA lv_result type IF_TYPES_FOR_SYSTEM_INFO=>rfcsi.
351+
DATA lv_result type ZIF_TYPES_FOR_SYSTEM_INFO=>rfcsi.
352352
DATA msg TYPE c LENGTH 255.
353353
354354
```
@@ -451,13 +451,13 @@ CLASS ZCL_SYSTEM_INFO_RFC_### IMPLEMENTATION.
451451
452452
comm_scenario = 'Z_OUTBOUND_RFC_###_CSCEN' " Communication scenario
453453
service_id = 'Z_OUTBOUND_RFC_###_SRFC' " Outbound service
454-
comm_system_id = 'Z_OUTBOUND_RFC_CSYS' " Communication system
454+
comm_system_id = 'Z_OUTBOUND_RFC_CSYS_###' " Communication system
455455
456456
).
457457
458458
DATA(lv_destination) = lo_destination->get_destination_name( ).
459459
460-
DATA lv_result TYPE if_types_for_system_info=>RFCSI.
460+
DATA lv_result TYPE ZIF_TYPES_FOR_SYSTEM_INFO=>RFCSI.
461461
DATA msg TYPE c LENGTH 255.
462462
463463
CALL FUNCTION 'RFC_GET_SYSTEM_INFO'

tutorials/abap-environment-additional-functionality/abap-environment-additional-functionality.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ You can test this in the browser:
104104

105105
- `/ui#BusinessConfiguration-maintain` navigates to the List Report of the **Custom Business Configurations** app
106106
- `/ui#BusinessConfiguration-maintain?TechnicalIdentifier=ZERRORCODE###` directly navigates to the maintenance view of the Business Configuration Maintenance Object `ZERRORCODE###`
107+
- `/ui#BusinessConfiguration-maintain?TechnicalIdentifier=ZERRORCODE###&ErrorCode=401` directly navigates to the object page of entity `401` of BC Object `ZERRORCODE###`
107108

108109

109110
### Test yourself
99 KB
Loading
-131 KB
Binary file not shown.
87.7 KB
Loading
-5.15 KB
Loading

tutorials/abap-environment-analytics/abap-environment-analytics.md

Lines changed: 15 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ Always replace `####` with your initials or group number.
3333
The new **RAP based InA service exposure** enables the SAP Business Technology Platform ABAP Environment developers to develop analytical queries(based on ABAP-CDS analytical data models) and expose them via the `InA` (Information Access) service protocol. In this Tutorial you will create a complete Analytical Data Model for Booking data. This consists out of dimensions for Carrier, Customer, Connection and Agency data, as well as an interface CDS view for Booking data which acts as a data source for the cube and query.
3434
These analytical queries can be further consumed in the SAP Analytics cloud to create analytical models, stories, multi-dimensional reports and more.
3535

36-
![overview](1.png)
36+
![overview](0010.png)
3737

3838

3939
### Import templates for Analytical CDS views
@@ -491,7 +491,7 @@ This annotation is part of the template **Define a View Entity for a Cube** that
491491
492492
- **Name**: `ZRAP500_I_BookingCube_####`
493493
- **Description**: `Booking Cube`
494-
- **Referenced Object**: `ZRAP_I_BOOKING_####` (The booking interface view)
494+
- **Referenced Object**: `ZRAP500_I_BOOKING_####` (The booking interface view)
495495
496496
![new cube](1270.png)
497497
@@ -525,7 +525,7 @@ This annotation is part of the template **Define a View Entity for a Cube** that
525525
526526
6. Comment out both lines of annotation `@Semantics.amount.currencyCode` and the property **Flight Price**.
527527
528-
7. Add the following two fields alongside with a foreign key association
528+
7. Add the following two fields alongside with a foreign key association
529529
530530
```foreignKey
531531
@ObjectModel.foreignKey.association: '_CustomerCountry'
@@ -636,7 +636,7 @@ This annotation is part of the template **Define a View Entity for a Cube** that
636636
### Implement query as CDS view entity
637637
638638
639-
Since a query belongs to the projection layer (formerly known as consumption layer) it must have a **C** in its name according to the naming convention used in the Virtual Data Model (VDM) used in SAP S/4HANA. To create a query, there is a mandatory header annotation: **@Analytics.query: true**
639+
Since a query belongs to the projection layer (formerly known as consumption layer) it must have a **C** in its name according to the naming convention used in the Virtual Data Model (VDM) used in SAP S/4HANA.
640640
641641
Again you can use a template that you have imported at the beginning of this tutorial.
642642
@@ -657,9 +657,9 @@ Again you can use a template that you have imported at the beginning of this tut
657657
658658
![template query](1130.png)
659659
660-
5. Edit the code of your query and add the annotation **@AnalyticsDetails.query.axis** to all properties except the two measures `FlightPrice` and `TotalOfBookings`. All fields beside the field `CustomerCountry` get the annotation **@AnalyticsDetails.query.axis: #ROWS**, whereas the field `CustomerCountry` gets the annotation **@AnalyticsDetails.query.axis: #COLUMN**.
660+
5. Edit the code of your query with removing **KEY** from `TravelID` and `BookingID`, add the annotation **@AnalyticsDetails.query.axis** to all properties except the two measures `FlightPrice` and `TotalOfBookings`. All fields beside the field `CustomerCountry` get the annotation **@AnalyticsDetails.query.axis: #ROWS**, whereas the field `CustomerCountry` gets the annotation **@AnalyticsDetails.query.axis: #COLUMN**.
661661
662-
6. You add a currency conversion to the field `FlightPrice` to be able to comparison all flight prices in a single currency.
662+
6. You add a currency conversion to the field `FlightPrice` to be able to comparison all flight prices in a single currency.
663663
664664
```
665665
@Semantics.amount.currencyCode: 'CurrencyCode'
@@ -676,25 +676,22 @@ Again you can use a template that you have imported at the beginning of this tut
676676
677677
![ADTquery](1131.png)
678678
679-
> Using the template the mandatory annotations for query is set automatically.
680-
> **@Analytics.query: true**
681679
> With the annotation **@AnalyticsDetails.query.axis:<VALUE>**, the elements of the view can be positioned on multiple axes: Rows, Columns and Free. The elements can be directly annotated with their axis. All measures (elements which can be aggregated) need to be on the same axis. The annotation of the first measure will therefore be used for all measures of the query. If **@AnalyticsDetails.query.axis:<VALUE>** is not found, the system positions the measures on the columns.
682680
683681
8. Your final code should look like the following:
684682
685683
```ZRAP500_C_BOOKINGQUERY_####
686-
@AccessControl.authorizationCheck: #CHECK
687-
@EndUserText.label: 'Query for Booking'
688-
689-
690-
@Analytics.query: true
684+
@EndUserText.label: 'Flights Query'
685+
@AccessControl.authorizationCheck: #NOT_ALLOWED
691686
692-
693-
define view entity ZRAP500_C_BOOKINGQUERY_#### as select from ZRAP500_I_BookingCube_#### {
687+
define transient view entity DEF23_Flights_Query
688+
provider contract analytical_query
689+
as projection on DEF23_Flights_Cube
690+
{
694691
@AnalyticsDetails.query.axis: #ROWS
695-
key TravelID,
692+
TravelID,
696693
@AnalyticsDetails.query.axis: #ROWS
697-
key BookingID,
694+
BookingID,
698695
@AnalyticsDetails.query.axis: #ROWS
699696
BookingDate,
700697
@AnalyticsDetails.query.axis: #ROWS
@@ -733,8 +730,7 @@ Again you can use a template that you have imported at the beginning of this tut
733730
734731
### Data preview
735732
736-
737-
Similar to the SAP Fiori Elements preview which is offered for OData V2 UI and OData V4 UI service bindings there is now an Analytical Data Preview available. This can be used by the ABAP developer to test the implementation of an Analytical Query since the preview uses the InA protocol.
733+
Similar to the SAP Fiori Elements preview which is offered for OData V2 UI and OData V4 UI service bindings there is now an Analytical Data Preview available. This can be used by the ABAP developer to test the implementation of an Analytical Query since the preview uses the InA protocol.
738734
739735
Now that you have created the query it is possible to use a data preview to test our implementation.
740736

0 commit comments

Comments
 (0)