Diese Seite (Version-94) wurde zuletzt am 30-Aug.-2026 19:15 von Administrator geändert.

Diese Seite wurde am 30-Aug.-2026 19:15 von Administrator erstellt.

Du bist nicht autorisiert, diese Seite umzubenennen.

Du bist nicht autorisiert, diese Seite zu löschen.

Versionsgeschichte der Seite

Version Zuletzt geändert Größe Autor Änderungen Kommentar
94 30-Aug.-2026 19:15 13 KB Administrator zur vorherigen
93 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
92 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
91 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
90 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
89 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
88 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
87 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
86 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
85 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
84 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
83 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
82 30-Aug.-2026 19:15 12 KB Administrator zur vorherigen | zur neuesten
81 30-Aug.-2026 19:15 11 KB Administrator zur vorherigen | zur neuesten

Links

Eingehende Links Ausgehende Links

Versionsunterschiede

Unterschiede zwischen Version und .

Zeile 48: 3 Zeilen gelöscht.
At "User E-Mail for SAML 2.0 Name ID" you can have the options specified at CL_OA2C_SAML20_ASSERTION->BUILD_NAME_ID().\\
By default the local SAP username is passed to SF, but SF expects a userId, so this will not work.\\
The only option which made sense to me is to use 998 and specify the userId as Alias at the SAP user.
Zeile 57: Eine Zeile geändert.
User E-Mail for SAML 2.0 Name ID = see above (998)
User E-Mail for SAML 2.0 Name ID = 998 (see below)
Zeile 58: 11 Zeilen hinzugefügt.
! SAML Subject Name Identifier (user) / Modification
This refers to OA2C_CONFIG at "User E-Mail for SAML 2.0 Name ID".\\
You can have the options specified at CL_OA2C_SAML20_ASSERTION->BUILD_NAME_ID().\\
By default the local SAP username is passed to SF, but SF expects a userId, so this will not work.\\
The only option which made sense to me is to use __998__ and specify the userId as Alias at the SAP user.\\
But you can have only the ALIAS only as upper case in SAP, so the SF userId must be uppercase too (or just numbers).\\
I modified the SAP code at CL_OA2C_SAML20_ASSERTION->BUILD_NAME_ID():
{{{
es_saml20_name_id-_value = to_lower( es_saml20_name_id-_value ).
}}}
Zeile 175: 28 Zeilen geändert.
FORM create_sf_application. \\
  DATA: ls_app          TYPE ssfapplic, \\
        ls_appt         TYPE ssfapplict, \\
        lv_old_app_name TYPE string, \\
        lv_new_app_name TYPE string. \\
\\
  lv_old_app_name = 'ZOACQ'.   " erase former custom ones, set blank if none \\
  lv_new_app_name = ''. \\
\\
  IF lv_old_app_name <> ''. \\
    DELETE FROM ssfapplic WHERE applic = lv_old_app_name. \\
    DELETE FROM ssfapplict WHERE applic = lv_old_app_name. \\
    WRITE: / |deleted { lv_old_app_name }, rc={ sy-subrc }|. \\
  ENDIF. \\
\\
  IF lv_new_app_name <> ''. \\
    SELECT SINGLE * FROM ssfapplic INTO ls_app WHERE applic = 'OA2CS'. \\
    ls_app-applic = lv_new_app_name. \\
    MODIFY ssfapplic FROM  ls_app. \\
    WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|. \\
\\
    SELECT SINGLE * FROM ssfapplict INTO ls_appt WHERE sprsl = 'E' AND applic = 'OA2CS'. \\
    ls_appt-applic = lv_new_app_name. \\
    ls_appt-descript = |OAuth2 Client Identity Provider - { lv_new_app_name }|. \\
    MODIFY ssfapplict FROM  ls_appt. \\
    WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|. \\
  ENDIF. \\
\\
FORM create_sf_application.
  DATA: ls_app          TYPE ssfapplic,
        ls_appt         TYPE ssfapplict,
        lv_old_app_name TYPE string,
        lv_new_app_name TYPE string.
  lv_old_app_name = 'ZOACQ'.   " erase former custom ones, set blank if none
  lv_new_app_name = ''.
  IF lv_old_app_name <> ''.
    DELETE FROM ssfapplic WHERE applic = lv_old_app_name.
    DELETE FROM ssfapplict WHERE applic = lv_old_app_name.
    WRITE: / |deleted { lv_old_app_name }, rc={ sy-subrc }|.
  ENDIF.
  IF lv_new_app_name <> ''.
    SELECT SINGLE * FROM ssfapplic INTO ls_app WHERE applic = 'OA2CS'.
    ls_app-applic = lv_new_app_name.
    MODIFY ssfapplic FROM  ls_app.
    WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|.
    SELECT SINGLE * FROM ssfapplict INTO ls_appt WHERE sprsl = 'E' AND applic = 'OA2CS'.
    ls_appt-applic = lv_new_app_name.
    ls_appt-descript = |OAuth2 Client Identity Provider - { lv_new_app_name }|.
    MODIFY ssfapplict FROM  ls_appt.
    WRITE: / |modified { lv_new_app_name }, rc={ sy-subrc }|.
  ENDIF.
Zeile 227: 2 Zeilen hinzugefügt.
* with transaction OA2C_GRANT you can create/delete tokens (for your own user only)
* tokens are stored at table OA2C_TOKEN_ADM (and OA2C_TOKEN_SCOPE, not used here). You can delete records here to force re-authentication
Zeile 224: Eine Zeile geändert.
To re-authenticate you can potentially use CL_OA2C_CLIENT->DELETE_TOKENS() or use r.OA2C_GENERIC_ACCESS.
To re-authenticate delete records at OA2C_TOKEN_ADM (or use CL_OA2C_CLIENT->DELETE_TOKENS()?)
Zeile 271: 2 Zeilen hinzugefügt.
OR
* you have a mismatch in the codes/attributes in the custom classes of the two BAdIs
Zeile 294: 5 Zeilen hinzugefügt.
! HTTPIO_ERROR_OA2C_NO_SECRET
=> OA2C_CONFIG > Edit and re-enter the client secret > Save
! Direct connect to <server> failed: NIECONN_REFUSED(-10)
=> network / proxy issue, see [note 3518358|https://me.sap.com/notes/3518358/E]