Do you want to install your own SAP sandbox system and Call Gemini using Vertex AI SDK for ABAP in under 30 mins? Then keep reading this article.
In this article, I have listed the steps to install ABAP Platform Trial 2022 on Google Cloud and then install latest release of ABAP SDK for Google Cloud which also includes the new Vertex AI SDK for ABAP.
In under 30 minutes, you'll have everything you need to start exploring the full power of Gemini, all from within ABAP!!!
We use the scripts that are hosted in this GitHub Repository. The repository README file has detailed documentation of the script’s functionality.
The following Google Cloud services are used in this codelab:
You’ll create the following using the script:
gcloud config set project abap-sdk-poc gcloud config set compute/zone us-west4-b
Run the following command to execute the script create_vm_withdocker.sh.
mkdir sap-docker-2022 cd sap-docker-2022 git clone https://github.com/google-cloud-abap/abap-cloud-trial-2022-gcp.git cd abap-cloud-trial-2022-gcp chmod 755 create_vm_with_docker.sh ./create_vm_with_docker.sh
The script will do the following activities:
Note: The script will auto agree the SAP license terms on behalf of the executor using the flag — agree-to-sap-license. (Refer to license section in the docker hub page for more details the license)
Follow the below steps to add the IAM role to the service account
The VM will get created in a few minutes, but installing the SAP docker container step will take around 15 mins.
To monitor the installation process, perform the following steps:
After the VM is created, use one of the following methods to SSH into the system:
gcloud compute ssh "abap-trial-docker-2022"
The installation script creates an output file /tmp/output.txt. To monitor the installation process, you run the tail command with this file.
tail -f /tmp/output.txt
Wait till you see the below confirmation message in the output file that the SAP docker container is running.
You can also run the following command to check if the container is running:
sudo docker ps
This completes the installation and now we can move on to the next step of connecting to the system.
You can now connect to the SAP system.
gcloud compute instances describe abap-trial-docker \ --format='get(networkInterfaces[0].accessConfigs[0].natIP)'
Use the following information to connect from SAP GUI:
The user name is DEVELOPER with the password ABAPtr2022#00 . This is also predefined (same password) for client 000, client 001: SAP*, DDIC. Please refer here for more details.
To renew the SAP trial license, perform the following steps:
In order to import transports into the system, we must activate the TMS configuration.
Now the SAP system is ready to import any transports.
For securely connecting to Google APIs using the ABAP SDK, trust certificates are required.
Download the following certificates from the Google Trust Services repository into your desktop:
In the SAP GUI, use the STRUST transaction to import both the root and subordinate certificate into the SSL client SSL Client (Standard) PSE folder.
In STRUST, select the node SSL client SSL Client (Standard) and click Import certificate to upload both the files, click Add to Certificate List and Save.
The transport files for ABAP SDK for Google cloud are available in this link. To expedite, we will execute the import using a script.
gcloud compute ssh "abap-trial-docker-2022"
wget https://raw.githubusercontent.com/google-cloud-abap/abap-cloud-trial-2022-gcp/main/import_abap_sdk.sh chmod 755 import_abap_sdk.sh ./import_abap_sdk.sh
Let’s write a sample ABAP program to use Gemini Flash and send a sample prompt.
Step1: Configure client key
Log in to the SAP Trial A4H system with the user name DEVELOPER and password ABAPtr2022#00 and follow these steps to configure the client key:
Step2: Create RFC destination
Create RFC destination for IAM credential and Vertex AI API using the transaction code SM59. If needed, please refer here for detailed steps on creating an RFC destination.
Under the Technical Settings tab, enter the following details for the ZGOOG_IAMCREDENTIALS destination.
Under the Technical Settings tab, enter the following details for the ZGOOG_VERTEX_AI destination.
For the SSL Certificate field, make sure that the option DEFAULT SSL Client (Standard) is selected for both the RFC destinations.
Step3: Configure service mapping
To configure the service mapping table for IAM API, and Vertex AI API, perform the following steps:
Click New Entries for IAM Credential and Vertex AI API and update the RFC destinations as shown below.
Step4: Configure Vertex AI SDK Model Generation Parameters
To configure the generation parameter for models related to Text embedding, Multimodal embeddings and Gemini-flash, perform the following
Step5: Create a Report program with following lines of code to send a sample prompt to Gemini.
TRY. " Instantiate Genrative Model class from Vertex AI SDK DATA(lo_model) = NEW /goog/cl_generative_model( iv_model_key = 'Gemini-Flash' ). " Call Gemini-Flash DATA(lv_response) = lo_model->generate_content( iv_prompt_text = 'What is LLM? Please respond in HTML format' )->get_text( ). cl_demo_output=>display_html( lv_response ). CATCH /goog/cx_sdk INTO DATA(lo_exception). cl_demo_output=>display_text( lo_exception->get_text( ) ). ENDTRY.
Example Output:
Congratulations! You have successfully installed ABAP Platform Trial 2022 on Google Cloud Platform, imported the transports for ABAP SDK for Google Cloud and also interacted with Gemini LLM all under 30 minutes!!
The SAP trial system will allow you to explore more about ABAP SDK and Vertex AI SDK scenarios .
You can now proceed with the other ABAP SDK codelabs to continue with your learning journey of using ABAP SDK for Google Cloud to access various Google Cloud Services.
For clean up use the below commands to delete the VM, the firewall rules and the service account.
gcloud compute instances delete abap-trial-docker-2022 gcloud compute firewall-rules delete sapmachine gcloud iam service-accounts delete \ abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com
Delete the project abap-sdk-poc using Manage Resources.
Follow this medium tag for more content on ABAP SDK for Google Cloud.
⭐️ Happy Learning! and Happy Innovating! ⭐️
I am interested, but would need to know how much would it cost, for example when used 4 hours per day.
I have used the Calculator to obtain the price of the Compute Engine? But the rest? How can I know the total sum?
This doesn't work at all. The Script fails saying that it cannot find the Service Account. The service account is there.
After that the Script cannot be restarted anymore.
Complete failure.