SAP S/4HANA MM模块培训 36 - 凭证编号分配:物料、会计与预留号码范围

SAP S/4HANA MM模块培训 36 - 凭证编号分配:物料、会计与预留号码范围
SAP 中的“编号”不是一个全系统共用的流水号。一次估价相关的货物移动,可能同时留下采购订单、物料凭证、会计凭证和物料分类账凭证;每类对象都有自己的唯一键、编号范围和控制入口。真正需要掌握的不是记住某个演示号码,而是理解业务动作如何先确定事务/事件类型,再找到编号范围组、凭证类型和年度区间。
本课视频用一笔真实的 101 采购订单收货建立证据链:采购订单 4500000292 触发物料凭证 370,并生成会计凭证 5000000151;随后在采购订单历史中确认事务/事件类型 WE。但是,视频刚开始解释“事务/事件类型 → 编号范围组 → 编号区间”的关系,就在 00:10:03.959 被宣传页截断。开场议程中的物料与盘点凭证编号、会计凭证编号和预留编号配置均未完整演示,本文会把这些内容逐节标为“SAP 官方教程补充”,避免把官方补齐误写成视频实录。
本课目标
学完本课,你应该能够:
- 区分采购订单号、物料凭证号、会计凭证号和预留号;
- 解释库存管理事务/事件类型
WE如何参与物料凭证编号分配; - 复盘采购订单
4500000292、物料凭证370和会计凭证5000000151的视频证据链; - 理解
OMBT、OMBA、FBN1与OMC2分别控制什么; - 正确处理年度区间、内部编号、区间容量、重叠风险和当前号码状态;
- 明确视频实录、SAP 标准示例与客户系统自定义值之间的边界。
视频实录:课程范围与中断边界

视频开场列出三组议程:物料与实物盘点凭证编号、会计凭证编号、预留编号。实际录制只完成了业务凭证演示和编号模型的开头。
| 内容 | 视频是否完成 | 准确边界 |
|---|---|---|
| 创建采购订单 | 完成 | 创建并保存 4500000292 |
| 采购订单 101 收货 | 完成 | 过账 100 L 柠檬酸,形成物料凭证 370 |
| 查看关联会计凭证 | 完成 | 弹窗显示会计凭证 5000000151 |
| 识别事务/事件类型 | 完成 | 采购订单历史显示 WE、移动类型 101 |
| 物料与盘点凭证编号配置 | 仅讲到原理开头 | 未进入 OMBT 实际维护页,未保存任何配置 |
| 会计凭证编号配置 | 未完成 | 未演示 OMBA、凭证类型或 FBN1 |
| 预留编号配置 | 未完成 | 未演示 OMC2,也没有创建新预留 |
| 视频结尾 | 明确中断 | 最后有效授课字幕停在单词 transaction,随后直接进入宣传页 |
因此,不能写成“讲师完成了全部编号范围配置”。本课能证明的是:系统已生成三类业务编号,并且 WE 出现在采购订单历史中;后续配置步骤来自 SAP 官方课程。
视频实录:一次收货为什么会产生多个编号

采购订单是一份采购承诺,本身通常不直接形成 FI 会计凭证。货物实际到达并执行估价相关的收货时,系统才需要同时记录数量变化与价值变化:
- 采购订单号标识采购业务对象;
- 物料凭证记录物料、数量、工厂、库存地点、批次、移动类型等库存事实;
- 会计凭证记录库存科目、GR/IR 等价值变化;
- 在启用相应功能的 S/4HANA 系统中,还可能看到物料分类账凭证。
SAP 官方教程补充:凭证完整键与配置入口
这些号码不能互相替代。在 SAP S/4HANA 中,物料凭证号与会计年度共同构成识别键,因此视频实例应完整记录为 370 / 2022;FI 会计凭证则由“凭证号 + 公司代码 + 会计年度”共同唯一识别。只拿一个数字跨年度、跨公司代码查询,容易查错对象。
把本课涉及的四类编号放在一起看,控制边界会更清楚:
| 对象 | 完整识别时至少需要 | 经典配置入口 | 技术对象或关键控制 | 组织/年度维度 |
|---|---|---|---|---|
| 采购订单 | 采购订单号 | 采购凭证类型与号码范围配置 | 采购凭证类型,例如 NB | 采购凭证编号逻辑,本文不展开 |
| 物料凭证、实物盘点凭证 | 凭证号 + 凭证年度 | OMBT | MATBELEG;事务/事件类型 → 组 → 区间 | 年度相关,只允许内部取号 |
| FI 入口视图会计凭证 | 凭证号 + 公司代码 + 会计年度 | OMBA 确定 MM 对应 FI 类型,FBN1 维护区间 | RF_BELEG;FI 凭证类型 → 号码范围 | 公司代码、会计年度 |
| 预留 | 预留号 | OMC2 | RESB;客户端级日常内部区间 | 同一客户端覆盖所有工厂,不按年度复制 |
这张表也解释了为什么排错不能只盯着一个事务码:OMBT 解决物料/盘点凭证取号,OMBA 解决库存管理业务应该使用哪一种 FI 凭证类型,真正的 FI 号码区间则在 FBN1。预留另走 OMC2,与前三者都不是同一个号码对象。
视频实录:创建采购订单 4500000292

