Response Example
{
"document_data": [
{
"doc_type_no": "5101",
"doc_type_name": "Standard Work Order",
"status": "Y",
"auto_numbering": "Y",
"op_control": "Y"
},
{
"doc_type_no": "5102",
"doc_type_name": "Outsourcing Work Order",
"status": "Y",
"auto_numbering": "Y",
"op_control": "N"
}
]
}
Processing Logic
Composite Primary Key Design
Uses doc_type (document category, from request parameter) +
doc_type_no (document type number) as composite primary key.
Example: doc_type='MO' + doc_type_no='5101' = Work Order type "Standard Work Order"
No Data Protection
When ERP returns no matching data, the response does not contain document_data node.
The program checks for this and returns success (no data from ERP) to avoid errors.
Database Update SQL
Check Insert or Update
SELECT COUNT(1) FROM ERP_ORDERTYPEDEF WITH (NOLOCK)
WHERE doc_type = N'{doc_type}' AND doc_type_no = N'{doc_type_no}'
-- count > 0 → UPDATE, count = 0 → INSERT
INSERT (Add Document Type)
INSERT INTO ERP_ORDERTYPEDEF (
doc_type, doc_type_no, status,
doc_type_name, auto_numbering, op_control
) VALUES (
:doc_type, -- Document category (request parameter)
:doc_type_no, -- Document type number
:status, -- Status code
:doc_type_name, -- Document type name
:auto_numbering, -- Auto numbering enabled
:op_control -- Use routing/process control (default 'N')
)
UPDATE (Modify Document Type)
UPDATE ERP_ORDERTYPEDEF SET
status = :status,
doc_type_name = :doc_type_name,
auto_numbering = :auto_numbering,
op_control = :op_control
WHERE doc_type = :doc_type AND doc_type_no = :doc_type_no
Field Default Values
If ERP does not return the following fields, default values are applied:
• status = '' (empty string)
• doc_type_name = '' (empty string)
• auto_numbering = '' (empty string)
• op_control = 'N'