概述
SAP凭证号码的指定分为外部给号和内部给号。
- Internal number range即内部给号,指系统根据预先维护好的号码范围(只能是阿拉伯数字)依序给号,给出已有数字的下一个编号。
- External number range即外部给号,后台配置时指指定一个号码范围(可以仅含阿拉伯数字,也可以阿拉伯数字和字母混合,前台业务处理时,操作者仍需要人为指定给系统一个可用编号。
SAP提供了自动编号工具,能根用户需求设定并自动生成一组唯一的编号。
SNRO
1.Number Range的通用Tcode: SNRO2
2.Number Range的通用读取函数:NUMBER_GET_NEXT
3.一般编码都是在生产机中独立设置的,若需要传输本次编号范围的维护,需要在初始菜单中执行“范围”|“传输”命令,通过手工操作来生成传输请求号码。
操作步骤
1.使用事务码SNRO,创建编号范围对象
2.设置编号范围对象的短文本、长文本、编号长度域、百分比警告等属性
- 短文本、长文本:用于输入或显示编号的简要描述,通常在系统中用于标识或说明该编号范围的功能。
- 编号长度域:定义编号的长度限制,这里表示编号的最大字符数为10,确保了一致性和标准化。
- % 警告:设定生成编号时的警告阈值,这里设置为90.0,表示一旦使用的编号达到90%时,系统将发出警告提醒。
3.设置完成后进入间隔编辑界面,为编号对象设置编号范围
4.保存
6.使用SE37事务码,执行NUMBER_GET_NEXT函数
7.在导入参数输入编号对象的编号范围号和编号对象的名称
8.执行结果
在程序中调用NUMBER_GET_NEXT函数
DATA:
SPRO_NUM TYPE CHAR10.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
NR_RANGE_NR = '01'
OBJECT = 'ZYT36193'
IMPORTING
NUMBER = SPRO_NUM
.
IF SY-SUBRC <> 0.
ENDIF.
WRITE:/ SPRO_NUM.