讲师在 ME21N 中建立 NB 标准采购订单。画面可以回溯到以下关键值:
| 字段 | 视频值 |
|---|---|
| 凭证类型 | NB 标准采购订单 |
| 供应商 | 2012 / SV enterprises1 |
| 物料 | 125000027 / Citric Acid |
| 数量 | 100 L |
| 净价 | 10.00 EUR / 1 L |
| 工厂 | 0001 |
| 凭证日期 | 17.10.2022 |
| 计划交货日期 | 21.10.2022 |
| 物料类型 / 物料组 | ROH / ZTURM1 |
在 00:03:14 左右,系统弹出“是否保存凭证或继续处理数据”的消息。讲师选择保存,随后状态和回显确认采购订单号为 4500000292。这一步只建立采购订单,尚未产生本课讨论的物料凭证与 FI 会计凭证。
视频实录:在 MIGO 执行 101 采购订单收货

讲师随后进入 MIGO,选择:
- 动作:
A01 Goods Receipt; - 参考凭证:
R01 Purchase Order; - 采购订单:
4500000292; - 移动类型:
101; - 收货数量:
100 L; - 工厂:
0001 / SAP STANDARD PLANT; - 库存地点:
1000 / RM location; - 批次:
0000000092; - 库存类型:非限制使用库存。
画面中的物料为 Citric Acid。讲师检查项目并执行过账。因为这笔收货会改变库存价值,系统除了库存数量记录,还建立了会计记录。
视频实录:查看物料凭证 370

过账后,讲师在 MIGO 的显示模式中打开物料凭证。标题和输入区明确显示:
- 物料凭证:
370; - 凭证年度:
2022; - 过账状态:
Material document 370 posted; - 凭证信息中的事务码值:
MIGO_GR; - 移动类型:
101; - 数量:
100 L; - 工厂:
0001; - 库存地点:
1000; - 批次:
0000000092。
370 是课程系统当时真实生成的号码,但它明显不同于 SAP 官方课程常见的十位标准区间示例。这说明编号范围是客户可配置的:文章可以忠实记录 370,却不能把它写成所有 S/4HANA 系统都应使用的标准格式。
视频实录:查看会计凭证 5000000151

讲师从物料凭证进入“Documents in Accounting”弹窗。画面列出:
| 对象类型 | 视频号码 |
|---|---|
| Accounting document | 5000000151 |
| Material ledger | A000012X00 |
这里最重要的结论是“物料凭证号与会计凭证号彼此独立”。会计凭证 5000000151 不是由物料凭证 370 拼接或转换而来,而是由相应 FI 凭证类型所分配的编号范围产生。
视频随后通过 FB03 打开会计凭证,确认公司代码 0001、会计年度 2022、期间 10、凭证日期与过账日期 17.10.2022、币种 EUR。可见行项目包括:
| 过账码 | 科目 | 说明 | 金额 |
|---|---|---|---|
89 | 300000 | Raw material 1 | +1,000.00 EUR |
96 | 191100 | GR/IR clrg.ext.proc. | -1,000.00 EUR |
40 | 379998 | Purchase account | +1,000.00 EUR |
50 | 379999 | Purchase offset acct | -1,000.00 EUR |
这些科目和过账码组合是课程系统的真实结果,不能外推为所有客户系统的固定自动科目确定。文章也不能仅凭凭证号推断目标系统的号码范围键或当前号码状态。
视频实录:采购订单历史中的事务/事件类型 WE

在 ME23N 查看采购订单 4500000292 的 Purchase Order History 时,收货行显示:
| 字段 | 视频值 |
|---|---|
| 事务/事件类型 | WE |
| 移动类型 | 101 |
| 物料凭证 | 370 |
| 过账日期 | 17.10.2022 |
| 数量 | 100 L |
| 金额 | 1,000.00 EUR |
WE 在这里表示“采购订单收货”对应的库存管理事务/事件类型。它参与物料凭证编号范围组的确定。要特别注意:FI 中也存在名为 WE 的会计凭证类型,两者代码相同,但所处控制层和职责不同,不能把“库存管理事务/事件类型 WE”与“FI 凭证类型 WE”当成同一个配置对象。
视频实录:事务/事件类型到编号范围组

视频最后一张有效课件给出三层关系:
- 库存管理业务动作确定事务/事件类型;
- 多个事务/事件类型可以归入一个编号范围组;
- 每个组需要维护编号区间。
课件还强调,事务/事件类型键由系统内部定义,不能自行改名;可以调整区间,或把事务/事件类型重新分配到其他组。讲师以 MIGO 收货为例开始解释,但尚未完成“事务 → 事务/事件类型 → 组 → 区间”的整条链路,视频就在 00:10:03.959 切到宣传页。
课件示意图还出现 WE、WF 归入收货物料凭证组,并显示 03 / year 2020 / 5000000000–5999999999。这些只是幻灯片教学示例,视频没有进入配置界面验证,不能声称是课程系统当前真实的 OMBT 设置。

下面开始的内容均为 SAP 官方教程补齐,不属于视频中的实际配置操作。
SAP 官方教程补充:用 OMBT 控制物料与盘点凭证编号

SAP 官方课程给出的经典路径是:
SPRO → Materials Management → Inventory Management and Physical Inventory → Number Assignment → Define Number Assignment for Material and Physical Inventory Documents
对应经典事务码为 OMBT。其控制逻辑不是“给每个移动类型直接填一个号码范围”,而是:
- 业务动作确定库存管理事务/事件类型,例如采购订单收货为
WE; - 将多个事务/事件类型归入号码范围组;
- 为组维护内部编号区间;
- 按凭证年度决定使用哪个年度区间;
- 过账时由
MATBELEG的运行机制自动分配内部号码;当前状态是取号状态,但在按块并行取号的部署中,下一张可见凭证不一定严格等于“当前号 + 1”。
在技术层面,这套物料与盘点凭证编号对象是 MATBELEG。OMBT 不是给每个移动类型直接维护一条区间,而是维护库存管理事务/事件类型(技术语境中也常见 VGART)的分组及组所引用的区间。因而,移动类型 101、MIGO 动作 A01、参考对象 R01 和事务/事件类型 WE 必须分开理解:前三者描述如何执行这笔收货,WE 才进入本节的凭证号码分组链。

上图应使用 SAP Learning 提供的 Change Groups: Material document, Object MATBELEG 原始 SAP GUI 截图。它能直接验证“未分配元素、分组、事务/事件类型”这几个界面层次。图中的组号和分配属于官方课程示例,不应原样覆盖客户系统;其中显示的 RS Reservation 未分配元素也不能误解为 OMC2 的预留编号区间。

