In the SAP system, create an executable program in your
custom namespace (for example, Z or Y) by using transaction SE38.
In the SAP GUI, enter transaction code SE38.
In the Program field, enter a name of your program,
for example, ZDEMO_ADDRESS_VALIDATION.
Click Create.
Specify the program attributes:
In the Title field, enter a title of your program,
for example, Validate an address.
In the Type field, choose Executable Program.
Click Save.
Save the program as a Local Object.
In the ABAP Editor, add the following code:
**********************************************************************
* Copyright 2023 Google LLC *
* *
* Licensed under the Apache License, Version 2.0 (the "License"); *
* you may not use this file except in compliance with the License. *
* You may obtain a copy of the License at *
* https://www.apache.org/licenses/LICENSE-2.0 *
* Unless required by applicable law or agreed to in writing, *
* software distributed under the License is distributed on an *
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, *
* either express or implied. *
* See the License for the specific language governing permissions *
* and limitations under the License. *
**********************************************************************
REPORT zr_qs_validate_address.
* data declarations
DATA: lv_ret_code TYPE i,
lv_err_text TYPE string,
ls_input TYPE /goog/cl_addrvaldn_v1=>ty_012,
ls_output TYPE /goog/cl_addrvaldn_v1=>ty_013,
ls_err_resp TYPE /goog/err_resp,
lo_exception TYPE REF TO /goog/cx_sdk,
lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.
* instantiate api client stub
TRY.
CREATE OBJECT lo_address_validator
EXPORTING
iv_key_name = 'DEMO_ADDR_VAL'.
* pass the address to be validated
ls_input-address-region_code = 'US'.
ls_input-address-locality = 'Mountain View'.
APPEND '1600, Amphitheatre, Parkway' TO ls_input-address-address_lines.
* call the api method to validate address
CALL METHOD 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.
WRITE: / 'Address is complete'.
ENDIF.
CATCH /goog/cx_sdk INTO lo_exception.
* write code here to handle exceptions
ENDTRY.
Replace DEMO_ADDR_VAL with the client key name.
Run your application in SE38. If successful, the following output displays:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["# Validate address\n\n\u003cbr /\u003e\n\nThis quickstart shows you how\nto create a program that validates an address by using the [Address Validation API](https://developers.google.com/maps/documentation/address-validation/overview).\n\nBefore you begin\n----------------\n\n\nBefore you run this quickstart, make sure that you or your administrators have\ncompleted the following prerequisites:\n\n- You have a Google Cloud account and project.\n\n- Billing is enabled for your project. [See how to confirm that billing is enabled for your project](/billing/docs/how-to/verify-billing-enabled).\n\n- The on-premises or any cloud edition of ABAP SDK for Google Cloud is installed and configured. [See how to install and configure the on-premises or any cloud edition of ABAP SDK for Google Cloud](/sap/docs/abap-sdk/on-premises-or-any-cloud/latest/install-config).\n\n\u003cbr /\u003e\n\n- Authentication to access Google Cloud APIs is set up. [See how to set up authentication](/sap/docs/abap-sdk/on-premises-or-any-cloud/latest/authentication).\n\n- Make sure the Address Validation API is enabled in your Google Cloud project.\n\n [Go to API library](https://console.cloud.google.com/project/_/apis/library/addressvalidation.googleapis.com)\n\nCreate a program to validate addresses\n--------------------------------------\n\n1. In the SAP system, create an executable program in your\n custom namespace (for example, Z or Y) by using transaction `SE38`.\n\n 1. In the SAP GUI, enter transaction code `SE38`.\n\n 2. In the **Program** field, enter a name of your program,\n for example, `ZDEMO_ADDRESS_VALIDATION`.\n\n 3. Click **Create**.\n\n 4. Specify the program attributes:\n\n 1. In the **Title** field, enter a title of your program,\n for example, `Validate an address`.\n\n 2. In the **Type** field, choose `Executable Program`.\n\n 3. Click **Save**.\n\n 5. Save the program as a **Local Object**.\n\n 6. In the **ABAP Editor**, add the following code:\n\n **********************************************************************\n * Copyright 2023 Google LLC *\n * *\n * Licensed under the Apache License, Version 2.0 (the \"License\"); *\n * you may not use this file except in compliance with the License. *\n * You may obtain a copy of the License at *\n * https://www.apache.org/licenses/LICENSE-2.0 *\n * Unless required by applicable law or agreed to in writing, *\n * software distributed under the License is distributed on an *\n * \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, *\n * either express or implied. *\n * See the License for the specific language governing permissions *\n * and limitations under the License. *\n **********************************************************************\n\n REPORT zr_qs_validate_address.\n\n * data declarations\n DATA: lv_ret_code TYPE i,\n lv_err_text TYPE string,\n ls_input TYPE /goog/cl_addrvaldn_v1=\u003ety_012,\n ls_output TYPE /goog/cl_addrvaldn_v1=\u003ety_013,\n ls_err_resp TYPE /goog/err_resp,\n lo_exception TYPE REF TO /goog/cx_sdk,\n lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.\n\n * instantiate api client stub\n TRY.\n CREATE OBJECT lo_address_validator\n EXPORTING\n iv_key_name = '\u003cvar translate=\"no\"\u003eDEMO_ADDR_VAL\u003c/var\u003e'.\n\n * pass the address to be validated\n ls_input-address-region_code = 'US'.\n ls_input-address-locality = 'Mountain View'.\n APPEND '1600, Amphitheatre, Parkway' TO ls_input-address-address_lines.\n\n * call the api method to validate address\n CALL METHOD lo_address_validator-\u003evalidate_address\n EXPORTING\n is_input = ls_input\n IMPORTING\n es_output = ls_output\n ev_ret_code = lv_ret_code\n ev_err_text = lv_err_text\n es_err_resp = ls_err_resp.\n IF lo_address_validator-\u003eis_success( lv_ret_code ) = abap_true AND\n ls_output-result-verdict-address_complete = abap_true.\n WRITE: / 'Address is complete'.\n ENDIF.\n\n CATCH /goog/cx_sdk INTO lo_exception.\n * write code here to handle exceptions\n ENDTRY.\n\n Replace \u003cvar translate=\"no\"\u003eDEMO_ADDR_VAL\u003c/var\u003e with the client key name.\n2. Run your application in `SE38`. If successful, the following output displays:\n\n ```\n 'Address is complete'\n ```\n\n \u003cbr /\u003e\n\nWhat's next\n-----------\n\n\n- Explore other quickstarts available on the GitHub repository, [GoogleCloudPlatform/google-cloud-abap/abap-sdk\n /ZGOOG_SDK_QUICKSTART/](https://github.com/GoogleCloudPlatform/google-cloud-abap/tree/main/abap-sdk/ZGOOG_SDK_QUICKSTART).\n- Read the guide [Application development with the on-premises or any cloud edition of ABAP SDK for Google Cloud](/sap/docs/abap-sdk/on-premises-or-any-cloud/latest/developer).\n- View the [code samples](/sap/docs/abap-sdk/samples/all-samples#on-premises-or-any-cloud-edition).\n- Ask your questions and discuss ABAP SDK for Google Cloud with the community on [Cloud Forums](https://discuss.google.dev/tags/c/google-cloud/14/abap-sdk).\n\n\u003cbr /\u003e"]]