# `Sp_Quotation_CalcDataFlex` (procedure) - **Type:** PROCEDURE - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `sGuid` | `varchar(100)` | | 2 | IN | `bChangeRate` | `int` | | 3 | IN | `sLoginId` | `varchar(100)` | | 4 | IN | `sBrId` | `varchar(100)` | | 5 | IN | `sSuId` | `varchar(100)` | | 6 | OUT | `sCode` | `int` | | 7 | OUT | `sReturn` | `varchar(5000)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_Quotation_CalcDataFlex`'`._ ## Narrative **Business context:** 销售管理 → 报价&估计管理 — top-level quote-cost calculator for the 柔印 / 柔性 (flex / flexible-substrate) product family. Sibling of `Sp_Quotation_CalcDataBookStd` (书刊), `Sp_Quotation_CalcDataPack` (包装), `Sp_Quotation_CalcDataSetStd` (套装) and `Sp_Quotation_CalcDataStd` (general). Adds paper-rate (`dPaperRate`) and per-process paper input/output (`dProcessPaperInQty`/`dProcessPaperOutQty`) variables for the flex-print paper-handling model. **What it does:** Same shape as the rest of the family — walks `quoquotationmaster_tmp` and slave/control/materials/process/control-combine `_tmp` snapshots populated by the front-end submission, opens cursors over the temp tables, and per control row computes `dProcessInQty`/`dProcessOutQty`, `dPaperRate`, `dAdjustRate`, `dPartsQty`, then writes back via `Update QuoQuotationControl_Tmp` / `QuoQuotationMaterials_Tmp` / `QuoQuotationProcess_Tmp` / `QuoQuotationSlave_Tmp` / `QuoQuotationParam_tmp` / `quoquotationmaster_tmp`. Calls `Sp_Sis_GetConst` for localized constants and `Sp_System_ReplaceField` for the localized return strings. **Invocation:** Enumerated in `CaclProNameEnum.SP_QUOTATION_CALCDATAFLEX` (java `xlyBusinessService/contant/enumeration/CaclProNameEnum.java`). The proc name is passed to `ManyQuoServiceImpl.addQuotationsheetManyThread(params, userInfo, sProName)` for the multi-quantity quote flow and is the dispatch target read from `gdsmodule.sCalcProName` for the single-quantity save path. No live `gdsmodule` row has `sCalcProName='Sp_Quotation_CalcDataFlex'` in the queried tenant — the binding is present in the enum constants and tenant-specific module config; xly-src ships the install body at `script/标版/30100101/Sp_Quotation_CalcDataFlex.sql`.