본문 바로가기

ABAP 프로그래밍 개념/OPEN SQL

(16)
COALESCE Function Coalesce 함수를 SQL 표현식 또는 Open SQL에서 표현식의 피연산자로 호출합니다. Coalesce 함수는 쉼표로 구분된 목록으로 최소 2개 이상 255개 이하의 인수 arg1, arg1, ..., argn을 가질 수 있습니다. 이 함수는 null 값이 없는 첫 번째 인수의 값을 반환합니다. 모든 인자에 널 값이 있으면 마지막 인자 argn의 값이 반환됩니다. 여는 괄호 뒤와 닫는 괄호 앞에 공백을 넣어야 합니다. 가능한 인수(Argument)는 여러 가지가 있습니다: ■ ACCP, DF16_SCL(더 이상 사용되지 않음), DF34_SCL(더 이상 사용되지 않음), LCHR, LRAW, PREC, RAWSTRING 및 STRING을 제외한 모든 사전 유형을 가진 열 및 기타 표현식. ■ 문자..
CASE Function 2 : Complex Case Complex Case ... CASE WHEN sql_cond1 THEN result1 [WHEN sql_cond2 THEN result2] [WHEN sql_cond3 THEN result3] ... [ELSE resultn] END ... Open SQL에서의 Complex case distinction (Searched CASE)는 Logical Expression sql_cond1, sql_cond2 등을 평가하고, 첫 번째로 참인 논리 식 이후에 피연산자 result를 결과로 생성합니다. 어떤 논리 식도 참이 아닌 경우 ELSE 이후에 지정된 결과가 선택됩니다. ELSE가 지정되지 않은 경우 결과는 제로 값(Zero Value)입니다. 결과 result1, result2 등은 열(Column)..
CASE Function 1 : Simple Case OPEN SQL에서 Case문의 구별은 Simple case와 Complex case로 구분지을 수 있습니다. Simple Case ... CASE operand WHEN operand1 THEN result1 [WHEN operand2 THEN result2] ... [ELSE resultn] END ... Simple Case Ditinction (Open SQL에서 간단한 경우)는 SQL 식으로, 피연산자(operand)의 값과 피연산자 operand1, operand2 등을 비교하고, 첫 번째 THEN 이후에 비교가 참인 경우 결과로 피연산자 result를 생성합니다. 일치하는 경우가 없으면 ELSE 뒤에 지정된 결과가 선택됩니다. ELSE가 지정되지 않은 경우 결과는 제로(Zero) 값이 됩니다..
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
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를 사용하는 구문을 보여줍니다. 여기에서 데이터는 먼저 데이터베이스 테이블 ..