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
- W konsoli Google Cloud na stronie selektora projektów wybierz lub utwórz projekt Google Cloud (np.
abap-sdk-poc).
). - Sprawdź, czy w projekcie Cloud włączone są płatności. Dowiedz się, jak sprawdzić, czy w projekcie są włączone płatności. Pomiń ten krok, jeśli używasz 90-dniowego bezpłatnego konta próbnego.
- Użyjesz Cloud Shell – środowiska wiersza poleceń działającego w Google Cloud. W konsoli Cloud kliknij Aktywuj Cloud Shell w prawym górnym rogu:
- 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 strefaus-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
- Sprawdź, czy masz dostęp do systemu SAP z zainstalowanym pakietem ABAP SDK for Google Cloud.
- Możesz skorzystać z ćwiczeń w Codelabs „ Zainstaluj wersję próbną platformy ABAP 2022 w Google Cloud Platform i zainstaluj pakiet SDK ABAP aby skonfigurować nowy system.
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:
- 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"
- 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:
- W GUI SAP wpisz kod transakcji SPRO.
- Kliknij Plik referencyjny usługi SAP.
- Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
- Kliknij Nowe wpisy.
- 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
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.
- Na karcie Technical Settings (Ustawienia techniczne) wpisz następujące informacje dotyczące miejsca docelowego ZGOOG_ADDRESSVALIDATION_V1.
- 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.
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:
- W GUI SAP wpisz kod transakcji SPRO.
- Kliknij Plik referencyjny usługi SAP.
- Kliknij ABAP SDK for Google Cloud > Ustawienia podstawowe > Skonfiguruj mapowanie usług.
- Kliknij Nowe wpisy obok interfejsu API weryfikacji danych logowania i adresu połączonego z miejscami docelowymi RFC.
8. Zweryfikuj konfigurację
Aby sprawdzić konfigurację uwierzytelniania, wykonaj te czynności:
- W GUI SAP wpisz kod transakcji SPRO.
- Kliknij Plik referencyjny usługi SAP.
- Kliknij ABAP SDK for Google Cloud > Narzędzia > Validate Authentication Configuration (Zweryfikuj konfigurację uwierzytelniania).
- Jako nazwę klucza klienta wpisz
ABAP_SDK_DEMO
. - Kliknij Wykonaj, aby sprawdzić, czy ogólny przepływ został skonfigurowany.
- Zielony znacznik wyboru w kolumnie „Wynik” oznacza, że wszystkie kroki konfiguracji zostały wykonane.
9. Utwórz program do wywoływania usługi weryfikacji adresów
- Zaloguj się w systemie SAP.
- Otwórz kod transakcji SE38 i utwórz program do raportowania o nazwie ZDEMO_ADDRESS_VALIDATION.
- W wyskakującym okienku podaj szczegóły zgodnie z poniższymi instrukcjami i kliknij Zapisz.
- W następnym wyskakującym okienku wybierz Obiekt lokalny lub wpisz odpowiednią nazwę pakietu.
- 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.
- Zapisz i aktywuj raport.
- Uruchom raport (F8).
Po pomyślnym wykonaniu raportu powinny pojawić się następujące dane wyjściowe raportu:
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
- Usuń wpisy konfiguracji klucza klienta, przechodząc do IMG > Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
- Usuń wpisy konfiguracji mapowania usług, przechodząc do IMG > Google Cloud > Ustawienia podstawowe > Skonfiguruj klucz klienta.
- Usuń miejsca docelowe RFC ZGOOG_IAMCREDENTIALS i ZGOOG_ADDRESSVALIDATION_V1.
- Usuń konto usługi:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com