ABAP

[ABAP] NUMBER_RANGE 일련번호 생성하기

ye11 2024. 4. 22. 16:50

데이터를 생성해서 테이블에 넣을 때, 

NUMBER RANGE 함수를 사용해서 고유한 일련번호를 자동으로 만들어서 PK로 사용 할 수 있다.

원하는 일련번호를 만드는 방법을 알아보자.

 

나는 구매오더코드 일련번호를 만들건데

"PO + 5자리 숫자 " 형태로 만들거다

EX) PO00001, PO00002 ...

 

1) T - CODE = SNRO 에서 시리얼 넘버 만들기

원하는 이름으로 시리얼 넘버를 생성해준다.

 

나는 숫자 5자리를 만들거기 때문에 NUM 5 으로 설정해준다.

도메인의 최대 길이는 20자리이다.

 

- %Warning : 임계치(몇%가 남았을떄)

- to-business year flag = 년도별

- No rolling 9999 이후 다시 1부터 시작 안할건지. 

 

를 설정해주고 저장합니다.

 

2)  INTERVALS 설정하기

늘어나는 숫자가 어디서부터 시작할건지 어디까지 증가할건지 정하는것이다.

보통 1부터 시작하지만 난 테스트 데이터를 구별하기 위해 100번부터 시작하도록 설정할 것이다.

 

클릭하고

 

연필 클릭

이렇게 2개로 나눠준다

나는 500번부터 쓸 거기 때문에 이따 함수에 넣을때 '01' 을 넣으면 된다.

만약 1번부터 쓰고싶으면 '02' 를 넣으면 된다.

저장하고~

 

3) NUMBER_GET_NEXT 함수에 적용하기

 

 

NR_RANGE_NR 은 바로 전 INTERVALS 설정했을때 '01' '02' 원하는 번호를 입력한다.

'01'을 입력했으니 500번부터 나와야 한다

 

OBJECT에는 아까 만든 시리얼 넘버 이름을 넣어준다

 

IMPORTING의 NUMBER는 결과값을 받는 변수를 하나 만들어서 넣어준다.

나는 7자리 CHAR TYPE LV_NO를 선언해서 넣어줬다.

 

돌려보면

LV_NO가 500부터 나오는 것을 확인 할 수 있다.