如何获取,网上有就不说了,这里要注意的是参数NR_RANGE_NR
这里的参数,要跟间隔维护界面的“号”字段保持一致,否则会创建不成功(事务码snum或snro),
如图:
编号生成代码:
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = OBJECT
IMPORTING
NUMBER = NUMBER
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.
编号生成前最好加锁,枷锁代码:
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
OBJECT = OBJECT
EXCEPTIONS
FOREIGN_LOCK = 1
OBJECT_NOT_FOUND = 2
SYSTEM_FAILURE = 3
OTHERS = 4.
编号生成后最好加锁,解锁代码:
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
OBJECT = OBJECT
EXCEPTIONS
OBJECT_NOT_FOUND = 1
OTHERS = 2.