北京地铁建设管理公司网站,做网网站公司,佛山网站建设专业定制,小型公司注册资金写多少合适前言
在开发中经常会遇到生成编号的需求(如接口报文ID#xff0c;自建表数据主键等)#xff1b;为此#xff0c;SAP提供了自动编号工具#xff0c;能根用户需求设定并自动生成一组唯一的编号。
编号范围对象的创建
1.进入事务代码SNRO#xff0c;创建一个编号范围对象。…前言
在开发中经常会遇到生成编号的需求(如接口报文ID自建表数据主键等)为此SAP提供了自动编号工具能根用户需求设定并自动生成一组唯一的编号。
编号范围对象的创建
1.进入事务代码SNRO创建一个编号范围对象。
编号长度域表示生成出来的编号是什么数据类型 %警告表示已产生的编号达到此百分比时给出警告 截至年份标志表示按照年份重新获取编号(从范围的最小值重新开始) 无滚动表示所有编号用完不会重新回到最小值开始不勾选则表示重新从最小号开始编号
编号范围事务可以指定一个事务码通过执行此事务码可以进入该编号对象的维护页面 缓冲主内存缓冲是指系统为了提高性能而预先取出一些编号放在应用服务器上当程序取用编号时直接从应用服务器获取而无需再读取数据库了。通常如果对号码的连续性要求不高的情况下可以使用这种方式而如果是财务凭证等要求连续的编号为了防止跳号则应该把主内存缓冲关闭设置为无缓冲。
编号范围间隔的创建
点击间隔编辑。
维护编码范围的起始编号和截止编号即可。
编号范围的调用
在程序中通过函数 NUMBER_GET_NEXT 来获取编号对象所生成的流水码每次调用都会产生一个新的编号
DATA: nextno TYPE char10.CALL FUNCTION NUMBER_RANGE_ENQUEUE 锁定要要维护的号码范围对象及其组和间隔EXPORTINGobject ZWEIGH_RUN 事务代码snro 先创建一个流水号(char10)EXCEPTIONSforeign_lock 1object_not_found 2system_failure 3OTHERS 4.CALL FUNCTION NUMBER_GET_NEXTEXPORTINGnr_range_nr 01 编码范围间隔的序号object ZWEIGH_RUN 编码范围对象的名称IMPORTINGnumber nextno. 最后获得的流水号CALL FUNCTION NUMBER_RANGE_DEQUEUE 解锁已维护的号码范围对象EXPORTINGobject ZWEIGH_RUNEXCEPTIONSobject_not_found 1OTHERS 2.同时可根据业务要求按时间维度重置流水号。
SELECT SINGLE ztyayno,zbarcode,zcdate INTO DATA(ls_zcdate) FROM ztbc_003 WHERE zcdate sy-datum.IF sy-subrc 0.按天重置流水号CALL FUNCTION NUMBER_RANGE_INTERVAL_INITEXPORTINGobject ZWEIGH_RUN
* SUBOBJECT
* INTERVALS client sy-mandt
* COMMIT EXCEPTIONSno_interval_found 1object_not_found 2OTHERS 3.ENDIF.