第二张 SAP Learning 原始 SAP GUI 图展示 MATBELEG 区间:示例组 03、年度 9999、区间 5000000000–5999999999,External 未选。这里的 9999 表示该区间不按某个单独年度逐年维护,不是“当前会计年度为 9999”;区间号、上下限和当前状态也都只是 SAP Learning 示例。
SAP Learning 明确要求物料凭证使用内部编号。事务/事件类型键本身由系统分配,不能更改;实施人员可以重组分配和维护区间。编号范围依赖会计年度。如果不希望逐年建立区间,可以按官方课程说明使用年度 9999 的区间,但是否采用连续区间仍要符合企业审计和容量规划。
官方依据:SAP Learning - Adjusting Settings for Material and Accounting Documents
配置时应核对什么
- 事务/事件类型是否分配到了正确组;
- 区间是否为内部编号;
- 当前年度或
9999区间是否存在; - 下限、上限与当前号码是否合理;
- 区间之间是否重叠;
- 剩余容量是否能覆盖高峰过账量;
- 多系统、接口和批处理是否都经过回归验证。
不要为了让号码“好看”而随意修改当前号码。已经使用过的内部编号若被重复分配,会直接导致过账失败或审计风险。
对象、区间与当前状态是三件事
- 编号范围对象定义决定长度、年度相关性、分组方式和缓冲能力;可在
SNRO/SNUM的对象级维护中检查,但不应随意修改 SAP 交付对象; - 区间定义保存年度、下限、上限和内部/外部属性;
- 当前状态表示运行时已经取到的位置,是业务运行数据,不是可以从开发系统随普通 Customizing 一起覆盖到生产的静态值。
因此,实施验收既要保存区间截图,也要单独记录目标系统当前状态和已存在凭证最大值。只比较开发、测试、生产三个系统的区间上下限,不能证明生产取号一定安全。
SAP 官方教程补充:标准事务/事件类型与区间示例

SAP Learning 当前课程提供了标准内容示例。以下数值适合用来理解分类,不应强制覆盖客户现有配置:
| 标准示例组 | 示例区间 | 代表事务/事件类型 |
|---|---|---|
| 实物盘点凭证 | 0100000000–0199999999 | IB、ID、IN、IZ、WV |
| 库存移动及盘点差异物料凭证 | 4900000000–4999999999 | WA、WI、WL、WR、WS、WH、WQ |
| 收货物料凭证 | 5000000000–5999999999 | WE、WF、WO、WW |
| 库存抽样编号 | 0200000000–0299999999 | SI |
其中常见事务/事件类型含义包括:
WA:发货、转移过账和其他收货;WE:采购订单收货;WF:生产订单收货;WI:盘点差异过账的物料凭证;WL:参照交货单的发货;IB:实物盘点凭证;IN:复盘凭证。
本课课程系统生成物料凭证 370,正好说明这些十位区间只是 SAP 标准内容示例,而不是判断过账是否正确的唯一标准。真正的验收依据应是目标系统 OMBT 中的组、区间、年度与当前号码状态。
SAP 官方教程补充:实物盘点凭证与盘点差异凭证不是同一号码

“实物盘点”最容易出现的误解,是把创建盘点凭证、录入盘点数量和过账差异写成一次动作。SAP 官方课程把它们明确分为不同阶段,编号对象也随阶段变化:
- 创建实物盘点凭证时,系统取得实物盘点凭证号。标准事务/事件类型示例包括
IB;复盘、无参考计数等场景还可能涉及IN、IZ、ID。这个号码属于MATBELEG的盘点凭证分组; - 录入盘点数量只是把现场清点结果写回盘点凭证。此时尚不能据此声称已调整库存,也不能声称已形成 FI 会计凭证;
- 过账差异时,系统才对账面库存进行数量调整,并生成库存调整物料凭证,标准事务/事件类型示例为
WI; - 只有差异过账产生价值影响时,系统才进一步生成 FI 会计凭证。该 FI 凭证通常使用盘点差异对应的会计凭证类型,再从公司代码和会计年度适用的
RF_BELEG区间取号。
用最短的判断方式可以记成:
创建盘点凭证号 → 录入盘点数量 → 过账差异物料凭证号 → 价值相关时生成 FI 会计凭证号
这四步不能压缩成“创建盘点凭证时同时生成物料和会计凭证”。如果企业要验证盘点取号,应至少分别测试:创建盘点凭证、仅录入数量但不差异过账、产生数量差异的过账、产生价值差异的过账,以及冲销/重新盘点场景。每一步都要记录凭证类型、事务/事件类型、凭证年度和关联凭证,而不是只截图一个最终号码。
官方依据:SAP Learning - Adjusting Settings for Material and Accounting Documents
SAP 官方教程补充:会计凭证的 OMBA、凭证类型与 FBN1

