1.进入tcode:snro (simple way to remember is sapnumberrangeobject).
2.输入号码对象名称,并点'创建'.参数填写如下图.
warning% ->assume that an interval is defined from 1 to 1000. if you want to issue a warning at the number 900, enter 10 (%) here.
3.编号范围->修改'间隔'->添加间隔.如下图.
4.保存.
5.测试程序如下(已测试通过):
data: number type char10.
*---加锁号码对象:生成号码对象之前的动作
call function 'NUMBER_RANGE_ENQUEUE'
exporting
object = 'ZNOTEST'
exceptions
foreign_lock = 1
object_not_found = 2
system_failure = 3
others = 4.
*---生成号码对象
call function 'NUMBER_GET_NEXT'
exporting
nr_range_nr = '01'
object = 'ZNOSX'
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.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
*---解锁号码对象:生成号码对象之后的动作
call function 'NUMBER_RANGE_DEQUEUE'
exporting
object = 'ZNOTEST'
exceptions
object_not_found = 1
others = 2.
write :/ 'Next available number is: ', number.
如果号码对象有跳号情况,设置为无缓冲即可,如下图.
评论