ABAP 용어 정리

Ada·2024년 9월 9일
0

SAP ABAP

목록 보기
7/21

ABAP 에서 사용되는 용어들, 특히 JAVA 와 유사한 기능을 하는 용어들을 정리해보려 한다.

1. 변수 선언 및 데이터 타입

ABAP:

DATA 키워드를 사용해 변수를 선언하며, 데이터 타입과 길이를 명시함

DATA: age TYPE I VALUE 25,           " 정수형 변수
      name TYPE STRING VALUE 'John', " 문자열 변수
      is_adult TYPE ABAP_BOOL.       " 부울형 변수

IF age > 18.
  is_adult = abap_true.
ELSE.
  is_adult = abap_false.
ENDIF.

JAVA:

자바에서는 변수 선언 시 데이터 타입을 먼저 명시함

int age = 25;
String name = "John";
boolean isAdult = age > 18;

2. 문자열 처리

ABAP:

  • 문자열 처리에 여러 내장 함수를 사용함

  • CONCATENATE, SPLIT, SHIFT, CONDENSE 등이 사용됨

    문자열 처리 관련하여 따로 포스팅 추가 예정


    JAVA:

  • 문자열 처리에 String 클래스와 관련 메서드들을 사용함

  • concat(), split(), trim() 등의 메서드가 주로 사용됨

    3. 조건문과 루프

    ABAP:

  • 조건문은 IF ... ENDIF, CASE ... ENDCASE 형태로 사용됨

  IF age > 18.
    WRITE: / 'Adult'.
  ELSE.
    WRITE: / 'Not an Adult'.
  ENDIF.
  • 루프는 LOOP AT ...ENDLOOP 구조로 사용됨

    DATA: lt_numbers TYPE TABLE OF I WITH EMPTY KEY,
       lv_number TYPE I.
    
     APPEND 1 TO lt_numbers.
     APPEND 2 TO lt_numbers.
     APPEND 3 TO lt_numbers.
     APPEND 4 TO lt_numbers.
     APPEND 5 TO lt_numbers.
    
     LOOP AT lt_numbers INTO lv_number.
       WRITE: / lv_number.
     ENDLOOP.

    JAVA:

  • 조건문은 IF 또는 SWITCH로 구현됨

    if (age > 18) {
     System.out.println("Adult");
    } else {
       System.out.println("Not an Adult");
    }
   - 루프는 `for`, `while`, `foreach` 와 같은 구문으로 처리됨

```java
int[] numbers = {1, 2, 3, 4, 5};
for (int number : numbers) {
    System.out.println(number);
}

4. 함수 및 메소드 호출

ABAP:

  • 함수 모듈 호출은 CALL FUNCTION 문으로 실행됨

  • 메서드는 CALL METHOD 문을 사용하여 호출됨

    FORM add_numbers USING a TYPE I
                      b TYPE I
                 CHANGING result TYPE I.
    result = a + b.
    ENDFORM.
    
    DATA result TYPE I.
    PERFORM add_numbers USING 5 10 CHANGING result.
    WRITE: / result.

    JAVA:

  • 단순히 메소드이름()으로 호출함

  • 클래스의 메소드는 object.메소드이름() 으로 호출함

      public int addNumbers(int a, int b) {
         return a + b;
     }
    
     int result = addNumbers(5, 10);
     System.out.println(result);

    5. 예외 처리

    ABAP:

  • 예외처리는 TRY ... CATCH ... ENDTRY 구조를 사용하여 에러를 처리함

  • 주로 함수 모듈이나 메서드 내에서 발생한 에러를 처리하는 데 사용됨

    JAVA:

  • 동일하게 try ... catch ... finally 구문을 사용함

    ** ABA 에서는 주로 SAP 시스템 내 특정 에러 처리를 위한 예외 구조가 있음

    6. 내장 시스템 변수

    ABAP:

  • sy-subrc: 최근 실행된 명령의 성공 여부를 나타냄 (0은 성공, 4는 실패)

  • sy-datum: 현재 날짜를 저장하는 시스템 변수

    JAVA:

  • 시스템 변수 대신 명령의 성공 여부를 반환하는 boolean 값이나 직접 관리하는 변수를 사용함

    7. 데이터베이스 접근

    ABAP:

  • Open SQL 을 사용하여 SAP 데이터베이스에 접근함

  • 데이터는 내부 테이블 (lt_employees) 에 담고, LOOP AT 을 통해 순회함

    DATA: lt_employees TYPE TABLE OF zemployees,
       ls_employee  TYPE zemployees.
    
     SELECT * FROM zemployees INTO TABLE lt_employees.
    
     LOOP AT lt_employees INTO ls_employee.
       WRITE: / ls_employee-name.
     ENDLOOP.

    JAVA:

  • JDBC 또는 Hibernate 등을 사용하여 데이터베이스에 접근함

    String query = "SELECT * FROM employees";
     Statement stmt = connection.createStatement();
     ResultSet rs = stmt.executeQuery(query);
    
     while (rs.next()) {
         System.out.println(rs.getString("name"));
     }
profile
백엔드 프로그래머

0개의 댓글