物料凭证编号与 FI 会计凭证编号是两套控制。库存管理侧的经典入口是:
SPRO → Materials Management → Inventory Management and Physical Inventory → Number Assignment → Define Number Assignment for Accounting Documents
对应事务码为 OMBA。SAP 标准内容为库存管理预定义了会计凭证类型,例如:
WA:发货、转移过账和其他收货;WE:参照采购订单的收货;WI:盘点差异;WL:参照交货单的发货;WN:收货净额过账;PR:重估凭证。
库存管理事务先确定应使用的 FI 凭证类型;FI 凭证类型再指向号码范围键。真正的 FI 号码区间按公司代码与会计年度维护,经典事务码为 FBN1。

FI 入口视图的编号对象是 RF_BELEG。FI 会计凭证的唯一键是“凭证号 + 公司代码 + 会计年度”。凭证类型在客户端层定义,但号码区间要针对公司代码维护,并且必须覆盖使用年度。一个号码范围可以分配给多个凭证类型,但同一公司代码、同一会计年度中的区间不能互相重叠。
OMBA 和 FBN1 的职责不能颠倒:
| 层次 | 回答的问题 | 本课收货示例 |
|---|---|---|
| Inventory Management 业务事务 | 这是什么库存业务? | 采购订单收货 |
OMBA | 该库存业务生成 FI 凭证时用哪种 FI 凭证类型? | 标准示例可为 WE |
| FI 凭证类型 | 允许哪些科目类型、使用哪个号码范围、有哪些抬头控制? | 客户配置决定 |
FBN1 / RF_BELEG | 该公司代码、会计年度、范围键的上下限和当前号是什么? | 目标系统实际区间决定 |
FI 凭证类型不只决定号码范围,还可能控制允许的科目类型、授权组、冲销凭证类型、参考号/抬头文本检查、是否允许负数过账等。若项目把 OMBA 的标准类型替换成自定义类型,必须确认该类型允许货物移动可能涉及的物料、总账、供应商、资产等科目类型;否则这笔货物移动可能因 FI 凭证类型控制不兼容而无法完成过账。
SAP 官方资料还强调:货物移动自动生成的会计凭证只能使用内部编号。FI 编号范围框架虽然支持内部和外部区间,其他 FI 业务也可能允许外部号码,但不能据此给 MIGO 生成的会计凭证改成人工输入号码。
在本课中,WE 既出现在采购订单历史的事务/事件类型列,也可能作为收货会计凭证类型存在。判断时必须看界面上下文:
| 出现位置 | WE 的角色 | 决定什么 |
|---|---|---|
| 采购订单历史、OMBT 分组 | 库存管理事务/事件类型 | 物料凭证号码范围组 |
| OMBA / FI 凭证抬头 | 会计凭证类型 | FI 号码范围键、允许账户类型等 |
入口视图与总账视图的边界
视频在 FB03 中展示的是 FI 入口视图凭证 5000000151。在 SAP S/4HANA 的分类账架构中,非主导分类账的总账视图可能使用与入口视图不同的凭证编号,而且总账视图必须内部取号。本文不从一张 FB03 画面推导所有分类账的号码规则;项目验收时应先确认查询的是入口视图还是总账视图,再记录公司代码、会计年度和分类账。
SAP 官方教程补充:预留编号范围 OMC2

预留编号不使用物料凭证的 OMBT 组,也不使用 FI 的 FBN1。经典配置路径是:
SPRO → Materials Management → Inventory Management and Physical Inventory → Number Assignment → Define Number Assignment for Reservations
对应事务码为 OMC2。SAP 官方课程给出的边界非常明确:
- 经典交互式创建预留的日常内部取号使用一个客户端级区间;
- 该内部区间对同一客户端中的所有工厂和预留有效,不按工厂、公司代码或年度复制;
- 在 SAP 系统中直接创建预留时只能使用内部编号;
- 若通过
BAPI_RESERVATION_CREATE1的CreateFromData1方法创建并需要外部编号,应使用官方说明的外部号码范围RB。
SAP 官方 KBA 把该预留编号对象标识为 RESB。这意味着不能按工厂分别在 OMC2 中建立多个日常内部区间,也不能因为某个工厂想使用独立前缀,就把预留号当成可随意输入的业务编码。若企业需要额外分类,应使用规范的业务字段和报表维度,不应扭曲技术唯一号的职责。
接口例外也必须按入口区分:MB21 等经典交互式创建不等于 BAPI 外部取号;特定版本中发布用于开发者扩展的 RAP 预留业务对象也可能提供标准或外部编号能力,但这不是一条可直接套用到所有版本、所有 API 的通用规则。实施时要按目标版本的接口文档核对编号参数、幂等与重复请求处理,并用接口重放测试证明不会产生重复预留。
由于该内部范围不按年度复制,年度切换时不应照搬 MATBELEG 或 RF_BELEG 的年度建区间动作。对 RESB 更重要的是检查剩余容量、接口外部区间边界以及批量创建高峰。
SAP 官方教程补充:经典 GUI、Private Edition 与 Public Cloud 的入口差异

