SAP号码段配置-SNRO/SNUM
T-CODE: SNRO、SNUM
1.创建一个号码段对象
2.设置编号长度域、警告(注意:必须是SAP系统已定意的域)
3.设置缓冲,优点:不直接去数据库里取数,提升效率;缺点:存在跳号
4.设置取数范围
5.调整当前编号
6.调用程序
DATA:l_num TYPE i.
*锁定
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = 'ZCURTNU'
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
IF sy-subrc = 0.
*获取下个数字
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '1'
“在编号范围中分配的***
object = 'ZCURTNU'
“编码对象名称
IMPORTING
number = l_num
“输出生成的流水号
EXCEPTIONS
interval_not_found = 1
number_range_not_intern = 2
object_not_found = 3
quantity_is_0 = 4
quantity_is_not_1 = 5
interval_overflow = 6
buffer_overflow = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
*解锁
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
object = 'ZCURTNU'
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
ENDIF.
ENDIF.