# `Sp_Generic_Procedure_Call` (procedure)

> 通用存储过程


- **Type:** PROCEDURE
- **Deterministic:** NO
- **SQL data access:** CONTAINS SQL

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `sProInParam` | `longtext` |
| 2 | IN | `sLoginId` | `varchar(100)` |
| 3 | IN | `sBrId` | `varchar(100)` |
| 4 | IN | `sSuId` | `varchar(100)` |
| 5 | OUT | `sCode` | `int` |
| 6 | OUT | `sReturn` | `varchar(4000)` |

## Body

_Body is not pre-cached. To inspect: `mysql --defaults-file=~/.my.cnf -e 'SHOW CREATE PROCEDURE `Sp_Generic_Procedure_Call`'`._

## Narrative

**Business context:** Header banner `通用存储过程` ("generic procedure"). A skeleton/template that mirrors the standard `BtnEvent` signature (`sProInParam, sLoginId, sBrId, sSuId, sCode, sReturn`) for developers to copy when authoring a new generic-dispatch procedure. Body is empty apart from `paramsErro` guard.

**What it does:** IFNULL-normalises all six parameters. If `sProInParam = ''` it calls `Sp_Sis_GetConst('paramsErro', p_sReturn, '', sBrId, sSuId)`, sets `sCode = -1` and leaves the `top:` block. The remainder of the body is intentionally blank — the file just commits a `BEGIN/END` shell so developers can `CREATE OR REPLACE` over it with real logic.

**Invocation:** Status: appears orphaned. No caller found in any channel — no `gdsmodule` hook, no `gdsconfigformmaster` reference, no other proc CALLs it, no xly-src Java grep hit (only the install script `script/标版/30100101/Sp_Generic_Procedure_Call.sql`). Note: this is NOT the runtime generic-dispatch endpoint — that endpoint is the Java `GenericProcedureCallServiceImpl.doGenericProcedureCall()`. This proc is a template, not the dispatcher.
