Synchronizes operation master data from ERP to MES OPERATION table. Uses composite primary key (ERP_OPID + ERP_WSID).
| ERP Field | MES Field | Description |
|---|---|---|
op_no | ERP_OPID | Operation number |
workstation_no | ERP_WSID | Workstation number |
op_no + "---" + workstation_no | ID | Composite ID |
op_name | NAME | Operation name |
description | DESCRIPTION | Operation description |
outsourcing_type | COMPLEXION | Y→2(Outsourced), N→1(In-house) |
tran_status | TRAN_STATUS | Transaction status |
{
"op_data": [
{
"op_no": "OP001",
"workstation_no": "WS001",
"op_name": "Assembly Operation",
"description": "Mainboard assembly",
"outsourcing_type": "N",
"modify_no": "USER001",
"tran_status": "AU"
}
]
}
op_no + "---" + workstation_noOP001---WS001
outsourcing_type = "Y" → COMPLEXION = 2 (Outsourced operation)outsourcing_type = "N" → COMPLEXION = 1 (In-house operation)
SELECT COUNT(1) FROM OPERATION
WHERE ERP_OPID = N'{op_no}' AND ERP_WSID = N'{workstation_no}'
-- count > 0 → UPDATE, count = 0 → INSERT
INSERT INTO OPERATION (
ID, NAME, DESCRIPTION, COMPLEXION,
ERP_OPID, WORKSTATIONID, ERP_WSID,
LASTMAINTAINUSER, LASTMAINTAINDATETIME, FLAG
) VALUES (
:Opid---:Wsid, -- Composite ID
:Opname,
:Opdescription,
:Opcomplexion, -- 1=In-house, 2=Outsourced
:Opid,
:Wsid,
:Wsid,
:userid,
N'{current_time}',
0
)
UPDATE OPERATION SET
ID = :newid,
NAME = :Opname,
DESCRIPTION = :Opdescription,
COMPLEXION = :Opcomplexion,
ERP_OPID = :Opid,
WORKSTATIONID = :Wsid,
ERP_WSID = :Wsid,
LASTMAINTAINUSER = :userid,
LASTMAINTAINDATETIME = N'{current_time}',
FLAG = (SELECT MAX(FLAG)+1 FROM OPERATION
WHERE ERP_OPID = :Opid AND ERP_WSID = :Wsid)
WHERE ID IN (:id)