# KB_SD_BDG_附录 — Sales Quotation 可选流程

> **本附录用途**：BDG 主文件（KB_SD_BDG_Sales-Quotation.md）只覆盖 3 个必选步骤 + 主线审批链接。本附录展开 4 个 Optional 流程的逐步操作，仅当触发条件满足时使用。
> **必选步骤**：Create / Change / Reject — 详见主文件

---

## 附录 A：Process Sales Quotation Approval（可选）

**触发条件**（BPD 原文 Note）：
- 审批原因已定义 + 分配
- Cloud BAdI 已实现（返回审批原因）
- 报价总额 ≥ 100 CNY
- Order Reason = 005

### A.1 Withdraw from Approval
**App**：Manage Sales Quotations (F1852) | **角色**：Internal Sales Representative
1. 登录 SAP Fiori launchpad 以 Internal Sales Representative 身份
2. 打开 Manage Sales Quotations (F1852)
3. 在过滤栏输入 Sales Quotation=`<报价号>`，选 Go
4. 选报价行尾的箭头
5. 在 Display Quotation xxx: Overview 界面，菜单 More → Edit → Additional Functions → Withdraw Approval Request
6. 选 Continue 确认 "The approval request for sales document XXXXXXX was withdrawn"
7. 在 Change Quotation: Overview 改 Valid to=`<新日期>`
**预期结果**：审批请求已撤回；Approval status 变为 In Approval

### A.2 Approve/Reject/Rework Quotation
**App**：My Inbox - All Items (F0862) | **角色**：Sales Manager
1. 登录 SAP Fiori launchpad 以 Sales Manager 身份
2. 打开 My Inbox - All Items (F0862)（也可点击右上 Notifications 图标）
3. 在 Inbox 中选报价审批项，做批准/拒绝/退回操作

### A.3 Rework Sales Quotation
**App**：Manage Sales Quotations (F1852) | **角色**：Internal Sales Representative
- 详细步骤：收到退回通知后改报价，可选子步骤：Change Quotation / Set Quotation as Rework not Required / Release the Reworked Quotation

---

## 附录 B：Preliminary Steps for Quotation Approval（配置前置，仅启用工作流时执行）

### B.1 Define and Assign Approval Reasons
- **Configure Your Solution 路径**：Manage Your Solution (F1241) → Configure Your Solution → Sales / Basic Functions → Sales Document Approvals → Define Reasons for Approval Requests
- 新建：Approval Request Reason ID=ZQT1；Approval Request Reason="Document needs approval"
- 分配：Ducoment Category=B；Approval Request Reason=ZQT1

### B.2 Implement Cloud BAdI
- **App**：Custom Logic (F6957) | **角色**：Extensibility Specialist
- 搜索 "Set Approval Request Reasons for Sales Documents"，确认 status=published（否则执行 step 4-6 创建）
- 创建：Extension points=SD_APM_SET_APPROVAL_REASON；Implementation Description="Set Approval Request Reasons for Sales Documents"；Implementation ID=如 YY1_SETAPPROVALREQUESTREASONSF
- 示例代码（添加到 BAdI）：
  ```abap
  if salesdocument-sddocumentcategory = 'B' and salesdocument-sddocumentreason = '005'.
    salesdocapprovalreason = 'ZQT1'.
  endif.
  ```
- 选 Publish

### B.3 Manage Teams and Responsibilities
- 在 Manage Teams and Responsibilities app 中为审批人分配责任范围

### B.4 Set up Workflow
- 在 Manage Sales Document Workflows app 中定义前置条件和审批步骤

---

*版本 v0.1 | 2026-06-13 | 起始骨架*
