아직도 Refresh 직접 호출? — Side Effects 자동 갱신 #shorts #SAP #ABAP

Moderator · 조회 3

Side Effects란?

RAP Behavior Definition에서 side effects는 특정 필드가 변경될 때 다른 필드를 자동으로 다시 읽어오는 선언적 메커니즘입니다. UI가 필드 변경을 감지하면 백엔드에서 지정된 대상 필드를 재조회해 화면을 갱신합니다. 수동 Refresh 없이 연관 데이터가 항상 최신 상태를 유지합니다.

Behavior Definition 선언

define behavior for ZRAP_SALES_ORDER
  ...
{
  side effects {
    field CustomerID affects field CustomerName,
                              field CreditLimit;
    field Quantity   affects field NetAmount,
                              field GrossAmount;
  }
}

CustomerID가 바뀌는 순간 Fiori Elements가 서버에서 CustomerNameCreditLimit을 자동으로 새로 가져옵니다.

Action 기반 Side Effects

side effects {
  action recalculate affects field NetAmount,
                               field TaxAmount,
                               field GrossAmount;
}

Action 실행 후에도 선언된 필드를 자동 갱신합니다. 계산 로직이 서버에 있어도 UI는 항상 최신 결과를 표시합니다.

연관 엔티티 갱신

side effects {
  field Status affects entity _Items;
}

상위 엔티티 필드 변경 시 하위 연관 엔티티 전체를 새로 읽어올 수 있습니다. 복잡한 마스터-디테일 시나리오에서 특히 유용합니다.

핵심 한 줄

Side Effects 선언 하나로 필드 변경 → 연관 데이터 자동 갱신, Refresh 코드 제로.