ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Open SQL & Native SQL] Overview
    SAP/Abap 2022. 1. 11. 18:19

    [SAP R/3 Architecture]

    SAP R/3 architecture는 3개의 layer로 구성되며, Application layer와 Database layer의 서버들은 물리적으로 존재한다.

    1) Presentation layer 

    • 독립적인 PC를 의미한다. 즉, SAP GUI를 통해 개별 PC에서 SAP 시스템에 접속하는 환경을 의미한다.
    • SAP GUI 구성을 위한 SW 컴포넌트들의 정보가 존재한다.
    • 해당 layer는 사용자와 R/3 시스템 간의 인터페이스를 제공하며 사용자는 인터페이스(SAP GUI)를 통해 데이터에 접근할 수 있다.

    2) Applicaiton layer

    • SAP의 모든 프로그램들이 구동되는 서버, 즉 실제 SAP 시스템을 의미한다.
    • 하나의 message server와 다수의 application server가 존재하며, message server는 여러 application server와의 통신을 통해 시스템의 부하를 제어한다.
      • 이때, Dispatcher(분배기)가 다수의 work process를 다수의 application server로 적절히 분배하는 역할을 수행한다.
    • Application layer에 open SQL 을 위한 local buffer가 위치해있으며 buffer를 통해 시스템의 성능을 향상 할 수 있다.

    3) Database layer

    • SAP 시스템의 모든 데이터를 저장하고 있는 layer이다. 
    • 다른 program language와는 달리 SAP 시스템에서는 DB로 직접 접근하는것이 불가능하다.
      • 따라서 Open SQL & Native SQL문을 통해 DB에 간접적으로 접근할 수 있다.

     

    [SQL]

    SQL이란 Structured Query Language의 약자로 관계형 데이터베이스에 표준화된 언어이다.
    DML(Data Manipulation Language) Database 내의 data에 대한 CRUD(Create, Read, Update, Delete)를 위한 language
    DDL(Data Definition Language) Database를 생성(정의)하기위한 language
    DCL(Data Control Language) Database 내의 data의 관리를 위한 language

     

    [Open SQL vs Native SQL]

    1) Open SQL

    • SAP 시스템 내 ABAP 언어에서만 사용되는 language
    • Database 내의 data를 조작(Manipulate)할 수 있는 abap 명령어(DML)로 구성되어 있고, DDL, DCL은 사용이 불가능하다.
    • DBMS의 환경에 독립적고 사용법이 간단하며, 프로그램이 활성화되면 자동으로 Syntax check가 수행된다.
    • Abap dictionary에서 생성된 table, view에만 적용이 가능하다.

    2) Native SQL

    • Database에 직접적으로 사용되는 SQL language로 DML, DDL, DCL을 사용할 수 있다.
    • Open SQL로 수행되기 어려운 작업은 Native SQL로 수행한다.

    3) SAP local buffer

    • SAP R/3 architecture에서 지원하는 기술로 Database의 부하를 제어하는 역할을 담당한다.

     

    [Open SQL 명령어]

    SELECT Database table에서 data를 읽음
    INSERT Database table에 data를 추가함
    UPDATE Database table의 data를 변경함
    MODIFY INSERT(동일 key값이 없는 경우) || UPDATE(동일 key값이 있는경우)
    DELETE Database table의 data를 삭제함
Designed by Tistory.