← Back to API List

Operation Master Data

GET ERP → MES
op.get

Synchronizes operation master data from ERP to MES OPERATION table. Uses composite primary key (ERP_OPID + ERP_WSID).

Basic Information

API Name
op.get
Method Name
upOperationCROSS
Target Table
OPERATION
JSON Node
op_data
Primary Key
ERP_OPID + ERP_WSID (composite)
Code Location
RegularESB.java:2230

Response Fields

ERP FieldMES FieldDescription
op_noERP_OPIDOperation number
workstation_noERP_WSIDWorkstation number
op_no + "---" + workstation_noIDComposite ID
op_nameNAMEOperation name
descriptionDESCRIPTIONOperation description
outsourcing_typeCOMPLEXIONY→2(Outsourced), N→1(In-house)
tran_statusTRAN_STATUSTransaction status

Response Example

{
  "op_data": [
    {
      "op_no": "OP001",
      "workstation_no": "WS001",
      "op_name": "Assembly Operation",
      "description": "Mainboard assembly",
      "outsourcing_type": "N",
      "modify_no": "USER001",
      "tran_status": "AU"
    }
  ]
}

Processing Logic

ID Combination Rule
OPERATION.ID = op_no + "---" + workstation_no
Example: OP001---WS001
Outsourcing Flag Conversion
outsourcing_type = "Y" → COMPLEXION = 2 (Outsourced operation)
outsourcing_type = "N" → COMPLEXION = 1 (In-house operation)

Database Update SQL

Check Insert or Update

SELECT COUNT(1) FROM OPERATION
WHERE ERP_OPID = N'{op_no}' AND ERP_WSID = N'{workstation_no}'
-- count > 0 → UPDATE, count = 0 → INSERT

INSERT (Add Operation)

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 (Modify Operation)

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)