# `TJ_TJMES_GRNLine` (procedure)

> MES --> Infor Syteline ERP（MES，调用Infor ERP数据库里的存储过程）


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

## Parameters

| # | Mode | Name | Type |
|---|---|---|---|
| 1 | IN | `sMakePerson` | `varchar(100)` |
| 2 | IN | `sBrId` | `varchar(100)` |
| 3 | IN | `sSuId` | `varchar(100)` |
| 4 | OUT | `sReturn` | `varchar(1000)` |
| 5 | OUT | `sCode` | `int` |
| 6 | OUT | `sSql` | `longtext` |
| 7 | OUT | `sData` | `longtext` |
| 8 | OUT | `sAfterIn` | `longtext` |

## Body

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

## Narrative

**Business context:** 第三方接口 → Infor Syteline ERP (per `COMMENT 'MES --> Infor Syteline ERP（MES，调用Infor ERP数据库里的存储过程）'`) — "Before" proc of an Infor Syteline GRN-line pull. Designed to hand the calling Java the SQL fragment and the JSON parameter map it should execute against the Infor SQL Server side to fetch `TJMES_GRNLine` (Goods-Received-Note line) rows.

**What it does:** Sets `sSql = " SELECT * FROM TJMES_GRNLine WHERE CreateDate >=#{CreateDate}"` and builds `sData = JSON_OBJECT('CreateDate', DATE_FORMAT(NOW(),'%Y-%m-%d'))` (using `FROM gdsmodule LIMIT 1` just so MySQL has a single-row context for the `SELECT INTO`). Copies `sData` to `sAfterIn` so the After-side proc receives the same payload. Does not set `sCode`/`sReturn` — caller defaults handle that.

**Invocation:** Designed to be invoked by `InfoSqlserverServiceImpl.doViewTable("inforarrive","TJ_TJMES_GRNLine","TJ_TJMES_GRNLineAfter")` from `InterfaceController.testdhrk()`. However, the `testdhrk` method is fully commented out in `xly-src/xlyInterface/.../InterfaceController.java`, and the partner proc `TJ_TJMES_GRNLineAfter` is not deployed in this DB. Status: bridge is wired in DB but the Java entry point is dormant — verify before relying on it.
