sap 凭证跳号分析

首先SAP在表TNRO:Definition of number range objects将会为各种object定义number range的属性
在此表中有这么几个字段.OBJECT: 坛 -- 让我们大家都到一起来探讨SAP!  F|v
比如FIAA-BELNR(固定资产)i<ef1
PERCENTAGE:使用到百分几warning.`q8Hj
CODE: (比如你输入FBN1就是所有FI doc的number range定义)+F
Table: nriv Number range intervals (和TNRO通过object联系)这个表是作为编号范围储存的。正常的话,缓冲区中的数量号是10,读下一个编号的时候程序就不去找数据库,而是直接从内存缓冲里读出。而数据库的值已经更新到内存里最后一个号+1了,所以重启以后,内存的号没了,它不会再检查业务数据表,数据库里是跳过以后的。财务、销售、采购这些最常用的凭证号,反而是没缓冲的,不会跳号。如果发生保存时数据库提交失败,也会跳。

关于SAP number range有很多T-code :
FBN1----FI document number rangen
OION------Order number ranges2ah
AO11--- Assign number rangeBDPoTN
CFNA---- Maintain PRT number range: FHM_CRFH@vE
CMTCUS22----- Maintain number range for CM productdeFRPI
CMTCUS32-- Maintain number range for CM folderXBVUj
CMTCUS42-- Maintain number ranges for BaselineE
FNS1----- Collateral number rangeIFDtX
FOV0------ Rental agreement number range)5y|
FOW0---- Real Estate application number range0T3
IN20----- Object link number ranges$B2
IP22- Maintain number range: OBJK_NRKXtGT
KEN2----- Maint. number ranges: CO-PA planningG9Zn6q
OGS9---- Generate ADP number rangesf=ui1
OHX3---- Maintain number ranges for 3PR[vx
OIL5-- Equipment number rangesL-$
QCCN--- QM standard number rangesV|
QS29----- Maintain characteristic number range8?HtY
QS39--- Maintain method number range}o9#
VB(1----- Rebate number ranges&i..J$
VN07---- Maintain number range for shipments/
WC64-- Catalog code number ranges]yu"J
WTNR--- w/tax certificate number range="[!O
FOV0------ Rental agreement number range7
OGS9--- Generate ADP number ranges!{,
WTNR-- w/tax certificate number range@
5NZI--Number range maintenance: RP_IRCERTK1
ABNV---Number range maint: FIAA-BELNR!
AO11--Assign number range#j}/
AS08 --Number Ranges:Asset NumberJGM:
BDCP--Number range maintenance: ALE_CP{+dAa
BG00--Number Range Maintenance: BGMK_NR1
BMVN--Number Range Maintenance: DI_JOBIDOv&J
BUCF -- BP Cust: Number RangesyG2
BUNA--Number Range Maint: BP_PADRNR`j!
C2N2-- Number ranges master recipeI*4*Yd
CAC7 -- Number Range Maintenance: CATS7i1|
CANM--Number range maintenance: ROUTING_Mr
CANR--Number range maintenance: ROUTING_RX<
那么如何禁止SAP 使用buffer.很简单使用,禁止buffer不等于绝对禁止了跳号.m2;F~V
从软件的角度来讲我觉得可以理解,因为在凭证保存前会有一段逻辑,如果有多个凭证同时进行,SAP从number range 表NRIV读no后有段check,在保存数据前还有检查,这段时间极其短暂,但是对计算机来讲,可能它就回认为某个number已经都用了,结果大家都不用就会造成跳号,这样的情况你模拟也是难模拟出来的

解决方法:
不使用buffer取号方式,事务代码SNRO,选择MATBELEG,change。 
如果您想不让跳号发生,菜单Edit--->set-up buffering--->no buffering,存盘退出。

原文地址:https://www.cnblogs.com/cnlmjer/p/4099786.html