验证地址

本快速入门介绍如何创建使用 Address Validation API 验证地址的程序。

准备工作

在运行本快速入门之前,请确保您或您的管理员已满足以下前提条件:

创建程序来验证地址

  1. 在 SAP 系统中,使用事务 SE38 在自定义命名空间中创建可执行程序(例如 Z 或 Y)。

    1. 在 SAP GUI 中,输入事务代码 SE38

    2. 程序字段中,输入程序名称,例如 ZDEMO_ADDRESS_VALIDATION

    3. 点击创建

    4. 指定程序属性:

      1. 标题字段中,输入程序标题,例如 Validate an address

      2. 类型字段中,选择 Executable Program

      3. 点击保存

    5. 将程序保存为本地对象

    6. ABAP 编辑器中,添加以下代码:

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

      DEMO_ADDR_VAL 替换为客户端密钥名称。

  2. SE38 中运行您的应用。如果创建成功,将显示以下输出:

    'Address is complete'
    

后续步骤