abap-sdk/ZGOOG_SDK_QUICKSTART/zr_qs_validate_address.prog.abap (29 lines of code) (raw):

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