SAP号码段配置-SNRO/SNUM

T-CODE: SNRO、SNUM

1.创建一个号码段对象

2.设置编号长度域、警告(注意:必须是SAP系统已定意的域)

3.设置缓冲,优点:不直接去数据库里取数,提升效率;缺点:存在跳号

4.设置取数范围

5.调整当前编号

6.调用程序

DATA:l_num TYPE i.

*锁定 
CALL FUNCTION 'NUMBER_RANGE_ENQUEUE' 
  EXPORTING 
    object           = 'ZCURTNU' 
  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                  = 'ZCURTNU' 

编码对象名称
    IMPORTING 
      number                  = l_num

输出生成的流水号
    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           = 'ZCURTNU' 
      EXCEPTIONS 
        object_not_found = 1 
        OTHERS           = 2. 
  ENDIF.

ENDIF.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值