본문 바로가기

ABAP 프로그래밍 개념

(127)
2.2 Tables and Keys 관계형 모델(Relational Model)에서 테이블은 기본 엔티티(Basic Entitiy)입니다. 각 테이블은 실제 세계의 엔티티를 나타내야 하며, 이러한 엔티티는 실제 세계의 객체(Object)나 이벤트(Event)가 될 수 있습니다. 예를 들어, 고객은 실제 세계의 객체이고, 고객이 주문하는 것은 이벤트입니다. 테이블은 행(row)과 열(column)로 구성됩니다. 관계형 모델에서는 테이블의 각 행은 프로그래밍을 통해 유일하게 지정할 수 있도록 해야되며 각 행은 유일해야 합니다. 행의 고유성은 해당 테이블의 기본 키(primary key)를 정의하여 보장됩니다. 테이블의 기본 키(primary key)는 해당 행을 유일하게 식별할 수 있게 해주는 하나 이상의 필드로 구성됩니다. 각 테이블은 테이..
2.1 Relational Database Design 실제 세계 시스템(real-world system)을 반영하는 데이터베이스 모델을 구축하려면 시간과 노력이 필요합니다. 생성해야 하는 테이블, 생성할 테이블이 포함해야 하는 필드들, 테이블이 서로 어떻게 관련되어 있는지에 대해 결정해야 합니다. 관계형 모델(relation model)에 따라 설계된 좋은 데이터베이스는 여러 가지 이점을 제공합니다. 1) 좋은 설계는 데이터 입력, 업데이트 및 삭제를 효율적으로 만들어주며, 데이터 검색 및 요약을 쉽게 만듭니다. 2) 대부분의 데이터가 애플리케이션보다 데이터베이스에 저장되기 때문에 데이터베이스는 충분히 자체 문서화(self-documenting)되어야 합니다. 3) 좋은 데이터베이스 설계는 미래의 실제 요구 사항 변경을 고려해야 하며 데이터베이스 스키마 변..
2. Database Overview 데이터베이스는 RDBMS에 의해 관리됩니다. 관계형 데이터베이스는 특정 데이터 집합을 저장하는 여러 개의 테이블로 구성되며, RDBMS는 데이터가 저장되고 처리되는 방식을 표준화합니다. 관계형 데이터베이스에서 데이터는 테이블 간의 관계를 가진 여러 테이블에 저장됩니다. 관계형 데이터베이스 모델은 1969년 E.F. 코드에 의해 처음 제안되었습니다. 이 모델은 집합 이론(Set Theory)과 술어 논리(Predicate Logic : 수학의 분야 中 하나)에 기반을 두고 있습니다. 관계형 모델의 아이디어는 데이터베이스가 선언적 방식(nonprocedural operations)으로 조작될 수 있는 일련의 테이블로 구성된다는 것입니다. 관계형 데이터베이스에서 '관계형'이란 단어가 사용되는 것은 데이터베이스..
1.Introduction to Open SQL Statements SAP는 Oracle, Microsoft SQL 및 SAP HANA와 같은 다른 관계형 데이터베이스 관리 시스템(RDBMS)을 지원합니다. Structured Qeury Language(SQL)는 RDBMS에서 데이터 작업을 위해 설계된 프로그래밍 언어입니다. ABA은 두 종류의 SQL을 지원합니다. 1) Open SQL -> Open SQL을 사용하면 SAP ERP 시스템이 사용하는 기본 데이터베이스(Underlying Database)와는 독립적으로 데이터베이스 테이블에 액세스하고 일부 동작을 수행할 수 있습니다. Open SQL 문을 실행할 때 작업 프로세스(Work Process)의 데이터베이스 인터페이스(Database Interface)가 Open SQL 문을 기본 데이터베이스에 맞는 Nati..
5.2.5 Control Break Statements 루프에서 데이터를 처리하는 동안, 제어 브레이크 구문을 통해 특별한 제어 수준 처리(special control-level processing)를 수행할 수 있습니다. LOOP라는 Statement Block(구문 블록 : LOOP~ENDLOOP)은 Control Structure를 포함할 수 있는데 Control Strcture은 Control Strcture이 변화할 때 Control Break 구문의 실행을 발생시킬 (트리거 시킬)수 있습니다. 예를 들어 루프에서 첫 번째 레코드가 처리될 때, Control Strcture의 필드 값이 변경될 때 또는 루프의 마지막 레코드가 처리될 때 Control Break 구문이 트리거됩니다. Control Break 구문은 AT로 시작하여 ENDAT으로 닫힙니..
5.1.5 Use Cases Structure은 다음 경우에 사용해야 합니다. 1) 구조체를 사용하여 여러 필드의 데이터를 처리가 가능할 때 사용합니다. 예를 들어, 레코드를 처리하려는 경우, 해당 레코드의 필드를 구성 요소로 하는 Structure를 정의하고 레코드를 단일 엔티티로 처리할 수 있습니다. 2) 관련된 필드를 Structure로 그룹화하면 해당 필드들을 함께 처리해야하는 경우 사용할 수 있습니다. Structure의 각 필드의 데이터를 개별적으로 지우는 대신 한 번에 Structure의 모든 필드 데이터를 쉽게 지울 수 있습니다. 예를 들어 ABAP 데이터 사전 테이블 SFLIGHT의 모든 구성 요소를 갖는 S_SFLIGHT Structure가 있는 경우, 개별 필드에 대해 CLEAR 문을 사용하는 대신 CLEAR S..
5.1.4 Working with Structures 앞서서 로컬 및 글로벌 Structure를 정의하는 방법을 알았으니 ABAP 프로그램에서 이들을 사용하는 방법을 살펴보겠습니다. 프로그램에서 Structure Data Object를 정의하는 방법은 네 가지가 있습니다. 1) 프로그램 내에서 TYPES 키워드를 사용하여 정의된 Local Structure Type을 참조하여 정의 2) Global Structure Type를 언급(SE11에서 정의된) 3) ABAP Data Dictionary의 Table을 언급 4) Data 키워드를 사용하여 BEGIN OF ~ END OF 문법을 사용하여 다이렉트로 Data Object를 선언 Structure는 자신의 구성요소(Component)에 접근하는 방법을 제외하고는 단일 필드와 유사하게 동작합니다. Stru..
5.1.3 Global Structures Structure Type은 모든 프로그램 전체에서 가시성을 갖도록 전역으로 정의될 수 있습니다. Global Structure Type은 또한 함수 모듈 또는 메소드의 매개변수 인터페이스를 정의하는 데 사용되며, 일반 스크린의 화면 요소를 정의하는 데도 사용됩니다. Global Structure Type은 ABAP Data Dictionary(SE11)에서 생성되고 ,아래 순서에 따라 만들어질 수 있습니다. 1. SE11 Transaction Code를 실행 2. Data Type 라디오 버튼을 선택하고, Structure의 이름을 명시합니다. Structure의 이름은 반드시 Cusomer Namespace 안에 있어야하며 ,Y & Z로 시작합니다. 맞게 적었다면 Create 버튼을 클릭합니다. 3...