# `Sp_Calc_sPca1` (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(5000)` | | 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_sPca1`'`._ ## Narrative **Business context:** Audit handler for 供应商送货 (vendor delivery / "sh" send-back) on `PurPurchaseArriveshMaster` — the supplier-delivery doc that is the inbound counterpart of a `PurPurchaseArriveMaster` (送检) cycle. Body is largely the same shape as `Sp_Calc_sPca` but the qty-roll-up that would write back to `purpurchaseorderslave.dArriveAuxiliaryQty/dArriveQty` is commented out (2023-06-26 注释) along with the `Sp_Bill_Used` check (2023-07-04 注释). **What it does:** Standard validate-and-flip — guards `sGuid`/`bInvalid`/`bCheck`, then `Update PurPurchaseArriveshMaster` to set `bCheck=1, sStatus=1, sCheckPerson, tCheckDate=tCheckTime`. Reverse branch (`iFlag=0`) zeroes the audit fields. All cross-table side-effects in the body are commented out. **Invocation:** Status: appears orphaned. No `gdsmodule.sProcName/sSaveProName`, `gdsconfigformmaster` form-master, sibling-routine, or xly-src reference points at `Sp_Calc_sPca1`. Candidate for maintainer audit — the commented-out code suggests the proc was carved off `Sp_Calc_sPca` for the 送货 send-back path and then deferred when the qty roll-up was reworked.