Fun_GetSystemSetting.md 1.64 KB

Fun_GetSystemSetting (function)

  • Type: FUNCTION
  • Returns: varchar(100)
  • Deterministic: NO
  • SQL data access: CONTAINS SQL

Parameters

# Mode Name Type
1 IN str varchar(200)
2 IN sBrId varchar(200)
3 IN sSuId varchar(200)

Body

Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE FUNCTIONFunGetSystemSetting'._

Narrative

Business context: Core key-value reader for SysSystemSettings — the per-tenant system-config table that holds switches and numeric coefficients used throughout 生产 / 库存 / 销售 calculations (e.g. CbxMaterialsUnit = MM/CM/INCH unit choice, NetSquareM square-meter rounding flag, NetConversionRate for INCH→metric, plus hundreds of other named scalars). Every "should this branch behave one way or another?" question routes through this function.

What it does: SELECT sValue FROM SysSystemSettings WHERE sName=str AND sBrandsId=sBrId AND sSubsidiaryId=sSuId, defaults to '0' when missing. Returns a varchar(100) — callers cast to numeric where they need to.

Invocation: referenced by 37 stored routines and many xly-src Sp_Calc_s* / Sp_Manufacture_* SQL scripts. Heavy hitters include Fun_GetAuxiliaryQtyUnit, Fun_GetMaterialsQtyUnit, Fun_GetMaterialsQtyUnitSupple, Fun_GetReelAuxiliaryQtyUnit, Fun_GetProcessAuxiliaryQty and the entire Sp_Calc_s* family (sMma, Mmm, Mpa, Opi1, Paj, Pmd, Psa, Cut, Dgd, DYDgd...) and Sp_BillOf* (Apply, ApplyLine, NoPicking, etc.). It is the canonical xly-side feature-flag/coefficient lookup.