시작하기 AWS SDK for SAP ABAP - AWS SAP ABAP용 SDK

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

시작하기 AWS SDK for SAP ABAP

이 섹션에서는 SDK를 시작하는 방법을 설명합니다. 여기에는 SDK 설치, 기본 구성 수행, 문구를 한 언어에서 다른 언어로 번역하는 Hello World 코드 예제 만들기에 대한 정보가 포함됩니다. AWS SDK를 처음 사용하는 경우 샌드박스 환경에서 다음 단계를 수행하는 것이 좋습니다.

1단계: 계정 준비 AWS

SDK for SAP ABAP를 시작하려면 활성 AWS 계정 (이)가 있어야 합니다. SAP 시스템이 온프레미스, SAP 비즈니스 기술 플랫폼 (BTP) 또는 다른 클라우드 제공업체를 통해 호스팅되는 AWS 계정 경우에도 필요합니다.

SAP 시스템이 AWS 클라우드에서 실행되는 경우 클라우드에 있는 AWS 서비스에 전화를 걸게 됩니다. AWS 계정

SAP 사용자의 IAM 역할

  • AWS Identity and Access Management 사용자 설명서에 제공된 지침에 따라 IAM 역할을 생성합니다. 자세한 내용은 AWS 서비스에 권한을 위임하기 위한 역할 생성을 참조하십시오. 나중에 사용할 수 있도록 IAM 역할의 Amazon 리소스 이름(ARN)을 적어 둡니다.

  • 사용 사례로 Amazon EC2를 선택합니다.

  • 역할 이름으로 SapDemoTranslate을(를) 사용합니다.

  • TranslateReadOnly 프로파일을 역할에 추가합니다.

  • SAP 시스템이 역할을 수임할 수 있으려면 역할에 다음 엔티티가 있어야 합니다. "111122223333"를 AWS 계정 번호로 바꿉니다.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "AWS": "111122223333" } } ] }

    이 예제는 의 모든 보안 주체가 역할을 맡을 AWS 계정 "111122223333" 수 있음을 보여줍니다. 이는 적합한 광범위한 권한입니다 proof-of-concept. 다음 예와 같이 프로덕션에 더 좁은 보안 주체를 사용할 수 있습니다.

    • 특정 사용자 — SAP 시스템에서 다음 중 하나를 사용하는 경우

      • 온프레미스 SAP 시스템의 SSF로 암호화된 자격 증명

      • SAP BTP, ABAP 환경의 SAP 자격 증명 저장소 서비스에서 제공하는 자격 증명

    • 특정 역할 — SAP 시스템이 Amazon EC2에 있고 인스턴스 프로파일이 있는 경우.

    • Amazon EC2 — SAP 시스템이 Amazon EC2에 있고 인스턴스 프로파일이 없는 경우.

자세한 내용은 IAM 보안 모범 사례를 참조하세요.

인증

인증은 SAP 시스템이 호스팅되는 위치에 따라 달라집니다.

AWS 온 클라우드

SAP 시스템이 실행 중인 EC2 인스턴스에 다음 권한이 있는 인스턴스 프로파일이 있는지 확인합니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111122223333:role/SapDemoTranslate" } ] }

이전 단계에서 기록해 둔 ARN을 추가합니다.

이 권한을 사용하면 SAP 시스템이 ABAP 사용자를 대신하여 SapDemoTranslate 역할을 수임할 수 있습니다.

온프레미스, SAP BTP 또는 기타 클라우드

SAP 시스템이 온프레미스, SAP BTP 또는 기타 클라우드에 있는 경우 다음 단계에 따라 비밀 액세스 키를 사용하여 인증을 위한 연결을 설정하십시오.

  1. IAM 사용자를 생성합니다. 자세한 정보는 IAM 사용자(콘솔) 생성을 참조하세요.

  2. IAM 사용자의 이름으로 SapDemoSID을(를) 사용합니다. SID은(는) SAP 시스템의 시스템 ID입니다.

  3. 이 사용자에게 SapDemoTranslate 역할을 할당합니다.

및 을 access_key 보관하세요. secret_access_key SAP 시스템에서 이러한 자격 증명을 구성해야 합니다.

참고

SAP 시스템이 온프레미스, SAP BTP 또는 다른 클라우드에 있는 경우 다음 옵션 중 하나를 사용하여 인증할 수 있습니다.

2단계: SDK 설치

설치 지침은 다음 탭을 참조하십시오.

SDK for SAP ABAP

