본문 바로가기

ABAP 프로그래밍 개념

(127)
5.1.2 Local Structures ABAP 프로그램에서 구조체를 정의하는 다양한 방법을 이해하기 위해 테이블 SFLIGHT의 예를 살펴보겠습니다. 구조체를 정의하는 방법을 이해한 후에는 구조체를 사용하여 데이터베이스 테이블에서 데이터를 처리할 수 있습니다. *TYPES 키워드 뒤에는 Chain Operator인 콜론(:)이 와야합니다. TYPES : BEGIN OF ty_sflight, CARRID TYPE S_CARR_ID, CONNID TYPE S_CONN_ID, FLDATE TYPE S_DATE, END OF ty_sflight. TYPES 키워드로 Data Type을 만들었으므로, 이를 이용해서 Data Object를 정의 가능 DATA st_sflight TYPE ty_sflight. *동일한 Structure Type은 Ele..
5.1.1 When to Define Structures 우리는 Structure를 데이터베이스 테이블 또는 순차 파일에 행과 열에 저장된 데이터와 같은 연속적인 데이터를 처리하는 데 사용합니다. Data Object를 사용하면 ABAP 프로그램에서 외부 소스(예: 데이터베이스 테이블 또는 순차 파일)에서 데이터를 가져올 수 있습니다. 이 작업은 ABAP 문에서 동일한 데이터에 액세스하기 전에(처리되기전에) 수행되어야 합니다(그림 5.3 참조). 따라서 ABAP 프로그램에서 처리할 데이터에 따라 단일 변수 또는 다중 필드가 있는 구조체가 필요한지 여부가 결정됩니다. 행에서 한개 이상의 필드나 완전한 행을 처리해야한다면 프로그램에서 Structure를 선언해야합니다. 만약 개별필드 혹은 행에서 하나의 필드만 다룬다면, Single Field를 선언하는 것이 좋습..
Structures and Internal Tables Overview 이전 장에서는 하나의 개별 필드를 선언하고 처리하는 방법에 대해 설명했습니다. 그러나 대부분의 경우, 우리는 연관된 필드들의 그룹에서 데이터를 작업할 것입니다. 예를 들어, 고객 데이터를 저장할 때, 모든 정보를 하나의 필드에 저장하지 않고, 고객의 이름을 저장할 하나의 필드, 주소를 저장할 다른 필드, 전화번호를 저장할 다른 필드 등을 만들어 고객에 대한 모든 다양한 정보를 저장합니다. 이번 장에서는 배열(array) 형식으로 데이터를 작업하는 데 사용되는 데이터 유형 및 데이터 객체에 대해 설명할 것입니다. ABAP 프로그램에서 데이터베이스 테이블의 데이터를 처리하려면, 데이터베이스처럼 열과 행을 가지고 데이터를 유사한 방식으로 저장할 수 있는 데이터 객체가 필요합니다. 이러한 데이터 유형과 개별 필..
3-3. Data Structure : Transport Organizer CTS(Change and Transport System)를 이용하여 Objects들이 클라이언트 간에 이동됩니다. Transport Organizer는 CTS 내에서 개발 및 커스터마이징 단계에서 변경되는 Objects들을 관리하는 도구입니다. Transport Organizer는 변경된 Objects들을 대상 클라이언트(QTST 또는 PROD)로 전달합니다. CTS(Change and Transport System)는 requests과 tasks을 사용하여 Objects들을 관리합니다. Objects들은 개발, 수정 등의 작업이 되면 tasks에 추가되고, tasks들은 requests으로 그룹화됩니다. Objects를 이동(transport)하기 위해서는 request에 있는 모든 tasks이 릴리..
3-2. Data Structure : Repository, Package Repository Repository 는 ABAP 프로그램, Screen, Menus, Function Modules, ABAP Data Dictionary Objects와 같은 ABAP Workbench Development Objects를 위한 시스템 중앙 저장소입니다. ABAP 프로그램의 소스코드와 테이블 정의 포함하여, 모든 데이터는 데이터베이스 테이블에 저장됩니다. 이러한 테이블은 클라이언트 필드 (MANDT)에 제한되지 않아, cross-client로 사용됩니다. 따라서, 한 클라이언트에서 테이블이나 프로그램을 생성하면 자동으로 모든 클라이언트에서 사용 가능합니다. 모든 Repository Object는 cross-client로 사용됩니다. 다시 말해, 테이블은 cross-client로 사용..
3-1. Data Structures : Client SAP 시스템에는 일반적으로 마스터 데이터, 사용자 데이터 및 트랜잭션 데이터와 같은 다양한 종류의 데이터가 포함됩니다. 각 SAP 시스템은 또한 여러 Client(이하 클라이언트)로 구성되어 있으며, 각 클라이언트는 SAP 시스템 내의 조직 단위를 나타냅니다. SAP 시스템에서 데이터 구조에 관련하여 다음 용어들은 구별되어야 합니다. ■ Client-specific data → 시스템의 특정 클라이언트에 존재하는 데이터 ■ Cross-client(Client-independent) data → 시스템의 모든 클라이언트에 존재하는 데이터 3.1 Client Overview 각 SAP 시스템은 여러 클라이언트로 분할될 수 있으며, 각 클라이언트는 세 자리 숫자 값으로 식별됩니다. 각 클라이언트에는 고유한 ..
2-3. SAP Implementation Overview : Database Server/Relational Database Management System: Database Layer 각 SAP 시스템은 application data, administration data, customizing settings, and ABAP source code를 포함한 전체 데이터 집합이 저장된 중앙 데이터베이스로 구성됩니다. 데이터베이스 레이어는 RDBMS로 구성됩니다. 이전에 언급한 대로 SAP는 SAP HANA, Oracle, MSSQL, IBM Db2, SAP liveCache 및 SAP MaxDB와 같은 다양한 데이터베이스 시스템을 지원합니다. SAP NetWeaver 7.5는 SAP HANA를 최적화하여 SAP HANA를 기본 데이터베이스로 사용하고 SAP HANA에 대한 애플리케이션 최적화를 용이하게 합니다. SAP HANA에 대해서은 추후 글을 통해 다루도록 하겠습니다. RDBMS를..
2-2. SAP Implementation Overview : Application Servers and Message Servers: Application Layer ABAP 프로그램은 Application Layer에서 실행되고, 모든 프로그램의 실행은 Application Server에서 이뤄집니다. Application Layer은 하나 혹은 그 이상의 Application Server와 Message Server를 포함합니다. Message Server은 Application Servers 간의 의사소통을 책임집니다. Application Server은 ABAP 코드를 실행할 수 있는 런타임 환경을 제공하며 ABAP 프로그램을 해석합니다. SAP Netweaver는 Application Server로써, ABAP과 JAVA 프로그램들을 위한 런타임 환경을 제공합니다. SAP Netweaver는 Pure ABAP System으로, Pure JAVA System,..