# `PRO_ERPMERGEBASESISDELIVER` (procedure)


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

## Parameters

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

## Body

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

## Narrative

**Business context:** Base data — 送货方式 / 物流 (Deliver method). When a row in `SISDELIVER` (the shipping-method dictionary referenced by sales orders and work orders) is renamed, this proc rewrites the denormalized `sDeliverName` on every historical row that references the dictionary entry.

**What it does:** reads `sName` from `SISDELIVER` for the given id, then `UPDATE`s `sDeliverName` on `ERPMERGEWORKORDER` and `ERPMERGESALSALESORDER` rows whose `sDeliverId = sSisDeliverId`. (Production-report does not carry a deliver-id column.)

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