Commit b1543f35 authored by 许超's avatar 许超

勘误:徐超统一改为许超(含历史日志)

parent 99b02168
{
"list_id": "guanglian-ops-26",
"display_name": "guanglian问题清单",
"mode": "local",
"issue_prefix": "ISS",
"kb_dir": "D:\\AI Project\\广联项目2\\issues-ledger",
"git_root": "D:\\AI Project\\广联项目2",
"push_spec": {},
"updated_at": "2026-08-05",
"run_mode": "local"
}
---
description: CDS 知识库查询助手 — 搜索 SAP S/4HANA Cloud CDS 视图的字段详情、描述和中文翻译。当用户询问 CDS 视图、字段信息、应用组件相关视图时使用。Use ONLY for CDS knowledge base queries in this project.
mode: subagent
---
你是 CDS 知识库查询助手,专门处理此项目中 CDS 视图的查询请求。
## 文件结构
| 内容 | 路径 | 说明 |
|------|------|------|
| KeyUser 可用视图(知识库,含中文) | `knowledge-base/KB_Cds_User/` | 58 个文件,含中文描述、能力(中文)、说明(中文)、字段表 |
| I_ 开头视图字段详情(原始) | `CDS_I_字段详情/` | 80 个文件,所有 I_ 视图的字段详情,含中文描述 |
| KeyUser 可用视图(output,含中文) | `output/` | 85 个文件,含字段级中文描述(来源数据) |
| CDS 主清单 | `CDS_I开头清单.md` | 视图总览清单 |
| 生成说明 | `CDS_清单生成说明.md` | 数据来源和生成流程 |
## 查询策略
### 1. 按视图名称搜索
- 用户说 **"I_MATERIAL 的字段"** → 搜索 `knowledge-base/KB_Cds_User/``CDS_I_字段详情/` 中视图对应的 `## I_MATERIAL` 章节
- 使用 grep 搜索 `## I_MATERIAL``## I_视图名`,然后用 read 读取附近内容
### 2. 按关键词/业务主题搜索
- 用户说 **"销售订单相关的 CDS"**
- 先在 `CDS_I开头清单.md` 中搜索 "Sales" "销售" "Order" "订单"
- 或者在 `knowledge-base/KB_Cds_User/` 中用 grep 搜索 "销售" "订单"
- 返回匹配的视图名称和简要描述
### 3. 按应用组件搜索
- 用户说 **"FIN-CS 相关的 CDS"**
-`knowledge-base/KB_Cds_User/` 中搜索 `FIN-CS`
- 返回匹配的视图
### 4. 查字段详情
- 用户说 **"XX 视图有哪些字段"**
-`knowledge-base/KB_Cds_User/` 中找到 `## XX` 章节
- 读取其后的 `### 字段列表` 表格
- 返回字段名、类型、描述、中文描述
### 5. 查中文翻译
- 字段的中文描述在字段表的"中文描述"列
- 视图属性的中文翻译在"能力(中文)"和"说明(中文)"行
### 6. 常用搜索模式速查
```
# 找视图 → 用 grep 在 knowledge-base/KB_Cds_User/ 中搜索关键词
# 找字段 → 找到对应视图的 ## 章节,读字段列表
# 找应用组件 → grep "应用组件.*FIN-" 或 grep "FIN-CS"
# 找中文 → grep "中文" 或 "中文描述" 附近内容
```
## 输出格式
回复时使用中文,用表格呈现搜索结果。字段信息用以下格式:
| 字段名 | 类型 | 长度 | 描述 | 中文描述 |
...@@ -6,9 +6,9 @@ project: 广联项目 ...@@ -6,9 +6,9 @@ project: 广联项目
title: 零售调拨跨公司物料号映射缺失 title: 零售调拨跨公司物料号映射缺失
raised_dept: 零售销售部门 raised_dept: 零售销售部门
raised_by: "" raised_by: ""
owner: 超 <chao.xu@boscloud.cn> owner: 超 <chao.xu@boscloud.cn>
owner_history: owner_history:
- {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-07-14, reason: 新建指派} - {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-07-14, reason: 新建指派}
system: SAP system: SAP
registered: 2026-07-14 registered: 2026-07-14
category: 系统优化问题 category: 系统优化问题
...@@ -31,5 +31,5 @@ linked: [] ...@@ -31,5 +31,5 @@ linked: []
## 进展日志 ## 进展日志
- 2026-07-14 · 许超 · [session-20260714] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派) - 2026-07-14 · 许超 · [session-20260714] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派)
- 2026-07-14 · 许超 · [session-20260714] · 解决方案确认:在调拨前采用物料转物料方式——使用MIGO 309(移动类型309:物料到物料转移过账)将日本第三方仓的源物料号转为美国公司的目标物料号,完成物料转换后再执行跨公司调拨。云端等价操作:Post Goods Movement (F1600A) 或 Transfer Material app,移动类型309。关联未决#010。;(sap_status: 未开始→已完成) - 2026-07-14 · 许超 · [session-20260714] · 解决方案确认:在调拨前采用物料转物料方式——使用MIGO 309(移动类型309:物料到物料转移过账)将日本第三方仓的源物料号转为美国公司的目标物料号,完成物料转换后再执行跨公司调拨。云端等价操作:Post Goods Movement (F1600A) 或 Transfer Material app,移动类型309。关联未决#010。;(sap_status: 未开始→已完成)
...@@ -6,9 +6,9 @@ project: 广联项目 ...@@ -6,9 +6,9 @@ project: 广联项目
title: 认款需CRM单号反查SAP单号 title: 认款需CRM单号反查SAP单号
raised_dept: 开发和IT raised_dept: 开发和IT
raised_by: "" raised_by: ""
owner: 超 <chao.xu@boscloud.cn> owner: 超 <chao.xu@boscloud.cn>
owner_history: owner_history:
- {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-07-15, reason: 新建指派} - {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-07-15, reason: 新建指派}
system: SAP/CRM system: SAP/CRM
registered: 2026-07-15 registered: 2026-07-15
category: 开发需求 category: 开发需求
...@@ -44,4 +44,4 @@ linked: [] ...@@ -44,4 +44,4 @@ linked: []
## 进展日志 ## 进展日志
- 2026-07-15 · 许超 · [session-20260714] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派) - 2026-07-15 · 许超 · [session-20260714] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派)
...@@ -8,8 +8,8 @@ raised_dept: 顾问团队 ...@@ -8,8 +8,8 @@ raised_dept: 顾问团队
raised_by: "" raised_by: ""
owner: 许超 <chao.xu@boscloud.cn> owner: 许超 <chao.xu@boscloud.cn>
owner_history: owner_history:
- {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-01, reason: 新建指派} - {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-01, reason: 新建指派}
- {from: 徐超 <chao.xu@boscloud.cn>, to: 许超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-04, reason: 勘误:owner 由徐超改为许超(徐超系笔误)} - {from: 许超 <chao.xu@boscloud.cn>, to: 许超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-04, reason: 勘误:owner 由许超改为许超(许超系笔误)}
system: SAP system: SAP
registered: 2026-08-01 registered: 2026-08-01
category: 管理综合问题 category: 管理综合问题
...@@ -44,5 +44,5 @@ linked: [] ...@@ -44,5 +44,5 @@ linked: []
## 进展日志 ## 进展日志
- 2026-08-01 · 许超 · [session-20260715] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派) - 2026-08-01 · 许超 · [session-20260715] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派)
- 2026-08-04 · 许超 · [session-20260804] · 勘误:owner 由徐超改为许超(徐超系笔误);(owner: 徐<chao.xu@boscloud.cn>→许超 <chao.xu@boscloud.cn> - 2026-08-04 · 许超 · [session-20260804] · 勘误:owner 由许超改为许超(许超系笔误);(owner: 许<chao.xu@boscloud.cn>→许超 <chao.xu@boscloud.cn>
...@@ -8,8 +8,8 @@ raised_dept: 顾问团队 ...@@ -8,8 +8,8 @@ raised_dept: 顾问团队
raised_by: "" raised_by: ""
owner: 许超 <chao.xu@boscloud.cn> owner: 许超 <chao.xu@boscloud.cn>
owner_history: owner_history:
- {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-01, reason: 新建指派} - {from: 许超, to: 超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-01, reason: 新建指派}
- {from: 徐超 <chao.xu@boscloud.cn>, to: 许超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-04, reason: 勘误:owner 由徐超改为许超(徐超系笔误)} - {from: 许超 <chao.xu@boscloud.cn>, to: 许超 <chao.xu@boscloud.cn>, by: 许超, date: 2026-08-04, reason: 勘误:owner 由许超改为许超(许超系笔误)}
system: 亚马逊/领星/SAP system: 亚马逊/领星/SAP
registered: 2026-08-01 registered: 2026-08-01
category: 跟踪类问题 category: 跟踪类问题
...@@ -47,5 +47,5 @@ linked: [] ...@@ -47,5 +47,5 @@ linked: []
## 进展日志 ## 进展日志
- 2026-08-01 · 许超 · [session-20260715] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派) - 2026-08-01 · 许超 · [session-20260715] · 创建问题;sap_status=未开始, acceptance=NA;owner=许超→<chao.xu@boscloud.cn>(新建指派)
- 2026-08-04 · 许超 · [session-20260804] · 勘误:owner 由徐超改为许超(徐超系笔误);(owner: 徐<chao.xu@boscloud.cn>→许超 <chao.xu@boscloud.cn> - 2026-08-04 · 许超 · [session-20260804] · 勘误:owner 由许超改为许超(许超系笔误);(owner: 许<chao.xu@boscloud.cn>→许超 <chao.xu@boscloud.cn>
This source diff could not be displayed because it is too large. You can view the blob instead.
<!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'!>
<html>
<head>
<title id="title-0">需求驱动的补货计划和执行 (2QI):流程图</title>
<!--<link rel="shortcut icon" href="/~sapidp/002006825000000049342011E.ico" />-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script type="text/javascript">
//<![CDATA[
!window.jQuery && document.write('<script src="../../Frame/js/002006825000000203192011E.js"><\/script>' )
//]]></script>
<script type="text/javascript">
//<![CDATA[
if (document.URL.indexOf('https://websmp') == -1) {document.writeln('<link rel="stylesheet" type="text/css" href="../../Frame/css/002006825000000203222011E.css" /><\/link>');} else {document.writeln('<link rel="stylesheet" type="text/css" href="/~sapidp/002006825000000203222011E.css" /><\/link>'); }
//]]></script>
<script src="../../Frame/js/jquery.min.js" type="text/javascript">
</script>
</head>
<body>
<div id="wrapper222">
<!--<div id="back" align="right" >
<p><a onclick="history.back(-1)" >Back</a></p>
</div> -->
<div id="process_diagrams">
<h1 id="h1-0">需求驱动的补货计划和执行 (2QI)</h1>
<i id="i-0">注意!这是一份未经审核准确性的机器翻译文档。要发送有关译文的反馈,您可以在 SAP Best Practices Explorer 中您的国家/地区版本的范围项目页面上创建客户支持消息。</i>
<p id="p-0">此范围项目支持以下流程:</p>
<h4 id="h4-0">01 - 需求驱动补货计划</h4>
<svg id="svgRoot" class="svgRoot" xmlns="http://www.w3.org/2000/svg" width="1041" height="1379" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:g="http://www.sap.com/2014/galilei" viewBox="0 0 1041 1379">
<defs>
<pattern id="pagePattern" patternUnits="userSpaceOnUse" />
<pattern id="gridPattern" patternUnits="userSpaceOnUse" />
<path id="Bpmn.UserTaskIcon" class="taskIconFill" transform="scale(0.5)" d="M20.771,12.364c0,0,0.849-3.51,0-4.699c-0.85-1.189-1.189-1.981-3.058-2.548s-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.792-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.321s0.283,3.058,0.566,3.624l-0.337,0.113c-0.283,3.283,1.132,3.68,1.132,3.68c0.509,3.058,1.019,1.756,1.019,2.548s-0.51,0.51-0.51,0.51s-0.452,1.245-1.584,1.698c-1.132,0.452-7.416,2.886-7.927,3.396c-0.511,0.511-0.453,2.888-0.453,2.888h26.947c0,0,0.059-2.377-0.452-2.888c-0.512-0.511-6.796-2.944-7.928-3.396c-1.132-0.453-1.584-1.698-1.584-1.698s-0.51,0.282-0.51-0.51s0.51,0.51,1.02-2.548c0,0,1.414-0.397,1.132-3.68H20.771z" />
<rect id="Icons.invisible-icon" opacity="0" x="0" y="0" width="0" height="0" />
<g id="Bpmn.CompensationIcon">
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M0,6 L5.5,0 L5.5,12 Z" />
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M6.5,6 L12,0 L12,12 Z" />
</g>
<g id="Bpmn.ExclusiveGatewayIcon">
<line class="gatewayIconStroke" stroke="black" stroke-width="3" x1="13" y1="13" x2="27" y2="27" />
<line class="gatewayIconStroke" stroke="black" stroke-width="3" x1="13" y1="27" x2="27" y2="13" />
</g>
<marker id="Arrows.FilledEnd" markerUnits="userSpaceOnUse" refX="14" refY="5" markerWidth="14" markerHeight="10" orient="auto">
<path stroke="none" fill="black" d="M 0 0 L 14 5 L 0 10 z" />
</marker>
<path id="Bpmn.ServiceTaskIcon" class="taskIconFill" transform="scale(0.5)" d="M31.229,17.736c0.064-0.571,0.104-1.148,0.104-1.736s-0.04-1.166-0.104-1.737l-4.377-1.557c-0.218-0.716-0.504-1.401-0.851-2.05l1.993-4.192c-0.725-0.91-1.549-1.734-2.458-2.459l-4.193,1.994c-0.647-0.347-1.334-0.632-2.049-0.849l-1.558-4.378C17.165,0.708,16.588,0.667,16,0.667s-1.166,0.041-1.737,0.105L12.707,5.15c-0.716,0.217-1.401,0.502-2.05,0.849L6.464,4.005C5.554,4.73,4.73,5.554,4.005,6.464l1.994,4.192c-0.347,0.648-0.632,1.334-0.849,2.05l-4.378,1.557C0.708,14.834,0.667,15.412,0.667,16s0.041,1.165,0.105,1.736l4.378,1.558c0.217,0.715,0.502,1.401,0.849,2.049l-1.994,4.193c0.725,0.909,1.549,1.733,2.459,2.458l4.192-1.993c0.648,0.347,1.334,0.633,2.05,0.851l1.557,4.377c0.571,0.064,1.148,0.104,1.737,0.104c0.588,0,1.165-0.04,1.736-0.104l1.558-4.377c0.715-0.218,1.399-0.504,2.049-0.851l4.193,1.993c0.909-0.725,1.733-1.549,2.458-2.458l-1.993-4.193c0.347-0.647,0.633-1.334,0.851-2.049L31.229,17.736zM16,20.871c-2.69,0-4.872-2.182-4.872-4.871c0-2.69,2.182-4.872,4.872-4.872c2.689,0,4.871,2.182,4.871,4.872C20.871,18.689,18.689,20.871,16,20.871z" />
<filter id="filterSelectionGlow" x="-0.3" y="-0.3" width="1.6" height="1.6">
<feFlood flood-color="#7CAAC6" result="floodColorOut4" />
<feMorphology result="morphologyOut4" in="SourceGraphic" operator="dilate" radius="3" />
<feColorMatrix result="colorMatrixOut4" in="morphologyOut4" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0" />
<feComposite result="compositeOut4" in="floodColorOut4" in2="colorMatrixOut4" operator="in" />
<feGaussianBlur result="gaussianBlurOut4" in="compositeOut4" stdDeviation="3" />
<feBlend in="SourceGraphic" in2="gaussianBlurOut4" mode="normal" />
</filter>
<linearGradient id="startEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#ECFDDC" />
<stop offset="100%" stop-color="#DCFEA4" />
</linearGradient>
<linearGradient id="endEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#FFE6E5" />
<stop offset="100%" stop-color="#FFD5D5" />
</linearGradient>
<linearGradient id="intermediateEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#E7E7ED" />
<stop offset="100%" stop-color="#D4D4E8" />
</linearGradient>
<linearGradient id="taskGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#F3FCFF" />
<stop offset="65%" stop-color="#D5EDFF" />
<stop offset="100%" stop-color="#C1E4FF" />
</linearGradient>
</defs>
<g id="layersGroup">
<g id="svgMainShapeLayer" class="svgShapeLayer" transform="translate(494,81)">
<g id="6f7630c5-0b99-4267-b8f6-c46d5b150e94" class="nodeGroup" transform="translate(-490,-77)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="1033" height="1371" />
<text fill="lightgray" cursor="default" display="none" x="293" y="691" style="font:18px Arial, Helvetica, sans-serif;">No lanes are present in the pool, add at least 1 lane first</text>
</g>
<text fill="black" cursor="default" x="326" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_6f7630c5-0b99-4267-b8f6-c46d5b150e94">
<tspan x="412" y="19" >2QI - 需求驱动的补货计划和执行</tspan>
</text>
<line stroke="lightgray" stroke-width="1" fill="none" x1="0" y1="30" x2="1033" y2="30" />
</g>
<g id="86b28f24-8289-48de-8531-c2533c1d2911" class="nodeGroup" transform="translate(-490,-47)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="254.5" height="1341" />
<text fill="black" cursor="default" display="none" x="16" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="24" y="667">You can add the lane only</tspan>
<tspan x="16" y="685">when the pool is highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="58" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_86b28f24-8289-48de-8531-c2533c1d2911">
<tspan x="100" y="13" >生产主管</tspan>
</text>
</g>
<g id="63424529-1f8a-4021-9147-918c2a11e8a7" class="nodeGroup" transform="translate(-441,795)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns1="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="6" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_63424529-1f8a-4021-9147-918c2a11e8a7">
<tspan x="3" y="30" >创建生产订单(选</tspan>
<tspan x="26" y="41" >项 2)</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns2="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns3="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="a27dedb0-c84d-4833-bfc5-7ccc4896956c" class="nodeGroup" transform="translate(-421,488)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="116" height="70" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,70 L20,70" />
</g>
<text fill="black" cursor="default" x="4" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_a27dedb0-c84d-4833-bfc5-7ccc4896956c">
<tspan x="4" y="24" >情况</tspan>
<tspan x="4" y="35" >2:使用生产/</tspan>
<tspan x="4" y="46" >固定计划订单创建需</tspan>
<tspan x="4" y="57" ></tspan>
</text>
</g>
<g id="89cb53f4-79b4-43c4-9a28-0999d402cf83" class="nodeGroup" transform="translate(-321.5,744)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns4="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="b968d500-44cb-45aa-9f66-41c2f2538e22" class="nodeGroup" transform="translate(-345.5,788)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="c3290d6e-d4e9-46e2-9963-6737f71da542" class="nodeGroup" transform="translate(-341,838)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="60" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_c3290d6e-d4e9-46e2-9963-6737f71da542">
<tspan x="4" y="20" >MRP 类</tspan>
<tspan x="4" y="31" >型 D1</tspan>
</text>
</g>
<g id="e57d9f9a-89fc-4f43-88bd-35a46cfda28d" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-321.5,765 L-381,765 Q-391,765 -391,775 L-391,794.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-326.5" y="760" width="5" height="5" xmlns:ns5="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="-386" y="765" />
</g>
<g id="701f45d0-f638-4ea7-a122-96311093ee03" class="nodeGroup" transform="translate(-235.5,-47)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="243.5" height="1341" />
<text fill="black" cursor="default" display="none" x="11" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="18" y="667">You can add the lane only</tspan>
<tspan x="11" y="685">when the pool is highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="30" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_701f45d0-f638-4ea7-a122-96311093ee03">
<tspan x="82" y="13" >内部销售代表</tspan>
</text>
</g>
<g id="85f52f4d-d0e6-47e2-bdfb-53e3575f80ea" class="nodeGroup" transform="translate(-200,365)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="110" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns6="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="7" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_85f52f4d-d0e6-47e2-bdfb-53e3575f80ea">
<tspan x="2" y="30" >创建成品的销售订单</tspan>
<tspan x="55" y="41" />
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns7="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns8="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="52638363-0d64-41d9-be45-f187e0ebedbb" class="nodeGroup" transform="translate(-131,289)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="119" height="70" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,70 L20,70" />
</g>
<text fill="black" cursor="default" x="4" y="17" style="font:12px Arial, Helvetica, sans-serif;" id="g_52638363-0d64-41d9-be45-f187e0ebedbb">
<tspan x="4" y="30" >案例</tspan>
<tspan x="4" y="41" >1:使用销售订</tspan>
<tspan x="4" y="52" >单创建需求</tspan>
</text>
</g>
<g id="3490bae5-3591-46af-b633-5f57e7478c19" class="nodeGroup" transform="translate(-171,267)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns9="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="58149e04-b9de-4cf5-9c14-0349fcf5e0a0" class="nodeGroup" transform="translate(-195,311)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="1e125715-0392-43aa-9600-5af50382a37f" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-147.5,306.5 L-147.5,364.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-142.5" y="311.5" width="5" height="5" xmlns:ns10="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="-142.5" y="335.5" />
</g>
<g id="fc41a5d0-979d-4888-b0a9-d2c343f572d0" class="nodeGroup" transform="translate(8,-47)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="535" height="1341" />
<text fill="black" cursor="default" display="none" x="51" y="676" style="font:18px Arial, Helvetica, sans-serif;">You can add the lane only when the pool is highlighted</text>
</g>
<text fill="black" cursor="default" x="208" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_fc41a5d0-979d-4888-b0a9-d2c343f572d0">
<tspan x="234" y="13" >生产计划员</tspan>
</text>
</g>
<g id="05250cd0-3270-47bb-9cda-3774f604f234" class="nodeGroup" transform="translate(288,48)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="inline" cx="16" cy="16" r="16" />
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="none" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns11="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="startEventName" cursor="default" display="none" x="0" y="10" style="font:12px Arial, Helvetica, sans-serif;" id="g_05250cd0-3270-47bb-9cda-3774f604f234">
<tspan x="-73" y="10" >1Y2 -需求驱动的缓冲级别管理</tspan>
</text>
</g>
<g id="0ef4be52-944a-4525-9de0-670962a18caf" class="nodeGroup" transform="translate(325,45)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="4" y="2" style="font:12px Arial, Helvetica, sans-serif;" id="g_0ef4be52-944a-4525-9de0-670962a18caf">
<tspan x="-2" y="20" >1Y2 -需求</tspan>
<tspan x="-19" y="31" >驱动的缓冲级别 ...</tspan>
</text>
</g>
<g id="d5088c77-e9c9-4b54-a950-5484f7fd7224" class="nodeGroup" transform="translate(254,159)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns12="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="10" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_d5088c77-e9c9-4b54-a950-5484f7fd7224">
<tspan x="26" y="36" >补货计划</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns13="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns14="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="3966e87b-6007-4802-93c7-34beb50fedeb" class="nodeGroup" transform="translate(283,268)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns15="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="7a4e8075-cdad-4cbd-be00-9ee093839840" class="nodeGroup" transform="translate(259,312)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="743395ec-b2ab-4b7c-982b-16000390682d" class="nodeGroup" transform="translate(281,878)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns16="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="915c4c55-8522-45a8-acfd-0b1f9f85429b" class="nodeGroup" transform="translate(257,922)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="1276261b-de4b-4328-a83f-6c34e19cb486" class="nodeGroup" transform="translate(252,934)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns17="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="11" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_1276261b-de4b-4328-a83f-6c34e19cb486">
<tspan x="9" y="36" >检查计划员概览</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns18="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns19="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="b87a9c26-5aed-43c2-bcb9-37feaffdaac2" class="nodeGroup" transform="translate(252,1039)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="105" rx="8" ry="8" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns20="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text class="taskName" fill="black" cursor="default" x="7" y="6" style="font:12px Arial, Helvetica, sans-serif;" id="g_b87a9c26-5aed-43c2-bcb9-37feaffdaac2">
<tspan x="3" y="52" >补货计划包括供应</tspan>
<tspan x="9" y="63" >创建和状态检查</tspan>
</text>
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" stroke-dasharray="0.8" fill="none" d="M0 10 L0 0 L10 0" transform="translate(5,89)" />
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" fill="none" d="M0 10 L10 10 L10 0 Z" transform="translate(5,89)" />
<use style="pointer-events: none;" display="none" x="4" y="101" width="0" height="0" xmlns:ns21="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="101" width="0" height="0" xmlns:ns22="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="a6deb08a-7b7a-49b5-9d9d-081a9b628303" class="nodeGroup" transform="translate(286,1197)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="endEvent" stroke="#CC2424" stroke-width="3" fill="#FFE6E5" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns23="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="endEventName" cursor="default" display="none" x="0" y="0" />
</g>
<g id="6c6a29a1-f1e0-4a52-a06e-b9b394203336" class="nodeGroup" transform="translate(257,1234)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="5" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_6c6a29a1-f1e0-4a52-a06e-b9b394203336">
<tspan x="21" y="26" >补货执行</tspan>
</text>
</g>
<g id="d2ec1fb4-3765-443a-a86f-1a0d2e5bd485" class="nodeGroup" transform="translate(103,479)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns24="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ServiceTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="10" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_d2ec1fb4-3765-443a-a86f-1a0d2e5bd485">
<tspan x="38" y="30" >计划</tspan>
<tspan x="9" y="41" >MRP 运 行</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns25="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns26="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="0ac666ca-a554-44c1-bfb3-9f4337b1c05d" class="nodeGroup" transform="translate(47,626)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="74" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns27="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="11" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_0ac666ca-a554-44c1-bfb3-9f4337b1c05d">
<tspan x="3" y="37" >将计划订单转换为</tspan>
<tspan x="26" y="48" >生产订单</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="70" width="0" height="0" xmlns:ns28="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="70" width="0" height="0" xmlns:ns29="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="a74cc014-469c-4e8b-9f9a-881a1ce79510" class="nodeGroup" transform="translate(368,159)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="143" height="60" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,60 L20,60" />
</g>
<text fill="black" cursor="default" x="4" y="12" style="font:12px Arial, Helvetica, sans-serif;" id="g_a74cc014-469c-4e8b-9f9a-881a1ce79510">
<tspan x="7" y="12" >检查缓冲组件的初始计划</tspan>
</text>
</g>
<g id="57917ed3-4099-48ad-be52-a1681db57c20" class="nodeGroup" transform="translate(310,313)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="181" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_57917ed3-4099-48ad-be52-a1681db57c20">
<tspan x="3" y="8" >如果是黄色或红色状态,则执行补</tspan>
</text>
</g>
<g id="af2c905d-75e9-4c84-ba5b-6e675f6267ad" class="nodeGroup" transform="translate(35,234)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="239" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_af2c905d-75e9-4c84-ba5b-6e675f6267ad">
<tspan x="3" y="8" >绿色状态情况下:通过成品创建缓冲组件的需</tspan>
</text>
</g>
<g id="47e6a7e4-c546-4171-86e8-ed767a2d059c" class="nodeGroup" transform="translate(359,1098)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="164" height="65" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,65 L20,65" />
</g>
<text fill="black" cursor="default" x="4" y="14" style="font:12px Arial, Helvetica, sans-serif;" id="g_47e6a7e4-c546-4171-86e8-ed767a2d059c">
<tspan x="4" y="32" >MRP</tspan>
<tspan x="4" y="43" >运行后缓冲组件的计划状态应为绿色</tspan>
</text>
</g>
<g id="f57613bb-a015-473f-8e2f-7164027fc105" class="nodeGroup" transform="translate(169,626)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="110" height="69" rx="8" ry="8" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns30="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text class="taskName" fill="black" cursor="default" x="19" y="6" style="font:12px Arial, Helvetica, sans-serif;" id="g_f57613bb-a015-473f-8e2f-7164027fc105">
<tspan x="20" y="40" >固定计划订单</tspan>
</text>
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" stroke-dasharray="0.8" fill="none" d="M0 10 L0 0 L10 0" transform="translate(5,53)" />
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" fill="none" d="M0 10 L10 10 L10 0 Z" transform="translate(5,53)" />
<use style="pointer-events: none;" display="none" x="4" y="65" width="0" height="0" xmlns:ns31="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="65" width="0" height="0" xmlns:ns32="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="63bea851-4ef5-417f-bdce-d1c2c59c33f7" class="nodeGroup" transform="translate(132,558)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns33="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="fc2c591b-fd58-4f37-8a09-7b3106b41b96" class="nodeGroup" transform="translate(38,559.25)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="26d0eea2-5a75-483e-9659-937d25944033" class="nodeGroup" transform="translate(139,721)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns34="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="78977a33-afbe-4a4a-bd5b-1fcc0b92c15c" class="nodeGroup" transform="translate(115,765)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="0403ac18-0ece-4de3-a080-349a132ed544" class="nodeGroup" transform="translate(30,701)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="60" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_0403ac18-0ece-4de3-a080-349a132ed544">
<tspan x="4" y="20" >MRP 类</tspan>
<tspan x="4" y="31" >型 D1</tspan>
</text>
</g>
<g id="956dad8c-d5ba-4d2c-b55c-054dfccc45a5" class="nodeGroup" transform="translate(28,795)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns35="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text class="taskName" fill="black" cursor="default" x="11" y="6" style="font:12px Arial, Helvetica, sans-serif;" id="g_956dad8c-d5ba-4d2c-b55c-054dfccc45a5">
<tspan x="3" y="30" >创建固定计划订单</tspan>
<tspan x="50" y="41" />
</text>
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" stroke-dasharray="0.8" fill="none" d="M0 10 L0 0 L10 0" transform="translate(5,44)" />
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" fill="none" d="M0 10 L10 10 L10 0 Z" transform="translate(5,44)" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns36="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns37="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="58fa8dfe-644e-4715-bb0d-c4e5de2f350c" class="nodeGroup" transform="translate(128,828)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="60" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_58fa8dfe-644e-4715-bb0d-c4e5de2f350c">
<tspan x="4" y="20" >MRP 类</tspan>
<tspan x="4" y="31" >型 D2</tspan>
</text>
</g>
<g id="dd7acf4a-cd76-403e-be0e-69de79b86700" class="nodeGroup" transform="translate(59,871)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns38="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="7e29cd85-94ec-4a37-b9a2-d2bf8c4cf89b" class="nodeGroup" transform="translate(35,915)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="21" y="24" style="font:12px Arial, Helvetica, sans-serif;" id="g_7e29cd85-94ec-4a37-b9a2-d2bf8c4cf89b">
<tspan x="33" y="24" >网关</tspan>
</text>
</g>
<g id="d4545ee8-1992-41a2-84eb-187f54213827" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M304,219.5 L304,268" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="309" y="224.5" width="5" height="5" xmlns:ns39="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="309" y="243.75" />
</g>
<g id="cd1a27b5-1b1d-4f21-a232-f5216b690bf3" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M303,309 L303,879" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="308" y="314" width="5" height="5" xmlns:ns40="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="308" y="594" />
</g>
<g id="3b7b0fa5-0d07-49df-a5e6-f58032457290" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M302,1144.5 L302,1195.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="307" y="1149.5" width="5" height="5" xmlns:ns41="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="307" y="1170" />
</g>
<g id="8822aae8-da63-4533-99e7-809cc59e11ea" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M302,920 L302,933.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="307" y="925" width="5" height="5" xmlns:ns42="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="307" y="926.75" />
</g>
<g id="8ee4e221-779a-4e63-8b5b-18cd5544ec35" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M304,80.5 L304,158.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="309" y="85.5" width="5" height="5" xmlns:ns43="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="309" y="119.5" />
</g>
<g id="c169cc05-4299-4b12-b9a1-69d9269e5a86" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M302,994.5 L302,1038.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="307" y="999.5" width="5" height="5" xmlns:ns44="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="307" y="1016.5" />
</g>
<g id="39a8c037-3f05-42cc-8fcc-c9b8b61586c8" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M153,539.5 L153,558" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="158" y="544.5" width="5" height="5" xmlns:ns45="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="158" y="548.75" />
</g>
<g id="b3592e3c-4c25-45c1-8c66-87d0a7944020" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M174,579 L214,579 Q224,579 224,589 L224,625.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="179" y="574" width="5" height="5" xmlns:ns46="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="229" y="579" />
</g>
<g id="15395a62-00e6-47eb-b279-84a65f9c50ed" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M132,579 L107,579 Q97,579 97,589 L97,625.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="127" y="574" width="5" height="5" xmlns:ns47="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="102" y="579" />
</g>
<g id="810c6c5e-21bc-4bf6-a217-211878515efb" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M97,700.5 L97,732 Q97,742 107,742 L139,742" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="102" y="705.5" width="5" height="5" xmlns:ns48="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="95" y="737" />
</g>
<g id="466d247d-9db1-4f79-99f7-a5d3f9d0face" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M224,695.5 L224,732 Q224,742 214,742 L181,742" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="229" y="700.5" width="5" height="5" xmlns:ns49="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="222" y="737" />
</g>
<g id="4b55d550-495b-4aac-902a-9e89b29369a7" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M78,855.5 L78,859.375 Q78,863.25 79,863.25 L79,863.25 Q80,863.25 80,867.125 L80,871" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="83" y="860.5" width="5" height="5" xmlns:ns50="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="77" y="858.25" />
</g>
<g id="23896138-7368-40e8-98f0-ab64ee4a8fb3" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M160,763 L160,810.5 Q160,820.5 170,820.5 L283.5,820.5 Q293.5,820.5 293.5,830.5 L293.5,886.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="165" y="768" width="5" height="5" xmlns:ns51="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="224.75" y="815.5" />
</g>
<g id="cd518280-3b79-4d73-9845-d60aa3913063" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M101,892 L181,892 Q191,892 191,895.5 L191,895.5 Q191,899 201,899 L281,899" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="106" y="887" width="5" height="5" xmlns:ns52="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="196" y="895.5" />
</g>
<g id="12542554-f8fd-40cd-8890-52418aa48cd1" class="nodeGroup" transform="translate(224,695)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="60" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_12542554-f8fd-40cd-8890-52418aa48cd1">
<tspan x="4" y="20" >MRP 类</tspan>
<tspan x="4" y="31" >型 D2</tspan>
</text>
</g>
<g id="57c242ca-58e2-4e81-8317-b993d4f2c1ff" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-145,425.5 L-145,442.25 Q-145,452.25 -135,452.25 L143,452.25 Q153,452.25 153,462.25 L153,478.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-140" y="430.5" width="5" height="5" xmlns:ns53="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="2" y="447.25" />
</g>
<g id="39421e64-92f3-4761-8cff-b78a03a0dccb" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M283,289 L-130,289" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="278" y="284" width="5" height="5" xmlns:ns54="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="74.5" y="284" />
</g>
<g id="bea4db5a-a7d2-40f8-b9e8-525f83084475" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-171,288 L-290,288 Q-300,288 -300,298 L-300,744.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-176" y="283" width="5" height="5" xmlns:ns55="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="-295" y="288" />
</g>
<g id="9c53ef01-64ea-4f51-9742-d93ff4b219fa" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-279.5,765 L68,765 Q78,765 78,775 L78,794.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-274.5" y="760" width="5" height="5" xmlns:ns56="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="83" y="765" />
</g>
<g id="f26766ad-5535-4229-bc4a-0a7ca834a1fd" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M-340.5,825 L-150.75,825 Q-140.75,825 -140.75,835 L-140.75,882 Q-140.75,892 -130.75,892 L59,892" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="-335.5" y="820" width="5" height="5" xmlns:ns57="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="-135.75" y="858.5" />
</g>
<g>
<g id="widgetGroup" transform="translate(0,-4)">
<g id="MProcess8470">
<g transform="translate(288,35)">
<text fill="#428EB0" cursor="pointer" x="0" y="10" style="font:Normal 12px SAP-Solution-Manager-icons;"></text>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
<h4 id="h4-1">02 - 需求驱动的补货执行</h4>
<svg id="svgRoot" class="svgRoot" xmlns="http://www.w3.org/2000/svg" width="694" height="1286" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:g="http://www.sap.com/2014/galilei" viewBox="0 0 694 1286">
<defs>
<pattern id="pagePattern" patternUnits="userSpaceOnUse" />
<pattern id="gridPattern" patternUnits="userSpaceOnUse" />
<rect id="Icons.invisible-icon" opacity="0" x="0" y="0" width="0" height="0" />
<g id="Bpmn.ExclusiveGatewayIcon">
<line class="gatewayIconStroke" stroke="black" stroke-width="3" x1="13" y1="13" x2="27" y2="27" />
<line class="gatewayIconStroke" stroke="black" stroke-width="3" x1="13" y1="27" x2="27" y2="13" />
</g>
<path id="Bpmn.UserTaskIcon" class="taskIconFill" transform="scale(0.5)" d="M20.771,12.364c0,0,0.849-3.51,0-4.699c-0.85-1.189-1.189-1.981-3.058-2.548s-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.792-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.321s0.283,3.058,0.566,3.624l-0.337,0.113c-0.283,3.283,1.132,3.68,1.132,3.68c0.509,3.058,1.019,1.756,1.019,2.548s-0.51,0.51-0.51,0.51s-0.452,1.245-1.584,1.698c-1.132,0.452-7.416,2.886-7.927,3.396c-0.511,0.511-0.453,2.888-0.453,2.888h26.947c0,0,0.059-2.377-0.452-2.888c-0.512-0.511-6.796-2.944-7.928-3.396c-1.132-0.453-1.584-1.698-1.584-1.698s-0.51,0.282-0.51-0.51s0.51,0.51,1.02-2.548c0,0,1.414-0.397,1.132-3.68H20.771z" />
<g id="Bpmn.CompensationIcon">
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M0,6 L5.5,0 L5.5,12 Z" />
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M6.5,6 L12,0 L12,12 Z" />
</g>
<marker id="Arrows.FilledEnd" markerUnits="userSpaceOnUse" refX="14" refY="5" markerWidth="14" markerHeight="10" orient="auto">
<path stroke="none" fill="black" d="M 0 0 L 14 5 L 0 10 z" />
</marker>
<path id="Bpmn.AdHocSubProcessIcon" class="subProcessIconStroke" stroke="black" stroke-width="2" stroke-linecap="round" fill="none" d="M0,6 Q3,2.5 6,6 T12,6" />
<filter id="filterSelectionGlow" x="-0.3" y="-0.3" width="1.6" height="1.6">
<feFlood flood-color="#7CAAC6" result="floodColorOut4" />
<feMorphology result="morphologyOut4" in="SourceGraphic" operator="dilate" radius="3" />
<feColorMatrix result="colorMatrixOut4" in="morphologyOut4" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0" />
<feComposite result="compositeOut4" in="floodColorOut4" in2="colorMatrixOut4" operator="in" />
<feGaussianBlur result="gaussianBlurOut4" in="compositeOut4" stdDeviation="3" />
<feBlend in="SourceGraphic" in2="gaussianBlurOut4" mode="normal" />
</filter>
<linearGradient id="startEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#ECFDDC" />
<stop offset="100%" stop-color="#DCFEA4" />
</linearGradient>
<linearGradient id="endEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#FFE6E5" />
<stop offset="100%" stop-color="#FFD5D5" />
</linearGradient>
<linearGradient id="intermediateEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#E7E7ED" />
<stop offset="100%" stop-color="#D4D4E8" />
</linearGradient>
<linearGradient id="taskGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#F3FCFF" />
<stop offset="65%" stop-color="#D5EDFF" />
<stop offset="100%" stop-color="#C1E4FF" />
</linearGradient>
</defs>
<g id="layersGroup">
<g id="svgMainShapeLayer" class="svgShapeLayer" transform="translate(-53,-84)">
<g id="3dabe570-ccd9-42b8-b0c7-f6619ad89377" class="nodeGroup" transform="translate(57,88)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="686" height="1278" />
<text fill="lightgray" cursor="default" display="none" x="120" y="644" style="font:18px Arial, Helvetica, sans-serif;">No lanes are present in the pool, add at least 1 lane first</text>
</g>
<text fill="black" cursor="default" x="152" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_3dabe570-ccd9-42b8-b0c7-f6619ad89377">
<tspan x="238" y="19" >2QI - 需求驱动的补货计划和执行</tspan>
</text>
<line stroke="lightgray" stroke-width="1" fill="none" x1="0" y1="30" x2="686" y2="30" />
</g>
<g id="c3d97c99-329e-4577-b0f6-d05f00ce96a4" class="nodeGroup" transform="translate(57,118)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="396.5" height="1248" />
<text fill="black" cursor="default" display="none" x="27" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="27" y="620">You can add the lane only when the pool is</tspan>
<tspan x="155" y="638">highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="139" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_c3d97c99-329e-4577-b0f6-d05f00ce96a4">
<tspan x="164" y="13" >生产计划员</tspan>
</text>
</g>
<g id="562e4c3d-9f6f-4146-beab-707d4824d246" class="nodeGroup" transform="translate(191.5,171)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="inline" cx="16" cy="16" r="16" />
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="none" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns1="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="startEventName" cursor="default" display="none" x="0" y="10" style="font:12px Arial, Helvetica, sans-serif;" id="g_562e4c3d-9f6f-4146-beab-707d4824d246">
<tspan x="-18" y="10" >补货计划</tspan>
</text>
</g>
<g id="1b396967-1998-4a9a-b414-c961da96b4f9" class="nodeGroup" transform="translate(228.5,168)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="5" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_1b396967-1998-4a9a-b414-c961da96b4f9">
<tspan x="21" y="26" >补货计划</tspan>
</text>
</g>
<g id="ef6293e1-dbc3-43c6-9212-e4aefaea8b6b" class="nodeGroup" transform="translate(186.5,414)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns2="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="61d3df3b-fbac-43ce-9f64-3f2d4c5e314e" class="nodeGroup" transform="translate(162.5,458)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="3c3d0a38-e529-410e-9a9e-f54e2b9af6d2" class="nodeGroup" transform="translate(186.5,540)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns3="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="47427c16-1bd9-4fec-bc7f-69f56249f5d0" class="nodeGroup" transform="translate(162.5,584)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="d9b18228-9804-463d-9b36-34bb56575b47" class="nodeGroup" transform="translate(157.5,663)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="72" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns4="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="10" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_d9b18228-9804-463d-9b36-34bb56575b47">
<tspan x="15" y="42" >补货执行检查</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="68" width="0" height="0" xmlns:ns5="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="68" width="0" height="0" xmlns:ns6="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="974d2dbc-146f-43af-ae65-bc171d2eb1ef" class="nodeGroup" transform="translate(157.5,981)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="72" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns7="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="10" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_974d2dbc-146f-43af-ae65-bc171d2eb1ef">
<tspan x="15" y="42" >补货执行检查</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="68" width="0" height="0" xmlns:ns8="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="68" width="0" height="0" xmlns:ns9="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="07fc4c11-2ddc-4ccb-b819-f95b83c0e5b3" class="nodeGroup" transform="translate(191.5,1266)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="endEvent" stroke="#CC2424" stroke-width="3" fill="#FFE6E5" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns10="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="endEventName" cursor="default" display="none" x="0" y="0" />
</g>
<g id="a1c1ef03-2a07-43dc-bddc-a4cf7afcd71e" class="nodeGroup" transform="translate(162.5,1303)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="e9505eab-2783-4008-9e81-859b1fe4b607" class="nodeGroup" transform="translate(264.5,320)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="169" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_e9505eab-2783-4008-9e81-859b1fe4b607">
<tspan x="38" y="8" >检查补货执行状态</tspan>
</text>
</g>
<g id="2711d01e-82f7-49dd-8462-b9a620014f5c" class="nodeGroup" transform="translate(234.5,394)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="104" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="24" style="font:12px Arial, Helvetica, sans-serif;" id="g_2711d01e-82f7-49dd-8462-b9a620014f5c">
<tspan x="23" y="24" >如果是绿色</tspan>
</text>
</g>
<g id="09b32145-8613-492c-929a-42957e726d7a" class="nodeGroup" transform="translate(89.5,458)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="107" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_09b32145-8613-492c-929a-42957e726d7a">
<tspan x="7" y="8" >如果是黄色或红色</tspan>
</text>
</g>
<g id="27611bfd-d93f-4fee-9f6e-2886794803bc" class="nodeGroup" transform="translate(157.5,305)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns11="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="10" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_27611bfd-d93f-4fee-9f6e-2886794803bc">
<tspan x="26" y="36" >补货执行</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns12="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns13="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="e549c781-67b0-4697-800f-469cdbef1cb0" class="nodeGroup" transform="translate(266.5,981)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="133" height="30" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,30 L20,30" />
</g>
<text fill="black" cursor="default" x="4" y="19" style="font:12px Arial, Helvetica, sans-serif;" id="g_e549c781-67b0-4697-800f-469cdbef1cb0">
<tspan x="31" y="19" >状态应为绿色</tspan>
</text>
</g>
<g id="9e9746de-f12d-4340-8358-0ca31692c8c5" class="nodeGroup" transform="translate(187,1091)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns14="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="5946e7ee-57b7-4c8e-890c-fc725c20a60f" class="nodeGroup" transform="translate(93,1092.25)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="ef16bb86-9877-408c-9d45-9fe1a8dbb1f4" class="nodeGroup" transform="translate(187,1182)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<path class="gateway" stroke="#997C35" stroke-width="1" stroke-linejoin="round" fill="#FFFFD6" d="M21,0 L42,21 L21,42 L0,21 Z" />
<use style="pointer-events: none;" x="1" y="1" width="40" height="40" xmlns:ns15="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.ExclusiveGatewayIcon" />
</g>
<text class="gatewayText" cursor="default" display="none" x="0" y="0" />
</g>
<g id="3b7fcd27-f4fd-436d-99b2-b830d3818b54" class="nodeGroup" transform="translate(163,1226)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="43" y="20" display="inline" />
</g>
<g id="6a9aed41-245d-42da-8e4e-3dbd6dd6d9a5" class="nodeGroup" transform="translate(297,1132)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="127" height="60" rx="8" ry="8" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns16="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text class="taskName" fill="black" cursor="default" x="12" y="6" style="font:12px Arial, Helvetica, sans-serif;" id="g_6a9aed41-245d-42da-8e4e-3dbd6dd6d9a5">
<tspan x="28" y="36" >预计现有警报</tspan>
</text>
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" stroke-dasharray="0.8" fill="none" d="M0 10 L0 0 L10 0" transform="translate(5,44)" />
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" fill="none" d="M0 10 L10 10 L10 0 Z" transform="translate(5,44)" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns17="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns18="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="1f076396-931b-427a-9ceb-f98376228e6e" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.5,456 L207.5,540" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.5" y="461" width="5" height="5" xmlns:ns19="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.5" y="498" />
</g>
<g id="c3c69f9a-df06-41e2-8320-46171d2d1da2" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.5,582 L207.5,662.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.5" y="587" width="5" height="5" xmlns:ns20="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.5" y="622.25" />
</g>
<g id="141c5d6d-322a-434c-8843-c367f38938d7" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.5,365.5 L207.5,414" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.5" y="370.5" width="5" height="5" xmlns:ns21="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.5" y="389.75" />
</g>
<g id="71cf11be-cfd2-4192-9b89-a31ea7228145" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.5,203.5 L207.5,304.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.5" y="208.5" width="5" height="5" xmlns:ns22="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.5" y="254" />
</g>
<g id="c6b81d12-9482-4e8d-b1f6-49d2f9fa9e57" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.5,1132.5 L207.5,1182.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.5" y="1137.5" width="5" height="5" xmlns:ns23="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.5" y="1157.5" />
</g>
<g id="e29402dd-81e9-4f00-8ef3-eab09d44af32" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.75,1053.5 L207.75,1091.25" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.75" y="1058.5" width="5" height="5" xmlns:ns24="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.75" y="1072.375" />
</g>
<g id="bf52e732-c54b-4b6f-a385-a85d02dc9b05" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M207.75,1223.75 L207.75,1264.501785805403" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="212.75" y="1228.75" width="5" height="5" xmlns:ns25="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="212.75" y="1244.1258929027015" />
</g>
<g id="2597d974-aac1-41d7-82ae-f1af454baef7" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M229,1112 L350.5,1112 Q360.5,1112 360.5,1121.75 L360.5,1131.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="234" y="1107" width="5" height="5" xmlns:ns26="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="365.5" y="1112" />
</g>
<g id="6cb7e700-4d22-43dc-b216-87c8ee2c661a" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M360.5,1192.5 L360.5,1197.75 Q360.5,1203 350.5,1203 L229,1203" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="365.5" y="1197.5" width="5" height="5" xmlns:ns27="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="358.5" y="1198" />
</g>
<g id="8f8a40d9-4edc-4b65-95a0-e290ed55b882" class="nodeGroup" transform="translate(453.5,118)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="140" height="1248" />
<text fill="black" cursor="default" display="none" x="5" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="5" y="602">You can add the</tspan>
<tspan x="10" y="620">lane only when</tspan>
<tspan x="29" y="638">the pool is</tspan>
<tspan x="26" y="656">highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="16" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_8f8a40d9-4edc-4b65-95a0-e290ed55b882">
<tspan x="46" y="19" >仓库职员</tspan>
</text>
</g>
<g id="3045403c-33fa-49db-aab5-44e99863bcc7" class="nodeGroup" transform="translate(473.5,470)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns28="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="19" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_3045403c-33fa-49db-aab5-44e99863bcc7">
<tspan x="26" y="36" >过账发货</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns29="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns30="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="99dafb68-5435-44d2-b62a-388654c88941" class="nodeGroup" transform="translate(473.5,870)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns31="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="19" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_99dafb68-5435-44d2-b62a-388654c88941">
<tspan x="26" y="36" >过账收货</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns32="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns33="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="4e22524c-6ffd-4da7-9035-fe467bbb9dc1" class="nodeGroup" transform="translate(593.5,118)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="149.5" height="1248" />
<text fill="black" cursor="default" display="none" x="10" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="10" y="602">You can add the</tspan>
<tspan x="15" y="620">lane only when</tspan>
<tspan x="34" y="638">the pool is</tspan>
<tspan x="31" y="656">highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="12" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_4e22524c-6ffd-4da7-9035-fe467bbb9dc1">
<tspan x="46" y="19" >生产操作员</tspan>
</text>
</g>
<g id="b67112b8-1b17-4d3e-b4cf-ed59cf4ac2e0" class="nodeGroup" transform="translate(623,725)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="subProcess" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="72" rx="8" ry="8" />
<rect class="subProcess" stroke="#428EB0" stroke-width="1" fill="none" display="none" x="0" y="0" width="100" height="72" rx="8" ry="8" />
</g>
<text class="subProcessName" fill="black" cursor="default" x="19" y="4" style="font:12px Arial, Helvetica, sans-serif;" id="g_b67112b8-1b17-4d3e-b4cf-ed59cf4ac2e0">
<tspan x="15" y="42" >后续生产执行</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="55" width="0" height="0" xmlns:ns34="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<g>
<image style="pointer-events: none;" display="inline" x="44" y="55" width="12" height="12" xmlns:ns35="http://www.w3.org/1999/xlink" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAGZJREFUKFO9UkkOgDAInJZ/6c9c+jGXfwGGRBI0mrSXciLAADOQAOw55wMVJiJjArCoaqmoBxFNnwBLiAjejToDbJzzMHLmRzGYuTxWIqI5AIYbcHqMmdfOHOIdmmX9O6Jz2Fpe4wKokXDIT9kr9gAAAABJRU5ErkJggg==" />
<rect stroke="none" stroke-width="0" fill="transparent" opacity="0" display="inline" x="44" y="55" width="12" height="12" />
</g>
<use style="pointer-events: none;" display="none" x="4" y="55" width="0" height="0" xmlns:ns36="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
<use style="pointer-events: none;" display="none" x="4" y="55" width="0" height="0" xmlns:ns37="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.AdHocSubProcessIcon" />
</g>
<g id="4355037f-a9cc-407f-985a-36eb3370a8f9" class="nodeGroup" transform="translate(298.5,569)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="102" height="40" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,40 L20,40" />
</g>
<text fill="black" cursor="default" x="4" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_4355037f-a9cc-407f-985a-36eb3370a8f9">
<tspan x="4" y="8" >状态应为黄色或红</tspan>
</text>
</g>
<g id="a7c94e65-d728-4dc8-ac73-0fc5c13af4aa" class="nodeGroup" transform="translate(235,1075)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="white" stroke-width="1" fill="white" opacity="0.7" x="0" y="0" width="173" height="37" />
<path stroke="#666" stroke-width="1" fill="none" d="M20,0 L0,0 L0,37 L20,37" />
</g>
<text fill="black" cursor="default" x="4" y="6" style="font:12px Arial, Helvetica, sans-serif;" id="g_a7c94e65-d728-4dc8-ac73-0fc5c13af4aa">
<tspan x="11" y="6" >可选:检查预计现有库存警报</tspan>
</text>
</g>
<g id="c6e751fd-688b-4b0c-9efd-96f84960a036" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M228.5,435 L513.5,435 Q523.5,435 523.5,445 L523.5,469.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="233.5" y="430" width="5" height="5" xmlns:ns38="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="528.5" y="435" />
</g>
<g id="f5678c8e-6386-499e-bb08-91da77459968" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M523.5,530.5 L523.5,551 Q523.5,561 513.5,561 L228.5,561" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="528.5" y="535.5" width="5" height="5" xmlns:ns39="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="521.5" y="556" />
</g>
<g id="13f92907-3657-4552-99e8-5fe69cbedf5b" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M523.5,930.5 L523.5,945.75 Q523.5,955.75 513.5,955.75 L217.5,955.75 Q207.5,955.75 207.5,965.75 L207.5,980.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="528.5" y="935.5" width="5" height="5" xmlns:ns40="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="363.5" y="950.75" />
</g>
<g id="8a6dace6-9c95-4c7b-bac8-e73f1d2ca00e" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M258,699 L663,699 Q673,699 673,709 L673,724.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="263" y="694" width="5" height="5" xmlns:ns41="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="678" y="699" />
</g>
<g id="339162c2-281e-4fca-9f51-66162d413377" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M673,797.5 L673,823.75 Q673,833.75 663,833.75 L533.5,833.75 Q523.5,833.75 523.5,843.75 L523.5,869.5" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="678" y="802.5" width="5" height="5" xmlns:ns42="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="596.25" y="828.75" />
</g>
<g id="2869c284-db68-456d-9d2a-5261f4e7799e" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="#666" stroke-width="1" stroke-dasharray="3,3" fill="none" d="M229,1112 L230.5,1112 Q232,1112 232,1102.75 L232,1102.75 Q232,1093.5 233.25,1093.5 L234.5,1093.5" />
</g>
<g>
<g id="widgetGroup" transform="translate(0,-4)">
<g id="MProcess8530">
<g transform="translate(623,712)">
<text fill="#428EB0" cursor="pointer" x="0" y="10" style="font:Normal 12px SAP-Solution-Manager-icons;"></text>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
if (document.URL.indexOf('https://websmp') != -1) {
var pptcount = 0;
$("a").each(function()
{
var smpLink = $(this).attr("href");
if (smpLink != undefined ) {
$(this).attr('href', $(this).attr('href').replace(/http.+service.+com\//i, "../../"));
$(this).attr('href', $(this).attr('href').replace(/http.+websmp.+\//i, "../../"));
}
var classTitle = $(this).attr("class");
if (classTitle != undefined && classTitle.indexOf('topic') == - 1) {
var oldLink = $(this).attr("href");
var pptLink = oldLink.indexOf('Process_Overview')
var videoLink = oldLink.indexOf('ProFlow')
var httpLink = oldLink.indexOf('http')
var htmLink = oldLink.indexOf('.htm')
if (pptLink == -1 && videoLink == -1 ) {
if ( classTitle.indexOf('file-') != - 1) {
$(this).hide();
$('#prerequisite').hide();
}}
else {pptcount = pptcount + 1;
$(this).attr('href', $(this).attr('href').replace(".ppt", ".pdf#page=1&view=FitB&toolbar=1"));
$(this).attr('class', $(this).attr('class').replace("ppt", "pdf"));
$(this).attr('href', $(this).attr('href').replace("Library/Simulations/", "http://help.sap.com/saap/Library/Simulations/"));
$(this).attr('href', $(this).attr('href').replace("../Simulations/", "http://help.sap.com/saap/Library/Simulations/"));
}}})
if (pptcount == 0 ) {
$("div").each(function()
{var classTitle2 = $(this).attr("class");
if (classTitle2 == "reltopics") {
$(this).hide();}});}
} else {
$('#download').hide();
$('#back').hide();
};
//]]></script>
</body>
</html>
\ No newline at end of file
# Custom Situation Handling — Extended Framework
> SAP S/4HANA Cloud Public Edition 2602
> Scope Item: `31N` — Situation Handling
> 整理日期: 2026-07-27
> 来源: SAP Community Blog Series "Custom Situation Cases (1/6~6/6)" + "How to Start with Custom Situations (1/4~4/4)" + SAP Help Portal + System探索
---
## 一、概念与定位
### 1.1 什么是 Situation Handling
Situation Handling 是 SAP S/4HANA Cloud 内嵌的**主动通知框架**,自动检测关键业务情况(如合同即将到期、采购订单确认逾期、信用额度变更等),通知相关用户并提出建议操作。
- **Scope Item**: `31N` — Situation Handling
- **依赖**: `1NJ` — Team-Based Responsibility Management
- **App 入口**: My Situations (F0866) / My Situations - Extended (F2412)
### 1.2 两个框架对比
| 维度 | 标准框架 (Standard) | 扩展框架 (Extended) |
|------|-------------------|-------------------|
| 配置 App | Manage Situation Types (F2947) — **标准标签** | Manage Situation Types - Extended (F2947) — **Extended 标签** |
| Situation Object 来源 | SAP 预交付 Template 派生 | 自定义 Situation Object + 自建 Scenario |
| 对象来源 | 标准 SAP CDS / Event | 自定义 CDS / 自定义 Event |
| 配置灵活性 | 有限(仅参数化标准模板) | 完全可控(Anchor/Trigger/Page Layout/Action) |
| 适用场景 | SAP 标准模板覆盖的业务场景 | 客户特有业务场景,或需要自定义 CDS 聚合逻辑 |
### 1.3 扩展框架核心 App
| App ID | App 名称 | 用途 |
|--------|---------|------|
| F3505 | Manage Situation Objects | 注册自定义业务对象(含 CDS 结构、Event、Navigation、Callback) |
| F3504 | Manage Situation Scenarios | 定义 Anchor-Trigger 关系、页面布局 |
| F2947 | Manage Situation Types - Extended | 创建 Template → 派生 Type → 配置 Condition/Notification/Action |
| F2412 | My Situations - Extended | 最终用户查看和处理 Situation |
| F3466 | Monitor Situations - Extended | 管理员监控 Situation 实例 |
---
## 二、架构概念 — Situation Object 构成
以下内容来自 SAP Community Blog "How to Start with Custom Situations: Design Your Situation Object (3/4)"(Angelika Salmen, 2023-10)。
### 2.1 Situation Object 的六类构件
一个自定义 Situation Object 由以下构件组成(按需选择):
| 构件 | 说明 | 必需 |
|------|------|------|
| **Data Structures** | CDS View,代表业务对象数据 | **是** |
| **Value Help Services** | 为配置时过滤、运行时筛选提供值帮助 | 推荐 |
| **Business Events** | 触发 Situation 检测的 Workflow Event(event-based trigger) | 条件性(batch-based 则不需要) |
| **Navigation Targets** | 指向关联 Fiori App 的导航(Intent-Based Navigation) | 推荐 |
| **Callback Actions** | 可一键解决问题的 ABAP 类回调 | 可选 |
| **End User Buttons** | 在 Situation Page 上显示的按钮(Navigation / Callback) | 推荐 |
### 2.2 数据构件 — CDS View
扩展框架支持**标准 SAP CDS**(已在 allowlist 中)和**自定义 CDS**(通过 Developer Extensibility 创建)。
CDS View 必须满足:
- 为 CDS View 类型(非其他数据类型)
- 有唯一 Key(Semantic Key),用于识别具体业务对象
- 如需作为 Anchor Object,需标注 `@ObjectModel.supportedCapabilities: ['SITN_ANCHOR']`
### 2.3 事件构件 — Business Events
支持两种触发模式:
| 模式 | 说明 | 适用场景 |
|------|------|---------|
| **Event-based** | 业务事件(Created/Updated/Deleted)触发即时检测 | 需要实时响应的场景 |
| **Batch-based** | 周期性运行条件检查(在 Scenario 中定义频率) | 汇总类、不需要实时响应的场景 |
### 2.4 导航和动作构件
- **Navigation Targets**: 定义 Semantic Object + Semantic Action,指向 Fiori App
- **Navigation Parameters**: 传递 Key 字段,直接打开对应业务对象详情
- **Callbacks**: ABAP Class 实现快速动作(如"批准"、"关闭"),需 ABAP 开发
- **End User Buttons**: 一个按钮对应一个 Navigation 或 Callback
---
## 三、开发 + 配置完整流程(六步法)
### 阶段 I — Developer Extensibility(ADT 开发)
#### Step 1:创建自定义 CDS Root View Entity
```cds
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: '客户销售订单汇总 Situation Anchor'
@ObjectModel.supportedCapabilities: ['SITN_ANCHOR']
define root view entity ZC_CustSalesOrderTotalSitn
as select from I_SalesDocumentItemCube
{
key Customer,
CustomerName,
sum(NetAmountInCompanyCodeCurrency) as TotalNetAmount,
CompanyCodeCurrency,
max(LastChangeDate) as LastOrderDate
} group by Customer, CustomerName, CompanyCodeCurrency
```
**关键标注**
- `@ObjectModel.supportedCapabilities: ['SITN_ANCHOR']` — 告诉 Situation 框架该视图可作为 Anchor Object
- key 字段必须唯一标识一个业务对象实例
- 字段数量不宜过多(Situation 页面只展示关键信息)
#### Step 2:Behavior Definition + Service Definition + Service Binding
**Behavior Definition**(只读即可):
```
managed implementation in class zbp_zc_custsalestotalsitn unique;
strict (2);
define behavior for ZC_CustSalesOrderTotalSitn alias SalesOrderTotal
persistent table zcust_salesorder_total
lock master
authorization master( instance )
{
field ( readonly ) Customer, CustomerName, TotalNetAmount, CompanyCodeCurrency, LastOrderDate;
}
```
**Service Definition**
```
@EndUserText.label: 'Service for Custom Situation Object'
define service Z_CustSalesOrderTotalSitn_Srv {
expose ZC_CustSalesOrderTotalSitn;
}
```
**Service Binding**:OData V2 Binding。
#### Step 3:创建 IAM App
1. Maintain IAM Apps → 创建 IAM App,绑定 Service URL
2. 开放 Read 权限
3. 添加到 Business Catalog
4. 分配给 Business Role
### 阶段 II — Key User 配置(Fiori)
#### Step 4:Manage Situation Objects (F3505)
1. **Create** 新 Situation Object:
- Object ID: 自定义 ID(如 `ZCUST_SO_TOTAL`
- Object Name / Description: 业务语义命名
- SAP Object Type: Custom Object 或 Business Object
2. **Structures 标签** → Add → 选择自定义 CDS View
- Structure Type: `CDS`
- 定义 **Semantic Key**(在 UI 上显示的标识字段,如 Customer)
3. **Value Help Services 标签**(可选)→ 添加字段的值帮助
4. **Events 标签**(batch-based 可跳过)→ 添加 Business Event
5. **Navigation Targets 标签**(可选)→ 定义指向关联 Fiori App 的导航
6. **End User Actions 标签**(可选)→ 自定义按钮文本
7. **Save**
#### Step 5:Manage Situation Scenarios (F3504)
1. **Create** → Scenario ID / Name
2. **Anchor Object**:选择 Step 4 创建的 Situation Object
- 选择 Structure(CDS View)
- 选择 Key 字段
- 配置 Responsibility Management Context ID(可选,用于确定通知谁)
3. **Situation Triggers** → Add:
- 对于汇总类场景:选择 **Batch-based** Trigger
- Trigger Name: 如 `PERIODICAL_CHECK`
- 关联到 Anchor Object 自身(CDS View 数据周期性评估)
4. **List Page Layout**:配置 My Situations 列表中显示的列
5. **Situation Page Layout**:配置详情页布局(Anchor 区 / Trigger 区 / Subsections)
6. **Save**
#### Step 6:Manage Situation Types - Extended (F2947)
**子步骤 A — 创建 Situation Template**
1. Situation Templates 标签 → Create
2. 选择 Scenario 和 Anchor-Trigger 组合
3. **Trigger Details** → Conditions:
- 设置条件表达式(如 `TotalNetAmount >= 10000000`
- 频率设置(Batch-based 场景的执行间隔)
4. **Situation Display**
- Situation Text(单个实例的描述,支持占位符)
- Notification Text(汇总通知文本)
5. **Notification Behavior**:选择通知策略
6. **Actions**:配置 End User Buttons(导航或回调)
7. **Save**
**子步骤 B — 派生 Productive Situation Type**
1. 从 Template 选择 Derive Productive Situation Type
2. 生成正式使用的 Situation Type
3. Activate
---
## 四、SAP Community 博客系列内容摘要
### 4.1 Custom Situation Cases (1/6 ~ 6/6)
> 作者: Angelika Salmen (SAP Product Owner, Situation Handling)
> 日期: 2022-03
> 适用: SAP S/4HANA Cloud 2202+(基于 SFlight Demo 数据)
#### Part 1/6 — Configure Your Own Use Cases
- 扩展框架介绍:从 2202 版本起,用户可以自定义 Situation 用例
- 概念:Anchor Object(受影响业务对象)+ Trigger Object(触发对象)
- Demo 场景:基于 SFlight 的航班生态指数监控 + 预订超重
- 两个预交付 Demo Objects: Flight(Anchor)和 Booking(Trigger)
**参考**: `blogs.sap.com/2022/03/15/custom-situation-cases-configure-your-own-use-cases-1-6/`
#### Part 2/6 — Model Your Own Situation Objects
> **⚠️ 这是全系列最关键的开发部分**
**在 Manage Situation Objects (F3505) 中配置**
1. **General Information**:
- Object ID / Object Name / Object Description
- SAP Object Type(需引用 allowlisted SAP BO 或 custom object)
2. **Value Help Services**:
- 定义 VH Service ID, Protocol Version, Service Path
- Value Help Properties: Entity Set / Property
3. **Structures**:
- Structure ID, Structure Type = `CDS`
- Structure Name = CDS View 的 Technical Name
- SAP Object Type, SAP Object Node Type
- **Semantic Key**: 在 UI 上标识对象的字段(1~N 个字段组合)
- Value Help Mappings: CDS 字段 → VH Service
4. **Events**:
- Event ID, Description, Event Category (CREATED/UPDATED/DELETED)
- Event Object, Event Type
5. **Navigation Targets**:
- Navigation ID, Semantic Object, Semantic Action
- Navigation Parameters
6. **Callbacks & End User Actions**:
- Callback ID, Callback Class + Parameters
- Action ID, Action Type, Button Name/Description
**参考**: `blogs.sap.com/2022/03/16/custom-situation-cases-model-your-own-situation-objects-2-6/`
#### Part 3/6 — Create Your Own Situation Scenario
**在 Manage Situation Scenarios (F3504) 中配置**
1. **Anchor Object**:
- 选 Object + Structure + Key
- 绑定 Responsibility Management Context ID
2. **Situation Triggers**:
- Batch-based Trigger: 周期性检查,关联 Anchor Object 自己
- Event-based Trigger: 由其他 Object 的事件触发
- 每个 Trigger 有特定行为(Create/Update/Close)
3. **List Page Layout**:
- 默认列: Description, Status, Processor
- 可加 Anchor 列和 Trigger 列(Additional Information)
- 最多 4 个 Key Information 字段在通用列表显示
4. **Situation Page Layout**:
- 分区: Header(预定义) + Details Section(可配置) + Actions
- 建议先展示 Trigger 区(离问题最近的信息),再展示 Anchor 区
- 可包含 Subsection 分组显示
**参考**: `blogs.sap.com/2022/03/16/custom-situation-cases-create-your-own-situation-scenario-3-6/`
#### Part 4/6 — Configure a Simple Use Case
**在 Manage Situation Types - Extended (F2947) 中配置**
1. **Situation Template**:
- 作为蓝图,定义基本配置
- 可 Derive 多个 Productive Situation Type
2. **Batch-based Demo** — Ecological Footprint:
- Condition: Eco Index > 80%
- Filter: 航班起飞时间在未来 14 天内
- 触发周期: 按需
3. **Instance Behavior**: 每个 Trigger 创建一个 Instance;关闭后保留
4. **General Actions**: 与 Anchor Object 关联的导航动作(自动适用于所有 Anchor-Trigger 组合)
5. **Situation Display**:
- Situation Text(My Situations 中单条显示)
- Notification Text(FLP 通知中的汇总文本)
6. **Notification Behavior**: 标准行为 → 通知所有责任用户
**参考**: `blogs.sap.com/2022/03/16/custom-situation-cases-configure-a-simple-use-case-4-6/`
#### Part 5/6 — Configure an Escalation Case
- 支持 Situation 实例的 Close/Reopen(随数据变化自动 reopen)
- Escalation 配置: 随时间推移自动升级通知
- 关键区别: Event-based Trigger 的 Close Behavior 配置
**参考**: `blogs.sap.com/2022/03/16/custom-situation-cases-configure-an-escalation-case-5-6/`
#### Part 6/6 — Configuration of a Complex Use Case
- 综合多个 Trigger、多个 Condition、多个 Action 的复杂场景
- 多个 Value Help Services 组合使用
- 不同 Trigger 对不同用户群体的通知策略
- 自定义 Situation Page Layout(Zone Layout)
**参考**: `blogs.sap.com/2022/03/17/custom-situation-cases-configure-a-complex-case-6-6/`
---
### 4.2 How to Start with Custom Situations (1/4 ~ 4/4)
> 作者: Angelika Salmen, 2023-09~10
> 更系统的设计方法指导
#### Part 1/4 — High-Level Design
- 设计第一步:明确"什么业务场景需要主动通知?"
- 四个设计维度: Object(什么数据),Event(何时触发),Condition(什么条件),Action(通知后做什么)
- 决策树: 选 Batch-based 还是 Event-based
**参考**: `blogs.sap.com/2023/09/12/how-to-start-with-custom-situations-high-level-design-of-the-use-case-1-4/`
#### Part 2/4 — Detailed Design
- 详细设计表格模板
- 定义每个 Situation Instance 的字段、值、展现方式
- Responsibility Management 集成设计(谁该收到通知)
**参考**: `blogs.sap.com/2023/10/04/how-to-start-with-custom-situations-detailed-design-of-your-use-case-2-4/`
#### Part 3/4 — Design the Situation Object
- 全系列最详细的 Situation Object 构件设计指南
- 包含所有的配置参数和选项(本文 §2 已引用其完整内容)
- 如何判断缺少构件时的替代方案
**参考**: `blogs.sap.com/2023/10/09/how-to-start-with-custom-situations-design-your-situation-object-3-4/`
#### Part 4/4 — (待整理 — 该系列尚未全部发布)
---
## 五、CDS View Situation 能力标注参考
### 5.1 标准 SAP CDS 标注模式
以下为标准 CDS 中 Situation Handling 能力的标注方式:
```cds
// Anchor Object + Trigger + Data Context — 三能力同时具备
define view I_MAINTENANCEORDERSITUATION
as select from ...
@ObjectModel.supportedCapabilities: ['SITN_ANCHOR', 'SITN_TRIGGER', 'SITN_DATA_CONTEXT']
// 仅 Anchor Object
define view I_PROJBILLGELMNTSDUEOVERDUE
as select from ...
@ObjectModel.supportedCapabilities: ['SITN_ANCHOR']
```
### 5.2 自定义 CDS 的最小标注要求
| 用途 | 需标注 | 说明 |
|------|--------|------|
| 作为 Anchor Object | `'SITN_ANCHOR'` | **必须**,否则无法在 Manage Situation Objects 中选择 |
| 作为 Trigger Object | `'SITN_TRIGGER'` | event-based trigger 场景需要 |
| 提供数据上下文 | `'SITN_DATA_CONTEXT'` | 可选,用于在 Situation Page 展示更多信息 |
### 5.3 系统已有 Situation CDS 清单
KB 中已定位的 Situation 相关 CDS 视图:
| CDS View Name | 能力 | 文件位置 |
|--------------|------|---------|
| I_MAINTENANCEORDERSITUATION | Anchor + Trigger + Data Context | `KB_Cds_User\CDS_KeyUser可用_25_3576-3697.md` |
| I_EVENTBASEDERRORSITUATION | Anchor + Trigger + Data Context | `KB_Cds_User\CDS_KeyUser可用_29_4084-4215.md` |
| I_PROJBILLGELMNTSDUEOVERDUE | Anchor | `KB_Cds_User\CDS_KeyUser可用_07_0663-0780.md` |
| I_CREDITLIMITCHANGESITUATION | Basic(Not Released for Dev) | 不可用于扩展框架 |
| SITDEMO_FLIGHT | SAP 预交付 Demo | 仅用于学习,不可用于生产 |
| SITDEMO_BOOKING | SAP 预交付 Demo | 仅用于学习,不可用于生产 |
---
## 六、API 参考
### 6.1 Business Situation API (OData V2)
| 属性 | 值 |
|------|-----|
| Service | `API_BUSINESS_SITUATION_SRV` |
| Root URL | `/sap/opu/odata/sap/API_BUSINESS_SITUATION_SRV/` |
| 操作 | Read + Full CRUD |
| 核心 Entity | `A_SitnInstance`(SitnInstanceID, SitnDefinitionID, SitnInstceStatus) |
用途:外部系统读取/更新 Situation Instance 的状态。
### 6.2 Business Situation Type API (OData V4)
| 属性 | 值 |
|------|-----|
| Service | `CE_API_BUS_SITN_MSTRDATA_SRV_0002` |
| 操作 | Read-only |
| 核心 Entity | `BusinessSituationType`(SituationTypeID, SituationTypeName, SituationTemplateID, SituationCategory, AnchorObjectType, TriggerObjectType, IsActive) |
| 次 Entity | `BusinessSituationInstance`(SituationInstanceID, SituationTypeID, SituationStatus, AnchorObjectKey, TriggerObjectKey) |
用途:读取 Situation Type 主数据配置。
---
## 七、已知限制与注意事项
### 7.1 技术限制
| 限制 | 说明 |
|------|------|
| **Key User CDS (F1751) 不可用** | 只能在 Manage Situation Objects (F3505) 中使用标准 SAP CDS 或 Developer Extensibility CDS。F1751 创建的 CDS 不满足 allowlist 要求 |
| **I_CREDITLIMITCHANGESITUATION 不可用于扩展框架** | 该视图 Cloud Dev. Release State = "Not Released",不可在 Manage Situation Objects 中引用 |
| **SITDEMO_FLIGHT/SITDEMO_BOOKING 仅 Demo** | SAP 预交付的演示对象,不可用于生产场景 |
| **自定义 Event 需要 ABAP 开发** | 如果需要 Event-based Trigger + 自定义事件,必须通过 Developer Extensibility 创建 Business Event |
| **Responsibility Management 依赖** | 如果不配置 Responsibility Management,Situation 通知无法正确路由到用户 |
### 7.2 传输注意事项
| 资产类型 | 传输方式 |
|---------|---------|
| CDS View / BDEF / Service Definition / Service Binding | Developer Extensibility: Software Collection → Export → Import |
| IAM App / Business Catalog / Business Role | 通过 Maintain Business Roles 传输 |
| Situation Object / Scenario / Situation Type | 配置时注意跨系统一致性;在 T/P 系统需重复配置或通过 BC Sets 传输 |
### 7.3 建议路径选择
| 业务场景 | 推荐路径 |
|---------|---------|
| 使用标准 SAP 预交付 Situation Template 修改参数 | 标准框架 — Manage Situation Types (F2947) |
| 需要自定义 CDS 做聚合/计算后判断 | **扩展框架** — Developer Extensibility + Manage Situation Objects |
| 实时事件驱动(如单据创建后立即检测) | Event-based Trigger(需自定义 Business Event) |
| 周期性汇总检查(如日报、月报式超阈值) | Batch-based Trigger(无需自定义 Event) |
---
## 八、参考链接
### SAP Community 博客
| 系列 | 链接 |
|------|------|
| Custom Situation Cases 1/6 | `blogs.sap.com/2022/03/15/custom-situation-cases-configure-your-own-use-cases-1-6/` |
| Custom Situation Cases 2/6 | `blogs.sap.com/2022/03/16/custom-situation-cases-model-your-own-situation-objects-2-6/` |
| Custom Situation Cases 3/6 | `blogs.sap.com/2022/03/16/custom-situation-cases-create-your-own-situation-scenario-3-6/` |
| Custom Situation Cases 4/6 | `blogs.sap.com/2022/03/16/custom-situation-cases-configure-a-simple-use-case-4-6/` |
| Custom Situation Cases 5/6 | `blogs.sap.com/2022/03/16/custom-situation-cases-configure-an-escalation-case-5-6/` |
| Custom Situation Cases 6/6 | `blogs.sap.com/2022/03/17/custom-situation-cases-configure-a-complex-case-6-6/` |
| How to Start 1/4 | `blogs.sap.com/2023/09/12/how-to-start-with-custom-situations-high-level-design-of-the-use-case-1-4/` |
| How to Start 2/4 | `blogs.sap.com/2023/10/04/how-to-start-with-custom-situations-detailed-design-of-your-use-case-2-4/` |
| How to Start 3/4 | `blogs.sap.com/2023/10/09/how-to-start-with-custom-situations-design-your-situation-object-3-4/` |
### SAP Help Portal
| 主题 | 路径 |
|------|------|
| Extended Framework 总入口 | `help.sap.com` 搜索 "Situation Handling – Extended Framework for SAP S/4HANA Cloud" |
| Manage Situation Objects | `help.sap.com` 搜索 "Manage Situation Objects" |
| Manage Situation Scenarios | `help.sap.com` 搜索 "Manage Situation Scenarios" |
| Manage Situation Types - Extended | `help.sap.com` 搜索 "Manage Situation Types – Extended" |
| My Situations - Extended | `help.sap.com` 搜索 "My Situations – Extended" |
| Responsibility Management | `help.sap.com` 搜索 "Responsibility Management" |
### 本 KB 中关联文件
| 文件 | 提供什么 |
|------|---------|
| `SAP_Scope_Item_Catalog_RAG.md §31N` | Situation Handling Scope Item 定义和 Fiori Apps 列表 |
| `FSD_06_Procurement_Capabilities.md (多处)` | 采购域 8 个 Situation Handling 功能说明 |
| `04_Procurement_MM_Processes.md` | 采购凭证 Situation Handling 流程步骤 |
| `P2F_12_Logistics_Warehouse.md` | 仓储域 Situation Handling(盘点差异、HU 异常) |
| `KB_Cds_User\CDS_KeyUser可用_一览表.md` | 标准 Situation CDS 视图索引 |
| `KB_API\API_BUSINESS_SITUATION_SRV.md` | Business Situation API 接口详情 |
| `KB_API\CE_API_BUS_SITN_MSTRDATA_SRV_0002.md` | Situation Type 主数据 API 详情 |
---
> 本文档为 广联项目 SAP S/4HANA Cloud 实施补充 KB
> 基于官方文档 + SAP Community 博客整理,具体版本以实际系统为准
<!doctype html public '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'!>
<html>
<head>
<title id="title-0">针对销售包的销售订单处理 (31Q):流程图</title>
<!--<link rel="shortcut icon" href="/~sapidp/002006825000000049342011E.ico" />-->
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<script type="text/javascript">
//<![CDATA[
!window.jQuery && document.write('<script src="../../Frame/js/002006825000000203192011E.js"><\/script>' )
//]]></script>
<script type="text/javascript">
//<![CDATA[
if (document.URL.indexOf('https://websmp') == -1) {document.writeln('<link rel="stylesheet" type="text/css" href="../../Frame/css/002006825000000203222011E.css" /><\/link>');} else {document.writeln('<link rel="stylesheet" type="text/css" href="/~sapidp/002006825000000203222011E.css" /><\/link>'); }
//]]></script>
<script src="../../Frame/js/jquery.min.js" type="text/javascript">
</script>
</head>
<body>
<div id="wrapper222">
<!--<div id="back" align="right" >
<p><a onclick="history.back(-1)" >Back</a></p>
</div> -->
<div id="process_diagrams">
<h1 id="h1-0">针对销售包的销售订单处理 (31Q)</h1>
<i id="i-0">注意!这是一份未经审核准确性的机器翻译文档。要发送有关译文的反馈,您可以在 SAP Best Practices Explorer 中您的国家/地区版本的范围项目页面上创建客户支持消息。</i>
<p id="p-0">此范围项目支持以下流程:</p>
<svg id="svgRoot" class="svgRoot" xmlns="http://www.w3.org/2000/svg" width="884" height="951" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:g="http://www.sap.com/2014/galilei" viewBox="0 0 884 951">
<defs>
<pattern id="pagePattern" patternUnits="userSpaceOnUse" />
<pattern id="gridPattern" patternUnits="userSpaceOnUse" />
<rect id="Icons.invisible-icon" opacity="0" x="0" y="0" width="0" height="0" />
<path id="Bpmn.UserTaskIcon" class="taskIconFill" transform="scale(0.5)" d="M20.771,12.364c0,0,0.849-3.51,0-4.699c-0.85-1.189-1.189-1.981-3.058-2.548s-1.188-0.454-2.547-0.396c-1.359,0.057-2.492,0.792-2.492,1.188c0,0-0.849,0.057-1.188,0.397c-0.34,0.34-0.906,1.924-0.906,2.321s0.283,3.058,0.566,3.624l-0.337,0.113c-0.283,3.283,1.132,3.68,1.132,3.68c0.509,3.058,1.019,1.756,1.019,2.548s-0.51,0.51-0.51,0.51s-0.452,1.245-1.584,1.698c-1.132,0.452-7.416,2.886-7.927,3.396c-0.511,0.511-0.453,2.888-0.453,2.888h26.947c0,0,0.059-2.377-0.452-2.888c-0.512-0.511-6.796-2.944-7.928-3.396c-1.132-0.453-1.584-1.698-1.584-1.698s-0.51,0.282-0.51-0.51s0.51,0.51,1.02-2.548c0,0,1.414-0.397,1.132-3.68H20.771z" />
<g id="Bpmn.CompensationIcon">
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M0,6 L5.5,0 L5.5,12 Z" />
<path class="subProcessIconStroke" stroke="black" stroke-width="1" fill="none" d="M6.5,6 L12,0 L12,12 Z" />
</g>
<marker id="Arrows.FilledEnd" markerUnits="userSpaceOnUse" refX="14" refY="5" markerWidth="14" markerHeight="10" orient="auto">
<path stroke="none" fill="black" d="M 0 0 L 14 5 L 0 10 z" />
</marker>
<path id="Bpmn.AdHocSubProcessIcon" class="subProcessIconStroke" stroke="black" stroke-width="2" stroke-linecap="round" fill="none" d="M0,6 Q3,2.5 6,6 T12,6" />
<filter id="filterSelectionGlow" x="-0.3" y="-0.3" width="1.6" height="1.6">
<feFlood flood-color="#7CAAC6" result="floodColorOut4" />
<feMorphology result="morphologyOut4" in="SourceGraphic" operator="dilate" radius="3" />
<feColorMatrix result="colorMatrixOut4" in="morphologyOut4" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0" />
<feComposite result="compositeOut4" in="floodColorOut4" in2="colorMatrixOut4" operator="in" />
<feGaussianBlur result="gaussianBlurOut4" in="compositeOut4" stdDeviation="3" />
<feBlend in="SourceGraphic" in2="gaussianBlurOut4" mode="normal" />
</filter>
<linearGradient id="startEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#ECFDDC" />
<stop offset="100%" stop-color="#DCFEA4" />
</linearGradient>
<linearGradient id="endEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#FFE6E5" />
<stop offset="100%" stop-color="#FFD5D5" />
</linearGradient>
<linearGradient id="intermediateEventGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#FFFFFF" />
<stop offset="65%" stop-color="#E7E7ED" />
<stop offset="100%" stop-color="#D4D4E8" />
</linearGradient>
<linearGradient id="taskGradient" x1="0%" y1="0%" x2="0%" y2="100%" gradientUnits="objectBoundingBox">
<stop offset="0%" stop-color="#F3FCFF" />
<stop offset="65%" stop-color="#D5EDFF" />
<stop offset="100%" stop-color="#C1E4FF" />
</linearGradient>
</defs>
<g id="layersGroup">
<g id="svgMainShapeLayer" class="svgShapeLayer" transform="translate(123,-64)">
<g id="70abfdd9-e212-45b5-bbc8-cd16482f34c3" class="nodeGroup" transform="translate(-118.52777777777789,67.5)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="875.9861111111111" height="943.6666666670935" />
<text fill="lightgray" cursor="default" display="none" x="215" y="477" style="font:18px Arial, Helvetica, sans-serif;">No lanes are present in the pool, add at least 1 lane first</text>
</g>
<text fill="black" cursor="default" x="301" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_70abfdd9-e212-45b5-bbc8-cd16482f34c3">
<tspan x="333" y="19" >31Q - 针对销售包的销售订单处理</tspan>
</text>
<line stroke="lightgray" stroke-width="1" fill="none" x1="0" y1="30" x2="875.9861111111111" y2="30" />
</g>
<g id="8d4eccf3-f68b-4dc3-b040-c3cdce9116ea" class="nodeGroup" transform="translate(-118.52777777777789,97.5)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="266.47222222222223" height="913.6666666670935" />
<text fill="black" cursor="default" display="none" x="6" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="6" y="453">You can add the lane only when</tspan>
<tspan x="46" y="471">the pool is highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="41" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_8d4eccf3-f68b-4dc3-b040-c3cdce9116ea">
<tspan x="93" y="13" >内部销售代表</tspan>
</text>
</g>
<g id="4d145bee-ca49-427f-b4eb-9acbbd50698a" class="nodeGroup" transform="translate(-1.0416666666666856,176.3888888888889)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="inline" cx="16" cy="16" r="16" />
<circle class="startEvent" stroke="#288000" stroke-width="1" fill="#ECFDDC" display="none" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns1="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="startEventName" cursor="default" display="none" x="0" y="10" style="font:12px Arial, Helvetica, sans-serif;" id="g_4d145bee-ca49-427f-b4eb-9acbbd50698a">
<tspan x="-26" y="10" >客户订购物料</tspan>
</text>
</g>
<g id="a9d2a6bb-0983-474c-9d53-2b9feed63d0c" class="nodeGroup" transform="translate(-30.041666666666686,213.3888888888889)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="5" y="8" style="font:12px Arial, Helvetica, sans-serif;" id="g_a9d2a6bb-0983-474c-9d53-2b9feed63d0c">
<tspan x="10" y="26" >客户订购物料</tspan>
</text>
</g>
<g id="77a20854-0f39-4056-abfe-bb628a033ed2" class="nodeGroup" transform="translate(-35.041666666666686,253.3888888888889)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns2="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="15" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_77a20854-0f39-4056-abfe-bb628a033ed2">
<tspan x="15" y="36" >创建销售订单</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns3="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns4="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="4a49d4d7-91c9-4483-ab59-a7b8af47589c" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M14.958333333333314,208.8888888888889 L14.958333333333314,252.8888888888889" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="19.958333333333314" y="213.8888888888889" width="5" height="5" xmlns:ns5="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="19.958333333333314" y="230.8888888888889" />
</g>
<g id="ddfa1901-0d25-436c-a971-61585d0cde20" class="nodeGroup" transform="translate(147.94444444444434,97.5)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="155" height="913.6666666670935" />
<text fill="black" cursor="default" display="none" x="13" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="13" y="435">You can add the</tspan>
<tspan x="17" y="453">lane only when</tspan>
<tspan x="36" y="471">the pool is</tspan>
<tspan x="34" y="489">highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="18" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_ddfa1901-0d25-436c-a971-61585d0cde20">
<tspan x="54" y="19" >装运专家</tspan>
</text>
</g>
<g id="b4907d55-3d53-4320-a8af-468f76aea441" class="nodeGroup" transform="translate(170.41666666666657,586.2777777777778)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="109.52777777777777" height="69.27777777777777" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns6="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="7" y="41" style="font:12px Arial, Helvetica, sans-serif;" id="g_b4907d55-3d53-4320-a8af-468f76aea441">
<tspan x="31" y="40" >过账发货</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="65" width="0" height="0" xmlns:ns7="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="65" width="0" height="0" xmlns:ns8="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="8fd8c247-85e0-4ddd-9b66-7d1faaabaeb3" class="nodeGroup" transform="translate(170.4999999999999,472.2777777777778)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="110.36111111111111" height="66.27777777777777" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns9="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="12" y="40" style="font:12px Arial, Helvetica, sans-serif;" id="g_8fd8c247-85e0-4ddd-9b66-7d1faaabaeb3">
<tspan x="31" y="39" >执行拣配</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="62" width="0" height="0" xmlns:ns10="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="62" width="0" height="0" xmlns:ns11="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="8a4000a8-6751-4c9e-a3ac-23aebfb5b0d3" class="nodeGroup" transform="translate(169.95833333333331,353.3888888888889)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="111" height="60" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns12="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="14" y="37" style="font:12px Arial, Helvetica, sans-serif;" id="g_8a4000a8-6751-4c9e-a3ac-23aebfb5b0d3">
<tspan x="32" y="36" >创建交货</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns13="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns14="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="92cc4367-a789-4be9-a1bc-fb7993104624" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M225.43055555555543,539.0555555555557 L225.43055555555543,585.7777777777778" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="230.43055555555543" y="544.0555555555557" width="5" height="5" xmlns:ns15="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="230.43055555555543" y="562.4166666666667" />
</g>
<g id="e215eeeb-2d44-4edc-a6e1-7b3fcfa33fbe" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M225.56944444444437,413.8888888888889 L225.56944444444437,471.7777777777778" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="230.56944444444437" y="418.8888888888889" width="5" height="5" xmlns:ns16="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="230.56944444444437" y="442.83333333333337" />
</g>
<g id="2ab9929b-75c3-4c74-a1af-c7a7836bcece" class="nodeGroup" transform="translate(302.94444444444434,97.5)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="230.5138888888889" height="913.6666666670935" />
<text fill="black" cursor="default" display="none" x="4" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="12" y="453">You can add the lane only</tspan>
<tspan x="4" y="471">when the pool is highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="78" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_2ab9929b-75c3-4c74-a1af-c7a7836bcece">
<tspan x="95" y="13" >开票员</tspan>
</text>
</g>
<g id="ecde7d46-82d0-4047-a966-8e1e31244107" class="nodeGroup" transform="translate(366.0138888888888,710.2916666666667)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="103.86111111111111" height="62.27777777777778" rx="8" ry="8" style="stroke-dasharray:0;" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns17="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="16" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_ecde7d46-82d0-4047-a966-8e1e31244107">
<tspan x="17" y="37" >创建开票凭证</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="58" width="0" height="0" xmlns:ns18="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="58" width="0" height="0" xmlns:ns19="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="2ff6a3e4-aec4-4ab8-8545-a8343771dc04" class="nodeGroup" transform="translate(375.85418313026,813.9999998940361)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="task" stroke="#428EB0" stroke-width="1" fill="#D9EFFF" x="0" y="0" width="100" height="60" rx="8" ry="8" />
</g>
<use style="pointer-events: none;" x="4" y="4" width="5" height="5" xmlns:ns20="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.UserTaskIcon" />
<text class="taskName" fill="black" cursor="default" x="14" y="11" style="font:12px Arial, Helvetica, sans-serif;" id="g_2ff6a3e4-aec4-4ab8-8545-a8343771dc04">
<tspan x="26" y="30" >显示发票</tspan>
<tspan x="26" y="41" >-巴 西</tspan>
</text>
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" stroke-dasharray="0.8" fill="none" d="M0 10 L0 0 L10 0" transform="translate(5,44)" />
<path stroke="black" stroke-width="1.5" stroke-linejoin="round" fill="none" d="M0 10 L10 10 L10 0 Z" transform="translate(5,44)" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns21="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<use style="pointer-events: none;" display="none" x="4" y="56" width="0" height="0" xmlns:ns22="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
</g>
<g id="7678bd33-a606-4e72-881f-91fc9d5ea3c9" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M421.8993137873522,773.0694444444446 L421.8993137873522,813.4999998940361" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="426.8993137873522" y="778.0694444444446" width="5" height="5" xmlns:ns23="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="426.8993137873522" y="793.2847221692404" />
</g>
<g id="cd9a2c1b-5161-428f-8d91-e7254c2ee2ce" class="nodeGroup" transform="translate(533.4583333333333,97.5)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect stroke="lightgray" stroke-width="2" fill="#FEFEF5" x="0" y="0" width="224" height="913.6666666670935" />
<text fill="black" cursor="default" display="none" x="1" y="0" style="font:18px Arial, Helvetica, sans-serif;">
<tspan x="9" y="453">You can add the lane only</tspan>
<tspan x="1" y="471">when the pool is highlighted</tspan>
</text>
</g>
<text fill="black" cursor="default" x="10" y="19" style="font:14px Arial, Helvetica, sans-serif;" id="g_cd9a2c1b-5161-428f-8d91-e7254c2ee2ce">
<tspan x="72" y="13" >应收账款会计</tspan>
</text>
</g>
<g id="2b788e88-ae0e-407b-a12c-a75f3fc21ec5" class="nodeGroup" transform="translate(592.4027777777777,814.2916666666666)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect class="subProcess" stroke="#428EB0" stroke-width="3" fill="#D9EFFF" x="0" y="0" width="114.72222222222223" height="67.27777777777777" rx="8" ry="8" />
<rect class="subProcess" stroke="#428EB0" stroke-width="1" fill="none" display="none" x="0" y="0" width="114.72222222222223" height="67.27777777777777" rx="8" ry="8" />
</g>
<text class="subProcessName" fill="black" cursor="default" x="18" y="4" style="font:12px Arial, Helvetica, sans-serif;" id="g_2b788e88-ae0e-407b-a12c-a75f3fc21ec5">
<tspan x="40" y="34" >J59</tspan>
<tspan x="22" y="45" >-应收账 款</tspan>
</text>
<use style="pointer-events: none;" display="none" x="4" y="50" width="0" height="0" xmlns:ns24="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<g>
<image style="pointer-events: none;" display="inline" x="51" y="50" width="12" height="12" xmlns:ns25="http://www.w3.org/1999/xlink" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAGZJREFUKFO9UkkOgDAInJZ/6c9c+jGXfwGGRBI0mrSXciLAADOQAOw55wMVJiJjArCoaqmoBxFNnwBLiAjejToDbJzzMHLmRzGYuTxWIqI5AIYbcHqMmdfOHOIdmmX9O6Jz2Fpe4wKokXDIT9kr9gAAAABJRU5ErkJggg==" />
<rect stroke="none" stroke-width="0" fill="transparent" opacity="0" display="inline" x="51" y="50" width="12" height="12" />
</g>
<use style="pointer-events: none;" display="none" x="4" y="50" width="0" height="0" xmlns:ns26="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.CompensationIcon" />
<use style="pointer-events: none;" display="none" x="4" y="50" width="0" height="0" xmlns:ns27="http://www.w3.org/1999/xlink" xlink:href="#Bpmn.AdHocSubProcessIcon" />
</g>
<g id="3cbf003c-5b0e-422c-aa8f-42970d52aa69" class="nodeGroup" transform="translate(633.9027777777777,908.9444444444445)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<circle class="endEvent" stroke="#CC2424" stroke-width="3" fill="#FFE6E5" cx="16" cy="16" r="16" />
<use style="pointer-events: none;" x="0" y="0" width="32" height="32" xmlns:ns28="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
</g>
<text class="endEventName" cursor="default" display="none" x="0" y="0" />
</g>
<g id="dca1fd8d-6e57-4a64-90ee-e7c5e6c46249" class="nodeGroup" transform="translate(604.9027777777777,945.9444444444445)" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<g>
<rect fill="transparent" opacity="0" x="0" y="0" width="90" height="40" />
</g>
<text fill="black" cursor="default" x="11" y="24" style="font:12px Arial, Helvetica, sans-serif;" id="g_dca1fd8d-6e57-4a64-90ee-e7c5e6c46249">
<tspan x="21" y="24" >结束流程</tspan>
</text>
</g>
<g id="320ea780-20f8-4d84-a529-c4a233130543" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M649.8333333333333,883.0694444444443 L649.8333333333333,907.444582231583" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="654.8333333333333" y="888.0694444444443" width="5" height="5" xmlns:ns29="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="654.8333333333333" y="895.2570133380136" />
</g>
<g id="4da1fe8e-7556-40c8-853d-6795f398bd04" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M225.18055555555546,656.0555555555557 L225.18056030530605,669.0000143051154 Q225.1805639746372,679.0000143051147 235.18056397463712,679.0000128978629 L407.94446642689434,678.9999885856304 Q417.9444664268942,678.9999871783785 417.9444592878066,688.999987178376 L417.94444444444434,709.7916666666667" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="230.18055555555546" y="661.0555555555557" width="5" height="5" xmlns:ns30="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="319.5625152007657" y="674.0000007417466" />
</g>
<g id="96d5aba5-b6f4-4773-9927-8beb7baff083" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M14.958333333333314,313.8888888888889 L14.958333174387604,323.7638871934679 Q14.958333015441895,333.6388854980469 24.958333015441895,333.6388854980469 L215.4583282470703,333.6388854980469 Q225.4583282470703,333.6388854980469 225.4583307902018,343.2638871934679 L225.45833333333331,352.8888888888889" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="19.958333333333314" y="318.8888888888889" width="5" height="5" xmlns:ns31="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="118.2083306312561" y="328.6388854980469" />
</g>
<g id="93e973c0-8a93-40b7-b83c-f963f94cb326" class="linkGroup" style="user-select: none; -webkit-user-drag: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); touch-action: none;">
<path stroke="black" stroke-width="1" fill="none" d="M476.35418313026,845.9652777247959 L590.9027777777777,845.9652777247959" marker-end="url(#Arrows.FilledEnd)" />
<use style="pointer-events: none;" x="481.35418313026" y="840.9652777247959" width="5" height="5" xmlns:ns32="http://www.w3.org/1999/xlink" xlink:href="#Icons.invisible-icon" />
<text cursor="default" display="none" x="531.6284804540189" y="840.9652777247959" />
</g>
<g>
<g id="widgetGroup" transform="translate(0,-4)">
<g id="MProcess3070">
<g transform="translate(592.4027777777777,801.2916666666666)">
<text fill="#428EB0" cursor="pointer" x="0" y="10" style="font:Normal 12px SAP-Solution-Manager-icons;"></text>
</g>
</g>
</g>
</g>
</g>
</g>
</svg>
</div>
</div>
<script type="text/javascript">
//<![CDATA[
if (document.URL.indexOf('https://websmp') != -1) {
var pptcount = 0;
$("a").each(function()
{
var smpLink = $(this).attr("href");
if (smpLink != undefined ) {
$(this).attr('href', $(this).attr('href').replace(/http.+service.+com\//i, "../../"));
$(this).attr('href', $(this).attr('href').replace(/http.+websmp.+\//i, "../../"));
}
var classTitle = $(this).attr("class");
if (classTitle != undefined && classTitle.indexOf('topic') == - 1) {
var oldLink = $(this).attr("href");
var pptLink = oldLink.indexOf('Process_Overview')
var videoLink = oldLink.indexOf('ProFlow')
var httpLink = oldLink.indexOf('http')
var htmLink = oldLink.indexOf('.htm')
if (pptLink == -1 && videoLink == -1 ) {
if ( classTitle.indexOf('file-') != - 1) {
$(this).hide();
$('#prerequisite').hide();
}}
else {pptcount = pptcount + 1;
$(this).attr('href', $(this).attr('href').replace(".ppt", ".pdf#page=1&view=FitB&toolbar=1"));
$(this).attr('class', $(this).attr('class').replace("ppt", "pdf"));
$(this).attr('href', $(this).attr('href').replace("Library/Simulations/", "http://help.sap.com/saap/Library/Simulations/"));
$(this).attr('href', $(this).attr('href').replace("../Simulations/", "http://help.sap.com/saap/Library/Simulations/"));
}}})
if (pptcount == 0 ) {
$("div").each(function()
{var classTitle2 = $(this).attr("class");
if (classTitle2 == "reltopics") {
$(this).hide();}});}
} else {
$('#download').hide();
$('#back').hide();
};
//]]></script>
</body>
</html>
\ No newline at end of file
在SAP公有云(特别是SAP S/4HANA Cloud Public Edition)中,**定价条件 (Pricing Condition)****定价过程 (Pricing Procedure)****定价决定 (Price Determination)** 是“条件技术 (Condition Technique)”的核心要素。它们之间的关系可以理解为从“**最小单元**”到“**执行框架**”,再到“**计算过程**”的逐层递进:
* **定价条件**:是**定价的基本单元与“原材料”**,定义了**“算什么”**
* **定价过程**:是**定价的“操作手册”与执行框架**,决定了**“怎么算”**
* **定价决定**:是**系统执行定价过程的完整动作与结果**,实现了**“算出结果”**
---
### 📝 核心概念详解
#### 1. 定价条件 (Pricing Condition):定价的“乐高积木”
定价条件是构成价格的最基本元素。它定义了价格计算中一个**独立且可识别**的组成部分,例如商品的基础价格、客户折扣、运费或税费等。
每个条件类型都有一系列控制参数,定义了它的行为,例如:
* **计算类型**:是固定金额还是百分比。
* **是否允许手动修改**
* **是否激活**等。
SAP系统预置了许多标准条件类型,例如:
* `PR00`:标准物料价格
* `K007`:客户专属折扣
* `RA00`:运费附加费
* `MW15`:增值税计算
* `PCIP`:云环境下的特定定价条件
#### 2. 定价过程 (Pricing Procedure):定价的“操作手册”
定价过程是一个**有序的步骤清单**,它定义了在价格计算时,系统需要**按什么顺序**考虑哪些“定价条件”。可以将它理解为一份详细的“操作手册”,告诉系统如何一步步组合这些“原材料”。
一个定价过程中包含多个**步骤 (Step)**,每个步骤都指定了一个**条件类型 (Condition Type)**。系统会严格按照步骤的顺序,依次计算每个条件类型的金额,最终累加出总价。
例如,一个典型的销售订单定价过程可能包含以下步骤:
1. 确定物料基础价格 (条件类型 `PR00`)
2. 计算客户折扣 (条件类型 `K007`)
3. 计算运费 (条件类型 `RA00`)
4. 计算税费 (条件类型 `MW15`)
#### 3. 定价决定 (Price Determination):定价的“计算过程”
“定价决定”不是一个新的配置对象,而是指**系统在业务单据(如销售订单)中,实际执行定价过程的完整动作**
当用户在系统中创建销售订单时,系统就会触发“定价决定”过程。它会:
1. **根据单据信息**(如客户、物料、销售组织等),**自动选定**一个合适的“定价过程”。
2. 严格按照选定的“定价过程”中定义的**步骤顺序**,逐一查找并计算每个“条件类型”的金额。
3. 最终**计算出整张单据的净价和总价**
### 🔗 概念关系一览
这三个概念的层级和协作关系可以总结如下:
```mermaid
flowchart TD
A[定价条件<br>Pricing Condition] -->|是构成元素| B[定价过程<br>Pricing Procedure]
B -->|定义了计算逻辑| C[定价决定<br>Price Determination]
D[条件类型<br>Condition Type] --> A
E[条件表<br>Condition Table] --> A
F[条件记录<br>Condition Record] --> A
G[步骤<br>Step] --> B
H[访问顺序<br>Access Sequence] --> B
I[业务单据<br>如:销售订单] --> C
C --> J[最终价格]
```
这个关系图清晰地展示了从基础元素到最终结果的完整路径。
### 💎 总结
简单来说,这三个概念的关系是:
* **“定价条件”****“积木”**,代表价格的一个组成部分(如价格、折扣)。
* **“定价过程”****“图纸”**,规定了用哪些积木以及按什么顺序搭建。
* **“定价决定”** 则是**“施工过程”**,系统根据图纸,用积木搭建出最终的价格结果。
\ No newline at end of file
在SAP公有云中,**条件类型 (Condition Type)****条件表 (Condition Table)****条件记录 (Condition Record)** 是“条件技术”的三个核心构件。它们的配置逻辑环环相扣,遵循一个明确的先后顺序:**先有“表”,再建“类型”,最后维护“记录”**
下面是这三者的详细设置方法及它们之间的协作关系。
### 📝 核心概念与设置详解
#### 1. 条件表 (Condition Table):定义价格的“钥匙”
**概念**:条件表定义了用于查找特定价格或折扣的**关键字段组合**。它好比一把“钥匙”的“模具”,决定了价格是取决于“物料+客户”,还是“物料+地区”等。系统标准版已预置了常用的条件表(如表306用于物料价格)。
**设置方法**(主要针对创建自定义字段的场景):
1. **创建自定义字段**:在“**自定义字段 (Custom Fields)**”应用中,为定价相关的业务上下文(如`Sales: Pricing Communication Item`)创建新的字段。
2. **添加到字段目录**:在配置活动“**更改销售中定价的字段目录 (Change Field Catalog for Pricing in Sales)**”中,将新建的自定义字段添加到目录中。
3. **创建条件表**:在配置活动“**创建销售中定价的条件表 (Create Condition Tables for Pricing in Sales)**”中,新建一个条件表,并将所需的关键字段(包括自定义字段)添加到该表中。
> **注意**:系统预置的条件表通常可直接使用,无需创建。上述步骤主要用于需要新增价格决定因素(即新的“钥匙”)的场景。
---
#### 2. 条件类型 (Condition Type):定义价格的“种类”
**概念**:条件类型是定价的**基本单元**,它定义了一个具体的价格元素是“价格”、“折扣”还是“附加费”。它好比是“钥匙”的**标签**,告诉系统这串“钥匙”是用来开“价格”这把锁,还是“折扣”这把锁。
**设置方法**
1. **进入配置活动**:在配置环境中,找到并进入“**设置销售中定价的条件类型 (Set Condition Types for Pricing in Sales)**”活动。
2. **新建或复制**:你可以新建一个条件类型,或基于现有的标准类型(如`PR00`)进行复制。
3. **分配访问顺序**:这是最关键的一步。你必须为这个条件类型**分配一个访问顺序 (Access Sequence)**
* **访问顺序**:是一个**搜索策略**,它定义了系统去哪里(即哪些“条件表”)以及按什么顺序查找具体的价格值。
* 一个访问顺序可以包含一个或多个“访问 (Access)”,每个访问指向一个**条件表**。系统会按顺序在这些表中查找,直到找到第一个有效值。
4. **配置其他属性**:你还需要定义该条件类型的计算类型(固定金额或百分比)、是否允许手工修改等其他控制参数。
---
#### 3. 条件记录 (Condition Record):存储价格的“数据”
**概念**:条件记录是存储在条件表中的**具体价格数据**。它是“钥匙”和“标签”都定义好后,最终存入数据库的**实际数值**。例如,“物料A在2026年全年的标准价格是100元”就是一条具体的条件记录。
**设置方法**
1. **进入维护应用**:业务用户可以通过相应的Fiori应用来维护条件记录,例如:
* **管理价格 - 销售 (Manage Prices - Sales)**
* **设置物料价格 - 销售 (Set Material Prices - Sales)**
2. **选择条件类型**:在应用中,首先选择你要维护的是哪种**条件类型**(例如,是维护标准价格`PR00`,还是维护客户折扣`K007`)。
3. **输入关键字段值**:系统会根据该条件类型所分配的**访问顺序**,自动带出对应的**条件表**中的关键字段。你需要为这些字段填入具体的值,例如:
* `销售组织``1000`
* `物料``MAT-A`
* `有效期``2026-01-01``2026-12-31`
4. **录入价格/比率**:最后,输入该组合下的具体价格或折扣比率,保存后即生成一条条件记录。
### 🔗 三者的关系与配置流程
这三个概念的配置和协作,遵循一个清晰的先后顺序,可以概括为以下流程:
```mermaid
flowchart LR
A[1. 条件表<br>(定义查找关键字)] --> B[2. 访问顺序<br>(定义查找哪些表及顺序)]
B --> C[3. 条件类型<br>(定义价格种类并绑定访问顺序)]
C --> D[4. 条件记录<br>(维护具体价格数据)]
```
* **条件表 (Condition Table)** 是基础,它定义了“钥匙”的**结构**
* **访问顺序 (Access Sequence)** 是一个中间环节,它将一个或多个**条件表**组织成一个**搜索路径**,并分配给**条件类型**
* **条件类型 (Condition Type)** 承上启下,它通过**访问顺序****条件表**关联起来,为具体的价格数据(**条件记录**)提供了一个“容器”和“标签”。
* **条件记录 (Condition Record)** 是最终的结果,它根据**条件类型**指定的“访问顺序”,将具体的价格值填入对应的**条件表**中。
简单来说,整个配置过程就是:**先定义好“钥匙的模具”(条件表),再给这把钥匙贴上“价格”或“折扣”的标签(条件类型并绑定访问顺序),最后才是在系统中录入“这把钥匙能开哪个锁、值多少钱”的具体数据(条件记录)**
\ No newline at end of file
关于你提出的两个问题,它们的配置位置和作用如下:
### 🗺️ 分配访问顺序的配置位置
在SAP公有云中,分配访问顺序的操作在两个紧密相关的配置活动中完成。
具体配置路径如下:
1. **创建/维护访问顺序**:在配置环境中,通过搜索进入 **“设置访问顺序 (Set Access Sequences)”** 活动。在这里,你可以定义一个新的访问顺序,或修改现有的。一个访问顺序可以包含一个或多个**访问 (Access)**,每个访问都指向一个**条件表 (Condition Table)**,并决定了系统查找条件记录的优先级顺序。
2. **将访问顺序分配给条件类型**:接着,进入 **“设置销售中定价的条件类型 (Set Condition Types for Pricing in Sales)”** 活动。
* 在这里找到或新建一个**条件类型 (Condition Type)**
* 在其配置中,有一个关键字段用于**分配访问顺序 (Access Sequence)**。你需要在此处选择在第一步中创建或维护的访问顺序。
* **注意**:你可以为多个不同的条件类型分配**同一个**访问顺序。
### 🚫 条件类型分配到“排除组”的作用
“排除组”是一个用于处理**互斥**定价条件的强大工具。它的核心作用是**防止系统在定价时,将多个本应互斥的折扣或费用累加在一起**
例如,业务上存在“**客户特别折扣**”和“**节日通用折扣**”两种促销,但规定两者不可叠加,只能取最优的一个。此时,就可以通过排除组来实现。
其工作机制和配置如下:
1. **定义排除组**:首先,在配置活动 **“定义条件排除组 (Define Condition Exclusion Groups)”** 中创建一个排除组。一个排除组就是一个由**条件类型**组成的列表,用一个三位数字的编号来标识。
2. **分配条件类型**:然后,在配置活动 **“将条件类型分配到排除组 (Assign Condition Types to Exclusion Groups)”** 中,将互斥的条件类型(如`K007`客户特别折扣和`RA00`节日折扣)添加到同一个排除组里。
3. **定义排除规则**:最后,在配置活动 **“维护定价过程的条件排除 (Maintain Condition Exclusion for Pricing Procedures)”** 中,为定价过程选择一个**排除程序 (Condition Exclusion Procedure)**。这决定了系统将如何执行排除,常见的选项包括:
* **A (Best condition between condition types)**:系统会比较组内所有有效的条件,**选择最优(如折扣最大)的一个**,并将其余的设为“不活跃”。
* **L (Least favorable condition between condition types)**:选择**最差**的一个。
* 此外,还有用于比较**单个条件类型内**不同记录(B/E),以及用于**两个组之间**比较(C/F/D)的程序。
> **重要提示**:被排除的条件并不会从单据中删除,而是被标记为“不活跃 (Inactive)”。你仍然可以在单据的价格元素屏幕上看到它们,这有助于进行价格分析。
\ No newline at end of file
在SAP公有云的定价配置体系中,“定价条件”和“步骤”是**定价过程**内部的两个核心构成元素。它们是定义价格如何被一步步计算出来的“操作手册”中的具体条目。
---
### 📌 定价条件 (Pricing Condition)
在定价过程的上下文中,“定价条件”通常指代具体的**条件类型 (Condition Type)**
#### 功能
* **定义价格元素**:它是定价过程中的一个**独立的价格因素**,比如“物料基础价格”、“客户折扣”、“运费”或“税费”。
* **承载计算逻辑**:它决定了这个价格元素如何被计算,例如,是按固定金额计算,还是按数量、重量或价格的百分比来计算。
* **携带具体数值**:在业务单据定价时,系统会根据它绑定的“访问顺序”去查找具体的“条件记录”,并将记录的金额带入计算。
* **控制行为**:它通过20多个控制参数(如是否允许手工修改、是否激活等)来定义这个价格元素的行为特性。
#### 配置方法
将“定价条件”(条件类型)添加到定价过程中,是完成定价过程配置的关键一步。操作路径如下:
1. **进入配置活动**:在SAP公有云的配置环境中,搜索并进入 **“设置定价过程 (Set Pricing Procedures)”** 活动。
2. **选择目标定价过程**:找到你需要修改的定价过程(例如,销售订单的标准定价过程)。
3. **新增或插入步骤**:在“控制数据 (Control Data)”表中,**新增一行****在特定位置插入一行**。这一行就代表一个**步骤 (Step)**
4. **分配条件类型**:在新行的 **“条件类型 (CType)”** 字段中,输入你想要添加的条件类型代码(如`PR00``K007`等)。
---
### 🔢 步骤 (Step)
“步骤”是定价过程中的**行项目**,它规定了定价条件的**计算顺序**
#### 功能
* **定义计算顺序**:步骤的**编号(Step Number)** 决定了定价条件在计算时的**先后次序**。系统会严格按照步骤号从小到大依次计算。例如,必须先计算出基础价格(步骤10),才能基于它计算折扣(步骤20)。
* **承载条件类型**:每个步骤都对应一个“定价条件”(条件类型),它是指定该步骤具体计算什么内容的载体。
* **控制计算逻辑**:除了条件类型,步骤还包含其他关键控制字段,共同决定了价格的计算方式:
* **计数 (Counter)**:对步骤的进一步细化。
* **条件类型 (Condition Type)**:该步骤所代表的价格元素。
* **从...到 (From...To)**:定义该步骤的计算基础(如基于哪个步骤的小计)。
* **小计 (Subtotal)**:将计算结果存入一个中间变量,供后续步骤使用。
* **需求 (Requirement)**:定义该步骤在什么条件下才被执行(例如,仅当客户在特定国家时才计算运费)。
* **计算类型 (Calculation Type)**:定义具体的计算公式。
* **科目 (Account)**:定义该条件金额应过账到哪个总账科目。
#### 配置方法
配置“步骤”实际上就是配置上述“控制数据”表中的每一行。在 **“设置定价过程”** 活动中,你可以:
1. **维护步骤编号**:为每一行分配一个唯一的、递增的**步骤号**
2. **指定条件类型**:为该步骤选择一个**条件类型**
3. **定义其他控制参数**:设置“计数”、“从...到”、“小计”、“需求”等字段,以精确控制该步骤的计算逻辑。
---
### 🔗 定价条件与步骤的关系
**“步骤”是定价过程中的一个“位置”或“行”**,而 **“定价条件”(条件类型)是填充在这个位置上的具体“内容”**
* **步骤定义了“何时”和“如何”**:它通过步骤号定义了计算的顺序,通过“小计”、“需求”等字段定义了计算上下文。
* **条件类型定义了“算什么”**:它定义了该步骤具体是计算价格、折扣还是附加费,以及其计算类型和查找价格数据的方式。
一个定价过程由多个“步骤”组成,每个“步骤”都必须关联一个“条件类型”,这样才能构成一个完整的计算链条。
### 💎 总结
| 概念 | 核心功能 | 配置关键点 |
| :--- | :--- | :--- |
| **定价条件 (Condition Type)** | 定义价格元素的**类型****计算逻辑** | 在“设置条件类型”活动中定义,然后**分配到定价过程的某个步骤中** |
| **步骤 (Step)** | 定义定价过程的**计算顺序****上下文** | 在“设置定价过程”活动中,通过**步骤号****条件类型**等字段进行配置 |
简单来说,你首先需要有一个定义好的“定价条件”(如客户折扣`K007`),然后在“定价过程”中创建一个“步骤”(如步骤20),并将这个“定价条件”分配给这个“步骤”。系统执行定价时,就会按照步骤号从小到大的顺序,依次执行每个步骤所关联的定价条件,最终计算出总价。
\ No newline at end of file
“定价决定”是条件技术的**核心执行过程**。简单来说,它指的是当你在系统中创建一张销售订单时,SAP系统在后台自动完成的一系列**计算步骤**,最终得出该订单的准确价格。
这个过程并非无迹可寻,它的执行逻辑由你之前问到的**定价过程(Pricing Procedure)** 来定义。可以把定价过程看作一份详细的“计算说明书”,而“定价决定”就是系统严格按照这份说明书来执行计算的动作。
整个过程主要可以分为三个环环相扣的阶段:**程序确定****条件查找****价值计算**
---
### 阶段一:程序确定——系统该用哪本“说明书”?
在开始计算前,系统必须先确定使用哪个定价过程。这个过程由系统根据订单的三个关键信息自动匹配:
1. **销售范围 (Sales Area)**:订单所属的销售组织、分销渠道和产品组。
2. **单据定价过程标识 (Document Pricing Procedure)**:一个两位的代码,定义在销售订单类型(如标准订单、退货单)的配置中。
3. **客户定价过程标识 (Customer Pricing Procedure)**:一个两位的代码,维护在客户主数据的销售范围数据中。
系统会拿着这三个信息,去一张“定价过程确定表”里寻找完全匹配的条目,并读取该条目指定的定价过程。如果找不到匹配项,系统将无法定价并报错。
### 阶段二:条件查找——去寻找具体的“价格标签”
确定“说明书”(定价过程)后,系统就进入执行阶段。它会从头到尾依次处理定价过程中的每一个**步骤(Step)**
每个步骤都指定了一个**条件类型 (Condition Type)**,比如“基础价格”、“客户折扣”、“运费”等。系统需要为这个条件类型找到一个具体的金额。为此,它会利用该条件类型所分配的**访问顺序 (Access Sequence)**
**访问顺序**是一张**搜索地图**,它告诉系统按什么优先级去哪些**条件表 (Condition Table)** 里找。每个访问步骤都指向一个条件表,系统会按顺序在这些表里查找,直到找到一条匹配当前订单信息的有效**条件记录 (Condition Record)**
这个查找过程有几个关键点:
* **优先级控制**:访问顺序通常将更具体的条件(如“客户+物料”价格)放在更通用的条件(如“物料”价格)之前,确保系统优先使用最精准的价格。
* **独家指示符 (Exclusive Indicator)**:如果某个访问步骤勾选了“独家”,那么只要系统在该步找到了有效记录,就会**立即停止搜索**,不再继续查找优先级更低的记录。
* **需求 (Requirement)**:可以为访问步骤设置条件,比如仅在特定单据类型下才执行此步骤,进一步控制查找逻辑。
### 阶段三:价值计算——算出最终价格
当系统为所有条件类型都找到了具体的金额后,就进入最终的计算阶段。它会严格按照定价过程中**步骤(Step)** 的顺序,根据每个条件类型的定义进行加减乘除。
此阶段的核心控制字段包括:
* **从/到 (From/To)**:定义了百分比条件的计算基准(例如,基于哪个步骤的小计来计算折扣)。
* **小计 (Subtotal)**:将当前计算结果存入一个中间变量,供后续步骤使用。
* **手动 (Manual)**:控制该条件是否允许用户在订单中手动修改。
* **强制 (Mandatory)**:若勾选,该条件必须有值,否则订单会报错。
* **统计 (Statistical)**:若勾选,该值仅用于信息参考,不参与净值计算。
### 💎 总结:一张图看懂“定价决定”
整个“定价决定”过程,可以看作是从“宏观”到“微观”的三个步骤:
```mermaid
flowchart TD
A[开始:创建销售订单] --> B{阶段一:程序确定<br>系统根据“销售范围+单据类型+客户”<br>自动匹配一个定价过程};
B --> C[阶段二:条件查找<br>系统按定价过程的步骤顺序处理];
C --> D[读取一个步骤指定的“条件类型”<br>例如:PR00(价格)、K007(折扣)];
D --> E[利用该条件类型的“访问顺序”<br>在多个“条件表”中按优先级查找];
E --> F{是否找到有效的“条件记录”?};
F -- 是 --> G[获取该条件的金额<br>例如:100元、打9折];
F -- 否 --> H[该条件无值,<br>根据配置可能报错或跳过];
G --> I{是否还有下一个步骤?};
I -- 是 --> D;
I -- 否 --> J[阶段三:价值计算<br>按步骤顺序,利用“从/到”、“小计”等<br>字段执行加减乘除];
J --> K[结束:得出最终价格];
```
总而言之,**“定价决定”** 是SAP系统基于预配置的 **“定价过程”** ,通过 **“访问顺序”****“条件表”** 中查找具体的 **“条件记录”** ,并按照既定逻辑计算出最终价格的一整套自动化流程。
\ No newline at end of file
{
"api_document_version": "1.0",
"document_date": "2026-08-05",
"service": {
"name": "YY1_DELIVERYQTYCRM_CDS",
"description": "销售发货数量同步 CRM 查询接口(CDS 视图暴露,只读查询)",
"type": "OData V2 (SAP Gateway)",
"protocol": "HTTPS",
"authentication": "Basic Auth (Communication User)",
"base_url": "https://my201453-api.s4hana.sapcloud.cn/sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/",
"metadata_url": "https://my201453-api.s4hana.sapcloud.cn/sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/$metadata",
"permissions": {
"creatable": false,
"updatable": false,
"deletable": false,
"readable": true
}
},
"entity_sets": [
{
"name": "YY1_DeliveryQtyCrm",
"entity_type": "YY1_DeliveryQtyCrmType",
"key": "ID",
"description": "交货单交货数量(按项目)查询集合,供 CRM 获取发货数量",
"fields": [
{
"name": "ID",
"type": "Edm.String",
"key": true,
"nullable": false,
"max_length": null,
"sap_label": null,
"description": "内部主键(技术键,CDS 视图自动生成,请求/筛选时使用)"
},
{
"name": "DeliveryDocument",
"type": "Edm.String",
"key": false,
"nullable": true,
"max_length": 10,
"sap_label": "Delivery",
"description": "交货单号(如 0080001234)"
},
{
"name": "DeliveryDocumentItem",
"type": "Edm.String",
"key": false,
"nullable": true,
"max_length": 6,
"sap_label": "Item",
"description": "交货单行项目号"
},
{
"name": "CreationDate",
"type": "Edm.DateTime",
"key": false,
"nullable": true,
"max_length": null,
"sap_label": "Created On",
"description": "创建日期"
},
{
"name": "CreationTime",
"type": "Edm.Time",
"key": false,
"nullable": true,
"max_length": null,
"sap_label": "Time",
"description": "创建时间"
},
{
"name": "Product",
"type": "Edm.String",
"key": false,
"nullable": true,
"max_length": 40,
"sap_label": "Product",
"description": "物料号"
},
{
"name": "ActualDeliveryQuantity",
"type": "Edm.Decimal",
"key": false,
"nullable": true,
"max_length": null,
"sap_label": "Delivery Quantity",
"description": "实际交货数量"
},
{
"name": "DeliveryQuantityUnit",
"type": "Edm.String",
"key": false,
"nullable": true,
"max_length": 3,
"sap_label": "Sales Unit",
"description": "交货数量单位(销售单位)"
},
{
"name": "YY1_CRMSOID_SDH",
"type": "Edm.String",
"key": false,
"nullable": true,
"max_length": 20,
"sap_label": "CRMSOID",
"description": "自定义字段:CRM 销售订单外部 ID(CRM 订单标识)"
}
]
}
],
"request_examples": {
"query_all_top_10": "GET /sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/YY1_DeliveryQtyCrm?$top=10",
"filter_by_delivery_document": "GET /sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/YY1_DeliveryQtyCrm?$filter=DeliveryDocument eq '0080001234'",
"filter_by_crm_order_id": "GET /sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/YY1_DeliveryQtyCrm?$filter=YY1_CRMSOID_SDH eq 'CRMORDER0001'",
"single_entity_by_id": "GET /sap/opu/odata/sap/YY1_DELIVERYQTYCRM_CDS/YY1_DeliveryQtyCrm(ID='<ID值>')"
},
"auth_headers": {
"Authorization": "Basic <base64(Z_SXT_USER:密码)>",
"Accept": "application/json"
},
"notes": [
"1. 该服务为只读查询服务(Service Document 返回 creatable/updatable/deletable=false),仅支持 GET。",
"2. 字段级中文名以 SAP 标签(sap_label)为参照,实际业务含义需与开发功能说明书核对。",
"3. YY1_ 前缀表明为云原生扩展(Key User/Custom CDS)发布的视图。",
"4. 2026-08-05 实测:$metadata 可正常访问(200),实体数据读取返回 403 —— 见诊断:疑似通信安排未将本服务授权给 Z_SXT_USER。"
]
}
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"kb-agent": {
"description": "Knowledge-base agent for 广联项目 blueprint docs. Searches knowledge-base/蓝图/ first, then falls back to SAP public cloud knowledge.",
"mode": "subagent"
},
"task-agent": {
"description": "Task management agent for 广联项目. Creates, views, and updates tasks in the shared task kanban. Auto-syncs with Git.",
"mode": "subagent"
}
},
"instructions": [
"AGENTS.md",
"KB_00_Navigation_Map.md",
"SYSTEM_PROMPT_Agent1_v1.67.md"
],
"skills": {
"paths": [
"D:\\AI Project\\bos-issue-ledger",
"D:\\AI Project\\bos-issue-creator"
]
}
}
{
"$schema": "https://opencode.ai/config.json",
"instructions": ["AGENTS.md"],
"skills": {
"paths": [
"D:\\AI Project\\bos-issue-ledger",
"D:\\AI Project\\bos-issue-creator"
]
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment