REPORT ztest.
DATA:nextnum TYPE i.
*传入生产机后第一次正式使用 初始化 (删除测试记录)
*call function 'NUMBER_RANGE_INTERVAL_INIT'
* exporting
* object = 'ZCHEQUE'
* exceptions
* others = 4.
* CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
* EXPORTING
* object = 'ZCHEQUE'
* EXCEPTIONS
* foreign_lock = 1
* object_not_found = 2
* system_failure = 3
* OTHERS = 4.
*锁定
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
EXPORTING
object = 'ZCHEQUE'
EXCEPTIONS
foreign_lock = 1
object_not_found = 2
system_failure = 3
OTHERS = 4.
IF sy-subrc = 0.
*获取下个数字
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '1'
object = 'ZCHEQUE'
IMPORTING
number = nextnum
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.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
*解锁
CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
EXPORTING
object = 'ZCHEQUE'
EXCEPTIONS
object_not_found = 1
OTHERS = 2.
ENDIF.
ENDIF.
WRITE :/ nextnum.
SNRO使用
最新推荐文章于 2024-05-15 14:34:57 发布