Validate address

This quickstart shows you how to create a program that validates an address by using the Address Validation API.

Before you begin

Before you run this quickstart, make sure that you or your administrators have completed the following prerequisites:

Create a program to validate addresses

  1. In the SAP system, create an executable program in your custom namespace (for example, Z or Y) by using transaction SE38.

    1. In the SAP GUI, enter transaction code SE38.

    2. In the Program field, enter a name of your program, for example, ZDEMO_ADDRESS_VALIDATION.

    3. Click Create.

    4. Specify the program attributes:

      1. In the Title field, enter a title of your program, for example, Validate an address.

      2. In the Type field, choose Executable Program.

      3. Click Save.

    5. Save the program as a Local Object.

    6. 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.

  2. Run your application in SE38. If successful, the following output displays:

    'Address is complete'
    

What's next