EXPORTING, IMPORTING

Ada·2024년 10월 2일

SAP ABAP

목록 보기
17/21

1. EXPORTING과 IMPORTING의 개념:

EXPORTING:

값을 메서드나 함수로 전달할 때 사용된다. 즉, 호출하는 쪽에서 값을 제공하고, 그 값을 함수나 메서드로 보내는 역할을 한다.

IMPORTING:

메서드나 함수가 처리한 결과 값을 호출하는 쪽으로 다시 전달할 때 사용된다. 즉, 메서드나 함수가 값을 계산하거나 처리한 후 반환하는 역할을 한다.

상황 1: EXPORTING만 사용하는 경우

여기서는 데이터를 호출자가 함수나 메서드로 보낸다. 함수는 그 값을 내부에서 사용하지만 결과를 반환하지는 않는다.

예시: 어떤 데이터를 서버로 보내기만 하는 상황

CALL FUNCTION 'DISPLAY_MESSAGE'
  EXPORTING
    message_text = '안녕하세요!'.  " 메시지를 함수로 보낸다
  • 여기서 message_text'안녕하세요!'라는 값을 담고 있고, 이 값이 함수로 전달된다.

  • 함수는 이 값을 받아서 메시지를 출력하는 역할을 한다. 값을 보내기만 하고, 결과는 반환되지 않는다

상황 2: IMPORTING만 사용하는 경우

여기서는 함수가 호출자에게 값을 반환한다. 즉, 호출자는 값을 보내지 않고, 함수가 계산한 결과만 받는다.

예시: 계산된 값을 받아오는 상황

CALL FUNCTION 'GET_TOTAL_AMOUNT'
  IMPORTING
    total_amount = result_variable.  " 함수가 계산한 값을 받아 저장
  • total_amount는 함수에서 반환한 값으로, 함수가 계산한 결과가 result_variable에 저장된다.

  • 호출자는 값을 보내지 않고, 함수가 제공하는 결과만 받는다.

    상황 3: EXPORTING과 IMPORTING을 동시에 사용하는 경우

    이 상황에서는 데이터를 함수로 보내고 그 데이터를 사용해 계산된 결과를 다시 반환받는다. 즉, 양방향으로 데이터가 흐른다.

예시: 값을 보내고, 그 값을 기반으로 결과를 받아오는 상황

CALL FUNCTION 'CALCULATE_TOTAL'
  EXPORTING
    price = 100   " 가격을 함수로 보냄
  IMPORTING
    total = total_price.   " 총 가격을 받아옴
  • price는 호출자가 함수로 보내는 값이다. 예를 들어, 100이라는 값을 함수로 보내는 것이다.

  • total은 함수가 처리한 후 반환하는 값이다. 예를 들어, 세금이 추가된 총 가격을 계산하여 total_price에 저장한다.

  • 여기서 데이터가 양방향으로 흐른다: 호출자가 100을 보내고, 함수는 이를 바탕으로 총 가격을 반환한다.


2. CREATE OBJECT g_container EXPORTING 설명:

CREATE OBJECT g_container
    EXPORTING
      container_name = g_cont_name.

여기서 g_cont_name은 값을 함수로 전달하는 변수이다. 컨테이너의 이름을 설정하기 위해 g_cont_name 값을 컨테이너 객체로 보낸다.

이 코드의 흐름:

  • CREATE OBJECT는 객체를 생성하는 명령이다. 여기서는 g_container라는 컨테이너 객체를 생성하고 있다.

  • EXPORTING: g_cont_name이라는 값을 컨테이너 객체로 전달한다. 즉, 컨테이너의 이름을 설정하기 위해 g_cont_name 값을 보내는 것이다.

정리:

  • g_cont_name은 값을 전달하는 변수이다. 이 값이 컨테이너 객체로 전달되어 컨테이너의 이름으로 설정된다.

  • CREATE OBJECT는 새로운 컨테이너 객체를 생성하고, 그 객체에 전달된 값을 이용해 설정을 한다.

요약:

EXPORTING: 값을 함수나 메서드로 전달한다. (예: 내가 값을 주는 역할)
IMPORTING: 함수나 메서드에서 처리한 결과를 반환받는다. (예: 내가 결과를 받는 역할)
EXPORTING과 IMPORTING을 동시에 사용: 값을 함수로 보내고, 함수가 처리한 결과를 다시 반환받는다. (예: 값을 주고, 결과를 받는 양방향 흐름)

그리고 CREATE OBJECT 코드에서 g_cont_name은 값을 객체에 전달하는 변수. 이 값은 컨테이너의 이름으로 사용됨.

profile
백엔드 프로그래머

0개의 댓글