◆ 3. 클래스생성(AMDP)
생성한 Table Function 코드를 보면 맨 아래에 implemented by method ZCL_PO_BASE_INFO=>GET_ZLFA1; 구문을 확인할 수 있습니다.
1번째 단계에서 생성한 Calculation View ( or Attribute View )는 ADMP라는 기능을 통해 조회가 가능합니다. 이를 위해 클래스를 생성하고 메서드를 생성해야 합니다. 이제 클래스(Class)를 생성해 보도록 하겠습니다.
Project Explorere 에서 개발클래스를 선택 후 마우스 우클릭 합니다. 이 후 표시되는 메뉴에서 ABAP Class 를 선택합니다. ( 이미 생성된 Calss에 메서드만 추가할 수도 있습니다. )
위 화면으로 전환됩니다. Project 와 Package는 기본입력이 되어있습니다. (개발클래스를 선택 후 마우스 우클릭 하여 실행했기 때문입니다.) 만약 입력되어있지 않다면 오른쪽의 Browse...버튼을 클릭하여 Project 및 Package를 선택합니다.
Name에 Class로 사용할 이름을 입력하고, Description에 Class에 대한 내역을 입력합니다.
Next 버튼을 클릭합니다.
개발 Request를 생성합니다.
기존에 생성된 Request를 선택할 수 있으며, 필요현 경우 신규 Request를 생성할 수 있습니다.
이번에는 기존에 있는 Request에 반영하면 되기 때문에 해당 Request를 선택하고 Finish를 선택합니다.
프로젝트 탐색기에서 생성된 클래스를 확인할 수 있습니다.
해당 항목을 더블 클릭하면 오른쪽 코드와 같은 생성된 클래스에 대한 기본 템플릿 코드를 확인할 수 있습니다.
위와 같이 코딩을 합니다.
클래스 선언부에 있는 INTERFACES if_amdp_marker_hdb. 구문은 필수로 필요합니다.
메서드 선언부 시작 부분의 by DATABASE FUNCTION FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY. 구문도 필수 입력되어야 합니다.
위 그림을 참고하여 앞에서 생성했던 Table Function과 Class ==> Method 의 관계를 확인합니다.
※ 참고 : Table Function 활성화 시 지정한 클래스 및 메서드에 대한 유효성 점검은 수행하지 않습니다.
Table Function 마지막 라인에 입력했던 구문을 보겠습니다.
implemented by method ZCL_PO_BASE_INFO=>GET_ZLFA1;
위와 같이 코딩을 했습니다. 앞부분의 ZCL_PO_BASE_INFO 는 생성한 Class의 이름입니다. GET_ZLFA1 은 Class에 정의한 Method 의 이름입니다.
클래스 안에 메서드 선언부를 보겠습니다.
class-METHODS : GET_ZLFA1 for table function ZTF_PO_ZLFA1.
메서드 선언부의 for table function ZTF_PO_ZLFA1. 부분에서 ZTF_PO_ZLFA1 값은 앞의 단계에서 생성한 Table Function 이름을 지정합니다.
그리고 이어서 클래스 IMPLEMENTATION 부분에서 METHOD GET_ZLFA1 메서드를 정의합니다.
METHOD GET_ZLFA1
by DATABASE FUNCTION FOR HDB LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY.
RETURN
SELECT
MANDT,
LIFNR,
LAND1,
NAME1,
KTOKK,
STCD1,
STCD2
FROM "_SYS_BIC"."ZPO01/ZPO_LFA1" ;
ENDMETHOD.
위와 같이 코딩을 하였습니다. 코드 부분에서 주요 부분을 살펴보겠습니다.
by DATABASE FUNCTION FOR HDB LANGUAGE SQLSCRIPT
OPTIONS READ-ONLY.
위 코드는 Select 구문 앞부분에 입력되어있어야 합니다.( Activation시 오류발생 )
그리고 그 아래에 Select 구문을 작성합니다. 이때 From 뒤에 Select 대상 테이블을 결정하게 됩니다.
FROM "_SYS_BIC"."ZPO01/ZPO_LFA1" ;
위 처럼 코딩을 했습니다. 여기에서 "_SYS_BIC" 이 부분이 Point입니다. 1번째 단계에서 만들었던 Calculation View ( or Attribute View )를 읽어오는 부분인데, 위 코드를 통해 SYSID를 서버에 따라서 동적으로 결정하게 됩니다. "ZPO01/ZPO_LFA1" 이 부분에서 ZPO01 은 Package 이름입니다. 그 뒤의 ZPO_LFA1 은 1번째 단계에서 만들었던 Calculation View ( or Attribute View ) 이름입니다.
Select 구문을 확인하기 어려울때에는 아래 메뉴를 통해 쉽게 확인할 수 있습니다.
Hana Studio에서 1번째 단계에서 생성했던 Table Function 을 선택하여 마우스 오른쪽 버튼을 클릭합니다. 팝업되는 메뉴중에서 Generate Select SQL 을 선택하면 그림 오른쪽과 같은 Select 구문을 확인할 수 있는데 Class Method 선언부에 위 Select 구문을 입력합니다.
구문 입력이 완료 되었다면 해당하는 Class를 활성화 합니다.
상단 툴바의 Activate를 클릭하거나 Ctrl+F3을 실행합니다.
Elclipse 프로그램 하단에 위와같이 Active Object OOOOOOOOO Generated 메시지를 확인하고 다음 단계를 수행합니다. 에러가 발생한 경우 에러 내역을 확인하여 조치 후 활성화까지 완료된 후 다음 단계로 넘어갑니다.
[SAP Story/CDS View] - SLT로 복사된 테이블 조회하는 CDS View 생성하기(feat.CAR)_4
'SAP Story > CDS View' 카테고리의 다른 글
CDS View Part 01. 소개 (0) | 2022.11.07 |
---|---|
개요_SLT로 복사된 테이블 조회하는 CDS View 생성하기(feat.CAR) (0) | 2022.10.18 |
(2)_SLT로 복사된 테이블 조회하는 CDS View 생성하기(feat.CAR) (0) | 2022.10.18 |
(4)_SLT로 복사된 테이블 조회하는 CDS View 생성하기(feat.CAR) (0) | 2022.10.18 |
(1)_SLT로 복사된 테이블 조회하는 CDS View 생성하기(feat.CAR) (0) | 2022.10.18 |
댓글