Sp_SplicingTableSql (procedure)
- Type: PROCEDURE
- Deterministic: NO
- SQL data access: CONTAINS SQL
Parameters
| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | sFormGuid |
varchar(50) |
| 2 | IN | sTemplateGuid |
varchar(50) |
| 3 | IN | p_sWhere |
longtext |
| 4 | IN | sLoginId |
varchar(255) |
| 5 | IN | sBrId |
varchar(50) |
| 6 | IN | sSuId |
varchar(50) |
| 7 | OUT | sReturn |
text |
| 8 | OUT | sCode |
int |
Body
Body is not pre-cached. To inspect: mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURESpSplicingTableSql'._
Narrative
Business context: 财务管理 → 凭证管理 — generic source-table → 凭证模板 (UdfVoucherTemplate) column-mapping SQL builder. Used by the universal voucher-generation flow to splice a per-form SELECT ... INSERT INTO udfvoucherslave based on which optional columns the source gdsconfigformmaster table actually has (sSlaveId, sWareHouseId, sMaterialsId, sCustomerId, sSupplyId, sBankId, sProductId, sInvoiceNo, sMemo, dCostMoney/dProfitLossMoney/dMaterialsMoney, dSlaveTotalMoney/dTotalMoney, …).
What it does: Resolves p_sSrcTableName from gdsconfigformmaster.sTbName WHERE sParentId=sFormGuid; reads p_sSumType from udfvouchertemplatemaster; then conditionally appends to p_sInsertSql and p_sSelectSql via EXISTS(... information_schema.COLUMNS WHERE COLUMN_NAME=...) checks — every optional column on the source table becomes a paired insert+select term. Money columns fall through dCostMoney → dProfitLossMoney → dMaterialsMoney and dSlaveTotalMoney → dTotalMoney → dProductMoney cascades. Returns the assembled column-mapping SQL fragment via sReturn for the caller to assemble the final voucher-insert statement.
Invocation: Called by Sp_InsertVoucher_Universals_All and Sp_InsertVoucher_Universals_Pro — the two universal voucher-generation procs that consume any audited business bill and emit 财务凭证. Install script: script/标版/30100101/Sp_SplicingTableSql.sql. No direct xly-src or gdsmodule binding — strictly an internal helper.