diff options
Diffstat (limited to 'db/schema/ECC/ecc.ts')
| -rw-r--r-- | db/schema/ECC/ecc.ts | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/db/schema/ECC/ecc.ts b/db/schema/ECC/ecc.ts new file mode 100644 index 00000000..e836909e --- /dev/null +++ b/db/schema/ECC/ecc.ts @@ -0,0 +1,74 @@ +import { + integer, + varchar, + timestamp, + decimal, + pgSchema, +} from 'drizzle-orm/pg-core'; + +// 적용된 WSDL 파일: IF_ECC_EVCP_PR_INFORMATION.wsdl + +// WSDL 정의에서 CHG_GB, 응답할 메시지 타입(성공/실패) 및 내용은 메타데이터이다. +// 따라서 로깅 테이블에 저장하고, 별도 스키마를 생성하지는 않는다. + +// S-ERP에서 받는 ECC 데이터를 MDG와 구분하기 위해 스키마를 새로 생성한다. +export const ECCSchema = pgSchema('ecc'); + +// Table: PR_INFORMATION_T_BID_HEADER +export const PR_INFORMATION_T_BID_HEADER = ECCSchema.table( + 'PR_INFORMATION_T_BID_HEADER', + { + id: integer('id').primaryKey().generatedByDefaultAsIdentity(), + ANFNR: varchar({ length: 10 }).notNull(), // Bidding/RFQ Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + EKGRP: varchar({ length: 10 }), // Purchaing Group // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + EKORG: varchar({ length: 10 }), // Purchasing Organization // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + WERKS: varchar({ length: 10 }), // Plant // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZBSART: varchar({ length: 10 }).notNull(), // Bidding // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + ZRFQ_TRS_DT: varchar({ length: 10 }), // Date on Creating Bidding // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZRFQ_TRS_TM: varchar({ length: 10 }), // Time of Creating Bidding // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + + createdAt: timestamp('created_at').defaultNow().notNull(), + updatedAt: timestamp('updated_at').defaultNow().notNull(), + } +); + +// Table: PR_INFORMATION_T_BID_ITEM +export const PR_INFORMATION_T_BID_ITEM = ECCSchema.table( + 'PR_INFORMATION_T_BID_ITEM', + { + id: integer('id').primaryKey().generatedByDefaultAsIdentity(), + ANFNR: varchar({ length: 10 }).notNull(), // Bidding/RFQ Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + ANFPS: varchar({ length: 10 }).notNull(), // Item Number of Bidding // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + AUFNR: varchar({ length: 12 }), // Order Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + BANFN: varchar({ length: 10 }).notNull(), // Purchase Requisition Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + BANPO: varchar({ length: 10 }).notNull(), // Item Number of Purchase Requisition // From: IF_ECC_EVCP_PR_INFORMATION.wsdl // Required + BPRME: varchar({ length: 10 }), // Order Price Unit (Purchasing) // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + BRGEW: decimal({ precision: 15, scale: 3 }), // Gross Weight // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + DISMM: varchar({ length: 10 }), // MRP Type // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + EBELP: varchar({ length: 10 }), // Series PO Item Seq // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + GEWEI: varchar({ length: 10 }), // Weight Unit // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + KNTTP: varchar({ length: 10 }), // Account Assignment Category // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + KOSTL: varchar({ length: 10 }), // Cost Center // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + LFDAT: varchar({ length: 10 }), // Delivery Date // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + MATKL: varchar({ length: 10 }), // Material Group // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + MATNR: varchar({ length: 18 }), // Material Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + MEINS: varchar({ length: 10 }), // Purchase Requisition Unit of Measure // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + MENGE: decimal({ precision: 15, scale: 3 }), // Purchase Requisition Quantity // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + PEINH: integer(), // Price Unit // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + PERNR: varchar({ length: 20 }), // Employee ID // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + POSID: varchar({ length: 24 }), // WBS No // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + PREIS: decimal({ precision: 15, scale: 2 }), // Price in Purchase Requisition // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + PSPID: varchar({ length: 24 }), // Project No // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + SAKTO: varchar({ length: 10 }), // G/L Account Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + TXZ01: varchar({ length: 40 }), // Short Text // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + WAERS1: varchar({ length: 10 }), // PR Currency Key // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + WAERS2: varchar({ length: 10 }), // Reference Price Currency Key // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZCON_NO_PO: varchar({ length: 15 }), // PR Consolidation Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZREQ_FN: varchar({ length: 10 }), // P/R Request Number // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZREQ_PO: varchar({ length: 10 }), // Item Number of P/R Request // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + ZRSLT_AMT: decimal({ precision: 17, scale: 2 }), // Reference Price // From: IF_ECC_EVCP_PR_INFORMATION.wsdl + + createdAt: timestamp('created_at').defaultNow().notNull(), + updatedAt: timestamp('updated_at').defaultNow().notNull(), + } +); |