SAP 시스템에서 SAP ABAP 전송을 위한 SDK를 가져옵니다. 모든 클라이언트로 전송을 가져올 수 있습니다. 자세한 내용은 SAP ABAP용 SDK 설치를 참조하십시오.

SDK for SAP ABAP - BTP edition

제품 배포 애플리케이션을 사용하여 SAP ABAP용 SDK - BTP 에디션을 설치합니다. 자세한 내용은 SAP ABAP용 SDK 설치 - BTP 에디션을 참조하십시오.

3단계: SDK 구성

구성 지침은 다음 탭을 참조하십시오.

SDK for SAP ABAP

/AWS1/IMG트랜잭션을 실행하여 SAP ABAP용 SDK 구현 가이드를 엽니다. 이 트랜잭션을 실행하려면 SAP 시스템의 명령 모음에 /n/AWS1/IMG 을(를) 입력한 다음 입력을 선택합니다.

다음 구성을 완료하세요.

  • 기술 사전 조건으로 이동합니다.

    • 권장 프로필 파라미터와 SSL 인증서 설정을 검토합니다.

  • 글로벌 설정시나리오 구성으로 이동합니다.

    • 글로벌 설정의 권장 사항에 따라 설정을 변경합니다.

  • 글로벌 설정기술 설정으로 이동합니다.

    • 글로벌 설정의 권장 사항에 따라 설정을 변경합니다.

  • 런타임 설정로그 및 추적으로 이동합니다.

    • 새 항목을 선택합니다.

      • 추적 수준: 추적 없음.

      • 최대 덤프 라인: 100.

      • 옵트인: enh 원격 분석: 이 항목은 비워둡니다.

    • 저장을 선택합니다.

  • 런타임 설정활성 시나리오로 이동합니다.

    • 새 시나리오에서 DEFAULT을(를) 선택합니다.

    • 시나리오 변경 커밋을 선택합니다.

    • 프롬프트를 수락합니다.

SDK for SAP ABAP - BTP edition

웹 브라우저에서 ABAP 환경을 열고 사용자 지정 비즈니스 구성 애플리케이션으로 이동합니다.

다음 구성을 완료하십시오.

  • 글로벌 설정시나리오 구성으로 이동합니다.

    • 글로벌 설정의 권장 사항에 따라 설정을 변경합니다.

  • 글로벌 설정기술 설정으로 이동합니다.

    • 글로벌 설정의 권장 사항에 따라 설정을 변경합니다.

온프레미스 시스템의 사전 조건

SAP 시스템이 온프레미스 또는 다른 클라우드에서 실행되는 경우 보안 인증을 SAP 데이터베이스에 저장해야 합니다. 자격 증명은 SAP SSF를 사용하여 암호화되며 SAP와 같이 구성된 암호화 라이브러리가 필요합니다. CommonCryptoLib

SDK for SAP ABAP용 SSF를 구성하는 단계는 /AWS1/IMG 트랜잭션에 설명되어 있습니다.

참고

SAP 시스템이 Amazon EC2에서 실행 중인 경우에는 위의 사전 조건이 적용되지 않습니다. Amazon EC2에서 실행되는 SAP 시스템은 Amazon EC2 인스턴스 메타데이터에서 단기 자동 교체 보안 인증을 검색합니다.

4단계: 기능 설정

설정 지침은 다음 탭을 참조하십시오.

SDK for SAP ABAP

트랜잭션을 실행 /AWS1/IMG (명령 표시줄에 입력하고 Enter 선택) 하여 AWS SDK 구현 가이드를 엽니다. /n/AWS1/IMG

  • 애플리케이션 구성SDK 프로필로 이동합니다.

    • 새 항목을 선택합니다.

      • 프로파일: DEMO.

      • 설명Demo profile.

      • 저장을 선택합니다.

  • 생성한 항목을 강조 표시하고 인증 및 설정 트리 브랜치를 클릭합니다.

    • 새 항목을 선택합니다.

      • SID: 현재 사용 중인 SAP 시스템의 시스템 ID입니다.

      • 클라이언트: 현재 사용 중인 SAP 시스템의 클라이언트입니다.

      • 시나리오 ID: 기본 관리자가 생성한 DEFAULT 시나리오를 찾을 수 있는 드롭다운 목록입니다.

      • AWS 지역: 전화를 걸고 싶은 AWS 지역을 입력합니다. SAP 시스템이 실행 중인 경우 실행 중인 AWS 지역을 입력하십시오. AWS

      • 인증 방법:

        • SAP 시스템이 Amazon EC2에서 실행 중인 경우 메타데이터를 통한 인스턴스 역할을 선택합니다.

        • SAP 시스템이 온프레미스나 다른 클라우드에서 실행 중인 경우 SSF 스토리지 보안 인증을 선택합니다.

          • 보안 인증 설정을 선택합니다.

          • 이전 단계에서 생성한 액세스 키 ID와 비밀 액세스 키를 입력합니다.

    • IAM 역할 비활성화를 공란으로 유지합니다.

    • 저장을 선택합니다.

  • IAM 역할 매핑 트리 브랜치를 클릭합니다.

    • 새 항목을 선택합니다.

      • 시퀀스 번호 입력: 010.

      • 논리적 IAM 역할 입력: TESTUSER

      • IAM 역할 ARN 입력: 이전 단계에서 생성한 TranslateReadOnly 정책이 포함된 IAM 역할의 arn:aws:를 입력합니다.

