Skip to content

Commit 3868dea

Browse files
committed
Update from SAP DITA CMS (squashed):
commit 487ad44df6146adda8acb97e8956cb81b140b5a7 Author: REDACTED Date: Wed Sep 3 14:58:33 2025 +0000 Update from SAP DITA CMS 2025-09-03 14:58:33 Project: dita-all/jjq1673438782153 Project map: c2f780f61c744155b0bd42b6f38fb70c.ditamap Output: loio2080d0faf9d84ce6aa14caa4caa32935 Language: en-US Builddable map: 0fcfe38e11674227bb0a8d014337319b.ditamap commit ba2cc6f2a3b1494467c96c664662d1bb0cd2e7aa Author: REDACTED Date: Wed Sep 3 14:32:41 2025 +0000 Update from SAP DITA CMS 2025-09-03 14:32:41 Project: dita-all/jjq1673438782153 Project map: c2f780f61c744155b0bd42b6f38fb70c.ditamap Output: loio2080d0faf9d84ce6aa14caa4caa32935 Language: en-US Builddable map: 0fcfe38e11674227bb0a8d014337319b.ditamap commit 528d2b8909f0e43cd04bf44bc01458ccb68c0f00 Author: REDACTED Date: Tue Sep 2 18:28:26 2025 +0000 Update from SAP DITA CMS 2025-09-02 18:28:26 Project: dita-all/jjq1673438782153 Project map: c2f780f61c744155b0bd42b6f38fb70c.ditamap ################################################## [Remaining squash message was removed before commit...]
1 parent a7fb3aa commit 3868dea

File tree

34 files changed

+982
-88
lines changed

34 files changed

+982
-88
lines changed

docs/10-concepts/regions-and-api-endpoints-for-the-abap-environment-879f373.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1074,6 +1074,53 @@ Google Cloud
10741074
</td>
10751075
<td valign="top">
10761076

