Skonfiguruj uwierzytelnianie pakietu SDK ABAP za pomocą tokenów dla SAP hostowanych w maszynie wirtualnej Compute Engine i wykonaj interfejs API weryfikacji adresu

1. Wprowadzenie

W ramach tego ćwiczenia w Codelabs dowiesz się, jak skonfigurować uwierzytelnianie dostępu do interfejsów Google Cloud APIs za pomocą tokenów, gdy Twój system SAP jest hostowany w instancji maszyny wirtualnej Compute Engine.

Lista wykorzystywanych usług:

  • Compute Engine
  • Usługi sieciowe
  • Cloud Shell

Co utworzysz

Wykonaj te czynności:

  • Skonfiguruj pakiet SDK ABAP zainstalowany w systemie SAP, aby połączyć się z interfejsami API Google.
  • Utwórz przykładowy program do generowania raportów do wywoływania interfejsu Address Validation API.

2. Wymagania

  • Przeglądarka, na przykład Chrome lub Firefox.
  • Projekt Google Cloud z włączonymi płatnościami lub utwórz bezpłatne konto próbne na 90 dni dla Google Cloud Platform.
  • zainstalowanego w systemie SAP GUI (Windows lub Java). Jeśli SAP GUI jest już zainstalowany w Twoim systemie, połącz się z SAP, używając zewnętrznego adresu IP maszyny wirtualnej jako adresu IP serwera aplikacji. Jeśli korzystasz z komputera Mac, możesz również zainstalować interfejs SAP GUI dla języka Java dostępny tutaj.

3. Zanim zaczniesz

6757b2fb50ddcc2d.png

  • Upewnij się, że wszystkie niezbędne interfejsy API (IAM Service Account Credentials API i Address Validation API) są włączone.
  • Uruchom te polecenia, aby uwierzytelnić się na swoim koncie i ustawić projekt domyślny na abap-sdk-poc. Przykładem jest strefa us-west4-b. W razie potrzeby zmień projekt i strefę w poniższych poleceniach.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b

4. Utwórz konto usługi i ustaw rolę twórcy tokenów konta usługi

Aby utworzyć konto usługi z wymaganą rolą, wykonaj te czynności:

  1. Uruchom to polecenie, aby utworzyć konto usługi (pomiń ten krok, jeśli konto usługi już istnieje)
gcloud iam service-accounts create abap-sdk-dev \
    --description="ABAP SDK Dev Account" \
    --display-name="ABAP SDK Dev Account"
  1. Uruchom to polecenie, aby ustawić rolę twórcy tokenów konta usługi:
gcloud projects add-iam-policy-binding $PROJECT_NAME \
    --member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
    --role=roles/iam.serviceAccountTokenCreator

5. Skonfiguruj klucz klienta

Zaloguj się w systemie SAP za pomocą nazwy użytkownika DEVELOPER i hasła Htods70334, a następnie wykonaj te czynności, aby skonfigurować klucz klienta:

  1. W GUI SAP wpisz kod transakcji SPRO.
  2. Kliknij Plik referencyjny usługi SAP.
  3. Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
  4. Kliknij Nowe wpisy.
  5. Wpisz wartości w tych polach:

Pole

Opis

Nazwa klucza Google Cloud

ABAP_SDK_DEMO

Nazwa konta usługi Google Cloud

abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com

Zakres Google Cloud

https://www.googleapis.com/auth/cloud-platform

Identyfikator projektu Google Cloud

abap-sdk-poc

Klasa autoryzacji

/GOOG/CL_AUTH_GOOGLE

Pozostaw inne pola puste

c72e71da6fd75b29.png

6. Tworzenie miejsca docelowego RFC

Utwórz miejsce docelowe RFC dla danych logowania uprawnień i interfejsu Address Validation API.

Nazwa miejsca docelowego RFC

Host docelowy (punkt końcowy API)

Uwagi

ZGOOG_IAMCREDENTIALS

Host: iamcredentials.googleapis.comŚcieżka: Prefiks: /v1/Port: 443SSL: Active

To miejsce docelowe RFC jest kierowane na interfejs IAM API.

ZGOOG_ADDRESSVALIDATION_V1

Host: addressvalidation.googleapis.comPort: 443SSL: aktywny.

Ten interfejs API do walidacji adresów docelowych w dokumencie RFC

  • Na karcie Technical Settings (Ustawienia techniczne) wpisz poniższe szczegóły dotyczące miejsca docelowego ZGOOG_IAMCREDENTIALS.

e670c6a91acba40f.png

  • Na karcie Technical Settings (Ustawienia techniczne) wpisz następujące informacje dotyczące miejsca docelowego ZGOOG_ADDRESSVALIDATION_V1.

fcf92530ece612ea.png

  • Upewnij się, że w polu SSL Certificate (Certyfikat SSL) jest wybrana opcja DEFAULT SSL Client (Standard) (Domyślny klient SSL (standardowy)) w przypadku obu miejsc docelowych RFC.