SDK for SAP ABAP - BTP edition

SAP 자격 증명 저장소를 사용하여 인증을 설정합니다. 자세한 내용은 SAP 자격 증명 저장소 사용을 참조하십시오.

웹 브라우저에서 ABAP 환경을 열고 사용자 지정 비즈니스 구성 애플리케이션으로 이동합니다.

  • 애플리케이션 구성SDK 프로필로 이동합니다.

    • 편집을 선택하여 새 프로필을 생성합니다.

      • 프로파일: DEMO.

      • 설명Demo profile.

  • 생성된 항목 옆의 오른쪽 화살표 키를 선택하고 인증 및 설정 탭으로 이동합니다.

    새 항목을 선택합니다.

    • SID: 현재 사용 중인 SAP 시스템의 시스템 ID입니다.

    • 클라이언트: 현재 사용 중인 SAP 시스템의 클라이언트입니다.

    • 시나리오 ID: 기본 관리자가 생성한 DEFAULT 시나리오를 찾을 수 있는 드롭다운 목록입니다.

    • AWS 지역: 전화를 걸고 싶은 AWS 지역을 입력합니다. SAP 시스템이 실행 중인 경우 실행 중인 AWS 지역을 입력하십시오. AWS

    • 인증 방법: SAP 자격 증명 저장소에서 자격 증명을 선택합니다.

    • SAP 자격 증명 저장소에 저장된 자격 증명의 네임스페이스키 이름을 입력합니다.

    • SAP ABAP용 SDK - BTP 에디션과 SAP 자격 증명 저장소 간의 통신을 설정하기 위해 만든 통신 계약의 이름을 입력합니다.

    • IAM 역할 비활성화를 공란으로 유지합니다.

    • 생성된 항목 옆의 화살표 키를 마우스 오른쪽 버튼으로 클릭하고 IAM 역할 매핑 탭으로 이동합니다.

      새 항목을 선택합니다.

      • 시퀀스 번호 입력: 010.

      • 논리적 IAM 역할 입력: TESTUSER

      • IAM 역할 ARN 입력: 이전 단계에서 생성한 TranslateReadOnly 정책이 포함된 IAM 역할의 arn:aws:를 입력합니다.

5단계: SAP 사용자 권한 부여

SAP 사용자는 기본적으로 AWS 기능을 사용할 권한이 없습니다. 사용자는 SAP 인증을 사용하여 명시적으로 권한을 부여받아야 합니다. 자세한 내용은 다음 탭을 참조하십시오.

SDK for SAP ABAP

PFCG 역할 생성

  • PFCG 트랜잭션으로 이동

  • 역할 이름 ZAWS_SDK_DEMO_TESTUSER을(를) 입력하고 단일 역할 생성을 선택합니다.

    • 설명: Role for demo AWS SDK functionality.

    • 권한 승인 탭으로 이동합니다.

    • 권한 승인 데이터 변경을 선택하고 정보 팝업을 수락합니다.

    • 템플릿 선택 팝업에서 템플릿 선택 안함을 선택합니다.

    • 도구 모음에서 수동 추가를 선택합니다.

    • 다음 권한 부여 객체를 추가합니다.

      • /AWS1/LROL

      • /AWS1/SESS

    • 인증 트리에 다음을 입력합니다.

      • AWS API에 액세스하기 위한 프로파일: DEMO

      • 논리적 IAM 역할: TESTUSER

    • 저장을 선택합니다.

    • 생성을 선택합니다.

    • 뒤로를 선택합니다.

    • 저장을 선택하여 역할을 저장합니다.

SAP 사용자에게 PFCG 역할 할당

