SAP HANA CLOUD

[SAP RAP] 클래스에 BO 데이터 읽어오는 방법

선짱 2025. 12. 19. 15:42
반응형

ECC 버전에서는 SQL 로 가져왔다면 이제는 BO 데이터로 가져와야한다.

 

READ ENTITIES OF zr_ppt_0010_t IN LOCAL MODE

  ENTITY zr_ppt_0010_t

    FIELDS ( Material Plant BomUsage )

    WITH CORRESPONDING #( keys )

  RESULT DATA(lt_data)

  FAILED failed .

 

-      ENTITY 뒤에 오는 내용은 되도록이면 BDEF 랑 맞춰주는게 좋다.

-      ALL FIELDS WITH CORRESPONDING #( keys ) 쓰면 모든 필드명을 맞춰서 가져와줌

-      3개의 필드만 가져왔으니까 WITH CORRESPONDING

-      ENTITY를 써서 데이터를 읽어야만 하는이유는 DRAFT 테이블과 권한 문제때문.

WITH CORRESPONDING 이 원래있던 MOVE-CORRESPONDING 이랑 같음.

 

 

 

 

두번째로 키사용을 안하고 가지고 오는 방법 !

 

READ ENTITIES OF zr_ppt_0010_t IN LOCAL MODE

ENTITY zr_ppt_0010_t

ALL FIELDS

WITH VALUE #( ( %tky = keys[ 1 ]-%tky ) )

RESULT DATA(lt_data) .

 

-      %tky 사용하면 시스템이 알아서 최신 상태의 데이터를 가지고옴

-      keys[ 1 ]: 는 입력받은 키 목록중 첫번째 데이터 가져와서 조회조건 쓰겠다는 거임

키를 모르는 상태에서 전체 조회하거나 필터링 할 때 쓰는 것

 

정리하면 전달받은 키 목록(keys) 중 첫 번째 항목의 만능 열쇠(%tky)를 사용하여,

해당 데이터의 모든 필드(ALL FIELDS)를 최신 상태(Draft 포함)로 읽어서 lt_data에 담아라.

 

 

 

세번째로는 내가 맨날하던 SQL 로 읽기!

EML이 아닌 일반 SQL 문법으로 DB 테이블을 직접 조회하는 방법임

 

 

SELECT * FROM zppt_0010t

  FOR ALL ENTRIES IN @keys

  WHERE material = @keys-material

INTO TABLE @DATA(lt_db_data).

 

 

근데 수정중인 데이터는 다 EML 로 읽어야해서 리드 엔티티를 이젠 더 많이 쓰겠따 !

 

 

 

반응형