创建对象 SNRO
首先进入事务码SNRO
创建一个编号范围对象维护
然后输入短文本和长文本,
编号长度域,可以去se11
中去根据业务需求创建想要的长度,
%警告,他的意思是说当你所创建的编号范围达到剩余的多少时,提出警告(例如:我的编号范围是1000~2000,当我的编号到1950时就会提出警告)
定制的增选项,可以就按照我的来写
下面我就开始创建编号的范围,点击左上角
的间隔编辑
点击新增创建一个间隔 号/起始编号/截止编号这三个必填的,如果是多个间隔的话,切记间隔与间隔之间不可有交集
然后保存即可
当你保存后会弹出这个框,他的意思是说,这个间隔对象是不能自动传输到其他系统上的,比如你在300创建的间隔对象,500则没有这个间隔对象,需要重新去500创建即可.
代码实现
"选择间隔对象
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = 'ZWFDLSH' "创建的间隔对象名称
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
"获取编号
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = lv_rang "间隔号
object = 'ZWFDLSH'
* QUANTITY = '1'
* SUBOBJECT = ' '
* TOYEAR = '0000'
* IGNORE_BUFFER = ' '
IMPORTING
number = lv_seqno "最终生成的编号
* QUANTITY =
* RETURNCODE =
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_DEQUEUE'
EXPORTING
object = 'ZWFDLSH'
EXCEPTIONS
object_not_found = 1
OTHERS = 2.