ZAWS_SDK_DEMO_TESTUSER역할이 할당된 모든 사용자는 SDK 프로필에 DEMO 구성된 설정으로 AWS SDK 기능을 사용할 수 있습니다. 또한 승인된 사용자는 해당 프로필의 TESTUSER 논리적 IAM 역할에 매핑된 IAM 역할을 수임하게 됩니다.

  • SU01 트랜잭션을 실행합니다.

    • AWS SDK 기능을 테스트할 SAP 사용자의 사용자 ID를 입력합니다.

    • 변경을 선택합니다.

    • 역할 탭으로 이동하여 사용자에게 해당 ZAWS_SDK_DEMO_TESTUSER 역할을 할당합니다.

    • 저장을 선택합니다.

SDK for SAP ABAP - BTP edition

비즈니스 역할 생성

  • 웹 브라우저에서 ABAP 환경을 열고 비즈니스 역할 유지 관리 애플리케이션으로 이동합니다.

  • 템플릿에서 생성을 선택하고 다음 세부 정보를 입력합니다.

    • 템플릿 — 선택합니다/AWS1/RT_BTP_ENDUSER.

    • 새 비즈니스 역할 ID — ID를 입력합니다.

    • 새 비즈니스 역할 설명 - 설명을 입력합니다.

  • 확인을 선택하면 비즈니스 역할 페이지가 표시됩니다.

  • 일반 역할 세부 정보 탭에서 액세스 범주로 이동하여 쓰기, 읽기, 값 도움말 필드를 제한됨으로 설정합니다.

  • 제한 유지 관리를 선택하고 왼쪽 탐색 창에서 할당된 제한 유형을 확장합니다. 제한 및 값 섹션에서 다음 필드를 업데이트하십시오.

    • SDK 세션 선택에서 SDK 프로필 옆의 연필 아이콘을 선택하고 범위 탭으로 이동합니다. DEMO를 입력하고 추가를 선택합니다.

    • 논리적 IAM 역할 선택에서 논리적 IAM 역할 옆의 연필 아이콘을 선택하고 범위 탭으로 이동합니다. TESTUSER를 입력하고 추가를 선택합니다.

      SDK 프로필 옆의 연필 아이콘을 선택하고 범위 탭으로 이동합니다. DEMO를 입력하고 추가를 선택합니다.

  • 비즈니스 역할 템플릿으로 돌아가서 비즈니스 사용자 탭을 엽니다. 추가를 선택하여 SDK 기능을 테스트할 SAP 비즈니스 사용자에게 새로 만든 비즈니스 역할을 할당합니다. 저장을 선택합니다.

생성된 비즈니스 역할에 배정된 모든 비즈니스 사용자는 SDK 프로필에 DEMO 구성된 설정으로 AWS SDK 기능을 사용할 수 있습니다. 또한 승인된 사용자는 해당 프로필의 TESTUSER 논리적 IAM 역할에 매핑된 IAM 역할을 수임하게 됩니다.

6단계: 코드 작성

자세한 내용은 다음 탭을 참조하십시오.

SDK for SAP ABAP
  1. SE38 트랜잭션을 엽니다.

    • 프로그램 이름으로 ZDEMO_TRANSLATE_HELLO_WORLD을(를) 입력합니다.

    • Create을(를) 선택합니다.

    • 제목으로 AWS SDK Hello World In Any Language을(를) 입력합니다.

    • 유형: 실행 프로그램을 선택합니다.

    • 상태: 테스트 프로그램을 선택합니다.

    • 저장을 선택합니다.

    • 프로그램을 로컬 객체로 저장합니다.

다음 코드를 추가합니다.

