본문 바로가기

ABAP 프로그래밍 개념

(127)
2.1 PARAMETERS 파라미터는 ABAP 프로그램에서 Global Elementary Data Object와 Selection Screen의 입력 필드에 할당되는 Selection Screen의 구성 요소입니다. 즉, PARAMETERS 키워드는 두 가지 작업을 수행합니다. 1) 프로그램 내에서 데이터 객체를 정의합니다. 2) 선택 화면에서 화면 요소(예: 입력 필드 또는 체크박스)를 정의합니다. 시스템은 프로그램 데이터 객체를 화면 필드와 자동으로 연결하여 Selection Screen과 프로그램 간에 자동 데이터 전송을 용이하게 합니다. 이렇게 함으로써 사용자가 Selection Screen에 입력한 내용은 자동으로 ABAP 프로그램으로 전송되어 해당 데이터 객체에 저장되며, 이후 ABAP 문장에서 액세스할 수 있습니다...
1.User Interaction SAP GUI 환경에서 일반적으로 선택 화면(Selection Screen), 목록 화면(List Screen) 및 일반 화면(Genenral Screen)으로 일컬어지는 세 가지 유형의 화면이 있습니다. ABAP에서 화면은 dynpro(동적 프로그램)로도 알려져 있습니다. dynpro는 프로그램의 구성 요소이며, Executable Program, Module Pool Program 및 Function Group이라는 세 가지 유형의 ABAP 프로그램만이 dynpro를 지원합니다. 하나의 프로그램에는 여러 개의 dynpro가 있을 수 있습니다. dynpro는 screen, dynpro fields 및 dynpro flow logic으로 구성됩니다. General dynpro는 Screen Painter..
5. Processing Data from Databases via Internal Tables and Structures Internal Table과 Structure는 주로 데이터베이스 테이블에서 데이터를 처리하는 데 사용됩니다. 모든 트랜잭션 데이터가 데이터베이스 테이블에 저장되기 때문에, 우리는 거의 모든 ABAP 프로그램에서 Internal Table과 Structure를 사용합니다. 여러 개의 테이블을 사용할 때는 Interna Table을 다루는 것이 처음에는 조금 까다롭게 느껴질 수 있습니다. 여러 개의 Internal Table에서 데이터를 처리할 때는 항상 중첩 루프( Nested Loop : 루프 내부에 또 다른 루프)를 피해야 합니다. 중첩 루프는 성능을 저하시키기 때문입니다. 우리는 항상 메인 테이블을 루프 돌리고 보조 테이블(Secondary Table)을 읽습니다. 여러 테이블에서 데이터를 처리해야..
4. Selecting Data from Multiple Tables 지금까지 우리가 다룬 구문은 단일 테이블에서 데이터를 선택할 수 있게 해줍니다. 하지만 실제 애플리케이션에서는 외래 키가 있는 여러 테이블에 데이터가 분산되어 있습니다. 외래 키 관계에 있는 테이블에서 데이터를 선택하려면 조인 또는 SELECT 문과 함께 FOR ALL ENTRIES 추가를 사용할 수 있습니다. FOR ALL ENTRIES라는 Addition은 데이터베이스 테이블에서 데이터를 선택하고 이를 이전에 다른 데이터베이스 테이블에서 데이터를 Select한 Internal Table과의 데이터와 비교할 수 있게 해줍니다. 이는 두 개의 테이블에서 데이터를 처리하는 경우 효율적입니다. 아래 예시는 FOR ALL ENTRIES를 사용하는 구문을 보여줍니다. 여기에서 데이터는 먼저 데이터베이스 테이블 ..
3. Selecting Data from Database Tables Internal Table을 사용하여 데이터베이스 테이블에서 가져온 데이터를 처리하고 한 번에 여러 행의 데이터를 저장할 수 있습니다. 이 섹션에서는 데이터베이스에서 가져온 데이터를 처리하는 데 사용할 수 있는 몇 가지 Open SQL 문을 살펴볼 것입니다. SELECT 키워드는 데이터베이스 테이블에서 데이터를 가져옵니다. 단일 레코드나 여러 레코드를 선택할 수 있으며, 가져온 데이터를 ABAP 프로그램에서 선언한 Structure나 Internal Table에 어디에 넣을지 선택할 수 있습니다. 데이터베이스 테이블의 모든 필드를 완전히 선택하거나 특정 필드만 선택하여 가져올 수 있습니다. 더보기 * UNION Addition SAP NetWeaver 7.5 부터, UNION addtion을 통해 두 개..
2.5 Normalization 정규화(Normalization)는 데이터베이스 디자인을 간소화(단순화)하는 과정입니다. 정규화는 필요한 테이블의 수, 각 테이블이 나타내는 내용, 각 테이블의 필드 수 및 테이블 간 관계에 대한 핵심 질문에 대한 답변을 제공합니다. 또한 정규화는 데이터베이스 디자인에서 중복 및 이상 현상(redundancy and anomalies)을 방지하는 데 도움을 줍니다. 이상 현상(anomalies)은 데이터베이스 테이블에서 레코드를 삽입(Inserting), 업데이트(Updating) 또는 삭제(Deleting)하는 동안 (만약 데이터베이스가 잘못 설계되었을 경우) 발생할 수 있습니다. 예를 들어, 아래 표에 나와 있는 데이터베이스 테이블이 있다면 고객 주소를 변경하기 위해 레코드를 업데이트할 때 고객 레코..
2.4 Relationship 외래 키(Foreign Key)는 실제 세계의 엔티티들(Real-world Entities) 간의 관계를 모델링합니다. 이러한 실제 세계의 엔티티들(Real-world Entities)은 복잡한 관계를 가질 수 있습니다. 예를 들어, 한 엔티티는 다른 엔티티와 여러 관계를 가질 수 있습니다. 관계형 데이터베이스에서, 관계는 두 테이블 간에서 정의됩니다. 이러한 테이블들은 세 가지 방법 중 하나로 관련될 수 있습니다. 1) One-to-One Relationship 두 개의 테이블이 일대일(one-to-one) 관계에 있다는 것은 첫 번째 테이블의 각 행에 대해 두 번째 테이블에 최대 한 개의 행만 존재한다는 것을 의미합니다. 일대일 관계는 거의 사용되지 않습니다. 주로 데이터를 소프트웨어 제한 때문에 여..
2.3 Foreign Keys and Domains 각각의 테이블에서 기본 키(primary key)가 정의되지만, 다른 테이블과의 관계를 정의하기 위해 외래 키(foreign key) 관계를 사용해야 하는 경우가 있습니다. 외래 키(foreign key)는 한 테이블의 필드로, 다른 테이블의 기본 키(primary key)를 참조하는 데 사용됩니다. 예시를 살펴보겠습니다. 아래 표는 고객 세부 정보가 저장된 고객정보 테이블을 보여줍니다. 이 테이블의 주 키는 각 행을 고유하게 식별하는 Cust ID 열입니다. Cust ID Name Address Zip Code Phone 1 Joey 171 CE 123123 02)XXX-XXX 2 James 345 DE 123456 031)XXX-XXX 3 John 563 WE 789456 054)XXX-XXX 아래 ..