300x250
728x90

Draft란


Draft : 아직 활성 버전에 저장되지 않은 비즈니스 문서의 중간 버전이다.

쉽게 말하면 " 임시 저장 " 이라고 보면 된다. 

 

데이터를 입력하거나 글을 복사하거나 등 무엇을 입력할 때 날아가면 벌써부터 어지러워진다. 

SAP RAP에서는 Draft 기능을 추가 함으로써 입력했던 것을 임시 저장 할 수 있게 만들어준다.

 

# 시작하기 전 리스트와 CRUD까지 다 정의되어 있다 가정 하에 시작하겠다.

# 또한 이번 테이블에서는 Etag master을 사용하고 Draft , 생성/변경 로그 때문에 다음과 같이 Table설정하였다.

 

# 주의

Draft Table을 만들 때 Table Key UUID가 있어야 생성 버튼을 눌렀을 때 오류 메시지가 안 뜬다. 

만약 로직으로 사용해서 Number Range을 사용하면 되지만 사용 안 할 시에는 주의해야 한다.

 

여기서 Draft 기능추가하는 것만 보여주겠다.

UUID가 없는 것을 참고하자.

 

시작해 보자.

 

# 1. Behavior Definitions에서 Draft 기능을 활성화시켜 보자.


1. Behavior Definitions에서 ZI_CRUD_GJ에 들어가 보자.

# ZI_CARUD_GJZI_CRUD_GJ( Root View )에 행동 정의한 Definitions이다.

 

2. ( with draft; ) 추가해 보자. 

 

3. ( draft table ygj_df_crud ) 추가 한 뒤에 ( Ctrl + 1 ) 누른 뒤에 Draft Table을 만들어주자.

# Draft Table을 만드는 이유는 간단하다. 임시 저장 할 데이터 테이블을 만들어줘야 하기 때문이다. 

 

4. 빠른 보기( Ctrl + 1 ) 통해서 만들었으면 다음과 같이 자동으로 Table을 만들어 준다. 

# 만약 기본 Table이 변경되더라도 똑같이 빠른 보기를 만들면 Recreate draft Table ... 자동으로 만들어준다.

 

5.  밑에 2개를 추가해 주자. 

- etag master : 간단하게 말하자면 테이블 Lock이라고 생각하면 된다. 내가 테이블을 변경하고 있을 때 다른 사용자가 데이터를 변경하지 못 하도락 하는 문구라고 보면 된다. 

- lock master total etag : Draft 기능을 추가하려면 넣어주어야 하는 문구이다 

 

6. 다음은 빨간 상자 안에 있는 로직을 써줘야 한다. 로직을 쓰지 않을 경우 다음과 같은 오류가 뜬다. 

  draft action Edit;
  draft action Activate;
  draft action Discard;
  draft action Resume;
  draft determine action Prepare;

 

Draft Action Edit : Presistent Table에서 Draft Table로 COPY하는 기능 

Draft Action Activate : Draft Table의 데이터Presistent Table복사 한 후 Draft Table을 Clear 해주는 기능

Draft Action Discard : Draft Table의  모든 필드Clear 해주는 기능 

Draft Action Resume : Presistent Table의 instance을 잠금 설정 해주는 기능

Draft Determine Action Prepare : 유효성 검사 및 어떤 조건에 따라서 실행되는 기능

 

 

# 2. Behavior Definitions에서 Draft 기능을 활성화시켜 보자.


1. Behavior Definitions에서 ZC_CRUD_GJ에 들어가 보자.

 

2.  ( use draft; ) and ( use action ...; ) 을 넣어주자. Draft 기능사용한다는 것을 명시해 주자.

  use draft;

  use action Edit;
  use action Activate;
  use action Discard;
  use action Resume;
  use action Prepare;

 

# 3. 예시


1. 실행을 시켜서 Create( 생성 ) 버튼을 눌러서 을 넣어보자.

# 다음과 같이 Draft 기능추가된 것을 볼 수 있다. 

 

2. 버튼을 누른 상태에서 Draft Table을 확인해 보면 다음과 같이 이 들어가 있는 걸 볼 수 있다.

 

3. 리스트를 확인해 보자.

# 파란색 있는 라인 = Draft 기능 

 밑에 사진처럼 Draft 글씨가 보이게 하고 싶다면 Header Info설정해 주면 된다. 

 

 

끝.

 

 

 

도움이 되셨으면 클릭 한번 부탁드립니다!!

 

 

 

 

 

728x90