# Number Range란
# SAP 시스템에서 고유한( Key ) 번호를 자동으로 생성해 주는 기능이다. 예를 들어, 판매오더 번호, 회계전표 번호, 고객 코드, 아니면 CBO 등
# 왜 필요한지..
- 데이터 중복 방지( 데이터 무결성 )
- 번호 규칙 설정 가능
- 자동 채번
- 등등//
# 시작하기 전
밑에서 버퍼링을 설정할 때 크게 두 가지로 나누어지는데 나중에 [ NR 상태 ]를 봤을 때 확인하는 방법이 달라지게 된다.
밑에 링크를 확인해 보자.
정말 많이 쓰는 Number Range 시작..!
01. T-CODE 관련
# [ T-CODE : SNRO ] : Number Range Object 생성/관리

# [ T-CODE : FBN1 ] : FI 전표번호 채번 설정

# [ T-CODE : VN01 ] : SD 문서 번호( 판매오더 등) 채번

# [ T-CODE : OMH7 ] : MM 문서 번호( 구매요청, 구매오더 등) 채번

# 우리는 여기서 CBO를 다루기 때문에 T-CODE : [ SNRO ]로 들어가보자.
02. Number Range 설정
# 01. 우선 다음 [ T-CODE : SNRO ]를 통해서 Number Range을 열어보자.

# 02. [ 생성 ]을 누르게 되면 다음 화면이 뜨고 크게 [ 범위, Customizing, 그룹 ]으로 나뉘어 진다.

# [ 간격 ] 탭

## Subobj. data element( 하위 오브젝트 데이터 요소 ): Subobject를 사용할 때 연결할 Data Element 지정
- Data element 기준으로 채번이 가능하게 설정할 수 있다. ( 예: 회사코드 등 )
- 회사에 따라서 Number Ranges 다르게 가져갈 수 있다.

## 번호 길이 도메인 : 번호 길이를 Domain( 도메인 )을 통해서 설정할 수 있다.
## % 경고 : 번호가 몇 % 이상 채워지게 되면 경고 메시지 출력 가능하게 설정
- 90%... , 80%...
## 접두어 : Subobject와 연결되며, 자동으로 채번되면서 고정된 문자를 붙여주는 설정이다.
- 번호만 설정할 시 : 0001, 0002, 0003, 0004, 0005
- 접두어 [ CO ]를 넣을 시 : CO0001, CO0002, CO0003, CO0004, CO0005
## 종료연도플래그 : 연도별로 간격을 나눠서 채번을 설정하게 할 수 있다.

## 릴링 없음: 번호가 꽉 찼을 때 다시 처음 번호로 채번을 할 건지 설정할 수 있다.
- 만약 0001 ~ 0008로 잡았으면 [ 8 ]처럼 꽉 찼을 때 다시 채번을 하면 다음과 같이 처음 번호로 채번이 된다.
- 상황에 맞게 잘 설정해야 한다.


# [ Customizing ] 탭

## NR 트랜잭션 : 설정한 Number Range를 트랜잭션으로 연결해 주는 설정이다.
- 예를 들어) [ ZFI ]라고 트랜잭션으로 설정하면 T-CODE : [ ZFI ]을 통해서 다음 화면으로 넘어올 수 있다.

## 버퍼링 : 번호를 어떻게 가져올지 설정하는 기능
- X [ 메인 메모리 버퍼링 ] : 서버 전체에서 공유되는 버퍼 -> 미리 번호 수에 따라서 가져오게 한다 -> DB 부담 감소
예를 들어) 채번을 1 ~ 99까지 잡았다고 치면 [ 번호 수 ]에 따라서 한 번에 10을 가져올 건지 1씩 가져올 건지 설정할 수 있다.
- S [ 병렬 버퍼링(Shared Memory) ] : 병렬 처리 시 안전하게 관리, 성능, 안정성 보장 -> 여러 사용자 동시에 채번 할 때 좋다.
- P [ 로컬 우커프로세스별 버퍼링(WP ID) ] : 워크 프로세스마다 다른 버퍼 사용 -> 테스트 성능 확인할 때
- Spaec [ 버퍼링 안 함 ] : DB에서 매번 채번 -> 번호 정확함 -> DB 부담 증가
# [ 그룹 ] 탭
# 이걸 언제 쓰느냐.. 같은 오브젝트인데 내부에서 분류 기준(전표 유형, 자재 유형, 계정그룹 등)에 따라 번호를 다르게 줘야 할 때
- 같은 자재인데, 자재유형별로 번호대가 달라야 할 때 ( ROH : 내부번호 01, FERT : 02 )
- 같은 문서인데, 전표유형별로 번호를 다르게 주고 싶을 때( SA : 10000~, KR : 20000~ )

## SubObject : 번호 범위를 하위 단위로 분리하고 싶을 때 사용
- 회사코드별, 관리회계 영역별로 번호를 따로 관리하고 싶을 때
## 요소 : 번호를 그룹핑할 기준값
- 전표 유형, 계정그룹등 이 값을 기준으로 그룹을 나누고, 다른 번호범위를 줄 수 있다.
## 내부 NR 번호 : SAP에서 자동으로 부여하는 번호에 사용할 Interval 번호
## 외부 NR 번호 : 서드파티에서 직접 관리할 때 사용할 Interval 번호
## 요소 텍스트 테이블 : 요소에 해당하는 텍스트을 보여주기 위한 설정
03. Number Range 관련 Function Module 설정
# Function Module [ NUMBER_GET_NEXT ]
- 지정된 번호범위 오브젝트에서 다음 번호를 채번 하는 FM이다.
- 위에서 설정에 따라 달라지기 때문에 상황에 맞게 설정해 보자.

# Function Module [ NUMBER_CHECK ]
- 현재 채번 가능한 상태인지 확인 -> [ 외부 NR ] 일 때 유효성 검사 체크한다.

# Function Module [ NUMBER_GET_INFO ]
2023.06.23 - [.ABAP/..모든 것] - SAP Number Range 현재 번호 확인 방법 ( 라인 추가 버튼 )
SAP Number Range 현재 번호 확인 방법 ( 라인 추가 버튼 )
Number Range( 넘버레인지 )란... Number Range에 대해서는 쉽게 말하면 자동으로 번호를 증가시켜 주는 것이라고 보면 된다. 예를 들어) 어느 버튼을 눌렀을 때 1 2 3 . . 이런 식으로 특수한 행동을 했을
potato98.tistory.com
끝..!!!
'.ABAP > ..모든 것' 카테고리의 다른 글
| SAP Package 정리 (0) | 2025.05.02 |
|---|---|
| SAP Number Range NR 상태 확인 (0) | 2025.04.24 |
| SAP PERFORM( Object .. ) 못 찾을 때 (0) | 2025.03.20 |
| SAP * (별표, Asterisk) 스트럭처 정리 - Tables (0) | 2025.03.12 |
| SAP PORT 열려있는지 확인 방법( Telnet ) (0) | 2025.02.04 |