简介:这份PDF手册面向SAP SD模块的初学者与实施顾问,系统梳理销售与分销模块的基础配置逻辑与核心术语,帮助读者理解从报价到发货的完整业务流程如何通过后台配置落地。资源共1个PDF文件,压缩包约29.36MB,内容以图文步骤与配置路径说明为主,便于按章节查阅。手册从预览检查配置结构入手,逐一解释产品组、分销渠道、销售组织、销售区域等专有名词,并展开产品主数据、客户主数据、定价、订单处理、发票账单、运输配送等系统流程;配置细节部分覆盖销售组织分配产品组与分销渠道、工厂与公司代码分配、销售范围设置、销售区域到销售凭证类型分配,以及通用分销渠道、通用产品组、销售办公室与销售组的定义。目前已有1529人学习,适合需要打牢SD配置基础、对照系统操作查漏补缺的读者。
1. 从一次配置翻车说起:SAP SD 模块到底该怎么装
第一次在测试机里配 SAP SD,我犯了个很典型的错:销售组织建好了,分销渠道也建好了,结果创建销售订单时系统死活带不出装运点。查了大半天,最后发现是销售范围没分配给销售凭证类型——一个看起来跟装运毫无关系的配置项,卡住了整条发货链路。SAP SD 模块的安装和配置就是这样,它不是装一个软件那么简单,而是在已有 SAP 系统里把一整套销售与分销的业务骨架搭起来。产品组、分销渠道、销售组织、销售区域、装运点、定价过程、科目确定,这些名词背后每一个都对应着实实在在的后台配置路径。配错一个,轻则订单创建报错,重则发票过不了账。这篇笔记面向的是正在做 SAP SD 基础配置的开发者或顾问,不管你是刚接触模块的新手,还是从 MM、FI 转过来补 SD 配置的老手,下面这套从环境准备到验证跑通的流程,都能直接拿去对着做。
2. 环境准备与版本确认:ECC6 和 S/4HANA 的配置差异先搞清楚
2.1 确认系统版本和模块状态
动手之前先确认你面对的是哪个版本。SAP ECC6 和 S/4HANA 在 SD 配置上有不少差异,尤其是客户主数据这块——ECC6 用的是传统的客户主数据(XD01/VD01),S/4HANA 推的是商业伙伴(Business Partner)模型,客户和供应商统一走 BP 事务码维护。如果你拿 ECC6 的配置手册去配 S/4HANA,客户科目组和字段选择那一步就会卡住。
确认版本的方法很简单,登录系统后看菜单栏或者用命令查:
# 通过 SAP GUI 登录后,在命令框输入以下事务码查看版本信息 # 查看系统版本 SM51 # 查看已安装的软件组件版本(重点看 SAP_APPL 和 SAP_HR 等) SPAM # 查看内核版本 SM50 -> 菜单栏 系统 -> 状态逻辑说明:SM51看应用服务器实例状态,SPAM进支持包管理界面能看到组件版本,SM50里通过“系统 -> 状态”可以查到内核版本和数据库版本。我一般会先把这三个信息记下来,因为后面配装运点、定价过程时,不同版本的操作路径确实有差别。
提示:如果你在 S/4HANA 里找不到 VK11 或者 XD01,别慌,先确认是不是客户主数据已经迁移到 BP 模型了。S/4HANA 里 VK11 还在,但客户创建入口变成了 BP。
2.2 配置前必须理清的组织架构
SAP SD 的配置是围绕组织架构展开的。你得先把这几个东西的关系理清楚,不然后面配到一半发现销售组织没分配给公司代码,整个流程就得推倒重来。
| 组织单元 | 事务码路径 | 作用 | 常见坑 |
|---|---|---|---|
| 销售组织 | SPRO > 企业结构 > 定义 > 销售和分销 | 负责销售决策、定价、客户服务 | 没分配给公司代码,发票过不了账 |
| 分销渠道 | SPRO > 企业结构 > 定义 > 销售和分销 | 定义产品到达客户的路径 | 没分配给销售组织,订单类型选不到 |
| 产品组 | SPRO > 企业结构 > 定义 > 销售和分销 | 区分产品线或业务领域 | 没分配给销售组织,物料主数据带不出 |
| 销售区域 | 销售组织 + 分销渠道 + 产品组 | 具体的销售市场组合 | 没分配给凭证类型,订单创建报错 |
| 工厂 | SPRO > 企业结构 > 分配 > 销售和分销 | 生产或发货发生地 | 没分配给销售组织,装运点确定不了 |
这张表建议在动手前先对着填一遍,把你们公司的实际组织单元代进去。我见过太多人跳过这一步直接进 SPRO 点配置,结果配到装运点发现工厂没分配销售组织,又回头补,前面的配置还得重新检查一遍关联关系。
2.3 传输请求和客户端设置
正式配置之前,确认你的传输请求已经建好。SAP 的配置默认记录在传输请求里,如果你在开发机配完直接传到测试机,中间漏了请求或者请求没释放,测试机上就是一片空白。
# 创建传输请求(在 SPRO 配置时系统会自动提示创建) # 手动创建传输请求的事务码 SE01 # 查看当前用户的传输请求 SE09 # 释放传输请求(配置完成后必须做) SE10逻辑说明:SE01是传输组织器,可以手动创建请求;SE09看自己名下的请求;SE10是释放请求的地方。我一般会在开始配置前先建一个请求,命名规则用“项目代号+模块+日期”,比如“SD_CONFIG_20250101”,这样后面传到测试机时不会跟别人的请求混在一起。
注意:如果你是在生产机直接配,那当我没说——但正常流程一定是开发机配、测试机验、生产机传。生产机直接改配置是运维大忌,出了问题连后悔药都没有。
3. 核心配置实操:从销售组织到装运点的完整链路
3.1 定义销售组织并分配公司代码
销售组织是 SD 模块的根,所有后续配置都挂在它下面。路径是 SPRO > 企业结构 > 定义 > 销售和分销 > 定义,维护销售组织。
# SPRO 路径(事务码 SPRO) # 企业结构 -> 定义 -> 销售和分销 -> 定义,维护销售组织 # 或者直接跳转事务码:OVX5在OVX5里新建销售组织,填四个关键字段:销售组织代码(四位字母数字)、名称、公司代码、货币。公司代码必须提前在 FI 模块建好,否则这里选不到。
配完之后马上做分配:SPRO > 企业结构 > 分配 > 销售和分销 > 给公司代码分配销售组织。这一步是把销售组织挂到法人实体下面,不做的话后面发票过账会报错“公司代码未分配”。
我一般会在这里多检查一遍:销售组织的货币和公司代码的货币是否一致。不一致的话,跨公司销售时汇率转换会出玄学问题,订单金额和发票金额对不上,查起来非常痛苦。
3.2 分销渠道和产品组的配置与分配
分销渠道定义产品怎么卖出去,产品组定义卖的是什么。两个都要先定义再分配。
# 定义分销渠道 # SPRO -> 企业结构 -> 定义 -> 销售和分销 -> 定义,维护分销渠道 # 事务码:OVX6 # 定义产品组 # SPRO -> 企业结构 -> 定义 -> 销售和分销 -> 定义,维护产品组 # 事务码:OVX7 # 给销售组织分配分销渠道 # SPRO -> 企业结构 -> 分配 -> 销售和分销 -> 给销售组织分配分销渠道 # 事务码:OVXK # 给销售组织分配产品组 # SPRO -> 企业结构 -> 分配 -> 销售和分销 -> 给销售组织分配产品组 # 事务码:OVXL逻辑说明:OVX6和OVX7分别建分销渠道和产品组,一般各建两到三个就够了,比如分销渠道建“直销”“批发”“零售”,产品组建“整机”“配件”。OVXK和OVXL是把它们挂到销售组织下面,一个销售组织可以挂多个分销渠道和产品组,但每个组合会形成一个独立的销售区域。
这里有个容易翻车的地方:分销渠道和产品组一旦被销售区域引用,就不能随便删了。我见过有人在测试机建了一堆分销渠道玩,结果传到生产机发现删不掉,只能一个个把引用关系解开。所以建之前想清楚,别拿生产机当沙盒。
3.3 销售区域的设置和凭证类型分配
销售区域是销售组织、分销渠道、产品组的三维组合。配完前面的组织单元后,销售区域会自动生成,但你需要把它分配给销售凭证类型。
# 设置销售范围 # SPRO -> 销售和分销 -> 销售 -> 销售凭证 -> 销售凭证抬头 -> 定义销售凭证类型 # 事务码:VOV8 # 分配销售区域到销售凭证类型 # 在 VOV8 里选中凭证类型,双击“销售区域”节点进行分配在VOV8里定义销售凭证类型,比如“OR 标准订单”“QT 报价单”“CR 退货单”。每个凭证类型都要分配允许的销售区域,不分配的话创建订单时系统会报“销售区域未定义”。
我一般会在这里做一个对照表,把凭证类型和销售区域的对应关系列清楚:
| 凭证类型 | 事务码 | 允许的销售区域 | 用途 |
|---|---|---|---|
| OR | VOV8 | 所有销售区域 | 标准销售订单 |
| QT | VOV8 | 所有销售区域 | 报价单 |
| CR | VOV8 | 所有销售区域 | 退货订单 |
| RE | VOV8 | 指定销售区域 | 借项凭证 |
提示:如果你只想让某个凭证类型在特定销售区域使用,就在分配时只勾选对应的销售区域。全勾和部分勾的区别,在订单创建时就能看出来——全勾的话所有销售区域都能选,部分勾的话只有勾了的才出现在下拉列表里。
3.4 装运点的定义和分配
装运点是发货环节的核心。定义装运点、给工厂分配装运点、维护库存地点的装运点确认,这三步缺一不可。
# 定义装运点 # SPRO -> 销售和分销 -> 基本功能 -> 装运 -> 装运点 -> 定义装运点 # 事务码:OVXD # 给工厂分配装运点 # SPRO -> 销售和分销 -> 基本功能 -> 装运 -> 装运点 -> 给工厂分配装运点 # 事务码:OVXC # 维护库存地点的装运点确认 # SPRO -> 销售和分销 -> 基本功能 -> 装运 -> 装运点 -> 维护库存地点的装运点确认 # 事务码:OVXH逻辑说明:OVXD建装运点,填装运点代码、名称、工厂。OVXC把装运点挂到工厂下面,一个工厂可以有多个装运点。OVXH是最后一步,把库存地点和装运点关联起来,这样创建交货单时系统才能自动确定从哪个装运点发货。
我踩过的一个坑:装运点建好了,工厂也分配了,但创建交货单时系统还是带不出装运点。查了半天发现是库存地点没做装运点确认。这个配置项藏得比较深,在OVXH里维护,很多人会漏掉。
3.5 定价过程和科目确定的配置
定价和科目确定是 SD 跟 FI 的接口,配不好发票就过不了账。
# 定义定价过程 # SPRO -> 销售和分销 -> 基本功能 -> 定价 -> 定价控制 -> 定义并分配定价过程 # 事务码:V/08 # 定义科目确定过程 # SPRO -> 销售和分销 -> 基本功能 -> 科目分配/成本 -> 收入科目确定 -> 定义并分配科目确定过程 # 事务码:VKOA在V/08里定义定价过程,把条件类型(比如 PR00 价格、K007 折扣、MWST 税)按顺序挂进去。每个条件类型对应一个存取顺序,存取顺序决定了系统从哪里取价格——物料主数据、客户主数据、还是条件记录(VK11)。
VKOA是科目确定,把销售区域、客户科目组、物料科目组、科目键组合起来,对应到具体的总账科目。这一步配完,发票过账时系统才能自动找到收入科目和应收科目。
注意:科目确定配完后,一定要用 VK11 建一条条件记录测试一下。我见过有人配了定价过程但没建条件记录,创建订单时价格是空的,还以为是定价过程配错了,其实是条件记录没维护。
4. 避坑与排查:SD 配置中最容易翻车的五个地方
4.1 销售组织没分配给公司代码
现象:创建发票时系统报错“公司代码未分配”或者“销售组织未分配给公司代码”。
原因:销售组织建好了,但忘了在 SPRO > 企业结构 > 分配 > 销售和分销 > 给公司代码分配销售组织里做关联。
解决:回到分配路径补上关联,然后检查销售组织的货币和公司代码的货币是否一致。不一致的话还要在 FI 模块做汇率转换设置。
4.2 销售区域没分配给凭证类型
现象:创建销售订单时,输入销售组织、分销渠道、产品组后,凭证类型下拉列表是空的,或者选了凭证类型后报“销售区域未定义”。
原因:VOV8里凭证类型的销售区域分配没做,或者只分配了部分销售区域。
解决:进VOV8选中对应的凭证类型,双击“销售区域”节点,把需要的销售区域勾上。如果所有销售区域都要用,就全选。
4.3 装运点确定不了
现象:创建交货单时,装运点字段是空的,手动输入也带不出库存地点。
原因:三种可能——装运点没分配给工厂、库存地点没做装运点确认、或者装运点的确定规则没配。
解决:按顺序检查OVXC(工厂分配)、OVXH(库存地点确认)、OVXD(装运点定义)。三个都配了还不行,就看装运点的确定规则(SPRO > 销售和分销 > 基本功能 > 装运 > 装运点 > 定义装运地点的确定规则)。
4.4 定价过程取不到价格
现象:创建订单时价格是 0 或者空白,手动输入价格后系统又覆盖掉。
原因:定价过程里条件类型的存取顺序配错了,或者条件记录(VK11)没维护。
解决:先进V/08检查定价过程里 PR00 的存取顺序,确认它先读物料主数据还是先读条件记录。然后进VK11建一条条件记录,把价格维护进去。如果还是取不到,检查条件类型的“排除”标识是不是设错了。
4.5 科目确定过不了账
现象:发票保存时系统报错“科目确定失败”或者“未找到总账科目”。
原因:VKOA里科目确定过程没配全,或者客户科目组、物料科目组、科目键的组合没覆盖到。
解决:进VKOA检查科目确定过程,确认销售区域、客户科目组、物料科目组、科目键四个维度的组合都有对应的总账科目。缺哪个补哪个。补完之后用VF01创建一张测试发票验证。
5. 装完怎么验证:用一张完整订单跑通全流程
配置做完之后,别急着传生产机。先在开发机或者测试机里用一张完整订单跑一遍全流程,从报价到订单到交货到发票,每一步都走通再往下传。
5.1 创建销售订单并检查定价
# 创建销售订单 VA01 # 输入订单类型 OR,销售组织、分销渠道、产品组 # 回车后进入订单抬头,输入客户编号、物料编号、数量 # 回车后系统自动带出价格逻辑说明:VA01创建订单时,系统会根据销售区域自动确定凭证类型、定价过程、装运点、科目确定过程。如果价格带不出来,回V/08检查定价过程;如果装运点带不出来,回OVXC和OVXH检查分配。
我一般会在这里重点看三个东西:价格对不对、装运点有没有、交货日期能不能算出来。三个都对,说明前面的配置链路是通的。
5.2 创建交货单并检查装运点
# 创建交货单 VL01N # 输入装运点、交货日期,回车后系统带出订单行项目 # 检查装运点、库存地点、拣配数量逻辑说明:VL01N创建交货单时,系统会根据订单里的装运点自动带出库存地点。如果装运点是空的,回OVXD检查装运点定义;如果库存地点是空的,回OVXH检查库存地点确认。
5.3 创建发票并检查科目确定
# 创建发票 VF01 # 输入交货单号,回车后系统带出开票行项目 # 检查总账科目、税码、金额 # 保存后系统自动生成会计凭证逻辑说明:VF01创建发票时,系统会根据VKOA的科目确定过程自动找到收入科目和应收科目。如果报错“科目确定失败”,回VKOA检查科目确定过程。保存成功后,用FB03查看生成的会计凭证,确认借贷方金额和科目都对。
5.4 验证清单和常见回退操作
跑完一遍全流程后,对着下面这张清单逐项确认:
| 验证项 | 事务码 | 预期结果 | 失败时回退路径 |
|---|---|---|---|
| 订单创建 | VA01 | 价格、装运点、交货日期都带出 | V/08、OVXC、OVXH |
| 交货创建 | VL01N | 装运点、库存地点带出 | OVXD、OVXH |
| 发票创建 | VF01 | 总账科目、税码带出 | VKOA |
| 会计凭证 | FB03 | 借贷方金额正确 | VKOA、FI 配置 |
| 定价条件 | VK11 | 条件记录存在 | V/08 |
如果某一步验证失败,先别急着改配置。我一般会先用ST22看 ABAP dump,确认是配置问题还是程序问题。配置问题回 SPRO 改,程序问题找 ABAP 顾问。改完配置后,记得把传输请求释放了再传到测试机重新验证。
提示:验证通过后,用
SE10释放传输请求,把配置传到测试机。测试机再跑一遍全流程,没问题再传生产机。生产机传完后,用VA01创建一张真实订单做最终确认。
从那以后我每次配完 SD 基础配置,都会强制走一遍“订单-交货-发票”的全流程验证,不管多赶时间都不跳过。因为 SD 的配置链路太长了,任何一个环节的关联没做,都可能卡在最后一步才暴露出来。希望这套流程能帮你少走点弯路。
本文还有配套的精品资源,点击获取