T-CODE:SNRO、SNUM的用法

1:Number Range的通用Tcode:SNRO或者SNUM

2:Number Range的通用读取函数:NUMBER_GET_NEXT

3:如有跳号现象,可以禁用对象的Buffer试试

4:sap numbe range在标准程序中使用

一直不明白会计凭证编号sap是怎么做到连续编号,还以为是简单的做个全局变量,虽然形式差不多,但是sap有专门的TCODE和方法,可以保证号码不重复且可以做到只在某一个区间。甚至每年都会重新编号,像会计凭证编号,当达到某一程度的时候还会提醒。

一:创建:TCODE:SNRO。可以自己创建。

1:短文本和长文本用来说明这个编号范围对象,输入任意描述即可。

2:子对象数据元素我们这里不填。这里需要说明一下,所谓子对象,多数指一个组织结构,比如公司代码、销售组织、工厂等,这样编号就在对应的每个组织下面独立编号,最典型的例子是财务凭证,每个公司代码下的财务凭证都是独立编号的(其对应的数据表 BKPF,也必定把公司代码做为一个键字段)。而我们这个调度单对应于销售订单,销售订单没有按照组织级别分别编号,因此相应的调度单也就不需要了。

3:到期年标记是指编号按年度归零,每当开始一个新年度时,相应的编号也需要从头开始,比如财务凭证和物料凭证都是这样(比如表BKPF 和MKPF,都把年度做为一个键字段) ,而我们的调度单不需要对应年度,因此这里也不打勾。

4:编号长度域就填创建的域,但是一定要先激活。指定这个编号范围对象 ZDIAODUDAN 的长度,我们定义域长度为 10,因此这个编号范围对象生成的编号长度也是 10 位。

5:无翻滚间隔是指如果编号达到最大,是否自动从头开始,勾上就不从头开始,而在获取编号的时候提示出错。我们这里应该打勾。

6:编号范围处理,属于翻译问题,实际就是编号范围的事务码,如果指定这个事务码,就可以不需要通过 SNUM 或者 SNRO 的主屏幕然后输入编号范围对象的名字来维护这个编号范围,而可以输入事务码直接进入它的号码范围维护屏幕。

7:警告百分比是指如果编号使用到一定比例,就发出系统警告,提示管理人员增大范围或者进行历史数据归档,避免编号全部用完后影响正常业务,这里我们填写 95,就是95%的时候提示。

8:主内存缓冲是指系统为了提高性能而预先取出一些编号放在应用服务器上,当程序取用编号时直接从应用服务器获取,而无需再读取数据库了。通常,如果对号码的连续性要求不高的情况下可以使用这种方式,而如果是财务凭证等要求连续的编号,则应该把主内存缓冲关闭,方法是通过菜单“编辑-设置缓存-无缓存”。

注意点:如果号码段出问题 可以吧 这个main memory buffering 去掉

保存后点击下面的 number ranges

注意  from  number 只有初始化时候在这个界面维护 不能再做改变

如果想在后期改变 current number

可以在

这个界面点击 status

保存即可

在ABAP中通过“NUMBER_GET_NEXT”来获取编号对象所生成的流水码,每次调用都会产生一个新的号码。

REPORT ztest.

DATA:nextnum TYPE i.

*锁定 
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.

SAP的号码范围(number range)SNRO和SNUM自动编号工具的用法相关推荐

  1. SAP的号码范围 number range SNRO和SNUM自动编号工具的用法

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! T-CO ...

  2. 关于SAP的号码范围(number range)

    1.Number Range的通用Tcode:SNRO   2.Number Range的通用读取函数:NUMBER_GET_NEXT   3.如有跳号现象,可以禁用对象的Buffer试试   4.几 ...

  3. SAP 自动编号工具【SNRO】

    实例:开票流水号码创建 step1:[SNRO]创建编号对象:ZKP01,填写长.短描述,长度,预警. step2:设置起始号码,终止号码. step3:创建报表ZSERNR,对其进行调用,每调用一次 ...

  4. SAP Number range 编号范围用法

    1.通用Tcode:SNRO 常用维护特定Number range Tcode: 5NZI Number range maintenance: RP_IRCERT   Number range mai ...

  5. SAP CRM和C4C的订单Number range

    SAP CRM 事务码SNRO SAP Cloud for Customer 当然Partner在C4C里也可以通过二次开发的方式实现自定义的Number range,see my blog

  6. ABAP 获取流水单号(SNRO SAP自动编号)

    **使用场景:**自建表增加数据的时候,需要获取一个唯一的有序的流水单号. T-CODE: SNRO. 1.输入对象的名称,点击创建~ 2.填写文本以及域 3.定制,填写后保存.(无缓冲:不跳号) 4 ...

  7. SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析

    ABAP里的IS BOUND, IS NOT INITIAL和IS ASSIGNED这组关键字,如果平时不留心,很容易理解地似是而非.今天我们就来说一说它们的区别. 先把SAP帮助文档抄过来: IS ...

  8. SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator?

    SAP WM 针对采购订单收货时候不能自动获取物料主数据里的Special Movement Indicator? SAP WM模块里有一个标记叫做Special Movement Indicator ...

  9. SAP QM 内向交货单在完成包装之后就自动触发了检验批?

    SAP QM 内向交货单在完成包装之后就自动触发了检验批? 我们知道,启用了SAP QM模块之后,在很多业务活动的时候会自动触发检验批.比如收货,转库,改库存状态,Release工单等业务操作完成后, ...

最新文章

  1. es6箭头函数_ES6语法之-箭头函数
  2. laravel静态资源
  3. 人工大脑项目 —— Nengo
  4. [精品]CSAPP Bomb Lab 解题报告(六)
  5. python-windows安装相关问题
  6. 二叉树的基本操作及应用(三)
  7. VS Code 的常用快捷键
  8. 玩转算法面试-第二章
  9. 对于圣杯布局和双飞翼布局的新认识
  10. linux下keytool生成证书_Keytool生成https证书步骤0014
  11. tnsname.ora 个参数解释
  12. Kiterunner上下文感知型内容搜索工具
  13. 动态添加element标签,数据操作
  14. [ahk]热键呼叫QQ经常聊天的人
  15. 正在开启,一名金融猎头的二十年 | 专访伯乐百万金融顾问 Leslie Xu
  16. 机器学习:XGBoost+LightGBM+catboost+5折+stacking的用法
  17. idea启动项目报错 --To prevent a memory leak, the JDBC Driver has been forcibly unregistered
  18. 电脑彻底删除的文件如何恢复?
  19. 电脑加载,电脑加载慢又卡怎么办
  20. 跟风晒CVPR 2023论文

热门文章

  1. 你的微信朋友圈让你焦虑了吗?
  2. 【推荐活动】2015产品经理读书计划
  3. 李开复:谷歌产品经理眼中的产品经理
  4. [UI] MFD UI kit
  5. python操作MongoDB
  6. Ancient China Story of Shen-《Kung Fu Panda 2》
  7. C# 调用cmd执行指令
  8. [xmlpull]XmlPull常见错误
  9. CentOS7 下DNS的搭建
  10. [JBoss] - 环境搭建