1077+
il30
1078+
1079+
</td>
1080+
<td valign="top">
1081+
1082+
Israel \(Tel Aviv\)
1083+
1084+
</td>
1085+
<td valign="top">
1086+
1087+
cf-il30
1088+
1089+
</td>
1090+
<td valign="top">
1091+
1092+
me-west1
1093+
1094+
</td>
1095+
<td valign="top">
1096+
1097+
34.165.172.174, 34.165.28.224, 34.165.26.44, 34.165.46.220, 34.165.133.5, 34.165.21.8
1098+
1099+
</td>
1100+
<td valign="top">
1101+
1102+
api.cf.il30.hana.ondemand.com
1103+
1104+
</td>
1105+
<td valign="top">
1106+
1107+
il30.hana.ondemand.com
1108+
1109+
</td>
1110+
<td valign="top">
1111+
1112+
[https://emea.cockpit.btp.cloud.sap/](https://emea.cockpit.btp.cloud.sap/)
1113+
1114+
</td>
1115+
</tr>
1116+
<tr>
1117+
<td valign="top">
1118+
1119+
Google Cloud
1120+
1121+
</td>
1122+
<td valign="top">
1123+
10771124
in30
10781125

10791126
</td>
@@ -1215,6 +1262,100 @@ Google Cloud
12151262
</td>
12161263
<td valign="top">
12171264

1265+
sa30
1266+
1267+
</td>
1268+
<td valign="top">
1269+
1270+
KSA \(Dammam - KSA Regulated Customers\)
1271+
1272+
</td>
1273+
<td valign="top">
1274+
1275+
cf-sa30
1276+
1277+
</td>
1278+
<td valign="top">
1279+
1280+
me-central2
1281+
1282+
</td>
1283+
<td valign="top">
1284+
1285+
34.166.122.101, 34.166.13.193, 34.166.133.79, 34.166.95.100, 34.166.102.25, 34.166.180.181
1286+
1287+
</td>
1288+
<td valign="top">
1289+
1290+
api.cf.sa30.hana.ondemand.com
1291+
1292+
</td>
1293+
<td valign="top">
1294+
1295+
sa30.hana.ondemand.com
1296+
1297+
</td>
1298+
<td valign="top">
1299+
1300+
[https://emea.cockpit.btp.cloud.sap/](https://emea.cockpit.btp.cloud.sap/)
1301+
1302+
</td>
1303+
</tr>
1304+
<tr>
1305+
<td valign="top">
1306+
1307+
Google Cloud
1308+
1309+
</td>
1310+
<td valign="top">
1311+
1312+
sa31
1313+
1314+
</td>
1315+
<td valign="top">
1316+
1317+
KSA \(Dammam - KSA Non-Regulated Customers\)
1318+
1319+
</td>
1320+
<td valign="top">
1321+
1322+
cf-sa31
1323+
1324+
</td>
1325+
<td valign="top">
1326+
1327+
me-central2
1328+
1329+
</td>
1330+
<td valign="top">
1331+
1332+
34.166.162.172, 34.166.125.210, 34.166.181.228, 34.166.70.80, 34.166.99.127, 34.166.92.192
1333+
1334+
</td>
1335+
<td valign="top">
1336+
1337+
api.cf.sa31.hana.ondemand.com
1338+
1339+
</td>
1340+
<td valign="top">
1341+
1342+
sa31.hana.ondemand.com
1343+
1344+
</td>
1345+
<td valign="top">
1346+
1347+
[https://emea.cockpit.btp.cloud.sap/](https://emea.cockpit.btp.cloud.sap/)
1348+
1349+
</td>
1350+
</tr>
1351+
<tr>
1352+
<td valign="top">
1353+
1354+
Google Cloud
1355+
1356+
</td>
1357+
<td valign="top">
1358+
12181359
us30
12191360

12201361
</td>

docs/10-concepts/using-free-service-plans-524e108.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ Once you've reached the limits of the free plan, you can upgrade the free servic
9595
> ### Note:
9696
> To update the ABAP environment to a paid service plan, you first need to configure entitlements and quotas for the ABAP environment. You need at least the following entitlements assigned to your subaccount:
9797
>
98-
> - service plan: *standard*
98+
> - service plan: *standard* or build-runtime \(service ABAP Environment\)
9999
>
100100
> - quota plans:
101101
>

docs/20-getting-started/tutorial-overview-5de8374.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,8 @@ without group/mission:
259259

260260
- [Integrate released Purchase Requisition API into Online Shop Business Object](https://developers.sap.com/mission.abap-env-intermediate.html)
261261

262+
- [Integrate List Report into SAP Fiori Launchpad](https://developers.sap.com/tutorials/abap-s4hanacloud-procurement-purchasereq-flp.html?locale=en-US)
263+
- [Create a SAP Fiori App and Deploy it to SAP S/4HANA Cloud, ABAP Environment](https://developers.sap.com/tutorials/abap-s4hanacloud-procurement-purchasereq-shop-ui.html)
262264

263265

264266

docs/20-getting-started/updating-an-abap-system-7890ffa.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -62,12 +62,12 @@ Your ABAP environment instance is being updated. This might take a while.
6262

6363
## Change the Service Plan of Your Service Instance
6464

65-
Once you've reached the limits of the free plan, you can upgrade the free service plan to a paid plan.
65+
You can update the service plan from one ABAP environment service plan to another. For example: once you've reached the limits of the free plan, you can upgrade the free service plan to a paid plan \(standard plan or build-runtime plan\). You could also update your standard plan to a build-runtime plan if you have a SAP Build subscription that includes quota for the ABAP environment service.
6666

6767
> ### Note:
6868
> To update the ABAP environment to a paid service plan, you first need to configure entitlements and quotas for the ABAP environment. You need at least the following entitlements assigned to your subaccount:
6969
>
70-
> - service plan: standard
70+
> - service plan: standard or build-runtime \(service ABAP Environment\)
7171
>
7272
> - quota plans:
7373
>
@@ -86,12 +86,12 @@ Once you've reached the limits of the free plan, you can upgrade the free servic
8686

8787
2. Find the instance of the service and click <span class="SAP-icons-V5"></span> \(Actions\) and *Update*.
8888

89-
3. In the *Update Instance* dialog, change the plan to a paid service plan.
89+
3. In the *Update Instance* dialog, change the plan to a new service plan. The following changes are possible:
9090

91-
4. To switch from a `standard` or `free` service plan to a `build-runtime` service plan, make sure you have the entitlement for the service plan `build-runtime` \(service `ABAP Environment`\) and choose *build-runtime* in the *Update Instance* dialog.
91+
- From free to standard
92+
- From free to build-runtime
93+
- From standard to build-runtime
9294

93-
5. Click *Update Instance* to save your changes.
94-
95-
6. You can now use the service without the limitations of the free service plan.
95+
4. Click *Update Instance* to save your changes.
9696

9797

docs/30-development/accessing-abap-managed-data-using-sql-services-for-data-integration-scenarios-4082fe1.md

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,29 +4,27 @@
44

55
As a developer in the ABAP environment, you can expose CDS view entities in an ABAP system for external consumption using SQL services.
66

7-
Using the open database connectivity \(ODBC\) as a standard API for accessing databases, you can use SQL statements in external analytical tools to access the data of these CDS view entities from your ABAP system and formulate ad-hoc SQL queries on your data. You can also use the exposed CDS view entities from SQL services to set up data replication for further processing of the data and combining it with data from other data sources.
7+
Using the open database connectivity \(ODBC\) as a standard API for accessing databases, you can use SQL statements in external applications to access the data of these CDS view entities from your ABAP system and formulate ad-hoc SQL queries on your data.
88

99

1010

1111
<a name="loio4082fe1b66164eeb8aa41192166526af__section_jmw_lw4_vzb"/>
1212

1313
## Why SQL Services?
1414

15-
There are situations where you would like to have external SQL read access to CDS objects owned by the ABAP system. Direct SQL read access to the underlying SAP HANA database of an ABAP system isn't recommended because, for example, ABAP-level security concepts are bypassed and typecasts might not be performed as expected \(see also SAP Note [2511210](https://me.sap.com/notes/2511210)\).
15+
There are situations where you would like to have external SQL access to CDS objects owned by the ABAP system. Direct SQL access to the underlying SAP HANA database of an ABAP system isn't recommended because, for example, ABAP-level security concepts are bypassed and typecasts might not be performed as expected \(see also SAP Note [2511210](https://me.sap.com/notes/2511210)\).
1616

17-
Security concerns and other aspects such as authentication and authorization don't arise if you treat the ABAP system itself as a database by accessing the ABAP system directly using the SQL service exposure. In this case, authentication and authorization are done using an ABAP user. Full ABAP SQL semantics apply and even buffering on application server level can be used as well as ABAP-level access control and read access logging.
17+
Security concerns and other aspects such as authentication and authorization don't arise if you treat the ABAP system itself as a database by accessing the ABAP system directly using the SQL service exposure. In this case, authentication and authorization are done using an ABAP user. Full ABAP SQL semantics apply and even buffering on application server level can be used as well as ABAP-level access control and access logging.
1818

1919
Compared to the OData interface, the SQL service exposure has the advantage that it allows for unrestricted SQL access to all exposed ABAP CDS view entities. Data from different entities can be joined in an ad-hoc fashion and data can be aggregated for analytical queries.
2020

2121

2222

2323
<a name="loio4082fe1b66164eeb8aa41192166526af__section_klk_3jn_c1c"/>
2424

25-
## Data Integration Patterns and Scenarios
25+
## Data Integration Scenarios
2626

27-
Data access patterns for ABAP-managed data can be categorized into data federation and data replication, as well as privileged access and business user access. Data federation allows for live access to the source system without replicating the data, while data replication involves replicating the data to a second system for local execution. Privileged access enables communication between an SQL-based client and the ABAP system using a communication user. \(The communication user is a non-restricted technical power user or represents a technical system.\) Business user access applies access controls to limit data access based on authorizations of the business user.
28-
29-
Examples of data consumption scenarios include data consumption using external ODBC clients like Microsoft Excel and LibreOffice, which can work with both privileged and business user access. Another example is data consumption using SAP Datasphere, where data is replicated from an ABAP system to SAP Datasphere for analytical scenarios.
27+
Examples of data integration scenarios include data consumption using external ODBC clients like Microsoft Excel and LibreOffice. Another example is data consumption using SAP HANA Cloud, where ABAP-managed data is accessed from SAP HANA Cloud for analytical scenarios.
3028

3129

3230

@@ -36,7 +34,5 @@ Examples of data consumption scenarios include data consumption using external O
3634

3735
For more information and a detailed end-to-end setup description, see the ABAP integration and connectivity guide on SAP Help Portal:
3836

39-
[Data Integration](https://help.sap.com/docs/abap-cloud/abap-integration-connectivity/data-integration) \(concept and architecture overview\)
40-
41-
[Data Integration](https://help.sap.com/docs/abap-cloud/abap-integration-connectivity/data-integration-84537caeb611420b9f3435efce209ef7) \(developer guide\)
37+
[Data Integration](https://help.sap.com/docs/ABAP_Cloud/eede1416d18c436e8810eaaeb20c38ae/50510582442e4e5d967cb88f3b7a2791.html)
4238

docs/30-development/development-in-classic-abap-e79a5b7.md

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ As shown in the above snippets, a callback class can be provided that allows pro
105105
106106
## Raising an intermediate message event for a SAP Build Process Automation process instance
107107
108-
If the process expects a intermediate message event, this can be raised via the following code.
108+
If the process expects a intermediate message event \(IME\), this can be raised via the following code.
109109
110110
> ### Sample Code:
111111
> Raise an intermediate message event \(deprecated\)
@@ -133,6 +133,33 @@ If the process expects a intermediate message event, this can be raised via the
133133
> COMMIT WORK.
134134
> ```
135135
136+
This approach works only for **old** workflow management process definitions being deployed from SAP Business Application Studio.
137+
138+
For SAP Build Process Automation processes, you nee to trigger a intermediate message event by executing the corresponding API trigger, which can be done through the API as follows \(from SAP\_CLOUD 2511 / OP 2027 onwards\).
139+
140+
> ### Sample Code:
141+
> Raise an intermediate message event
142+
143+
```abap
144+
145+
CONSTANTS: lc_cp_workflow_def_id TYPE if_swf_cpwf_api=>cpwf_def_id VALUE '<Your Workflow Definition ID>',
146+
lc_api_trigger_uid TYPE if_swf_cpwf_api=>cpwf_trigger_uid VALUE '<Your API Trigger UID>'.
147+
148+
" Get a Instance for the CPWF Integration API
149+
DATA(lo_cpwf_api) = cl_swf_cpwf_api_factory...=>get_api_instance( ... ).
150+
151+
" actually raise the event
152+
lo_cpwf_api->api_trigger(
153+
EXPORTING
154+
iv_cpwf_handle = lv_cpwf_handle " the BTP process instance handle
155+
iv_event_def_id = lc_api_trigger_uid
156+
).
157+
158+
COMMIT WORK.
159+
```
160+
161+
Open your process in the SAP Build Process Automation Control Tower and check the list of triggers. View the trigger details to find the API trigger UID.
162+
136163

137164

138165
<a name="loioe79a5b768e7a4d94b7aad204653475c6__section_wyg_3kg_42c"/>
@@ -146,9 +173,9 @@ For example, you can query the current lifecycle status of processes.
146173
> ### Sample Code:
147174
> Read Workflow Instances
148175
>
149-
> ```abap
176+
> ```
150177
> " Get a Instance for the CPWF Integration API
151-
> DATA(lo_cpwf_api) = cl_swf_cpwf_api_factory_a4c...=>get_api_instance( ... ).
178+
> DATA(lo_cpwf_api) = cl_swf_cpwf_api_factory...=>get_api_instance( ... ).
152179
> DATA(lo_wf_inst) = lo_cpwf_api->if_swf_cpwf_capi~get_workflow_instances_api( ).
153180
>
154181
> DATA(lt_workflow_instance) = lo_wf_inst->query_instances(
@@ -157,7 +184,7 @@ For example, you can query the current lifecycle status of processes.
157184
> ).
158185
> ```
159186
160-
or retrieve the current context:
187+
Or retrieve the current context:
161188
162189
> ### Sample Code:
163190
> Read Workflow Instance Context
@@ -170,7 +197,8 @@ or retrieve the current context:
170197
> END OF ty_context.
171198
>
172199
> " Get a Instance for the CPWF Integration API
173-
> DATA(lo_cpwf_api) = cl_swf_cpwf_api_factory_a4c...=>get_api_instance( ... ). DATA(lo_cp_json) = lo_cpwf_api->get_json_converter( ).
200+
> DATA(lo_cpwf_api) = cl_swf_cpwf_api_factory...=>get_api_instance( ... ).
201+
> DATA(lo_cp_json) = lo_cpwf_api->get_json_converter( ).
174202
> DATA(lo_wf_inst_ctxt) = lo_cpwf_api->if_swf_cpwf_capi~get_wf_instance_context_api( ).
175203
>
176204
> DATA ls_context TYPE ty_context.
@@ -185,7 +213,7 @@ As shown in the code there is also a JSON converter available to simplify the pr
185213
186214
## Restricting the retrieved process context
187215
188-
To allow retrieving only relevant parts of the process context the APIs `IF_SWF_CPWF_API` →get\_workflow\_context and `IF_SWF_CPWF_CAPI_WF_INST_CTXT`-\>get\_instance\_context allow to provide an additional parameter `IV_CONTEXT_PATH`, that accepts any JSON path expression \(see SBPA API description\). This expression is forwarded to the Workflow API of SAP Build Process Automation. The JSON path expression is evaluated by the SBPA Workflow Service API, which returns then only the corresponding substructure of the context.
216+
To allow retrieving only relevant parts of the process context the APIs `IF_SWF_CPWF_API` →get\_workflow\_context and `IF_SWF_CPWF_CAPI_WF_INST_CTXT`-\>get\_instance\_context allow to provide an additional parameter `IV_CONTEXT_PATH`, that accepts any JSON path expression \(see SBPA API description\). This expression is forwarded to the Workflow API of SAP Build Process Automation. The JSON path expression is evaluated by the SAP Build Process Automation Workflow Service API, which returns then only the corresponding substructure of the context.
189217
190218
The following examples show how the `IV_CONTEXT_PATH` parameter can be used.
191219
@@ -282,3 +310,23 @@ The following examples show how the `IV_CONTEXT_PATH` parameter can be used.
282310
> "here"
283311
> ```
284312
313+
314+
315+
<a name="loioe79a5b768e7a4d94b7aad204653475c6__section_vvf_dlb_kgc"/>
316+
317+
## **API Enhancements \(2508 Cloud / 2025 OP\)**
318+
319+
320+
321+
<a name="loioe79a5b768e7a4d94b7aad204653475c6__section_y4q_tmy_kgc"/>
322+
323+
## API Enhancements \(2511 Cloud / 2027 OP\)
324+
325+
- Two new methods are available for executing specific triggers:
326+
327+
- `API_TRIGGER`
328+
- `API_TRIGGER_BY_ID`
329+
330+
These methods replace the previous `API_RAISE_EVENT`used for triggering intermediate message events.
331+
332+

0 commit comments

Comments
 (0)