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

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

시작하기 AWS SDK for SAP ABAP

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

1단계: 계정 AWS 준비

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

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

IAMSAP사용자 역할

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

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

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

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

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

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

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

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

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

      • , 환경의 자격 SAP 증명 저장소 서비스의 자격 증명 SAP BTP ABAP

    • 특정 역할 — 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시스템의 시스템 ID입니다. SAP

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

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

참고

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

2단계: SDK 설치

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

SDK for SAP ABAP

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

SDK for SAP ABAP - BTP edition

제품 배포 응용 프로그램을 사용하여 SDK BTP 에디션용 SAP ABAP 버전을 설치합니다. 자세한 내용은 SAPABAP- SDK BTP 에디션용 설치를 참조하십시오.

3단계: 구성 SDK

를 SDK 구성하기 전에 필요한 승인이 있는지 확인하십시오. 자세한 내용은 승인을 참조하십시오SAP.

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

SDK for SAP ABAP

/AWS1/IMG트랜잭션을 실행하여 에 SDK 대한 구현 안내서를 SAP ABAP 여십시오. 이 트랜잭션을 실행하려면 SAP 시스템의 명령 표시줄에 를 입력한 다음 Enter를 선택합니다. /n/AWS1/IMG

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

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

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

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

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

    • 새 항목을 선택합니다.

      • 추적 수준: 추적 없음.

      • 최대 덤프 라인: 100.

      • OPT-IN: enh 원격 측정: 이 항목은 비워 두십시오.

    • 저장을 선택합니다.

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

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

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

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

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

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

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

참고

Amazon에서 SAP 시스템을 실행하는 경우 위의 사전 요구 사항은 적용되지 않습니다. EC2 SAPAmazon에서 실행되는 시스템은 Amazon EC2 인스턴스 메타데이터에서 수명이 짧은 자격 증명을 자동으로 교체하여 EC2 가져옵니다.

SDK for SAP ABAP - BTP edition

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

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

4단계: 기능 설정

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

SDK for SAP ABAP

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

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

    • 새 항목을 선택합니다.

      • 프로파일: DEMO.

      • 설명Demo profile.

      • 저장을 선택합니다.

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

    • 새 항목을 선택합니다.

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

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

      • 시나리오 ID: Basis 관리자가 만든 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: Basis 관리자가 만든 DEFAULT 시나리오를 찾을 수 있는 드롭다운 목록입니다.

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

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

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

    • SDKBTP에디션용 SAP ABAP 및 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

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

      • 액세스를 위한 프로필 AWSAPIs: DEMO

      • 논리적 IAM 역할: TESTUSER

    • 저장을 선택합니다.

    • 생성을 선택합니다.

    • 뒤로를 선택합니다.

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

SAP사용자에게 PFCG 역할 할당

ZAWS_SDK_DEMO_TESTUSER역할이 할당된 모든 사용자는 DEMO SDK 프로필에 구성된 설정으로 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 비즈니스 역할을 할당하려면 추가를 선택합니다. 저장을 선택합니다.

생성된 비즈니스 역할에 할당된 모든 비즈니스 사용자는 DEMO SDK 프로필에 구성된 설정으로 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.

를 사용하는 ABAP 코드를 작성하는 방법에 대한 자세한 내용은 사용을 참조하십시오 AWS SDK for SAP ABAP. SDK

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

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

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

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

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

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