# `Sp_Calc_sMpp` (procedure) > 产品工艺卡模板 - **Type:** PROCEDURE - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `iFlag` | `int` | | 2 | IN | `iTmpCheck` | `int` | | 3 | IN | `sFormGuid` | `varchar(100)` | | 4 | IN | `sGuid` | `varchar(100)` | | 5 | IN | `sLoginId` | `varchar(100)` | | 6 | OUT | `sReturn` | `varchar(4000)` | | 7 | IN | `sBrId` | `varchar(100)` | | 8 | IN | `sSuId` | `varchar(100)` | | 9 | OUT | `sCode` | `int` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_Calc_sMpp`'`._ ## Narrative **Business context:** 产品管理 → 产品管理单据 → 膜类工艺(模板) / 产品工艺模板 — product-process-template audit / un-audit on `MftProductMaster`. The 工艺模板 is the reusable recipe (process sequence + std times + materials) that the designer applies when issuing a new 产品工艺卡 for a similar item; auditing a template marks it as production-ready and locked from edits. **What it does:** Standard `Sp_Calc_s` skeleton: defaults the IN params, validates `sGuid`, branches on `iFlag`. The only data touch is `Update MftProductMaster` — flipping `bCheck`, `sCheckPerson`, `tCheckDate` — consistent with a master-only template that has no slave-side commitments to lock. **Invocation:** Bound to `gdsmodule.sProcName` on two sibling templates under 产品管理 → 产品管理单据: `膜类工艺(模板)` (sId `101251240115016080091311250`) and `产品工艺模板` (sId `101251240115016081864487990`). Dispatched by Java `BusinessBaseServiceImpl.getPrcName(sFormGuid, …)` on the 审核/反审核 button. xly-src ships `script/标版/30100101/Sp_Calc_sMpp.sql` (install) and `script/标版/optimize/Sp_Calc_sMpp.sql` (perf patch).