b6370d12bd332318.png

7. Skonfiguruj mapowanie usług

Aby skonfigurować tabelę mapowania usług na potrzeby interfejsów IAM API i interfejsów Address Validation API, wykonaj te czynności:

  1. W GUI SAP wpisz kod transakcji SPRO.
  2. Kliknij Plik referencyjny usługi SAP.
  3. Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj mapowanie usług.
  4. Kliknij Nowe wpisy obok interfejsu API weryfikacji danych logowania i adresu połączonego z miejscami docelowymi RFC.

e227316b0f249823.png

8. Zweryfikuj konfigurację

Aby sprawdzić konfigurację uwierzytelniania, wykonaj te czynności:

  1. W GUI SAP wpisz kod transakcji SPRO.
  2. Kliknij Plik referencyjny usługi SAP.
  3. Kliknij ABAP SDK for Google Cloud > Narzędzia > Validate Authentication Configuration (Zweryfikuj konfigurację uwierzytelniania).
  4. Jako nazwę klucza klienta wpisz ABAP_SDK_DEMO.
  5. Kliknij Wykonaj, aby sprawdzić, czy ogólny przepływ został skonfigurowany.
  6. Zielony znacznik wyboru w kolumnie „Wynik” oznacza, że wszystkie kroki konfiguracji zostały wykonane.

d7285e64e22c25b6.png

9. Utwórz program do wywoływania usługi weryfikacji adresów

  1. Zaloguj się w systemie SAP.
  2. Otwórz kod transakcji SE38 i utwórz program do raportowania o nazwie ZDEMO_ADDRESS_VALIDATION.
  3. W wyskakującym okienku podaj szczegóły zgodnie z poniższymi instrukcjami i kliknij Zapisz.

d8aac0f9e0bc5f9d.png

  1. W następnym wyskakującym okienku wybierz Obiekt lokalny lub wpisz odpowiednią nazwę pakietu.
  2. W edytorze ABAP dodaj ten kod:
" data declarations
DATA lv_ret_code          TYPE i.
DATA lv_err_text          TYPE string.
DATA ls_input             TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output            TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp          TYPE /goog/err_resp.
DATA lo_exception         TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.

" instantiate api client stub
TRY.
    lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).

    " Pass the address to be validated and corrected.
    " Mountain misspelled as  Moutain
    " Amphitheatre misspelled as Amphithetre
    ls_input-address-region_code = 'US'.
    ls_input-address-locality    = 'Moutain View'.
    APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.

    " call the api method to validate address
    lo_address_validator->validate_address( EXPORTING is_input    = ls_input
                                            IMPORTING es_output   = ls_output
                                                      ev_ret_code = lv_ret_code
                                                      ev_err_text = lv_err_text
                                                      es_err_resp = ls_err_resp ).
    IF     lo_address_validator->is_success( lv_ret_code ) = abap_true
       AND ls_output-result-verdict-address_complete       = abap_true.
      cl_demo_output=>new(
        )->begin_section( `Original Address`
        )->write_data( ls_input-address-region_code
        )->write_data( ls_input-address-locality
        )->write_data( ls_input-address-address_lines
        )->next_section( `Validated & Corrected Address`
        )->begin_section( `Elementary Object`
        )->write_data( ls_output-result-address-formatted_address
        )->display( ).
    ENDIF.

  CATCH /goog/cx_sdk INTO lo_exception.
    " write code here to handle exceptions
    cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
  1. Zapisz i aktywuj raport.
  2. Uruchom raport (F8).

Po pomyślnym wykonaniu raportu powinny pojawić się następujące dane wyjściowe raportu:

8b0aed97320f4ef.png

10. Gratulacje

Gratulacje! Udało Ci się skonfigurować pakiet SDK ABAP tak, aby wywoływał usługę weryfikacji adresów.

Możesz teraz ukończyć inne ćwiczenia z programowania z pakietu SDK ABAP, aby dowiedzieć się, jak używać pakietu SDK ABAP w Google Cloud do uzyskiwania dostępu do różnych usług Google Cloud.

11. Czyszczenie danych

Jeśli nie chcesz wykonywać dodatkowych ćwiczeń z programowania związanych z pakietem SDK ABAP dla Google Cloud, możesz kontynuować czyszczenie.

Usuwanie projektu

  • Usuń projekt Google Cloud:
gcloud projects delete abap-sdk-poc

Usuwanie poszczególnych zasobów

  1. Usuń wpisy konfiguracji klucza klienta, przechodząc do IMG > Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
  2. Usuń wpisy konfiguracji mapowania usług, przechodząc do IMG > Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
  3. Usuń miejsca docelowe RFC ZGOOG_IAMCREDENTIALS i ZGOOG_ADDRESSVALIDATION_V1.
  4. Usuń konto usługi:
gcloud iam service-accounts delete \
    abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com