1. परिचय
इस कोडलैब में, जब आपका SAP सिस्टम Compute Engine VM इंस्टेंस पर होस्ट किया गया हो, तब आपको टोकन का इस्तेमाल करके Google Cloud API ऐक्सेस करने के लिए, पुष्टि करने की सुविधा सेट अप करनी होगी.
यहां इस्तेमाल की जाने वाली सेवाओं की सूची दी गई है:
- Compute Engine
- नेटवर्क सेवाएं
- Cloud Shell
आपको क्या बनाना होगा
आपको ये काम करने होंगे:
- Google API से कनेक्ट करने के लिए, SAP सिस्टम पर इंस्टॉल किए गए ABAP SDK टूल को कॉन्फ़िगर करें.
- Address Validation API को कॉल करने के लिए उदाहरण के तौर पर एक रिपोर्ट प्रोग्राम बनाएं.
2. ज़रूरी शर्तें
- Chrome या Firefox जैसा ब्राउज़र.
- आपके पास ऐसा Google Cloud प्रोजेक्ट होना चाहिए जिसमें बिलिंग की सुविधा चालू हो या Google Cloud Platform के लिए, 90 दिनों तक मुफ़्त में आज़माने की सुविधा वाला खाता बनाएं.
- आपके सिस्टम में SAP GUI (Windows या Java) इंस्टॉल किया गया है. अगर आपके सिस्टम पर SAP GUI पहले से इंस्टॉल है, तो ऐप्लिकेशन सर्वर आईपी के तौर पर वीएम के बाहरी आईपी पते का इस्तेमाल करके, SAP से कनेक्ट करें. अगर आप Mac पर हैं, तो इस लिंक में उपलब्ध Java के लिए SAP GUI भी इंस्टॉल किया जा सकता है.
3. शुरू करने से पहले
- Google Cloud Console में, प्रोजेक्ट सिलेक्टर पेज पर, Google Cloud प्रोजेक्ट चुनें या बनाएं. उदाहरण के लिए,
abap-sdk-poc).
- पक्का करें कि आपके Cloud प्रोजेक्ट के लिए बिलिंग की सुविधा चालू हो. किसी प्रोजेक्ट के लिए बिलिंग की सुविधा चालू है या नहीं, यह देखने का तरीका जानें. अगर 90-दिन के लिए मुफ़्त में आज़माने वाले खाते का इस्तेमाल किया जा रहा है, तो इस चरण को छोड़ दें.
- आपको Cloud Shell का इस्तेमाल करना होगा. यह Google Cloud में चल रहा एक कमांड-लाइन एनवायरमेंट है. Cloud Console में, सबसे ऊपर दाएं कोने में मौजूद Cloud Shell चालू करें पर क्लिक करें:
- पक्का करें कि सभी ज़रूरी एपीआई (IAM सेवा खाते के क्रेडेंशियल एपीआई और पते की पुष्टि करने वाला एपीआई) चालू हों.
- अपने खाते की पुष्टि करने के लिए, नीचे दिए गए निर्देशों का पालन करें और डिफ़ॉल्ट प्रोजेक्ट को
abap-sdk-poc
पर सेट करें. उदाहरण के तौर पर, ज़ोनus-west4-b
का इस्तेमाल किया गया है. अगर ज़रूरत हो, तो कृपया अपनी पसंद के मुताबिक नीचे दिए गए निर्देशों में प्रोजेक्ट और ज़ोन बदलें.
gcloud auth login
gcloud config set project abap-sdk-poc
gcloud config set compute/zone us-west4-b
PROJECT_NAME=abap-sdk-poc
REGION=us-west4
ZONE=us-west4-b
- पक्का करें कि आपके पास ऐसे SAP सिस्टम का ऐक्सेस हो जिसमें Google Cloud के लिए, ABAP SDK टूल इंस्टॉल किया गया हो.
- कोडलैब (कोड बनाना सीखना) के बारे में ज़्यादा जानने के लिए " Google Cloud Platform पर ABAP Platform ट्रायल 2022 इंस्टॉल करना और ABAP SDK टूल इंस्टॉल करना" सेट अप किया जा सकता है.
4. सेवा खाता बनाना और सेवा खाते के टोकन क्रिएटर की भूमिका सेट करना
ज़रूरी भूमिका वाला सेवा खाता बनाने के लिए, यह तरीका अपनाएं:
- सेवा खाता बनाने के लिए, नीचे दिया गया निर्देश चलाएं: (अगर सेवा खाता पहले से मौजूद है, तो कृपया इस चरण को छोड़ दें)
gcloud iam service-accounts create abap-sdk-dev \
--description="ABAP SDK Dev Account" \
--display-name="ABAP SDK Dev Account"
- सेवा खाता टोकन क्रिएटर की भूमिका सेट करने के लिए, नीचे दिया गया कमांड चलाएं:
gcloud projects add-iam-policy-binding $PROJECT_NAME \
--member=serviceAccount:abap-sdk-dev@$PROJECT_NAME.iam.gserviceaccount.com \
--role=roles/iam.serviceAccountTokenCreator
5. क्लाइंट कुंजी कॉन्फ़िगर करें
उपयोगकर्ता नाम DEVELOPER
और पासवर्ड Htods70334
के साथ SAP सिस्टम में लॉग इन करें और क्लाइंट कुंजी कॉन्फ़िगर करने के लिए यह तरीका अपनाएं:
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस IM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- नई एंट्री पर क्लिक करें.
- इन फ़ील्ड के लिए वैल्यू डालें:
फ़ील्ड | ब्यौरा |
Google क्लाउड कुंजी का नाम | ABAP_SDK_DEMO |
Google Cloud सेवा खाते का नाम | abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com |
Google Cloud का दायरा | https://www.googleapis.com/auth/cloud-platform |
Google Cloud प्रोजेक्ट आइडेंटिफ़ायर | abap-sdk-poc |
अनुमति देने की कैटगरी | /GOOGLE/CL_AUTH_GOOGLE |
अन्य फ़ील्ड को खाली छोड़ना
6. RFC गंतव्य बनाएं
IAM क्रेडेंशियल और पते की पुष्टि करने वाले एपीआई के लिए, आरएफ़सी डेस्टिनेशन बनाएं.
आरएफ़सी डेस्टिनेशन का नाम | टारगेट होस्ट (एपीआई एंडपॉइंट) | नोट |
ZGOOG_IAMCREDENTIALS | होस्ट: iamCredentials.googleapis.comपाथ: प्रीफ़िक्स: /v1/पोर्ट: 443एसएसएल: चालू है | यह आरएफ़सी डेस्टिनेशन, IAM एपीआई को टारगेट करता है. |
ZGOOG_ADDRESSVALIDATION_V1 | होस्ट: addressvalidation.googleapis.comपोर्ट: 443एसएसएल: ऐक्टिव | यह आरएफ़सी डेस्टिनेशन, पते की पुष्टि करने वाले एपीआई को टारगेट करता है |
- तकनीकी सेटिंग टैब में, ZGOOGLE_IAMCREDENTIALS के डेस्टिनेशन के लिए, यहां दी गई जानकारी डालें.
- तकनीकी सेटिंग टैब के अंतर्गत, ZGOOGLE_ADDRESSठीकATION_V1 गंतव्य के लिए नीचे दी गई जानकारी डालें.
- पक्का करें कि एसएसएल सर्टिफ़िकेट फ़ील्ड में, दोनों आरएफ़सी डेस्टिनेशन के लिए, डिफ़ॉल्ट एसएसएल क्लाइंट (स्टैंडर्ड) विकल्प चुना गया हो.
7. सेवा मैपिंग कॉन्फ़िगर करें
अगर आपको IAM API और पते की पुष्टि करने वाले एपीआई के लिए सर्विस मैपिंग टेबल को कॉन्फ़िगर करना है, तो यह तरीका अपनाएं:
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस FCM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > बुनियादी सेटिंग > सेवा मैपिंग कॉन्फ़िगर करें.
- आरएफ़सी डेस्टिनेशन से लिंक किए गए IAM क्रेडेंशियल और पते की पुष्टि करने वाले एपीआई के लिए, नई एंट्री पर क्लिक करें.
8. कॉन्फ़िगरेशन की पुष्टि करें
पुष्टि करने के कॉन्फ़िगरेशन की पुष्टि करने के लिए, यह तरीका अपनाएं:
- SAP GUI में, लेन-देन कोड SPRO डालें.
- SAP रेफ़रंस IM पर क्लिक करें.
- Google Cloud के लिए ABAP SDK टूल > सुविधाएं > पुष्टि करने के कॉन्फ़िगरेशन की पुष्टि करें.
- क्लाइंट कुंजी का नाम
ABAP_SDK_DEMO
के तौर पर डालें. - पूरा फ़्लो कॉन्फ़िगर हो गया है या नहीं, यह देखने के लिए लागू करें पर क्लिक करें.
- नतीजे के कॉलम में हरे रंग का सही का निशान दिखने का मतलब है कि कॉन्फ़िगरेशन के सभी चरण पूरे हो गए हैं.
9. पते की पुष्टि करने वाली सेवा को कॉल करने के लिए, रिपोर्ट प्रोग्राम बनाएं
- अपने SAP सिस्टम में लॉग इन करें.
- ट्रांज़ैक्शन कोड SE38 पर जाएं और ZDEMO_ADDRESS_ENDATION नाम का एक रिपोर्ट प्रोग्राम बनाएं.
- स्क्रीन पर खुलने वाले पॉप-अप में नीचे बताई गई जानकारी डालें. इसके बाद, सेव करें पर क्लिक करें.
- अगले पॉप-अप में, लोकल ऑब्जेक्ट चुनें या ज़रूरत के हिसाब से पैकेज का नाम डालें.
- एबीएपी एडिटर में, यह कोड जोड़ें:
" data declarations
DATA lv_ret_code TYPE i.
DATA lv_err_text TYPE string.
DATA ls_input TYPE /goog/cl_addrvaldn_v1=>ty_012.
DATA ls_output TYPE /goog/cl_addrvaldn_v1=>ty_013.
DATA ls_err_resp TYPE /goog/err_resp.
DATA lo_exception TYPE REF TO /goog/cx_sdk.
DATA lo_address_validator TYPE REF TO /goog/cl_addrvaldn_v1.
" instantiate api client stub
TRY.
lo_address_validator = NEW #( iv_key_name = 'ABAP_SDK_DEV' ).
" Pass the address to be validated and corrected.
" Mountain misspelled as Moutain
" Amphitheatre misspelled as Amphithetre
ls_input-address-region_code = 'US'.
ls_input-address-locality = 'Moutain View'.
APPEND '1600, Amphithetre, Parkway' TO ls_input-address-address_lines.
" call the api method to validate address
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.
cl_demo_output=>new(
)->begin_section( `Original Address`
)->write_data( ls_input-address-region_code
)->write_data( ls_input-address-locality
)->write_data( ls_input-address-address_lines
)->next_section( `Validated & Corrected Address`
)->begin_section( `Elementary Object`
)->write_data( ls_output-result-address-formatted_address
)->display( ).
ENDIF.
CATCH /goog/cx_sdk INTO lo_exception.
" write code here to handle exceptions
cl_demo_output=>display( lo_exception->get_text( ) ).
ENDTRY.
- रिपोर्ट को सेव करें और उसे चालू करें.
- रिपोर्ट चलाएं (F8).
प्लान लागू करने के बाद, आपको रिपोर्ट का आउटपुट इस तरह से दिखेगा:
10. बधाई हो
बधाई हो! आपने पते की पुष्टि करने वाली सेवा को कॉल करने के लिए, एबीएपी SDK टूल को कॉन्फ़िगर कर लिया है.
अब अन्य ABAP SDK कोड लैब का इस्तेमाल करके, Google Cloud की अलग-अलग सेवाओं को ऐक्सेस करने के लिए ABAP SDK टूल का इस्तेमाल करना जारी रखा जा सकता है.
11. व्यवस्थित करें
अगर आपको Google Cloud के लिए, ABAP SDK टूल से जुड़े अतिरिक्त कोडलैब का इस्तेमाल नहीं करना है, तो कृपया क्लीनअप की प्रोसेस पूरी करें.
प्रोजेक्ट मिटाएं
- Google Cloud प्रोजेक्ट मिटाने के लिए:
gcloud projects delete abap-sdk-poc
अलग-अलग संसाधनों को मिटाना
- img > में जाकर क्लाइंट कुंजी कॉन्फ़िगरेशन प्रविष्टियां हटाएं Google क्लाउड > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- IM > ] में जाकर सेवा मैपिंग कॉन्फ़िगरेशन प्रविष्टियाँ हटाएं Google क्लाउड > बुनियादी सेटिंग > क्लाइंट कुंजी कॉन्फ़िगर करें.
- आरएफ़सी डेस्टिनेशन ZGOOG_IAMCREDENTIALS और ZGOOG_IAMCREDENTIALS मिटाएं.
- सेवा खाता मिटाने के लिए:
gcloud iam service-accounts delete \
abap-sdk-dev@abap-sdk-poc.iam.gserviceaccount.com