*&---------------------------------------------------------------------* *& Report  ZAWS1_DEMO_XL8_SIMPLE *& *&---------------------------------------------------------------------* *& A simple demo of language translation with AWS Translate *& *&---------------------------------------------------------------------* REPORT zaws1_demo_xl8_simple. START-OF-SELECTION.   PARAMETERS pv_text TYPE /aws1/xl8boundedlengthstring DEFAULT 'Hello, World' OBLIGATORY.   PARAMETERS pv_lang1 TYPE languageiso DEFAULT 'EN' OBLIGATORY.   PARAMETERS pv_lang2 TYPE languageiso DEFAULT 'ES' OBLIGATORY.   TRY.       DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ).       DATA(go_xl8)     = /aws1/cl_xl8_factory=>create( go_session ).       DATA(lo_output) = go_xl8->translatetext(            iv_text               = pv_text            iv_sourcelanguagecode = CONV /aws1/xl8languagecodestring( pv_lang1 )            iv_targetlanguagecode = CONV /aws1/xl8languagecodestring( pv_lang2 )       ).       WRITE: / 'Source Phrase: ', pv_text.       WRITE: / 'Target Phrase: ', lo_output->get_translatedtext( ).     CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang).       WRITE: / 'ERROR' COLOR COL_NEGATIVE,                'Cannot translate from',                lo_lang->sourcelanguagecode,                'to',                lo_lang->targetlanguagecode.     CATCH cx_root INTO DATA(lo_root).       WRITE: / 'ERROR' COLOR COL_NEGATIVE, lo_root->get_text( ).   ENDTRY.
SDK for SAP ABAP - BTP edition
  1. ABAP 클래스를 만들어야 하는 패키지를 마우스 오른쪽 버튼으로 클릭한 다음 새로 만들기 > ABAP 클래스를 선택합니다.

  2. 클래스 ZCL_DEMO_XL8_SIMPLE 이름을 입력하고 클래스 설명을 추가합니다. 다음을 선택합니다.

  3. 전송 요청을 생성하거나 선택합니다. 마침을 선택합니다.

다음 코드를 추가합니다.

CLASS zcl_demo_xl8_simple DEFINITION PUBLIC FINAL CREATE PUBLIC . PUBLIC SECTION. INTERFACES if_oo_adt_classrun. PROTECTED SECTION. PRIVATE SECTION. ENDCLASS. CLASS zcl_demo_xl8_simple IMPLEMENTATION. METHOD if_oo_adt_classrun~main. TRY. " input parameters DATA(pv_text) = |Hello, World|. DATA(pv_lang1) = |EN|. DATA(pv_lang2) = |ES|. DATA(go_session) = /aws1/cl_rt_session_aws=>create( 'DEMO' ). DATA(go_xl8) = /aws1/cl_xl8_factory=>create( go_session ). DATA(lo_output) = go_xl8->translatetext( iv_text = pv_text iv_sourcelanguagecode = pv_lang1 iv_targetlanguagecode = pv_lang2 ). out->write( |Source Phrase: { pv_text }| ). out->write( |Target Phrase: { lo_output->get_translatedtext( ) }| ). CATCH /aws1/cx_xl8unsuppedlanguage00 INTO DATA(lo_lang). out->write( |ERROR - Cannot translate from { lo_lang->sourcelanguagecode } to { lo_lang->targetlanguagecode }| ). CATCH cx_root INTO DATA(lo_root). out->write( |ERROR - { lo_root->get_text( ) }| ). ENDTRY. ENDMETHOD. ENDCLASS.

7단계: 애플리케이션 실행

자세한 내용은 다음 탭을 참조하십시오.

SDK for SAP ABAP

SE38에서 애플리케이션을 실행합니다. 성공하면 다음과 같은 결과가 출력됩니다.

Source Phrase: Hello, World Target Phrase: Hola, mundo

권한 부여, 구성 또는 기본 사전 조건이 누락된 경우 오류 메시지가 표시될 수 있습니다. 다음 예를 참조하세요.

ERROR Could not find configuration under profile DEMO with scenario DEFAULT for SBX:001

SAP 시스템에서 IAM 역할을 수임하도록 IAM 권한이 구성되어 있지 않은 상태에서 SAP 역할이 SDK 프로파일을 사용하고 이를 논리적 IAM 역할에 매핑할 수 있는 권한을 부여하는 경우 다음과 같은 결과가 출력됩니다.

ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate

이 경우 1단계: 계정 준비 AWS에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토합니다.

SDK for SAP ABAP - BTP edition

Eclipse > Run As > ABAP 애플리케이션 (콘솔) 에서 애플리케이션을 실행합니다. 성공하면 다음과 같은 결과가 출력됩니다.

Source Phrase: Hello, World Target Phrase: Hola, mundo

권한 부여, 구성 또는 기본 사전 조건이 누락된 경우 오류 메시지가 표시될 수 있습니다. 다음 예를 참조하세요.

ERROR Could not find configuration under profile DEMO with scenario DEFAULT for SBX:001

SAP 시스템에서 IAM 역할을 수임하도록 IAM 권한이 구성되어 있지 않은 상태에서 SAP 역할이 SDK 프로파일을 사용하고 이를 논리적 IAM 역할에 매핑할 수 있는 권한을 부여하는 경우 다음과 같은 결과가 출력됩니다.

ERROR Could not assume role arn:aws:iam::111122223333:role/SapDemoTranslate

이 경우 1단계: 계정 준비 AWS에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토합니다.