视频画面是经典 SAP GUI,训练连接标识为 s4hana1909。它可以证明经典事务和编号模型,却不能代表当前 SAP S/4HANA Cloud Public Edition 的配置入口。部署形态不同,操作入口和并行取号实现也不同:
| 场景 | On-Premise / Private Edition 常见入口 | Public Cloud 需要注意 |
|---|---|---|
| 物料、盘点凭证编号 | OMBT,对象 MATBELEG | 配置活动 Define Number Assignment for Material and Physical Inventory Documents,SSCUI 103896 |
| MM 生成 FI 凭证的类型 | OMBA | 使用公开配置活动,不应照搬不可用的 SPRO 事务 |
| FI 入口视图号码范围 | FBN1,对象 RF_BELEG | 使用 Manage Journal Entry Number Ranges 或租户中开放的对应配置活动 |
| 预留编号 | OMC2,对象 RESB | 以租户开放的配置活动和 API 文档为准 |
因此,本文给出的 OMBT/OMBA/FBN1/OMC2 是经典或私有云实施人员的定位入口,不是要求 Public Cloud 用户寻找同名事务码。迁移项目应先确认部署形态和版本,再把“业务对象—编号规则—配置活动”做映射;不要把旧系统截图当成新租户的可执行导航。
官方依据:SAP KBA 3535266 - Material Document Number Assignment in SAP S/4HANA Cloud Public Edition、SAP Help - Manage Journal Entry Number Ranges
SAP 官方教程补充:并行取号、缓冲、跳号与业务先后

“号码由系统自动递增”不等于“所有业务一定严格连续、号码越大就一定越晚”。SAP 官方资料说明,Public Cloud 的物料凭证号可以按块从中央编号提供者分配给不同过账实例,再由实例并行消费。这样能提高吞吐量,但会出现两个重要结果:
- 不保证编号无空缺;
- 不保证凭证号码的大小顺序与业务创建时间完全一致。
经典 ABAP 编号对象也存在不缓冲、主存缓冲和并行缓冲等技术权衡。回滚、更新终止、应用实例保留但未消费完的号块,都可能让号码看起来“跳了”。因此:
| 错误判断 | 正确处理 |
|---|---|
| 缺号就代表凭证被删除 | 先查回滚、更新终止、缓冲与并行取号;物料凭证通常通过冲销处理,不靠删除补号 |
| 更大的凭证号一定更晚 | 以过账日期、创建时间、创建用户和技术时间戳判断业务先后 |
| 把当前状态调回即可补齐空号 | 这可能与已存在凭证冲突并触发重复键错误,禁止作为补号手段 |
| UI 有 External 复选框就可让 MIGO 外部取号 | 物料/盘点凭证仍只允许内部编号,界面字段存在不改变应用边界 |
| 关闭缓冲就一定更合规 | 可能造成严重锁竞争;标准对象的缓冲策略必须按版本、法律要求和 SAP 支持建议评估 |
FI 可以用 RFBNUM00 分析凭证编号空缺,但“找到空缺”不是“允许重用空号”。如果企业受法定连续编号约束,应由财务、税务和合规团队定义允许的编号机制及空缺说明,技术团队不能通过回拨当前状态自行修补。
官方依据:SAP Help - Number Range Buffering、SAP KBA 3462818、SAP Help - Number Range in Financial Accounting
SAP 官方教程补充:年度切换、扩容与当前号码变更

