ABAP 슥 훑어보기 - 2


🍚 Structure (구조체)


  • 테이블과 같이 필드로 구성되어 있지만, 데이터는 저장할 수 없으며 구조만 가짐

  • 실제 데이터베이스에는 생성되지 않고, ABAP Dictionary에만 존재하는 타입

  • ABAP 프로그램에서 참조로 사용되거나 테이블 또는 구조체의 구조로 포함됨(INCLUDE, APPEND)

  • 테이블을 사용하듯이 TABLES 구문으로 선언해 구조체를 개별 프로그램의 Work Area로 사용할 수 있음

  • Module Pool 화면(Screen)의 인터페이스를 정의하고, Function Module에서 파라미터 타입으로 정의될 수 있음

  • 구조체는 다른 구조체를 Include 할 수 있으며, 그 깊이에는 제한이 없음

  • 여러 프로그램에서 같은 구조의 타입으로 인터널 테이블을 사용하고자 할 때 종종 사용됨



🍚 Subroutine


  • FORM 으로 시작해 ENDFORM 으로 끝나는 구문

  • 스크립트의 모듈화, 재사용, 구조화를 주목적으로 함

  • PERFORM 구문으로 Subroutine을 호출하면 FORM 구문 수행

  • FORM 구문은 프로그램 내,외부에서 호출 가능



🍚 Interner Table


  • ABAP 프로그래밍의 꽃 🌹

  • 프로그램 내에서 정의하여 사용할 수 있는 Local Table

  • 구조체 배열(array)의 개념을 모두 지원하며, 실제 DB 테이블의 모습과 유사하게 사용할 수 있도록 구현됨

  • INITIAL SIZE 구문으로 테이블 크기 선언, 미리 메모리에 할당(Load) 하는 것이 아닌 예약(Reserve)하는 것 -> INSERT / APPEND 구문으로 Line을 추가할 때 마다 메모리에 Load -> 동적인 구조체 배열 (Dynamic Data Object)

  • 구조체 타입을 정의한 후 그 타입을 참고해 인터널 테이블을 생성하는 것이 일반적 : 1. 구조체 타입 선언 -> 2. 구조체 타입을 참고하는 인터널 테이블 선언 -> 3. 이 타입을 참고해 인터널 테이블 생성



🍚 Modulel Pool


  • 개발자가 직접 생성한 일반 스크린을 사용

  • 데이터를 조회, 수정, 삭제, 생성하는 등의 데이터 관리를 위한 목적



🍚 INITIALIZATION


  • 이벤트 중 프로그램을 실행했을 때 가장 먼저 수행되는 것

  • SELECTION-SCREEN이 조회되기 전에 작동 > 변수에 초깃값을 지정할 때 흔히 사용



🍚 WITH HEADER LINE


  • = Work Area

  • 인터널 테이블 선언 시 WITH HEADER LINE 구문을 추가하면 생성됨

  • 헤더 라인이 있는 인터널 테이블을 정의하면 헤더 라인에 담긴 정보를 바로 사용할 수 있음

      DATA itab TYPE TABLE OF t_str WITH HEADER LINE.
    
  • ABAP 언어에 객체 지향 개념이 도입되면서 헤더 라인이 있는 인터널 테이블을 사용하지 말 것을 권장하고 있음



🍚 T-CODE


  • Transaction Code

  • SAP 어플리케이션에서 Function 또는 프로그램을 실행할 때 보다 빠르게 접근할 수 있도록 해주는 것

    • SE11 : ABAP Dictionary, Table, View, Structure와 같은 Object를 생성하는 개발 툴

    • SE80 : Object Navigator (ABAP과 관련된 Workbench가 통합되어 있음)

Categories:

SAP/ABAP