본문 바로가기

ABAP 프로그래밍 개념/Architecture of SAP System

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이 릴리스(release)되어야 하고, 그 다음 request 자체가 릴리스되어야 합니다. request이 릴리스되면 그 안에 담겨있던 Objects들은 대상 시스템으로 자동으로 이동하거나 또는 관리자에 의해 수동으로 이동됩니다.

Objects가 이동되는 Target System은 해당 Objects가 할당된 패키지의 이동 경로(transport routes)에 따라 달라집니다.

위 그림은 1번 : Request와 2번 Task를 Transport Organizer에서 확인한 예시입니다.

아래 표는 Transport Organizer과 관련된 트랜잭션의 리스트입니다.

Transaction Description
SE01 Transport Organizer (Extended View)
SE09/SE10 Search Transport Request by User
STMS Transport Management System
SE03 Transport Organizer Tools

 

패키지를 만들 때, 아래 naming Rule은 지켜야합니다.

Package Naming Conventions Explanation
Names beginning with A to S 
or U to X
■ A to S / U to X로 시작하는패키지는 스탠다드 SAP 객체를 위해 예약되어 있으며, 이러한 패키지에는 고객이 직접 객체를 생성할 수 없다는 것입니다.

■ 이러한 패키지에 있는 객체는 타 클라이언트로 전송 가능하며, Transport Organizer는 이러한 패키지의 객체 변경 사항을 기록합니다. 이전글에서 보여준 것처럼, 이러한 패키지   Transpoart Attributes를 가지는데 SAP transport layer 에 속하며 SAP software component (예: SAP_BASIS, SAP_APPL 등)에 할당됩니다.
Names beginning with Y or Z 이 패키지에서는 Custom Objects가 생성되며, 이 패키지의 객체들은 Transport Organizer가 객체의 변경 내역을 기록하여 전송될 수 있습니다.
■ 이 패키지는 Software Component가 HOME으로 할당됩니다.
Packages belonging to a prefix namespace ■ 접두사 네임스페이스를 가진 패키지는 슬래시 (/)로 시작합니다. 다른 repository objects (예: 프로그램, 테이블 등)와 마찬가지로, 패키지도 접두사 네임스페이스에 속할 수 있습니다.