编号范围的高风险操作集中在年度切换、容量不足和当前号码调整。
年度切换
- 物料/盘点凭证的
MATBELEG区间按年度控制;按年管理时,要在新年度首笔过账前准备并验证目标年度; - 不希望逐年维护时,可按 SAP Learning 的课程说明使用年度
9999;它表示长期适用区间,不是当前会计年度; - FI 入口视图的
RF_BELEG区间同样需要覆盖公司代码的过账年度,可按年重置,也可采用连续区间设计; - 预留
RESB是客户端级单一区间,不执行年度复制;年度切换只检查剩余容量、接口外部区间和批量业务峰值; - 选择连续还是按年重启,应由财务审计、法定编号要求和容量共同决定。
扩容
扩展上限前,应确认新上限不低于当前号码,并且不会进入另一个区间。若现有区间相邻空间不足,通常应设计新组或新号码范围,而不是直接制造重叠。
当前号码
SAP Help 明确提示,内部范围的当前号码通常不应人工修改。调整下限只适合尚未发号的区间;提高当前号码只应在特殊纠错场景执行。技术底线是不得回拨到已使用号码,不得制造区间重叠。作为本文的实施治理建议,此类特殊变更还应具备正式变更单、回退准备、双人复核和过账验证。绝不能为了消除“跳号”而把当前号码向后回拨。
运输与运行时状态
编号对象定义、编号区间和运行时当前状态不是同一类数据。SAP 的运输指南指出,以 TDAT SNUMS 运输的 NRIV 区间导入后会立即对运行系统可见。因此:
- 不运输区间删除,也不导入与生产现有区间冲突的内容;
- 不用开发或测试系统的当前状态覆盖生产当前号;
- 导入或手工维护前,核对目标系统区间、年度、当前状态、已存在凭证以及仍在运行的并行过账作业;
- 生产运行中不得把
MATBELEG当前状态调小。SAP KBA 记录过状态与已有凭证不一致、再次分配已存在号码并触发重复键短转储的场景; - 年中改变
MATBELEG起点应作为受控生产变更,不能简单“重置后再试”。
一个安全的切换包应分别保存开发、测试、生产的对象/区间对照,并把“需要运输的静态定义”与“绝不能覆盖的生产运行状态”分列。上线窗口中先冻结相关变更和批处理,复核目标区间,再执行最小业务测试;任何重复键或当前号回退迹象都应立即停止继续过账。
运输与状态依据:SAP Help - Transports of Number Range Intervals、SAP KBA 1903713、SAP KBA 2417258
SAP 官方教程补充:实施与排错清单

推荐实施顺序
- 确认部署形态和版本:经典/私有云使用相应 IMG 入口,Public Cloud 先映射到开放的配置活动;
- 统计各类货物移动、盘点和预留的年峰值,并预留增长、接口重试和并发批处理容量;
- 导出当前事务/事件类型分组,确认
WE/WF/WI/WA等进入预期MATBELEG组; - 核对
OMBT或对应配置活动中的年度、组、内部标志、上下限和当前状态; - 核对
OMBA中库存管理业务到 FI 凭证类型的关系; - 在
FBN1或 Public Cloud 对应应用中核对公司代码、会计年度、RF_BELEG范围键与容量; - 在
OMC2或对应配置活动中核对客户端级RESB内部区间和接口外部范围例外; - 在开发/测试系统执行采购收货、发货、转移过账、生产收货、盘点凭证创建、盘点数量录入、盘点差异过账和预留创建;
- 从每张物料凭证追溯 FI 与物料分类账关联凭证,记录事务/事件类型、移动类型、FI 凭证类型、年度和实际号码;
- 单独验证“非价值相关移动不会生成 FI 凭证”,防止把正常行为误报成接口丢单;
- 验证新年度、
9999长期区间、公司代码差异、回滚、冲销、批量并发和接口重复请求; - 对所有标准示例值和客户自定义值做标签,禁止把 SAP Learning 的组号、区间或公司代码直接写成生产方案;
- 切换前复核运输内容不含生产当前状态或区间删除,并暂停会与变更冲突的批处理;
- 生产切换后执行最小业务回归,监控剩余容量、重复键、更新终止与号码空缺说明,保留配置和验收证据。

