본문 바로가기

분류 전체보기

(184)
2. Creating AMDP Classes AMDP 프로시저를 생성하려면 전역 클래스를 ADT를 사용하여 클래스 라이브러리에 정의해야 합니다. 클래스의 정의에 하나 이상의 태그 인터페이스가 포함되어 있는 경우 해당 클래스는 AMDP 클래스로 분류됩니다. 태그 인터페이스는 IF_AMDP_MARKER로 접두사가 붙으며, 프로시저가 구현된 데이터베이스 시스템을 나타내는 접미사로 끝납니다. 다음 섹션에서는 AMDP 메소드를 정의하고 구현할 때 고려해야 할 여러 가지 전제 조건을 이해할 것입니다. 또한 AMDP를 사용하고 현재 데이터베이스(또는 데이터베이스 연결을 사용하여 지정된 데이터베이스)가 ABAP 애플리케이션에서 AMDP 기능을 지원하는지 확인하는 방법을 배우게 될 것입니다. *Marker Interace인 IF_AMDP_MARKER_HDB는 SA..
1.2 Development Environment for AMDP AMDP를 생성하고 변경하기 위해 ABAP 개발 도구 (ADT)를 사용하는 것은 필수입니다. 고전적인 SAP GUI 기반의 트랜잭션 SE24는 표시 기능만 지원하기 때문입니다. ADT는 또한 개발자가 AMDP와 효과적으로 작업하고 생산성과 효율성을 향상시키기 위해 추가 기능을 제공합니다. ADT가 제공하는 AMDP 관리를 위한 몇 가지 기능은 다음과 같습니다. 이제 ADT에서 지원하는 일부 기능을 살펴보겠습니다. 아래 그림에서 볼 수 있듯이, SAP GUI 기반의 클래스 빌더 (트랜잭션 SE24)는 AMDP 클래스를 편집할 수 없으며 표시 기능만 지원합니다. 따라서 AMDP에 대한 우선적인 개발 환경은 ADT입니다. ADT에서는 폼 기반 편집기의 모양을 변경하여 구문 오류를 강조하고 내장된 (데이터베이스..
1.1 ABAP-Managed Database Procedure Framework 만약 기본 데이터베이스가 SAP HANA인 경우, AMDP(ABAP-Managed Database Procedures)는 코드 푸시다운 기능을 달성하기 위한 권장 기술입니다. 이 프레임워크는 ABAP 환경에서 데이터베이스 프로시저를 생성하고 관리하기 위해 상향식 접근법을 사용합니다. AMDP 프레임워크는 AMDP 프로시저의 전체 라이프사이클 - 생성, 변경, 활성화 및 전송 -이 ABAP 런타임 환경에 의해 응용 프로그램 계층에서 처리되는 것을 보장합니다. 개발자로서, AMDP 클래스의 AMDP 메소드 구현에서 프로시저를 작성하게 됩니다. 전통적인 ABAP 메소드와 달리, AMDP 메소드는 고유한 메소드로서 SQLScript, 네이티브 SQL 및 L(SAP 내부적으로 사용하는 언어)과 같은 데이터베이스 ..
1. AMDP Introduction Overview 이 책에서 이전에 배운 내용을 간략히 되짚어보겠습니다. 아래 그림에 나와있는 고전적인 코딩 스타일에서 개발자들은 FOR ALL ENTRIES, JOIN, 또는 ABAP Dictionary 뷰와 같은 데이터베이스 배열 연산을 사용하여 한 번에 모든 데이터를 검색하여 애플리케이션을 설계했습니다. 이 접근 방식은 애플리케이션과 데이터베이스 서버 간의 데이터 전송 요청을 제한함으로써 데이터베이스 서버의 부하를 줄였습니다. 이후의 데이터 처리 작업은 애플리케이션 서버의 내부 테이블에서 수행되어 원하는 결과를 얻게 됩니다. 그러나 이 접근 방식의 단점은 데이터 검색을 위해 복잡한 SQL 쿼리가 형성되었다는 것이었습니다. 불필요한 데이터가 애플리케이션 계층에서 검색, 필터링 및 처리되어 성능 문제가 발생했습니다. 이..
String Function ... func( arg1[, arg2] ... ) ... 문자열 함수 func를 SQL 식 또는 Open SQL에서 식의 피연산자로 호출합니다. 함수의 인수 arg1, arg2, ...는 괄호 안에 쉼표로 구분된 목록으로 지정됩니다. 여는 괄호 뒤와 닫는 괄호 앞에 공백을 배치해야 합니다. 다음 표에는 SQL 표현식으로 지정할 수 있는 문자열 함수와 인수에 대한 요구 사항이 나와 있습니다. 함수의 의미는 문자열에 대한 SQL 함수에서 확인할 수 있습니다. * 인자(Argument)인 expr, expr1, expr2 및 expr3은 SQL 표현식, 보다 구체적으로 개별 Column, 리터럴(Literal), SQL 함수, 호스트 변수(Host Variable) 또는 호스트 표현식(Host Express..
Numeric Function 문법 ... func( arg1[, arg2] ... ) ... Numeric Function인 'func'를 SQL 표현식 또는 Open SQL에서 표현식의 피연산자로 호출합니다. 함수의 인수 'arg1', 'arg2', ...는 괄호 안에 쉼표로 구분된 목록으로 지정됩니다. 여는 괄호 뒤와 닫는 괄호 앞에 공백을 배치해야 합니다. 다음 표에는 SQL 표현식으로 지정할 수 있는 숫자 함수와 인수에 대한 요구 사항이 나와 있습니다. 함수의 의미는 숫자 값에 대한 SQL 함수에서 확인할 수 있습니다. 문법 유효한 인수 유형 결과 유형 ABS( expr ) All numeric types except decimal floating point numbers(십진 부동 소숫점 숫자를 제외한 모든 숫자 유형) 인..
OPEN SQL의 사용 OPEN SQL에서 사용할 수 있는 SQL의 함수 및 기능은 다음과 같습니다. ■calls of built-in function -Numeric functions -String functions -Coalesce function ■arithmetic calculations ■type modifications ■chainings of character strings ■case distinctions
Authorization Concept ABAP 기반의 권한 부여 프레임워크는 아래 그에 나와 있는 것처럼 여러 구성요소들인 권한 객체, 프로파일, 그리고 사용자 역할을 활용하여 애플리케이션 내에서 권한과 관련된 체크를 구현합니다. 이러한 체크들은 사용자가 프로그램, 트랜잭션, 또는 애플리케이션에 접근할 때 ABAP 런타임 환경에서 암묵적으로 수행됩니다. 또 다른 방법으로, 애플리케이션 코드 내에서 명시적으로 권한을 체크하려면 AUTHORITY-CHECK 문을 사용하여 런타임에서 접근을 평가할 수도 있습니다. 그러나 이 접근 방식의 단점은 애플리케이션 데이터와 애플리케이션에서 사용되는 권한 객체 사이에는 보이지 않는 연결이 존재한다는 것입니다. 또한 디버깅 권한이 있는 사용자는 이러한 체크를 우회할 수 있으며, 이는 보안 위험을 야기할 수 있..