Sp_Calc_sPpa.md 2.08 KB

Sp_Calc_sPpa (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 PROCEDURESpCalc_sPpa'._

Narrative

Business context: 采购管理 → 采购明细 → 采购申请单据 — purchase-application (采购申请, PR) audit on PurPurchaseApplyMaster. Also serves 客来料入库通知单据 (customer-supplied-material inbound notify) under 销售单据 (the same approval + rollup mechanics apply because the upstream demand row format is shared). The check opens the application for PO consumption; the uncheck rolls quantities back.

What it does: Aggregates purpurchaseapplyslave by sMaterialsId+sMaterialsStyle, summing dMaterialsQty/dAuxiliaryQty per material. On iFlag=1 optionally drives Sp_System_CheckFlow per slave when CkxDefineCheck=1 & iTmpCheck<>1; back-stamps the applied quantity into the upstream demand rows (MftWorkOrderMaterials.dAppliedQty, salsalesordermaterials.dAppliedQty); updates purpurchaseapplydetail rollup; flips bCheck=1, sStatus=1, sCheckPerson, tCheckDate on PurPurchaseApplyMaster. iFlag=0 calls Sp_Bill_Used first to refuse when a PO already references this PR, then reverses.

Invocation: Bound to gdsmodule.sProcName on 采购申请单据 (sId 192116810113315217105813660, parent 采购明细) and 客来料入库通知单据 (sId 101251240115016341830790030, parent 销售单据) — dispatched by BusinessBaseServiceImpl.getPrcName(sFormGuid, …) on the audit/un-audit button. xly-src ships script/标版/30100101/Sp_Calc_sPpa.sql (install) and a period-validation removal patch.