# `PRO_ERPMERGEBASESISPRODUCTCLASSIFY` (procedure)


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

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `sSisProductClassify` | `varchar(100)` |

## Body

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

## Narrative

**Business context:** Base data — 产品分类 (Product Classification). When a product-classification row in `SISPRODUCTCLASSIFY` is renamed, this proc rewrites the denormalized `sProductClassifyName` across all three merge-reporting tables so reports keep showing the current label.

**What it does:** reads `sName` from `SISPRODUCTCLASSIFY` for the given id, then `UPDATE`s `sProductClassifyName` on `ERPMERGEWORKORDER`, `ERPMERGEPRODUCTIONREPORT`, and `ERPMERGESALSALESORDER` rows whose `sProductClassifyId = sSisProductClassify`.

**Invocation:** member of the `PRO_ERPMERGEBASE*` denorm-merge family. Called by `ProDao.proErpMergeBaseSisProductClassify(map)` via MyBatis CALLABLE mapper `ProMapper.xml`, driven from `ChangeSisProductClassifyServiceImpl.changeTableData()` after the JMS `CHANGE_GDS_MODULE` consumer detects a `SISPRODUCTCLASSIFY` row mutation. See [Cache invalidation on metadata change](../../reference/maintainer/cache-invalidation.md).