이러한 패키지에는 Customer objects가 생성됩니다. 이러한 패키지의 객체는 Transport Organizer가 이러한 패키지의 객체에 대한 변경 사항을 레코드로 남기므로 운송될 수 있습니다.
Names beginning with T (private test package ■ 이 패키지는 customer namespace(Y 또는 Z)에서 개체를 생성하거나 접두사 네임스페이스( /로 시작하는 개체)에서 Object 를 생성할 수 있도록 합니다.
  이 패키지는 transport layer에 속하지 않으므로 Transport Organizer를 사용하여 이 패키지의 객체를 전송할 수 없습니다. 그러나 패키지가 Transport Organizer에 연결된 경우, 해당 객체는 전송 불가능한 로컬 요청에 기록됩니다.
 이러한 패키지의 객체들은 transport of copies or relocation transports와 같은 특별한 transport requests을 통해서만 다른 시스템으로 이동할 수 있습니다. 기본적으로 새로 설치된 SAP 시스템에는 Transport Organizer와 연결되지 않은 개인적인 테스트 패키지인 TEST가 포함되어 있습니다.
 이 패키지들은 Software Component가 LOCAL로 할당되어 있습니다.
Names beginning with $ 
(local packages)
이러한 패키지에는 고객 네임스페이스 또는 접두사 네임스페이스의 객체가 생성될 수 있습니다.
이러한 패키지의 객체는 운송될 수 없습니다. 이러한 패키지는 transport layer에 속하지 않으며, Transport Organizer는 이러한 객체에 대한 변경 사항을 기록하지 않습니다. 이러한 패키지는 로컬 객체에 사용됩니다.
새로 설치된 SAP 시스템에는 기본적으로 로컬 패키지 ($TMP)가 포함되어 있습니다.

자주 개발한 Object를 저장하기 위해 기존에 시스템에 존재하는 패키지를 사용합니다. repository object를 저장하기 위해 사용되는 패키지는 transport layer(repository object가 전송될 클라이언트)와 application area(repository object가 속하는 비즈니스 기능)에 따라 다릅니다. 개발 Object를 구성하고 전송하는 방법은 조직마다 크게 다릅니다. 항상 조직에서 따르는 내부 프로세스와 코딩 표준을 확인해야 합니다.


새 패키지 만드는 방법


1. SE21 T-CODE를 사용하거나 T-CODE : SPACKAGE를 사용하여 Package Builder Tool에 접근합니다.

2. Package Builder : Initial Screen 화면에서, Package 라디오 버튼을 누르고, 만들 패키지의 이름을 입력합니다. 위 테이블에서 정리한 Package의 이름 규칙을 기억해두셔야합니다. 그 뒤에는 Create 버튼을 누릅니다

3. Create Package Dialog가 나타나며, Package의 속성을 정할 수 있습니다. 필수값으로는 Package의 이름과 Short Description만 설정되어 있습니다.

각각 필드의 속성은 아래와 같습니다.

- Package : Package의 이름
- Short Description : Package의 간단한 설명
- Application Component : 이 패키지에 저장될 개발 객체에 기반하여 적절한 응용 프로그램 구성 요소를 선택하려면 (F4) 도움말을 사용할 수 있음
- Software Component : Custome Package(사용자가 만든)에는 HOME이 선택됨
- Transport Layer : Object의 Target System에 기반하여 Transport Layer을 선택하십시오. 올바른 Transport Layer을 선택하려면 관리자나 BC 관리자와 상의해야 할 수 있습니다.
- Superpackage :  패키지는 중첩될 수 있으므로 패키지 계층 구조에서 다른 패키지에 현재 패키지를 하위 패키지로 포함시켜 더 나은 모듈화를 할 수 있습니다. 현재 패키지를 기존 패키지의 하위 패키지로 중첩하려면 이 필드에 상위 패키지의 이름을 제공하십시오.
- Package Type :  만들고 싶은 Package 유형을 입력합니다
→ Structure Package : Package 계층구조에서 최상위레벨에서 형성됩니다. Main Package를 Structure Package에 추가할 수 있습니다.
→ Main Package : 이것은 의미론적으로 연결된 development objects들을 담는 컨테이너 역할을 합니다. Main Package에는 하위 패키지들이 포함되어 있으며, 이 하위 패키지는 다른 Main Package나 standard development objects 가 될 수 있습니다. Development objects들은 항상 하위 패키지에 추가되며, 직접적으로 메인 패키지에 추가되지 않습니다. 여러 개의 Main Package를 그룹화하여 Structure Package를 형성할 수 있습니다.
→ Development Package : Development objects는 항상 Development Package에 추가됩니다.
- Package Encapsulated :  이 플래그를 설정하면 패키지를 캡슐화(encapsulation)할 수 있습니다. 패키지가 캡슐화되면, 패키지 인터페이스(package interfaces)에 노출된 개발 요소만이 외부 세계에서 볼 수 있습니다. 패키지 인터페이스를 사용하면 개발 객체를 다른 패키지에 노출할 수 있습니다..

4. 위 속성들을 필요에 맞게 입력하고 낫다면, 체크 표시를 클릭합니다.

5. Dialog Box가 나타나는데, 패키지를 저장할 Transport Request를 할당해햐합니다. Own Request 버튼을 눌러서 기존에 존재하고 있는 Transport Request를 사용하던가, A4용지 같은 버튼(CREATE 아이콘)을 눌러서 새로운 Request를 만들 수 있습니다.

6. 생성이라면 저장버튼을 누르고 Dialog에 체크버튼을 누르면 Package가 생성되고 해당 Package가 방금만든 Transport Request에 할당된 것을 확인할 수 있습니다.

 


요약


이 장에서는 SAP 시스템의 기술적 측면을 탐구했습니다. Basis 관리자가 이 장에서 다룬 구성 요소들의 대부분을 설정하고 구성하지만, 이러한 구성 요소에 대한 기본적인 이해는 ABAP 프로그램을 개발할 때 도움이 됩니다.

우리는 SAP 시스템의 세 가지 레이어인 프레젠테이션 레이어, 애플리케이션 레이어, 및 데이터베이스 레이어를 다루었습니다. 또한 SAP GUI 버전과 응용 프로그램 서버 및 데이터베이스 서버의 구성 요소와 같은 이러한 시스템을 구성하는 다양한 구성 요소를 살펴보았습니다.

우리는 또한 클라이언트 개념을 살펴보고, SAP 시스템의 데이터 구조를 논의하며, 데이터가 클라이언트에 특정되거나 여러 클라이언트에서 사용 가능한 방법을 탐구했습니다. 마지막으로, 레포지토리 객체와 이들이 패키지로 그룹화되는 방법에 대한 개요를 제공했습니다. 이 개요는 개발 객체에 대한 논의의 기초를 마련합니다.

반응형