SAP 流水号使用示例

转载自:https://blog.csdn.net/yuqinying112/article/details/7880653

CALL FUNCTION 'NUMBER_RANGE_ENQUEUE ' 
EXPORTING 
object           = 'ZSDDNR' 
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                  = 'ZSDDNR'         “这个就是流水号对象
IMPORTING 
number                  = L_SEQNO      ”获得的流水号
*   quantity = quant 
*   returncode = code 
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           = 'ZSDDNR' 
EXCEPTIONS 
object_not_found = 1 
OTHERS           = 2. 
else . 
raise NUM_RANGE_ERROR . 
endif .

很 容易理解,首先判断是否有这个number range,如果存在的话,就获得下个序号,最后一个函数我估计意思是释放这个全局变量的内存。’ZSDDNR’就是我们创建的number range。如此就可以像会计凭证编号那样每次都可以自动生成流水号了!流水号可以在自建表中用作主键,它的产生就靠上面的函数。

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值