

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

# 시작하기 AWS SDK for SAP ABAP
<a name="getting-started"></a>

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

**Topics**
+ [1단계: AWS 계정 준비](#prepare-account)
+ [2단계: SDK 설치](#installation-sdk)
+ [3단계: SDK 구성](#configure)
+ [4단계: 기능 설정](#functional-setup)
+ [5단계: SAP 사용자 권한 부여](#authorize-users)
+ [6단계: 코드 작성](#write-code)
+ [7단계: 애플리케이션 실행](#run-application)

## 1단계: AWS 계정 준비
<a name="prepare-account"></a>

SDK for SAP ABAP를 시작하려면 활성 AWS 계정 (이)가 있어야 합니다. SAP 시스템이 온프레미스, SAP Business Technology Platform(BTP) 또는 다른 클라우드 공급자와 호스팅되는 AWS 계정 경우에도가 필요합니다.

SAP 시스템이 AWS 클라우드에서 실행 중인 경우에서 서비스를 호출 AWS 합니다 AWS 계정.

**Topics**
+ [SAP 사용자의 IAM 역할](#iamrole)
+ [Authentication](#authentication)

### SAP 사용자의 IAM 역할
<a name="iamrole"></a>
+ AWS Identity and Access Management 사용자 설명서에 제공된 지침에 따라 IAM 역할을 생성합니다.** 자세한 내용은 [AWS 서비스에 권한을 위임할 역할 생성을 참조하세요](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html). 나중에 사용할 수 있도록 IAM 역할의 Amazon 리소스 이름(ARN)을 적어 둡니다.
+ 사용 사례로 Amazon EC2를 선택합니다.
+ 역할 이름으로 `SapDemoTranslate`을(를) 사용합니다.
+ `TranslateReadOnly` 프로파일을 역할에 추가합니다.
+ SAP 시스템이 역할을 수임할 수 있으려면 역할에 다음 엔티티가 있어야 합니다. `{{"111122223333"}}`를 AWS 계정 번호로 바꿉니다.

------
#### [ JSON ]

****  

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

------

  이 예제는의 AWS 계정 모든 보안 주체가 역할을 수임할 `{{"111122223333"}}` 수 있음을 보여줍니다. 이는 개념 증명에 적합한 광범위한 권한입니다. 다음 예와 같이 프로덕션에 더 좁은 보안 주체를 사용할 수 있습니다.
  + 특정 사용자 - SAP 시스템에서 다음 중 하나를 사용하는 경우:
    + 온프레미스 SAP 시스템의 SSF 암호화 자격 증명
    + SAP BTP의 SAP Credential Store 서비스, ABAP 환경의 자격 증명
  + 특정 역할 — SAP 시스템이 Amazon EC2에 있고 인스턴스 프로파일이 있는 경우.
  + Amazon EC2 — SAP 시스템이 Amazon EC2에 있고 인스턴스 프로파일이 *없는* 경우.

자세한 내용은 [IAM 보안 모범 사례](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/best-practices.html)를 참조하세요.

### Authentication
<a name="authentication"></a>

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

**Topics**
+ [AWS 클라우드에서](#aws-cloud)
+ [온프레미스, SAP BTP 또는 기타 클라우드](#on-premises-other)

#### AWS 클라우드에서
<a name="aws-cloud"></a>

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

------
#### [ JSON ]

****  

```
{
    "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 또는 기타 클라우드
<a name="on-premises-other"></a>

SAP 시스템이 온프레미스, SAP BTP 또는 다른 클라우드에 있는 경우 다음 단계에 따라 보안 액세스 키를 사용하여 인증을 위한 연결을 설정합니다.

1. IAM 사용자를 생성합니다. 자세한 정보는 [IAM 사용자(콘솔) 생성](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html#id_users_create_console)을 참조하세요.

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

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

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

**참고**  
SAP 시스템이 온프레미스, SAP BTP 또는 다른 클라우드에 있는 경우 다음 옵션 중 하나를 사용하여 인증할 수 있습니다.  
SSF 또는 SAP 자격 증명 스토어를 사용한 [보안 액세스 키 인증](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/system-authentication.html#key-authentication) 
[IAM Roles Anywhere에서 인증서 사용](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/using-iam.html)

## 2단계: SDK 설치
<a name="installation-sdk"></a>

설치 지침은 다음 탭을 참조하세요.

------
#### [ SDK for SAP ABAP ]

SAP 시스템에서 SAP ABAP 전송을 위한 SDK를 가져옵니다. 모든 클라이언트로 전송을 가져올 수 있습니다. 자세한 내용은 [SDK for SAP ABAP 설치를](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/installation.html) 참조하세요.

------
#### [ SDK for SAP ABAP - BTP edition ]

**제품 배포** 애플리케이션을 사용하여 SDK for SAP ABAP - BTP 에디션을 설치합니다. 자세한 내용은 [SDK for SAP ABAP 설치 - BTP 에디션](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/installation-btp.html)을 참조하세요.

------

## 3단계: SDK 구성
<a name="configure"></a>

SDK를 구성하기 전에 필요한 권한이 있는지 확인합니다. 자세한 내용은 [SAP 권한 부여를 참조하세요](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/authorizations.html).

구성 지침은 다음 탭을 참조하세요.

------
#### [ SDK for SAP ABAP ]

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

다음 구성을 완료합니다.
+ **기술 사전 조건**으로 이동합니다.
  + 권장 [파라미터](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/prerequisites.html#parameters) 및 [HTTPS 연결을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/prerequisites.html#https-connectivity) 검토합니다.
+ **글로벌 설정** → **시나리오 구성**으로 이동합니다.
  + [글로벌 설정의 권장 사항에 따라 설정을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/global-settings.html) 변경합니다.
+ **글로벌 설정** → **기술 설정**으로 이동합니다.
  + [글로벌 설정의 권장 사항에 따라 설정을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/global-settings.html) 변경합니다.
+ **런타임 설정** → **로그 및 추적**으로 이동합니다.
  + **새 항목**을 선택합니다.
    + **추적 수준**: 추적 없음.
    + **최대 덤프 라인**: `100`.
    + **옵트인: enh 원격 분석**: 이 항목은 비워둡니다.
  + **저장**을 선택합니다.
+ **런타임 설정** → **활성 시나리오**로 이동합니다.
  + **새 시나리오**에서 `DEFAULT`을(를) 선택합니다.
  + **시나리오 변경 커밋**을 선택합니다.
  + 프롬프트를 수락합니다.

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

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

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

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

------
#### [ SDK for SAP ABAP - BTP edition ]

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

다음 구성을 완료합니다.
+ **시나리오 구성**으로 이동합니다.
  + [글로벌 설정의 권장 사항에 따라 설정을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/global-settings.html) 변경합니다.
+ **기술 설정**으로 이동합니다.
  + [글로벌 설정의 권장 사항에 따라 설정을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/global-settings.html) 변경합니다.

------

## 4단계: 기능 설정
<a name="functional-setup"></a>

설정 지침은 다음 탭을 참조하세요.

------
#### [ SDK for SAP ABAP ]

트랜잭션을 실행`/AWS1/IMG` (명령 표시줄`/n/AWS1/IMG`에를 입력하고 **Enter**를 선택)하여 AWS SDK 구현 안내서를 엽니다.
+ **애플리케이션 구성** → **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 자격 증명 스토어 사용을](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/credential-store.html) 참조하세요.

웹 브라우저에서 ABAP 환경을 열고 사용자 지정 비즈니스 구성 애플리케이션으로 이동합니다.
+ **SDK 프로파일**로 이동합니다.
  + **편집**을 선택하여 새 프로필을 생성합니다.
    + **프로파일**: `DEMO`.
    + **설명**: `Demo profile`.
+ 생성된 항목 옆의 오른쪽 화살표 키를 선택하여 **인증 및 설정** 탭으로 이동합니다.

  **새 항목**을 선택합니다.
  + **SID**: 현재 사용 중인 SAP 시스템의 시스템 ID입니다.
  + **클라이언트**: 현재 사용 중인 SAP 시스템의 클라이언트입니다.
  + **시나리오 ID**: 기본 관리자가 생성한 DEFAULT 시나리오를 찾을 수 있는 드롭다운 목록입니다.
  + **AWS 리전**: 호출할 AWS 리전을 입력합니다. SAP 시스템이 실행 중인 경우 실행 중인 AWS 리전을 AWS입력합니다.
  + 인증 방법: **SAP 자격 증명 스토어에서 자격 증명을** 선택합니다.
  + SAP 자격 증명 스토어에 저장된 자격 증명의 **네임스페이스**와 **키 이름을** 입력합니다.
  + SDK for SAP ABAP - BTP 에디션과 SAP 자격 증명 저장소 간의 통신을 설정하기 위해 생성된 **통신 계약의** 이름을 입력합니다.
  + **IAM 역할 비활성화**를 공란으로 유지합니다.
+ 생성된 항목 옆의 오른쪽 화살표 키를 마우스 오른쪽 버튼으로 클릭하여 **IAM 역할 매핑 ** 탭으로 이동합니다.

  **새 항목**을 선택합니다.
  + **시퀀스 번호** 입력: 010.
  + **논리적 IAM 역할** 입력: TESTUSER
  + **IAM 역할 ARN** 입력: 이전 단계에서 생성한 `TranslateReadOnly` 정책이 포함된 IAM 역할의 arn:aws:를 입력합니다.

------

## 5단계: SAP 사용자 권한 부여
<a name="authorize-users"></a>

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` 역할이 할당된 모든 사용자는 AWS SDK 프로파일에 구성된 설정으로 `DEMO` 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 비즈니스 사용자에게 할당합니다. **저장**을 선택합니다.

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

------

## 6단계: 코드 작성
<a name="write-code"></a>

자세한 내용은 다음 탭을 참조하세요.

------
#### [ 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 클래스**를 선택합니다.

1. 클래스 이름`ZCL_DEMO_XL8_SIMPLE`에를 입력하고 클래스 설명을 추가합니다. **다음**을 선택합니다.

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

**다음 코드를 추가합니다**.

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

------

SDK를 사용하는 ABAP 코드를 작성하는 방법에 대한 자세한 내용은 [사용을 AWS SDK for SAP ABAP](https://docs.aws.amazon.com/sdk-for-sapabap/latest/developer-guide/using-sdk.html) 참조하세요.

## 7단계: 애플리케이션 실행
<a name="run-application"></a>

자세한 내용은 다음 탭을 참조하세요.

------
#### [ 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 계정 준비](#prepare-account)에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토합니다.

------
#### [ SDK for SAP ABAP - BTP edition ]

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

```
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 계정 준비](#prepare-account)에 정의된 IAM 역할, 사용자 또는 둘 다에 대한 IAM 권한 및 신뢰 구성을 검토합니다.

------