如何创建流水号

1.使用T-code:SNRO创建一个流水号标识对象

输入Tcode SNRO 后进入如上图所示的Number Range Object Maintenance界面,输入Object名称,点击新建。

进入创建界面,如上图所示,输入Short text、Long text和Number length domain;若每新年度开始时编号也从头开始,则可勾选To-year flag;若编号达到最大也不自动重新开始,则可勾选No interval rolling,输入Warning % 95,表示流水后用到95%是会发出警告。点击保存。

点击Number Range。

点击Change Intervals.

点击Insert Interval。

在Insert Interval界面输入New Interval的No. 、From number、To number后点击Insert。

这样流水号就设定完成。

2.如何在程序中取得流水号

 1 REPORT  ZTEST.
 2 DATA: L_SEQNO TYPE C LENGTH 4.
 3 CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
 4   EXPORTING
 5     OBJECT                 = 'ZTEST01'
 6   EXCEPTIONS
 7     FOREIGN_LOCK           = 1
 8     OBJECT_NOT_FOUND       = 2
 9     SYSTEM_FAILURE         = 3
10     OTHERS                 = 4
11           .
12 IF SY-SUBRC <> 0.
13   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
14           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
15 ENDIF.
16 
17 CALL FUNCTION 'NUMBER_GET_NEXT'
18   EXPORTING
19     NR_RANGE_NR                   = '01'
20     OBJECT                        = 'ZTEST01'
21 *   QUANTITY                      = '1'
22 *   SUBOBJECT                     = ' '
23 *   TOYEAR                        = '0000'
24 *   IGNORE_BUFFER                 = ' '
25   IMPORTING
26     NUMBER                        = L_SEQNO
27 *   QUANTITY                      =
28 *   RETURNCODE                    =
29  EXCEPTIONS
30    INTERVAL_NOT_FOUND            = 1
31    NUMBER_RANGE_NOT_INTERN       = 2
32    OBJECT_NOT_FOUND              = 3
33    QUANTITY_IS_0                 = 4
34    QUANTITY_IS_NOT_1             = 5
35    INTERVAL_OVERFLOW             = 6
36    BUFFER_OVERFLOW               = 7
37    OTHERS                        = 8
38           .
39 IF SY-SUBRC <> 0.
40   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
41           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
42 ENDIF.
43 
44 CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
45   EXPORTING
46     OBJECT                 = 'ZTEST01'
47   EXCEPTIONS
48     OBJECT_NOT_FOUND       = 1
49     OTHERS                 = 2
50           .
51 IF SY-SUBRC <> 0.
52   MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
53           WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
54 ENDIF.
55 
56 WRITE: L_SEQNO.

 

转载于:https://www.cnblogs.com/foam-h/p/5458306.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值