728x90
# 시작하기 전
# 프로젝트를 하면서 한 번쯤 보게 되는 [ *Scarr, *Mara, *BKPF ] 등등.. 이게 대체 뭘까라고 생각하게 된다.
# 보통, Tables : SCARR, *SCARR 이런 식으로 지정이 되어있다.
# 이걸 대체 언제 쓰냐? 왜 쓰냐?
# Layout에서 스크린 제어할 때 많이 사용하기도 하고, 기존에 있던 값과 새로운 값을 비교했을 때도 사용이 되기도 하며, 화면 변수들을 쉽게 구분하기 위해서 사용하기도 한다.
# 물론, 다른 Work Area 변수 선언을 해서 사용할 순 있지만, 동일한 이름의 테이블을 선언하는 것은 불가능하기 때문에 앞에 " * " 붙이는 것이다. ( BKPF, BKPF_OLD.. ) -> ( BKPF, *BKPF )
하지만,
# " * "을 쓰는 방식은 옛날 방식이기 때문에 되도록이면 안 쓰는 것이 좋다.
별표( * )가 붙은 Work Area : 스크린 이전 데이터 -> *BKPF
기본 Work Area : 변경된 데이터 -> BKPF
# 어떻게 보면,
* 붙은 Work area는 백 앤드
안 붙은 Work area는 프론트 앤드
라고 보면 될 것 같다
예를 들어)
사용자가 스크린에서 데이터를 변경하게 되면 [ BKPF ]의 필드가 변경이 되지만, [ *BKPF ]의 필드는 변경이 되지 않고 기존에 있던 데이터를 유지하는 역할을 하게 된다.
그렇게 된다면 [ IF BKPF <> *BKPF. ... END IF. ]을 선언하게 되는 것이다.
# 또한, Layout에서 [ Dict. 에서 얻기 ]에서 [ BKPF ] or [ *BKPF ]을 가져올 수 있기 때문에, 이런 식으로 구별이 가능하니 참고 바란다.
# 끝..!
# 사용할 때에는 상황에 맞게 설정하여 사용하면 될 것 같다.
728x90
'.ABAP > ..모든 것' 카테고리의 다른 글
SAP PERFORM( Object .. ) 못 찾을 때 (0) | 2025.03.20 |
---|---|
SAP PORT 열려있는지 확인 방법( Telnet ) (0) | 2025.02.04 |
SAP Customer Exit 사용법( SMOD/ CMOD ) (0) | 2025.01.10 |
SAP Enhancement 정리 ( User Exit, Customer Exit ) - 1 (0) | 2025.01.10 |
SAP MANDT 정리 (0) | 2024.12.26 |