300x250
728x90

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 )

 

SAP RAP draft 기능 활성화( Managed )

Draft란 Draft : 아직 활성 버전에 저장되지 않은 비즈니스 문서의 중간 버전이다. 쉽게 말하면 " 임시 저장 " 이라고 보면 된다. 데이터를 입력하거나 글을 복사하거나 등 무엇을 입력할 때 날아가

potato98.tistory.com

 

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

 

 

728x90