# `Sp_afterSave_sGYKK` (procedure) > 供应商扣款反写 - **Type:** PROCEDURE - **Deterministic:** NO - **SQL data access:** CONTAINS SQL ## Parameters | # | Mode | Name | Type | |---|---|---|---| | 1 | IN | `sGuid` | `varchar(2000)` | | 2 | IN | `sBrId` | `varchar(100)` | | 3 | IN | `sSuId` | `varchar(100)` | | 4 | OUT | `sCode` | `int` | | 5 | OUT | `sReturn` | `varchar(4000)` | ## Body _Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_afterSave_sGYKK`'`._ ## Narrative **Business context:** 供应商扣款 (supplier-deduction / chargeback) — thin save-phase wrapper in the historic `Sp_afterSave_s` family. The `_sGYKK` short-code (GYS-KK = 供应商-扣款) is the only all-caps variant in the family. Each member is a 1-line delegator to `Sp_saveReturn_s` with `iFlag=2`. For `_sGYKK` the worker is `Sp_saveReturn_sGYKK` ("供应商扣款单据反写"). **What it does:** Wraps `sGuid` in double-quotes if not already quoted and, when `sGuid` is non-empty, calls `Sp_saveReturn_sGYKK(sGuid, sBrId, sSuId, 2, @sCode, @sReturn)`. Unlike its siblings, this wrapper **does** copy `@sCode` and `@sReturn` back into its own OUT params after the worker call. **Invocation:** Status: appears orphaned. No caller found in any channel (`gdsmodule.sSaveProName`/`sCalcProName`/`sProcName`, form-master, other routines, xly-src grep) — same decommissioned-legacy condition as the rest of the `Sp_afterSave_*` family; production save-phase hooks dispatch to `Sp_Check_s` instead. Candidate for maintainer audit.