输入T-CODE: SNRO
输入Object名字点击“创建”出现以下界面
最后保存,中间会弹出确认按钮都直接yes就好了
以下代码用于测试该number range
TABLES: sscrfields.*---------------------------------------------------------------------** define internal tables* 定义内表**---------------------------------------------------------------------*data: begin of t_nriv occurs 0, object like tnro-object, "范围对象 nrrangenr like nriv-nrrangenr, "区间编号end of t_nriv.data: w_nriv like t_nriv. "定义工作区*--------------------------------------------------------------------** define variable* 定义全局变量**--------------------------------------------------------------------*data: l_next(20) type c. "定义下一个值.*--------------------------------------------------------------------** selection-screen* 选择屏幕**--------------------------------------------------------------------*selection-screen begin of block blk with frame title text-001.parameters: p_object like tnro-object obligatory, "范围对象 p_num like nriv-nrrangenr obligatory, "区间编号 p_next(20) type c. "下一个值selection-screen end of block blk.selection-screen function key 1. "设置选择屏幕的按钮,可以支持5个按钮,对应的功能码从FC01--FC05.*selection-screen function key 2.*--------------------------------------------------------------------** initialzation* 初始化屏幕**--------------------------------------------------------------------*initialization.sscrfields-functxt_01 = '下一个'. "这里设置key 1按钮文本也可以为图标* sscrfields-functxt_02 = '上一个'.*-------------------------------------------------------------------** at selection-screen* 处理选择屏幕的按钮事件**-------------------------------------------------------------------*at selection-screen.case sy-ucomm. "获得当前系统的功能码when 'FC01'.*perform frm_get_data.perform frm_get_next.p_next = l_next.when 'ONLI'. "这个对应的是执行的功能码(F8)endcase.*--------------------------------------------------------------------** form frm_get_data* 根据输入条件从表获取相关数据**--------------------------------------------------------------------*form frm_get_data.* 把数据放到工作区w_nrivselect objectnrrangenrinto corresponding fields of w_nrivfrom nrivwhere object eq p_objectand nrrangenr eq p_num.endselect.if w_nriv is initial.message '没有可查询的相关数据' type 'I'.stop.endif.endform. "frm_get_data*--------------------------------------------------------------------** form frm_get_next* 获得当前的范围对象和区间编号对应的流水号**--------------------------------------------------------------------*form frm_get_next.call function 'NUMBER_RANGE_ENQUEUE 'exportingobject = p_objectexceptionsforeign_lock = 1object_not_found = 2system_failure = 3others = 4.*如果号码范围存在if sy-subrc eq 0 .* ****得到一个号码,call function 'NUMBER_GET_NEXT 'exportingnr_range_nr = p_num "这个就是维护的间隔号object = p_object "这个就是流水号对象importingnumber = l_next "获得的流水号* quantity = quant* returncode = codeexceptionsinterval_not_found = 1number_range_not_intern = 2object_not_found = 3quantity_is_0 = 4quantity_is_not_1 = 5interval_overflow = 6buffer_overflow = 7others = 8.* ***将号码累加call function 'NUMBER_RANGE_DEQUEUE 'exportingobject = p_objectexceptionsobject_not_found = 1others = 2.else .raise num_range_error .endif .endform. "frm_get_next