常见问题定位
| 现象 | 优先检查 |
|---|---|
| 新年度首笔 MIGO 报编号错误 | OMBT 是否存在对应年度或 9999 区间 |
| 只有某类收货失败,其他移动正常 | 对应事务/事件类型是否分配到有效组 |
| 估价相关货物移动因 FI 凭证创建错误而未完成 | OMBA 的 FI 凭证类型、FBN1 公司代码/年度区间及允许账户类型;若已存在物料凭证却缺少 FI,先排除非价值相关移动,再检查更新终止或数据不一致 |
| 创建预留时报号段错误 | OMC2 唯一内部区间是否存在或耗尽 |
| 号码不连续 | 先检查回滚、并发和技术取号;不要直接回拨当前号码 |
| 凭证号大小与创建时间顺序相反 | 检查并行实例/号块分配,以 Posting Date 和 CreatedOn 判断先后 |
| 盘点凭证已创建但没有 FI 凭证 | 这是正常阶段边界;先确认是否已经执行差异过账且差异是否价值相关 |
| Public Cloud 找不到 OMBT/FBN1 | 不照搬经典事务,改用 SSCUI 103896 和租户开放的日记账号码范围应用 |
| 运输后出现重复键或更新终止 | 立即停查目标区间、当前状态和已有凭证,确认是否被非生产状态覆盖 |
| 区间即将耗尽 | 评估剩余业务量并按变更流程扩容或切换新组 |
| 视频号码与系统标准示例不同 | 将视频值视为课程系统配置,按目标系统实际 IMG 验证 |
SAP Learning 提到可以使用 RFBNUM00 分析 FI 凭证编号空缺,但“发现空缺”不等于“可以重用号码”。是否要求法定连续编号,应由财务和合规团队确定,技术人员不能通过回拨号段自行修补。
本课要点总结
- 视频真实创建了采购订单
4500000292,并完成101收货; - 收货生成物料凭证
370和会计凭证5000000151,两套编号彼此独立; - 采购订单历史中的
WE是库存管理事务/事件类型,参与OMBT的物料凭证号码范围分配; - 视频在解释编号范围组时中断,没有实际完成
OMBT、OMBA、FBN1或OMC2配置; - SAP 标准十位区间只是标准内容示例,客户课程系统的
370不能据此判错; - 货物移动产生的 FI 会计凭证只能使用内部编号;
- 实物盘点凭证、盘点差异物料凭证和价值相关差异产生的 FI 凭证是三个对象、三个取号时点;
- 预留日常交互式创建使用一个客户端级内部区间,经典入口为
OMC2,对象标识为RESB; - Public Cloud 使用 SSCUI
103896等公开配置活动,不应照搬经典 SPRO 事务入口; - 并行按块取号可能产生空号和乱序,业务先后不能只按凭证号判断;
- 年度区间、剩余容量、运输内容和当前状态变更必须纳入正式变更控制。
SAP 官方参考资料
- Adjusting Settings for Material and Accounting Documents
- Implementing Settings for Documents
- Configuring the Header and Line Items of Financial Accounting Documents
- SAP Help - Document Number Assignment
- SAP Help - Changing and Deleting Number Ranges
- SAP Help - Define Document Number Ranges for Entry View
- SAP Help - Number Range in Financial Accounting(RF_BELEG)
- SAP Help - Manage Journal Entry Number Ranges
- SAP Help - Number Range Buffering
- SAP Help - Transports of Number Range Intervals
- SAP KBA 3535266 - Public Cloud 物料凭证编号
- SAP KBA 3462818 - 并行编号与空缺
- SAP KBA 3596217 - MATBELEG 与 OMBT
- SAP KBA 3442011 - RESB 与 OMC2
- SAP KBA 1903713 - MATBELEG 当前状态与重复键风险
- SAP KBA 2417258 - 年中调整 MATBELEG 起点
本文的视频编号、日期、组织值和凭证号来自课程系统画面;SAP 标准行为和未演示配置仅依据上述官方资料补齐。实施前请以目标 S/4HANA 版本、部署形态和系统中的 IMG 活动文档为准。


