SNRO 取系統編號

这段ABAP代码展示了如何使用`GET_SERIAL_NUMBER`形式来获取系统编号。通过调用`NUMBER_RANGE_ENQUEUE`和`NUMBER_GET_NEXT`函数,获取并解锁`ZRPP049`对象的下一个可用编号。如果对象不存在或出现其他异常,代码会抛出相应的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SNRO

 

 FORM GET_SERIAL_NUMBER CHANGING PF_NUMBER.
  PF_NUMBER = ''.
  CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
       EXPORTING
            object           = 'ZRPP049'
       EXCEPTIONS
            foreign_lock     = 1
            object_not_found = 2
            system_failure   = 3
            OTHERS           = 4.
*  **如果對象存在
  if sy-subrc eq 0 .
*  ****得到范圍號中的號碼
      CALL FUNCTION 'NUMBER_GET_NEXT'
           EXPORTING
                nr_range_nr             = '1'    "范圍號
                object                  = 'ZRPP049'
           IMPORTING
                number                  = PF_NUMBER
           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.
      CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
           EXPORTING
                object           = 'ZRPP049'
           EXCEPTIONS
                object_not_found = 1
                OTHERS           = 2.
  else.
    raise RANGE_NUMBER_ERROR.
  endif .
ENDFORM.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值