← Back to API List

Product Routing Data

GET ERP → MES
product.process.get

Synchronizes product routing (BOM) data from ERP to MES. Includes routing header (SFT_BOMME) and routing detail (SFT_BOMMF).

Basic Information

API Name
product.process.get
Method Name
upBomCROSS
Target Table
SFT_BOMME (Header) / SFT_BOMMF (Detail)
JSON Node
process_data
Primary Key
ME001 + ME002
Code Location
RegularESB.java:2614

Response Fields

HEADER Routing Header (SFT_BOMME)

ERP FieldMES FieldDescription
process_itemME001Process item number
process_codeME002Process code
process_nameME003Process name
descriptionME004Process description

DETAIL Routing Detail (SFT_BOMMF)

ERP FieldMES FieldDescription
process_seqMF003Process sequence
operation_noMF004Operation number (ERP_OPID)
workstation_noMF005Workstation number (ERP_WSID)
std_timeMF006Standard time

Response Example

{
  "process_data": [
    {
      "process_item": "ITEM-001",
      "process_code": "RT001",
      "process_name": "Standard Assembly Routing",
      "description": "Product assembly standard process",
      "process_detail": [
        {
          "process_seq": "10",
          "operation_no": "OP001",
          "workstation_no": "WS001",
          "std_time": "30"
        },
        {
          "process_seq": "20",
          "operation_no": "OP002",
          "workstation_no": "WS002",
          "std_time": "45"
        }
      ],
      "modify_no": "USER001"
    }
  ]
}

Database Update SQL

Routing Header SFT_BOMME (Delete then Insert)

-- Delete old data
DELETE FROM SFT_BOMME WHERE ME001 = :ME001 AND ME002 = :ME002

-- Insert header
INSERT INTO SFT_BOMME (
    ME001, ME002, ME003, ME004, ME007,
    MES001, MES004, CREATER, CREATE_DATE, FLAG
) VALUES (
    :ME001, :ME002, :ME003, :ME004, :ME007,
    'N', 'N', :userid, N'{current_time}', 0
)

Routing Detail SFT_BOMMF (Delete then Insert)

-- Delete old details
DELETE FROM SFT_BOMMF WHERE MF001 = :MF001 AND MF002 = :MF002

-- Insert details (for each operation)
INSERT INTO SFT_BOMMF (
    MF001, MF002, MF003, MF004, MF005, MF006, MF007, MF008,
    MF009, MF010, MF011, MF012, MF013, MF014, MF015, MF016,
    MF017, MF018, MF019, MF020, MF021, MF022, MF023, MF024,
    MF025, MF026, MF027, MF029, CONVERTUNIT, ITEM004, ITEM005
) VALUES (
    :MF001, :MF002, :MF003, :MF004, :MF005, :MF006, :MF007, :MF008,
    {MF009}, {MF010}, :MF011, :MF012, :MF013, :MF014, :MF015, 1,
    :MF017, :MF018, :MF019, :MF020, 'N', :MF022, :MF023, {MF024},
    {MF025}, :MF026, :MF027, :MF029, :CONVERTUNIT, :ITEM004, :ITEM005
)

OPERATION Linked Insert

-- Check if operation exists
SELECT COUNT(*) FROM OPERATION
WHERE ERP_OPID = N'{MF004}' AND ERP_WSID = N'{MF006}'

-- If not exists, auto insert
INSERT INTO OPERATION (
    ID, NAME, DESCRIPTION, COMPLEXION,
    ERP_OPID, WORKSTATIONID, ERP_WSID,
    LASTMAINTAINUSER, LASTMAINTAINDATETIME, FLAG
) VALUES (
    :MF004---:MF006,
    :OpName,
    :OpDESCRIPTION,
    :MF005,
    :MF004,
    :MF006,
    :MF006,
    :userid,
    N'{current_time}',
    0
)