Side effects란
# " 데이터, 권한 또는 메시지를 다시 로드하는 데 사용되거나 드래프트 지원 BO가 있는 UI 시나리오의 데이터 변경 사항에 따라 작업을 결정합니다. "
- https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/side-effects
쉽게 말해서 실시간으로 값이 변경 되게 만들어주는 작업을 해준다는 뜻이다.
예를 들면) 수수료를 변경할 상황이 생겨서 수수료를 변경했다. 그런데? 총 가격이 바뀌지가 않는 문제가 있었다. 그것을 방지하기 위해서 나온 것이 Side effects이다.
Side effects TYPE
Field : 해당 필드 A가 변경 될 때마다 side effects가 발생해서 Target이 다시 로드 된다.
side effects { field A affects Target }
Action : 해당 액션 A가 실행 될 때 마다 side effects가 발생하여 Target이 다시 로드 된다.
side effects { action A affects Target }
Determin Action : Draft에서 해당 Determin action A 해당하는 Field가 실행 될 때마다 side effects가 발생하여 Target이 다시 로드 된다.
side effects { determin action A executed on Field A affects Target }
ex) 유효성 검사를 실시간으로 하고싶을 때 많이 사용한다.
Target
# Field : 필드 대상 지정
# Permissions : 권한 설정 가능( Side effects 발생 시 )
- fields
- actions
- for the standard operations
# $Self : Entity을 다시 로드되게 해주는 것
# entity : Assoicated 연결된 Entitiy을 로드 해주는 것
# messages : Reported을 통해서 메시지를 띄우게 해주는 것 ( Odata V4에서만 가능 )
계산기 프로그램을 통해서 실시간으로 변경되게 만들어보자.
Table
Side effects 시작 전( Draft 기능 O )
1. 현재 프로그램은 실시간으로 값을 변경해도 결괏값이 변경이 안된다.
2. Behavior Definitions 정의한 것은 Determination을 통해서 값을 계산하였다.
3. Determination에서 선언한 로직.
# Draft 기능 일 때
MODIFY ENTITIES OF 사용 할 때에 %TKY을 사용해야 다음과 같은 오류가 안 나고 Draft 업데이트가 될 것이다.
오류 : You can't edit this instance at the momonet. it's currently locked.
4. Draft 기능에 대해서 알고 싶으면 밑에 링크를 보면 된다.
2023.06.20 - [.SAP/..RAP] - SAP RAP draft 기능 활성화( Managed )
Side effects 시작
1. Behavior Definitions에서 Root View behavior definition을 클릭하자.
2. 다음 Side effects을 추가해 보자.
# Side effects을 추가하려면 Strict ( , ) 추가 해줘야한다.
3. Behavior Definitions에서 Projection View behavior definition을 클릭하자.
4. ( use side effects ; ) 로직을 넣어보자
use side effects;
5. 그리고 실행을 해보면 실시간으로 변경되는 걸 볼 수 있다.
사진일 뿐이지만,,,
참고문헌
https://help.sap.com/docs/btp/sap-abap-restful-application-programming-model/side-effects
'.BTP > ..Cloud ABAP(RAP)' 카테고리의 다른 글
SAP RAP Generate ABAP Repository Objects 정리 (2) | 2023.07.22 |
---|---|
SAP RAP to BAS 연결 정리(BTP) (0) | 2023.07.21 |
SAP RAP 넘버레인지( Number Range ) 정리 (15) | 2023.06.29 |
SAP RAP 첨부파일 올리기 (10) | 2023.06.21 |
SAP RAP 아이콘( Icon ) 설정 하는 방법 (11) | 2023.06.20 |