summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjoonhoekim <26rote@gmail.com>2025-07-01 10:44:02 +0000
committerjoonhoekim <26rote@gmail.com>2025-07-01 10:44:02 +0000
commit6e25ab8da8a90a6d9bf40ccc83e36f119fb27568 (patch)
treef608ec6315b845b5770c2a357c6540116145cb41 /lib
parentaf52dbc2b96e619be18dea857ea67d99622092a7 (diff)
(김준회) 비활성화한 node-cron 진입점 (instrumentation.ts) 추가 및 NONSAP 동기화 개발건
Diffstat (limited to 'lib')
-rw-r--r--lib/nonsap-sync/enhanced-sync-service.ts873
-rw-r--r--lib/nonsap-sync/sync-config.ts46
-rw-r--r--lib/nonsap-sync/sync-service.ts414
-rw-r--r--lib/nonsap-sync/table-config.ts352
-rw-r--r--lib/oracle-db/check.ts39
-rw-r--r--lib/oracle-db/db.ts39
-rw-r--r--lib/oracle-db/nonsap/1.table-and-columns-info.csv922
-rw-r--r--lib/oracle-db/nonsap/1.table-and-columns-info.csv.before922
-rw-r--r--lib/oracle-db/nonsap/2.generate-oracle-types.py200
-rw-r--r--lib/oracle-db/nonsap/3.generate-postgres-drizzle-schema.ts273
-rw-r--r--lib/oracle-db/nonsap/oracle-schema.ts4034
-rwxr-xr-xlib/oracle-db/nonsap/run-generate-schema.sh63
12 files changed, 8140 insertions, 37 deletions
diff --git a/lib/nonsap-sync/enhanced-sync-service.ts b/lib/nonsap-sync/enhanced-sync-service.ts
new file mode 100644
index 00000000..d5bd216e
--- /dev/null
+++ b/lib/nonsap-sync/enhanced-sync-service.ts
@@ -0,0 +1,873 @@
+/* eslint-disable @typescript-eslint/no-explicit-any */
+"use server";
+
+import * as cron from 'node-cron';
+import { sql } from 'drizzle-orm';
+import { oracleKnex } from '@/lib/oracle-db/db';
+import db from '@/db/db';
+import { DatabaseSchema, TableName, ALL_TABLE_NAMES } from '@/lib/oracle-db/nonsap/oracle-schema';
+import * as nonsapSchema from '@/db/schema/NONSAP/nonsap';
+import { getTableSyncConfig, canUseDeltaSync, getTimestampColumn } from './table-config';
+import { PAGE_SIZE, BATCH_SIZE, MAX_WORKERS, DELTA_SYNC_ENABLED } from './sync-config';
+
+interface SyncProgress {
+ tableName: string;
+ lastSyncDate: string;
+ currentPage: number;
+ totalProcessed: number;
+ status: 'running' | 'completed' | 'error' | 'skipped';
+ lastError?: string;
+ syncType: 'full' | 'delta' | 'rebuild';
+ startTime: number;
+ endTime?: number;
+ recordsSkipped?: number;
+}
+
+interface DeltaSyncInfo {
+ tableName: string;
+ lastSyncTimestamp: string | null;
+ timestampColumn: string;
+}
+
+// 동기화 진행 상태 저장
+const syncProgress = new Map<string, SyncProgress>();
+
+// PostgreSQL에 마지막 동기화 정보 저장 테이블
+const SYNC_STATUS_TABLE = 'nonsap_sync_status';
+
+// 진행률 바 유틸리티 (기존과 동일)
+const createProgressBar = (current: number, total: number, width: number = 20): string => {
+ const filled = Math.floor((current / total) * width);
+ const empty = width - filled;
+ const percentage = Math.round((current / total) * 100);
+
+ const bar = '█'.repeat(filled) + '░'.repeat(empty);
+ return `[ ${current.toString().padStart(3)} / ${total.toString().padEnd(3)} | ${bar} | ${percentage.toString().padStart(3)}% ]`;
+};
+
+const updateProgressBar = (message: string, current: number, total: number): void => {
+ const progressBar = createProgressBar(current, total);
+ const fullMessage = `[NONSAP-SYNC] ${message} ${progressBar}`;
+
+ process.stdout.write('\r' + ' '.repeat(100) + '\r');
+ process.stdout.write(fullMessage);
+
+ if (current >= total) {
+ process.stdout.write('\n');
+ }
+};
+
+// 로거 (기존과 동일)
+const logger = {
+ info: (message: string, ...args: unknown[]) => console.log(`[NONSAP-SYNC INFO] ${message}`, ...args),
+ error: (message: string, ...args: unknown[]) => console.error(`[NONSAP-SYNC ERROR] ${message}`, ...args),
+ warn: (message: string, ...args: unknown[]) => console.warn(`[NONSAP-SYNC WARN] ${message}`, ...args),
+ success: (message: string, ...args: unknown[]) => console.log(`[NONSAP-SYNC SUCCESS] ${message}`, ...args),
+ header: (message: string) => {
+ console.log('\n' + '='.repeat(80));
+ console.log(`[NONSAP-SYNC] ${message}`);
+ console.log('='.repeat(80) + '\n');
+ },
+ progress: updateProgressBar
+};
+
+/**
+ * 동기화 상태 테이블 초기화
+ */
+async function initializeSyncStatusTable(): Promise<void> {
+ try {
+ const tableExists = await db.execute(sql`
+ SELECT EXISTS (
+ SELECT FROM information_schema.tables
+ WHERE table_schema = 'nonsap'
+ AND table_name = ${SYNC_STATUS_TABLE}
+ );
+ `);
+
+ if (!tableExists.rows[0].exists) {
+ await db.execute(sql`
+ CREATE TABLE nonsap.${sql.identifier(SYNC_STATUS_TABLE)} (
+ table_name VARCHAR(50) PRIMARY KEY,
+ last_sync_timestamp VARCHAR(14),
+ last_sync_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ sync_type VARCHAR(10) DEFAULT 'full',
+ total_records_processed INTEGER DEFAULT 0,
+ created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
+ );
+ `);
+ logger.info('Sync status table created');
+ }
+ } catch (error) {
+ logger.warn('Failed to initialize sync status table:', error);
+ }
+}
+
+/**
+ * 마지막 동기화 정보 조회
+ */
+async function getLastSyncInfo(tableName: string): Promise<DeltaSyncInfo> {
+ try {
+ const result = await db.execute(sql`
+ SELECT last_sync_timestamp
+ FROM nonsap.${sql.identifier(SYNC_STATUS_TABLE)}
+ WHERE table_name = ${tableName}
+ `);
+
+ const timestampColumn = getTimestampColumn(tableName as TableName);
+
+ return {
+ tableName,
+ lastSyncTimestamp: (result.rows[0] as any)?.last_sync_timestamp || null,
+ timestampColumn: timestampColumn || 'CHG_DT'
+ };
+ } catch (error) {
+ logger.warn(`Failed to get last sync info for ${tableName}:`, error);
+ return {
+ tableName,
+ lastSyncTimestamp: null,
+ timestampColumn: getTimestampColumn(tableName as TableName) || 'CHG_DT'
+ };
+ }
+}
+
+/**
+ * 마지막 동기화 정보 업데이트
+ */
+async function updateLastSyncInfo(tableName: string, timestamp: string, recordsProcessed: number): Promise<void> {
+ try {
+ await db.execute(sql`
+ INSERT INTO nonsap.${sql.identifier(SYNC_STATUS_TABLE)}
+ (table_name, last_sync_timestamp, total_records_processed, updated_at)
+ VALUES (${tableName}, ${timestamp}, ${recordsProcessed}, CURRENT_TIMESTAMP)
+ ON CONFLICT (table_name)
+ DO UPDATE SET
+ last_sync_timestamp = ${timestamp},
+ total_records_processed = ${recordsProcessed},
+ updated_at = CURRENT_TIMESTAMP
+ `);
+ } catch (error) {
+ logger.error(`Failed to update sync info for ${tableName}:`, error);
+ }
+}
+
+/**
+ * 전체 동기화를 위한 Oracle 데이터 조회 (ROWNUM 대신 ROW_NUMBER 사용)
+ */
+async function fetchOracleDataFull<T extends TableName>(
+ tableName: T,
+ page: number,
+ pageSize: number = PAGE_SIZE
+): Promise<DatabaseSchema[T][]> {
+ const offset = (page - 1) * pageSize;
+
+ try {
+ // ROW_NUMBER() OVER() 구문을 사용한 안전한 페이징
+ const query = `
+ SELECT * FROM (
+ SELECT t.*, ROW_NUMBER() OVER (ORDER BY ROWID) as rn
+ FROM ${tableName} t
+ )
+ WHERE rn > ${offset} AND rn <= ${offset + pageSize}
+ `;
+
+ const result = await oracleKnex.raw(query);
+
+ // Oracle knex raw 결과는 result[0]에 실제 rows가 있음
+ const rows = Array.isArray(result) ? result : result.rows || [];
+
+ // Oracle raw 쿼리 결과에서 실제 데이터 추출 (rn 컬럼 제거)
+ const cleanResults = rows.map((row: any) => {
+ if (row && typeof row === 'object') {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const { rn: _rn, RN: _RN, ...cleanRow } = row; // 대소문자 모두 제거
+ return cleanRow;
+ }
+ return row;
+ });
+
+ logger.info(`Fetched ${cleanResults.length} records from ${tableName} (page ${page}, full sync)`);
+
+ return cleanResults as DatabaseSchema[T][];
+ } catch (error) {
+ logger.error(`Error fetching full data from ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 차분 동기화를 위한 Oracle 데이터 조회 (ROW_NUMBER 사용)
+ */
+async function fetchOracleDataDelta<T extends TableName>(
+ tableName: T,
+ lastSyncTimestamp: string | null,
+ timestampColumn: string,
+ page: number,
+ pageSize: number = PAGE_SIZE
+): Promise<{ data: DatabaseSchema[T][]; hasMore: boolean; maxTimestamp: string | null }> {
+ const offset = (page - 1) * pageSize;
+
+ try {
+ let whereClause = '';
+ const params: any[] = [];
+
+ // 차분 동기화 조건 추가
+ if (lastSyncTimestamp && timestampColumn) {
+ if (timestampColumn.includes('DTM')) {
+ // 14자리 YYYYMMDDHHMISS 형태
+ whereClause = `WHERE ${timestampColumn} > ?`;
+ params.push(lastSyncTimestamp);
+ } else {
+ // 8자리 YYYYMMDD 형태만 사용 (CHG_TM 컬럼이 없는 테이블들)
+ const lastDate = lastSyncTimestamp.substring(0, 8);
+
+ // 테이블에 따라 조건 분기
+ const timeColumn = timestampColumn.replace('_DT', '_TM');
+
+ // 실제로 CHG_TM 컬럼이 있는지 확인 (간접적으로 테이블명으로 판단)
+ const hasTimeColumn = [
+ 'CMCTB_VENDOR_GENERAL', 'CMCTB_VENDOR_GRP', 'CMCTB_VENDOR_INCO',
+ 'CMCTB_CDNM', 'CMCTB_CD_CLF_NM'
+ ].includes(tableName);
+
+ if (hasTimeColumn) {
+ const lastTime = lastSyncTimestamp.substring(8, 14);
+ whereClause = `WHERE (${timestampColumn} > ? OR (${timestampColumn} = ? AND ${timeColumn} > ?))`;
+ params.push(lastDate, lastDate, lastTime);
+ } else {
+ // CHG_TM 컬럼이 없는 테이블은 날짜만으로 비교
+ whereClause = `WHERE ${timestampColumn} > ?`;
+ params.push(lastDate);
+ }
+ }
+ }
+
+ // ROW_NUMBER() OVER() 구문을 사용한 안전한 페이징
+ const orderColumn = timestampColumn || 'ROWID';
+ const query = `
+ SELECT * FROM (
+ SELECT t.*, ROW_NUMBER() OVER (ORDER BY ${orderColumn}) as rn
+ FROM ${tableName} t
+ ${whereClause}
+ )
+ WHERE rn > ${offset} AND rn <= ${offset + pageSize}
+ `;
+
+ const result = await oracleKnex.raw(query, params);
+
+ // Oracle knex raw 결과는 result[0]에 실제 rows가 있음
+ const rows = Array.isArray(result) ? result : result.rows || [];
+
+ // Oracle raw 쿼리 결과에서 실제 데이터 추출 (rn 컬럼 제거)
+ const cleanResults = rows.map((row: any) => {
+ if (row && typeof row === 'object') {
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
+ const { rn: _rn, RN: _RN, ...cleanRow } = row; // 대소문자 모두 제거
+ return cleanRow;
+ }
+ return row;
+ });
+
+ // 최대 타임스탬프 계산
+ let maxTimestamp: string | null = null;
+ if (cleanResults.length > 0 && timestampColumn) {
+ const lastRecord = cleanResults[cleanResults.length - 1] as any;
+ if (timestampColumn.includes('DTM')) {
+ maxTimestamp = lastRecord[timestampColumn];
+ } else {
+ const timeColumn = timestampColumn.replace('_DT', '_TM');
+ const date = lastRecord[timestampColumn] || '';
+
+ // CHG_TM 컬럼이 있는 테이블만 시간 조합
+ const hasTimeColumn = [
+ 'CMCTB_VENDOR_GENERAL', 'CMCTB_VENDOR_GRP', 'CMCTB_VENDOR_INCO',
+ 'CMCTB_CDNM', 'CMCTB_CD_CLF_NM'
+ ].includes(tableName);
+
+ if (hasTimeColumn && lastRecord[timeColumn]) {
+ const time = lastRecord[timeColumn] || '000000';
+ maxTimestamp = date + time.padEnd(6, '0');
+ } else {
+ // 시간 정보가 없는 경우 날짜만 + 시간은 끝시간으로
+ maxTimestamp = date + '235959';
+ }
+ }
+ }
+
+ const hasMore = cleanResults.length === pageSize;
+
+ logger.info(`Fetched ${cleanResults.length} records from ${tableName} (page ${page}, delta: ${!!lastSyncTimestamp})`);
+
+ return {
+ data: cleanResults as DatabaseSchema[T][],
+ hasMore,
+ maxTimestamp
+ };
+ } catch (error) {
+ logger.error(`Error fetching delta data from ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 컬럼명 정규화 (Oracle -> PostgreSQL)
+ */
+function normalizeColumnNames(record: any, tableSchema: any): any {
+ const normalizedRecord: any = {};
+ const schemaColumns = Object.keys(tableSchema);
+
+ for (const [key, value] of Object.entries(record)) {
+ if (!key || typeof key !== 'string' || key === 'undefined' || key.trim() === '') {
+ continue;
+ }
+
+ // RN 컬럼 제거 (ROW_NUMBER 결과)
+ if (key.toUpperCase() === 'RN') {
+ continue;
+ }
+
+ // 대문자로 변환하여 스키마와 매칭
+ const upperKey = key.toUpperCase();
+
+ // 스키마에 해당 컬럼이 있는지 확인
+ if (schemaColumns.includes(upperKey)) {
+ normalizedRecord[upperKey] = value;
+ } else {
+ // 스키마에 없는 컬럼은 경고 출력하지 않고 조용히 스킵 (너무 많은 로그 방지)
+ // logger.warn(`Column ${key} (${upperKey}) not found in schema, skipping`);
+ }
+ }
+
+ return normalizedRecord;
+}
+
+/**
+ * PostgreSQL에서 실제 constraint 존재 여부 확인
+ */
+async function hasValidConstraint(tableName: string, columnNames: string[]): Promise<boolean> {
+ try {
+ if (columnNames.length === 0) return false;
+
+ const tableNameLower = tableName.toLowerCase();
+
+ // Primary key나 unique constraint 확인
+ const constraintQuery = sql`
+ SELECT tc.constraint_name, tc.constraint_type, kcu.column_name
+ FROM information_schema.table_constraints tc
+ JOIN information_schema.key_column_usage kcu
+ ON tc.constraint_name = kcu.constraint_name
+ WHERE tc.table_schema = 'nonsap'
+ AND tc.table_name = ${tableNameLower}
+ AND tc.constraint_type IN ('PRIMARY KEY', 'UNIQUE')
+ `;
+
+ const result = await db.execute(constraintQuery);
+ const constraints = result.rows;
+
+ // 해당 컬럼들이 실제 constraint에 포함되는지 확인
+ for (const constraint of constraints) {
+ const constraintColumns = constraints
+ .filter((c: any) => c.constraint_name === constraint.constraint_name)
+ .map((c: any) => c.column_name.toUpperCase());
+
+ // 모든 컬럼이 constraint에 포함되는지 확인
+ const allColumnsInConstraint = columnNames.every(col =>
+ constraintColumns.includes(col.toUpperCase())
+ );
+
+ if (allColumnsInConstraint) {
+ return true;
+ }
+ }
+
+ return false;
+ } catch (error) {
+ logger.warn(`Failed to check constraints for ${tableName}:`, error);
+ return false;
+ }
+}
+
+/**
+ * PostgreSQL에 데이터 upsert (최적화된 버전)
+ */
+async function upsertToPostgresOptimized<T extends TableName>(
+ tableName: T,
+ data: DatabaseSchema[T][],
+ primaryKeys: string[]
+): Promise<void> {
+ if (data.length === 0) return;
+
+ try {
+ const tableCamelCase = tableName.toLowerCase()
+ .split('_')
+ .map((word, index) => index === 0 ? word : word.charAt(0).toUpperCase() + word.slice(1))
+ .join('');
+
+ const tableSchema = (nonsapSchema as any)[tableCamelCase];
+
+ if (!tableSchema) {
+ throw new Error(`Table schema not found for ${tableName} (${tableCamelCase})`);
+ }
+
+ for (let i = 0; i < data.length; i += BATCH_SIZE) {
+ const batch = data.slice(i, i + BATCH_SIZE);
+ const currentBatch = Math.floor(i / BATCH_SIZE) + 1;
+
+ try {
+ // primaryKeys에서 undefined 값 필터링 및 검증
+ const validPrimaryKeys = primaryKeys.filter(key =>
+ key &&
+ typeof key === 'string' &&
+ key !== 'ROWID' &&
+ key !== 'undefined' &&
+ key.trim() !== ''
+ );
+
+ if (currentBatch === 1) {
+ logger.info(`${tableName} - Valid primaryKeys: [${validPrimaryKeys.join(', ')}]`);
+ }
+
+ // 데이터 정규화 (컬럼명 매핑)
+ const cleanBatch = batch
+ .map(record => normalizeColumnNames(record, tableSchema))
+ .filter(record => Object.keys(record).length > 0);
+
+ if (cleanBatch.length === 0) {
+ logger.warn(`${tableName} - No valid records after cleaning batch ${currentBatch}`);
+ continue;
+ }
+
+ if (validPrimaryKeys.length > 0) {
+ // 실제 constraint 존재 여부 확인
+ const hasConstraint = await hasValidConstraint(tableName, validPrimaryKeys);
+
+ if (hasConstraint) {
+ // 스키마에서 실제 컬럼 객체들 가져오기
+ const conflictColumns = validPrimaryKeys
+ .filter(key => key in tableSchema)
+ .map(key => tableSchema[key]);
+
+ if (conflictColumns.length > 0) {
+ // 업데이트할 필드들만 선별 (기본키 제외)
+ const updateFields = Object.keys(cleanBatch[0])
+ .filter(key => !validPrimaryKeys.includes(key) && key in tableSchema)
+ .reduce((acc, key) => {
+ acc[key] = sql.raw(`excluded."${key}"`);
+ return acc;
+ }, {} as Record<string, any>);
+
+ await db.insert(tableSchema as any)
+ .values(cleanBatch)
+ .onConflictDoUpdate({
+ target: conflictColumns,
+ set: updateFields
+ });
+ } else {
+ // 스키마에서 컬럼을 찾을 수 없는 경우
+ logger.warn(`${tableName} - Primary key columns not found in schema, using simple insert`);
+ await db.insert(tableSchema as any).values(cleanBatch);
+ }
+ } else {
+ // constraint가 없는 경우: 개별 처리로 중복 방지
+ logger.info(`${tableName} - No valid constraints found, using individual upsert`);
+
+ for (const record of cleanBatch) {
+ try {
+ await db.insert(tableSchema as any)
+ .values(record)
+ .onConflictDoNothing(); // 에러 무시하고 계속
+ } catch {
+ // 개별 레코드 실패는 조용히 무시
+ }
+ }
+ }
+ } else {
+ // 기본키가 없는 테이블: 삭제 후 재삽입 방식
+ if (currentBatch === 1) {
+ // 첫 번째 배치에서만 기존 데이터 확인 및 삭제
+ const existingDataCheck = await db.execute(sql`
+ SELECT COUNT(*) as count FROM ${sql.identifier('nonsap')}.${sql.identifier(tableName.toLowerCase())}
+ `);
+
+ const existingCount = Number(existingDataCheck.rows[0].count);
+ if (existingCount > 0) {
+ logger.info(`${tableName} - Existing data found (${existingCount} records), deleting before insert`);
+ await db.execute(sql`
+ DELETE FROM ${sql.identifier('nonsap')}.${sql.identifier(tableName.toLowerCase())}
+ `);
+ } else {
+ logger.info(`${tableName} - No existing data, proceeding with fresh insert`);
+ }
+ }
+
+ // 데이터 정규화 후 삽입
+ if (cleanBatch.length > 0) {
+ await db.insert(tableSchema as any).values(cleanBatch);
+ }
+ }
+
+ } catch (insertError: unknown) {
+ const isDuplicateKeyError = insertError &&
+ typeof insertError === 'object' &&
+ 'code' in insertError &&
+ insertError.code === '23505';
+
+ if (!isDuplicateKeyError) {
+ logger.warn(`Batch upsert failed for ${tableName}, trying individual operations`, insertError);
+
+ // 개별 처리
+ for (const record of batch) {
+ try {
+ // 레코드 정규화
+ const cleanRecord = normalizeColumnNames(record, tableSchema);
+
+ if (Object.keys(cleanRecord).length > 0) {
+ await db.insert(tableSchema as any)
+ .values(cleanRecord)
+ .onConflictDoNothing();
+ }
+ } catch {
+ // 개별 레코드 실패는 무시
+ }
+ }
+ }
+ }
+
+ if (currentBatch % 10 === 0) {
+ await new Promise(resolve => setTimeout(resolve, 50));
+ }
+ }
+
+ logger.success(`Successfully processed ${data.length} records for ${tableName}`);
+ } catch (error) {
+ logger.error(`Error upserting data to ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 워커를 사용한 테이블 동기화
+ */
+async function syncTableWithWorker<T extends TableName>(
+ tableName: T,
+ tableIndex: number,
+ totalTables: number
+): Promise<void> {
+ logger.info(`Starting enhanced sync for table: ${tableName} (${tableIndex}/${totalTables})`);
+
+ const config = getTableSyncConfig(tableName);
+ const useDeltaSync = DELTA_SYNC_ENABLED && canUseDeltaSync(tableName);
+ const timestampColumn = getTimestampColumn(tableName);
+
+ // 동기화 타입 결정
+ let syncType: 'full' | 'delta' | 'rebuild';
+ if (useDeltaSync) {
+ syncType = 'delta';
+ } else if (config.primaryKeys.length === 0) {
+ // 기본키가 없는 테이블은 삭제 후 재구성
+ syncType = 'rebuild';
+ } else {
+ // 기본키가 있지만 차분 동기화가 불가능한 경우 전체 동기화
+ syncType = 'full';
+ }
+
+ const syncTypeDescription = {
+ 'delta': '차분 동기화',
+ 'full': '전체 동기화',
+ 'rebuild': '삭제 후 재구성'
+ }[syncType];
+
+ // 동기화 진행 상태 초기화
+ const progress: SyncProgress = {
+ tableName,
+ lastSyncDate: new Date().toISOString(),
+ currentPage: 1,
+ totalProcessed: 0,
+ status: 'running',
+ syncType,
+ startTime: Date.now()
+ };
+ syncProgress.set(tableName, progress);
+
+ try {
+ let page = 1;
+ let totalProcessed = 0;
+ let hasMore = true;
+ let maxTimestamp: string | null = null;
+ let lastSyncTimestamp: string | null = null;
+
+ // 차분 동기화 정보 조회
+ if (useDeltaSync) {
+ const deltaInfo = await getLastSyncInfo(tableName);
+ lastSyncTimestamp = deltaInfo.lastSyncTimestamp;
+ logger.info(`${syncTypeDescription} for ${tableName}, last timestamp: ${lastSyncTimestamp || 'none'}`);
+ } else {
+ logger.info(`${syncTypeDescription} for ${tableName}`);
+ }
+
+ while (hasMore) {
+ let result: { data: DatabaseSchema[T][]; hasMore: boolean; maxTimestamp: string | null };
+
+ if (useDeltaSync && timestampColumn) {
+ // 차분 동기화 사용
+ result = await fetchOracleDataDelta(
+ tableName,
+ lastSyncTimestamp,
+ timestampColumn,
+ page
+ );
+ } else {
+ // 전체 동기화 사용 (기존 방식)
+ const oracleData = await fetchOracleDataFull(tableName, page);
+ result = {
+ data: oracleData,
+ hasMore: oracleData.length === PAGE_SIZE,
+ maxTimestamp: null
+ };
+ }
+
+ if (result.data.length === 0) {
+ logger.info(`No new data found for ${tableName}, skipping...`);
+ progress.status = 'skipped';
+ break;
+ }
+
+ // PostgreSQL에 upsert
+ await upsertToPostgresOptimized(tableName, result.data, config.primaryKeys);
+
+ totalProcessed += result.data.length;
+ hasMore = result.hasMore;
+
+ if (result.maxTimestamp) {
+ maxTimestamp = result.maxTimestamp;
+ }
+
+ // 진행 상태 업데이트
+ progress.currentPage = page;
+ progress.totalProcessed = totalProcessed;
+
+ page++;
+
+ // 차분 동기화가 아닌 경우 페이지 크기보다 적으면 중단
+ if (!useDeltaSync && result.data.length < PAGE_SIZE) {
+ hasMore = false;
+ }
+ // 차분 동기화에서는 연속된 빈 페이지가 나오면 중단
+ else if (useDeltaSync && result.data.length < PAGE_SIZE) {
+ hasMore = false;
+ }
+ }
+
+ // 동기화 완료 처리
+ progress.status = progress.status === 'skipped' ? 'skipped' : 'completed';
+ progress.endTime = Date.now();
+
+ // 마지막 동기화 정보 업데이트
+ if (maxTimestamp && useDeltaSync) {
+ await updateLastSyncInfo(tableName, maxTimestamp, totalProcessed);
+ }
+
+ const duration = (progress.endTime - progress.startTime) / 1000;
+ logger.success(`Table ${tableName} sync completed. Processed: ${totalProcessed}, Duration: ${duration.toFixed(2)}s, Type: ${syncTypeDescription}`);
+
+ } catch (error) {
+ progress.status = 'error';
+ progress.lastError = error instanceof Error ? error.message : String(error);
+ progress.endTime = Date.now();
+
+ logger.error(`Table ${tableName} sync failed:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 멀티스레드 동기화 (테이블별 병렬 처리)
+ */
+async function syncTablesInParallel(tables: TableName[]): Promise<void> {
+ const chunks: TableName[][] = [];
+ const chunkSize = Math.ceil(tables.length / MAX_WORKERS);
+
+ for (let i = 0; i < tables.length; i += chunkSize) {
+ chunks.push(tables.slice(i, i + chunkSize));
+ }
+
+ logger.info(`Processing ${tables.length} tables in ${chunks.length} parallel groups`);
+
+ const promises = chunks.map(async (tableChunk, chunkIndex) => {
+ logger.info(`Starting worker ${chunkIndex + 1} with ${tableChunk.length} tables`);
+
+ for (let i = 0; i < tableChunk.length; i++) {
+ const tableName = tableChunk[i];
+ const globalIndex = chunks.slice(0, chunkIndex).reduce((sum, chunk) => sum + chunk.length, 0) + i + 1;
+
+ try {
+ await syncTableWithWorker(tableName, globalIndex, tables.length);
+ } catch (error) {
+ logger.error(`Worker ${chunkIndex + 1} failed on table ${tableName}:`, error);
+ // 개별 테이블 실패는 무시하고 계속 진행
+ }
+ }
+
+ logger.info(`Worker ${chunkIndex + 1} completed`);
+ });
+
+ await Promise.all(promises);
+}
+
+/**
+ * 모든 테이블 동기화 (개선된 버전)
+ */
+async function syncAllTablesEnhanced(): Promise<void> {
+ logger.header('Starting Enhanced NONSAP Data Synchronization');
+
+ await initializeSyncStatusTable();
+
+ const startTime = Date.now();
+ let successCount = 0;
+ let errorCount = 0;
+ let skippedCount = 0;
+ const totalTables = ALL_TABLE_NAMES.length;
+
+ logger.info(`Total tables to sync: ${totalTables}`);
+ logger.info(`Delta sync enabled: ${DELTA_SYNC_ENABLED}`);
+ logger.info(`Max workers: ${MAX_WORKERS}`);
+
+ try {
+ await syncTablesInParallel(ALL_TABLE_NAMES);
+
+ // 결과 집계
+ for (const progress of syncProgress.values()) {
+ switch (progress.status) {
+ case 'completed':
+ successCount++;
+ break;
+ case 'error':
+ errorCount++;
+ break;
+ case 'skipped':
+ skippedCount++;
+ break;
+ }
+ }
+
+ } catch (error) {
+ logger.error('Sync process failed:', error);
+ }
+
+ const duration = Date.now() - startTime;
+ logger.info(`Enhanced sync completed in ${(duration / 1000).toFixed(2)}s`);
+ logger.info(`Success: ${successCount}, Errors: ${errorCount}, Skipped: ${skippedCount}`);
+ logger.info(`Total tables processed: ${totalTables}`);
+
+ if (errorCount > 0) {
+ logger.warn(`${errorCount} tables had errors during sync`);
+ }
+
+ if (successCount + skippedCount === totalTables) {
+ logger.success('🚀 All tables synchronized successfully with enhanced performance!');
+ }
+}
+
+/**
+ * 동기화 상태 조회 API (개선된 버전)
+ */
+export async function getSyncProgressEnhanced(): Promise<SyncProgress[]> {
+ return Array.from(syncProgress.values());
+}
+
+/**
+ * 수동 동기화 트리거 (개선된 버전)
+ */
+export async function triggerEnhancedSync(): Promise<void> {
+ logger.info('Enhanced manual sync triggered');
+ await syncAllTablesEnhanced();
+}
+
+/**
+ * 특정 테이블 전체 재동기화
+ */
+export async function triggerFullResync(tableName: TableName): Promise<void> {
+ logger.info(`Full resync triggered for table: ${tableName}`);
+
+ try {
+ // 마지막 동기화 정보 삭제 (전체 동기화 강제)
+ await db.execute(sql`
+ DELETE FROM nonsap.${sql.identifier(SYNC_STATUS_TABLE)}
+ WHERE table_name = ${tableName}
+ `);
+
+ await syncTableWithWorker(tableName, 1, 1);
+ logger.success(`Full resync completed for ${tableName}`);
+ } catch (error) {
+ logger.error(`Full resync failed for ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 개선된 동기화 스케줄러 시작
+ */
+export async function startEnhancedSyncScheduler(): Promise<void> {
+ logger.info('Initializing Enhanced NONSAP data synchronization scheduler...');
+
+ try {
+ // 매일 새벽 1시에 실행 (아래 타임존 설정이 있으므로 KST로 기입 가능)
+ cron.schedule('0 1 * * *', async () => {
+ try {
+ logger.info('Cron job triggered: Starting enhanced scheduled sync');
+
+ const isConnected = await testOracleConnection();
+ if (!isConnected) {
+ logger.warn('Oracle DB not available, skipping sync');
+ return;
+ }
+
+ await syncAllTablesEnhanced();
+ } catch (error) {
+ logger.error('Enhanced scheduled sync failed:', error);
+ }
+ }, {
+ timezone: 'Asia/Seoul'
+ });
+
+ logger.success(`Enhanced NONSAP sync scheduler registered (every 30 minutes) for ${ALL_TABLE_NAMES.length} tables`);
+
+ if (process.env.NODE_ENV === 'development') {
+ logger.info('Development mode: Enhanced cron registered but initial sync skipped');
+ return;
+ }
+
+ if (process.env.SYNC_ON_START === 'true') {
+ logger.info('Initial enhanced sync on startup enabled');
+ setTimeout(async () => {
+ try {
+ const isConnected = await testOracleConnection();
+ if (isConnected) {
+ await syncAllTablesEnhanced();
+ } else {
+ logger.warn('Initial enhanced sync skipped - Oracle DB not available');
+ }
+ } catch (error) {
+ logger.error('Initial enhanced sync failed:', error);
+ }
+ }, 10000);
+ }
+
+ } catch (error) {
+ logger.error('Failed to set up enhanced cron scheduler:', error);
+ logger.warn('Application will continue without enhanced sync scheduler');
+ }
+}
+
+/**
+ * Oracle DB 연결 테스트
+ */
+async function testOracleConnection(): Promise<boolean> {
+ try {
+ const result = await oracleKnex.raw('SELECT 1 FROM DUAL');
+ return !!result;
+ } catch (error) {
+ logger.error('Oracle DB connection test failed:', error);
+ return false;
+ }
+} \ No newline at end of file
diff --git a/lib/nonsap-sync/sync-config.ts b/lib/nonsap-sync/sync-config.ts
new file mode 100644
index 00000000..a18dd208
--- /dev/null
+++ b/lib/nonsap-sync/sync-config.ts
@@ -0,0 +1,46 @@
+// NONSAP 동기화 설정
+export interface SyncConfig {
+ pageSize: number;
+ batchSize: number;
+ maxWorkers: number;
+ deltaSyncEnabled: boolean;
+ cronSchedule: string;
+ autoRefreshInterval: number; // UI 자동 새로고침 간격 (ms)
+}
+
+// 환경별 설정
+const configs: Record<string, SyncConfig> = {
+ development: {
+ pageSize: 1000,
+ batchSize: 50,
+ maxWorkers: 4,
+ deltaSyncEnabled: true,
+ cronSchedule: '0 0 1 * * *', // 매일 새벽 1시
+ autoRefreshInterval: 1000, // 1초
+ },
+ production: {
+ pageSize: 5000,
+ batchSize: 200,
+ maxWorkers: 4,
+ deltaSyncEnabled: true,
+ cronSchedule: '0 0 1 * * *', // 매일 새벽 1시
+ autoRefreshInterval: 30000, // 30초
+ }
+};
+
+// 현재 환경의 설정 가져오기
+export const SYNC_CONFIG: SyncConfig = configs[process.env.NODE_ENV || 'development'];
+
+// 개별 설정값들 (기존 코드와의 호환성을 위해)
+export const PAGE_SIZE = SYNC_CONFIG.pageSize;
+export const BATCH_SIZE = SYNC_CONFIG.batchSize;
+export const MAX_WORKERS = SYNC_CONFIG.maxWorkers;
+export const DELTA_SYNC_ENABLED = SYNC_CONFIG.deltaSyncEnabled;
+
+// 설정 정보를 반환하는 함수 (API에서 사용)
+export function getSyncConfigInfo() {
+ return {
+ ...SYNC_CONFIG,
+ environment: process.env.NODE_ENV || 'development'
+ };
+} \ No newline at end of file
diff --git a/lib/nonsap-sync/sync-service.ts b/lib/nonsap-sync/sync-service.ts
new file mode 100644
index 00000000..286952eb
--- /dev/null
+++ b/lib/nonsap-sync/sync-service.ts
@@ -0,0 +1,414 @@
+"use server";
+
+import * as cron from 'node-cron';
+import { oracleKnex } from '@/lib/oracle-db/db';
+import db from '@/db/db';
+import { DatabaseSchema, TableName, ALL_TABLE_NAMES } from '@/lib/oracle-db/nonsap/oracle-schema';
+import * as nonsapSchema from '@/db/schema/NONSAP/nonsap';
+
+// oracle-schema.ts에서 테이블 목록 자동 추출
+const SYNC_TABLES: TableName[] = ALL_TABLE_NAMES;
+
+// 페이지 단위
+const PAGE_SIZE = 2000;
+const BATCH_SIZE = 100;
+
+interface SyncProgress {
+ tableName: string;
+ lastSyncDate: string;
+ currentPage: number;
+ totalProcessed: number;
+ status: 'running' | 'completed' | 'error';
+ lastError?: string;
+}
+
+// 동기화 진행 상태 저장
+const syncProgress = new Map<string, SyncProgress>();
+
+// 진행률 바 유틸리티
+const createProgressBar = (current: number, total: number, width: number = 20): string => {
+ const filled = Math.floor((current / total) * width);
+ const empty = width - filled;
+ const percentage = Math.round((current / total) * 100);
+
+ const bar = '█'.repeat(filled) + '░'.repeat(empty);
+ return `[ ${current.toString().padStart(3)} / ${total.toString().padEnd(3)} | ${bar} | ${percentage.toString().padStart(3)}% ]`;
+};
+
+// 같은 줄에서 업데이트되는 진행률 바 출력
+const updateProgressBar = (message: string, current: number, total: number): void => {
+ const progressBar = createProgressBar(current, total);
+ const fullMessage = `[NONSAP-SYNC] ${message} ${progressBar}`;
+
+ // 이전 줄을 지우고 새로운 진행률 출력
+ process.stdout.write('\r' + ' '.repeat(100) + '\r'); // 줄 지우기
+ process.stdout.write(fullMessage);
+
+ // 완료되면 줄바꿈
+ if (current >= total) {
+ process.stdout.write('\n');
+ }
+};
+
+// 간단한 로거
+const logger = {
+ info: (message: string, ...args: unknown[]) => console.log(`[NONSAP-SYNC INFO] ${message}`, ...args),
+ error: (message: string, ...args: unknown[]) => console.error(`[NONSAP-SYNC ERROR] ${message}`, ...args),
+ warn: (message: string, ...args: unknown[]) => console.warn(`[NONSAP-SYNC WARN] ${message}`, ...args),
+ success: (message: string, ...args: unknown[]) => console.log(`[NONSAP-SYNC SUCCESS] ${message}`, ...args),
+ header: (message: string) => {
+ console.log('\n' + '='.repeat(80));
+ console.log(`[NONSAP-SYNC] ${message}`);
+ console.log('='.repeat(80) + '\n');
+ },
+ progress: updateProgressBar
+};
+
+/**
+ * Oracle DB에서 특정 테이블의 데이터를 페이지 단위로 조회
+ */
+async function fetchOracleData<T extends TableName>(
+ tableName: T,
+ page: number,
+ pageSize: number = PAGE_SIZE
+): Promise<DatabaseSchema[T][]> {
+ const offset = (page - 1) * pageSize;
+
+ try {
+ // Oracle에서는 ROWID나 다른 고유 컬럼으로 정렬해야 함
+ const query = oracleKnex(tableName)
+ .select('*')
+ .orderBy('ROWID') // Oracle ROWID로 정렬 (또는 적절한 기본키)
+ .offset(offset)
+ .limit(pageSize);
+
+ const results = await query;
+ logger.info(`Fetched ${results.length} records from ${tableName} (page ${page})`);
+
+ return results as DatabaseSchema[T][];
+ } catch (error) {
+ logger.error(`Error fetching data from ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * PostgreSQL에 데이터 upsert
+ */
+async function upsertToPostgres<T extends TableName>(
+ tableName: T,
+ data: DatabaseSchema[T][],
+ pageInfo?: { current: number; total: number }
+): Promise<void> {
+ if (data.length === 0) return;
+
+ try {
+ // 테이블명을 camelCase로 변환하여 스키마에서 찾기
+ const tableCamelCase = tableName.toLowerCase()
+ .split('_')
+ .map((word, index) => index === 0 ? word : word.charAt(0).toUpperCase() + word.slice(1))
+ .join('');
+
+ const tableSchema = (nonsapSchema as any)[tableCamelCase];
+
+ if (!tableSchema) {
+ throw new Error(`Table schema not found for ${tableName} (${tableCamelCase})`);
+ }
+
+ const totalBatches = Math.ceil(data.length / BATCH_SIZE);
+
+ // 배치 단위로 upsert 처리
+ for (let i = 0; i < data.length; i += BATCH_SIZE) {
+ const batch = data.slice(i, i + BATCH_SIZE);
+ const currentBatch = Math.floor(i / BATCH_SIZE) + 1;
+
+ // 배치 진행률 표시
+ const batchMessage = `${tableName} - Batch Processing`;
+ logger.progress(batchMessage, currentBatch, totalBatches);
+
+ try {
+ // PostgreSQL에 삽입 시도
+ await db.insert(tableSchema as any).values(batch);
+ } catch (insertError: unknown) {
+ // 중복키 에러인지 확인
+ const isDuplicateKeyError = insertError &&
+ typeof insertError === 'object' &&
+ 'code' in insertError &&
+ insertError.code === '23505';
+
+ // Production 환경에서는 중복키 에러 로그 생략
+ if (!isDuplicateKeyError) {
+ logger.warn(`Batch insert failed for ${tableName}, trying individual upserts`, insertError);
+ }
+
+ // 삽입 실패 시 개별 레코드 upsert 시도
+ for (const record of batch) {
+ try {
+ await db.insert(tableSchema as any)
+ .values(record)
+ .onConflictDoNothing(); // 중복 시 무시하거나 업데이트
+ } catch (upsertError) {
+ // 중복키 에러인지 확인
+ const isDuplicateKeyError = upsertError &&
+ typeof upsertError === 'object' &&
+ 'code' in upsertError &&
+ upsertError.code === '23505';
+
+ // Production 환경에서는 중복키 에러 로그 생략
+ if (!isDuplicateKeyError) {
+ logger.error(`Failed to upsert record in ${tableName}:`, upsertError);
+ }
+ // 개별 레코드 실패는 로그만 남기고 계속 진행
+ }
+ }
+ }
+
+ // 잠시 대기 (시스템 부하 방지)
+ if (currentBatch % 10 === 0) {
+ await new Promise(resolve => setTimeout(resolve, 100));
+ }
+ }
+
+ logger.success(`Successfully processed ${data.length} records for ${tableName}`);
+ } catch (error) {
+ logger.error(`Error upserting data to ${tableName}:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 특정 테이블 동기화
+ */
+async function syncTable<T extends TableName>(
+ tableName: T,
+ tableIndex: number,
+ totalTables: number
+): Promise<void> {
+ logger.info(`Starting sync for table: ${tableName} (${tableIndex}/${totalTables})`);
+
+ // 동기화 진행 상태 초기화
+ syncProgress.set(tableName, {
+ tableName,
+ lastSyncDate: new Date().toISOString(),
+ currentPage: 1,
+ totalProcessed: 0,
+ status: 'running'
+ });
+
+ try {
+ let page = 1;
+ let totalProcessed = 0;
+ let hasMore = true;
+ let estimatedTotalPages = 1; // 추정 총 페이지 수
+
+ while (hasMore) {
+ // Oracle에서 데이터 조회
+ const oracleData = await fetchOracleData(tableName, page);
+
+ if (oracleData.length === 0) {
+ hasMore = false;
+ break;
+ }
+
+ // 첫 페이지에서 대략적인 총 페이지 수 추정
+ if (page === 1 && oracleData.length === PAGE_SIZE) {
+ // 첫 페이지가 가득 찼다면 더 많은 페이지가 있을 것으로 추정
+ estimatedTotalPages = Math.max(10, page * 2); // 최소 10페이지로 추정
+ }
+
+ // 페이지 진행률 표시
+ const pageMessage = `${tableName} - Page Processing`;
+ const displayTotalPages = hasMore ? Math.max(estimatedTotalPages, page + 1) : page;
+ logger.progress(pageMessage, page, displayTotalPages);
+
+ // PostgreSQL에 upsert (페이지 정보 전달)
+ await upsertToPostgres(tableName, oracleData, { current: page, total: displayTotalPages });
+
+ totalProcessed += oracleData.length;
+
+ // 진행 상태 업데이트
+ const progress = syncProgress.get(tableName)!;
+ progress.currentPage = page;
+ progress.totalProcessed = totalProcessed;
+
+ // 다음 페이지로
+ page++;
+
+ // 페이지 크기보다 적으면 마지막 페이지
+ if (oracleData.length < PAGE_SIZE) {
+ hasMore = false;
+ // 마지막 페이지 진행률 업데이트
+ logger.progress(pageMessage, page - 1, page - 1);
+ } else {
+ // 추정 페이지 수 업데이트
+ estimatedTotalPages = Math.max(estimatedTotalPages, page + 5);
+ }
+ }
+
+ // 동기화 완료
+ const progress = syncProgress.get(tableName)!;
+ progress.status = 'completed';
+
+ logger.success(`Table ${tableName} sync completed. Total processed: ${totalProcessed}`);
+
+ } catch (error) {
+ const progress = syncProgress.get(tableName)!;
+ progress.status = 'error';
+ progress.lastError = error instanceof Error ? error.message : String(error);
+
+ logger.error(`Table ${tableName} sync failed:`, error);
+ throw error;
+ }
+}
+
+/**
+ * 모든 테이블 동기화
+ */
+async function syncAllTables(): Promise<void> {
+ logger.header('Starting NONSAP Data Synchronization');
+
+ const startTime = Date.now();
+ let successCount = 0;
+ let errorCount = 0;
+ const totalTables = SYNC_TABLES.length;
+
+ // 전체 테이블 진행률 표시
+ logger.info(`Total tables to sync: ${totalTables}`);
+
+ // oracle-schema.ts에서 테이블 목록 가져오기
+ for (let i = 0; i < SYNC_TABLES.length; i++) {
+ const tableName = SYNC_TABLES[i];
+ const tableIndex = i + 1;
+
+ // 전체 테이블 진행률 표시
+ const overallMessage = `Overall Progress`;
+ logger.progress(overallMessage, tableIndex - 1, totalTables);
+
+ try {
+ await syncTable(tableName, tableIndex, totalTables);
+ successCount++;
+ } catch (error) {
+ errorCount++;
+ logger.error(`Failed to sync table ${tableName}:`, error);
+ // 에러가 발생해도 다른 테이블은 계속 동기화
+ continue;
+ }
+ }
+
+ // 최종 진행률 표시
+ const overallMessage = `Overall Progress`;
+ logger.progress(overallMessage, totalTables, totalTables);
+
+ const duration = Date.now() - startTime;
+ logger.info(`Sync completed in ${(duration / 1000).toFixed(2)}s`);
+ logger.info(`Success: ${successCount}, Errors: ${errorCount}`);
+ logger.info(`Total tables processed: ${totalTables}`);
+
+ if (errorCount > 0) {
+ logger.warn(`${errorCount} tables had errors during sync`);
+ }
+
+ if (successCount === totalTables) {
+ logger.success('🎉 All tables synchronized successfully!');
+ }
+}
+
+/**
+ * 동기화 상태 조회 API
+ */
+export async function getSyncProgress(): Promise<SyncProgress[]> {
+ return Array.from(syncProgress.values());
+}
+
+/**
+ * 수동 동기화 트리거
+ */
+export async function triggerManualSync(): Promise<void> {
+ logger.info('Manual sync triggered');
+ await syncAllTables();
+}
+
+/**
+ * Oracle DB 연결 테스트
+ */
+async function testOracleConnection(): Promise<boolean> {
+ try {
+ const result = await oracleKnex.raw('SELECT 1 FROM DUAL');
+ return !!result;
+ } catch (error) {
+ logger.error('Oracle DB connection test failed:', error);
+ return false;
+ }
+}
+
+/**
+ * 동기화 스케줄러 시작
+ */
+export async function startNonsapSyncScheduler(): Promise<void> {
+ logger.info('Initializing NONSAP data synchronization scheduler...');
+
+ // Oracle DB 연결 테스트 (비동기)
+ testOracleConnection().then(isConnected => {
+ if (!isConnected) {
+ logger.warn('Oracle DB connection failed - sync scheduler will be disabled');
+ logger.warn('Application will continue to run normally');
+ return;
+ }
+ logger.success('Oracle DB connection test passed');
+ }).catch(error => {
+ logger.error('Oracle DB connection test error:', error);
+ logger.warn('Sync scheduler will be disabled, application continues');
+ });
+
+ try {
+ // 매 시간마다 실행 (0분에)
+ cron.schedule('0 * * * *', async () => {
+ try {
+ logger.info('Cron job triggered: Starting scheduled sync');
+
+ // 동기화 전 Oracle 연결 확인
+ const isConnected = await testOracleConnection();
+ if (!isConnected) {
+ logger.warn('Oracle DB not available, skipping sync');
+ return;
+ }
+
+ await syncAllTables();
+ } catch (error) {
+ logger.error('Scheduled sync failed:', error);
+ // 동기화 실패해도 다음 스케줄은 계속 실행
+ }
+ }, {
+ timezone: 'Asia/Seoul'
+ });
+
+ logger.success(`NONSAP data synchronization cron job registered (every hour) for ${SYNC_TABLES.length} tables`);
+
+ // 개발 환경에서는 스케줄러만 등록하고 실제 실행은 안 함
+ if (process.env.NODE_ENV === 'development') {
+ logger.info('Development mode: Cron registered but initial sync skipped');
+ return;
+ }
+
+ // 애플리케이션 시작 시 한 번 실행 (선택사항)
+ if (process.env.SYNC_ON_START === 'true') {
+ logger.info('Initial sync on startup enabled');
+ setTimeout(async () => {
+ try {
+ const isConnected = await testOracleConnection();
+ if (isConnected) {
+ await syncAllTables();
+ } else {
+ logger.warn('Initial sync skipped - Oracle DB not available');
+ }
+ } catch (error) {
+ logger.error('Initial sync failed:', error);
+ }
+ }, 10000); // 10초 후 실행 (DB 연결 안정화 대기)
+ }
+
+ } catch (error) {
+ logger.error('Failed to set up cron scheduler:', error);
+ logger.warn('Application will continue without sync scheduler');
+ }
+} \ No newline at end of file
diff --git a/lib/nonsap-sync/table-config.ts b/lib/nonsap-sync/table-config.ts
new file mode 100644
index 00000000..85744b44
--- /dev/null
+++ b/lib/nonsap-sync/table-config.ts
@@ -0,0 +1,352 @@
+import { TableName } from '@/lib/oracle-db/nonsap/oracle-schema';
+
+export interface TableSyncConfig {
+ /** 차분 동기화에 사용할 타임스탬프 컬럼 (우선순위 순) */
+ timestampColumns: string[];
+ /** 기본키 컬럼들 */
+ primaryKeys: string[];
+ /** 정렬에 사용할 컬럼 (차분 동기화용) */
+ orderByColumns: string[];
+ /** 인덱스가 있는 컬럼인지 여부 */
+ hasTimestampIndex: boolean;
+ /** 예상 변경 빈도 (high/medium/low) */
+ changeFrequency: 'high' | 'medium' | 'low';
+}
+
+// 테이블별 동기화 설정
+export const TABLE_SYNC_CONFIG: Record<TableName, TableSyncConfig> = {
+ // 자재 관련 테이블 (변경 빈도 높음)
+ 'CMCTB_MAT_BSE': {
+ timestampColumns: ['FIN_CHG_DTM', 'FS_INP_DTM', 'IF_DT'],
+ primaryKeys: ['MAT_NO'],
+ orderByColumns: ['FIN_CHG_DTM', 'MAT_NO'],
+ hasTimestampIndex: true,
+ changeFrequency: 'high'
+ },
+ 'CMCTB_MAT_PLNT': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['MAT_NO', 'PLNT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'MAT_NO'],
+ hasTimestampIndex: true,
+ changeFrequency: 'high'
+ },
+
+ // Customer 관련 테이블 (변경 빈도 중간)
+ 'CMCTB_CUSTOMER_GENERAL': {
+ timestampColumns: ['IF_DT', 'CHG_DT'],
+ primaryKeys: ['CSTM_CD'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_ADDR': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'ADR_NO', 'INTL_ADR_VER_ID'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+
+ // 코드 관련 테이블 (변경 빈도 낮음) - 기본값으로 설정
+ 'CMCTB_CD': {
+ timestampColumns: ['CHG_DT', 'CRTE_DT'],
+ primaryKeys: [], // PostgreSQL 스키마에 기본키 미정의
+ orderByColumns: ['CHG_DT', 'CHG_TM', 'CD_CLF'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_CDNM': {
+ timestampColumns: ['CHG_DT', 'CHG_TM', 'CRTE_DT', 'CRTE_TM'],
+ primaryKeys: [], // PostgreSQL 스키마에 기본키 미정의
+ orderByColumns: ['CHG_DT', 'CHG_TM', 'LANG_KEY', 'CD_CLF'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_CD_CLF': {
+ timestampColumns: ['XDATS', 'XTIMS', 'CHG_DT', 'CHG_TM'],
+ primaryKeys: [], // PostgreSQL 스키마에 기본키 미정의
+ orderByColumns: ['XDATS', 'XTIMS', 'CD_CLF'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_CD_CLF_NM': {
+ timestampColumns: ['CHG_DT', 'CHG_TM', 'CRTE_DT', 'CRTE_TM'],
+ primaryKeys: [], // PostgreSQL 스키마에 기본키 미정의
+ orderByColumns: ['CHG_DT', 'CHG_TM', 'LANG_KEY', 'CD_CLF'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+
+ // Customer 관련 테이블 (변경 빈도 중간)
+ 'CMCTB_CUSTOMER_CFPN': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'SALE_ORG_CD', 'DIST_PATH', 'PDT_GRP', 'PTNR_SKL', 'PTNR_CNT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_COMPNY': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'CO_ID'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_REPREMAIL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'ADR_NO', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_REPRFAX': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'ADR_NO', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_REPRTEL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'ADR_NO', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_REPRURL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'ADR_NO', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_SORG': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'SALE_ORG_CD', 'DIST_PATH', 'PDT_GRP'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_TAXCD': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'DPRT_NTN', 'TX_CTG'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_CUSTOMER_TAXNUM': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['CSTM_CD', 'TX_NO_CTG'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'CSTM_CD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+
+ // 자재 관련 테이블 (변경 빈도 높음)
+ 'CMCTB_MAT_CLAS': {
+ timestampColumns: ['CHG_DT'],
+ primaryKeys: ['CLAS_CD'],
+ orderByColumns: ['CHG_DT', 'CLAS_CD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_MAT_CLAS_SPCHAR': {
+ timestampColumns: ['CHG_DT'],
+ primaryKeys: ['CLAS_CD', 'SPCHAR_CD'],
+ orderByColumns: ['CHG_DT', 'CLAS_CD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_MAT_DSC': {
+ timestampColumns: [], // 시간 컬럼 없음
+ primaryKeys: ['MAT_NO', 'LANG_KEY'],
+ orderByColumns: ['MAT_NO', 'LANG_KEY'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_MAT_SPCHAR': {
+ timestampColumns: [], // 시간 컬럼 없음
+ primaryKeys: ['MAT_NO', 'SPCHAR_CD'],
+ orderByColumns: ['MAT_NO', 'SPCHAR_CD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_MAT_SPCHAR_MAST': {
+ timestampColumns: ['CHG_DT'],
+ primaryKeys: ['SPCHAR_CD'],
+ orderByColumns: ['CHG_DT', 'SPCHAR_CD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_MAT_SPCHAR_VAL': {
+ timestampColumns: ['CHG_DT'],
+ primaryKeys: ['SPCHAR_CD', 'SPCHAR_VAL_CD'],
+ orderByColumns: ['CHG_DT', 'SPCHAR_CD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+ 'CMCTB_MAT_UOM': {
+ timestampColumns: [], // 시간 컬럼 없음
+ primaryKeys: ['MAT_NO', 'SBST_UOM'],
+ orderByColumns: ['MAT_NO', 'SBST_UOM'],
+ hasTimestampIndex: false,
+ changeFrequency: 'low'
+ },
+
+ // 프로젝트 관련 테이블
+ 'CMCTB_PROJ_BIZCLS': {
+ timestampColumns: [], // 시간 컬럼 없음
+ primaryKeys: ['PROJ_NO', 'TYPE'],
+ orderByColumns: ['PROJ_NO', 'TYPE'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_PROJ_MAST': {
+ timestampColumns: ['XDATS', 'XTIMS'],
+ primaryKeys: ['PROJ_NO'],
+ orderByColumns: ['XDATS', 'XTIMS', 'PROJ_NO'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_PROJ_WBS': {
+ timestampColumns: ['XDATS', 'XTIMS'],
+ primaryKeys: ['PROJ_NO', 'WBS_ELMT'],
+ orderByColumns: ['XDATS', 'XTIMS', 'PROJ_NO'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+
+ // Vendor 관련 테이블
+ 'CMCTB_VENDOR_ADDR': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'INTL_ADR_VER_ID'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_COMPNY': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'CO_CD'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_GENERAL': {
+ timestampColumns: ['IF_DT', 'IF_TM', 'CHG_DT', 'CHG_TM'],
+ primaryKeys: ['VNDRCD'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_GRP': {
+ timestampColumns: ['CHG_DT', 'CHG_TM', 'CRTE_DT', 'CRTE_TM'],
+ primaryKeys: ['VNDRCD', 'BIZ_GRP_CD'],
+ orderByColumns: ['CHG_DT', 'CHG_TM', 'VNDRCD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_INCO': {
+ timestampColumns: ['CHG_DT', 'CHG_TM', 'CRTE_DT', 'CRTE_TM'],
+ primaryKeys: ['VNDRCD'],
+ orderByColumns: ['CHG_DT', 'CHG_TM', 'VNDRCD'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_PORG': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'PUR_ORG_CD'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_REPREMAIL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_REPRFAX': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_REPRTEL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_REPRURL': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'REPR_SER', 'VLD_ST_DT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_TAXNUM': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'TX_NO_CTG'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_VFPN': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'PUR_ORG_CD', 'VNDR_SUB_NO', 'PLNT_CD', 'PTNR_SKL', 'PTNR_CNT'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+ 'CMCTB_VENDOR_WHTHX': {
+ timestampColumns: ['IF_DT', 'IF_TM'],
+ primaryKeys: ['VNDRCD', 'CO_CD', 'SRCE_TX_TP'],
+ orderByColumns: ['IF_DT', 'IF_TM', 'VNDRCD'],
+ hasTimestampIndex: true,
+ changeFrequency: 'medium'
+ },
+
+ // 견적 관련 테이블
+ 'PLFTB_ESTM_PROJ_MAST': {
+ timestampColumns: ['FIN_CHG_DTM', 'FS_INP_DTM', 'ESTM_AOM_STAT_CHG_DTM'],
+ primaryKeys: ['ESTM_PROJ_NO'],
+ orderByColumns: ['FIN_CHG_DTM', 'ESTM_PROJ_NO'],
+ hasTimestampIndex: true,
+ changeFrequency: 'high'
+ }
+};
+
+// 기본 설정 (설정되지 않은 테이블용)
+const DEFAULT_CONFIG: TableSyncConfig = {
+ timestampColumns: ['CHG_DT', 'IF_DT', 'CRTE_DT'],
+ primaryKeys: [], // 기본키 없음 - onConflictDoNothing 사용
+ orderByColumns: ['CHG_DT'],
+ hasTimestampIndex: false,
+ changeFrequency: 'medium'
+};
+
+/**
+ * 테이블의 동기화 설정 가져오기
+ */
+export function getTableSyncConfig(tableName: TableName): TableSyncConfig {
+ return TABLE_SYNC_CONFIG[tableName] || DEFAULT_CONFIG;
+}
+
+/**
+ * 차분 동기화가 가능한 테이블인지 확인
+ */
+export function canUseDeltaSync(tableName: TableName): boolean {
+ const config = getTableSyncConfig(tableName);
+ return config.timestampColumns.length > 0 && config.timestampColumns[0] !== 'ROWID';
+}
+
+/**
+ * 테이블의 최적 타임스탬프 컬럼 가져오기
+ */
+export function getTimestampColumn(tableName: TableName): string | null {
+ const config = getTableSyncConfig(tableName);
+ return config.timestampColumns.length > 0 ? config.timestampColumns[0] : null;
+} \ No newline at end of file
diff --git a/lib/oracle-db/check.ts b/lib/oracle-db/check.ts
new file mode 100644
index 00000000..0b26bef4
--- /dev/null
+++ b/lib/oracle-db/check.ts
@@ -0,0 +1,39 @@
+// 연결을 테스트하는 함수
+import { getOracleConnection, oracleKnex } from './db';
+
+export async function testOracleConnection() {
+ try {
+ const connection = await getOracleConnection();
+ const result = await connection.execute('SELECT 1 FROM DUAL');
+ await connection.close();
+ return {
+ success: true,
+ message: 'Oracle DB 연결 성공',
+ data: result.rows
+ };
+ } catch (error: unknown) {
+ return {
+ success: false,
+ message: 'Oracle DB 연결 실패',
+ error: error instanceof Error ? error.message : '알 수 없는 오류'
+ };
+ }
+ }
+
+ // Knex를 사용하여 Oracle 연결 테스트
+ export async function testKnexOracleConnection() {
+ try {
+ const result = await oracleKnex.raw('SELECT 1 FROM DUAL');
+ return {
+ success: true,
+ message: 'Knex Oracle DB 연결 성공',
+ data: result
+ };
+ } catch (error: unknown) {
+ return {
+ success: false,
+ message: 'Knex Oracle DB 연결 실패',
+ error: error instanceof Error ? error.message : '알 수 없는 오류'
+ };
+ }
+ } \ No newline at end of file
diff --git a/lib/oracle-db/db.ts b/lib/oracle-db/db.ts
index 62321df0..211fd04b 100644
--- a/lib/oracle-db/db.ts
+++ b/lib/oracle-db/db.ts
@@ -1,3 +1,5 @@
+"use server";
+
import knex from 'knex';
// import oracledb from 'oracledb';
// eslint-disable-next-line @typescript-eslint/no-require-imports
@@ -30,40 +32,3 @@ export async function getOracleConnection() {
}
}
-// 연결을 테스트하는 함수
-export async function testOracleConnection() {
- try {
- const connection = await getOracleConnection();
- const result = await connection.execute('SELECT 1 FROM DUAL');
- await connection.close();
- return {
- success: true,
- message: 'Oracle DB 연결 성공',
- data: result.rows
- };
- } catch (error: unknown) {
- return {
- success: false,
- message: 'Oracle DB 연결 실패',
- error: error instanceof Error ? error.message : '알 수 없는 오류'
- };
- }
-}
-
-// Knex를 사용하여 Oracle 연결 테스트
-export async function testKnexOracleConnection() {
- try {
- const result = await oracleKnex.raw('SELECT 1 FROM DUAL');
- return {
- success: true,
- message: 'Knex Oracle DB 연결 성공',
- data: result
- };
- } catch (error: unknown) {
- return {
- success: false,
- message: 'Knex Oracle DB 연결 실패',
- error: error instanceof Error ? error.message : '알 수 없는 오류'
- };
- }
-} \ No newline at end of file
diff --git a/lib/oracle-db/nonsap/1.table-and-columns-info.csv b/lib/oracle-db/nonsap/1.table-and-columns-info.csv
new file mode 100644
index 00000000..c391c4ef
--- /dev/null
+++ b/lib/oracle-db/nonsap/1.table-and-columns-info.csv
@@ -0,0 +1,922 @@
+OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLE,TABLE_COMMENTS,COLUMN_COMMENTS,CONSTRAINTS
+SHI1,CMCTB_CD,CD_CLF,VARCHAR2,10,N,코드,코드분류,"CHECK, PK"
+SHI1,CMCTB_CD,CD,VARCHAR2,10,N,코드,코드,"CHECK, PK"
+SHI1,CMCTB_CD,CD2,VARCHAR2,10,N,코드,코드2,"CHECK, PK"
+SHI1,CMCTB_CD,CD3,VARCHAR2,10,N,코드,코드3,"CHECK, PK"
+SHI1,CMCTB_CD,USR_DF_CHAR_1,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_2,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_3,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_4,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_5,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_6,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_7,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_8,VARCHAR2,60,Y,코드,사용자정의문자열10,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_9,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_10,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_11,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_12,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_13,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_14,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_15,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_16,VARCHAR2,60,Y,코드,사용자정의문자열20,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_17,VARCHAR2,120,Y,코드,사용자정의문자열40,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_18,VARCHAR2,120,Y,코드,사용자정의문자열40,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_19,VARCHAR2,765,Y,코드,사용자정의문자열255,NULL
+SHI1,CMCTB_CD,USR_DF_CHAR_20,VARCHAR2,765,Y,코드,사용자정의문자열255,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_1,VARCHAR2,1,Y,코드,사용자정의체크1,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_2,VARCHAR2,1,Y,코드,사용자정의체크2,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_3,VARCHAR2,1,Y,코드,사용자정의체크3,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_4,VARCHAR2,1,Y,코드,사용자정의체크4,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_5,VARCHAR2,1,Y,코드,사용자정의체크5,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_6,VARCHAR2,1,Y,코드,사용자정의체크6,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_7,VARCHAR2,1,Y,코드,사용자정의체크7,NULL
+SHI1,CMCTB_CD,USR_DF_CHK_8,VARCHAR2,1,Y,코드,사용자정의체크8,NULL
+SHI1,CMCTB_CD,USR_DF_DT_1,VARCHAR2,8,Y,코드,사용자정의일자1,NULL
+SHI1,CMCTB_CD,USR_DF_DT_2,VARCHAR2,8,Y,코드,사용자정의일자2,NULL
+SHI1,CMCTB_CD,USR_DF_DT_3,VARCHAR2,8,Y,코드,사용자정의일자3,NULL
+SHI1,CMCTB_CD,USR_DF_DT_4,VARCHAR2,8,Y,코드,사용자정의일자4,NULL
+SHI1,CMCTB_CD,USR_DF_TM_1,VARCHAR2,6,Y,코드,사용자정의시간1,NULL
+SHI1,CMCTB_CD,USR_DF_TM_2,VARCHAR2,6,Y,코드,사용자정의시간2,NULL
+SHI1,CMCTB_CD,USR_DF_TM_3,VARCHAR2,6,Y,코드,사용자정의시간3,NULL
+SHI1,CMCTB_CD,USR_DF_TM_4,VARCHAR2,6,Y,코드,사용자정의시간4,NULL
+SHI1,CMCTB_CD,CRTER,VARCHAR2,13,Y,코드,생성자,NULL
+SHI1,CMCTB_CD,CRTE_DT,VARCHAR2,8,Y,코드,생성일자,NULL
+SHI1,CMCTB_CD,CRTE_TM,VARCHAR2,6,Y,코드,생성시간,NULL
+SHI1,CMCTB_CD,CHGR,VARCHAR2,13,Y,코드,수정자,NULL
+SHI1,CMCTB_CD,CHG_DT,VARCHAR2,8,Y,코드,수정일자,NULL
+SHI1,CMCTB_CD,CHG_TM,VARCHAR2,6,Y,코드,수정시간,NULL
+SHI1,CMCTB_CD,DEL_YN,VARCHAR2,1,Y,코드,삭제여부,NULL
+SHI1,CMCTB_CDNM,LANG_KEY,VARCHAR2,1,N,코드내역,언어키,"CHECK, PK"
+SHI1,CMCTB_CDNM,CD_CLF,VARCHAR2,10,N,코드내역,코드분류,"CHECK, PK"
+SHI1,CMCTB_CDNM,CD,VARCHAR2,10,N,코드내역,코드,"CHECK, PK"
+SHI1,CMCTB_CDNM,CD2,VARCHAR2,10,N,코드내역,코드2,"CHECK, PK"
+SHI1,CMCTB_CDNM,CD3,VARCHAR2,10,N,코드내역,코드3,"CHECK, PK"
+SHI1,CMCTB_CDNM,CDNM,VARCHAR2,120,Y,코드내역,코드명,NULL
+SHI1,CMCTB_CDNM,GRP_DSC,VARCHAR2,500,Y,코드내역,그룹설명,NULL
+SHI1,CMCTB_CDNM,CRTER,VARCHAR2,13,Y,코드내역,생성자,NULL
+SHI1,CMCTB_CDNM,CRTE_DT,VARCHAR2,8,Y,코드내역,생성일자,NULL
+SHI1,CMCTB_CDNM,CRTE_TM,VARCHAR2,6,Y,코드내역,생성시간,NULL
+SHI1,CMCTB_CDNM,CHGR,VARCHAR2,13,Y,코드내역,수정자,NULL
+SHI1,CMCTB_CDNM,CHG_DT,VARCHAR2,8,Y,코드내역,수정일자,NULL
+SHI1,CMCTB_CDNM,CHG_TM,VARCHAR2,6,Y,코드내역,수정시간,NULL
+SHI1,CMCTB_CDNM,DEL_YN,VARCHAR2,1,Y,코드내역,삭제여부,NULL
+SHI1,CMCTB_CD_CLF,CD_CLF,VARCHAR2,10,N,공통코드클래스,코드분류,"CHECK, PK"
+SHI1,CMCTB_CD_CLF,CRTER,VARCHAR2,13,Y,공통코드클래스,생성자,NULL
+SHI1,CMCTB_CD_CLF,CRTE_DT,VARCHAR2,8,Y,공통코드클래스,생성일자,NULL
+SHI1,CMCTB_CD_CLF,CRTE_TM,VARCHAR2,6,Y,공통코드클래스,생성시간,NULL
+SHI1,CMCTB_CD_CLF,CHGR,VARCHAR2,13,Y,공통코드클래스,수정자,NULL
+SHI1,CMCTB_CD_CLF,CHG_DT,VARCHAR2,8,Y,공통코드클래스,수정일자,NULL
+SHI1,CMCTB_CD_CLF,CHG_TM,VARCHAR2,6,Y,공통코드클래스,수정시간,NULL
+SHI1,CMCTB_CD_CLF,DEL_YN,VARCHAR2,1,Y,공통코드클래스,삭제여부,NULL
+SHI1,CMCTB_CD_CLF,XSTAT,VARCHAR2,1,Y,공통코드클래스,I/F 상태,NULL
+SHI1,CMCTB_CD_CLF,XMSGS,VARCHAR2,300,Y,공통코드클래스,I/F Message,NULL
+SHI1,CMCTB_CD_CLF,XDATS,VARCHAR2,8,Y,공통코드클래스,I/F 일자,NULL
+SHI1,CMCTB_CD_CLF,XTIMS,VARCHAR2,6,Y,공통코드클래스,I/F 시간,NULL
+SHI1,CMCTB_CD_CLF_NM,LANG_KEY,VARCHAR2,1,N,공통코드클래스,언어키,"CHECK, PK"
+SHI1,CMCTB_CD_CLF_NM,CD_CLF,VARCHAR2,10,N,공통코드클래스,코드분류,"CHECK, PK"
+SHI1,CMCTB_CD_CLF_NM,CD_CLF_NM,VARCHAR2,120,Y,공통코드클래스,코드분류명,NULL
+SHI1,CMCTB_CD_CLF_NM,GRP_DSC,VARCHAR2,120,Y,공통코드클래스,그룹설명,NULL
+SHI1,CMCTB_CD_CLF_NM,CRTER,VARCHAR2,13,Y,공통코드클래스,생성자,NULL
+SHI1,CMCTB_CD_CLF_NM,CRTE_DT,VARCHAR2,8,Y,공통코드클래스,생성일자,NULL
+SHI1,CMCTB_CD_CLF_NM,CRTE_TM,VARCHAR2,6,Y,공통코드클래스,생성시간,NULL
+SHI1,CMCTB_CD_CLF_NM,CHGR,VARCHAR2,13,Y,공통코드클래스,수정자,NULL
+SHI1,CMCTB_CD_CLF_NM,CHG_DT,VARCHAR2,8,Y,공통코드클래스,수정일자,NULL
+SHI1,CMCTB_CD_CLF_NM,CHG_TM,VARCHAR2,6,Y,공통코드클래스,수정시간,NULL
+SHI1,CMCTB_CD_CLF_NM,DEL_YN,VARCHAR2,1,Y,공통코드클래스,삭제여부,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(주소),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(주소),주소번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_ADDR,INTL_ADR_VER_ID,VARCHAR2,1,N,CUSTOMER 마스터(주소),국제주소버전ID,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_ADDR,NTN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(주소),국가코드,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,CITY_ZIP_NO,VARCHAR2,10,Y,CUSTOMER 마스터(주소),도시우편번호,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,POBX_ZIP_NO,VARCHAR2,10,Y,CUSTOMER 마스터(주소),사서함우편번호,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_1,VARCHAR2,120,Y,CUSTOMER 마스터(주소),주소1,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_2,VARCHAR2,120,Y,CUSTOMER 마스터(주소),주소2,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,REGN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(주소),지역코드,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,ETC_ADR_1,VARCHAR2,180,Y,CUSTOMER 마스터(주소),기타주소1,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,ETC_ADR_2,VARCHAR2,30,Y,CUSTOMER 마스터(주소),기타주소2,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,HOUSE_NR1,VARCHAR2,10,Y,CUSTOMER 마스터(주소),House Number,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,POBX,VARCHAR2,30,Y,CUSTOMER 마스터(주소),사서함,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,LANG_KEY,VARCHAR2,1,Y,CUSTOMER 마스터(주소),언어키,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,VNDRNM_1,VARCHAR2,120,Y,CUSTOMER 마스터(주소),업체명1,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,VNDRNM_2,VARCHAR2,120,Y,CUSTOMER 마스터(주소),업체명2,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(주소),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(주소),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(주소),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(주소),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_ADDR,TRANS_ZONE,VARCHAR2,10,Y,CUSTOMER 마스터(주소),운송구역,NULL
+SHI1,CMCTB_CUSTOMER_CFPN,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (파트너역할),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,SALE_ORG_CD,VARCHAR2,4,N,CUSTOMER 마스터 (파트너역할),영업조직코드,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,DIST_PATH,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),유통경로,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,PDT_GRP,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),제품군,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,PTNR_SKL,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),파트너기능,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,PTNR_CNT,VARCHAR2,3,N,CUSTOMER 마스터 (파트너역할),파트너카운터,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_CFPN,BSE_PTNR_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (파트너역할),기본파트너지시자,NULL
+SHI1,CMCTB_CUSTOMER_CFPN,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (파트너역할),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_CFPN,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (파트너역할),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_CFPN,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (파트너역할),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_CFPN,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (파트너역할),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (Company),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_COMPNY,CO_ID,VARCHAR2,4,N,CUSTOMER 마스터 (Company),법인ID,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_COMPNY,AR_ACNT_HDL_GB,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),AR계정처리구분,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,SRT_KEY,VARCHAR2,3,Y,CUSTOMER 마스터 (Company),정렬Key,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,AMT_RNE_GB,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),자금수지구분,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,VNDR_PAY_FRM,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),거래선 지불형태,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,BILL_PAY_COND_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (Company),대금지블조건코드,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,BILL_PAY_BLOC_CD,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),대금지불Block코드,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,PST_HOLD_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),전기보류지시자,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,DEL_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),삭제지시자,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (Company),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (Company),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (Company),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (일반 ),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_GENERAL,ADR_NO,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),주소번호,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,REPR_SER,VARCHAR2,3,Y,CUSTOMER 마스터 (일반 ),대표순번,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,ACNT_GRP,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),계정그룹,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,OVLAP_CAUS,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),중복사유,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_TP,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),고객타입,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,DEL_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),삭제지시자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,DEL_BLOCK,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),삭제블락,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,PST_HOLD_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),전기보류지시자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CO_ID,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),법인ID,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TTL,VARCHAR2,45,Y,CUSTOMER 마스터 (일반 ),타이틀,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,COND_GRP_1,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),조건 그룹 1,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_GRP_NM,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),고객 그룹 명,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,REPR_NM,VARCHAR2,30,Y,CUSTOMER 마스터 (일반 ),대표자명,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,BIZTP,VARCHAR2,90,Y,CUSTOMER 마스터 (일반 ),사업유형,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,BIZCON,VARCHAR2,90,Y,CUSTOMER 마스터 (일반 ),산업유형,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_2,VARCHAR2,11,Y,CUSTOMER 마스터 (일반 ),Tax Number 2,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_3,VARCHAR2,18,Y,CUSTOMER 마스터 (일반 ),Tax Number 3,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_4,VARCHAR2,18,Y,CUSTOMER 마스터 (일반 ),Tax Number 4,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_REG_NO,VARCHAR2,20,Y,CUSTOMER 마스터 (일반 ),세금 등록 번호,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,BA_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),BA코드,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,VNDRCD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),벤더코드,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,SRCH_COND_1,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),검색조건1,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,SRCH_COND_2,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),검색조건2,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CITY_DISP_NM,VARCHAR2,105,Y,CUSTOMER 마스터 (일반 ),도시 거리 명,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CRM_CD,VARCHAR2,20,Y,CUSTOMER 마스터 (일반 ),CRM Code,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,IN_FLAG,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),Inbound Flag,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,INDST_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),Industry,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_TP,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),세금 번호 타입,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,LANG_KEY,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),언어 키,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,REG_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),등록일자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,REG_DTM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),등록시간,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,REGR_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),등록자ID,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),승인일자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),승인시간,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_R_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),승인자ID,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CHG_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),변경일자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CHG_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),변경시간,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,CHGR_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),변경자ID,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTGT_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree GT코드,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTGT_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree GT Name,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTDT_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree DT 코드,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTDT_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree DT 이름,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTBU_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree BU 코드,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,FTBU_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree BU 이름,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (일반 ),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_REPREMAIL,CSTM_CD,VARCHAR2,10,N,CUSTOMER마스터(대표자 EMAIL),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPREMAIL,ADR_NO,VARCHAR2,10,N,CUSTOMER마스터(대표자 EMAIL),주소번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPREMAIL,REPR_SER,VARCHAR2,3,N,CUSTOMER마스터(대표자 EMAIL),대표자순번,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPREMAIL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER마스터(대표자 EMAIL),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPREMAIL,EMAIL_ADR,VARCHAR2,241,Y,CUSTOMER마스터(대표자 EMAIL),이메일주소,NULL
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_DT,VARCHAR2,8,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_TM,VARCHAR2,6,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_STAT,VARCHAR2,1,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_MSG,VARCHAR2,100,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,CSTM_CD,VARCHAR2,10,N,CUSTOMER마스터(대표자 팩스번호),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRFAX,ADR_NO,VARCHAR2,10,N,CUSTOMER마스터(대표자 팩스번호),주소번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRFAX,REPR_SER,VARCHAR2,3,N,CUSTOMER마스터(대표자 팩스번호),대표자순번,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRFAX,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER마스터(대표자 팩스번호),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRFAX,NTN_CD,VARCHAR2,3,Y,CUSTOMER마스터(대표자 팩스번호),국가코드,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,FAXNO,VARCHAR2,30,Y,CUSTOMER마스터(대표자 팩스번호),팩스번호,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,FAX_ETS_NO,VARCHAR2,10,Y,CUSTOMER마스터(대표자 팩스번호),팩스내선번호,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_DT,VARCHAR2,8,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_TM,VARCHAR2,6,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_STAT,VARCHAR2,1,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_MSG,VARCHAR2,100,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(대표자 전화번호),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRTEL,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(대표자 전화번호),주소번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRTEL,REPR_SER,VARCHAR2,3,N,CUSTOMER 마스터(대표자 전화번호),대표자순번,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRTEL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER 마스터(대표자 전화번호),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRTEL,NTN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(대표자 전화번호),국가코드,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,TELNO,VARCHAR2,30,Y,CUSTOMER 마스터(대표자 전화번호),전화번호,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,ETX_NO,VARCHAR2,10,Y,CUSTOMER 마스터(대표자 전화번호),내선번호,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,HP_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 전화번호),핸드폰지시자,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_REPRURL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(대표자 URL),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRURL,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(대표자 URL),주소번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRURL,REPR_SER,VARCHAR2,3,N,CUSTOMER 마스터(대표자 URL),대표자순번,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRURL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER 마스터(대표자 URL),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_REPRURL,URL,VARCHAR2,2048,Y,CUSTOMER 마스터(대표자 URL),URL,NULL
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(대표자 URL),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(대표자 URL),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 URL),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(대표자 URL),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(영업조직),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_SORG,SALE_ORG_CD,VARCHAR2,4,N,CUSTOMER 마스터(영업조직),영업조직코드,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_SORG,DIST_PATH,VARCHAR2,2,N,CUSTOMER 마스터(영업조직),유통경로,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_SORG,PDT_GRP,VARCHAR2,2,N,CUSTOMER 마스터(영업조직),제품군,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_SORG,SALE_REGN,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),판매지역,NULL
+SHI1,CMCTB_CUSTOMER_SORG,SALE_OFC,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),판매사무실,NULL
+SHI1,CMCTB_CUSTOMER_SORG,SALE_GRP,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),판매그룹,NULL
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_GRP,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),고객그룹,NULL
+SHI1,CMCTB_CUSTOMER_SORG,PSBL,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),확도,NULL
+SHI1,CMCTB_CUSTOMER_SORG,TRD_CUR,VARCHAR2,5,Y,CUSTOMER 마스터(영업조직),거래 통화,NULL
+SHI1,CMCTB_CUSTOMER_SORG,EXRAT_TP,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),환율유형,NULL
+SHI1,CMCTB_CUSTOMER_SORG,PRC_PRCS_DSC_CD,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),가격절차결정코드,NULL
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_STAT_GRP,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),고객통계그룹,NULL
+SHI1,CMCTB_CUSTOMER_SORG,SHIPMT_COND,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),선적조건,NULL
+SHI1,CMCTB_CUSTOMER_SORG,MAX_TRD_QTY,NUMBER,22,Y,CUSTOMER 마스터(영업조직),최대거래수량,NULL
+SHI1,CMCTB_CUSTOMER_SORG,DL_COND_1,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),인도조건1,NULL
+SHI1,CMCTB_CUSTOMER_SORG,DL_COND_2,VARCHAR2,84,Y,CUSTOMER 마스터(영업조직),인도조건2,NULL
+SHI1,CMCTB_CUSTOMER_SORG,SPLY_COND,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),지급조건,NULL
+SHI1,CMCTB_CUSTOMER_SORG,ACNT_ASGN_GRP,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),계정할당그룹,NULL
+SHI1,CMCTB_CUSTOMER_SORG,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(영업조직),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_SORG,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(영업조직),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_SORG,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_SORG,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(영업조직),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_TAXCD,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(세금정보),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_TAXCD,DPRT_NTN,VARCHAR2,3,N,CUSTOMER 마스터(세금정보),출발국가,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_TAXCD,TX_CTG,VARCHAR2,4,N,CUSTOMER 마스터(세금정보),세금번호범주,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_TAXCD,CSTM_TX_CLF,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),고객세금분류,NULL
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(세금정보),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(세금정보),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(세금정보),인터페이스메시지,NULL
+SHI1,CMCTB_CUSTOMER_TAXNUM,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(세금정보),내부고객번호,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_TAXNUM,TX_NO_CTG,VARCHAR2,4,N,CUSTOMER 마스터(세금정보),세금번호범주,"CHECK, PK"
+SHI1,CMCTB_CUSTOMER_TAXNUM,BIZ_PTNR_TX_NO,VARCHAR2,20,Y,CUSTOMER 마스터(세금정보),사업파트너세금번호,NULL
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(세금정보),인터페이스일자,NULL
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(세금정보),인터페이스시간,NULL
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),인터페이스상태,NULL
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(세금정보),인터페이스메시지,NULL
+SHI1,CMCTB_MAT_BSE,MAT_NO,VARCHAR2,18,N,자재마스터(기본),자재번호,"CHECK, PK"
+SHI1,CMCTB_MAT_BSE,SM_CD,VARCHAR2,18,Y,자재마스터(기본),SM코드,NULL
+SHI1,CMCTB_MAT_BSE,MAT_ID,VARCHAR2,50,Y,자재마스터(기본),자재ID,NULL
+SHI1,CMCTB_MAT_BSE,CLAS_CD,VARCHAR2,18,Y,자재마스터(기본),클래스코드,NULL
+SHI1,CMCTB_MAT_BSE,MAT_TP,VARCHAR2,4,Y,자재마스터(기본),자재유형,NULL
+SHI1,CMCTB_MAT_BSE,MAT_GB,VARCHAR2,1,Y,자재마스터(기본),자재구분,NULL
+SHI1,CMCTB_MAT_BSE,MAT_DTL,VARCHAR2,120,Y,자재마스터(기본),자재내역,NULL
+SHI1,CMCTB_MAT_BSE,MAT_DTL_SPEC,VARCHAR2,765,Y,자재마스터(기본),자재내역사양,NULL
+SHI1,CMCTB_MAT_BSE,MATL,VARCHAR2,50,Y,자재마스터(기본),재질,NULL
+SHI1,CMCTB_MAT_BSE,OLD_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),구자재번호,NULL
+SHI1,CMCTB_MAT_BSE,SBST_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),대체자재번호,NULL
+SHI1,CMCTB_MAT_BSE,UOM,VARCHAR2,3,Y,자재마스터(기본),단위,NULL
+SHI1,CMCTB_MAT_BSE,PDT_GRP,VARCHAR2,2,Y,자재마스터(기본),제품군,NULL
+SHI1,CMCTB_MAT_BSE,MRC,VARCHAR2,1,Y,자재마스터(기본),MRC,NULL
+SHI1,CMCTB_MAT_BSE,STOR_MAT_ORDR,VARCHAR2,1,Y,자재마스터(기본),저장자재지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_BSE,STYPE,VARCHAR2,2,Y,자재마스터(기본),강종,NULL
+SHI1,CMCTB_MAT_BSE,CLS,VARCHAR2,8,Y,자재마스터(기본),선급,NULL
+SHI1,CMCTB_MAT_BSE,WGT,NUMBER,22,Y,자재마스터(기본),중량,CHECK
+SHI1,CMCTB_MAT_BSE,NET_WGT,NUMBER,22,Y,자재마스터(기본),고유중량,CHECK
+SHI1,CMCTB_MAT_BSE,WGT_UOM,VARCHAR2,3,Y,자재마스터(기본),중량단위,NULL
+SHI1,CMCTB_MAT_BSE,LTH,NUMBER,22,Y,자재마스터(기본),길이,CHECK
+SHI1,CMCTB_MAT_BSE,LTH_2,NUMBER,22,Y,자재마스터(기본),길이2,CHECK
+SHI1,CMCTB_MAT_BSE,WTH,NUMBER,22,Y,자재마스터(기본),폭,CHECK
+SHI1,CMCTB_MAT_BSE,WTH_2,NUMBER,22,Y,자재마스터(기본),폭2,CHECK
+SHI1,CMCTB_MAT_BSE,THK,NUMBER,22,Y,자재마스터(기본),두께,CHECK
+SHI1,CMCTB_MAT_BSE,STD,VARCHAR2,70,Y,자재마스터(기본),규격,NULL
+SHI1,CMCTB_MAT_BSE,PROF_STD,VARCHAR2,30,Y,자재마스터(기본),형강규격,NULL
+SHI1,CMCTB_MAT_BSE,CBL_OUT_DIA,NUMBER,22,Y,자재마스터(기본),CABLE바깥지름,CHECK
+SHI1,CMCTB_MAT_BSE,LTRM_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),LTRM_MAT_YN,NULL
+SHI1,CMCTB_MAT_BSE,PNT_AREA,NUMBER,22,Y,자재마스터(기본),도장면적,CHECK
+SHI1,CMCTB_MAT_BSE,PNTIN_AREA,NUMBER,22,Y,자재마스터(기본),도장내부면적,CHECK
+SHI1,CMCTB_MAT_BSE,PNTIN_SPEC,VARCHAR2,5,Y,자재마스터(기본),도장내부사양,NULL
+SHI1,CMCTB_MAT_BSE,PNTOUT_AREA,NUMBER,22,Y,자재마스터(기본),도장외부면적,CHECK
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_1,VARCHAR2,5,Y,자재마스터(기본),도장외부사양1,NULL
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_2,VARCHAR2,5,Y,자재마스터(기본),도장외부사양2,NULL
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_3,VARCHAR2,5,Y,자재마스터(기본),도장외부사양3,NULL
+SHI1,CMCTB_MAT_BSE,RT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),RT검사사양,NULL
+SHI1,CMCTB_MAT_BSE,UT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),UT검사사양,NULL
+SHI1,CMCTB_MAT_BSE,MT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),MT검사사양,NULL
+SHI1,CMCTB_MAT_BSE,PT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),PT검사사양,NULL
+SHI1,CMCTB_MAT_BSE,MK_DWG_NO,VARCHAR2,50,Y,자재마스터(기본),제작도면번호,NULL
+SHI1,CMCTB_MAT_BSE,CUT_DWG_NO,VARCHAR2,120,Y,자재마스터(기본),가공도면번호,NULL
+SHI1,CMCTB_MAT_BSE,PIPE_SPL_NO,VARCHAR2,40,Y,자재마스터(기본),배관SPOOL번호,NULL
+SHI1,CMCTB_MAT_BSE,PIPE_LINE_NO,VARCHAR2,40,Y,자재마스터(기본),배관LINE번호,NULL
+SHI1,CMCTB_MAT_BSE,PIPE_CLAS,VARCHAR2,10,Y,자재마스터(기본),배관클래스,NULL
+SHI1,CMCTB_MAT_BSE,FLUID_KND,VARCHAR2,5,Y,자재마스터(기본),유체종류,NULL
+SHI1,CMCTB_MAT_BSE,REP_ITM_MATL,VARCHAR2,60,Y,자재마스터(기본),대표품명재질,NULL
+SHI1,CMCTB_MAT_BSE,REP_DIA,VARCHAR2,10,Y,자재마스터(기본),대표지름,NULL
+SHI1,CMCTB_MAT_BSE,REP_DIA_UOM,VARCHAR2,3,Y,자재마스터(기본),대표지름단위,NULL
+SHI1,CMCTB_MAT_BSE,REP_SCH,VARCHAR2,20,Y,자재마스터(기본),대표스케쥴,NULL
+SHI1,CMCTB_MAT_BSE,REP_DIA_LTH,NUMBER,22,Y,자재마스터(기본),대표지름길이,CHECK
+SHI1,CMCTB_MAT_BSE,DBLN_GB,VARCHAR2,1,Y,자재마스터(기본),직곡관구분,NULL
+SHI1,CMCTB_MAT_BSE,PIPE_GRD,VARCHAR2,1,Y,자재마스터(기본),배관등급,NULL
+SHI1,CMCTB_MAT_BSE,HTRET_YN,VARCHAR2,1,Y,자재마스터(기본),열처리유무,NULL
+SHI1,CMCTB_MAT_BSE,BA_GALV_SPEC,VARCHAR2,3,Y,자재마스터(기본),선후도금사양,NULL
+SHI1,CMCTB_MAT_BSE,SSIDE_YN,VARCHAR2,1,Y,자재마스터(기본),SHIPSIDE여부,NULL
+SHI1,CMCTB_MAT_BSE,PNTR_PIPE_YN,VARCHAR2,1,Y,자재마스터(기본),관통관여부,NULL
+SHI1,CMCTB_MAT_BSE,UBOLT_YN,VARCHAR2,1,Y,자재마스터(기본),UBOLT유무,NULL
+SHI1,CMCTB_MAT_BSE,CTLP_PRCD_PNT,VARCHAR2,1,Y,자재마스터(기본),조정관선행도장,NULL
+SHI1,CMCTB_MAT_BSE,PRCD_SCV_CTLP,VARCHAR2,2,Y,자재마스터(기본),선행후행조정관,NULL
+SHI1,CMCTB_MAT_BSE,PMI_INSPEC,VARCHAR2,2,Y,자재마스터(기본),PMI검사사양,NULL
+SHI1,CMCTB_MAT_BSE,WTRPRS,NUMBER,22,Y,자재마스터(기본),수압,CHECK
+SHI1,CMCTB_MAT_BSE,VLV_FIT_NO,VARCHAR2,18,Y,자재마스터(기본),VALVEFITTING번호,NULL
+SHI1,CMCTB_MAT_BSE,TAG_NO,VARCHAR2,50,Y,자재마스터(기본),TAG번호,NULL
+SHI1,CMCTB_MAT_BSE,TAG_SB_NO,VARCHAR2,10,Y,자재마스터(기본),TAGSUB번호,NULL
+SHI1,CMCTB_MAT_BSE,NM_PLATE_TP,VARCHAR2,5,Y,자재마스터(기본),네임플레이트유형,NULL
+SHI1,CMCTB_MAT_BSE,NM_PLATE_SVC_NM,VARCHAR2,60,Y,자재마스터(기본),네임플레이트서비스명,NULL
+SHI1,CMCTB_MAT_BSE,VRCS_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),VRCS자재번호,NULL
+SHI1,CMCTB_MAT_BSE,TRSM_FIT_NO,VARCHAR2,7,Y,자재마스터(기본),TRANSMITTERFITTING번호,NULL
+SHI1,CMCTB_MAT_BSE,VLV_OPT_CD_LIST,VARCHAR2,20,Y,자재마스터(기본),VALVE옵션코드리스트,NULL
+SHI1,CMCTB_MAT_BSE,PUR_REQ_NO,VARCHAR2,10,Y,자재마스터(기본),구매요청번호,NULL
+SHI1,CMCTB_MAT_BSE,ITM_NO,VARCHAR2,20,Y,자재마스터(기본),ITEM번호,NULL
+SHI1,CMCTB_MAT_BSE,MDL_NO,VARCHAR2,30,Y,자재마스터(기본),모델번호,NULL
+SHI1,CMCTB_MAT_BSE,BL_NO,VARCHAR2,30,Y,자재마스터(기본),BL번호,NULL
+SHI1,CMCTB_MAT_BSE,VNDR_EQP_NO,VARCHAR2,10,Y,자재마스터(기본),업체장비번호,NULL
+SHI1,CMCTB_MAT_BSE,BOX_NO,VARCHAR2,20,Y,자재마스터(기본),BOX번호,NULL
+SHI1,CMCTB_MAT_BSE,MMT_NO,VARCHAR2,10,Y,자재마스터(기본),자재운송관리번호,NULL
+SHI1,CMCTB_MAT_BSE,INSTL_LOC,VARCHAR2,30,Y,자재마스터(기본),설치위치,NULL
+SHI1,CMCTB_MAT_BSE,MN_EQP_YN,VARCHAR2,1,Y,자재마스터(기본),메인장비여부,NULL
+SHI1,CMCTB_MAT_BSE,FIXED_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),체결재여부,NULL
+SHI1,CMCTB_MAT_BSE,SPRE_YN,VARCHAR2,1,Y,자재마스터(기본),SPARE여부,NULL
+SHI1,CMCTB_MAT_BSE,TOOL_YN,VARCHAR2,1,Y,자재마스터(기본),TOOL여부,NULL
+SHI1,CMCTB_MAT_BSE,CBL_YN,VARCHAR2,1,Y,자재마스터(기본),CABLE여부,NULL
+SHI1,CMCTB_MAT_BSE,OWN_INSTL_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),선주설치자재여부,NULL
+SHI1,CMCTB_MAT_BSE,NONINSTL_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),비설치자재여부,NULL
+SHI1,CMCTB_MAT_BSE,BLK_NO,VARCHAR2,5,Y,자재마스터(기본),블록번호,NULL
+SHI1,CMCTB_MAT_BSE,GYEL,VARCHAR2,2,Y,자재마스터(기본),계열,NULL
+SHI1,CMCTB_MAT_BSE,LNK_PTLST_NO,VARCHAR2,40,Y,자재마스터(기본),연결부재번호,NULL
+SHI1,CMCTB_MAT_BSE,AREA,NUMBER,22,Y,자재마스터(기본),면적,CHECK
+SHI1,CMCTB_MAT_BSE,STOR_LOC,VARCHAR2,10,Y,자재마스터(기본),저장위치,NULL
+SHI1,CMCTB_MAT_BSE,SGUB_WGT,NUMBER,22,Y,자재마스터(기본),사급중량,CHECK
+SHI1,CMCTB_MAT_BSE,DGUB_WGT,NUMBER,22,Y,자재마스터(기본),도급중량,CHECK
+SHI1,CMCTB_MAT_BSE,PROJ_NO,VARCHAR2,24,Y,자재마스터(기본),프로젝트번호,NULL
+SHI1,CMCTB_MAT_BSE,DSN_SKL,VARCHAR2,2,Y,자재마스터(기본),설계기능,NULL
+SHI1,CMCTB_MAT_BSE,RMK,VARCHAR2,500,Y,자재마스터(기본),비고,NULL
+SHI1,CMCTB_MAT_BSE,DEL_ORDR,VARCHAR2,1,Y,자재마스터(기본),삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_BSE,DEL_DT,VARCHAR2,8,Y,자재마스터(기본),삭제일자,NULL
+SHI1,CMCTB_MAT_BSE,MAT_STAT,VARCHAR2,2,Y,자재마스터(기본),자재상태,NULL
+SHI1,CMCTB_MAT_BSE,IF_SYS_NO,VARCHAR2,1,Y,자재마스터(기본),인터페이스시스템번호,NULL
+SHI1,CMCTB_MAT_BSE,IF_STAT,VARCHAR2,1,Y,자재마스터(기본),인터페이스상태,NULL
+SHI1,CMCTB_MAT_BSE,IF_MSG,VARCHAR2,255,Y,자재마스터(기본),인터페이스메시지,NULL
+SHI1,CMCTB_MAT_BSE,IF_DT,VARCHAR2,8,Y,자재마스터(기본),인터페이스일자,NULL
+SHI1,CMCTB_MAT_BSE,IF_TM,VARCHAR2,6,Y,자재마스터(기본),인터페이스시간,NULL
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_1,VARCHAR2,30,Y,자재마스터(기본),GLAND사양1,NULL
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_2,VARCHAR2,30,Y,자재마스터(기본),GLAND사양2,NULL
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_3,VARCHAR2,30,Y,자재마스터(기본),GLAND사양3,NULL
+SHI1,CMCTB_MAT_BSE,MCT_MDLE_STD_1,VARCHAR2,30,Y,자재마스터(기본),MCT모듈규격1,NULL
+SHI1,CMCTB_MAT_BSE,MCT_MDLE_STD_2,VARCHAR2,30,Y,자재마스터(기본),MCT모듈규격2,NULL
+SHI1,CMCTB_MAT_BSE,BEELE_RISE,VARCHAR2,12,Y,자재마스터(기본),BEELERISE,NULL
+SHI1,CMCTB_MAT_BSE,MAX_DRUM_LTH,NUMBER,22,Y,자재마스터(기본),최대DRUM길이,CHECK
+SHI1,CMCTB_MAT_BSE,AGR_DTM,VARCHAR2,14,Y,자재마스터(기본),승인일시,NULL
+SHI1,CMCTB_MAT_BSE,AGR_R_ID,VARCHAR2,13,Y,자재마스터(기본),승인자ID,NULL
+SHI1,CMCTB_MAT_BSE,DISPLN,VARCHAR2,1,Y,자재마스터(기본),DISCIPLINE,NULL
+SHI1,CMCTB_MAT_BSE,LRG_KWK,VARCHAR2,1,Y,자재마스터(기본),대공종,NULL
+SHI1,CMCTB_MAT_BSE,DTL_KWK,VARCHAR2,1,Y,자재마스터(기본),세부공종,NULL
+SHI1,CMCTB_MAT_BSE,SP_INSP_GB,VARCHAR2,1,Y,자재마스터(기본),특별검사구분,NULL
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_4,VARCHAR2,5,Y,자재마스터(기본),도장외부사양4,NULL
+SHI1,CMCTB_MAT_BSE,OFE_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),OFE자재번호,NULL
+SHI1,CMCTB_MAT_BSE,OFE_CAB_YN,VARCHAR2,1,Y,자재마스터(기본),OFE케이블여부,NULL
+SHI1,CMCTB_MAT_BSE,INSTL_PSB_CNT,NUMBER,22,Y,자재마스터(기본),포설가능개수,CHECK
+SHI1,CMCTB_MAT_BSE,CUTL_ML_GB,VARCHAR2,1,Y,자재마스터(기본),태선세선구분,NULL
+SHI1,CMCTB_MAT_BSE,FCM_INSP,VARCHAR2,2,Y,자재마스터(기본),FCM검사,NULL
+SHI1,CMCTB_MAT_BSE,DOC_NO,VARCHAR2,25,Y,자재마스터(기본),서류번호,NULL
+SHI1,CMCTB_MAT_BSE,HOLD_CAUS,VARCHAR2,200,Y,자재마스터(기본),보류원인,NULL
+SHI1,CMCTB_MAT_BSE,HOLD_DT,VARCHAR2,8,Y,자재마스터(기본),보류일자,NULL
+SHI1,CMCTB_MAT_BSE,HOLD_LIFT_DT,VARCHAR2,8,Y,자재마스터(기본),NULL,NULL
+SHI1,CMCTB_MAT_BSE,MAT_KND_GB,VARCHAR2,1,Y,자재마스터(기본),자재종류구분,NULL
+SHI1,CMCTB_MAT_BSE,BATCH_MNG_ORDR,VARCHAR2,1,Y,자재마스터(기본),BATCH관리지시자,NULL
+SHI1,CMCTB_MAT_BSE,FS_INPR_ID,VARCHAR2,13,Y,자재마스터(기본),최초입력자ID,NULL
+SHI1,CMCTB_MAT_BSE,FS_INP_DTM,VARCHAR2,14,Y,자재마스터(기본),최초입력일시,NULL
+SHI1,CMCTB_MAT_BSE,FIN_CHGR_ID,VARCHAR2,13,Y,자재마스터(기본),최종수정자ID,NULL
+SHI1,CMCTB_MAT_BSE,FIN_CHG_DTM,VARCHAR2,14,Y,자재마스터(기본),최종수정일시,NULL
+SHI1,CMCTB_MAT_BSE,DWG_FILE_NM,VARCHAR2,256,Y,자재마스터(기본),NULL,NULL
+SHI1,CMCTB_MAT_BSE,TAG_NO_CHG_DT,VARCHAR2,8,Y,자재마스터(기본),NULL,NULL
+SHI1,CMCTB_MAT_BSE,SUB_EQP_YN,VARCHAR2,1,Y,자재마스터(기본),SUB장비여부,NULL
+SHI1,CMCTB_MAT_BSE,ATT_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),부속자재여부,NULL
+SHI1,CMCTB_MAT_BSE,DSN_REV_NO,VARCHAR2,4,Y,자재마스터(기본),설계계정번호,NULL
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR1,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드1,NULL
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR2,VARCHAR2,50,Y,자재마스터(기본),인도선적품여부(DL_SHIPMT_ITM_YN),NULL
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR3,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드3,NULL
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR4,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드4,NULL
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR5,VARCHAR2,50,Y,자재마스터(기본),변경이력,NULL
+SHI1,CMCTB_MAT_CLAS,CLAS_CD,VARCHAR2,18,N,자재마스터 클래스 정보,클래스코드,"CHECK, PK"
+SHI1,CMCTB_MAT_CLAS,CLAS_NM,VARCHAR2,60,Y,자재마스터 클래스 정보,클래스명,NULL
+SHI1,CMCTB_MAT_CLAS,CLAS_DTL,VARCHAR2,180,Y,자재마스터 클래스 정보,클래스내역,NULL
+SHI1,CMCTB_MAT_CLAS,PRNT_CLAS_CD,VARCHAR2,18,Y,자재마스터 클래스 정보,부모클래스코드,NULL
+SHI1,CMCTB_MAT_CLAS,CLAS_LVL,NUMBER,22,Y,자재마스터 클래스 정보,클래스레벨,NULL
+SHI1,CMCTB_MAT_CLAS,DEL_ORDR,VARCHAR2,1,Y,자재마스터 클래스 정보,삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_CLAS,UOM,VARCHAR2,3,Y,자재마스터 클래스 정보,단위,NULL
+SHI1,CMCTB_MAT_CLAS,STYPE,VARCHAR2,2,Y,자재마스터 클래스 정보,강종,NULL
+SHI1,CMCTB_MAT_CLAS,GRD_MATL,VARCHAR2,50,Y,자재마스터 클래스 정보,등급재질,NULL
+SHI1,CMCTB_MAT_CLAS,CHG_DT,VARCHAR2,8,Y,자재마스터 클래스 정보,수정일자,NULL
+SHI1,CMCTB_MAT_CLAS,BSE_UOM,VARCHAR2,3,Y,자재마스터 클래스 정보,기준단위,NULL
+SHI1,CMCTB_MAT_CLAS_SPCHAR,CLAS_CD,VARCHAR2,18,N,자재마스터 클래스별 특성,클래스코드,PK
+SHI1,CMCTB_MAT_CLAS_SPCHAR,SPCHAR_CD,VARCHAR2,30,N,자재마스터 클래스별 특성,특성코드,PK
+SHI1,CMCTB_MAT_CLAS_SPCHAR,SPCHAR_SEQ,VARCHAR2,3,Y,자재마스터 클래스별 특성,특선순서,NULL
+SHI1,CMCTB_MAT_CLAS_SPCHAR,MNDT_YN,VARCHAR2,1,Y,자재마스터 클래스별 특성,필수여부,NULL
+SHI1,CMCTB_MAT_CLAS_SPCHAR,CHG_DT,VARCHAR2,8,Y,자재마스터 클래스별 특성,수정일자,NULL
+SHI1,CMCTB_MAT_CLAS_SPCHAR,DEL_ORDR,VARCHAR2,1,Y,자재마스터 클래스별 특성,삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_DSC,MAT_NO,VARCHAR2,18,N,CMCTB_MAT_DSC,자재번호,"CHECK, PK"
+SHI1,CMCTB_MAT_DSC,LANG_KEY,VARCHAR2,1,N,CMCTB_MAT_DSC,언어키,"CHECK, PK"
+SHI1,CMCTB_MAT_DSC,MAT_DTL,VARCHAR2,120,Y,CMCTB_MAT_DSC,자재내역,NULL
+SHI1,CMCTB_MAT_PLNT,MAT_NO,VARCHAR2,18,N,자재마스터 플랜트 정보,자재번호,"CHECK, PK"
+SHI1,CMCTB_MAT_PLNT,PLNT,VARCHAR2,4,N,자재마스터 플랜트 정보,플랜트,"CHECK, PK"
+SHI1,CMCTB_MAT_PLNT,DELV_UOM,VARCHAR2,3,Y,자재마스터 플랜트 정보,출고단위,NULL
+SHI1,CMCTB_MAT_PLNT,EA_BTCH_ND_GB,VARCHAR2,1,Y,자재마스터 플랜트 정보,개별일괄소요구분,NULL
+SHI1,CMCTB_MAT_PLNT,PRCR_CLF,VARCHAR2,4,Y,자재마스터 플랜트 정보,조달분류,NULL
+SHI1,CMCTB_MAT_PLNT,PUR_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,구매담당자코드,NULL
+SHI1,CMCTB_MAT_PLNT,PRCR_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,조달담당자코드,NULL
+SHI1,CMCTB_MAT_PLNT,GOODS_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,현물담당자코드,NULL
+SHI1,CMCTB_MAT_PLNT,PUR_LT,NUMBER,22,Y,자재마스터 플랜트 정보,구매리드타임,NULL
+SHI1,CMCTB_MAT_PLNT,MRP_TP,VARCHAR2,2,Y,자재마스터 플랜트 정보,MRP유형,NULL
+SHI1,CMCTB_MAT_PLNT,MAT_STAT,VARCHAR2,2,Y,자재마스터 플랜트 정보,자재상태,NULL
+SHI1,CMCTB_MAT_PLNT,BULK_MAT_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,벌크자재지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_PLNT,PRCR_TP,VARCHAR2,1,Y,자재마스터 플랜트 정보,조달유형,NULL
+SHI1,CMCTB_MAT_PLNT,SFTY_STCK_QTY,NUMBER,22,Y,자재마스터 플랜트 정보,안전재고수량,NULL
+SHI1,CMCTB_MAT_PLNT,SER_PROF,VARCHAR2,4,Y,자재마스터 플랜트 정보,일련번호프로파일,NULL
+SHI1,CMCTB_MAT_PLNT,DEL_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_PLNT,BATCH_MNG_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,BATCH관리지시자,NULL
+SHI1,CMCTB_MAT_PLNT,IF_STAT,VARCHAR2,1,Y,자재마스터 플랜트 정보,인터페이스상태,NULL
+SHI1,CMCTB_MAT_PLNT,IF_MSG,VARCHAR2,100,Y,자재마스터 플랜트 정보,인터페이스메시지,NULL
+SHI1,CMCTB_MAT_PLNT,IF_DT,VARCHAR2,8,Y,자재마스터 플랜트 정보,인터페이스일자,NULL
+SHI1,CMCTB_MAT_PLNT,IF_TM,VARCHAR2,6,Y,자재마스터 플랜트 정보,인터페이스시간,NULL
+SHI1,CMCTB_MAT_PLNT,SP_PRCR_TP,VARCHAR2,2,Y,자재마스터 플랜트 정보,특별조달유형,NULL
+SHI1,CMCTB_MAT_SPCHAR,MAT_NO,VARCHAR2,18,N,자재마스터특성,자재번호,"CHECK, PK"
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_CD,VARCHAR2,30,N,자재마스터특성,특성코드,"CHECK, PK"
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_DTL,VARCHAR2,90,Y,자재마스터특성,특성내역,NULL
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_CD,VARCHAR2,90,Y,자재마스터특성,특성값코드,NULL
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_DTL,VARCHAR2,90,Y,자재마스터특성,특성값내역,NULL
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_NUM,NUMBER,22,Y,자재마스터특성,특성값넘버,NULL
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_UOM,VARCHAR2,3,Y,자재마스터특성,특성값단위,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_CD,VARCHAR2,30,N,자재마스터 특성정보,특성코드,PK
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_DTL,VARCHAR2,90,Y,자재마스터 특성정보,특성내역,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_TP,VARCHAR2,10,Y,자재마스터 특성정보,특성타입,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_VAL_UOM,VARCHAR2,3,Y,자재마스터 특성정보,특성값단위,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_VAL_YN,VARCHAR2,1,Y,자재마스터 특성정보,특성값여부,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_GRP,VARCHAR2,10,Y,자재마스터 특성정보,특성그룹,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,CHG_DT,VARCHAR2,8,Y,자재마스터 특성정보,수정일자,NULL
+SHI1,CMCTB_MAT_SPCHAR_MAST,DEL_ORDR,VARCHAR2,1,Y,자재마스터 특성정보,삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_CD,VARCHAR2,30,N,자재마스터 특성별 특성값,특성코드,PK
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_VAL_CD,VARCHAR2,90,N,자재마스터 특성별 특성값,특성값코드,PK
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_VAL_DTL,VARCHAR2,90,Y,자재마스터 특성별 특성값,특성값내역,NULL
+SHI1,CMCTB_MAT_SPCHAR_VAL,CHG_DT,VARCHAR2,8,Y,자재마스터 특성별 특성값,수정일자,NULL
+SHI1,CMCTB_MAT_SPCHAR_VAL,DEL_ORDR,VARCHAR2,1,Y,자재마스터 특성별 특성값,삭제지시자,"CHECK, CHECK"
+SHI1,CMCTB_MAT_UOM,MAT_NO,VARCHAR2,18,N,자재마스터 단위정보,자재번호,"CHECK, PK"
+SHI1,CMCTB_MAT_UOM,SBST_UOM,VARCHAR2,3,N,자재마스터 단위정보,대체단위,"CHECK, PK"
+SHI1,CMCTB_MAT_UOM,CNVRT_FCTR_1,NUMBER,22,Y,자재마스터 단위정보,전환 FOCTOR1,NULL
+SHI1,CMCTB_MAT_UOM,CNVRT_FCTR_2,NUMBER,22,Y,자재마스터 단위정보,전환 FOCTOR2,NULL
+SHI1,CMCTB_MAT_UOM,LTH,NUMBER,22,Y,자재마스터 단위정보,길이,NULL
+SHI1,CMCTB_MAT_UOM,WTH,NUMBER,22,Y,자재마스터 단위정보,폭,NULL
+SHI1,CMCTB_MAT_UOM,HGT,NUMBER,22,Y,자재마스터 단위정보,높이,NULL
+SHI1,CMCTB_MAT_UOM,SZ_UOM,VARCHAR2,3,Y,자재마스터 단위정보,치수단위,NULL
+SHI1,CMCTB_PROJ_BIZCLS,PROJ_NO,VARCHAR2,24,N,프로젝트 비즈니스 클래스,프로젝트번호,"CHECK, PK"
+SHI1,CMCTB_PROJ_BIZCLS,TYPE,VARCHAR2,1,N,프로젝트 비즈니스 클래스,TYPE,"CHECK, PK"
+SHI1,CMCTB_PROJ_BIZCLS,BIZCLS,VARCHAR2,1,Y,프로젝트 비즈니스 클래스,비지니스클래스,NULL
+SHI1,CMCTB_PROJ_BIZCLS,QM_CLS,VARCHAR2,10,Y,프로젝트 비즈니스 클래스,NULL,NULL
+SHI1,CMCTB_PROJ_BIZCLS,NEW_MC_YN,VARCHAR2,1,Y,프로젝트 비즈니스 클래스,신규MC여부,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_NO,VARCHAR2,24,N,프로젝트 마스터,프로젝트번호,"CHECK, PK"
+SHI1,CMCTB_PROJ_MAST,MSHIP_NO,VARCHAR2,24,Y,프로젝트 마스터,기준호선,NULL
+SHI1,CMCTB_PROJ_MAST,SERS_NO,VARCHAR2,24,Y,프로젝트 마스터,시리즈첫프로젝트번호,NULL
+SHI1,CMCTB_PROJ_MAST,REF_NO,VARCHAR2,5,Y,프로젝트 마스터,시리즈번호,NULL
+SHI1,CMCTB_PROJ_MAST,SKND,VARCHAR2,3,Y,프로젝트 마스터,선종,NULL
+SHI1,CMCTB_PROJ_MAST,SHTYPE,VARCHAR2,8,Y,프로젝트 마스터,선형,NULL
+SHI1,CMCTB_PROJ_MAST,SHTYPE_UOM,VARCHAR2,5,Y,프로젝트 마스터,선형단위,NULL
+SHI1,CMCTB_PROJ_MAST,DOCK_CD,VARCHAR2,3,Y,프로젝트 마스터,도크,NULL
+SHI1,CMCTB_PROJ_MAST,OWN_1,VARCHAR2,32,Y,프로젝트 마스터,선주1,NULL
+SHI1,CMCTB_PROJ_MAST,CLS_1,VARCHAR2,20,Y,프로젝트 마스터,선급1,NULL
+SHI1,CMCTB_PROJ_MAST,CNRT_DT,VARCHAR2,8,Y,프로젝트 마스터,계약일자,NULL
+SHI1,CMCTB_PROJ_MAST,CNRT_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,계약인도일자,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_DSC,VARCHAR2,120,Y,프로젝트 마스터,프로젝트 설명,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_GB,VARCHAR2,2,Y,프로젝트 마스터,프로젝트구분,NULL
+SHI1,CMCTB_PROJ_MAST,OWN_NM,VARCHAR2,120,Y,프로젝트 마스터,선주명,NULL
+SHI1,CMCTB_PROJ_MAST,NEW_SKND2,VARCHAR2,30,Y,프로젝트 마스터,신선종2,NULL
+SHI1,CMCTB_PROJ_MAST,OWN_AB,VARCHAR2,60,Y,프로젝트 마스터,선주약어,NULL
+SHI1,CMCTB_PROJ_MAST,CHINA_YN,VARCHAR2,3,Y,프로젝트 마스터,중국여부,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_DTL_TP,VARCHAR2,2,Y,프로젝트 마스터,프로젝트세부타입,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_PROF,VARCHAR2,7,Y,프로젝트 마스터,프로젝트프로파일,NULL
+SHI1,CMCTB_PROJ_MAST,INQY_NO,VARCHAR2,30,Y,프로젝트 마스터,안건번호,NULL
+SHI1,CMCTB_PROJ_MAST,INQY_SEQ,VARCHAR2,2,Y,프로젝트 마스터,안건순번,NULL
+SHI1,CMCTB_PROJ_MAST,NTTP,VARCHAR2,3,Y,프로젝트 마스터,국적,NULL
+SHI1,CMCTB_PROJ_MAST,RLTD_PROJ,VARCHAR2,40,Y,프로젝트 마스터,연관프로젝트,NULL
+SHI1,CMCTB_PROJ_MAST,DIGT_PDT_GRP,VARCHAR2,1,Y,프로젝트 마스터,디지털제품군,NULL
+SHI1,CMCTB_PROJ_MAST,WP_PROJ_TP,VARCHAR2,1,Y,프로젝트 마스터,풍력프로젝트타입,NULL
+SHI1,CMCTB_PROJ_MAST,TOT_CNRT_CNT,VARCHAR2,3,Y,프로젝트 마스터,전체계약개수,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_ETC_TP,VARCHAR2,1,Y,프로젝트 마스터,프로젝트기타타입,NULL
+SHI1,CMCTB_PROJ_MAST,IF_STAT,VARCHAR2,1,Y,프로젝트 마스터,인터페이스상태,NULL
+SHI1,CMCTB_PROJ_MAST,SRC_SYS_ID,VARCHAR2,1,Y,프로젝트 마스터,소스시스템ID,NULL
+SHI1,CMCTB_PROJ_MAST,PRGS_STAT,VARCHAR2,1,Y,프로젝트 마스터,진행상태,NULL
+SHI1,CMCTB_PROJ_MAST,DEL_YN,VARCHAR2,1,Y,프로젝트 마스터,삭제여부,NULL
+SHI1,CMCTB_PROJ_MAST,DL_CSTM_CD,VARCHAR2,10,Y,프로젝트 마스터,인도고객코드,NULL
+SHI1,CMCTB_PROJ_MAST,PDT_LVL_4,VARCHAR2,14,Y,프로젝트 마스터,제품레벨4,NULL
+SHI1,CMCTB_PROJ_MAST,AS_GRNT_PRD,NUMBER,22,Y,프로젝트 마스터,AS보증기간,NULL
+SHI1,CMCTB_PROJ_MAST,RL_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,실인도일자,NULL
+SHI1,CMCTB_PROJ_MAST,SA_DT,VARCHAR2,8,Y,프로젝트 마스터,SAILAWAYDATE,NULL
+SHI1,CMCTB_PROJ_MAST,GOV,VARCHAR2,60,Y,프로젝트 마스터,관청,NULL
+SHI1,CMCTB_PROJ_MAST,DL_BF_PROJ_NM,VARCHAR2,120,Y,프로젝트 마스터,인도전공사명,NULL
+SHI1,CMCTB_PROJ_MAST,IMO_NO,VARCHAR2,8,Y,프로젝트 마스터,IMO번호,NULL
+SHI1,CMCTB_PROJ_MAST,DIST_PATH,VARCHAR2,2,Y,프로젝트 마스터,유통경로,NULL
+SHI1,CMCTB_PROJ_MAST,SALE_ORG_CD,VARCHAR2,4,Y,프로젝트 마스터,영업조직코드,NULL
+SHI1,CMCTB_PROJ_MAST,SALE_GRP,VARCHAR2,3,Y,프로젝트 마스터,판매그룹,NULL
+SHI1,CMCTB_PROJ_MAST,BIZLOC_CD,VARCHAR2,4,Y,프로젝트 마스터,사업장코드,NULL
+SHI1,CMCTB_PROJ_MAST,MNG_ACOT_DMN,VARCHAR2,4,Y,프로젝트 마스터,관리회계영역,NULL
+SHI1,CMCTB_PROJ_MAST,CO_CD,VARCHAR2,4,Y,프로젝트 마스터,회사코드,NULL
+SHI1,CMCTB_PROJ_MAST,BIZ_DMN,VARCHAR2,4,Y,프로젝트 마스터,사업영역,NULL
+SHI1,CMCTB_PROJ_MAST,PLNT_CD,VARCHAR2,4,Y,프로젝트 마스터,플랜트코드,NULL
+SHI1,CMCTB_PROJ_MAST,PRCTR,VARCHAR2,10,Y,프로젝트 마스터,손익센터,NULL
+SHI1,CMCTB_PROJ_MAST,CNRT_CNTN_YN,VARCHAR2,1,Y,프로젝트 마스터,계약존속여부,NULL
+SHI1,CMCTB_PROJ_MAST,CNRT_RESV_YN,VARCHAR2,1,Y,프로젝트 마스터,계약유보여부,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_PRGS_YN,VARCHAR2,1,Y,프로젝트 마스터,프로젝트진행여부,NULL
+SHI1,CMCTB_PROJ_MAST,SYS_ACOT_CLSD_DT,VARCHAR2,8,Y,프로젝트 마스터,시스템회계마감일자,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_SCP,VARCHAR2,5,Y,프로젝트 마스터,프로젝트범위,NULL
+SHI1,CMCTB_PROJ_MAST,LOA,NUMBER,22,Y,프로젝트 마스터,전길이,NULL
+SHI1,CMCTB_PROJ_MAST,MN_ENGN_TP_CD,VARCHAR2,30,Y,프로젝트 마스터,MAINENGINETYPECODE,NULL
+SHI1,CMCTB_PROJ_MAST,SPD,NUMBER,22,Y,프로젝트 마스터,속도,NULL
+SHI1,CMCTB_PROJ_MAST,GT,NUMBER,22,Y,프로젝트 마스터,GT,NULL
+SHI1,CMCTB_PROJ_MAST,BP_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,선표인도일자,NULL
+SHI1,CMCTB_PROJ_MAST,SHTYPE_GRP,VARCHAR2,4,Y,프로젝트 마스터,선형군,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_CRTE_REQ_EMPNO,VARCHAR2,13,Y,프로젝트 마스터,프로젝트생성요청사번,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_CRTE_REQ_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트생성요청일자,NULL
+SHI1,CMCTB_PROJ_MAST,IO_GB,VARCHAR2,1,Y,프로젝트 마스터,사내외구분,NULL
+SHI1,CMCTB_PROJ_MAST,CSTM_PO_NO,VARCHAR2,35,Y,프로젝트 마스터,고객발주번호,NULL
+SHI1,CMCTB_PROJ_MAST,GENT_CNT,VARCHAR2,5,Y,프로젝트 마스터,세대개수,NULL
+SHI1,CMCTB_PROJ_MAST,ORDR_GRNT_PRD,VARCHAR2,5,Y,프로젝트 마스터,주문주보증기간,NULL
+SHI1,CMCTB_PROJ_MAST,ORDR_GRNT_FN_DT,VARCHAR2,8,Y,프로젝트 마스터,주문주보증종료일,NULL
+SHI1,CMCTB_PROJ_MAST,DSN_CHRGR,VARCHAR2,13,Y,프로젝트 마스터,설계담당자,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_PROJ_NM,VARCHAR2,120,Y,프로젝트 마스터,인도후공사명,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_RL_CLNT,VARCHAR2,10,Y,프로젝트 마스터,인도후실고객사,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_SHPSRV_SCP,VARCHAR2,10,Y,프로젝트 마스터,인도후운항선사,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_NTTP,VARCHAR2,3,Y,프로젝트 마스터,인도후국적,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_CLS,VARCHAR2,20,Y,프로젝트 마스터,인도후선급,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_CALL_SIGN,VARCHAR2,20,Y,프로젝트 마스터,인도후CALLSIGN,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_TEL_NO,VARCHAR2,20,Y,프로젝트 마스터,인도후전화번호,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_FAX_NO,VARCHAR2,20,Y,프로젝트 마스터,인도후팩스번호,NULL
+SHI1,CMCTB_PROJ_MAST,DL_AF_EMAIL_ADR,VARCHAR2,60,Y,프로젝트 마스터,인도후이메일주소,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_WBS_TP,VARCHAR2,7,Y,프로젝트 마스터,프로젝트WBS타입,NULL
+SHI1,CMCTB_PROJ_MAST,XSTAT,VARCHAR2,1,Y,프로젝트 마스터,INTERFACE상태,NULL
+SHI1,CMCTB_PROJ_MAST,XMSGS,VARCHAR2,300,Y,프로젝트 마스터,INTERFACE메세지,NULL
+SHI1,CMCTB_PROJ_MAST,XDATS,VARCHAR2,8,Y,프로젝트 마스터,INTERFACE일자,NULL
+SHI1,CMCTB_PROJ_MAST,XTIMS,VARCHAR2,6,Y,프로젝트 마스터,INTERFACE시간,NULL
+SHI1,CMCTB_PROJ_MAST,CHN_PROJ_TP,VARCHAR2,1,Y,프로젝트 마스터,중국프로젝트타입,NULL
+SHI1,CMCTB_PROJ_MAST,FIN_GRNT_FN_DT,VARCHAR2,8,Y,프로젝트 마스터,최종수요자 보증종료일,NULL
+SHI1,CMCTB_PROJ_MAST,STDT,VARCHAR2,8,Y,프로젝트 마스터,시작일자,NULL
+SHI1,CMCTB_PROJ_MAST,SERS_YN,VARCHAR2,1,Y,프로젝트 마스터,시리즈여부,NULL
+SHI1,CMCTB_PROJ_MAST,TYPE,VARCHAR2,10,Y,프로젝트 마스터,HULL TOP 구분,NULL
+SHI1,CMCTB_PROJ_MAST,PRO_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,PROPOSAL 프로젝트번호,NULL
+SHI1,CMCTB_PROJ_MAST,PBSD_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,전기전자프로젝트번호,NULL
+SHI1,CMCTB_PROJ_MAST,PBSD_SHIP_NM,VARCHAR2,150,Y,프로젝트 마스터,선박명,NULL
+SHI1,CMCTB_PROJ_MAST,BIZCLS,VARCHAR2,10,Y,프로젝트 마스터,사업부,NULL
+SHI1,CMCTB_PROJ_MAST,CLS_2,VARCHAR2,20,Y,프로젝트 마스터,선급2,NULL
+SHI1,CMCTB_PROJ_MAST,SHTYPE_CD,VARCHAR2,6,Y,프로젝트 마스터,선형코드,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_DL_PLN_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트 인도계획일,NULL
+SHI1,CMCTB_PROJ_MAST,PROJ_DL_RT_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트 인도실적일,NULL
+SHI1,CMCTB_PROJ_MAST,TOT_AREA,NUMBER,22,Y,프로젝트 마스터,전체면적,NULL
+SHI1,CMCTB_PROJ_MAST,EXMPT_AREA,NUMBER,22,Y,프로젝트 마스터,면세면적,NULL
+SHI1,CMCTB_PROJ_MAST,EXMPT_RAT,NUMBER,22,Y,프로젝트 마스터,면세율,NULL
+SHI1,CMCTB_PROJ_MAST,QM_CLS,VARCHAR2,10,Y,프로젝트 마스터,품질사업부,NULL
+SHI1,CMCTB_PROJ_MAST,CNCT_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,연계 프로젝트 번호,NULL
+SHI1,CMCTB_PROJ_MAST,EQP_DTL_YN,VARCHAR2,1,Y,프로젝트 마스터,기자재 세분화 및 생산일정 연계여부,NULL
+SHI1,CMCTB_PROJ_MAST,EXP_YN,VARCHAR2,1,Y,프로젝트 마스터,ExP 연계여부,NULL
+SHI1,CMCTB_PROJ_MAST,ACT_MH_YN,VARCHAR2,1,Y,프로젝트 마스터,생산실적 연계여부,NULL
+SHI1,CMCTB_PROJ_MAST,SPEC,VARCHAR2,10,Y,프로젝트 마스터,사양,NULL
+SHI1,CMCTB_PROJ_MAST,DSGN_LIFE,VARCHAR2,10,Y,프로젝트 마스터,디자인수명,NULL
+SHI1,CMCTB_PROJ_MAST,NEW_MC_YN,VARCHAR2,10,Y,프로젝트 마스터,신규MC여부,NULL
+SHI1,CMCTB_PROJ_MAST,WK_ENV_WT_VAL_YN,VARCHAR2,1,Y,프로젝트 마스터,작업환경가중치여부,NULL
+SHI1,CMCTB_PROJ_MAST,GRNT_STDT,VARCHAR2,8,Y,프로젝트 마스터,보증시작일,NULL
+SHI1,CMCTB_PROJ_MAST,TMH_ADPT_YN,VARCHAR2,1,Y,프로젝트 마스터,목표공수 적용 여부,NULL
+SHI1,CMCTB_PROJ_MAST,ZV_YN,VARCHAR2,1,Y,프로젝트 마스터,ZVEZDA 프로젝트 여부,NULL
+SHI1,CMCTB_PROJ_MAST,SEC_YN,VARCHAR2,1,Y,프로젝트 마스터,평택지원 프로젝트 여부,NULL
+SHI1,CMCTB_PROJ_WBS,PROJ_NO,VARCHAR2,24,N,프로젝트WBS,프로젝트번호,"CHECK, PK"
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT,VARCHAR2,24,N,프로젝트WBS,WBS요소,"CHECK, PK"
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_NM,VARCHAR2,255,Y,프로젝트WBS,WBS요소명,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_LVL,VARCHAR2,3,Y,프로젝트WBS,WBS레벨,NULL
+SHI1,CMCTB_PROJ_WBS,FLAG,VARCHAR2,1,Y,프로젝트WBS,FLAG,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_INSD_ELMT,VARCHAR2,8,Y,프로젝트WBS,WBS내부요소,NULL
+SHI1,CMCTB_PROJ_WBS,HGRK_WBS_ELMT,VARCHAR2,24,Y,프로젝트WBS,상위WBS요소,NULL
+SHI1,CMCTB_PROJ_WBS,XSTAT,VARCHAR2,1,Y,프로젝트WBS,INTERFACE상태,NULL
+SHI1,CMCTB_PROJ_WBS,XMSGS,VARCHAR2,100,Y,프로젝트WBS,INTERFACE메세지,NULL
+SHI1,CMCTB_PROJ_WBS,XDATS,VARCHAR2,8,Y,프로젝트WBS,INTERFACE일자,NULL
+SHI1,CMCTB_PROJ_WBS,XTIMS,VARCHAR2,6,Y,프로젝트WBS,INTERFACE시간,NULL
+SHI1,CMCTB_PROJ_WBS,SYS_STAT,VARCHAR2,8,Y,프로젝트WBS,시스템상태,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_1,VARCHAR2,24,Y,프로젝트WBS,WBS요소_1,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_2,VARCHAR2,24,Y,프로젝트WBS,WBS요소_2,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_3,VARCHAR2,24,Y,프로젝트WBS,WBS요소_3,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_4,VARCHAR2,24,Y,프로젝트WBS,WBS요소_4,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_5,VARCHAR2,24,Y,프로젝트WBS,WBS요소_5,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_6,VARCHAR2,24,Y,프로젝트WBS,WBS요소_6,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_7,VARCHAR2,24,Y,프로젝트WBS,WBS요소_7,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_8,VARCHAR2,24,Y,프로젝트WBS,WBS요소_8,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_9,VARCHAR2,24,Y,프로젝트WBS,WBS요소_9,NULL
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_10,VARCHAR2,24,Y,프로젝트WBS,WBS요소_10,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (주소),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_ADDR,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),주소번호,CHECK
+SHI1,CMCTB_VENDOR_ADDR,INTL_ADR_VER_ID,VARCHAR2,1,N,Vendor 마스터 (주소),국제주소버전ID,"CHECK, PK"
+SHI1,CMCTB_VENDOR_ADDR,CITY_ZIP_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),도시우편번호,NULL
+SHI1,CMCTB_VENDOR_ADDR,POBX_ZIP_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),사서함우편번호,NULL
+SHI1,CMCTB_VENDOR_ADDR,ADR_1,VARCHAR2,120,Y,Vendor 마스터 (주소),주소1,NULL
+SHI1,CMCTB_VENDOR_ADDR,ADR_2,VARCHAR2,120,Y,Vendor 마스터 (주소),주소2,NULL
+SHI1,CMCTB_VENDOR_ADDR,REGN_CD,VARCHAR2,5,Y,Vendor 마스터 (주소),지역코드,NULL
+SHI1,CMCTB_VENDOR_ADDR,TTL,VARCHAR2,90,Y,Vendor 마스터 (주소),타이틀,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_ABRV_1,VARCHAR2,60,Y,Vendor 마스터 (주소),VENDOR명약어1,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_ABRV_2,VARCHAR2,60,Y,Vendor 마스터 (주소),VENDOR명약어2,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_1,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_2,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명2,NULL
+SHI1,CMCTB_VENDOR_ADDR,LANG_KEY,VARCHAR2,1,Y,Vendor 마스터 (주소),언어키,NULL
+SHI1,CMCTB_VENDOR_ADDR,ETC_ADR_1,VARCHAR2,180,Y,Vendor 마스터 (주소),기타주소1,NULL
+SHI1,CMCTB_VENDOR_ADDR,ETC_ADR_2,VARCHAR2,180,Y,Vendor 마스터 (주소),기타주소2,NULL
+SHI1,CMCTB_VENDOR_ADDR,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (주소),국가코드,NULL
+SHI1,CMCTB_VENDOR_ADDR,POBX,VARCHAR2,30,Y,Vendor 마스터 (주소),사서함,NULL
+SHI1,CMCTB_VENDOR_ADDR,TRANS_ZONE,VARCHAR2,10,Y,Vendor 마스터 (주소),운송구역,NULL
+SHI1,CMCTB_VENDOR_ADDR,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (주소),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_ADDR,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (주소),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_ADDR,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (주소),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_ADDR,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (주소),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_3,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명3,NULL
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_4,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명4,NULL
+SHI1,CMCTB_VENDOR_ADDR,TAX_JRDT_ZONE_CD,VARCHAR2,15,Y,Vendor 마스터 (주소),조세관할구역코드,NULL
+SHI1,CMCTB_VENDOR_ADDR,ADR_TMZ,VARCHAR2,10,Y,Vendor 마스터 (주소),주소시간대,NULL
+SHI1,CMCTB_VENDOR_COMPNY,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (Company),VENDOR코드,PK
+SHI1,CMCTB_VENDOR_COMPNY,CO_CD,VARCHAR2,4,N,Vendor 마스터 (Company),회사코드,PK
+SHI1,CMCTB_VENDOR_COMPNY,CTL_ACNT,VARCHAR2,10,Y,Vendor 마스터 (Company),조정계정,NULL
+SHI1,CMCTB_VENDOR_COMPNY,SRT_KEY,VARCHAR2,3,Y,Vendor 마스터 (Company),정렬키,NULL
+SHI1,CMCTB_VENDOR_COMPNY,PLN_GRP,VARCHAR2,10,Y,Vendor 마스터 (Company),계획그룹,NULL
+SHI1,CMCTB_VENDOR_COMPNY,BF_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (Company),이전VENDOR코드,NULL
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_COND,VARCHAR2,4,Y,Vendor 마스터 (Company),지급조건,NULL
+SHI1,CMCTB_VENDOR_COMPNY,OVLAP_INVC_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),중복송장지시자,CHECK
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_MTHD,VARCHAR2,10,Y,Vendor 마스터 (Company),지급방법,NULL
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),지급보류지시자,CHECK
+SHI1,CMCTB_VENDOR_COMPNY,TRD_BANK_SHRT_KEY,VARCHAR2,5,Y,Vendor 마스터 (Company),거래은행단축키,NULL
+SHI1,CMCTB_VENDOR_COMPNY,PST_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),전기보류지시자,CHECK
+SHI1,CMCTB_VENDOR_COMPNY,HOLD_CAUS,VARCHAR2,200,Y,Vendor 마스터 (Company),보류사유,NULL
+SHI1,CMCTB_VENDOR_COMPNY,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),삭제지시자,CHECK
+SHI1,CMCTB_VENDOR_COMPNY,SRCE_TX_NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (Company),원천세국가코드,NULL
+SHI1,CMCTB_VENDOR_COMPNY,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (Company),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_COMPNY,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (Company),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_COMPNY,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (Company),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_COMPNY,MIN_ORDR,VARCHAR2,3,Y,Vendor 마스터 (Company),소수지시자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,SPRT_SPLY_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),분리지급지시자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,CSTM_VNDR_CLR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),CUSTOMERVENDOR반제지시자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,SRCE_TX_CD,VARCHAR2,2,Y,Vendor 마스터 (Company),원천세코드,NULL
+SHI1,CMCTB_VENDOR_COMPNY,IATA_BIC_GB,VARCHAR2,4,Y,Vendor 마스터 (Company),IATABIC구분,NULL
+SHI1,CMCTB_VENDOR_COMPNY,REP_TP,VARCHAR2,6,Y,Vendor 마스터 (Company),대표유형,NULL
+SHI1,CMCTB_VENDOR_COMPNY,LOGST_VNDR_TP,VARCHAR2,6,Y,Vendor 마스터 (Company),물류VENDOR유형,NULL
+SHI1,CMCTB_VENDOR_COMPNY,VNDR_ACNT_NO,VARCHAR2,12,Y,Vendor 마스터 (Company),VENDOR계정번호,NULL
+SHI1,CMCTB_VENDOR_COMPNY,VNDR_CHRGR_NM,VARCHAR2,45,Y,Vendor 마스터 (Company),VENDOR담당자명,NULL
+SHI1,CMCTB_VENDOR_COMPNY,ACOT_CHRGR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (Company),회계담당자전화번호,NULL
+SHI1,CMCTB_VENDOR_COMPNY,AUTH_GRP,VARCHAR2,8,Y,Vendor 마스터 (Company),권한그룹,NULL
+SHI1,CMCTB_VENDOR_COMPNY,FIN_IR_CALC_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),최종이자계산일자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,FIN_IR_ACT_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),최종이자실행일자,NULL
+SHI1,CMCTB_VENDOR_COMPNY,ACOT_CHRGR_FAXNO,VARCHAR2,31,Y,Vendor 마스터 (Company),회계담당자FAX번호,NULL
+SHI1,CMCTB_VENDOR_COMPNY,MK_CHRGR_EMAIL,VARCHAR2,241,Y,Vendor 마스터 (Company),MAKER담당자이메일,NULL
+SHI1,CMCTB_VENDOR_COMPNY,MEMO,VARCHAR2,120,Y,Vendor 마스터 (Company),메모,NULL
+SHI1,CMCTB_VENDOR_COMPNY,MOFFC_ACNT_NO,VARCHAR2,10,Y,Vendor 마스터 (Company),본사계정번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (일반),벤더코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_GENERAL,ACNT_GRP,VARCHAR2,4,Y,Vendor 마스터 (일반),계정그룹,NULL
+SHI1,CMCTB_VENDOR_GENERAL,ACNT_GRP_TP,VARCHAR2,2,Y,Vendor 마스터 (일반),계정그룹종류,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CSTM_CD,VARCHAR2,10,Y,Vendor 마스터 (일반),고객코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,PST_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),전기보류지시자,CHECK
+SHI1,CMCTB_VENDOR_GENERAL,PUR_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),구매보류지시자,CHECK
+SHI1,CMCTB_VENDOR_GENERAL,HOLD_CAUS,VARCHAR2,200,Y,Vendor 마스터 (일반),보류사유,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),삭제지시자,CHECK
+SHI1,CMCTB_VENDOR_GENERAL,CO_ID,VARCHAR2,6,Y,Vendor 마스터 (일반),법인ID,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REPR_NM,VARCHAR2,30,Y,Vendor 마스터 (일반),대표자명,NULL
+SHI1,CMCTB_VENDOR_GENERAL,BIZTP,VARCHAR2,90,Y,Vendor 마스터 (일반),사업유형,NULL
+SHI1,CMCTB_VENDOR_GENERAL,BIZCON,VARCHAR2,90,Y,Vendor 마스터 (일반),산업유형,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REG_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),등록일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REG_DTM,VARCHAR2,6,Y,Vendor 마스터 (일반),등록시간,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REGR_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),등록자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,AGR_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),승인일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,AGR_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),승인시간,NULL
+SHI1,CMCTB_VENDOR_GENERAL,AGR_R_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),승인자ID,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CHG_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),변경일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CHG_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),변경시간,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CHGR_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),변경자ID,NULL
+SHI1,CMCTB_VENDOR_GENERAL,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (일반),국가코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REP_TEL_NO,VARCHAR2,30,Y,Vendor 마스터 (일반),대표전화번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REP_FAX_NO,VARCHAR2,31,Y,Vendor 마스터 (일반),대표FAX번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,BIZR_NO,VARCHAR2,10,Y,Vendor 마스터 (일반),사업자번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CO_REG_NO,VARCHAR2,18,Y,Vendor 마스터 (일반),법인등록번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,TX_CD_4,VARCHAR2,54,Y,Vendor 마스터 (일반),세금번호4,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CO_INST_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),설립일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_TP,VARCHAR2,2,Y,Vendor 마스터 (일반),구매처유형,NULL
+SHI1,CMCTB_VENDOR_GENERAL,GBL_TOP_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),GLOBALTOP코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,GBL_TOP_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),GLOBALTOP명,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DMST_TOP_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),국내TOP코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DMST_TOP_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),국내TOP명,NULL
+SHI1,CMCTB_VENDOR_GENERAL,BIZ_UOM_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),사업단위코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,BIZ_UOM_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),사업단위명,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DNS_NO,VARCHAR2,11,Y,Vendor 마스터 (일반),DUNS번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_GENERAL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (일반),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_GENERAL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (일반),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_GENERAL,TTL,VARCHAR2,45,Y,Vendor 마스터 (일반),타이틀,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VAT_REG_NO,VARCHAR2,20,Y,Vendor 마스터 (일반),부가세등록번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,GIRO_VNDR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),지로VENDOR지시자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_1,VARCHAR2,120,Y,Vendor 마스터 (일반),Vendor명1,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_2,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명2,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_3,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명3,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_4,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명4,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_ABRV_1,VARCHAR2,60,Y,Vendor 마스터 (일반),VENDOR명약어1,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_ABRV_2,VARCHAR2,60,Y,Vendor 마스터 (일반),VENDOR명약어2,NULL
+SHI1,CMCTB_VENDOR_GENERAL,PTNT_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (일반),잠재VENDOR코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,ADR_1,VARCHAR2,120,Y,Vendor 마스터 (일반),주소1,NULL
+SHI1,CMCTB_VENDOR_GENERAL,ADR_2,VARCHAR2,512,Y,Vendor 마스터 (일반),주소2,NULL
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_NM,VARCHAR2,60,Y,Vendor 마스터 (일반),품질담당자명,NULL
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (일반),품질담당자전화번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_EMAIL,VARCHAR2,241,Y,Vendor 마스터 (일반),품질담당자이메일,NULL
+SHI1,CMCTB_VENDOR_GENERAL,SB_WKA_SEQ,VARCHAR2,16,Y,Vendor 마스터 (일반),SUB작업장순서,NULL
+SHI1,CMCTB_VENDOR_GENERAL,OVLAP_CAUS_CD,VARCHAR2,2,Y,Vendor 마스터 (일반),중복사유코드,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DOC_TP,VARCHAR2,3,Y,Vendor 마스터 (일반),문서유형,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DOC_NO,VARCHAR2,25,Y,Vendor 마스터 (일반),문서번호,NULL
+SHI1,CMCTB_VENDOR_GENERAL,PTN_DOC,VARCHAR2,3,Y,Vendor 마스터 (일반),부분문서,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DOC_VER,VARCHAR2,2,Y,Vendor 마스터 (일반),문서버전,NULL
+SHI1,CMCTB_VENDOR_GENERAL,INB_FLAG,VARCHAR2,1,Y,Vendor 마스터 (일반),인바운드플래그,NULL
+SHI1,CMCTB_VENDOR_GENERAL,DEL_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),삭제보류지시자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,PUR_HOLD_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),구매보류일자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,POBX,VARCHAR2,30,Y,Vendor 마스터 (일반),사서함,NULL
+SHI1,CMCTB_VENDOR_GENERAL,INTL_LCTN_CHK_NUM,NUMBER,22,Y,Vendor 마스터 (일반),국제LOCATION점검숫자,NULL
+SHI1,CMCTB_VENDOR_GENERAL,SRCETX_RP_SEX_KEY,VARCHAR2,1,Y,Vendor 마스터 (일반),원천세의무자성별키,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_CNRT_CHRGR_1,VARCHAR2,105,Y,Vendor 마스터 (일반),VENDOR계약담당자1,NULL
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_CNRT_CHRGR_2,VARCHAR2,105,Y,Vendor 마스터 (일반),VENDOR계약담당자2,NULL
+SHI1,CMCTB_VENDOR_GENERAL,REPR_RESNO,VARCHAR2,13,Y,Vendor 마스터 (일반),대표생년월일,NULL
+SHI1,CMCTB_VENDOR_GENERAL,CO_VLM,VARCHAR2,1,Y,Vendor 마스터 (일반),기업규모,NULL
+SHI1,CMCTB_VENDOR_GRP,VNDRCD,VARCHAR2,10,N,VENDOR마스터(협력사분류),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_GRP,BIZ_GRP_CD,VARCHAR2,3,N,VENDOR마스터(협력사분류),업무그룹코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_GRP,CRTE_DT,VARCHAR2,8,Y,VENDOR마스터(협력사분류),생성일자,NULL
+SHI1,CMCTB_VENDOR_GRP,CRTE_TM,VARCHAR2,6,Y,VENDOR마스터(협력사분류),생성시간,NULL
+SHI1,CMCTB_VENDOR_GRP,CRTER_ID,VARCHAR2,13,Y,VENDOR마스터(협력사분류),생성자ID,NULL
+SHI1,CMCTB_VENDOR_GRP,CHG_DT,VARCHAR2,8,Y,VENDOR마스터(협력사분류),변경일자,NULL
+SHI1,CMCTB_VENDOR_GRP,CHG_TM,VARCHAR2,6,Y,VENDOR마스터(협력사분류),변경시간,NULL
+SHI1,CMCTB_VENDOR_GRP,CHGR_ID,VARCHAR2,13,Y,VENDOR마스터(협력사분류),변경자ID,NULL
+SHI1,CMCTB_VENDOR_INCO,VNDRCD,VARCHAR2,10,N,사내협력사VENDOR,VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_INCO,VNDRNM,VARCHAR2,120,Y,사내협력사VENDOR,VENDOR코명,CHECK
+SHI1,CMCTB_VENDOR_INCO,REPR_NM,VARCHAR2,30,Y,사내협력사VENDOR,대표자명,NULL
+SHI1,CMCTB_VENDOR_INCO,PRTNR_GB,VARCHAR2,1,Y,사내협력사VENDOR,협력사구분,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_CD,VARCHAR2,3,Y,사내협력사VENDOR,사내협력사코드,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_1,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장1,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_2,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장2,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_3,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장3,NULL
+SHI1,CMCTB_VENDOR_INCO,JBTYPE_CD,VARCHAR2,2,Y,사내협력사VENDOR,직종코드,NULL
+SHI1,CMCTB_VENDOR_INCO,JBTYPE_CD_2,VARCHAR2,2,Y,사내협력사VENDOR,직종코드2,NULL
+SHI1,CMCTB_VENDOR_INCO,INDV_CO_GB,VARCHAR2,2,Y,사내협력사VENDOR,개인법인구분,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_FOND_YN,VARCHAR2,1,Y,사내협력사VENDOR,사내창립유무,NULL
+SHI1,CMCTB_VENDOR_INCO,DOCK_NO,VARCHAR2,25,Y,사내협력사VENDOR,도크번호,NULL
+SHI1,CMCTB_VENDOR_INCO,OCMP_INP_DT,VARCHAR2,8,Y,사내협력사VENDOR,당사투입일자,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_DUSE_DT,VARCHAR2,8,Y,사내협력사VENDOR,사내철수일자,NULL
+SHI1,CMCTB_VENDOR_INCO,INDST_INS_PMRAT,NUMBER,22,Y,사내협력사VENDOR,산재보험요율,NULL
+SHI1,CMCTB_VENDOR_INCO,CNRT_PFRM_GRAMT,NUMBER,22,Y,사내협력사VENDOR,계약이행보증금,NULL
+SHI1,CMCTB_VENDOR_INCO,WGE_RAT,NUMBER,22,Y,사내협력사VENDOR,임금율,NULL
+SHI1,CMCTB_VENDOR_INCO,CRSPD_DEPTCD_1,VARCHAR2,30,Y,사내협력사VENDOR,해당부서코드1,NULL
+SHI1,CMCTB_VENDOR_INCO,CRSPD_DEPTCD_2,VARCHAR2,30,Y,사내협력사VENDOR,해당부서코드2,NULL
+SHI1,CMCTB_VENDOR_INCO,CRSPD_TEAM_BLNG,VARCHAR2,100,Y,사내협력사VENDOR,해당팀소속,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_ITM_1,VARCHAR2,120,Y,사내협력사VENDOR,사내협력사종목1,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_ITM_2,VARCHAR2,120,Y,사내협력사VENDOR,사내협력사종목2,NULL
+SHI1,CMCTB_VENDOR_INCO,OFC_LOC,VARCHAR2,240,Y,사내협력사VENDOR,사무실위치,NULL
+SHI1,CMCTB_VENDOR_INCO,REP_OCMP_CARR,VARCHAR2,300,Y,사내협력사VENDOR,대표당사경력,NULL
+SHI1,CMCTB_VENDOR_INCO,INCO_DUSE_CAUS,VARCHAR2,600,Y,사내협력사VENDOR,사내철수사유,NULL
+SHI1,CMCTB_VENDOR_INCO,TEL_NO,VARCHAR2,30,Y,사내협력사VENDOR,전화번호,NULL
+SHI1,CMCTB_VENDOR_INCO,ADR1,VARCHAR2,200,Y,사내협력사VENDOR,주소,NULL
+SHI1,CMCTB_VENDOR_INCO,ADR2,VARCHAR2,200,Y,사내협력사VENDOR,상세주소,NULL
+SHI1,CMCTB_VENDOR_INCO,OLD_VNDRCD,VARCHAR2,10,Y,사내협력사VENDOR,이전 VENDOR코드,NULL
+SHI1,CMCTB_VENDOR_INCO,TREE_NUM,VARCHAR2,1,Y,사내협력사VENDOR,하위 VENDOR 갯수,NULL
+SHI1,CMCTB_VENDOR_INCO,CRTE_DT,VARCHAR2,8,Y,사내협력사VENDOR,생성일자,NULL
+SHI1,CMCTB_VENDOR_INCO,CRTE_TM,VARCHAR2,6,Y,사내협력사VENDOR,생성시간,NULL
+SHI1,CMCTB_VENDOR_INCO,CRTE_USR_ID,VARCHAR2,13,Y,사내협력사VENDOR,생성사용자ID,NULL
+SHI1,CMCTB_VENDOR_INCO,CHG_DT,VARCHAR2,8,Y,사내협력사VENDOR,수정일자,NULL
+SHI1,CMCTB_VENDOR_INCO,CHG_TM,VARCHAR2,6,Y,사내협력사VENDOR,수정시간,NULL
+SHI1,CMCTB_VENDOR_INCO,CHG_USR_ID,VARCHAR2,13,Y,사내협력사VENDOR,수정사용자ID,NULL
+SHI1,CMCTB_VENDOR_INCO,UPR_JBTYPE,VARCHAR2,2,Y,사내협력사VENDOR,직종단가,NULL
+SHI1,CMCTB_VENDOR_INCO,ZBYBP,VARCHAR2,4,Y,사내협력사VENDOR,공급받는자 종사업장 식별코드,NULL
+SHI1,CMCTB_VENDOR_INCO,RMK,VARCHAR2,4000,Y,사내협력사VENDOR,비고,NULL
+SHI1,CMCTB_VENDOR_INCO,WDL_PLN_YN,VARCHAR2,1,Y,사내협력사VENDOR,철수예정유무,NULL
+SHI1,CMCTB_VENDOR_INCO,WGE_DELY_DVL,VARCHAR2,8,Y,사내협력사VENDOR,임금체불발생,NULL
+SHI1,CMCTB_VENDOR_INCO,ESCROW_YN,VARCHAR2,1,Y,사내협력사VENDOR,에스크로가입유무,NULL
+SHI1,CMCTB_VENDOR_PORG,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (구매조직),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_PORG,PUR_ORG_CD,VARCHAR2,4,N,Vendor 마스터 (구매조직),구매조직,"CHECK, PK"
+SHI1,CMCTB_VENDOR_PORG,PUR_ORD_CUR,VARCHAR2,5,Y,Vendor 마스터 (구매조직),구매오더통화,NULL
+SHI1,CMCTB_VENDOR_PORG,SPLY_COND,VARCHAR2,4,Y,Vendor 마스터 (구매조직),지급조건,NULL
+SHI1,CMCTB_VENDOR_PORG,DL_COND_1,VARCHAR2,3,Y,Vendor 마스터 (구매조직),인도조건1,NULL
+SHI1,CMCTB_VENDOR_PORG,DL_COND_2,VARCHAR2,90,Y,Vendor 마스터 (구매조직),인도조건2,NULL
+SHI1,CMCTB_VENDOR_PORG,CALC_SHM_GRP,VARCHAR2,2,Y,Vendor 마스터 (구매조직),계산스키마그룹,NULL
+SHI1,CMCTB_VENDOR_PORG,GR_BSE_INVC_VR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),GR기준송장검증,NULL
+SHI1,CMCTB_VENDOR_PORG,AT_PUR_ORD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),자동구매오더지시자,CHECK
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),구매보류지시자,CHECK
+SHI1,CMCTB_VENDOR_PORG,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),삭제지시자,CHECK
+SHI1,CMCTB_VENDOR_PORG,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (구매조직),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_PORG,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (구매조직),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_PORG,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (구매조직),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_PORG,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (구매조직),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_PORG,ORD_CNFM_REQ_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),오더확인요청지시자,NULL
+SHI1,CMCTB_VENDOR_PORG,SALE_CHRGR_NM,VARCHAR2,120,Y,Vendor 마스터 (구매조직),영업담당자명,NULL
+SHI1,CMCTB_VENDOR_PORG,VNDR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (구매조직),VENDOR전화번호,NULL
+SHI1,CMCTB_VENDOR_PORG,CNFM_CTL_KEY,VARCHAR2,4,Y,Vendor 마스터 (구매조직),확정제어키,NULL
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_DT,VARCHAR2,8,Y,Vendor 마스터 (구매조직),구매보류일자,NULL
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_CAUS,VARCHAR2,120,Y,Vendor 마스터 (구매조직),구매보류사유,NULL
+SHI1,CMCTB_VENDOR_REPREMAIL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 EMAIL),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPREMAIL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 EMAIL),주소번호,CHECK
+SHI1,CMCTB_VENDOR_REPREMAIL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 EMAIL),대표자순번,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPREMAIL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 EMAIL),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPREMAIL,EMAIL_ADR,VARCHAR2,241,Y,Vendor 마스터 (대표자 EMAIL),이메일주소,NULL
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 EMAIL),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 EMAIL),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 EMAIL),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 EMAIL),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 팩스번호),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRFAX,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 팩스번호),주소번호,CHECK
+SHI1,CMCTB_VENDOR_REPRFAX,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 팩스번호),대표자순번,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRFAX,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 팩스번호),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRFAX,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (대표자 팩스번호),국가코드,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,FAXNO,VARCHAR2,30,Y,Vendor 마스터 (대표자 팩스번호),팩스번호,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,FAX_ETS_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 팩스번호),팩스내선번호,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 팩스번호),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 팩스번호),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 팩스번호),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_REPRFAX,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 팩스번호),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 전화번호),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRTEL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 전화번호),주소번호,CHECK
+SHI1,CMCTB_VENDOR_REPRTEL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 전화번호),대표자순번,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRTEL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 전화번호),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRTEL,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (대표자 전화번호),국가코드,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,TELNO,VARCHAR2,30,Y,Vendor 마스터 (대표자 전화번호),전화번호,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,ETX_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 전화번호),내선번호,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,HP_ORDR,VARCHAR2,1,Y,Vendor 마스터 (대표자 전화번호),핸드폰지시자,CHECK
+SHI1,CMCTB_VENDOR_REPRTEL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 전화번호),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 전화번호),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 전화번호),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_REPRTEL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 전화번호),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_REPRURL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 URL),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRURL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 URL),주소번호,CHECK
+SHI1,CMCTB_VENDOR_REPRURL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 URL),대표자순번,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRURL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 URL),유효시작일자,"CHECK, PK"
+SHI1,CMCTB_VENDOR_REPRURL,URL,VARCHAR2,2048,Y,Vendor 마스터 (대표자 URL),URL,NULL
+SHI1,CMCTB_VENDOR_REPRURL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 URL),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_REPRURL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 URL),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_REPRURL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 URL),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_REPRURL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 URL),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_TAXNUM,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (세금번호),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_TAXNUM,TX_NO_CTG,VARCHAR2,4,N,Vendor 마스터 (세금번호),세금번호범주,"CHECK, PK"
+SHI1,CMCTB_VENDOR_TAXNUM,BIZ_PTNR_TX_NO,VARCHAR2,20,Y,Vendor 마스터 (세금번호),사업파트너세금번호,NULL
+SHI1,CMCTB_VENDOR_TAXNUM,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (세금번호),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_TAXNUM,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (세금번호),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_TAXNUM,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (세금번호),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_TAXNUM,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (세금번호),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_VFPN,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (파트너역할),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,PUR_ORG_CD,VARCHAR2,4,N,Vendor 마스터 (파트너역할),구매조직,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,VNDR_SUB_NO,VARCHAR2,6,N,Vendor 마스터 (파트너역할),VENDOR서브번호,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,PLNT_CD,VARCHAR2,4,N,Vendor 마스터 (파트너역할),플랜트코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,PTNR_SKL,VARCHAR2,2,N,Vendor 마스터 (파트너역할),파트너기능,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,PTNR_CNT,VARCHAR2,3,N,Vendor 마스터 (파트너역할),파트너카운터,"CHECK, PK"
+SHI1,CMCTB_VENDOR_VFPN,ETC_REF_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (파트너역할),기타참조VENDOR코드,NULL
+SHI1,CMCTB_VENDOR_VFPN,BSE_PTNR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (파트너역할),기본파트너지시자,CHECK
+SHI1,CMCTB_VENDOR_VFPN,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (파트너역할),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_VFPN,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (파트너역할),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_VFPN,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (파트너역할),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_VFPN,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (파트너역할),인터페이스메시지,NULL
+SHI1,CMCTB_VENDOR_WHTHX,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (원천세유형),VENDOR코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_WHTHX,CO_CD,VARCHAR2,4,N,Vendor 마스터 (원천세유형),회사코드,"CHECK, PK"
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_TP,VARCHAR2,2,N,Vendor 마스터 (원천세유형),원천세유형,"CHECK, PK"
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_REL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (원천세유형),원천세관련지시자,NULL
+SHI1,CMCTB_VENDOR_WHTHX,RECIP_TP,VARCHAR2,2,Y,Vendor 마스터 (원천세유형),수취인유형,NULL
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_IDENT_NO,VARCHAR2,16,Y,Vendor 마스터 (원천세유형),원천세식별번호,NULL
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_NO,VARCHAR2,2,Y,Vendor 마스터 (원천세유형),원천세코드,NULL
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_CERT_NO,VARCHAR2,15,Y,Vendor 마스터 (원천세유형),면제증명서번호,NULL
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_RAT,NUMBER,22,Y,Vendor 마스터 (원천세유형),면제율,NULL
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_ST_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),면제시작일자,NULL
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_ED_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),면제종료일,NULL
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_CAUS,VARCHAR2,200,Y,Vendor 마스터 (원천세유형),면제사유,NULL
+SHI1,CMCTB_VENDOR_WHTHX,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),인터페이스일자,NULL
+SHI1,CMCTB_VENDOR_WHTHX,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (원천세유형),인터페이스시간,NULL
+SHI1,CMCTB_VENDOR_WHTHX,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (원천세유형),인터페이스상태,NULL
+SHI1,CMCTB_VENDOR_WHTHX,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (원천세유형),인터페이스메시지,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_PROJ_NO,VARCHAR2,24,N,견적프로젝트기준정보,견적프로젝트번호,PK
+SHI1,PLFTB_ESTM_PROJ_MAST,AGND_NO,VARCHAR2,8,Y,견적프로젝트기준정보,안건번호,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_PROJ_NM,VARCHAR2,100,Y,견적프로젝트기준정보,견적프로젝트명,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,BIZ_CLS,VARCHAR2,1,Y,견적프로젝트기준정보,사업부문,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,REV_NO,NUMBER,22,Y,견적프로젝트기준정보,리비젼번호,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_TYPE,VARCHAR2,1,Y,견적프로젝트기준정보,견적유형,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,OWNER_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선주사코드,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,SERS_CNT,NUMBER,22,Y,견적프로젝트기준정보,시리즈순번,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,SKND_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선종코드,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선형코드,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_SIZE,NUMBER,22,Y,견적프로젝트기준정보,선형크기,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_UOM,VARCHAR2,10,Y,견적프로젝트기준정보,선형단위,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,CHRTR_CD,VARCHAR2,10,Y,견적프로젝트기준정보,관청코드,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,NATN_CD,VARCHAR2,10,Y,견적프로젝트기준정보,국가코드,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_1,VARCHAR2,10,Y,견적프로젝트기준정보,선급1,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_2,VARCHAR2,10,Y,견적프로젝트기준정보,선급2,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_3,VARCHAR2,10,Y,견적프로젝트기준정보,선급3,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,DATA_CRTE_GB,VARCHAR2,2,Y,견적프로젝트기준정보,데이터생성구분,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,FS_INPR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,최초등록자ID,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,FS_INP_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,최초등록일시,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,FIN_CHGR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,최종수정자ID,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,FIN_CHG_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,최종수정일시,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_1,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값1,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_2,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값2,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_3,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값3,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_4,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값4,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_APP_ID,VARCHAR2,32,Y,견적프로젝트기준정보,견적물량결재ID,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT,VARCHAR2,1,Y,견적프로젝트기준정보,견적물량상태,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT_CHGR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,견적물량상태변경자ID,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT_CHG_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,견적물량상태변경일시,NULL
+SHI1,PLFTB_ESTM_PROJ_MAST,IF_TRGT_YN,VARCHAR2,1,Y,견적프로젝트기준정보,IF대상여부,NULL
diff --git a/lib/oracle-db/nonsap/1.table-and-columns-info.csv.before b/lib/oracle-db/nonsap/1.table-and-columns-info.csv.before
new file mode 100644
index 00000000..1b54e714
--- /dev/null
+++ b/lib/oracle-db/nonsap/1.table-and-columns-info.csv.before
@@ -0,0 +1,922 @@
+OWNER,TABLE_NAME,COLUMN_NAME,DATA_TYPE,DATA_LENGTH,NULLABLE,TABLE_COMMENTS,COLUMN_COMMENTS
+SHI1,CMCTB_CD,CD_CLF,VARCHAR2,10,N,코드,코드분류
+SHI1,CMCTB_CD,CD,VARCHAR2,10,N,코드,코드
+SHI1,CMCTB_CD,CD2,VARCHAR2,10,N,코드,코드2
+SHI1,CMCTB_CD,CD3,VARCHAR2,10,N,코드,코드3
+SHI1,CMCTB_CD,USR_DF_CHAR_1,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_2,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_3,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_4,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_5,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_6,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_7,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_8,VARCHAR2,60,Y,코드,사용자정의문자열10
+SHI1,CMCTB_CD,USR_DF_CHAR_9,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_10,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_11,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_12,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_13,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_14,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_15,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_16,VARCHAR2,60,Y,코드,사용자정의문자열20
+SHI1,CMCTB_CD,USR_DF_CHAR_17,VARCHAR2,120,Y,코드,사용자정의문자열40
+SHI1,CMCTB_CD,USR_DF_CHAR_18,VARCHAR2,120,Y,코드,사용자정의문자열40
+SHI1,CMCTB_CD,USR_DF_CHAR_19,VARCHAR2,765,Y,코드,사용자정의문자열255
+SHI1,CMCTB_CD,USR_DF_CHAR_20,VARCHAR2,765,Y,코드,사용자정의문자열255
+SHI1,CMCTB_CD,USR_DF_CHK_1,VARCHAR2,1,Y,코드,사용자정의체크1
+SHI1,CMCTB_CD,USR_DF_CHK_2,VARCHAR2,1,Y,코드,사용자정의체크2
+SHI1,CMCTB_CD,USR_DF_CHK_3,VARCHAR2,1,Y,코드,사용자정의체크3
+SHI1,CMCTB_CD,USR_DF_CHK_4,VARCHAR2,1,Y,코드,사용자정의체크4
+SHI1,CMCTB_CD,USR_DF_CHK_5,VARCHAR2,1,Y,코드,사용자정의체크5
+SHI1,CMCTB_CD,USR_DF_CHK_6,VARCHAR2,1,Y,코드,사용자정의체크6
+SHI1,CMCTB_CD,USR_DF_CHK_7,VARCHAR2,1,Y,코드,사용자정의체크7
+SHI1,CMCTB_CD,USR_DF_CHK_8,VARCHAR2,1,Y,코드,사용자정의체크8
+SHI1,CMCTB_CD,USR_DF_DT_1,VARCHAR2,8,Y,코드,사용자정의일자1
+SHI1,CMCTB_CD,USR_DF_DT_2,VARCHAR2,8,Y,코드,사용자정의일자2
+SHI1,CMCTB_CD,USR_DF_DT_3,VARCHAR2,8,Y,코드,사용자정의일자3
+SHI1,CMCTB_CD,USR_DF_DT_4,VARCHAR2,8,Y,코드,사용자정의일자4
+SHI1,CMCTB_CD,USR_DF_TM_1,VARCHAR2,6,Y,코드,사용자정의시간1
+SHI1,CMCTB_CD,USR_DF_TM_2,VARCHAR2,6,Y,코드,사용자정의시간2
+SHI1,CMCTB_CD,USR_DF_TM_3,VARCHAR2,6,Y,코드,사용자정의시간3
+SHI1,CMCTB_CD,USR_DF_TM_4,VARCHAR2,6,Y,코드,사용자정의시간4
+SHI1,CMCTB_CD,CRTER,VARCHAR2,13,Y,코드,생성자
+SHI1,CMCTB_CD,CRTE_DT,VARCHAR2,8,Y,코드,생성일자
+SHI1,CMCTB_CD,CRTE_TM,VARCHAR2,6,Y,코드,생성시간
+SHI1,CMCTB_CD,CHGR,VARCHAR2,13,Y,코드,수정자
+SHI1,CMCTB_CD,CHG_DT,VARCHAR2,8,Y,코드,수정일자
+SHI1,CMCTB_CD,CHG_TM,VARCHAR2,6,Y,코드,수정시간
+SHI1,CMCTB_CD,DEL_YN,VARCHAR2,1,Y,코드,삭제여부
+SHI1,CMCTB_CDNM,LANG_KEY,VARCHAR2,1,N,코드내역,언어키
+SHI1,CMCTB_CDNM,CD_CLF,VARCHAR2,10,N,코드내역,코드분류
+SHI1,CMCTB_CDNM,CD,VARCHAR2,10,N,코드내역,코드
+SHI1,CMCTB_CDNM,CD2,VARCHAR2,10,N,코드내역,코드2
+SHI1,CMCTB_CDNM,CD3,VARCHAR2,10,N,코드내역,코드3
+SHI1,CMCTB_CDNM,CDNM,VARCHAR2,120,Y,코드내역,코드명
+SHI1,CMCTB_CDNM,GRP_DSC,VARCHAR2,500,Y,코드내역,그룹설명
+SHI1,CMCTB_CDNM,CRTER,VARCHAR2,13,Y,코드내역,생성자
+SHI1,CMCTB_CDNM,CRTE_DT,VARCHAR2,8,Y,코드내역,생성일자
+SHI1,CMCTB_CDNM,CRTE_TM,VARCHAR2,6,Y,코드내역,생성시간
+SHI1,CMCTB_CDNM,CHGR,VARCHAR2,13,Y,코드내역,수정자
+SHI1,CMCTB_CDNM,CHG_DT,VARCHAR2,8,Y,코드내역,수정일자
+SHI1,CMCTB_CDNM,CHG_TM,VARCHAR2,6,Y,코드내역,수정시간
+SHI1,CMCTB_CDNM,DEL_YN,VARCHAR2,1,Y,코드내역,삭제여부
+SHI1,CMCTB_CD_CLF,CD_CLF,VARCHAR2,10,N,공통코드클래스,코드분류
+SHI1,CMCTB_CD_CLF,CRTER,VARCHAR2,13,Y,공통코드클래스,생성자
+SHI1,CMCTB_CD_CLF,CRTE_DT,VARCHAR2,8,Y,공통코드클래스,생성일자
+SHI1,CMCTB_CD_CLF,CRTE_TM,VARCHAR2,6,Y,공통코드클래스,생성시간
+SHI1,CMCTB_CD_CLF,CHGR,VARCHAR2,13,Y,공통코드클래스,수정자
+SHI1,CMCTB_CD_CLF,CHG_DT,VARCHAR2,8,Y,공통코드클래스,수정일자
+SHI1,CMCTB_CD_CLF,CHG_TM,VARCHAR2,6,Y,공통코드클래스,수정시간
+SHI1,CMCTB_CD_CLF,DEL_YN,VARCHAR2,1,Y,공통코드클래스,삭제여부
+SHI1,CMCTB_CD_CLF,XSTAT,VARCHAR2,1,Y,공통코드클래스,I/F 상태
+SHI1,CMCTB_CD_CLF,XMSGS,VARCHAR2,300,Y,공통코드클래스,I/F Message
+SHI1,CMCTB_CD_CLF,XDATS,VARCHAR2,8,Y,공통코드클래스,I/F 일자
+SHI1,CMCTB_CD_CLF,XTIMS,VARCHAR2,6,Y,공통코드클래스,I/F 시간
+SHI1,CMCTB_CD_CLF_NM,LANG_KEY,VARCHAR2,1,N,공통코드클래스,언어키
+SHI1,CMCTB_CD_CLF_NM,CD_CLF,VARCHAR2,10,N,공통코드클래스,코드분류
+SHI1,CMCTB_CD_CLF_NM,CD_CLF_NM,VARCHAR2,120,Y,공통코드클래스,코드분류명
+SHI1,CMCTB_CD_CLF_NM,GRP_DSC,VARCHAR2,120,Y,공통코드클래스,그룹설명
+SHI1,CMCTB_CD_CLF_NM,CRTER,VARCHAR2,13,Y,공통코드클래스,생성자
+SHI1,CMCTB_CD_CLF_NM,CRTE_DT,VARCHAR2,8,Y,공통코드클래스,생성일자
+SHI1,CMCTB_CD_CLF_NM,CRTE_TM,VARCHAR2,6,Y,공통코드클래스,생성시간
+SHI1,CMCTB_CD_CLF_NM,CHGR,VARCHAR2,13,Y,공통코드클래스,수정자
+SHI1,CMCTB_CD_CLF_NM,CHG_DT,VARCHAR2,8,Y,공통코드클래스,수정일자
+SHI1,CMCTB_CD_CLF_NM,CHG_TM,VARCHAR2,6,Y,공통코드클래스,수정시간
+SHI1,CMCTB_CD_CLF_NM,DEL_YN,VARCHAR2,1,Y,공통코드클래스,삭제여부
+SHI1,CMCTB_CUSTOMER_ADDR,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(주소),내부고객번호
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(주소),주소번호
+SHI1,CMCTB_CUSTOMER_ADDR,INTL_ADR_VER_ID,VARCHAR2,1,N,CUSTOMER 마스터(주소),국제주소버전ID
+SHI1,CMCTB_CUSTOMER_ADDR,NTN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(주소),국가코드
+SHI1,CMCTB_CUSTOMER_ADDR,CITY_ZIP_NO,VARCHAR2,10,Y,CUSTOMER 마스터(주소),도시우편번호
+SHI1,CMCTB_CUSTOMER_ADDR,POBX_ZIP_NO,VARCHAR2,10,Y,CUSTOMER 마스터(주소),사서함우편번호
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_1,VARCHAR2,120,Y,CUSTOMER 마스터(주소),주소1
+SHI1,CMCTB_CUSTOMER_ADDR,ADR_2,VARCHAR2,120,Y,CUSTOMER 마스터(주소),주소2
+SHI1,CMCTB_CUSTOMER_ADDR,REGN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(주소),지역코드
+SHI1,CMCTB_CUSTOMER_ADDR,ETC_ADR_1,VARCHAR2,180,Y,CUSTOMER 마스터(주소),기타주소1
+SHI1,CMCTB_CUSTOMER_ADDR,ETC_ADR_2,VARCHAR2,30,Y,CUSTOMER 마스터(주소),기타주소2
+SHI1,CMCTB_CUSTOMER_ADDR,HOUSE_NR1,VARCHAR2,10,Y,CUSTOMER 마스터(주소),House Number
+SHI1,CMCTB_CUSTOMER_ADDR,POBX,VARCHAR2,30,Y,CUSTOMER 마스터(주소),사서함
+SHI1,CMCTB_CUSTOMER_ADDR,LANG_KEY,VARCHAR2,1,Y,CUSTOMER 마스터(주소),언어키
+SHI1,CMCTB_CUSTOMER_ADDR,VNDRNM_1,VARCHAR2,120,Y,CUSTOMER 마스터(주소),업체명1
+SHI1,CMCTB_CUSTOMER_ADDR,VNDRNM_2,VARCHAR2,120,Y,CUSTOMER 마스터(주소),업체명2
+SHI1,CMCTB_CUSTOMER_ADDR,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(주소),인터페이스일자
+SHI1,CMCTB_CUSTOMER_ADDR,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(주소),인터페이스시간
+SHI1,CMCTB_CUSTOMER_ADDR,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(주소),인터페이스상태
+SHI1,CMCTB_CUSTOMER_ADDR,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(주소),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_ADDR,TRANS_ZONE,VARCHAR2,10,Y,CUSTOMER 마스터(주소),운송구역
+SHI1,CMCTB_CUSTOMER_CFPN,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (파트너역할),내부고객번호
+SHI1,CMCTB_CUSTOMER_CFPN,SALE_ORG_CD,VARCHAR2,4,N,CUSTOMER 마스터 (파트너역할),영업조직코드
+SHI1,CMCTB_CUSTOMER_CFPN,DIST_PATH,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),유통경로
+SHI1,CMCTB_CUSTOMER_CFPN,PDT_GRP,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),제품군
+SHI1,CMCTB_CUSTOMER_CFPN,PTNR_SKL,VARCHAR2,2,N,CUSTOMER 마스터 (파트너역할),파트너기능
+SHI1,CMCTB_CUSTOMER_CFPN,PTNR_CNT,VARCHAR2,3,N,CUSTOMER 마스터 (파트너역할),파트너카운터
+SHI1,CMCTB_CUSTOMER_CFPN,BSE_PTNR_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (파트너역할),기본파트너지시자
+SHI1,CMCTB_CUSTOMER_CFPN,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (파트너역할),인터페이스일자
+SHI1,CMCTB_CUSTOMER_CFPN,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (파트너역할),인터페이스시간
+SHI1,CMCTB_CUSTOMER_CFPN,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (파트너역할),인터페이스상태
+SHI1,CMCTB_CUSTOMER_CFPN,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (파트너역할),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_COMPNY,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (Company),내부고객번호
+SHI1,CMCTB_CUSTOMER_COMPNY,CO_ID,VARCHAR2,4,N,CUSTOMER 마스터 (Company),법인ID
+SHI1,CMCTB_CUSTOMER_COMPNY,AR_ACNT_HDL_GB,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),AR계정처리구분
+SHI1,CMCTB_CUSTOMER_COMPNY,SRT_KEY,VARCHAR2,3,Y,CUSTOMER 마스터 (Company),정렬Key
+SHI1,CMCTB_CUSTOMER_COMPNY,AMT_RNE_GB,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),자금수지구분
+SHI1,CMCTB_CUSTOMER_COMPNY,VNDR_PAY_FRM,VARCHAR2,10,Y,CUSTOMER 마스터 (Company),거래선 지불형태
+SHI1,CMCTB_CUSTOMER_COMPNY,BILL_PAY_COND_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (Company),대금지블조건코드
+SHI1,CMCTB_CUSTOMER_COMPNY,BILL_PAY_BLOC_CD,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),대금지불Block코드
+SHI1,CMCTB_CUSTOMER_COMPNY,PST_HOLD_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),전기보류지시자
+SHI1,CMCTB_CUSTOMER_COMPNY,DEL_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),삭제지시자
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (Company),인터페이스일자
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (Company),인터페이스시간
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (Company),인터페이스상태
+SHI1,CMCTB_CUSTOMER_COMPNY,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (Company),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터 (일반 ),내부고객번호
+SHI1,CMCTB_CUSTOMER_GENERAL,ADR_NO,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),주소번호
+SHI1,CMCTB_CUSTOMER_GENERAL,REPR_SER,VARCHAR2,3,Y,CUSTOMER 마스터 (일반 ),대표순번
+SHI1,CMCTB_CUSTOMER_GENERAL,ACNT_GRP,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),계정그룹
+SHI1,CMCTB_CUSTOMER_GENERAL,OVLAP_CAUS,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),중복사유
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_TP,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),고객타입
+SHI1,CMCTB_CUSTOMER_GENERAL,DEL_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),삭제지시자
+SHI1,CMCTB_CUSTOMER_GENERAL,DEL_BLOCK,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),삭제블락
+SHI1,CMCTB_CUSTOMER_GENERAL,PST_HOLD_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),전기보류지시자
+SHI1,CMCTB_CUSTOMER_GENERAL,CO_ID,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),법인ID
+SHI1,CMCTB_CUSTOMER_GENERAL,TTL,VARCHAR2,45,Y,CUSTOMER 마스터 (일반 ),타이틀
+SHI1,CMCTB_CUSTOMER_GENERAL,COND_GRP_1,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),조건 그룹 1
+SHI1,CMCTB_CUSTOMER_GENERAL,CSTM_GRP_NM,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),고객 그룹 명
+SHI1,CMCTB_CUSTOMER_GENERAL,REPR_NM,VARCHAR2,30,Y,CUSTOMER 마스터 (일반 ),대표자명
+SHI1,CMCTB_CUSTOMER_GENERAL,BIZTP,VARCHAR2,90,Y,CUSTOMER 마스터 (일반 ),사업유형
+SHI1,CMCTB_CUSTOMER_GENERAL,BIZCON,VARCHAR2,90,Y,CUSTOMER 마스터 (일반 ),산업유형
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_2,VARCHAR2,11,Y,CUSTOMER 마스터 (일반 ),Tax Number 2
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_3,VARCHAR2,18,Y,CUSTOMER 마스터 (일반 ),Tax Number 3
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_4,VARCHAR2,18,Y,CUSTOMER 마스터 (일반 ),Tax Number 4
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_REG_NO,VARCHAR2,20,Y,CUSTOMER 마스터 (일반 ),세금 등록 번호
+SHI1,CMCTB_CUSTOMER_GENERAL,BA_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),BA코드
+SHI1,CMCTB_CUSTOMER_GENERAL,VNDRCD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),벤더코드
+SHI1,CMCTB_CUSTOMER_GENERAL,SRCH_COND_1,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),검색조건1
+SHI1,CMCTB_CUSTOMER_GENERAL,SRCH_COND_2,VARCHAR2,60,Y,CUSTOMER 마스터 (일반 ),검색조건2
+SHI1,CMCTB_CUSTOMER_GENERAL,CITY_DISP_NM,VARCHAR2,105,Y,CUSTOMER 마스터 (일반 ),도시 거리 명
+SHI1,CMCTB_CUSTOMER_GENERAL,CRM_CD,VARCHAR2,20,Y,CUSTOMER 마스터 (일반 ),CRM Code
+SHI1,CMCTB_CUSTOMER_GENERAL,IN_FLAG,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),Inbound Flag
+SHI1,CMCTB_CUSTOMER_GENERAL,INDST_CD,VARCHAR2,4,Y,CUSTOMER 마스터 (일반 ),Industry
+SHI1,CMCTB_CUSTOMER_GENERAL,TX_NO_TP,VARCHAR2,2,Y,CUSTOMER 마스터 (일반 ),세금 번호 타입
+SHI1,CMCTB_CUSTOMER_GENERAL,LANG_KEY,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),언어 키
+SHI1,CMCTB_CUSTOMER_GENERAL,REG_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),등록일자
+SHI1,CMCTB_CUSTOMER_GENERAL,REG_DTM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),등록시간
+SHI1,CMCTB_CUSTOMER_GENERAL,REGR_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),등록자ID
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),승인일자
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),승인시간
+SHI1,CMCTB_CUSTOMER_GENERAL,AGR_R_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),승인자ID
+SHI1,CMCTB_CUSTOMER_GENERAL,CHG_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),변경일자
+SHI1,CMCTB_CUSTOMER_GENERAL,CHG_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),변경시간
+SHI1,CMCTB_CUSTOMER_GENERAL,CHGR_ID,VARCHAR2,13,Y,CUSTOMER 마스터 (일반 ),변경자ID
+SHI1,CMCTB_CUSTOMER_GENERAL,FTGT_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree GT코드
+SHI1,CMCTB_CUSTOMER_GENERAL,FTGT_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree GT Name
+SHI1,CMCTB_CUSTOMER_GENERAL,FTDT_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree DT 코드
+SHI1,CMCTB_CUSTOMER_GENERAL,FTDT_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree DT 이름
+SHI1,CMCTB_CUSTOMER_GENERAL,FTBU_CD,VARCHAR2,10,Y,CUSTOMER 마스터 (일반 ),F-Tree BU 코드
+SHI1,CMCTB_CUSTOMER_GENERAL,FTBU_NM,VARCHAR2,120,Y,CUSTOMER 마스터 (일반 ),F-Tree BU 이름
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터 (일반 ),인터페이스일자
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터 (일반 ),인터페이스시간
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터 (일반 ),인터페이스상태
+SHI1,CMCTB_CUSTOMER_GENERAL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터 (일반 ),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_REPREMAIL,CSTM_CD,VARCHAR2,10,N,CUSTOMER마스터(대표자 EMAIL),내부고객번호
+SHI1,CMCTB_CUSTOMER_REPREMAIL,ADR_NO,VARCHAR2,10,N,CUSTOMER마스터(대표자 EMAIL),주소번호
+SHI1,CMCTB_CUSTOMER_REPREMAIL,REPR_SER,VARCHAR2,3,N,CUSTOMER마스터(대표자 EMAIL),대표자순번
+SHI1,CMCTB_CUSTOMER_REPREMAIL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER마스터(대표자 EMAIL),유효시작일자
+SHI1,CMCTB_CUSTOMER_REPREMAIL,EMAIL_ADR,VARCHAR2,241,Y,CUSTOMER마스터(대표자 EMAIL),이메일주소
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_DT,VARCHAR2,8,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스일자
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_TM,VARCHAR2,6,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스시간
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_STAT,VARCHAR2,1,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스상태
+SHI1,CMCTB_CUSTOMER_REPREMAIL,IF_MSG,VARCHAR2,100,Y,CUSTOMER마스터(대표자 EMAIL),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_REPRFAX,CSTM_CD,VARCHAR2,10,N,CUSTOMER마스터(대표자 팩스번호),내부고객번호
+SHI1,CMCTB_CUSTOMER_REPRFAX,ADR_NO,VARCHAR2,10,N,CUSTOMER마스터(대표자 팩스번호),주소번호
+SHI1,CMCTB_CUSTOMER_REPRFAX,REPR_SER,VARCHAR2,3,N,CUSTOMER마스터(대표자 팩스번호),대표자순번
+SHI1,CMCTB_CUSTOMER_REPRFAX,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER마스터(대표자 팩스번호),유효시작일자
+SHI1,CMCTB_CUSTOMER_REPRFAX,NTN_CD,VARCHAR2,3,Y,CUSTOMER마스터(대표자 팩스번호),국가코드
+SHI1,CMCTB_CUSTOMER_REPRFAX,FAXNO,VARCHAR2,30,Y,CUSTOMER마스터(대표자 팩스번호),팩스번호
+SHI1,CMCTB_CUSTOMER_REPRFAX,FAX_ETS_NO,VARCHAR2,10,Y,CUSTOMER마스터(대표자 팩스번호),팩스내선번호
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_DT,VARCHAR2,8,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스일자
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_TM,VARCHAR2,6,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스시간
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_STAT,VARCHAR2,1,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스상태
+SHI1,CMCTB_CUSTOMER_REPRFAX,IF_MSG,VARCHAR2,100,Y,CUSTOMER마스터(대표자 팩스번호),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_REPRTEL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(대표자 전화번호),내부고객번호
+SHI1,CMCTB_CUSTOMER_REPRTEL,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(대표자 전화번호),주소번호
+SHI1,CMCTB_CUSTOMER_REPRTEL,REPR_SER,VARCHAR2,3,N,CUSTOMER 마스터(대표자 전화번호),대표자순번
+SHI1,CMCTB_CUSTOMER_REPRTEL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER 마스터(대표자 전화번호),유효시작일자
+SHI1,CMCTB_CUSTOMER_REPRTEL,NTN_CD,VARCHAR2,3,Y,CUSTOMER 마스터(대표자 전화번호),국가코드
+SHI1,CMCTB_CUSTOMER_REPRTEL,TELNO,VARCHAR2,30,Y,CUSTOMER 마스터(대표자 전화번호),전화번호
+SHI1,CMCTB_CUSTOMER_REPRTEL,ETX_NO,VARCHAR2,10,Y,CUSTOMER 마스터(대표자 전화번호),내선번호
+SHI1,CMCTB_CUSTOMER_REPRTEL,HP_ORDR,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 전화번호),핸드폰지시자
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스일자
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스시간
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스상태
+SHI1,CMCTB_CUSTOMER_REPRTEL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(대표자 전화번호),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_REPRURL,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(대표자 URL),내부고객번호
+SHI1,CMCTB_CUSTOMER_REPRURL,ADR_NO,VARCHAR2,10,N,CUSTOMER 마스터(대표자 URL),주소번호
+SHI1,CMCTB_CUSTOMER_REPRURL,REPR_SER,VARCHAR2,3,N,CUSTOMER 마스터(대표자 URL),대표자순번
+SHI1,CMCTB_CUSTOMER_REPRURL,VLD_ST_DT,VARCHAR2,8,N,CUSTOMER 마스터(대표자 URL),유효시작일자
+SHI1,CMCTB_CUSTOMER_REPRURL,URL,VARCHAR2,2048,Y,CUSTOMER 마스터(대표자 URL),URL
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(대표자 URL),인터페이스일자
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(대표자 URL),인터페이스시간
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(대표자 URL),인터페이스상태
+SHI1,CMCTB_CUSTOMER_REPRURL,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(대표자 URL),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(영업조직),내부고객번호
+SHI1,CMCTB_CUSTOMER_SORG,SALE_ORG_CD,VARCHAR2,4,N,CUSTOMER 마스터(영업조직),영업조직코드
+SHI1,CMCTB_CUSTOMER_SORG,DIST_PATH,VARCHAR2,2,N,CUSTOMER 마스터(영업조직),유통경로
+SHI1,CMCTB_CUSTOMER_SORG,PDT_GRP,VARCHAR2,2,N,CUSTOMER 마스터(영업조직),제품군
+SHI1,CMCTB_CUSTOMER_SORG,SALE_REGN,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),판매지역
+SHI1,CMCTB_CUSTOMER_SORG,SALE_OFC,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),판매사무실
+SHI1,CMCTB_CUSTOMER_SORG,SALE_GRP,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),판매그룹
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_GRP,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),고객그룹
+SHI1,CMCTB_CUSTOMER_SORG,PSBL,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),확도
+SHI1,CMCTB_CUSTOMER_SORG,TRD_CUR,VARCHAR2,5,Y,CUSTOMER 마스터(영업조직),거래 통화
+SHI1,CMCTB_CUSTOMER_SORG,EXRAT_TP,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),환율유형
+SHI1,CMCTB_CUSTOMER_SORG,PRC_PRCS_DSC_CD,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),가격절차결정코드
+SHI1,CMCTB_CUSTOMER_SORG,CSTM_STAT_GRP,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),고객통계그룹
+SHI1,CMCTB_CUSTOMER_SORG,SHIPMT_COND,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),선적조건
+SHI1,CMCTB_CUSTOMER_SORG,MAX_TRD_QTY,NUMBER,22,Y,CUSTOMER 마스터(영업조직),최대거래수량
+SHI1,CMCTB_CUSTOMER_SORG,DL_COND_1,VARCHAR2,3,Y,CUSTOMER 마스터(영업조직),인도조건1
+SHI1,CMCTB_CUSTOMER_SORG,DL_COND_2,VARCHAR2,84,Y,CUSTOMER 마스터(영업조직),인도조건2
+SHI1,CMCTB_CUSTOMER_SORG,SPLY_COND,VARCHAR2,4,Y,CUSTOMER 마스터(영업조직),지급조건
+SHI1,CMCTB_CUSTOMER_SORG,ACNT_ASGN_GRP,VARCHAR2,2,Y,CUSTOMER 마스터(영업조직),계정할당그룹
+SHI1,CMCTB_CUSTOMER_SORG,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(영업조직),인터페이스일자
+SHI1,CMCTB_CUSTOMER_SORG,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(영업조직),인터페이스시간
+SHI1,CMCTB_CUSTOMER_SORG,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(영업조직),인터페이스상태
+SHI1,CMCTB_CUSTOMER_SORG,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(영업조직),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_TAXCD,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(세금정보),내부고객번호
+SHI1,CMCTB_CUSTOMER_TAXCD,DPRT_NTN,VARCHAR2,3,N,CUSTOMER 마스터(세금정보),출발국가
+SHI1,CMCTB_CUSTOMER_TAXCD,TX_CTG,VARCHAR2,4,N,CUSTOMER 마스터(세금정보),세금번호범주
+SHI1,CMCTB_CUSTOMER_TAXCD,CSTM_TX_CLF,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),고객세금분류
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(세금정보),인터페이스일자
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(세금정보),인터페이스시간
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),인터페이스상태
+SHI1,CMCTB_CUSTOMER_TAXCD,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(세금정보),인터페이스메시지
+SHI1,CMCTB_CUSTOMER_TAXNUM,CSTM_CD,VARCHAR2,10,N,CUSTOMER 마스터(세금정보),내부고객번호
+SHI1,CMCTB_CUSTOMER_TAXNUM,TX_NO_CTG,VARCHAR2,4,N,CUSTOMER 마스터(세금정보),세금번호범주
+SHI1,CMCTB_CUSTOMER_TAXNUM,BIZ_PTNR_TX_NO,VARCHAR2,20,Y,CUSTOMER 마스터(세금정보),사업파트너세금번호
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_DT,VARCHAR2,8,Y,CUSTOMER 마스터(세금정보),인터페이스일자
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_TM,VARCHAR2,6,Y,CUSTOMER 마스터(세금정보),인터페이스시간
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_STAT,VARCHAR2,1,Y,CUSTOMER 마스터(세금정보),인터페이스상태
+SHI1,CMCTB_CUSTOMER_TAXNUM,IF_MSG,VARCHAR2,100,Y,CUSTOMER 마스터(세금정보),인터페이스메시지
+SHI1,CMCTB_MAT_BSE,MAT_NO,VARCHAR2,18,N,자재마스터(기본),자재번호
+SHI1,CMCTB_MAT_BSE,SM_CD,VARCHAR2,18,Y,자재마스터(기본),SM코드
+SHI1,CMCTB_MAT_BSE,MAT_ID,VARCHAR2,50,Y,자재마스터(기본),자재ID
+SHI1,CMCTB_MAT_BSE,CLAS_CD,VARCHAR2,18,Y,자재마스터(기본),클래스코드
+SHI1,CMCTB_MAT_BSE,MAT_TP,VARCHAR2,4,Y,자재마스터(기본),자재유형
+SHI1,CMCTB_MAT_BSE,MAT_GB,VARCHAR2,1,Y,자재마스터(기본),자재구분
+SHI1,CMCTB_MAT_BSE,MAT_DTL,VARCHAR2,120,Y,자재마스터(기본),자재내역
+SHI1,CMCTB_MAT_BSE,MAT_DTL_SPEC,VARCHAR2,765,Y,자재마스터(기본),자재내역사양
+SHI1,CMCTB_MAT_BSE,MATL,VARCHAR2,50,Y,자재마스터(기본),재질
+SHI1,CMCTB_MAT_BSE,OLD_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),구자재번호
+SHI1,CMCTB_MAT_BSE,SBST_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),대체자재번호
+SHI1,CMCTB_MAT_BSE,UOM,VARCHAR2,3,Y,자재마스터(기본),단위
+SHI1,CMCTB_MAT_BSE,PDT_GRP,VARCHAR2,2,Y,자재마스터(기본),제품군
+SHI1,CMCTB_MAT_BSE,MRC,VARCHAR2,1,Y,자재마스터(기본),MRC
+SHI1,CMCTB_MAT_BSE,STOR_MAT_ORDR,VARCHAR2,1,Y,자재마스터(기본),저장자재지시자
+SHI1,CMCTB_MAT_BSE,STYPE,VARCHAR2,2,Y,자재마스터(기본),강종
+SHI1,CMCTB_MAT_BSE,CLS,VARCHAR2,8,Y,자재마스터(기본),선급
+SHI1,CMCTB_MAT_BSE,WGT,NUMBER,22,Y,자재마스터(기본),중량
+SHI1,CMCTB_MAT_BSE,NET_WGT,NUMBER,22,Y,자재마스터(기본),고유중량
+SHI1,CMCTB_MAT_BSE,WGT_UOM,VARCHAR2,3,Y,자재마스터(기본),중량단위
+SHI1,CMCTB_MAT_BSE,LTH,NUMBER,22,Y,자재마스터(기본),길이
+SHI1,CMCTB_MAT_BSE,LTH_2,NUMBER,22,Y,자재마스터(기본),길이2
+SHI1,CMCTB_MAT_BSE,WTH,NUMBER,22,Y,자재마스터(기본),폭
+SHI1,CMCTB_MAT_BSE,WTH_2,NUMBER,22,Y,자재마스터(기본),폭2
+SHI1,CMCTB_MAT_BSE,THK,NUMBER,22,Y,자재마스터(기본),두께
+SHI1,CMCTB_MAT_BSE,STD,VARCHAR2,70,Y,자재마스터(기본),규격
+SHI1,CMCTB_MAT_BSE,PROF_STD,VARCHAR2,30,Y,자재마스터(기본),형강규격
+SHI1,CMCTB_MAT_BSE,CBL_OUT_DIA,NUMBER,22,Y,자재마스터(기본),CABLE바깥지름
+SHI1,CMCTB_MAT_BSE,LTRM_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),LTRM_MAT_YN
+SHI1,CMCTB_MAT_BSE,PNT_AREA,NUMBER,22,Y,자재마스터(기본),도장면적
+SHI1,CMCTB_MAT_BSE,PNTIN_AREA,NUMBER,22,Y,자재마스터(기본),도장내부면적
+SHI1,CMCTB_MAT_BSE,PNTIN_SPEC,VARCHAR2,5,Y,자재마스터(기본),도장내부사양
+SHI1,CMCTB_MAT_BSE,PNTOUT_AREA,NUMBER,22,Y,자재마스터(기본),도장외부면적
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_1,VARCHAR2,5,Y,자재마스터(기본),도장외부사양1
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_2,VARCHAR2,5,Y,자재마스터(기본),도장외부사양2
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_3,VARCHAR2,5,Y,자재마스터(기본),도장외부사양3
+SHI1,CMCTB_MAT_BSE,RT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),RT검사사양
+SHI1,CMCTB_MAT_BSE,UT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),UT검사사양
+SHI1,CMCTB_MAT_BSE,MT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),MT검사사양
+SHI1,CMCTB_MAT_BSE,PT_INSPEC,VARCHAR2,2,Y,자재마스터(기본),PT검사사양
+SHI1,CMCTB_MAT_BSE,MK_DWG_NO,VARCHAR2,50,Y,자재마스터(기본),제작도면번호
+SHI1,CMCTB_MAT_BSE,CUT_DWG_NO,VARCHAR2,120,Y,자재마스터(기본),가공도면번호
+SHI1,CMCTB_MAT_BSE,PIPE_SPL_NO,VARCHAR2,40,Y,자재마스터(기본),배관SPOOL번호
+SHI1,CMCTB_MAT_BSE,PIPE_LINE_NO,VARCHAR2,40,Y,자재마스터(기본),배관LINE번호
+SHI1,CMCTB_MAT_BSE,PIPE_CLAS,VARCHAR2,10,Y,자재마스터(기본),배관클래스
+SHI1,CMCTB_MAT_BSE,FLUID_KND,VARCHAR2,5,Y,자재마스터(기본),유체종류
+SHI1,CMCTB_MAT_BSE,REP_ITM_MATL,VARCHAR2,60,Y,자재마스터(기본),대표품명재질
+SHI1,CMCTB_MAT_BSE,REP_DIA,VARCHAR2,10,Y,자재마스터(기본),대표지름
+SHI1,CMCTB_MAT_BSE,REP_DIA_UOM,VARCHAR2,3,Y,자재마스터(기본),대표지름단위
+SHI1,CMCTB_MAT_BSE,REP_SCH,VARCHAR2,20,Y,자재마스터(기본),대표스케쥴
+SHI1,CMCTB_MAT_BSE,REP_DIA_LTH,NUMBER,22,Y,자재마스터(기본),대표지름길이
+SHI1,CMCTB_MAT_BSE,DBLN_GB,VARCHAR2,1,Y,자재마스터(기본),직곡관구분
+SHI1,CMCTB_MAT_BSE,PIPE_GRD,VARCHAR2,1,Y,자재마스터(기본),배관등급
+SHI1,CMCTB_MAT_BSE,HTRET_YN,VARCHAR2,1,Y,자재마스터(기본),열처리유무
+SHI1,CMCTB_MAT_BSE,BA_GALV_SPEC,VARCHAR2,3,Y,자재마스터(기본),선후도금사양
+SHI1,CMCTB_MAT_BSE,SSIDE_YN,VARCHAR2,1,Y,자재마스터(기본),SHIPSIDE여부
+SHI1,CMCTB_MAT_BSE,PNTR_PIPE_YN,VARCHAR2,1,Y,자재마스터(기본),관통관여부
+SHI1,CMCTB_MAT_BSE,UBOLT_YN,VARCHAR2,1,Y,자재마스터(기본),UBOLT유무
+SHI1,CMCTB_MAT_BSE,CTLP_PRCD_PNT,VARCHAR2,1,Y,자재마스터(기본),조정관선행도장
+SHI1,CMCTB_MAT_BSE,PRCD_SCV_CTLP,VARCHAR2,2,Y,자재마스터(기본),선행후행조정관
+SHI1,CMCTB_MAT_BSE,PMI_INSPEC,VARCHAR2,2,Y,자재마스터(기본),PMI검사사양
+SHI1,CMCTB_MAT_BSE,WTRPRS,NUMBER,22,Y,자재마스터(기본),수압
+SHI1,CMCTB_MAT_BSE,VLV_FIT_NO,VARCHAR2,18,Y,자재마스터(기본),VALVEFITTING번호
+SHI1,CMCTB_MAT_BSE,TAG_NO,VARCHAR2,50,Y,자재마스터(기본),TAG번호
+SHI1,CMCTB_MAT_BSE,TAG_SB_NO,VARCHAR2,10,Y,자재마스터(기본),TAGSUB번호
+SHI1,CMCTB_MAT_BSE,NM_PLATE_TP,VARCHAR2,5,Y,자재마스터(기본),네임플레이트유형
+SHI1,CMCTB_MAT_BSE,NM_PLATE_SVC_NM,VARCHAR2,60,Y,자재마스터(기본),네임플레이트서비스명
+SHI1,CMCTB_MAT_BSE,VRCS_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),VRCS자재번호
+SHI1,CMCTB_MAT_BSE,TRSM_FIT_NO,VARCHAR2,7,Y,자재마스터(기본),TRANSMITTERFITTING번호
+SHI1,CMCTB_MAT_BSE,VLV_OPT_CD_LIST,VARCHAR2,20,Y,자재마스터(기본),VALVE옵션코드리스트
+SHI1,CMCTB_MAT_BSE,PUR_REQ_NO,VARCHAR2,10,Y,자재마스터(기본),구매요청번호
+SHI1,CMCTB_MAT_BSE,ITM_NO,VARCHAR2,20,Y,자재마스터(기본),ITEM번호
+SHI1,CMCTB_MAT_BSE,MDL_NO,VARCHAR2,30,Y,자재마스터(기본),모델번호
+SHI1,CMCTB_MAT_BSE,BL_NO,VARCHAR2,30,Y,자재마스터(기본),BL번호
+SHI1,CMCTB_MAT_BSE,VNDR_EQP_NO,VARCHAR2,10,Y,자재마스터(기본),업체장비번호
+SHI1,CMCTB_MAT_BSE,BOX_NO,VARCHAR2,20,Y,자재마스터(기본),BOX번호
+SHI1,CMCTB_MAT_BSE,MMT_NO,VARCHAR2,10,Y,자재마스터(기본),자재운송관리번호
+SHI1,CMCTB_MAT_BSE,INSTL_LOC,VARCHAR2,30,Y,자재마스터(기본),설치위치
+SHI1,CMCTB_MAT_BSE,MN_EQP_YN,VARCHAR2,1,Y,자재마스터(기본),메인장비여부
+SHI1,CMCTB_MAT_BSE,FIXED_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),체결재여부
+SHI1,CMCTB_MAT_BSE,SPRE_YN,VARCHAR2,1,Y,자재마스터(기본),SPARE여부
+SHI1,CMCTB_MAT_BSE,TOOL_YN,VARCHAR2,1,Y,자재마스터(기본),TOOL여부
+SHI1,CMCTB_MAT_BSE,CBL_YN,VARCHAR2,1,Y,자재마스터(기본),CABLE여부
+SHI1,CMCTB_MAT_BSE,OWN_INSTL_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),선주설치자재여부
+SHI1,CMCTB_MAT_BSE,NONINSTL_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),비설치자재여부
+SHI1,CMCTB_MAT_BSE,BLK_NO,VARCHAR2,5,Y,자재마스터(기본),블록번호
+SHI1,CMCTB_MAT_BSE,GYEL,VARCHAR2,2,Y,자재마스터(기본),계열
+SHI1,CMCTB_MAT_BSE,LNK_PTLST_NO,VARCHAR2,40,Y,자재마스터(기본),연결부재번호
+SHI1,CMCTB_MAT_BSE,AREA,NUMBER,22,Y,자재마스터(기본),면적
+SHI1,CMCTB_MAT_BSE,STOR_LOC,VARCHAR2,10,Y,자재마스터(기본),저장위치
+SHI1,CMCTB_MAT_BSE,SGUB_WGT,NUMBER,22,Y,자재마스터(기본),사급중량
+SHI1,CMCTB_MAT_BSE,DGUB_WGT,NUMBER,22,Y,자재마스터(기본),도급중량
+SHI1,CMCTB_MAT_BSE,PROJ_NO,VARCHAR2,24,Y,자재마스터(기본),프로젝트번호
+SHI1,CMCTB_MAT_BSE,DSN_SKL,VARCHAR2,2,Y,자재마스터(기본),설계기능
+SHI1,CMCTB_MAT_BSE,RMK,VARCHAR2,500,Y,자재마스터(기본),비고
+SHI1,CMCTB_MAT_BSE,DEL_ORDR,VARCHAR2,1,Y,자재마스터(기본),삭제지시자
+SHI1,CMCTB_MAT_BSE,DEL_DT,VARCHAR2,8,Y,자재마스터(기본),삭제일자
+SHI1,CMCTB_MAT_BSE,MAT_STAT,VARCHAR2,2,Y,자재마스터(기본),자재상태
+SHI1,CMCTB_MAT_BSE,IF_SYS_NO,VARCHAR2,1,Y,자재마스터(기본),인터페이스시스템번호
+SHI1,CMCTB_MAT_BSE,IF_STAT,VARCHAR2,1,Y,자재마스터(기본),인터페이스상태
+SHI1,CMCTB_MAT_BSE,IF_MSG,VARCHAR2,255,Y,자재마스터(기본),인터페이스메시지
+SHI1,CMCTB_MAT_BSE,IF_DT,VARCHAR2,8,Y,자재마스터(기본),인터페이스일자
+SHI1,CMCTB_MAT_BSE,IF_TM,VARCHAR2,6,Y,자재마스터(기본),인터페이스시간
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_1,VARCHAR2,30,Y,자재마스터(기본),GLAND사양1
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_2,VARCHAR2,30,Y,자재마스터(기본),GLAND사양2
+SHI1,CMCTB_MAT_BSE,GLAND_SPEC_3,VARCHAR2,30,Y,자재마스터(기본),GLAND사양3
+SHI1,CMCTB_MAT_BSE,MCT_MDLE_STD_1,VARCHAR2,30,Y,자재마스터(기본),MCT모듈규격1
+SHI1,CMCTB_MAT_BSE,MCT_MDLE_STD_2,VARCHAR2,30,Y,자재마스터(기본),MCT모듈규격2
+SHI1,CMCTB_MAT_BSE,BEELE_RISE,VARCHAR2,12,Y,자재마스터(기본),BEELERISE
+SHI1,CMCTB_MAT_BSE,MAX_DRUM_LTH,NUMBER,22,Y,자재마스터(기본),최대DRUM길이
+SHI1,CMCTB_MAT_BSE,AGR_DTM,VARCHAR2,14,Y,자재마스터(기본),승인일시
+SHI1,CMCTB_MAT_BSE,AGR_R_ID,VARCHAR2,13,Y,자재마스터(기본),승인자ID
+SHI1,CMCTB_MAT_BSE,DISPLN,VARCHAR2,1,Y,자재마스터(기본),DISCIPLINE
+SHI1,CMCTB_MAT_BSE,LRG_KWK,VARCHAR2,1,Y,자재마스터(기본),대공종
+SHI1,CMCTB_MAT_BSE,DTL_KWK,VARCHAR2,1,Y,자재마스터(기본),세부공종
+SHI1,CMCTB_MAT_BSE,SP_INSP_GB,VARCHAR2,1,Y,자재마스터(기본),특별검사구분
+SHI1,CMCTB_MAT_BSE,PNTOUT_SPEC_4,VARCHAR2,5,Y,자재마스터(기본),도장외부사양4
+SHI1,CMCTB_MAT_BSE,OFE_MAT_NO,VARCHAR2,18,Y,자재마스터(기본),OFE자재번호
+SHI1,CMCTB_MAT_BSE,OFE_CAB_YN,VARCHAR2,1,Y,자재마스터(기본),OFE케이블여부
+SHI1,CMCTB_MAT_BSE,INSTL_PSB_CNT,NUMBER,22,Y,자재마스터(기본),포설가능개수
+SHI1,CMCTB_MAT_BSE,CUTL_ML_GB,VARCHAR2,1,Y,자재마스터(기본),태선세선구분
+SHI1,CMCTB_MAT_BSE,FCM_INSP,VARCHAR2,2,Y,자재마스터(기본),FCM검사
+SHI1,CMCTB_MAT_BSE,DOC_NO,VARCHAR2,25,Y,자재마스터(기본),서류번호
+SHI1,CMCTB_MAT_BSE,HOLD_CAUS,VARCHAR2,200,Y,자재마스터(기본),보류원인
+SHI1,CMCTB_MAT_BSE,HOLD_DT,VARCHAR2,8,Y,자재마스터(기본),보류일자
+SHI1,CMCTB_MAT_BSE,HOLD_LIFT_DT,VARCHAR2,8,Y,자재마스터(기본),NULL
+SHI1,CMCTB_MAT_BSE,MAT_KND_GB,VARCHAR2,1,Y,자재마스터(기본),자재종류구분
+SHI1,CMCTB_MAT_BSE,BATCH_MNG_ORDR,VARCHAR2,1,Y,자재마스터(기본),BATCH관리지시자
+SHI1,CMCTB_MAT_BSE,FS_INPR_ID,VARCHAR2,13,Y,자재마스터(기본),최초입력자ID
+SHI1,CMCTB_MAT_BSE,FS_INP_DTM,VARCHAR2,14,Y,자재마스터(기본),최초입력일시
+SHI1,CMCTB_MAT_BSE,FIN_CHGR_ID,VARCHAR2,13,Y,자재마스터(기본),최종수정자ID
+SHI1,CMCTB_MAT_BSE,FIN_CHG_DTM,VARCHAR2,14,Y,자재마스터(기본),최종수정일시
+SHI1,CMCTB_MAT_BSE,DWG_FILE_NM,VARCHAR2,256,Y,자재마스터(기본),NULL
+SHI1,CMCTB_MAT_BSE,TAG_NO_CHG_DT,VARCHAR2,8,Y,자재마스터(기본),NULL
+SHI1,CMCTB_MAT_BSE,SUB_EQP_YN,VARCHAR2,1,Y,자재마스터(기본),SUB장비여부
+SHI1,CMCTB_MAT_BSE,ATT_MAT_YN,VARCHAR2,1,Y,자재마스터(기본),부속자재여부
+SHI1,CMCTB_MAT_BSE,DSN_REV_NO,VARCHAR2,4,Y,자재마스터(기본),설계계정번호
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR1,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드1
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR2,VARCHAR2,50,Y,자재마스터(기본),인도선적품여부(DL_SHIPMT_ITM_YN)
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR3,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드3
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR4,VARCHAR2,50,Y,자재마스터(기본),사용자정의필드4
+SHI1,CMCTB_MAT_BSE,USR_DF_CHAR5,VARCHAR2,50,Y,자재마스터(기본),변경이력
+SHI1,CMCTB_MAT_CLAS,CLAS_CD,VARCHAR2,18,N,자재마스터 클래스 정보,클래스코드
+SHI1,CMCTB_MAT_CLAS,CLAS_NM,VARCHAR2,60,Y,자재마스터 클래스 정보,클래스명
+SHI1,CMCTB_MAT_CLAS,CLAS_DTL,VARCHAR2,180,Y,자재마스터 클래스 정보,클래스내역
+SHI1,CMCTB_MAT_CLAS,PRNT_CLAS_CD,VARCHAR2,18,Y,자재마스터 클래스 정보,부모클래스코드
+SHI1,CMCTB_MAT_CLAS,CLAS_LVL,NUMBER,22,Y,자재마스터 클래스 정보,클래스레벨
+SHI1,CMCTB_MAT_CLAS,DEL_ORDR,VARCHAR2,1,Y,자재마스터 클래스 정보,삭제지시자
+SHI1,CMCTB_MAT_CLAS,UOM,VARCHAR2,3,Y,자재마스터 클래스 정보,단위
+SHI1,CMCTB_MAT_CLAS,STYPE,VARCHAR2,2,Y,자재마스터 클래스 정보,강종
+SHI1,CMCTB_MAT_CLAS,GRD_MATL,VARCHAR2,50,Y,자재마스터 클래스 정보,등급재질
+SHI1,CMCTB_MAT_CLAS,CHG_DT,VARCHAR2,8,Y,자재마스터 클래스 정보,수정일자
+SHI1,CMCTB_MAT_CLAS,BSE_UOM,VARCHAR2,3,Y,자재마스터 클래스 정보,기준단위
+SHI1,CMCTB_MAT_CLAS_SPCHAR,CLAS_CD,VARCHAR2,18,N,자재마스터 클래스별 특성,클래스코드
+SHI1,CMCTB_MAT_CLAS_SPCHAR,SPCHAR_CD,VARCHAR2,30,N,자재마스터 클래스별 특성,특성코드
+SHI1,CMCTB_MAT_CLAS_SPCHAR,SPCHAR_SEQ,VARCHAR2,3,Y,자재마스터 클래스별 특성,특선순서
+SHI1,CMCTB_MAT_CLAS_SPCHAR,MNDT_YN,VARCHAR2,1,Y,자재마스터 클래스별 특성,필수여부
+SHI1,CMCTB_MAT_CLAS_SPCHAR,CHG_DT,VARCHAR2,8,Y,자재마스터 클래스별 특성,수정일자
+SHI1,CMCTB_MAT_CLAS_SPCHAR,DEL_ORDR,VARCHAR2,1,Y,자재마스터 클래스별 특성,삭제지시자
+SHI1,CMCTB_MAT_DSC,MAT_NO,VARCHAR2,18,N,CMCTB_MAT_DSC,자재번호
+SHI1,CMCTB_MAT_DSC,LANG_KEY,VARCHAR2,1,N,CMCTB_MAT_DSC,언어키
+SHI1,CMCTB_MAT_DSC,MAT_DTL,VARCHAR2,120,Y,CMCTB_MAT_DSC,자재내역
+SHI1,CMCTB_MAT_PLNT,MAT_NO,VARCHAR2,18,N,자재마스터 플랜트 정보,자재번호
+SHI1,CMCTB_MAT_PLNT,PLNT,VARCHAR2,4,N,자재마스터 플랜트 정보,플랜트
+SHI1,CMCTB_MAT_PLNT,DELV_UOM,VARCHAR2,3,Y,자재마스터 플랜트 정보,출고단위
+SHI1,CMCTB_MAT_PLNT,EA_BTCH_ND_GB,VARCHAR2,1,Y,자재마스터 플랜트 정보,개별일괄소요구분
+SHI1,CMCTB_MAT_PLNT,PRCR_CLF,VARCHAR2,4,Y,자재마스터 플랜트 정보,조달분류
+SHI1,CMCTB_MAT_PLNT,PUR_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,구매담당자코드
+SHI1,CMCTB_MAT_PLNT,PRCR_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,조달담당자코드
+SHI1,CMCTB_MAT_PLNT,GOODS_CHRGR_CD,VARCHAR2,3,Y,자재마스터 플랜트 정보,현물담당자코드
+SHI1,CMCTB_MAT_PLNT,PUR_LT,NUMBER,22,Y,자재마스터 플랜트 정보,구매리드타임
+SHI1,CMCTB_MAT_PLNT,MRP_TP,VARCHAR2,2,Y,자재마스터 플랜트 정보,MRP유형
+SHI1,CMCTB_MAT_PLNT,MAT_STAT,VARCHAR2,2,Y,자재마스터 플랜트 정보,자재상태
+SHI1,CMCTB_MAT_PLNT,BULK_MAT_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,벌크자재지시자
+SHI1,CMCTB_MAT_PLNT,PRCR_TP,VARCHAR2,1,Y,자재마스터 플랜트 정보,조달유형
+SHI1,CMCTB_MAT_PLNT,SFTY_STCK_QTY,NUMBER,22,Y,자재마스터 플랜트 정보,안전재고수량
+SHI1,CMCTB_MAT_PLNT,SER_PROF,VARCHAR2,4,Y,자재마스터 플랜트 정보,일련번호프로파일
+SHI1,CMCTB_MAT_PLNT,DEL_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,삭제지시자
+SHI1,CMCTB_MAT_PLNT,BATCH_MNG_ORDR,VARCHAR2,1,Y,자재마스터 플랜트 정보,BATCH관리지시자
+SHI1,CMCTB_MAT_PLNT,IF_STAT,VARCHAR2,1,Y,자재마스터 플랜트 정보,인터페이스상태
+SHI1,CMCTB_MAT_PLNT,IF_MSG,VARCHAR2,100,Y,자재마스터 플랜트 정보,인터페이스메시지
+SHI1,CMCTB_MAT_PLNT,IF_DT,VARCHAR2,8,Y,자재마스터 플랜트 정보,인터페이스일자
+SHI1,CMCTB_MAT_PLNT,IF_TM,VARCHAR2,6,Y,자재마스터 플랜트 정보,인터페이스시간
+SHI1,CMCTB_MAT_PLNT,SP_PRCR_TP,VARCHAR2,2,Y,자재마스터 플랜트 정보,특별조달유형
+SHI1,CMCTB_MAT_SPCHAR,MAT_NO,VARCHAR2,18,N,자재마스터특성,자재번호
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_CD,VARCHAR2,30,N,자재마스터특성,특성코드
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_DTL,VARCHAR2,90,Y,자재마스터특성,특성내역
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_CD,VARCHAR2,90,Y,자재마스터특성,특성값코드
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_DTL,VARCHAR2,90,Y,자재마스터특성,특성값내역
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_NUM,NUMBER,22,Y,자재마스터특성,특성값넘버
+SHI1,CMCTB_MAT_SPCHAR,SPCHAR_VAL_UOM,VARCHAR2,3,Y,자재마스터특성,특성값단위
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_CD,VARCHAR2,30,N,자재마스터 특성정보,특성코드
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_DTL,VARCHAR2,90,Y,자재마스터 특성정보,특성내역
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_TP,VARCHAR2,10,Y,자재마스터 특성정보,특성타입
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_VAL_UOM,VARCHAR2,3,Y,자재마스터 특성정보,특성값단위
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_VAL_YN,VARCHAR2,1,Y,자재마스터 특성정보,특성값여부
+SHI1,CMCTB_MAT_SPCHAR_MAST,SPCHAR_GRP,VARCHAR2,10,Y,자재마스터 특성정보,특성그룹
+SHI1,CMCTB_MAT_SPCHAR_MAST,CHG_DT,VARCHAR2,8,Y,자재마스터 특성정보,수정일자
+SHI1,CMCTB_MAT_SPCHAR_MAST,DEL_ORDR,VARCHAR2,1,Y,자재마스터 특성정보,삭제지시자
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_CD,VARCHAR2,30,N,자재마스터 특성별 특성값,특성코드
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_VAL_CD,VARCHAR2,90,N,자재마스터 특성별 특성값,특성값코드
+SHI1,CMCTB_MAT_SPCHAR_VAL,SPCHAR_VAL_DTL,VARCHAR2,90,Y,자재마스터 특성별 특성값,특성값내역
+SHI1,CMCTB_MAT_SPCHAR_VAL,CHG_DT,VARCHAR2,8,Y,자재마스터 특성별 특성값,수정일자
+SHI1,CMCTB_MAT_SPCHAR_VAL,DEL_ORDR,VARCHAR2,1,Y,자재마스터 특성별 특성값,삭제지시자
+SHI1,CMCTB_MAT_UOM,MAT_NO,VARCHAR2,18,N,자재마스터 단위정보,자재번호
+SHI1,CMCTB_MAT_UOM,SBST_UOM,VARCHAR2,3,N,자재마스터 단위정보,대체단위
+SHI1,CMCTB_MAT_UOM,CNVRT_FCTR_1,NUMBER,22,Y,자재마스터 단위정보,전환 FOCTOR1
+SHI1,CMCTB_MAT_UOM,CNVRT_FCTR_2,NUMBER,22,Y,자재마스터 단위정보,전환 FOCTOR2
+SHI1,CMCTB_MAT_UOM,LTH,NUMBER,22,Y,자재마스터 단위정보,길이
+SHI1,CMCTB_MAT_UOM,WTH,NUMBER,22,Y,자재마스터 단위정보,폭
+SHI1,CMCTB_MAT_UOM,HGT,NUMBER,22,Y,자재마스터 단위정보,높이
+SHI1,CMCTB_MAT_UOM,SZ_UOM,VARCHAR2,3,Y,자재마스터 단위정보,치수단위
+SHI1,CMCTB_PROJ_BIZCLS,PROJ_NO,VARCHAR2,24,N,프로젝트 비즈니스 클래스,프로젝트번호
+SHI1,CMCTB_PROJ_BIZCLS,TYPE,VARCHAR2,1,N,프로젝트 비즈니스 클래스,TYPE
+SHI1,CMCTB_PROJ_BIZCLS,BIZCLS,VARCHAR2,1,Y,프로젝트 비즈니스 클래스,비지니스클래스
+SHI1,CMCTB_PROJ_BIZCLS,QM_CLS,VARCHAR2,10,Y,프로젝트 비즈니스 클래스,NULL
+SHI1,CMCTB_PROJ_BIZCLS,NEW_MC_YN,VARCHAR2,1,Y,프로젝트 비즈니스 클래스,신규MC여부
+SHI1,CMCTB_PROJ_MAST,PROJ_NO,VARCHAR2,24,N,프로젝트 마스터,프로젝트번호
+SHI1,CMCTB_PROJ_MAST,MSHIP_NO,VARCHAR2,24,Y,프로젝트 마스터,기준호선
+SHI1,CMCTB_PROJ_MAST,SERS_NO,VARCHAR2,24,Y,프로젝트 마스터,시리즈첫프로젝트번호
+SHI1,CMCTB_PROJ_MAST,REF_NO,VARCHAR2,5,Y,프로젝트 마스터,시리즈번호
+SHI1,CMCTB_PROJ_MAST,SKND,VARCHAR2,3,Y,프로젝트 마스터,선종
+SHI1,CMCTB_PROJ_MAST,SHTYPE,VARCHAR2,8,Y,프로젝트 마스터,선형
+SHI1,CMCTB_PROJ_MAST,SHTYPE_UOM,VARCHAR2,5,Y,프로젝트 마스터,선형단위
+SHI1,CMCTB_PROJ_MAST,DOCK_CD,VARCHAR2,3,Y,프로젝트 마스터,도크
+SHI1,CMCTB_PROJ_MAST,OWN_1,VARCHAR2,32,Y,프로젝트 마스터,선주1
+SHI1,CMCTB_PROJ_MAST,CLS_1,VARCHAR2,20,Y,프로젝트 마스터,선급1
+SHI1,CMCTB_PROJ_MAST,CNRT_DT,VARCHAR2,8,Y,프로젝트 마스터,계약일자
+SHI1,CMCTB_PROJ_MAST,CNRT_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,계약인도일자
+SHI1,CMCTB_PROJ_MAST,PROJ_DSC,VARCHAR2,120,Y,프로젝트 마스터,프로젝트 설명
+SHI1,CMCTB_PROJ_MAST,PROJ_GB,VARCHAR2,2,Y,프로젝트 마스터,프로젝트구분
+SHI1,CMCTB_PROJ_MAST,OWN_NM,VARCHAR2,120,Y,프로젝트 마스터,선주명
+SHI1,CMCTB_PROJ_MAST,NEW_SKND2,VARCHAR2,30,Y,프로젝트 마스터,신선종2
+SHI1,CMCTB_PROJ_MAST,OWN_AB,VARCHAR2,60,Y,프로젝트 마스터,선주약어
+SHI1,CMCTB_PROJ_MAST,CHINA_YN,VARCHAR2,3,Y,프로젝트 마스터,중국여부
+SHI1,CMCTB_PROJ_MAST,PROJ_DTL_TP,VARCHAR2,2,Y,프로젝트 마스터,프로젝트세부타입
+SHI1,CMCTB_PROJ_MAST,PROJ_PROF,VARCHAR2,7,Y,프로젝트 마스터,프로젝트프로파일
+SHI1,CMCTB_PROJ_MAST,INQY_NO,VARCHAR2,30,Y,프로젝트 마스터,안건번호
+SHI1,CMCTB_PROJ_MAST,INQY_SEQ,VARCHAR2,2,Y,프로젝트 마스터,안건순번
+SHI1,CMCTB_PROJ_MAST,NTTP,VARCHAR2,3,Y,프로젝트 마스터,국적
+SHI1,CMCTB_PROJ_MAST,RLTD_PROJ,VARCHAR2,40,Y,프로젝트 마스터,연관프로젝트
+SHI1,CMCTB_PROJ_MAST,DIGT_PDT_GRP,VARCHAR2,1,Y,프로젝트 마스터,디지털제품군
+SHI1,CMCTB_PROJ_MAST,WP_PROJ_TP,VARCHAR2,1,Y,프로젝트 마스터,풍력프로젝트타입
+SHI1,CMCTB_PROJ_MAST,TOT_CNRT_CNT,VARCHAR2,3,Y,프로젝트 마스터,전체계약개수
+SHI1,CMCTB_PROJ_MAST,PROJ_ETC_TP,VARCHAR2,1,Y,프로젝트 마스터,프로젝트기타타입
+SHI1,CMCTB_PROJ_MAST,IF_STAT,VARCHAR2,1,Y,프로젝트 마스터,인터페이스상태
+SHI1,CMCTB_PROJ_MAST,SRC_SYS_ID,VARCHAR2,1,Y,프로젝트 마스터,소스시스템ID
+SHI1,CMCTB_PROJ_MAST,PRGS_STAT,VARCHAR2,1,Y,프로젝트 마스터,진행상태
+SHI1,CMCTB_PROJ_MAST,DEL_YN,VARCHAR2,1,Y,프로젝트 마스터,삭제여부
+SHI1,CMCTB_PROJ_MAST,DL_CSTM_CD,VARCHAR2,10,Y,프로젝트 마스터,인도고객코드
+SHI1,CMCTB_PROJ_MAST,PDT_LVL_4,VARCHAR2,14,Y,프로젝트 마스터,제품레벨4
+SHI1,CMCTB_PROJ_MAST,AS_GRNT_PRD,NUMBER,22,Y,프로젝트 마스터,AS보증기간
+SHI1,CMCTB_PROJ_MAST,RL_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,실인도일자
+SHI1,CMCTB_PROJ_MAST,SA_DT,VARCHAR2,8,Y,프로젝트 마스터,SAILAWAYDATE
+SHI1,CMCTB_PROJ_MAST,GOV,VARCHAR2,60,Y,프로젝트 마스터,관청
+SHI1,CMCTB_PROJ_MAST,DL_BF_PROJ_NM,VARCHAR2,120,Y,프로젝트 마스터,인도전공사명
+SHI1,CMCTB_PROJ_MAST,IMO_NO,VARCHAR2,8,Y,프로젝트 마스터,IMO번호
+SHI1,CMCTB_PROJ_MAST,DIST_PATH,VARCHAR2,2,Y,프로젝트 마스터,유통경로
+SHI1,CMCTB_PROJ_MAST,SALE_ORG_CD,VARCHAR2,4,Y,프로젝트 마스터,영업조직코드
+SHI1,CMCTB_PROJ_MAST,SALE_GRP,VARCHAR2,3,Y,프로젝트 마스터,판매그룹
+SHI1,CMCTB_PROJ_MAST,BIZLOC_CD,VARCHAR2,4,Y,프로젝트 마스터,사업장코드
+SHI1,CMCTB_PROJ_MAST,MNG_ACOT_DMN,VARCHAR2,4,Y,프로젝트 마스터,관리회계영역
+SHI1,CMCTB_PROJ_MAST,CO_CD,VARCHAR2,4,Y,프로젝트 마스터,회사코드
+SHI1,CMCTB_PROJ_MAST,BIZ_DMN,VARCHAR2,4,Y,프로젝트 마스터,사업영역
+SHI1,CMCTB_PROJ_MAST,PLNT_CD,VARCHAR2,4,Y,프로젝트 마스터,플랜트코드
+SHI1,CMCTB_PROJ_MAST,PRCTR,VARCHAR2,10,Y,프로젝트 마스터,손익센터
+SHI1,CMCTB_PROJ_MAST,CNRT_CNTN_YN,VARCHAR2,1,Y,프로젝트 마스터,계약존속여부
+SHI1,CMCTB_PROJ_MAST,CNRT_RESV_YN,VARCHAR2,1,Y,프로젝트 마스터,계약유보여부
+SHI1,CMCTB_PROJ_MAST,PROJ_PRGS_YN,VARCHAR2,1,Y,프로젝트 마스터,프로젝트진행여부
+SHI1,CMCTB_PROJ_MAST,SYS_ACOT_CLSD_DT,VARCHAR2,8,Y,프로젝트 마스터,시스템회계마감일자
+SHI1,CMCTB_PROJ_MAST,PROJ_SCP,VARCHAR2,5,Y,프로젝트 마스터,프로젝트범위
+SHI1,CMCTB_PROJ_MAST,LOA,NUMBER,22,Y,프로젝트 마스터,전길이
+SHI1,CMCTB_PROJ_MAST,MN_ENGN_TP_CD,VARCHAR2,30,Y,프로젝트 마스터,MAINENGINETYPECODE
+SHI1,CMCTB_PROJ_MAST,SPD,NUMBER,22,Y,프로젝트 마스터,속도
+SHI1,CMCTB_PROJ_MAST,GT,NUMBER,22,Y,프로젝트 마스터,GT
+SHI1,CMCTB_PROJ_MAST,BP_DL_DT,VARCHAR2,8,Y,프로젝트 마스터,선표인도일자
+SHI1,CMCTB_PROJ_MAST,SHTYPE_GRP,VARCHAR2,4,Y,프로젝트 마스터,선형군
+SHI1,CMCTB_PROJ_MAST,PROJ_CRTE_REQ_EMPNO,VARCHAR2,13,Y,프로젝트 마스터,프로젝트생성요청사번
+SHI1,CMCTB_PROJ_MAST,PROJ_CRTE_REQ_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트생성요청일자
+SHI1,CMCTB_PROJ_MAST,IO_GB,VARCHAR2,1,Y,프로젝트 마스터,사내외구분
+SHI1,CMCTB_PROJ_MAST,CSTM_PO_NO,VARCHAR2,35,Y,프로젝트 마스터,고객발주번호
+SHI1,CMCTB_PROJ_MAST,GENT_CNT,VARCHAR2,5,Y,프로젝트 마스터,세대개수
+SHI1,CMCTB_PROJ_MAST,ORDR_GRNT_PRD,VARCHAR2,5,Y,프로젝트 마스터,주문주보증기간
+SHI1,CMCTB_PROJ_MAST,ORDR_GRNT_FN_DT,VARCHAR2,8,Y,프로젝트 마스터,주문주보증종료일
+SHI1,CMCTB_PROJ_MAST,DSN_CHRGR,VARCHAR2,13,Y,프로젝트 마스터,설계담당자
+SHI1,CMCTB_PROJ_MAST,DL_AF_PROJ_NM,VARCHAR2,120,Y,프로젝트 마스터,인도후공사명
+SHI1,CMCTB_PROJ_MAST,DL_AF_RL_CLNT,VARCHAR2,10,Y,프로젝트 마스터,인도후실고객사
+SHI1,CMCTB_PROJ_MAST,DL_AF_SHPSRV_SCP,VARCHAR2,10,Y,프로젝트 마스터,인도후운항선사
+SHI1,CMCTB_PROJ_MAST,DL_AF_NTTP,VARCHAR2,3,Y,프로젝트 마스터,인도후국적
+SHI1,CMCTB_PROJ_MAST,DL_AF_CLS,VARCHAR2,20,Y,프로젝트 마스터,인도후선급
+SHI1,CMCTB_PROJ_MAST,DL_AF_CALL_SIGN,VARCHAR2,20,Y,프로젝트 마스터,인도후CALLSIGN
+SHI1,CMCTB_PROJ_MAST,DL_AF_TEL_NO,VARCHAR2,20,Y,프로젝트 마스터,인도후전화번호
+SHI1,CMCTB_PROJ_MAST,DL_AF_FAX_NO,VARCHAR2,20,Y,프로젝트 마스터,인도후팩스번호
+SHI1,CMCTB_PROJ_MAST,DL_AF_EMAIL_ADR,VARCHAR2,60,Y,프로젝트 마스터,인도후이메일주소
+SHI1,CMCTB_PROJ_MAST,PROJ_WBS_TP,VARCHAR2,7,Y,프로젝트 마스터,프로젝트WBS타입
+SHI1,CMCTB_PROJ_MAST,XSTAT,VARCHAR2,1,Y,프로젝트 마스터,INTERFACE상태
+SHI1,CMCTB_PROJ_MAST,XMSGS,VARCHAR2,300,Y,프로젝트 마스터,INTERFACE메세지
+SHI1,CMCTB_PROJ_MAST,XDATS,VARCHAR2,8,Y,프로젝트 마스터,INTERFACE일자
+SHI1,CMCTB_PROJ_MAST,XTIMS,VARCHAR2,6,Y,프로젝트 마스터,INTERFACE시간
+SHI1,CMCTB_PROJ_MAST,CHN_PROJ_TP,VARCHAR2,1,Y,프로젝트 마스터,중국프로젝트타입
+SHI1,CMCTB_PROJ_MAST,FIN_GRNT_FN_DT,VARCHAR2,8,Y,프로젝트 마스터,최종수요자 보증종료일
+SHI1,CMCTB_PROJ_MAST,STDT,VARCHAR2,8,Y,프로젝트 마스터,시작일자
+SHI1,CMCTB_PROJ_MAST,SERS_YN,VARCHAR2,1,Y,프로젝트 마스터,시리즈여부
+SHI1,CMCTB_PROJ_MAST,TYPE,VARCHAR2,10,Y,프로젝트 마스터,HULL TOP 구분
+SHI1,CMCTB_PROJ_MAST,PRO_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,PROPOSAL 프로젝트번호
+SHI1,CMCTB_PROJ_MAST,PBSD_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,전기전자프로젝트번호
+SHI1,CMCTB_PROJ_MAST,PBSD_SHIP_NM,VARCHAR2,150,Y,프로젝트 마스터,선박명
+SHI1,CMCTB_PROJ_MAST,BIZCLS,VARCHAR2,10,Y,프로젝트 마스터,사업부
+SHI1,CMCTB_PROJ_MAST,CLS_2,VARCHAR2,20,Y,프로젝트 마스터,선급2
+SHI1,CMCTB_PROJ_MAST,SHTYPE_CD,VARCHAR2,6,Y,프로젝트 마스터,선형코드
+SHI1,CMCTB_PROJ_MAST,PROJ_DL_PLN_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트 인도계획일
+SHI1,CMCTB_PROJ_MAST,PROJ_DL_RT_DT,VARCHAR2,8,Y,프로젝트 마스터,프로젝트 인도실적일
+SHI1,CMCTB_PROJ_MAST,TOT_AREA,NUMBER,22,Y,프로젝트 마스터,전체면적
+SHI1,CMCTB_PROJ_MAST,EXMPT_AREA,NUMBER,22,Y,프로젝트 마스터,면세면적
+SHI1,CMCTB_PROJ_MAST,EXMPT_RAT,NUMBER,22,Y,프로젝트 마스터,면세율
+SHI1,CMCTB_PROJ_MAST,QM_CLS,VARCHAR2,10,Y,프로젝트 마스터,품질사업부
+SHI1,CMCTB_PROJ_MAST,CNCT_PROJ_NO,VARCHAR2,24,Y,프로젝트 마스터,연계 프로젝트 번호
+SHI1,CMCTB_PROJ_MAST,EQP_DTL_YN,VARCHAR2,1,Y,프로젝트 마스터,기자재 세분화 및 생산일정 연계여부
+SHI1,CMCTB_PROJ_MAST,EXP_YN,VARCHAR2,1,Y,프로젝트 마스터,ExP 연계여부
+SHI1,CMCTB_PROJ_MAST,ACT_MH_YN,VARCHAR2,1,Y,프로젝트 마스터,생산실적 연계여부
+SHI1,CMCTB_PROJ_MAST,SPEC,VARCHAR2,10,Y,프로젝트 마스터,사양
+SHI1,CMCTB_PROJ_MAST,DSGN_LIFE,VARCHAR2,10,Y,프로젝트 마스터,디자인수명
+SHI1,CMCTB_PROJ_MAST,NEW_MC_YN,VARCHAR2,10,Y,프로젝트 마스터,신규MC여부
+SHI1,CMCTB_PROJ_MAST,WK_ENV_WT_VAL_YN,VARCHAR2,1,Y,프로젝트 마스터,작업환경가중치여부
+SHI1,CMCTB_PROJ_MAST,GRNT_STDT,VARCHAR2,8,Y,프로젝트 마스터,보증시작일
+SHI1,CMCTB_PROJ_MAST,TMH_ADPT_YN,VARCHAR2,1,Y,프로젝트 마스터,목표공수 적용 여부
+SHI1,CMCTB_PROJ_MAST,ZV_YN,VARCHAR2,1,Y,프로젝트 마스터,ZVEZDA 프로젝트 여부
+SHI1,CMCTB_PROJ_MAST,SEC_YN,VARCHAR2,1,Y,프로젝트 마스터,평택지원 프로젝트 여부
+SHI1,CMCTB_PROJ_WBS,PROJ_NO,VARCHAR2,24,N,프로젝트WBS,프로젝트번호
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT,VARCHAR2,24,N,프로젝트WBS,WBS요소
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_NM,VARCHAR2,255,Y,프로젝트WBS,WBS요소명
+SHI1,CMCTB_PROJ_WBS,WBS_LVL,VARCHAR2,3,Y,프로젝트WBS,WBS레벨
+SHI1,CMCTB_PROJ_WBS,FLAG,VARCHAR2,1,Y,프로젝트WBS,FLAG
+SHI1,CMCTB_PROJ_WBS,WBS_INSD_ELMT,VARCHAR2,8,Y,프로젝트WBS,WBS내부요소
+SHI1,CMCTB_PROJ_WBS,HGRK_WBS_ELMT,VARCHAR2,24,Y,프로젝트WBS,상위WBS요소
+SHI1,CMCTB_PROJ_WBS,XSTAT,VARCHAR2,1,Y,프로젝트WBS,INTERFACE상태
+SHI1,CMCTB_PROJ_WBS,XMSGS,VARCHAR2,100,Y,프로젝트WBS,INTERFACE메세지
+SHI1,CMCTB_PROJ_WBS,XDATS,VARCHAR2,8,Y,프로젝트WBS,INTERFACE일자
+SHI1,CMCTB_PROJ_WBS,XTIMS,VARCHAR2,6,Y,프로젝트WBS,INTERFACE시간
+SHI1,CMCTB_PROJ_WBS,SYS_STAT,VARCHAR2,8,Y,프로젝트WBS,시스템상태
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_1,VARCHAR2,24,Y,프로젝트WBS,WBS요소_1
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_2,VARCHAR2,24,Y,프로젝트WBS,WBS요소_2
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_3,VARCHAR2,24,Y,프로젝트WBS,WBS요소_3
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_4,VARCHAR2,24,Y,프로젝트WBS,WBS요소_4
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_5,VARCHAR2,24,Y,프로젝트WBS,WBS요소_5
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_6,VARCHAR2,24,Y,프로젝트WBS,WBS요소_6
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_7,VARCHAR2,24,Y,프로젝트WBS,WBS요소_7
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_8,VARCHAR2,24,Y,프로젝트WBS,WBS요소_8
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_9,VARCHAR2,24,Y,프로젝트WBS,WBS요소_9
+SHI1,CMCTB_PROJ_WBS,WBS_ELMT_10,VARCHAR2,24,Y,프로젝트WBS,WBS요소_10
+SHI1,CMCTB_VENDOR_ADDR,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (주소),VENDOR코드
+SHI1,CMCTB_VENDOR_ADDR,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),주소번호
+SHI1,CMCTB_VENDOR_ADDR,INTL_ADR_VER_ID,VARCHAR2,1,N,Vendor 마스터 (주소),국제주소버전ID
+SHI1,CMCTB_VENDOR_ADDR,CITY_ZIP_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),도시우편번호
+SHI1,CMCTB_VENDOR_ADDR,POBX_ZIP_NO,VARCHAR2,10,Y,Vendor 마스터 (주소),사서함우편번호
+SHI1,CMCTB_VENDOR_ADDR,ADR_1,VARCHAR2,120,Y,Vendor 마스터 (주소),주소1
+SHI1,CMCTB_VENDOR_ADDR,ADR_2,VARCHAR2,120,Y,Vendor 마스터 (주소),주소2
+SHI1,CMCTB_VENDOR_ADDR,REGN_CD,VARCHAR2,5,Y,Vendor 마스터 (주소),지역코드
+SHI1,CMCTB_VENDOR_ADDR,TTL,VARCHAR2,90,Y,Vendor 마스터 (주소),타이틀
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_ABRV_1,VARCHAR2,60,Y,Vendor 마스터 (주소),VENDOR명약어1
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_ABRV_2,VARCHAR2,60,Y,Vendor 마스터 (주소),VENDOR명약어2
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_1,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_2,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명2
+SHI1,CMCTB_VENDOR_ADDR,LANG_KEY,VARCHAR2,1,Y,Vendor 마스터 (주소),언어키
+SHI1,CMCTB_VENDOR_ADDR,ETC_ADR_1,VARCHAR2,180,Y,Vendor 마스터 (주소),기타주소1
+SHI1,CMCTB_VENDOR_ADDR,ETC_ADR_2,VARCHAR2,180,Y,Vendor 마스터 (주소),기타주소2
+SHI1,CMCTB_VENDOR_ADDR,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (주소),국가코드
+SHI1,CMCTB_VENDOR_ADDR,POBX,VARCHAR2,30,Y,Vendor 마스터 (주소),사서함
+SHI1,CMCTB_VENDOR_ADDR,TRANS_ZONE,VARCHAR2,10,Y,Vendor 마스터 (주소),운송구역
+SHI1,CMCTB_VENDOR_ADDR,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (주소),인터페이스일자
+SHI1,CMCTB_VENDOR_ADDR,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (주소),인터페이스시간
+SHI1,CMCTB_VENDOR_ADDR,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (주소),인터페이스상태
+SHI1,CMCTB_VENDOR_ADDR,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (주소),인터페이스메시지
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_3,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명3
+SHI1,CMCTB_VENDOR_ADDR,VNDRNM_4,VARCHAR2,120,Y,Vendor 마스터 (주소),VENDOR명4
+SHI1,CMCTB_VENDOR_ADDR,TAX_JRDT_ZONE_CD,VARCHAR2,15,Y,Vendor 마스터 (주소),조세관할구역코드
+SHI1,CMCTB_VENDOR_ADDR,ADR_TMZ,VARCHAR2,10,Y,Vendor 마스터 (주소),주소시간대
+SHI1,CMCTB_VENDOR_COMPNY,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (Company),VENDOR코드
+SHI1,CMCTB_VENDOR_COMPNY,CO_CD,VARCHAR2,4,N,Vendor 마스터 (Company),회사코드
+SHI1,CMCTB_VENDOR_COMPNY,CTL_ACNT,VARCHAR2,10,Y,Vendor 마스터 (Company),조정계정
+SHI1,CMCTB_VENDOR_COMPNY,SRT_KEY,VARCHAR2,3,Y,Vendor 마스터 (Company),정렬키
+SHI1,CMCTB_VENDOR_COMPNY,PLN_GRP,VARCHAR2,10,Y,Vendor 마스터 (Company),계획그룹
+SHI1,CMCTB_VENDOR_COMPNY,BF_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (Company),이전VENDOR코드
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_COND,VARCHAR2,4,Y,Vendor 마스터 (Company),지급조건
+SHI1,CMCTB_VENDOR_COMPNY,OVLAP_INVC_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),중복송장지시자
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_MTHD,VARCHAR2,10,Y,Vendor 마스터 (Company),지급방법
+SHI1,CMCTB_VENDOR_COMPNY,SPLY_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),지급보류지시자
+SHI1,CMCTB_VENDOR_COMPNY,TRD_BANK_SHRT_KEY,VARCHAR2,5,Y,Vendor 마스터 (Company),거래은행단축키
+SHI1,CMCTB_VENDOR_COMPNY,PST_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),전기보류지시자
+SHI1,CMCTB_VENDOR_COMPNY,HOLD_CAUS,VARCHAR2,200,Y,Vendor 마스터 (Company),보류사유
+SHI1,CMCTB_VENDOR_COMPNY,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),삭제지시자
+SHI1,CMCTB_VENDOR_COMPNY,SRCE_TX_NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (Company),원천세국가코드
+SHI1,CMCTB_VENDOR_COMPNY,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),인터페이스일자
+SHI1,CMCTB_VENDOR_COMPNY,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (Company),인터페이스시간
+SHI1,CMCTB_VENDOR_COMPNY,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (Company),인터페이스상태
+SHI1,CMCTB_VENDOR_COMPNY,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (Company),인터페이스메시지
+SHI1,CMCTB_VENDOR_COMPNY,MIN_ORDR,VARCHAR2,3,Y,Vendor 마스터 (Company),소수지시자
+SHI1,CMCTB_VENDOR_COMPNY,SPRT_SPLY_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),분리지급지시자
+SHI1,CMCTB_VENDOR_COMPNY,CSTM_VNDR_CLR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (Company),CUSTOMERVENDOR반제지시자
+SHI1,CMCTB_VENDOR_COMPNY,SRCE_TX_CD,VARCHAR2,2,Y,Vendor 마스터 (Company),원천세코드
+SHI1,CMCTB_VENDOR_COMPNY,IATA_BIC_GB,VARCHAR2,4,Y,Vendor 마스터 (Company),IATABIC구분
+SHI1,CMCTB_VENDOR_COMPNY,REP_TP,VARCHAR2,6,Y,Vendor 마스터 (Company),대표유형
+SHI1,CMCTB_VENDOR_COMPNY,LOGST_VNDR_TP,VARCHAR2,6,Y,Vendor 마스터 (Company),물류VENDOR유형
+SHI1,CMCTB_VENDOR_COMPNY,VNDR_ACNT_NO,VARCHAR2,12,Y,Vendor 마스터 (Company),VENDOR계정번호
+SHI1,CMCTB_VENDOR_COMPNY,VNDR_CHRGR_NM,VARCHAR2,45,Y,Vendor 마스터 (Company),VENDOR담당자명
+SHI1,CMCTB_VENDOR_COMPNY,ACOT_CHRGR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (Company),회계담당자전화번호
+SHI1,CMCTB_VENDOR_COMPNY,AUTH_GRP,VARCHAR2,8,Y,Vendor 마스터 (Company),권한그룹
+SHI1,CMCTB_VENDOR_COMPNY,FIN_IR_CALC_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),최종이자계산일자
+SHI1,CMCTB_VENDOR_COMPNY,FIN_IR_ACT_DT,VARCHAR2,8,Y,Vendor 마스터 (Company),최종이자실행일자
+SHI1,CMCTB_VENDOR_COMPNY,ACOT_CHRGR_FAXNO,VARCHAR2,31,Y,Vendor 마스터 (Company),회계담당자FAX번호
+SHI1,CMCTB_VENDOR_COMPNY,MK_CHRGR_EMAIL,VARCHAR2,241,Y,Vendor 마스터 (Company),MAKER담당자이메일
+SHI1,CMCTB_VENDOR_COMPNY,MEMO,VARCHAR2,120,Y,Vendor 마스터 (Company),메모
+SHI1,CMCTB_VENDOR_COMPNY,MOFFC_ACNT_NO,VARCHAR2,10,Y,Vendor 마스터 (Company),본사계정번호
+SHI1,CMCTB_VENDOR_GENERAL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (일반),벤더코드
+SHI1,CMCTB_VENDOR_GENERAL,ACNT_GRP,VARCHAR2,4,Y,Vendor 마스터 (일반),계정그룹
+SHI1,CMCTB_VENDOR_GENERAL,ACNT_GRP_TP,VARCHAR2,2,Y,Vendor 마스터 (일반),계정그룹종류
+SHI1,CMCTB_VENDOR_GENERAL,CSTM_CD,VARCHAR2,10,Y,Vendor 마스터 (일반),고객코드
+SHI1,CMCTB_VENDOR_GENERAL,PST_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),전기보류지시자
+SHI1,CMCTB_VENDOR_GENERAL,PUR_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),구매보류지시자
+SHI1,CMCTB_VENDOR_GENERAL,HOLD_CAUS,VARCHAR2,200,Y,Vendor 마스터 (일반),보류사유
+SHI1,CMCTB_VENDOR_GENERAL,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),삭제지시자
+SHI1,CMCTB_VENDOR_GENERAL,CO_ID,VARCHAR2,6,Y,Vendor 마스터 (일반),법인ID
+SHI1,CMCTB_VENDOR_GENERAL,REPR_NM,VARCHAR2,30,Y,Vendor 마스터 (일반),대표자명
+SHI1,CMCTB_VENDOR_GENERAL,BIZTP,VARCHAR2,90,Y,Vendor 마스터 (일반),사업유형
+SHI1,CMCTB_VENDOR_GENERAL,BIZCON,VARCHAR2,90,Y,Vendor 마스터 (일반),산업유형
+SHI1,CMCTB_VENDOR_GENERAL,REG_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),등록일자
+SHI1,CMCTB_VENDOR_GENERAL,REG_DTM,VARCHAR2,6,Y,Vendor 마스터 (일반),등록시간
+SHI1,CMCTB_VENDOR_GENERAL,REGR_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),등록자
+SHI1,CMCTB_VENDOR_GENERAL,AGR_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),승인일자
+SHI1,CMCTB_VENDOR_GENERAL,AGR_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),승인시간
+SHI1,CMCTB_VENDOR_GENERAL,AGR_R_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),승인자ID
+SHI1,CMCTB_VENDOR_GENERAL,CHG_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),변경일자
+SHI1,CMCTB_VENDOR_GENERAL,CHG_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),변경시간
+SHI1,CMCTB_VENDOR_GENERAL,CHGR_ID,VARCHAR2,13,Y,Vendor 마스터 (일반),변경자ID
+SHI1,CMCTB_VENDOR_GENERAL,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (일반),국가코드
+SHI1,CMCTB_VENDOR_GENERAL,REP_TEL_NO,VARCHAR2,30,Y,Vendor 마스터 (일반),대표전화번호
+SHI1,CMCTB_VENDOR_GENERAL,REP_FAX_NO,VARCHAR2,31,Y,Vendor 마스터 (일반),대표FAX번호
+SHI1,CMCTB_VENDOR_GENERAL,BIZR_NO,VARCHAR2,10,Y,Vendor 마스터 (일반),사업자번호
+SHI1,CMCTB_VENDOR_GENERAL,CO_REG_NO,VARCHAR2,18,Y,Vendor 마스터 (일반),법인등록번호
+SHI1,CMCTB_VENDOR_GENERAL,TX_CD_4,VARCHAR2,54,Y,Vendor 마스터 (일반),세금번호4
+SHI1,CMCTB_VENDOR_GENERAL,CO_INST_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),설립일자
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_TP,VARCHAR2,2,Y,Vendor 마스터 (일반),구매처유형
+SHI1,CMCTB_VENDOR_GENERAL,GBL_TOP_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),GLOBALTOP코드
+SHI1,CMCTB_VENDOR_GENERAL,GBL_TOP_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),GLOBALTOP명
+SHI1,CMCTB_VENDOR_GENERAL,DMST_TOP_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),국내TOP코드
+SHI1,CMCTB_VENDOR_GENERAL,DMST_TOP_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),국내TOP명
+SHI1,CMCTB_VENDOR_GENERAL,BIZ_UOM_CD,VARCHAR2,11,Y,Vendor 마스터 (일반),사업단위코드
+SHI1,CMCTB_VENDOR_GENERAL,BIZ_UOM_NM,VARCHAR2,120,Y,Vendor 마스터 (일반),사업단위명
+SHI1,CMCTB_VENDOR_GENERAL,DNS_NO,VARCHAR2,11,Y,Vendor 마스터 (일반),DUNS번호
+SHI1,CMCTB_VENDOR_GENERAL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),인터페이스일자
+SHI1,CMCTB_VENDOR_GENERAL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (일반),인터페이스시간
+SHI1,CMCTB_VENDOR_GENERAL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (일반),인터페이스상태
+SHI1,CMCTB_VENDOR_GENERAL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (일반),인터페이스메시지
+SHI1,CMCTB_VENDOR_GENERAL,TTL,VARCHAR2,45,Y,Vendor 마스터 (일반),타이틀
+SHI1,CMCTB_VENDOR_GENERAL,VAT_REG_NO,VARCHAR2,20,Y,Vendor 마스터 (일반),부가세등록번호
+SHI1,CMCTB_VENDOR_GENERAL,GIRO_VNDR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),지로VENDOR지시자
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_1,VARCHAR2,120,Y,Vendor 마스터 (일반),Vendor명1
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_2,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명2
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_3,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명3
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_4,VARCHAR2,120,Y,Vendor 마스터 (일반),VENDOR명4
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_ABRV_1,VARCHAR2,60,Y,Vendor 마스터 (일반),VENDOR명약어1
+SHI1,CMCTB_VENDOR_GENERAL,VNDRNM_ABRV_2,VARCHAR2,60,Y,Vendor 마스터 (일반),VENDOR명약어2
+SHI1,CMCTB_VENDOR_GENERAL,PTNT_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (일반),잠재VENDOR코드
+SHI1,CMCTB_VENDOR_GENERAL,ADR_1,VARCHAR2,120,Y,Vendor 마스터 (일반),주소1
+SHI1,CMCTB_VENDOR_GENERAL,ADR_2,VARCHAR2,512,Y,Vendor 마스터 (일반),주소2
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_NM,VARCHAR2,60,Y,Vendor 마스터 (일반),품질담당자명
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (일반),품질담당자전화번호
+SHI1,CMCTB_VENDOR_GENERAL,QLT_CHRGR_EMAIL,VARCHAR2,241,Y,Vendor 마스터 (일반),품질담당자이메일
+SHI1,CMCTB_VENDOR_GENERAL,SB_WKA_SEQ,VARCHAR2,16,Y,Vendor 마스터 (일반),SUB작업장순서
+SHI1,CMCTB_VENDOR_GENERAL,OVLAP_CAUS_CD,VARCHAR2,2,Y,Vendor 마스터 (일반),중복사유코드
+SHI1,CMCTB_VENDOR_GENERAL,DOC_TP,VARCHAR2,3,Y,Vendor 마스터 (일반),문서유형
+SHI1,CMCTB_VENDOR_GENERAL,DOC_NO,VARCHAR2,25,Y,Vendor 마스터 (일반),문서번호
+SHI1,CMCTB_VENDOR_GENERAL,PTN_DOC,VARCHAR2,3,Y,Vendor 마스터 (일반),부분문서
+SHI1,CMCTB_VENDOR_GENERAL,DOC_VER,VARCHAR2,2,Y,Vendor 마스터 (일반),문서버전
+SHI1,CMCTB_VENDOR_GENERAL,INB_FLAG,VARCHAR2,1,Y,Vendor 마스터 (일반),인바운드플래그
+SHI1,CMCTB_VENDOR_GENERAL,DEL_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (일반),삭제보류지시자
+SHI1,CMCTB_VENDOR_GENERAL,PUR_HOLD_DT,VARCHAR2,8,Y,Vendor 마스터 (일반),구매보류일자
+SHI1,CMCTB_VENDOR_GENERAL,POBX,VARCHAR2,30,Y,Vendor 마스터 (일반),사서함
+SHI1,CMCTB_VENDOR_GENERAL,INTL_LCTN_CHK_NUM,NUMBER,22,Y,Vendor 마스터 (일반),국제LOCATION점검숫자
+SHI1,CMCTB_VENDOR_GENERAL,SRCETX_RP_SEX_KEY,VARCHAR2,1,Y,Vendor 마스터 (일반),원천세의무자성별키
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_CNRT_CHRGR_1,VARCHAR2,105,Y,Vendor 마스터 (일반),VENDOR계약담당자1
+SHI1,CMCTB_VENDOR_GENERAL,VNDR_CNRT_CHRGR_2,VARCHAR2,105,Y,Vendor 마스터 (일반),VENDOR계약담당자2
+SHI1,CMCTB_VENDOR_GENERAL,REPR_RESNO,VARCHAR2,13,Y,Vendor 마스터 (일반),대표생년월일
+SHI1,CMCTB_VENDOR_GENERAL,CO_VLM,VARCHAR2,1,Y,Vendor 마스터 (일반),기업규모
+SHI1,CMCTB_VENDOR_GRP,VNDRCD,VARCHAR2,10,N,VENDOR마스터(협력사분류),VENDOR코드
+SHI1,CMCTB_VENDOR_GRP,BIZ_GRP_CD,VARCHAR2,3,N,VENDOR마스터(협력사분류),업무그룹코드
+SHI1,CMCTB_VENDOR_GRP,CRTE_DT,VARCHAR2,8,Y,VENDOR마스터(협력사분류),생성일자
+SHI1,CMCTB_VENDOR_GRP,CRTE_TM,VARCHAR2,6,Y,VENDOR마스터(협력사분류),생성시간
+SHI1,CMCTB_VENDOR_GRP,CRTER_ID,VARCHAR2,13,Y,VENDOR마스터(협력사분류),생성자ID
+SHI1,CMCTB_VENDOR_GRP,CHG_DT,VARCHAR2,8,Y,VENDOR마스터(협력사분류),변경일자
+SHI1,CMCTB_VENDOR_GRP,CHG_TM,VARCHAR2,6,Y,VENDOR마스터(협력사분류),변경시간
+SHI1,CMCTB_VENDOR_GRP,CHGR_ID,VARCHAR2,13,Y,VENDOR마스터(협력사분류),변경자ID
+SHI1,CMCTB_VENDOR_INCO,VNDRCD,VARCHAR2,10,N,사내협력사VENDOR,VENDOR코드
+SHI1,CMCTB_VENDOR_INCO,VNDRNM,VARCHAR2,120,Y,사내협력사VENDOR,VENDOR코명
+SHI1,CMCTB_VENDOR_INCO,REPR_NM,VARCHAR2,30,Y,사내협력사VENDOR,대표자명
+SHI1,CMCTB_VENDOR_INCO,PRTNR_GB,VARCHAR2,1,Y,사내협력사VENDOR,협력사구분
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_CD,VARCHAR2,3,Y,사내협력사VENDOR,사내협력사코드
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_1,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장1
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_2,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장2
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_WKA_3,VARCHAR2,1,Y,사내협력사VENDOR,사내협력사작업장3
+SHI1,CMCTB_VENDOR_INCO,JBTYPE_CD,VARCHAR2,2,Y,사내협력사VENDOR,직종코드
+SHI1,CMCTB_VENDOR_INCO,JBTYPE_CD_2,VARCHAR2,2,Y,사내협력사VENDOR,직종코드2
+SHI1,CMCTB_VENDOR_INCO,INDV_CO_GB,VARCHAR2,2,Y,사내협력사VENDOR,개인법인구분
+SHI1,CMCTB_VENDOR_INCO,INCO_FOND_YN,VARCHAR2,1,Y,사내협력사VENDOR,사내창립유무
+SHI1,CMCTB_VENDOR_INCO,DOCK_NO,VARCHAR2,25,Y,사내협력사VENDOR,도크번호
+SHI1,CMCTB_VENDOR_INCO,OCMP_INP_DT,VARCHAR2,8,Y,사내협력사VENDOR,당사투입일자
+SHI1,CMCTB_VENDOR_INCO,INCO_DUSE_DT,VARCHAR2,8,Y,사내협력사VENDOR,사내철수일자
+SHI1,CMCTB_VENDOR_INCO,INDST_INS_PMRAT,NUMBER,22,Y,사내협력사VENDOR,산재보험요율
+SHI1,CMCTB_VENDOR_INCO,CNRT_PFRM_GRAMT,NUMBER,22,Y,사내협력사VENDOR,계약이행보증금
+SHI1,CMCTB_VENDOR_INCO,WGE_RAT,NUMBER,22,Y,사내협력사VENDOR,임금율
+SHI1,CMCTB_VENDOR_INCO,CRSPD_DEPTCD_1,VARCHAR2,30,Y,사내협력사VENDOR,해당부서코드1
+SHI1,CMCTB_VENDOR_INCO,CRSPD_DEPTCD_2,VARCHAR2,30,Y,사내협력사VENDOR,해당부서코드2
+SHI1,CMCTB_VENDOR_INCO,CRSPD_TEAM_BLNG,VARCHAR2,100,Y,사내협력사VENDOR,해당팀소속
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_ITM_1,VARCHAR2,120,Y,사내협력사VENDOR,사내협력사종목1
+SHI1,CMCTB_VENDOR_INCO,INCO_PRTNR_ITM_2,VARCHAR2,120,Y,사내협력사VENDOR,사내협력사종목2
+SHI1,CMCTB_VENDOR_INCO,OFC_LOC,VARCHAR2,240,Y,사내협력사VENDOR,사무실위치
+SHI1,CMCTB_VENDOR_INCO,REP_OCMP_CARR,VARCHAR2,300,Y,사내협력사VENDOR,대표당사경력
+SHI1,CMCTB_VENDOR_INCO,INCO_DUSE_CAUS,VARCHAR2,600,Y,사내협력사VENDOR,사내철수사유
+SHI1,CMCTB_VENDOR_INCO,TEL_NO,VARCHAR2,30,Y,사내협력사VENDOR,전화번호
+SHI1,CMCTB_VENDOR_INCO,ADR1,VARCHAR2,200,Y,사내협력사VENDOR,주소
+SHI1,CMCTB_VENDOR_INCO,ADR2,VARCHAR2,200,Y,사내협력사VENDOR,상세주소
+SHI1,CMCTB_VENDOR_INCO,OLD_VNDRCD,VARCHAR2,10,Y,사내협력사VENDOR,이전 VENDOR코드
+SHI1,CMCTB_VENDOR_INCO,TREE_NUM,VARCHAR2,1,Y,사내협력사VENDOR,하위 VENDOR 갯수
+SHI1,CMCTB_VENDOR_INCO,CRTE_DT,VARCHAR2,8,Y,사내협력사VENDOR,생성일자
+SHI1,CMCTB_VENDOR_INCO,CRTE_TM,VARCHAR2,6,Y,사내협력사VENDOR,생성시간
+SHI1,CMCTB_VENDOR_INCO,CRTE_USR_ID,VARCHAR2,13,Y,사내협력사VENDOR,생성사용자ID
+SHI1,CMCTB_VENDOR_INCO,CHG_DT,VARCHAR2,8,Y,사내협력사VENDOR,수정일자
+SHI1,CMCTB_VENDOR_INCO,CHG_TM,VARCHAR2,6,Y,사내협력사VENDOR,수정시간
+SHI1,CMCTB_VENDOR_INCO,CHG_USR_ID,VARCHAR2,13,Y,사내협력사VENDOR,수정사용자ID
+SHI1,CMCTB_VENDOR_INCO,UPR_JBTYPE,VARCHAR2,2,Y,사내협력사VENDOR,직종단가
+SHI1,CMCTB_VENDOR_INCO,ZBYBP,VARCHAR2,4,Y,사내협력사VENDOR,공급받는자 종사업장 식별코드
+SHI1,CMCTB_VENDOR_INCO,RMK,VARCHAR2,4000,Y,사내협력사VENDOR,비고
+SHI1,CMCTB_VENDOR_INCO,WDL_PLN_YN,VARCHAR2,1,Y,사내협력사VENDOR,철수예정유무
+SHI1,CMCTB_VENDOR_INCO,WGE_DELY_DVL,VARCHAR2,8,Y,사내협력사VENDOR,임금체불발생
+SHI1,CMCTB_VENDOR_INCO,ESCROW_YN,VARCHAR2,1,Y,사내협력사VENDOR,에스크로가입유무
+SHI1,CMCTB_VENDOR_PORG,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (구매조직),VENDOR코드
+SHI1,CMCTB_VENDOR_PORG,PUR_ORG_CD,VARCHAR2,4,N,Vendor 마스터 (구매조직),구매조직
+SHI1,CMCTB_VENDOR_PORG,PUR_ORD_CUR,VARCHAR2,5,Y,Vendor 마스터 (구매조직),구매오더통화
+SHI1,CMCTB_VENDOR_PORG,SPLY_COND,VARCHAR2,4,Y,Vendor 마스터 (구매조직),지급조건
+SHI1,CMCTB_VENDOR_PORG,DL_COND_1,VARCHAR2,3,Y,Vendor 마스터 (구매조직),인도조건1
+SHI1,CMCTB_VENDOR_PORG,DL_COND_2,VARCHAR2,90,Y,Vendor 마스터 (구매조직),인도조건2
+SHI1,CMCTB_VENDOR_PORG,CALC_SHM_GRP,VARCHAR2,2,Y,Vendor 마스터 (구매조직),계산스키마그룹
+SHI1,CMCTB_VENDOR_PORG,GR_BSE_INVC_VR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),GR기준송장검증
+SHI1,CMCTB_VENDOR_PORG,AT_PUR_ORD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),자동구매오더지시자
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),구매보류지시자
+SHI1,CMCTB_VENDOR_PORG,DEL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),삭제지시자
+SHI1,CMCTB_VENDOR_PORG,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (구매조직),인터페이스일자
+SHI1,CMCTB_VENDOR_PORG,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (구매조직),인터페이스시간
+SHI1,CMCTB_VENDOR_PORG,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (구매조직),인터페이스상태
+SHI1,CMCTB_VENDOR_PORG,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (구매조직),인터페이스메시지
+SHI1,CMCTB_VENDOR_PORG,ORD_CNFM_REQ_ORDR,VARCHAR2,1,Y,Vendor 마스터 (구매조직),오더확인요청지시자
+SHI1,CMCTB_VENDOR_PORG,SALE_CHRGR_NM,VARCHAR2,120,Y,Vendor 마스터 (구매조직),영업담당자명
+SHI1,CMCTB_VENDOR_PORG,VNDR_TELNO,VARCHAR2,30,Y,Vendor 마스터 (구매조직),VENDOR전화번호
+SHI1,CMCTB_VENDOR_PORG,CNFM_CTL_KEY,VARCHAR2,4,Y,Vendor 마스터 (구매조직),확정제어키
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_DT,VARCHAR2,8,Y,Vendor 마스터 (구매조직),구매보류일자
+SHI1,CMCTB_VENDOR_PORG,PUR_HOLD_CAUS,VARCHAR2,120,Y,Vendor 마스터 (구매조직),구매보류사유
+SHI1,CMCTB_VENDOR_REPREMAIL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 EMAIL),VENDOR코드
+SHI1,CMCTB_VENDOR_REPREMAIL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 EMAIL),주소번호
+SHI1,CMCTB_VENDOR_REPREMAIL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 EMAIL),대표자순번
+SHI1,CMCTB_VENDOR_REPREMAIL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 EMAIL),유효시작일자
+SHI1,CMCTB_VENDOR_REPREMAIL,EMAIL_ADR,VARCHAR2,241,Y,Vendor 마스터 (대표자 EMAIL),이메일주소
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 EMAIL),인터페이스일자
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 EMAIL),인터페이스시간
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 EMAIL),인터페이스상태
+SHI1,CMCTB_VENDOR_REPREMAIL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 EMAIL),인터페이스메시지
+SHI1,CMCTB_VENDOR_REPRFAX,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 팩스번호),VENDOR코드
+SHI1,CMCTB_VENDOR_REPRFAX,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 팩스번호),주소번호
+SHI1,CMCTB_VENDOR_REPRFAX,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 팩스번호),대표자순번
+SHI1,CMCTB_VENDOR_REPRFAX,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 팩스번호),유효시작일자
+SHI1,CMCTB_VENDOR_REPRFAX,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (대표자 팩스번호),국가코드
+SHI1,CMCTB_VENDOR_REPRFAX,FAXNO,VARCHAR2,30,Y,Vendor 마스터 (대표자 팩스번호),팩스번호
+SHI1,CMCTB_VENDOR_REPRFAX,FAX_ETS_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 팩스번호),팩스내선번호
+SHI1,CMCTB_VENDOR_REPRFAX,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 팩스번호),인터페이스일자
+SHI1,CMCTB_VENDOR_REPRFAX,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 팩스번호),인터페이스시간
+SHI1,CMCTB_VENDOR_REPRFAX,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 팩스번호),인터페이스상태
+SHI1,CMCTB_VENDOR_REPRFAX,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 팩스번호),인터페이스메시지
+SHI1,CMCTB_VENDOR_REPRTEL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 전화번호),VENDOR코드
+SHI1,CMCTB_VENDOR_REPRTEL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 전화번호),주소번호
+SHI1,CMCTB_VENDOR_REPRTEL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 전화번호),대표자순번
+SHI1,CMCTB_VENDOR_REPRTEL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 전화번호),유효시작일자
+SHI1,CMCTB_VENDOR_REPRTEL,NTN_CD,VARCHAR2,3,Y,Vendor 마스터 (대표자 전화번호),국가코드
+SHI1,CMCTB_VENDOR_REPRTEL,TELNO,VARCHAR2,30,Y,Vendor 마스터 (대표자 전화번호),전화번호
+SHI1,CMCTB_VENDOR_REPRTEL,ETX_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 전화번호),내선번호
+SHI1,CMCTB_VENDOR_REPRTEL,HP_ORDR,VARCHAR2,1,Y,Vendor 마스터 (대표자 전화번호),핸드폰지시자
+SHI1,CMCTB_VENDOR_REPRTEL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 전화번호),인터페이스일자
+SHI1,CMCTB_VENDOR_REPRTEL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 전화번호),인터페이스시간
+SHI1,CMCTB_VENDOR_REPRTEL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 전화번호),인터페이스상태
+SHI1,CMCTB_VENDOR_REPRTEL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 전화번호),인터페이스메시지
+SHI1,CMCTB_VENDOR_REPRURL,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (대표자 URL),VENDOR코드
+SHI1,CMCTB_VENDOR_REPRURL,ADR_NO,VARCHAR2,10,Y,Vendor 마스터 (대표자 URL),주소번호
+SHI1,CMCTB_VENDOR_REPRURL,REPR_SER,VARCHAR2,3,N,Vendor 마스터 (대표자 URL),대표자순번
+SHI1,CMCTB_VENDOR_REPRURL,VLD_ST_DT,VARCHAR2,8,N,Vendor 마스터 (대표자 URL),유효시작일자
+SHI1,CMCTB_VENDOR_REPRURL,URL,VARCHAR2,2048,Y,Vendor 마스터 (대표자 URL),URL
+SHI1,CMCTB_VENDOR_REPRURL,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (대표자 URL),인터페이스일자
+SHI1,CMCTB_VENDOR_REPRURL,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (대표자 URL),인터페이스시간
+SHI1,CMCTB_VENDOR_REPRURL,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (대표자 URL),인터페이스상태
+SHI1,CMCTB_VENDOR_REPRURL,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (대표자 URL),인터페이스메시지
+SHI1,CMCTB_VENDOR_TAXNUM,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (세금번호),VENDOR코드
+SHI1,CMCTB_VENDOR_TAXNUM,TX_NO_CTG,VARCHAR2,4,N,Vendor 마스터 (세금번호),세금번호범주
+SHI1,CMCTB_VENDOR_TAXNUM,BIZ_PTNR_TX_NO,VARCHAR2,20,Y,Vendor 마스터 (세금번호),사업파트너세금번호
+SHI1,CMCTB_VENDOR_TAXNUM,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (세금번호),인터페이스일자
+SHI1,CMCTB_VENDOR_TAXNUM,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (세금번호),인터페이스시간
+SHI1,CMCTB_VENDOR_TAXNUM,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (세금번호),인터페이스상태
+SHI1,CMCTB_VENDOR_TAXNUM,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (세금번호),인터페이스메시지
+SHI1,CMCTB_VENDOR_VFPN,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (파트너역할),VENDOR코드
+SHI1,CMCTB_VENDOR_VFPN,PUR_ORG_CD,VARCHAR2,4,N,Vendor 마스터 (파트너역할),구매조직
+SHI1,CMCTB_VENDOR_VFPN,VNDR_SUB_NO,VARCHAR2,6,N,Vendor 마스터 (파트너역할),VENDOR서브번호
+SHI1,CMCTB_VENDOR_VFPN,PLNT_CD,VARCHAR2,4,N,Vendor 마스터 (파트너역할),플랜트코드
+SHI1,CMCTB_VENDOR_VFPN,PTNR_SKL,VARCHAR2,2,N,Vendor 마스터 (파트너역할),파트너기능
+SHI1,CMCTB_VENDOR_VFPN,PTNR_CNT,VARCHAR2,3,N,Vendor 마스터 (파트너역할),파트너카운터
+SHI1,CMCTB_VENDOR_VFPN,ETC_REF_VNDRCD,VARCHAR2,10,Y,Vendor 마스터 (파트너역할),기타참조VENDOR코드
+SHI1,CMCTB_VENDOR_VFPN,BSE_PTNR_ORDR,VARCHAR2,1,Y,Vendor 마스터 (파트너역할),기본파트너지시자
+SHI1,CMCTB_VENDOR_VFPN,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (파트너역할),인터페이스일자
+SHI1,CMCTB_VENDOR_VFPN,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (파트너역할),인터페이스시간
+SHI1,CMCTB_VENDOR_VFPN,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (파트너역할),인터페이스상태
+SHI1,CMCTB_VENDOR_VFPN,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (파트너역할),인터페이스메시지
+SHI1,CMCTB_VENDOR_WHTHX,VNDRCD,VARCHAR2,10,N,Vendor 마스터 (원천세유형),VENDOR코드
+SHI1,CMCTB_VENDOR_WHTHX,CO_CD,VARCHAR2,4,N,Vendor 마스터 (원천세유형),회사코드
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_TP,VARCHAR2,2,N,Vendor 마스터 (원천세유형),원천세유형
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_REL_ORDR,VARCHAR2,1,Y,Vendor 마스터 (원천세유형),원천세관련지시자
+SHI1,CMCTB_VENDOR_WHTHX,RECIP_TP,VARCHAR2,2,Y,Vendor 마스터 (원천세유형),수취인유형
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_IDENT_NO,VARCHAR2,16,Y,Vendor 마스터 (원천세유형),원천세식별번호
+SHI1,CMCTB_VENDOR_WHTHX,SRCE_TX_NO,VARCHAR2,2,Y,Vendor 마스터 (원천세유형),원천세코드
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_CERT_NO,VARCHAR2,15,Y,Vendor 마스터 (원천세유형),면제증명서번호
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_RAT,NUMBER,22,Y,Vendor 마스터 (원천세유형),면제율
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_ST_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),면제시작일자
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_ED_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),면제종료일
+SHI1,CMCTB_VENDOR_WHTHX,DCHAG_CAUS,VARCHAR2,200,Y,Vendor 마스터 (원천세유형),면제사유
+SHI1,CMCTB_VENDOR_WHTHX,IF_DT,VARCHAR2,8,Y,Vendor 마스터 (원천세유형),인터페이스일자
+SHI1,CMCTB_VENDOR_WHTHX,IF_TM,VARCHAR2,6,Y,Vendor 마스터 (원천세유형),인터페이스시간
+SHI1,CMCTB_VENDOR_WHTHX,IF_STAT,VARCHAR2,1,Y,Vendor 마스터 (원천세유형),인터페이스상태
+SHI1,CMCTB_VENDOR_WHTHX,IF_MSG,VARCHAR2,100,Y,Vendor 마스터 (원천세유형),인터페이스메시지
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_PROJ_NO,VARCHAR2,24,N,견적프로젝트기준정보,견적프로젝트번호
+SHI1,PLFTB_ESTM_PROJ_MAST,AGND_NO,VARCHAR2,8,Y,견적프로젝트기준정보,안건번호
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_PROJ_NM,VARCHAR2,100,Y,견적프로젝트기준정보,견적프로젝트명
+SHI1,PLFTB_ESTM_PROJ_MAST,BIZ_CLS,VARCHAR2,1,Y,견적프로젝트기준정보,사업부문
+SHI1,PLFTB_ESTM_PROJ_MAST,REV_NO,NUMBER,22,Y,견적프로젝트기준정보,리비젼번호
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_TYPE,VARCHAR2,1,Y,견적프로젝트기준정보,견적유형
+SHI1,PLFTB_ESTM_PROJ_MAST,OWNER_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선주사코드
+SHI1,PLFTB_ESTM_PROJ_MAST,SERS_CNT,NUMBER,22,Y,견적프로젝트기준정보,시리즈순번
+SHI1,PLFTB_ESTM_PROJ_MAST,SKND_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선종코드
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_CD,VARCHAR2,10,Y,견적프로젝트기준정보,선형코드
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_SIZE,NUMBER,22,Y,견적프로젝트기준정보,선형크기
+SHI1,PLFTB_ESTM_PROJ_MAST,SHTYPE_UOM,VARCHAR2,10,Y,견적프로젝트기준정보,선형단위
+SHI1,PLFTB_ESTM_PROJ_MAST,CHRTR_CD,VARCHAR2,10,Y,견적프로젝트기준정보,관청코드
+SHI1,PLFTB_ESTM_PROJ_MAST,NATN_CD,VARCHAR2,10,Y,견적프로젝트기준정보,국가코드
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_1,VARCHAR2,10,Y,견적프로젝트기준정보,선급1
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_2,VARCHAR2,10,Y,견적프로젝트기준정보,선급2
+SHI1,PLFTB_ESTM_PROJ_MAST,CLS_3,VARCHAR2,10,Y,견적프로젝트기준정보,선급3
+SHI1,PLFTB_ESTM_PROJ_MAST,DATA_CRTE_GB,VARCHAR2,2,Y,견적프로젝트기준정보,데이터생성구분
+SHI1,PLFTB_ESTM_PROJ_MAST,FS_INPR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,최초등록자ID
+SHI1,PLFTB_ESTM_PROJ_MAST,FS_INP_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,최초등록일시
+SHI1,PLFTB_ESTM_PROJ_MAST,FIN_CHGR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,최종수정자ID
+SHI1,PLFTB_ESTM_PROJ_MAST,FIN_CHG_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,최종수정일시
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_1,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값1
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_2,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값2
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_3,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값3
+SHI1,PLFTB_ESTM_PROJ_MAST,VSL_VAG_4,NUMBER,22,Y,견적프로젝트기준정보,VESSEL 평균값4
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_APP_ID,VARCHAR2,32,Y,견적프로젝트기준정보,견적물량결재ID
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT,VARCHAR2,1,Y,견적프로젝트기준정보,견적물량상태
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT_CHGR_ID,VARCHAR2,13,Y,견적프로젝트기준정보,견적물량상태변경자ID
+SHI1,PLFTB_ESTM_PROJ_MAST,ESTM_AOM_STAT_CHG_DTM,VARCHAR2,14,Y,견적프로젝트기준정보,견적물량상태변경일시
+SHI1,PLFTB_ESTM_PROJ_MAST,IF_TRGT_YN,VARCHAR2,1,Y,견적프로젝트기준정보,IF대상여부
diff --git a/lib/oracle-db/nonsap/2.generate-oracle-types.py b/lib/oracle-db/nonsap/2.generate-oracle-types.py
new file mode 100644
index 00000000..921d7ac6
--- /dev/null
+++ b/lib/oracle-db/nonsap/2.generate-oracle-types.py
@@ -0,0 +1,200 @@
+#!/usr/bin/env python3
+import csv
+import json
+from collections import defaultdict
+from typing import Dict, List, Any
+
+def oracle_to_typescript_type(oracle_type: str, data_length: str, nullable: str) -> str:
+ """Oracle 데이터 타입을 TypeScript 타입으로 변환"""
+ oracle_type = oracle_type.upper()
+ is_nullable = nullable.upper() == 'Y'
+
+ if oracle_type == 'VARCHAR2':
+ ts_type = 'string'
+ elif oracle_type == 'NUMBER':
+ ts_type = 'number'
+ elif oracle_type.startswith('DATE') or oracle_type.endswith('_DT'):
+ ts_type = 'string' # Oracle DATE는 보통 string으로 처리
+ else:
+ ts_type = 'string' # 기본값
+
+ return f"{ts_type} | null" if is_nullable else ts_type
+
+def generate_column_object(table_name: str, columns: List[Dict[str, Any]]) -> str:
+ """테이블의 컬럼 객체 생성 - Table.테이블명.컬럼명 형태로 사용하기 위함"""
+ lines = [f" {table_name}: {{"]
+
+ for col in columns:
+ column_name = col['COLUMN_NAME']
+ comment = col['COLUMN_COMMENTS']
+
+ if comment:
+ lines.append(f" /** {comment} */")
+ lines.append(f" {column_name}: '{column_name}' as const,")
+
+ lines.append(" },")
+ return "\n".join(lines)
+
+def generate_table_interface(table_name: str, columns: List[Dict[str, Any]]) -> str:
+ """테이블별 TypeScript 인터페이스 생성"""
+ interface_name = table_name # Oracle 테이블명 그대로 사용
+
+ lines = [f"export interface {interface_name} {{"]
+
+ for col in columns:
+ column_name = col['COLUMN_NAME']
+ ts_type = oracle_to_typescript_type(
+ col['DATA_TYPE'],
+ col['DATA_LENGTH'],
+ col['NULLABLE']
+ )
+ comment = col['COLUMN_COMMENTS']
+
+ if comment:
+ lines.append(f" /** {comment} */")
+ lines.append(f" {column_name}: {ts_type};")
+
+ lines.append("}")
+ return "\n".join(lines)
+
+def generate_database_schema(tables: Dict[str, List[Dict[str, Any]]]) -> str:
+ """전체 데이터베이스 스키마 타입 생성"""
+ lines = ["// Auto-generated Oracle DB types", ""]
+
+ # 1. 각 테이블 인터페이스 생성
+ interfaces = []
+ for table_name, columns in tables.items():
+ interface_code = generate_table_interface(table_name, columns)
+ lines.extend([interface_code, ""])
+ interfaces.append(table_name) # Oracle 테이블명 그대로 사용
+
+ # 2. Table 객체 생성 - 핵심 부분!
+ lines.extend([
+ "// Table 객체 - Table.테이블명.컬럼명 형태로 사용",
+ "export const Table = {",
+ ])
+
+ for table_name, columns in tables.items():
+ column_object = generate_column_object(table_name, columns)
+ lines.append(column_object)
+
+ lines.extend(["} as const;", ""])
+
+ # 3. 기존 Database 스키마 타입도 유지 (Knex 호환성)
+ lines.extend([
+ "// Database schema type for Knex",
+ "export interface DatabaseSchema {",
+ ])
+
+ for table_name, interface_name in zip(tables.keys(), interfaces):
+ lines.append(f" {table_name}: {interface_name};")
+
+ lines.extend(["}", ""])
+
+ # 4. TableNames 객체 생성 (키-값 형태)
+ lines.extend([
+ "// Table names constants (key-value pairs)",
+ "export const TableNames = {",
+ ])
+
+ for table_name in tables.keys():
+ lines.append(f" {table_name}: '{table_name}' as const,")
+
+ lines.extend(["} as const;", ""])
+
+ # 5. 테이블 목록 배열 생성 (동기화용)
+ lines.extend([
+ "// Table names array for synchronization",
+ "export const ALL_TABLE_NAMES: TableName[] = [",
+ ])
+
+ for table_name in tables.keys():
+ lines.append(f" '{table_name}',")
+
+ lines.extend(["] as const;", ""])
+
+ # 6. 타입 헬퍼 추가
+ lines.extend([
+ "// 타입 헬퍼",
+ "export type TableName = keyof typeof Table;",
+ "export type ColumnName<T extends TableName> = keyof typeof Table[T];",
+ "export type TableRow<T extends TableName> = DatabaseSchema[T];",
+ ""
+ ])
+
+ return "\n".join(lines)
+
+def main():
+ tables: Dict[str, List[Dict[str, Any]]] = defaultdict(list)
+
+ # 기본 테이블 목록 (CSV 파일이 없을 때 fallback)
+ default_tables = [
+ 'CMCTB_CD', 'CMCTB_CDNM', 'CMCTB_CD_CLF', 'CMCTB_CD_CLF_NM',
+ 'CMCTB_CUSTOMER_ADDR', 'CMCTB_CUSTOMER_CFPN', 'CMCTB_CUSTOMER_COMPNY',
+ 'CMCTB_CUSTOMER_GENERAL', 'CMCTB_CUSTOMER_REPREMAIL', 'CMCTB_CUSTOMER_REPRFAX',
+ 'CMCTB_CUSTOMER_REPRTEL', 'CMCTB_CUSTOMER_REPRURL', 'CMCTB_CUSTOMER_SORG',
+ 'CMCTB_CUSTOMER_TAXCD', 'CMCTB_CUSTOMER_TAXNUM', 'CMCTB_MAT_BSE',
+ 'CMCTB_MAT_CLAS', 'CMCTB_MAT_CLAS_SPCHAR', 'CMCTB_MAT_DSC',
+ 'CMCTB_MAT_PLNT', 'CMCTB_MAT_SPCHAR', 'CMCTB_MAT_SPCHAR_MAST',
+ 'CMCTB_MAT_SPCHAR_VAL', 'CMCTB_MAT_UOM', 'CMCTB_PROJ_BIZCLS',
+ 'CMCTB_PROJ_MAST', 'CMCTB_PROJ_WBS', 'CMCTB_VENDOR_ADDR',
+ 'CMCTB_VENDOR_COMPNY', 'CMCTB_VENDOR_GENERAL', 'CMCTB_VENDOR_GRP',
+ 'CMCTB_VENDOR_INCO', 'CMCTB_VENDOR_PORG', 'CMCTB_VENDOR_REPREMAIL',
+ 'CMCTB_VENDOR_REPRFAX', 'CMCTB_VENDOR_REPRTEL', 'CMCTB_VENDOR_REPRURL',
+ 'CMCTB_VENDOR_TAXNUM', 'CMCTB_VENDOR_VFPN', 'CMCTB_VENDOR_WHTHX',
+ 'PLFTB_ESTM_PROJ_MAST'
+ ]
+
+ try:
+ # CSV 파일 읽기
+ with open('1.table-and-columns-info.csv', 'r', encoding='utf-8') as f:
+ reader = csv.DictReader(f)
+ for row in reader:
+ table_name = row['TABLE_NAME']
+ tables[table_name].append(row)
+
+ print(f"Loaded {len(tables)} tables from CSV file")
+ except FileNotFoundError:
+ print("CSV file not found, using default table structure")
+ # 기본 테이블 구조 생성
+ for table_name in default_tables:
+ tables[table_name] = [{
+ 'TABLE_NAME': table_name,
+ 'COLUMN_NAME': 'ID', # 기본 컬럼
+ 'DATA_TYPE': 'VARCHAR2',
+ 'DATA_LENGTH': '10',
+ 'NULLABLE': 'N',
+ 'COLUMN_COMMENTS': f'{table_name} Primary Key'
+ }]
+
+ # 테이블이 없으면 기본 목록 사용
+ if not tables:
+ print("No tables found, using default table list")
+ for table_name in default_tables:
+ tables[table_name] = [{
+ 'TABLE_NAME': table_name,
+ 'COLUMN_NAME': 'ID',
+ 'DATA_TYPE': 'VARCHAR2',
+ 'DATA_LENGTH': '10',
+ 'NULLABLE': 'N',
+ 'COLUMN_COMMENTS': f'{table_name} Primary Key'
+ }]
+
+ # TypeScript 코드 생성
+ typescript_code = generate_database_schema(tables)
+
+ # 파일 저장
+ with open('oracle-schema.ts', 'w', encoding='utf-8') as f:
+ f.write(typescript_code)
+
+ print(f"Generated TypeScript types for {len(tables)} tables")
+ print("Output: oracle-schema.ts")
+ print()
+ print("사용법:")
+ print(" import { Table } from './oracle-schema';")
+ print(" const vendorCode = Table.CMCTB_VENDOR_GENERAL.VNDRCD; // 'VNDRCD'")
+ print(" const tableName = 'CMCTB_VENDOR_GENERAL';")
+ print(" const columnName = Table[tableName].VNDRNM_1; // 'VNDRNM_1'")
+
+if __name__ == "__main__":
+ main() \ No newline at end of file
diff --git a/lib/oracle-db/nonsap/3.generate-postgres-drizzle-schema.ts b/lib/oracle-db/nonsap/3.generate-postgres-drizzle-schema.ts
new file mode 100644
index 00000000..cfafb1e0
--- /dev/null
+++ b/lib/oracle-db/nonsap/3.generate-postgres-drizzle-schema.ts
@@ -0,0 +1,273 @@
+import fs from 'fs';
+import path from 'path';
+
+interface TableColumn {
+ owner: string;
+ tableName: string;
+ columnName: string;
+ dataType: string;
+ dataLength: number;
+ nullable: string;
+ tableComments: string;
+ columnComments: string;
+ constraints: string;
+}
+
+interface TableSchema {
+ tableName: string;
+ tableComments: string;
+ columns: TableColumn[];
+}
+
+// 컬러 로그 함수들
+const log = {
+ info: (msg: string) => console.log(`\x1b[34mℹ\x1b[0m ${msg}`),
+ success: (msg: string) => console.log(`\x1b[32m✓\x1b[0m ${msg}`),
+ warning: (msg: string) => console.log(`\x1b[33m⚠\x1b[0m ${msg}`),
+ error: (msg: string) => console.log(`\x1b[31m✗\x1b[0m ${msg}`),
+};
+
+// Oracle -> PostgreSQL 타입 매핑 (nonsap용)
+function mapOracleTypeToPostgres(oracleType: string, dataLength: number): string {
+ const type = oracleType.toUpperCase();
+
+ switch (type) {
+ case 'VARCHAR2':
+ if (dataLength <= 255) {
+ return `varchar({ length: ${dataLength} })`;
+ } else {
+ return 'text()';
+ }
+ case 'NUMBER':
+ return 'numeric()';
+ case 'DATE':
+ return 'timestamp()';
+ case 'CHAR':
+ return `char({ length: ${dataLength} })`;
+ case 'CLOB':
+ return 'text()';
+ case 'BLOB':
+ return 'bytea()';
+ case 'INTEGER':
+ return 'integer()';
+ case 'DECIMAL':
+ return 'decimal()';
+ case 'FLOAT':
+ return 'real()';
+ case 'DOUBLE':
+ return 'doublePrecision()';
+ default:
+ log.warning(`Unknown Oracle type: ${type}, defaulting to text()`);
+ return 'text()';
+ }
+}
+
+// 테이블명을 camelCase로 변환
+function toCamelCase(str: string): string {
+ return str.toLowerCase().replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
+}
+
+// 컬럼명을 camelCase로 변환
+function toColumnName(str: string): string {
+ return str.toLowerCase().replace(/_([a-z])/g, (_, letter) => letter.toUpperCase());
+}
+
+// CSV 파싱 함수
+function parseCSV(csvContent: string): TableColumn[] {
+ const lines = csvContent.split('\n');
+ const data: TableColumn[] = [];
+
+ for (let i = 1; i < lines.length; i++) {
+ const line = lines[i].trim();
+ if (!line) continue;
+
+ const values = line.split(',');
+ if (values.length < 9) continue;
+
+ data.push({
+ owner: values[0],
+ tableName: values[1],
+ columnName: values[2],
+ dataType: values[3],
+ dataLength: parseInt(values[4]) || 0,
+ nullable: values[5],
+ tableComments: values[6],
+ columnComments: values[7],
+ constraints: values[8] || '',
+ });
+ }
+
+ return data;
+}
+
+// 테이블별로 그룹화
+function groupByTable(columns: TableColumn[]): TableSchema[] {
+ const tables = new Map<string, TableSchema>();
+
+ for (const column of columns) {
+ if (!tables.has(column.tableName)) {
+ tables.set(column.tableName, {
+ tableName: column.tableName,
+ tableComments: column.tableComments,
+ columns: [],
+ });
+ }
+ tables.get(column.tableName)!.columns.push(column);
+ }
+
+ return Array.from(tables.values());
+}
+
+// 제약조건 파싱 및 처리
+function parseConstraints(constraints: string) {
+ const result = {
+ isPrimaryKey: false,
+ isUnique: false,
+ hasCheck: false,
+ hasForeignKey: false,
+ };
+
+ if (!constraints) return result;
+
+ const constraintUpper = constraints.toUpperCase();
+ result.isPrimaryKey = constraintUpper.includes('PK');
+ result.isUnique = constraintUpper.includes('UNIQUE');
+ result.hasCheck = constraintUpper.includes('CHECK');
+ result.hasForeignKey = constraintUpper.includes('FK') || constraintUpper.includes('FOREIGN');
+
+ return result;
+}
+
+// Drizzle 스키마 생성
+function generateDrizzleSchema(tables: TableSchema[]): string {
+ let schema = `import { pgSchema, varchar, text, numeric, timestamp, char, bytea, integer, decimal, real, doublePrecision, primaryKey } from 'drizzle-orm/pg-core';
+
+// NonSAP Oracle 데이터베이스 스키마
+export const nonsapSchema = pgSchema('nonsap');
+
+`;
+
+ // Primary key 정보를 추적하기 위한 Map
+ const primaryKeys = new Map<string, string[]>();
+
+ // 각 테이블에 대한 스키마 생성
+ for (const table of tables) {
+ const tableName = toCamelCase(table.tableName);
+ const pkColumns: string[] = [];
+
+ // Primary key 컬럼 찾기
+ for (const column of table.columns) {
+ const constraintInfo = parseConstraints(column.constraints);
+ if (constraintInfo.isPrimaryKey) {
+ pkColumns.push(column.columnName); // 원본 컬럼명 그대로 사용
+ }
+ }
+
+ if (pkColumns.length > 0) {
+ primaryKeys.set(tableName, pkColumns);
+ }
+
+ // 테이블 코멘트 추가
+ if (table.tableComments) {
+ schema += `// ${table.tableComments}\n`;
+ }
+
+ schema += `export const ${tableName} = nonsapSchema.table('${table.tableName.toLowerCase()}', {\n`;
+
+ table.columns.forEach((column) => {
+ const columnName = column.columnName; // 원본 컬럼명 그대로 사용
+ const postgresType = mapOracleTypeToPostgres(column.dataType, column.dataLength);
+ const nullable = column.nullable === 'Y' ? '' : '.notNull()';
+ const constraintInfo = parseConstraints(column.constraints);
+
+ // 컬럼 코멘트 추가
+ if (column.columnComments) {
+ schema += ` // ${column.columnComments}\n`;
+ }
+
+ let columnDef = ` ${columnName}: ${postgresType}${nullable}`;
+
+ // Primary key는 별도로 처리되므로 여기서는 제외
+ if (constraintInfo.isUnique && !constraintInfo.isPrimaryKey) {
+ columnDef += '.unique()';
+ }
+
+ columnDef += ',\n';
+ schema += columnDef;
+ });
+
+ schema += '}';
+
+ // Primary key 추가
+ if (pkColumns.length > 0) {
+ if (pkColumns.length === 1) {
+ schema += `, (table) => ({\n pk: primaryKey({ columns: [table.${pkColumns[0]}] })\n})`;
+ } else {
+ const pkColumnsStr = pkColumns.map(col => `table.${col}`).join(', ');
+ schema += `, (table) => ({\n pk: primaryKey({ columns: [${pkColumnsStr}] })\n})`;
+ }
+ }
+
+ schema += ');\n\n';
+ }
+
+ // 타입 export 추가
+ schema += `// 타입 정의\n`;
+ for (const table of tables) {
+ const tableName = toCamelCase(table.tableName);
+ const typeName = tableName.charAt(0).toUpperCase() + tableName.slice(1);
+ schema += `export type ${typeName} = typeof ${tableName}.$inferSelect;\n`;
+ schema += `export type New${typeName} = typeof ${tableName}.$inferInsert;\n`;
+ }
+
+ return schema;
+}
+
+async function main() {
+ try {
+ log.info('Starting NonSAP Oracle to PostgreSQL Drizzle schema generation...');
+
+ // CSV 파일 읽기
+ const csvPath = path.join(__dirname, '1.table-and-columns-info.csv');
+ const csvContent = fs.readFileSync(csvPath, 'utf-8');
+
+ log.info('Parsing CSV data...');
+ const columns = parseCSV(csvContent);
+
+ if (columns.length === 0) {
+ throw new Error('No data found in CSV file');
+ }
+
+ log.info(`Parsed ${columns.length} column definitions`);
+
+ // 테이블별로 그룹화
+ const tables = groupByTable(columns);
+
+ log.info(`Found ${tables.length} tables`);
+
+ // Drizzle 스키마 생성
+ log.info('Generating Drizzle schema...');
+ const schemaCode = generateDrizzleSchema(tables);
+
+ // 파일 저장
+ const outputPath = path.join(__dirname, 'schema.ts');
+ fs.writeFileSync(outputPath, schemaCode, 'utf-8');
+
+ log.success(`Generated Drizzle schema: ${outputPath}`);
+ log.success(`Generated ${tables.length} table schemas with ${columns.length} total columns`);
+
+ } catch (error: unknown) {
+ if (error instanceof Error) {
+ log.error(`Failed to generate schema: ${error.message}`);
+ } else {
+ log.error('Failed to generate schema: Unknown error');
+ }
+ process.exit(1);
+ }
+}
+
+if (require.main === module) {
+ main();
+}
+
+export { main }; \ No newline at end of file
diff --git a/lib/oracle-db/nonsap/oracle-schema.ts b/lib/oracle-db/nonsap/oracle-schema.ts
new file mode 100644
index 00000000..8067c100
--- /dev/null
+++ b/lib/oracle-db/nonsap/oracle-schema.ts
@@ -0,0 +1,4034 @@
+// Auto-generated Oracle DB types
+
+export interface CMCTB_CD {
+ /** 코드분류 */
+ CD_CLF: string;
+ /** 코드 */
+ CD: string;
+ /** 코드2 */
+ CD2: string;
+ /** 코드3 */
+ CD3: string;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_1: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_2: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_3: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_4: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_5: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_6: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_7: string | null;
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_8: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_9: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_10: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_11: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_12: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_13: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_14: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_15: string | null;
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_16: string | null;
+ /** 사용자정의문자열40 */
+ USR_DF_CHAR_17: string | null;
+ /** 사용자정의문자열40 */
+ USR_DF_CHAR_18: string | null;
+ /** 사용자정의문자열255 */
+ USR_DF_CHAR_19: string | null;
+ /** 사용자정의문자열255 */
+ USR_DF_CHAR_20: string | null;
+ /** 사용자정의체크1 */
+ USR_DF_CHK_1: string | null;
+ /** 사용자정의체크2 */
+ USR_DF_CHK_2: string | null;
+ /** 사용자정의체크3 */
+ USR_DF_CHK_3: string | null;
+ /** 사용자정의체크4 */
+ USR_DF_CHK_4: string | null;
+ /** 사용자정의체크5 */
+ USR_DF_CHK_5: string | null;
+ /** 사용자정의체크6 */
+ USR_DF_CHK_6: string | null;
+ /** 사용자정의체크7 */
+ USR_DF_CHK_7: string | null;
+ /** 사용자정의체크8 */
+ USR_DF_CHK_8: string | null;
+ /** 사용자정의일자1 */
+ USR_DF_DT_1: string | null;
+ /** 사용자정의일자2 */
+ USR_DF_DT_2: string | null;
+ /** 사용자정의일자3 */
+ USR_DF_DT_3: string | null;
+ /** 사용자정의일자4 */
+ USR_DF_DT_4: string | null;
+ /** 사용자정의시간1 */
+ USR_DF_TM_1: string | null;
+ /** 사용자정의시간2 */
+ USR_DF_TM_2: string | null;
+ /** 사용자정의시간3 */
+ USR_DF_TM_3: string | null;
+ /** 사용자정의시간4 */
+ USR_DF_TM_4: string | null;
+ /** 생성자 */
+ CRTER: string | null;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 수정자 */
+ CHGR: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 수정시간 */
+ CHG_TM: string | null;
+ /** 삭제여부 */
+ DEL_YN: string | null;
+}
+
+export interface CMCTB_CDNM {
+ /** 언어키 */
+ LANG_KEY: string;
+ /** 코드분류 */
+ CD_CLF: string;
+ /** 코드 */
+ CD: string;
+ /** 코드2 */
+ CD2: string;
+ /** 코드3 */
+ CD3: string;
+ /** 코드명 */
+ CDNM: string | null;
+ /** 그룹설명 */
+ GRP_DSC: string | null;
+ /** 생성자 */
+ CRTER: string | null;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 수정자 */
+ CHGR: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 수정시간 */
+ CHG_TM: string | null;
+ /** 삭제여부 */
+ DEL_YN: string | null;
+}
+
+export interface CMCTB_CD_CLF {
+ /** 코드분류 */
+ CD_CLF: string;
+ /** 생성자 */
+ CRTER: string | null;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 수정자 */
+ CHGR: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 수정시간 */
+ CHG_TM: string | null;
+ /** 삭제여부 */
+ DEL_YN: string | null;
+ /** I/F 상태 */
+ XSTAT: string | null;
+ /** I/F Message */
+ XMSGS: string | null;
+ /** I/F 일자 */
+ XDATS: string | null;
+ /** I/F 시간 */
+ XTIMS: string | null;
+}
+
+export interface CMCTB_CD_CLF_NM {
+ /** 언어키 */
+ LANG_KEY: string;
+ /** 코드분류 */
+ CD_CLF: string;
+ /** 코드분류명 */
+ CD_CLF_NM: string | null;
+ /** 그룹설명 */
+ GRP_DSC: string | null;
+ /** 생성자 */
+ CRTER: string | null;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 수정자 */
+ CHGR: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 수정시간 */
+ CHG_TM: string | null;
+ /** 삭제여부 */
+ DEL_YN: string | null;
+}
+
+export interface CMCTB_CUSTOMER_ADDR {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string;
+ /** 국제주소버전ID */
+ INTL_ADR_VER_ID: string;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 도시우편번호 */
+ CITY_ZIP_NO: string | null;
+ /** 사서함우편번호 */
+ POBX_ZIP_NO: string | null;
+ /** 주소1 */
+ ADR_1: string | null;
+ /** 주소2 */
+ ADR_2: string | null;
+ /** 지역코드 */
+ REGN_CD: string | null;
+ /** 기타주소1 */
+ ETC_ADR_1: string | null;
+ /** 기타주소2 */
+ ETC_ADR_2: string | null;
+ /** House Number */
+ HOUSE_NR1: string | null;
+ /** 사서함 */
+ POBX: string | null;
+ /** 언어키 */
+ LANG_KEY: string | null;
+ /** 업체명1 */
+ VNDRNM_1: string | null;
+ /** 업체명2 */
+ VNDRNM_2: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 운송구역 */
+ TRANS_ZONE: string | null;
+}
+
+export interface CMCTB_CUSTOMER_CFPN {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 영업조직코드 */
+ SALE_ORG_CD: string;
+ /** 유통경로 */
+ DIST_PATH: string;
+ /** 제품군 */
+ PDT_GRP: string;
+ /** 파트너기능 */
+ PTNR_SKL: string;
+ /** 파트너카운터 */
+ PTNR_CNT: string;
+ /** 기본파트너지시자 */
+ BSE_PTNR_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_COMPNY {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 법인ID */
+ CO_ID: string;
+ /** AR계정처리구분 */
+ AR_ACNT_HDL_GB: string | null;
+ /** 정렬Key */
+ SRT_KEY: string | null;
+ /** 자금수지구분 */
+ AMT_RNE_GB: string | null;
+ /** 거래선 지불형태 */
+ VNDR_PAY_FRM: string | null;
+ /** 대금지블조건코드 */
+ BILL_PAY_COND_CD: string | null;
+ /** 대금지불Block코드 */
+ BILL_PAY_BLOC_CD: string | null;
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_GENERAL {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 대표순번 */
+ REPR_SER: string | null;
+ /** 계정그룹 */
+ ACNT_GRP: string | null;
+ /** 중복사유 */
+ OVLAP_CAUS: string | null;
+ /** 고객타입 */
+ CSTM_TP: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 삭제블락 */
+ DEL_BLOCK: string | null;
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: string | null;
+ /** 법인ID */
+ CO_ID: string | null;
+ /** 타이틀 */
+ TTL: string | null;
+ /** 조건 그룹 1 */
+ COND_GRP_1: string | null;
+ /** 고객 그룹 명 */
+ CSTM_GRP_NM: string | null;
+ /** 대표자명 */
+ REPR_NM: string | null;
+ /** 사업유형 */
+ BIZTP: string | null;
+ /** 산업유형 */
+ BIZCON: string | null;
+ /** Tax Number 2 */
+ TX_NO_2: string | null;
+ /** Tax Number 3 */
+ TX_NO_3: string | null;
+ /** Tax Number 4 */
+ TX_NO_4: string | null;
+ /** 세금 등록 번호 */
+ TX_REG_NO: string | null;
+ /** BA코드 */
+ BA_CD: string | null;
+ /** 벤더코드 */
+ VNDRCD: string | null;
+ /** 검색조건1 */
+ SRCH_COND_1: string | null;
+ /** 검색조건2 */
+ SRCH_COND_2: string | null;
+ /** 도시 거리 명 */
+ CITY_DISP_NM: string | null;
+ /** CRM Code */
+ CRM_CD: string | null;
+ /** Inbound Flag */
+ IN_FLAG: string | null;
+ /** Industry */
+ INDST_CD: string | null;
+ /** 세금 번호 타입 */
+ TX_NO_TP: string | null;
+ /** 언어 키 */
+ LANG_KEY: string | null;
+ /** 등록일자 */
+ REG_DT: string | null;
+ /** 등록시간 */
+ REG_DTM: string | null;
+ /** 등록자ID */
+ REGR_ID: string | null;
+ /** 승인일자 */
+ AGR_DT: string | null;
+ /** 승인시간 */
+ AGR_TM: string | null;
+ /** 승인자ID */
+ AGR_R_ID: string | null;
+ /** 변경일자 */
+ CHG_DT: string | null;
+ /** 변경시간 */
+ CHG_TM: string | null;
+ /** 변경자ID */
+ CHGR_ID: string | null;
+ /** F-Tree GT코드 */
+ FTGT_CD: string | null;
+ /** F-Tree GT Name */
+ FTGT_NM: string | null;
+ /** F-Tree DT 코드 */
+ FTDT_CD: string | null;
+ /** F-Tree DT 이름 */
+ FTDT_NM: string | null;
+ /** F-Tree BU 코드 */
+ FTBU_CD: string | null;
+ /** F-Tree BU 이름 */
+ FTBU_NM: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_REPREMAIL {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 이메일주소 */
+ EMAIL_ADR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_REPRFAX {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 팩스번호 */
+ FAXNO: string | null;
+ /** 팩스내선번호 */
+ FAX_ETS_NO: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_REPRTEL {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 전화번호 */
+ TELNO: string | null;
+ /** 내선번호 */
+ ETX_NO: string | null;
+ /** 핸드폰지시자 */
+ HP_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_REPRURL {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 주소번호 */
+ ADR_NO: string;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** URL */
+ URL: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_SORG {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 영업조직코드 */
+ SALE_ORG_CD: string;
+ /** 유통경로 */
+ DIST_PATH: string;
+ /** 제품군 */
+ PDT_GRP: string;
+ /** 판매지역 */
+ SALE_REGN: string | null;
+ /** 판매사무실 */
+ SALE_OFC: string | null;
+ /** 판매그룹 */
+ SALE_GRP: string | null;
+ /** 고객그룹 */
+ CSTM_GRP: string | null;
+ /** 확도 */
+ PSBL: string | null;
+ /** 거래 통화 */
+ TRD_CUR: string | null;
+ /** 환율유형 */
+ EXRAT_TP: string | null;
+ /** 가격절차결정코드 */
+ PRC_PRCS_DSC_CD: string | null;
+ /** 고객통계그룹 */
+ CSTM_STAT_GRP: string | null;
+ /** 선적조건 */
+ SHIPMT_COND: string | null;
+ /** 최대거래수량 */
+ MAX_TRD_QTY: number | null;
+ /** 인도조건1 */
+ DL_COND_1: string | null;
+ /** 인도조건2 */
+ DL_COND_2: string | null;
+ /** 지급조건 */
+ SPLY_COND: string | null;
+ /** 계정할당그룹 */
+ ACNT_ASGN_GRP: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_TAXCD {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 출발국가 */
+ DPRT_NTN: string;
+ /** 세금번호범주 */
+ TX_CTG: string;
+ /** 고객세금분류 */
+ CSTM_TX_CLF: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_CUSTOMER_TAXNUM {
+ /** 내부고객번호 */
+ CSTM_CD: string;
+ /** 세금번호범주 */
+ TX_NO_CTG: string;
+ /** 사업파트너세금번호 */
+ BIZ_PTNR_TX_NO: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_MAT_BSE {
+ /** 자재번호 */
+ MAT_NO: string;
+ /** SM코드 */
+ SM_CD: string | null;
+ /** 자재ID */
+ MAT_ID: string | null;
+ /** 클래스코드 */
+ CLAS_CD: string | null;
+ /** 자재유형 */
+ MAT_TP: string | null;
+ /** 자재구분 */
+ MAT_GB: string | null;
+ /** 자재내역 */
+ MAT_DTL: string | null;
+ /** 자재내역사양 */
+ MAT_DTL_SPEC: string | null;
+ /** 재질 */
+ MATL: string | null;
+ /** 구자재번호 */
+ OLD_MAT_NO: string | null;
+ /** 대체자재번호 */
+ SBST_MAT_NO: string | null;
+ /** 단위 */
+ UOM: string | null;
+ /** 제품군 */
+ PDT_GRP: string | null;
+ /** MRC */
+ MRC: string | null;
+ /** 저장자재지시자 */
+ STOR_MAT_ORDR: string | null;
+ /** 강종 */
+ STYPE: string | null;
+ /** 선급 */
+ CLS: string | null;
+ /** 중량 */
+ WGT: number | null;
+ /** 고유중량 */
+ NET_WGT: number | null;
+ /** 중량단위 */
+ WGT_UOM: string | null;
+ /** 길이 */
+ LTH: number | null;
+ /** 길이2 */
+ LTH_2: number | null;
+ /** 폭 */
+ WTH: number | null;
+ /** 폭2 */
+ WTH_2: number | null;
+ /** 두께 */
+ THK: number | null;
+ /** 규격 */
+ STD: string | null;
+ /** 형강규격 */
+ PROF_STD: string | null;
+ /** CABLE바깥지름 */
+ CBL_OUT_DIA: number | null;
+ /** LTRM_MAT_YN */
+ LTRM_MAT_YN: string | null;
+ /** 도장면적 */
+ PNT_AREA: number | null;
+ /** 도장내부면적 */
+ PNTIN_AREA: number | null;
+ /** 도장내부사양 */
+ PNTIN_SPEC: string | null;
+ /** 도장외부면적 */
+ PNTOUT_AREA: number | null;
+ /** 도장외부사양1 */
+ PNTOUT_SPEC_1: string | null;
+ /** 도장외부사양2 */
+ PNTOUT_SPEC_2: string | null;
+ /** 도장외부사양3 */
+ PNTOUT_SPEC_3: string | null;
+ /** RT검사사양 */
+ RT_INSPEC: string | null;
+ /** UT검사사양 */
+ UT_INSPEC: string | null;
+ /** MT검사사양 */
+ MT_INSPEC: string | null;
+ /** PT검사사양 */
+ PT_INSPEC: string | null;
+ /** 제작도면번호 */
+ MK_DWG_NO: string | null;
+ /** 가공도면번호 */
+ CUT_DWG_NO: string | null;
+ /** 배관SPOOL번호 */
+ PIPE_SPL_NO: string | null;
+ /** 배관LINE번호 */
+ PIPE_LINE_NO: string | null;
+ /** 배관클래스 */
+ PIPE_CLAS: string | null;
+ /** 유체종류 */
+ FLUID_KND: string | null;
+ /** 대표품명재질 */
+ REP_ITM_MATL: string | null;
+ /** 대표지름 */
+ REP_DIA: string | null;
+ /** 대표지름단위 */
+ REP_DIA_UOM: string | null;
+ /** 대표스케쥴 */
+ REP_SCH: string | null;
+ /** 대표지름길이 */
+ REP_DIA_LTH: number | null;
+ /** 직곡관구분 */
+ DBLN_GB: string | null;
+ /** 배관등급 */
+ PIPE_GRD: string | null;
+ /** 열처리유무 */
+ HTRET_YN: string | null;
+ /** 선후도금사양 */
+ BA_GALV_SPEC: string | null;
+ /** SHIPSIDE여부 */
+ SSIDE_YN: string | null;
+ /** 관통관여부 */
+ PNTR_PIPE_YN: string | null;
+ /** UBOLT유무 */
+ UBOLT_YN: string | null;
+ /** 조정관선행도장 */
+ CTLP_PRCD_PNT: string | null;
+ /** 선행후행조정관 */
+ PRCD_SCV_CTLP: string | null;
+ /** PMI검사사양 */
+ PMI_INSPEC: string | null;
+ /** 수압 */
+ WTRPRS: number | null;
+ /** VALVEFITTING번호 */
+ VLV_FIT_NO: string | null;
+ /** TAG번호 */
+ TAG_NO: string | null;
+ /** TAGSUB번호 */
+ TAG_SB_NO: string | null;
+ /** 네임플레이트유형 */
+ NM_PLATE_TP: string | null;
+ /** 네임플레이트서비스명 */
+ NM_PLATE_SVC_NM: string | null;
+ /** VRCS자재번호 */
+ VRCS_MAT_NO: string | null;
+ /** TRANSMITTERFITTING번호 */
+ TRSM_FIT_NO: string | null;
+ /** VALVE옵션코드리스트 */
+ VLV_OPT_CD_LIST: string | null;
+ /** 구매요청번호 */
+ PUR_REQ_NO: string | null;
+ /** ITEM번호 */
+ ITM_NO: string | null;
+ /** 모델번호 */
+ MDL_NO: string | null;
+ /** BL번호 */
+ BL_NO: string | null;
+ /** 업체장비번호 */
+ VNDR_EQP_NO: string | null;
+ /** BOX번호 */
+ BOX_NO: string | null;
+ /** 자재운송관리번호 */
+ MMT_NO: string | null;
+ /** 설치위치 */
+ INSTL_LOC: string | null;
+ /** 메인장비여부 */
+ MN_EQP_YN: string | null;
+ /** 체결재여부 */
+ FIXED_MAT_YN: string | null;
+ /** SPARE여부 */
+ SPRE_YN: string | null;
+ /** TOOL여부 */
+ TOOL_YN: string | null;
+ /** CABLE여부 */
+ CBL_YN: string | null;
+ /** 선주설치자재여부 */
+ OWN_INSTL_MAT_YN: string | null;
+ /** 비설치자재여부 */
+ NONINSTL_MAT_YN: string | null;
+ /** 블록번호 */
+ BLK_NO: string | null;
+ /** 계열 */
+ GYEL: string | null;
+ /** 연결부재번호 */
+ LNK_PTLST_NO: string | null;
+ /** 면적 */
+ AREA: number | null;
+ /** 저장위치 */
+ STOR_LOC: string | null;
+ /** 사급중량 */
+ SGUB_WGT: number | null;
+ /** 도급중량 */
+ DGUB_WGT: number | null;
+ /** 프로젝트번호 */
+ PROJ_NO: string | null;
+ /** 설계기능 */
+ DSN_SKL: string | null;
+ /** 비고 */
+ RMK: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 삭제일자 */
+ DEL_DT: string | null;
+ /** 자재상태 */
+ MAT_STAT: string | null;
+ /** 인터페이스시스템번호 */
+ IF_SYS_NO: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** GLAND사양1 */
+ GLAND_SPEC_1: string | null;
+ /** GLAND사양2 */
+ GLAND_SPEC_2: string | null;
+ /** GLAND사양3 */
+ GLAND_SPEC_3: string | null;
+ /** MCT모듈규격1 */
+ MCT_MDLE_STD_1: string | null;
+ /** MCT모듈규격2 */
+ MCT_MDLE_STD_2: string | null;
+ /** BEELERISE */
+ BEELE_RISE: string | null;
+ /** 최대DRUM길이 */
+ MAX_DRUM_LTH: number | null;
+ /** 승인일시 */
+ AGR_DTM: string | null;
+ /** 승인자ID */
+ AGR_R_ID: string | null;
+ /** DISCIPLINE */
+ DISPLN: string | null;
+ /** 대공종 */
+ LRG_KWK: string | null;
+ /** 세부공종 */
+ DTL_KWK: string | null;
+ /** 특별검사구분 */
+ SP_INSP_GB: string | null;
+ /** 도장외부사양4 */
+ PNTOUT_SPEC_4: string | null;
+ /** OFE자재번호 */
+ OFE_MAT_NO: string | null;
+ /** OFE케이블여부 */
+ OFE_CAB_YN: string | null;
+ /** 포설가능개수 */
+ INSTL_PSB_CNT: number | null;
+ /** 태선세선구분 */
+ CUTL_ML_GB: string | null;
+ /** FCM검사 */
+ FCM_INSP: string | null;
+ /** 서류번호 */
+ DOC_NO: string | null;
+ /** 보류원인 */
+ HOLD_CAUS: string | null;
+ /** 보류일자 */
+ HOLD_DT: string | null;
+ /** NULL */
+ HOLD_LIFT_DT: string | null;
+ /** 자재종류구분 */
+ MAT_KND_GB: string | null;
+ /** BATCH관리지시자 */
+ BATCH_MNG_ORDR: string | null;
+ /** 최초입력자ID */
+ FS_INPR_ID: string | null;
+ /** 최초입력일시 */
+ FS_INP_DTM: string | null;
+ /** 최종수정자ID */
+ FIN_CHGR_ID: string | null;
+ /** 최종수정일시 */
+ FIN_CHG_DTM: string | null;
+ /** NULL */
+ DWG_FILE_NM: string | null;
+ /** NULL */
+ TAG_NO_CHG_DT: string | null;
+ /** SUB장비여부 */
+ SUB_EQP_YN: string | null;
+ /** 부속자재여부 */
+ ATT_MAT_YN: string | null;
+ /** 설계계정번호 */
+ DSN_REV_NO: string | null;
+ /** 사용자정의필드1 */
+ USR_DF_CHAR1: string | null;
+ /** 인도선적품여부(DL_SHIPMT_ITM_YN) */
+ USR_DF_CHAR2: string | null;
+ /** 사용자정의필드3 */
+ USR_DF_CHAR3: string | null;
+ /** 사용자정의필드4 */
+ USR_DF_CHAR4: string | null;
+ /** 변경이력 */
+ USR_DF_CHAR5: string | null;
+}
+
+export interface CMCTB_MAT_CLAS {
+ /** 클래스코드 */
+ CLAS_CD: string;
+ /** 클래스명 */
+ CLAS_NM: string | null;
+ /** 클래스내역 */
+ CLAS_DTL: string | null;
+ /** 부모클래스코드 */
+ PRNT_CLAS_CD: string | null;
+ /** 클래스레벨 */
+ CLAS_LVL: number | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 단위 */
+ UOM: string | null;
+ /** 강종 */
+ STYPE: string | null;
+ /** 등급재질 */
+ GRD_MATL: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 기준단위 */
+ BSE_UOM: string | null;
+}
+
+export interface CMCTB_MAT_CLAS_SPCHAR {
+ /** 클래스코드 */
+ CLAS_CD: string;
+ /** 특성코드 */
+ SPCHAR_CD: string;
+ /** 특선순서 */
+ SPCHAR_SEQ: string | null;
+ /** 필수여부 */
+ MNDT_YN: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+}
+
+export interface CMCTB_MAT_DSC {
+ /** 자재번호 */
+ MAT_NO: string;
+ /** 언어키 */
+ LANG_KEY: string;
+ /** 자재내역 */
+ MAT_DTL: string | null;
+}
+
+export interface CMCTB_MAT_PLNT {
+ /** 자재번호 */
+ MAT_NO: string;
+ /** 플랜트 */
+ PLNT: string;
+ /** 출고단위 */
+ DELV_UOM: string | null;
+ /** 개별일괄소요구분 */
+ EA_BTCH_ND_GB: string | null;
+ /** 조달분류 */
+ PRCR_CLF: string | null;
+ /** 구매담당자코드 */
+ PUR_CHRGR_CD: string | null;
+ /** 조달담당자코드 */
+ PRCR_CHRGR_CD: string | null;
+ /** 현물담당자코드 */
+ GOODS_CHRGR_CD: string | null;
+ /** 구매리드타임 */
+ PUR_LT: number | null;
+ /** MRP유형 */
+ MRP_TP: string | null;
+ /** 자재상태 */
+ MAT_STAT: string | null;
+ /** 벌크자재지시자 */
+ BULK_MAT_ORDR: string | null;
+ /** 조달유형 */
+ PRCR_TP: string | null;
+ /** 안전재고수량 */
+ SFTY_STCK_QTY: number | null;
+ /** 일련번호프로파일 */
+ SER_PROF: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** BATCH관리지시자 */
+ BATCH_MNG_ORDR: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 특별조달유형 */
+ SP_PRCR_TP: string | null;
+}
+
+export interface CMCTB_MAT_SPCHAR {
+ /** 자재번호 */
+ MAT_NO: string;
+ /** 특성코드 */
+ SPCHAR_CD: string;
+ /** 특성내역 */
+ SPCHAR_DTL: string | null;
+ /** 특성값코드 */
+ SPCHAR_VAL_CD: string | null;
+ /** 특성값내역 */
+ SPCHAR_VAL_DTL: string | null;
+ /** 특성값넘버 */
+ SPCHAR_VAL_NUM: number | null;
+ /** 특성값단위 */
+ SPCHAR_VAL_UOM: string | null;
+}
+
+export interface CMCTB_MAT_SPCHAR_MAST {
+ /** 특성코드 */
+ SPCHAR_CD: string;
+ /** 특성내역 */
+ SPCHAR_DTL: string | null;
+ /** 특성타입 */
+ SPCHAR_TP: string | null;
+ /** 특성값단위 */
+ SPCHAR_VAL_UOM: string | null;
+ /** 특성값여부 */
+ SPCHAR_VAL_YN: string | null;
+ /** 특성그룹 */
+ SPCHAR_GRP: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+}
+
+export interface CMCTB_MAT_SPCHAR_VAL {
+ /** 특성코드 */
+ SPCHAR_CD: string;
+ /** 특성값코드 */
+ SPCHAR_VAL_CD: string;
+ /** 특성값내역 */
+ SPCHAR_VAL_DTL: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+}
+
+export interface CMCTB_MAT_UOM {
+ /** 자재번호 */
+ MAT_NO: string;
+ /** 대체단위 */
+ SBST_UOM: string;
+ /** 전환 FOCTOR1 */
+ CNVRT_FCTR_1: number | null;
+ /** 전환 FOCTOR2 */
+ CNVRT_FCTR_2: number | null;
+ /** 길이 */
+ LTH: number | null;
+ /** 폭 */
+ WTH: number | null;
+ /** 높이 */
+ HGT: number | null;
+ /** 치수단위 */
+ SZ_UOM: string | null;
+}
+
+export interface CMCTB_PROJ_BIZCLS {
+ /** 프로젝트번호 */
+ PROJ_NO: string;
+ /** TYPE */
+ TYPE: string;
+ /** 비지니스클래스 */
+ BIZCLS: string | null;
+ /** NULL */
+ QM_CLS: string | null;
+ /** 신규MC여부 */
+ NEW_MC_YN: string | null;
+}
+
+export interface CMCTB_PROJ_MAST {
+ /** 프로젝트번호 */
+ PROJ_NO: string;
+ /** 기준호선 */
+ MSHIP_NO: string | null;
+ /** 시리즈첫프로젝트번호 */
+ SERS_NO: string | null;
+ /** 시리즈번호 */
+ REF_NO: string | null;
+ /** 선종 */
+ SKND: string | null;
+ /** 선형 */
+ SHTYPE: string | null;
+ /** 선형단위 */
+ SHTYPE_UOM: string | null;
+ /** 도크 */
+ DOCK_CD: string | null;
+ /** 선주1 */
+ OWN_1: string | null;
+ /** 선급1 */
+ CLS_1: string | null;
+ /** 계약일자 */
+ CNRT_DT: string | null;
+ /** 계약인도일자 */
+ CNRT_DL_DT: string | null;
+ /** 프로젝트 설명 */
+ PROJ_DSC: string | null;
+ /** 프로젝트구분 */
+ PROJ_GB: string | null;
+ /** 선주명 */
+ OWN_NM: string | null;
+ /** 신선종2 */
+ NEW_SKND2: string | null;
+ /** 선주약어 */
+ OWN_AB: string | null;
+ /** 중국여부 */
+ CHINA_YN: string | null;
+ /** 프로젝트세부타입 */
+ PROJ_DTL_TP: string | null;
+ /** 프로젝트프로파일 */
+ PROJ_PROF: string | null;
+ /** 안건번호 */
+ INQY_NO: string | null;
+ /** 안건순번 */
+ INQY_SEQ: string | null;
+ /** 국적 */
+ NTTP: string | null;
+ /** 연관프로젝트 */
+ RLTD_PROJ: string | null;
+ /** 디지털제품군 */
+ DIGT_PDT_GRP: string | null;
+ /** 풍력프로젝트타입 */
+ WP_PROJ_TP: string | null;
+ /** 전체계약개수 */
+ TOT_CNRT_CNT: string | null;
+ /** 프로젝트기타타입 */
+ PROJ_ETC_TP: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 소스시스템ID */
+ SRC_SYS_ID: string | null;
+ /** 진행상태 */
+ PRGS_STAT: string | null;
+ /** 삭제여부 */
+ DEL_YN: string | null;
+ /** 인도고객코드 */
+ DL_CSTM_CD: string | null;
+ /** 제품레벨4 */
+ PDT_LVL_4: string | null;
+ /** AS보증기간 */
+ AS_GRNT_PRD: number | null;
+ /** 실인도일자 */
+ RL_DL_DT: string | null;
+ /** SAILAWAYDATE */
+ SA_DT: string | null;
+ /** 관청 */
+ GOV: string | null;
+ /** 인도전공사명 */
+ DL_BF_PROJ_NM: string | null;
+ /** IMO번호 */
+ IMO_NO: string | null;
+ /** 유통경로 */
+ DIST_PATH: string | null;
+ /** 영업조직코드 */
+ SALE_ORG_CD: string | null;
+ /** 판매그룹 */
+ SALE_GRP: string | null;
+ /** 사업장코드 */
+ BIZLOC_CD: string | null;
+ /** 관리회계영역 */
+ MNG_ACOT_DMN: string | null;
+ /** 회사코드 */
+ CO_CD: string | null;
+ /** 사업영역 */
+ BIZ_DMN: string | null;
+ /** 플랜트코드 */
+ PLNT_CD: string | null;
+ /** 손익센터 */
+ PRCTR: string | null;
+ /** 계약존속여부 */
+ CNRT_CNTN_YN: string | null;
+ /** 계약유보여부 */
+ CNRT_RESV_YN: string | null;
+ /** 프로젝트진행여부 */
+ PROJ_PRGS_YN: string | null;
+ /** 시스템회계마감일자 */
+ SYS_ACOT_CLSD_DT: string | null;
+ /** 프로젝트범위 */
+ PROJ_SCP: string | null;
+ /** 전길이 */
+ LOA: number | null;
+ /** MAINENGINETYPECODE */
+ MN_ENGN_TP_CD: string | null;
+ /** 속도 */
+ SPD: number | null;
+ /** GT */
+ GT: number | null;
+ /** 선표인도일자 */
+ BP_DL_DT: string | null;
+ /** 선형군 */
+ SHTYPE_GRP: string | null;
+ /** 프로젝트생성요청사번 */
+ PROJ_CRTE_REQ_EMPNO: string | null;
+ /** 프로젝트생성요청일자 */
+ PROJ_CRTE_REQ_DT: string | null;
+ /** 사내외구분 */
+ IO_GB: string | null;
+ /** 고객발주번호 */
+ CSTM_PO_NO: string | null;
+ /** 세대개수 */
+ GENT_CNT: string | null;
+ /** 주문주보증기간 */
+ ORDR_GRNT_PRD: string | null;
+ /** 주문주보증종료일 */
+ ORDR_GRNT_FN_DT: string | null;
+ /** 설계담당자 */
+ DSN_CHRGR: string | null;
+ /** 인도후공사명 */
+ DL_AF_PROJ_NM: string | null;
+ /** 인도후실고객사 */
+ DL_AF_RL_CLNT: string | null;
+ /** 인도후운항선사 */
+ DL_AF_SHPSRV_SCP: string | null;
+ /** 인도후국적 */
+ DL_AF_NTTP: string | null;
+ /** 인도후선급 */
+ DL_AF_CLS: string | null;
+ /** 인도후CALLSIGN */
+ DL_AF_CALL_SIGN: string | null;
+ /** 인도후전화번호 */
+ DL_AF_TEL_NO: string | null;
+ /** 인도후팩스번호 */
+ DL_AF_FAX_NO: string | null;
+ /** 인도후이메일주소 */
+ DL_AF_EMAIL_ADR: string | null;
+ /** 프로젝트WBS타입 */
+ PROJ_WBS_TP: string | null;
+ /** INTERFACE상태 */
+ XSTAT: string | null;
+ /** INTERFACE메세지 */
+ XMSGS: string | null;
+ /** INTERFACE일자 */
+ XDATS: string | null;
+ /** INTERFACE시간 */
+ XTIMS: string | null;
+ /** 중국프로젝트타입 */
+ CHN_PROJ_TP: string | null;
+ /** 최종수요자 보증종료일 */
+ FIN_GRNT_FN_DT: string | null;
+ /** 시작일자 */
+ STDT: string | null;
+ /** 시리즈여부 */
+ SERS_YN: string | null;
+ /** HULL TOP 구분 */
+ TYPE: string | null;
+ /** PROPOSAL 프로젝트번호 */
+ PRO_PROJ_NO: string | null;
+ /** 전기전자프로젝트번호 */
+ PBSD_PROJ_NO: string | null;
+ /** 선박명 */
+ PBSD_SHIP_NM: string | null;
+ /** 사업부 */
+ BIZCLS: string | null;
+ /** 선급2 */
+ CLS_2: string | null;
+ /** 선형코드 */
+ SHTYPE_CD: string | null;
+ /** 프로젝트 인도계획일 */
+ PROJ_DL_PLN_DT: string | null;
+ /** 프로젝트 인도실적일 */
+ PROJ_DL_RT_DT: string | null;
+ /** 전체면적 */
+ TOT_AREA: number | null;
+ /** 면세면적 */
+ EXMPT_AREA: number | null;
+ /** 면세율 */
+ EXMPT_RAT: number | null;
+ /** 품질사업부 */
+ QM_CLS: string | null;
+ /** 연계 프로젝트 번호 */
+ CNCT_PROJ_NO: string | null;
+ /** 기자재 세분화 및 생산일정 연계여부 */
+ EQP_DTL_YN: string | null;
+ /** ExP 연계여부 */
+ EXP_YN: string | null;
+ /** 생산실적 연계여부 */
+ ACT_MH_YN: string | null;
+ /** 사양 */
+ SPEC: string | null;
+ /** 디자인수명 */
+ DSGN_LIFE: string | null;
+ /** 신규MC여부 */
+ NEW_MC_YN: string | null;
+ /** 작업환경가중치여부 */
+ WK_ENV_WT_VAL_YN: string | null;
+ /** 보증시작일 */
+ GRNT_STDT: string | null;
+ /** 목표공수 적용 여부 */
+ TMH_ADPT_YN: string | null;
+ /** ZVEZDA 프로젝트 여부 */
+ ZV_YN: string | null;
+ /** 평택지원 프로젝트 여부 */
+ SEC_YN: string | null;
+}
+
+export interface CMCTB_PROJ_WBS {
+ /** 프로젝트번호 */
+ PROJ_NO: string;
+ /** WBS요소 */
+ WBS_ELMT: string;
+ /** WBS요소명 */
+ WBS_ELMT_NM: string | null;
+ /** WBS레벨 */
+ WBS_LVL: string | null;
+ /** FLAG */
+ FLAG: string | null;
+ /** WBS내부요소 */
+ WBS_INSD_ELMT: string | null;
+ /** 상위WBS요소 */
+ HGRK_WBS_ELMT: string | null;
+ /** INTERFACE상태 */
+ XSTAT: string | null;
+ /** INTERFACE메세지 */
+ XMSGS: string | null;
+ /** INTERFACE일자 */
+ XDATS: string | null;
+ /** INTERFACE시간 */
+ XTIMS: string | null;
+ /** 시스템상태 */
+ SYS_STAT: string | null;
+ /** WBS요소_1 */
+ WBS_ELMT_1: string | null;
+ /** WBS요소_2 */
+ WBS_ELMT_2: string | null;
+ /** WBS요소_3 */
+ WBS_ELMT_3: string | null;
+ /** WBS요소_4 */
+ WBS_ELMT_4: string | null;
+ /** WBS요소_5 */
+ WBS_ELMT_5: string | null;
+ /** WBS요소_6 */
+ WBS_ELMT_6: string | null;
+ /** WBS요소_7 */
+ WBS_ELMT_7: string | null;
+ /** WBS요소_8 */
+ WBS_ELMT_8: string | null;
+ /** WBS요소_9 */
+ WBS_ELMT_9: string | null;
+ /** WBS요소_10 */
+ WBS_ELMT_10: string | null;
+}
+
+export interface CMCTB_VENDOR_ADDR {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 국제주소버전ID */
+ INTL_ADR_VER_ID: string;
+ /** 도시우편번호 */
+ CITY_ZIP_NO: string | null;
+ /** 사서함우편번호 */
+ POBX_ZIP_NO: string | null;
+ /** 주소1 */
+ ADR_1: string | null;
+ /** 주소2 */
+ ADR_2: string | null;
+ /** 지역코드 */
+ REGN_CD: string | null;
+ /** 타이틀 */
+ TTL: string | null;
+ /** VENDOR명약어1 */
+ VNDRNM_ABRV_1: string | null;
+ /** VENDOR명약어2 */
+ VNDRNM_ABRV_2: string | null;
+ /** VENDOR명 */
+ VNDRNM_1: string | null;
+ /** VENDOR명2 */
+ VNDRNM_2: string | null;
+ /** 언어키 */
+ LANG_KEY: string | null;
+ /** 기타주소1 */
+ ETC_ADR_1: string | null;
+ /** 기타주소2 */
+ ETC_ADR_2: string | null;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 사서함 */
+ POBX: string | null;
+ /** 운송구역 */
+ TRANS_ZONE: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** VENDOR명3 */
+ VNDRNM_3: string | null;
+ /** VENDOR명4 */
+ VNDRNM_4: string | null;
+ /** 조세관할구역코드 */
+ TAX_JRDT_ZONE_CD: string | null;
+ /** 주소시간대 */
+ ADR_TMZ: string | null;
+}
+
+export interface CMCTB_VENDOR_COMPNY {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 회사코드 */
+ CO_CD: string;
+ /** 조정계정 */
+ CTL_ACNT: string | null;
+ /** 정렬키 */
+ SRT_KEY: string | null;
+ /** 계획그룹 */
+ PLN_GRP: string | null;
+ /** 이전VENDOR코드 */
+ BF_VNDRCD: string | null;
+ /** 지급조건 */
+ SPLY_COND: string | null;
+ /** 중복송장지시자 */
+ OVLAP_INVC_ORDR: string | null;
+ /** 지급방법 */
+ SPLY_MTHD: string | null;
+ /** 지급보류지시자 */
+ SPLY_HOLD_ORDR: string | null;
+ /** 거래은행단축키 */
+ TRD_BANK_SHRT_KEY: string | null;
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: string | null;
+ /** 보류사유 */
+ HOLD_CAUS: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 원천세국가코드 */
+ SRCE_TX_NTN_CD: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 소수지시자 */
+ MIN_ORDR: string | null;
+ /** 분리지급지시자 */
+ SPRT_SPLY_ORDR: string | null;
+ /** CUSTOMERVENDOR반제지시자 */
+ CSTM_VNDR_CLR_ORDR: string | null;
+ /** 원천세코드 */
+ SRCE_TX_CD: string | null;
+ /** IATABIC구분 */
+ IATA_BIC_GB: string | null;
+ /** 대표유형 */
+ REP_TP: string | null;
+ /** 물류VENDOR유형 */
+ LOGST_VNDR_TP: string | null;
+ /** VENDOR계정번호 */
+ VNDR_ACNT_NO: string | null;
+ /** VENDOR담당자명 */
+ VNDR_CHRGR_NM: string | null;
+ /** 회계담당자전화번호 */
+ ACOT_CHRGR_TELNO: string | null;
+ /** 권한그룹 */
+ AUTH_GRP: string | null;
+ /** 최종이자계산일자 */
+ FIN_IR_CALC_DT: string | null;
+ /** 최종이자실행일자 */
+ FIN_IR_ACT_DT: string | null;
+ /** 회계담당자FAX번호 */
+ ACOT_CHRGR_FAXNO: string | null;
+ /** MAKER담당자이메일 */
+ MK_CHRGR_EMAIL: string | null;
+ /** 메모 */
+ MEMO: string | null;
+ /** 본사계정번호 */
+ MOFFC_ACNT_NO: string | null;
+}
+
+export interface CMCTB_VENDOR_GENERAL {
+ /** 벤더코드 */
+ VNDRCD: string;
+ /** 계정그룹 */
+ ACNT_GRP: string | null;
+ /** 계정그룹종류 */
+ ACNT_GRP_TP: string | null;
+ /** 고객코드 */
+ CSTM_CD: string | null;
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: string | null;
+ /** 구매보류지시자 */
+ PUR_HOLD_ORDR: string | null;
+ /** 보류사유 */
+ HOLD_CAUS: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 법인ID */
+ CO_ID: string | null;
+ /** 대표자명 */
+ REPR_NM: string | null;
+ /** 사업유형 */
+ BIZTP: string | null;
+ /** 산업유형 */
+ BIZCON: string | null;
+ /** 등록일자 */
+ REG_DT: string | null;
+ /** 등록시간 */
+ REG_DTM: string | null;
+ /** 등록자 */
+ REGR_ID: string | null;
+ /** 승인일자 */
+ AGR_DT: string | null;
+ /** 승인시간 */
+ AGR_TM: string | null;
+ /** 승인자ID */
+ AGR_R_ID: string | null;
+ /** 변경일자 */
+ CHG_DT: string | null;
+ /** 변경시간 */
+ CHG_TM: string | null;
+ /** 변경자ID */
+ CHGR_ID: string | null;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 대표전화번호 */
+ REP_TEL_NO: string | null;
+ /** 대표FAX번호 */
+ REP_FAX_NO: string | null;
+ /** 사업자번호 */
+ BIZR_NO: string | null;
+ /** 법인등록번호 */
+ CO_REG_NO: string | null;
+ /** 세금번호4 */
+ TX_CD_4: string | null;
+ /** 설립일자 */
+ CO_INST_DT: string | null;
+ /** 구매처유형 */
+ VNDR_TP: string | null;
+ /** GLOBALTOP코드 */
+ GBL_TOP_CD: string | null;
+ /** GLOBALTOP명 */
+ GBL_TOP_NM: string | null;
+ /** 국내TOP코드 */
+ DMST_TOP_CD: string | null;
+ /** 국내TOP명 */
+ DMST_TOP_NM: string | null;
+ /** 사업단위코드 */
+ BIZ_UOM_CD: string | null;
+ /** 사업단위명 */
+ BIZ_UOM_NM: string | null;
+ /** DUNS번호 */
+ DNS_NO: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 타이틀 */
+ TTL: string | null;
+ /** 부가세등록번호 */
+ VAT_REG_NO: string | null;
+ /** 지로VENDOR지시자 */
+ GIRO_VNDR_ORDR: string | null;
+ /** Vendor명1 */
+ VNDRNM_1: string | null;
+ /** VENDOR명2 */
+ VNDRNM_2: string | null;
+ /** VENDOR명3 */
+ VNDRNM_3: string | null;
+ /** VENDOR명4 */
+ VNDRNM_4: string | null;
+ /** VENDOR명약어1 */
+ VNDRNM_ABRV_1: string | null;
+ /** VENDOR명약어2 */
+ VNDRNM_ABRV_2: string | null;
+ /** 잠재VENDOR코드 */
+ PTNT_VNDRCD: string | null;
+ /** 주소1 */
+ ADR_1: string | null;
+ /** 주소2 */
+ ADR_2: string | null;
+ /** 품질담당자명 */
+ QLT_CHRGR_NM: string | null;
+ /** 품질담당자전화번호 */
+ QLT_CHRGR_TELNO: string | null;
+ /** 품질담당자이메일 */
+ QLT_CHRGR_EMAIL: string | null;
+ /** SUB작업장순서 */
+ SB_WKA_SEQ: string | null;
+ /** 중복사유코드 */
+ OVLAP_CAUS_CD: string | null;
+ /** 문서유형 */
+ DOC_TP: string | null;
+ /** 문서번호 */
+ DOC_NO: string | null;
+ /** 부분문서 */
+ PTN_DOC: string | null;
+ /** 문서버전 */
+ DOC_VER: string | null;
+ /** 인바운드플래그 */
+ INB_FLAG: string | null;
+ /** 삭제보류지시자 */
+ DEL_HOLD_ORDR: string | null;
+ /** 구매보류일자 */
+ PUR_HOLD_DT: string | null;
+ /** 사서함 */
+ POBX: string | null;
+ /** 국제LOCATION점검숫자 */
+ INTL_LCTN_CHK_NUM: number | null;
+ /** 원천세의무자성별키 */
+ SRCETX_RP_SEX_KEY: string | null;
+ /** VENDOR계약담당자1 */
+ VNDR_CNRT_CHRGR_1: string | null;
+ /** VENDOR계약담당자2 */
+ VNDR_CNRT_CHRGR_2: string | null;
+ /** 대표생년월일 */
+ REPR_RESNO: string | null;
+ /** 기업규모 */
+ CO_VLM: string | null;
+}
+
+export interface CMCTB_VENDOR_GRP {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 업무그룹코드 */
+ BIZ_GRP_CD: string;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 생성자ID */
+ CRTER_ID: string | null;
+ /** 변경일자 */
+ CHG_DT: string | null;
+ /** 변경시간 */
+ CHG_TM: string | null;
+ /** 변경자ID */
+ CHGR_ID: string | null;
+}
+
+export interface CMCTB_VENDOR_INCO {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** VENDOR코명 */
+ VNDRNM: string | null;
+ /** 대표자명 */
+ REPR_NM: string | null;
+ /** 협력사구분 */
+ PRTNR_GB: string | null;
+ /** 사내협력사코드 */
+ INCO_PRTNR_CD: string | null;
+ /** 사내협력사작업장1 */
+ INCO_PRTNR_WKA_1: string | null;
+ /** 사내협력사작업장2 */
+ INCO_PRTNR_WKA_2: string | null;
+ /** 사내협력사작업장3 */
+ INCO_PRTNR_WKA_3: string | null;
+ /** 직종코드 */
+ JBTYPE_CD: string | null;
+ /** 직종코드2 */
+ JBTYPE_CD_2: string | null;
+ /** 개인법인구분 */
+ INDV_CO_GB: string | null;
+ /** 사내창립유무 */
+ INCO_FOND_YN: string | null;
+ /** 도크번호 */
+ DOCK_NO: string | null;
+ /** 당사투입일자 */
+ OCMP_INP_DT: string | null;
+ /** 사내철수일자 */
+ INCO_DUSE_DT: string | null;
+ /** 산재보험요율 */
+ INDST_INS_PMRAT: number | null;
+ /** 계약이행보증금 */
+ CNRT_PFRM_GRAMT: number | null;
+ /** 임금율 */
+ WGE_RAT: number | null;
+ /** 해당부서코드1 */
+ CRSPD_DEPTCD_1: string | null;
+ /** 해당부서코드2 */
+ CRSPD_DEPTCD_2: string | null;
+ /** 해당팀소속 */
+ CRSPD_TEAM_BLNG: string | null;
+ /** 사내협력사종목1 */
+ INCO_PRTNR_ITM_1: string | null;
+ /** 사내협력사종목2 */
+ INCO_PRTNR_ITM_2: string | null;
+ /** 사무실위치 */
+ OFC_LOC: string | null;
+ /** 대표당사경력 */
+ REP_OCMP_CARR: string | null;
+ /** 사내철수사유 */
+ INCO_DUSE_CAUS: string | null;
+ /** 전화번호 */
+ TEL_NO: string | null;
+ /** 주소 */
+ ADR1: string | null;
+ /** 상세주소 */
+ ADR2: string | null;
+ /** 이전 VENDOR코드 */
+ OLD_VNDRCD: string | null;
+ /** 하위 VENDOR 갯수 */
+ TREE_NUM: string | null;
+ /** 생성일자 */
+ CRTE_DT: string | null;
+ /** 생성시간 */
+ CRTE_TM: string | null;
+ /** 생성사용자ID */
+ CRTE_USR_ID: string | null;
+ /** 수정일자 */
+ CHG_DT: string | null;
+ /** 수정시간 */
+ CHG_TM: string | null;
+ /** 수정사용자ID */
+ CHG_USR_ID: string | null;
+ /** 직종단가 */
+ UPR_JBTYPE: string | null;
+ /** 공급받는자 종사업장 식별코드 */
+ ZBYBP: string | null;
+ /** 비고 */
+ RMK: string | null;
+ /** 철수예정유무 */
+ WDL_PLN_YN: string | null;
+ /** 임금체불발생 */
+ WGE_DELY_DVL: string | null;
+ /** 에스크로가입유무 */
+ ESCROW_YN: string | null;
+}
+
+export interface CMCTB_VENDOR_PORG {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 구매조직 */
+ PUR_ORG_CD: string;
+ /** 구매오더통화 */
+ PUR_ORD_CUR: string | null;
+ /** 지급조건 */
+ SPLY_COND: string | null;
+ /** 인도조건1 */
+ DL_COND_1: string | null;
+ /** 인도조건2 */
+ DL_COND_2: string | null;
+ /** 계산스키마그룹 */
+ CALC_SHM_GRP: string | null;
+ /** GR기준송장검증 */
+ GR_BSE_INVC_VR: string | null;
+ /** 자동구매오더지시자 */
+ AT_PUR_ORD_ORDR: string | null;
+ /** 구매보류지시자 */
+ PUR_HOLD_ORDR: string | null;
+ /** 삭제지시자 */
+ DEL_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+ /** 오더확인요청지시자 */
+ ORD_CNFM_REQ_ORDR: string | null;
+ /** 영업담당자명 */
+ SALE_CHRGR_NM: string | null;
+ /** VENDOR전화번호 */
+ VNDR_TELNO: string | null;
+ /** 확정제어키 */
+ CNFM_CTL_KEY: string | null;
+ /** 구매보류일자 */
+ PUR_HOLD_DT: string | null;
+ /** 구매보류사유 */
+ PUR_HOLD_CAUS: string | null;
+}
+
+export interface CMCTB_VENDOR_REPREMAIL {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 이메일주소 */
+ EMAIL_ADR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_REPRFAX {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 팩스번호 */
+ FAXNO: string | null;
+ /** 팩스내선번호 */
+ FAX_ETS_NO: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_REPRTEL {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** 국가코드 */
+ NTN_CD: string | null;
+ /** 전화번호 */
+ TELNO: string | null;
+ /** 내선번호 */
+ ETX_NO: string | null;
+ /** 핸드폰지시자 */
+ HP_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_REPRURL {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 주소번호 */
+ ADR_NO: string | null;
+ /** 대표자순번 */
+ REPR_SER: string;
+ /** 유효시작일자 */
+ VLD_ST_DT: string;
+ /** URL */
+ URL: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_TAXNUM {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 세금번호범주 */
+ TX_NO_CTG: string;
+ /** 사업파트너세금번호 */
+ BIZ_PTNR_TX_NO: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_VFPN {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 구매조직 */
+ PUR_ORG_CD: string;
+ /** VENDOR서브번호 */
+ VNDR_SUB_NO: string;
+ /** 플랜트코드 */
+ PLNT_CD: string;
+ /** 파트너기능 */
+ PTNR_SKL: string;
+ /** 파트너카운터 */
+ PTNR_CNT: string;
+ /** 기타참조VENDOR코드 */
+ ETC_REF_VNDRCD: string | null;
+ /** 기본파트너지시자 */
+ BSE_PTNR_ORDR: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface CMCTB_VENDOR_WHTHX {
+ /** VENDOR코드 */
+ VNDRCD: string;
+ /** 회사코드 */
+ CO_CD: string;
+ /** 원천세유형 */
+ SRCE_TX_TP: string;
+ /** 원천세관련지시자 */
+ SRCE_TX_REL_ORDR: string | null;
+ /** 수취인유형 */
+ RECIP_TP: string | null;
+ /** 원천세식별번호 */
+ SRCE_TX_IDENT_NO: string | null;
+ /** 원천세코드 */
+ SRCE_TX_NO: string | null;
+ /** 면제증명서번호 */
+ DCHAG_CERT_NO: string | null;
+ /** 면제율 */
+ DCHAG_RAT: number | null;
+ /** 면제시작일자 */
+ DCHAG_ST_DT: string | null;
+ /** 면제종료일 */
+ DCHAG_ED_DT: string | null;
+ /** 면제사유 */
+ DCHAG_CAUS: string | null;
+ /** 인터페이스일자 */
+ IF_DT: string | null;
+ /** 인터페이스시간 */
+ IF_TM: string | null;
+ /** 인터페이스상태 */
+ IF_STAT: string | null;
+ /** 인터페이스메시지 */
+ IF_MSG: string | null;
+}
+
+export interface PLFTB_ESTM_PROJ_MAST {
+ /** 견적프로젝트번호 */
+ ESTM_PROJ_NO: string;
+ /** 안건번호 */
+ AGND_NO: string | null;
+ /** 견적프로젝트명 */
+ ESTM_PROJ_NM: string | null;
+ /** 사업부문 */
+ BIZ_CLS: string | null;
+ /** 리비젼번호 */
+ REV_NO: number | null;
+ /** 견적유형 */
+ ESTM_TYPE: string | null;
+ /** 선주사코드 */
+ OWNER_CD: string | null;
+ /** 시리즈순번 */
+ SERS_CNT: number | null;
+ /** 선종코드 */
+ SKND_CD: string | null;
+ /** 선형코드 */
+ SHTYPE_CD: string | null;
+ /** 선형크기 */
+ SHTYPE_SIZE: number | null;
+ /** 선형단위 */
+ SHTYPE_UOM: string | null;
+ /** 관청코드 */
+ CHRTR_CD: string | null;
+ /** 국가코드 */
+ NATN_CD: string | null;
+ /** 선급1 */
+ CLS_1: string | null;
+ /** 선급2 */
+ CLS_2: string | null;
+ /** 선급3 */
+ CLS_3: string | null;
+ /** 데이터생성구분 */
+ DATA_CRTE_GB: string | null;
+ /** 최초등록자ID */
+ FS_INPR_ID: string | null;
+ /** 최초등록일시 */
+ FS_INP_DTM: string | null;
+ /** 최종수정자ID */
+ FIN_CHGR_ID: string | null;
+ /** 최종수정일시 */
+ FIN_CHG_DTM: string | null;
+ /** VESSEL 평균값1 */
+ VSL_VAG_1: number | null;
+ /** VESSEL 평균값2 */
+ VSL_VAG_2: number | null;
+ /** VESSEL 평균값3 */
+ VSL_VAG_3: number | null;
+ /** VESSEL 평균값4 */
+ VSL_VAG_4: number | null;
+ /** 견적물량결재ID */
+ ESTM_AOM_APP_ID: string | null;
+ /** 견적물량상태 */
+ ESTM_AOM_STAT: string | null;
+ /** 견적물량상태변경자ID */
+ ESTM_AOM_STAT_CHGR_ID: string | null;
+ /** 견적물량상태변경일시 */
+ ESTM_AOM_STAT_CHG_DTM: string | null;
+ /** IF대상여부 */
+ IF_TRGT_YN: string | null;
+}
+
+// Table 객체 - Table.테이블명.컬럼명 형태로 사용
+export const Table = {
+ CMCTB_CD: {
+ /** 코드분류 */
+ CD_CLF: 'CD_CLF' as const,
+ /** 코드 */
+ CD: 'CD' as const,
+ /** 코드2 */
+ CD2: 'CD2' as const,
+ /** 코드3 */
+ CD3: 'CD3' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_1: 'USR_DF_CHAR_1' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_2: 'USR_DF_CHAR_2' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_3: 'USR_DF_CHAR_3' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_4: 'USR_DF_CHAR_4' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_5: 'USR_DF_CHAR_5' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_6: 'USR_DF_CHAR_6' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_7: 'USR_DF_CHAR_7' as const,
+ /** 사용자정의문자열10 */
+ USR_DF_CHAR_8: 'USR_DF_CHAR_8' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_9: 'USR_DF_CHAR_9' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_10: 'USR_DF_CHAR_10' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_11: 'USR_DF_CHAR_11' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_12: 'USR_DF_CHAR_12' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_13: 'USR_DF_CHAR_13' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_14: 'USR_DF_CHAR_14' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_15: 'USR_DF_CHAR_15' as const,
+ /** 사용자정의문자열20 */
+ USR_DF_CHAR_16: 'USR_DF_CHAR_16' as const,
+ /** 사용자정의문자열40 */
+ USR_DF_CHAR_17: 'USR_DF_CHAR_17' as const,
+ /** 사용자정의문자열40 */
+ USR_DF_CHAR_18: 'USR_DF_CHAR_18' as const,
+ /** 사용자정의문자열255 */
+ USR_DF_CHAR_19: 'USR_DF_CHAR_19' as const,
+ /** 사용자정의문자열255 */
+ USR_DF_CHAR_20: 'USR_DF_CHAR_20' as const,
+ /** 사용자정의체크1 */
+ USR_DF_CHK_1: 'USR_DF_CHK_1' as const,
+ /** 사용자정의체크2 */
+ USR_DF_CHK_2: 'USR_DF_CHK_2' as const,
+ /** 사용자정의체크3 */
+ USR_DF_CHK_3: 'USR_DF_CHK_3' as const,
+ /** 사용자정의체크4 */
+ USR_DF_CHK_4: 'USR_DF_CHK_4' as const,
+ /** 사용자정의체크5 */
+ USR_DF_CHK_5: 'USR_DF_CHK_5' as const,
+ /** 사용자정의체크6 */
+ USR_DF_CHK_6: 'USR_DF_CHK_6' as const,
+ /** 사용자정의체크7 */
+ USR_DF_CHK_7: 'USR_DF_CHK_7' as const,
+ /** 사용자정의체크8 */
+ USR_DF_CHK_8: 'USR_DF_CHK_8' as const,
+ /** 사용자정의일자1 */
+ USR_DF_DT_1: 'USR_DF_DT_1' as const,
+ /** 사용자정의일자2 */
+ USR_DF_DT_2: 'USR_DF_DT_2' as const,
+ /** 사용자정의일자3 */
+ USR_DF_DT_3: 'USR_DF_DT_3' as const,
+ /** 사용자정의일자4 */
+ USR_DF_DT_4: 'USR_DF_DT_4' as const,
+ /** 사용자정의시간1 */
+ USR_DF_TM_1: 'USR_DF_TM_1' as const,
+ /** 사용자정의시간2 */
+ USR_DF_TM_2: 'USR_DF_TM_2' as const,
+ /** 사용자정의시간3 */
+ USR_DF_TM_3: 'USR_DF_TM_3' as const,
+ /** 사용자정의시간4 */
+ USR_DF_TM_4: 'USR_DF_TM_4' as const,
+ /** 생성자 */
+ CRTER: 'CRTER' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 수정자 */
+ CHGR: 'CHGR' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 수정시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 삭제여부 */
+ DEL_YN: 'DEL_YN' as const,
+ },
+ CMCTB_CDNM: {
+ /** 언어키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 코드분류 */
+ CD_CLF: 'CD_CLF' as const,
+ /** 코드 */
+ CD: 'CD' as const,
+ /** 코드2 */
+ CD2: 'CD2' as const,
+ /** 코드3 */
+ CD3: 'CD3' as const,
+ /** 코드명 */
+ CDNM: 'CDNM' as const,
+ /** 그룹설명 */
+ GRP_DSC: 'GRP_DSC' as const,
+ /** 생성자 */
+ CRTER: 'CRTER' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 수정자 */
+ CHGR: 'CHGR' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 수정시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 삭제여부 */
+ DEL_YN: 'DEL_YN' as const,
+ },
+ CMCTB_CD_CLF: {
+ /** 코드분류 */
+ CD_CLF: 'CD_CLF' as const,
+ /** 생성자 */
+ CRTER: 'CRTER' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 수정자 */
+ CHGR: 'CHGR' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 수정시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 삭제여부 */
+ DEL_YN: 'DEL_YN' as const,
+ /** I/F 상태 */
+ XSTAT: 'XSTAT' as const,
+ /** I/F Message */
+ XMSGS: 'XMSGS' as const,
+ /** I/F 일자 */
+ XDATS: 'XDATS' as const,
+ /** I/F 시간 */
+ XTIMS: 'XTIMS' as const,
+ },
+ CMCTB_CD_CLF_NM: {
+ /** 언어키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 코드분류 */
+ CD_CLF: 'CD_CLF' as const,
+ /** 코드분류명 */
+ CD_CLF_NM: 'CD_CLF_NM' as const,
+ /** 그룹설명 */
+ GRP_DSC: 'GRP_DSC' as const,
+ /** 생성자 */
+ CRTER: 'CRTER' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 수정자 */
+ CHGR: 'CHGR' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 수정시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 삭제여부 */
+ DEL_YN: 'DEL_YN' as const,
+ },
+ CMCTB_CUSTOMER_ADDR: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 국제주소버전ID */
+ INTL_ADR_VER_ID: 'INTL_ADR_VER_ID' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 도시우편번호 */
+ CITY_ZIP_NO: 'CITY_ZIP_NO' as const,
+ /** 사서함우편번호 */
+ POBX_ZIP_NO: 'POBX_ZIP_NO' as const,
+ /** 주소1 */
+ ADR_1: 'ADR_1' as const,
+ /** 주소2 */
+ ADR_2: 'ADR_2' as const,
+ /** 지역코드 */
+ REGN_CD: 'REGN_CD' as const,
+ /** 기타주소1 */
+ ETC_ADR_1: 'ETC_ADR_1' as const,
+ /** 기타주소2 */
+ ETC_ADR_2: 'ETC_ADR_2' as const,
+ /** House Number */
+ HOUSE_NR1: 'HOUSE_NR1' as const,
+ /** 사서함 */
+ POBX: 'POBX' as const,
+ /** 언어키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 업체명1 */
+ VNDRNM_1: 'VNDRNM_1' as const,
+ /** 업체명2 */
+ VNDRNM_2: 'VNDRNM_2' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 운송구역 */
+ TRANS_ZONE: 'TRANS_ZONE' as const,
+ },
+ CMCTB_CUSTOMER_CFPN: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 영업조직코드 */
+ SALE_ORG_CD: 'SALE_ORG_CD' as const,
+ /** 유통경로 */
+ DIST_PATH: 'DIST_PATH' as const,
+ /** 제품군 */
+ PDT_GRP: 'PDT_GRP' as const,
+ /** 파트너기능 */
+ PTNR_SKL: 'PTNR_SKL' as const,
+ /** 파트너카운터 */
+ PTNR_CNT: 'PTNR_CNT' as const,
+ /** 기본파트너지시자 */
+ BSE_PTNR_ORDR: 'BSE_PTNR_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_COMPNY: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 법인ID */
+ CO_ID: 'CO_ID' as const,
+ /** AR계정처리구분 */
+ AR_ACNT_HDL_GB: 'AR_ACNT_HDL_GB' as const,
+ /** 정렬Key */
+ SRT_KEY: 'SRT_KEY' as const,
+ /** 자금수지구분 */
+ AMT_RNE_GB: 'AMT_RNE_GB' as const,
+ /** 거래선 지불형태 */
+ VNDR_PAY_FRM: 'VNDR_PAY_FRM' as const,
+ /** 대금지블조건코드 */
+ BILL_PAY_COND_CD: 'BILL_PAY_COND_CD' as const,
+ /** 대금지불Block코드 */
+ BILL_PAY_BLOC_CD: 'BILL_PAY_BLOC_CD' as const,
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: 'PST_HOLD_ORDR' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_GENERAL: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 계정그룹 */
+ ACNT_GRP: 'ACNT_GRP' as const,
+ /** 중복사유 */
+ OVLAP_CAUS: 'OVLAP_CAUS' as const,
+ /** 고객타입 */
+ CSTM_TP: 'CSTM_TP' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 삭제블락 */
+ DEL_BLOCK: 'DEL_BLOCK' as const,
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: 'PST_HOLD_ORDR' as const,
+ /** 법인ID */
+ CO_ID: 'CO_ID' as const,
+ /** 타이틀 */
+ TTL: 'TTL' as const,
+ /** 조건 그룹 1 */
+ COND_GRP_1: 'COND_GRP_1' as const,
+ /** 고객 그룹 명 */
+ CSTM_GRP_NM: 'CSTM_GRP_NM' as const,
+ /** 대표자명 */
+ REPR_NM: 'REPR_NM' as const,
+ /** 사업유형 */
+ BIZTP: 'BIZTP' as const,
+ /** 산업유형 */
+ BIZCON: 'BIZCON' as const,
+ /** Tax Number 2 */
+ TX_NO_2: 'TX_NO_2' as const,
+ /** Tax Number 3 */
+ TX_NO_3: 'TX_NO_3' as const,
+ /** Tax Number 4 */
+ TX_NO_4: 'TX_NO_4' as const,
+ /** 세금 등록 번호 */
+ TX_REG_NO: 'TX_REG_NO' as const,
+ /** BA코드 */
+ BA_CD: 'BA_CD' as const,
+ /** 벤더코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 검색조건1 */
+ SRCH_COND_1: 'SRCH_COND_1' as const,
+ /** 검색조건2 */
+ SRCH_COND_2: 'SRCH_COND_2' as const,
+ /** 도시 거리 명 */
+ CITY_DISP_NM: 'CITY_DISP_NM' as const,
+ /** CRM Code */
+ CRM_CD: 'CRM_CD' as const,
+ /** Inbound Flag */
+ IN_FLAG: 'IN_FLAG' as const,
+ /** Industry */
+ INDST_CD: 'INDST_CD' as const,
+ /** 세금 번호 타입 */
+ TX_NO_TP: 'TX_NO_TP' as const,
+ /** 언어 키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 등록일자 */
+ REG_DT: 'REG_DT' as const,
+ /** 등록시간 */
+ REG_DTM: 'REG_DTM' as const,
+ /** 등록자ID */
+ REGR_ID: 'REGR_ID' as const,
+ /** 승인일자 */
+ AGR_DT: 'AGR_DT' as const,
+ /** 승인시간 */
+ AGR_TM: 'AGR_TM' as const,
+ /** 승인자ID */
+ AGR_R_ID: 'AGR_R_ID' as const,
+ /** 변경일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 변경시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 변경자ID */
+ CHGR_ID: 'CHGR_ID' as const,
+ /** F-Tree GT코드 */
+ FTGT_CD: 'FTGT_CD' as const,
+ /** F-Tree GT Name */
+ FTGT_NM: 'FTGT_NM' as const,
+ /** F-Tree DT 코드 */
+ FTDT_CD: 'FTDT_CD' as const,
+ /** F-Tree DT 이름 */
+ FTDT_NM: 'FTDT_NM' as const,
+ /** F-Tree BU 코드 */
+ FTBU_CD: 'FTBU_CD' as const,
+ /** F-Tree BU 이름 */
+ FTBU_NM: 'FTBU_NM' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_REPREMAIL: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 이메일주소 */
+ EMAIL_ADR: 'EMAIL_ADR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_REPRFAX: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 팩스번호 */
+ FAXNO: 'FAXNO' as const,
+ /** 팩스내선번호 */
+ FAX_ETS_NO: 'FAX_ETS_NO' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_REPRTEL: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 전화번호 */
+ TELNO: 'TELNO' as const,
+ /** 내선번호 */
+ ETX_NO: 'ETX_NO' as const,
+ /** 핸드폰지시자 */
+ HP_ORDR: 'HP_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_REPRURL: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** URL */
+ URL: 'URL' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_SORG: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 영업조직코드 */
+ SALE_ORG_CD: 'SALE_ORG_CD' as const,
+ /** 유통경로 */
+ DIST_PATH: 'DIST_PATH' as const,
+ /** 제품군 */
+ PDT_GRP: 'PDT_GRP' as const,
+ /** 판매지역 */
+ SALE_REGN: 'SALE_REGN' as const,
+ /** 판매사무실 */
+ SALE_OFC: 'SALE_OFC' as const,
+ /** 판매그룹 */
+ SALE_GRP: 'SALE_GRP' as const,
+ /** 고객그룹 */
+ CSTM_GRP: 'CSTM_GRP' as const,
+ /** 확도 */
+ PSBL: 'PSBL' as const,
+ /** 거래 통화 */
+ TRD_CUR: 'TRD_CUR' as const,
+ /** 환율유형 */
+ EXRAT_TP: 'EXRAT_TP' as const,
+ /** 가격절차결정코드 */
+ PRC_PRCS_DSC_CD: 'PRC_PRCS_DSC_CD' as const,
+ /** 고객통계그룹 */
+ CSTM_STAT_GRP: 'CSTM_STAT_GRP' as const,
+ /** 선적조건 */
+ SHIPMT_COND: 'SHIPMT_COND' as const,
+ /** 최대거래수량 */
+ MAX_TRD_QTY: 'MAX_TRD_QTY' as const,
+ /** 인도조건1 */
+ DL_COND_1: 'DL_COND_1' as const,
+ /** 인도조건2 */
+ DL_COND_2: 'DL_COND_2' as const,
+ /** 지급조건 */
+ SPLY_COND: 'SPLY_COND' as const,
+ /** 계정할당그룹 */
+ ACNT_ASGN_GRP: 'ACNT_ASGN_GRP' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_TAXCD: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 출발국가 */
+ DPRT_NTN: 'DPRT_NTN' as const,
+ /** 세금번호범주 */
+ TX_CTG: 'TX_CTG' as const,
+ /** 고객세금분류 */
+ CSTM_TX_CLF: 'CSTM_TX_CLF' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_CUSTOMER_TAXNUM: {
+ /** 내부고객번호 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 세금번호범주 */
+ TX_NO_CTG: 'TX_NO_CTG' as const,
+ /** 사업파트너세금번호 */
+ BIZ_PTNR_TX_NO: 'BIZ_PTNR_TX_NO' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_MAT_BSE: {
+ /** 자재번호 */
+ MAT_NO: 'MAT_NO' as const,
+ /** SM코드 */
+ SM_CD: 'SM_CD' as const,
+ /** 자재ID */
+ MAT_ID: 'MAT_ID' as const,
+ /** 클래스코드 */
+ CLAS_CD: 'CLAS_CD' as const,
+ /** 자재유형 */
+ MAT_TP: 'MAT_TP' as const,
+ /** 자재구분 */
+ MAT_GB: 'MAT_GB' as const,
+ /** 자재내역 */
+ MAT_DTL: 'MAT_DTL' as const,
+ /** 자재내역사양 */
+ MAT_DTL_SPEC: 'MAT_DTL_SPEC' as const,
+ /** 재질 */
+ MATL: 'MATL' as const,
+ /** 구자재번호 */
+ OLD_MAT_NO: 'OLD_MAT_NO' as const,
+ /** 대체자재번호 */
+ SBST_MAT_NO: 'SBST_MAT_NO' as const,
+ /** 단위 */
+ UOM: 'UOM' as const,
+ /** 제품군 */
+ PDT_GRP: 'PDT_GRP' as const,
+ /** MRC */
+ MRC: 'MRC' as const,
+ /** 저장자재지시자 */
+ STOR_MAT_ORDR: 'STOR_MAT_ORDR' as const,
+ /** 강종 */
+ STYPE: 'STYPE' as const,
+ /** 선급 */
+ CLS: 'CLS' as const,
+ /** 중량 */
+ WGT: 'WGT' as const,
+ /** 고유중량 */
+ NET_WGT: 'NET_WGT' as const,
+ /** 중량단위 */
+ WGT_UOM: 'WGT_UOM' as const,
+ /** 길이 */
+ LTH: 'LTH' as const,
+ /** 길이2 */
+ LTH_2: 'LTH_2' as const,
+ /** 폭 */
+ WTH: 'WTH' as const,
+ /** 폭2 */
+ WTH_2: 'WTH_2' as const,
+ /** 두께 */
+ THK: 'THK' as const,
+ /** 규격 */
+ STD: 'STD' as const,
+ /** 형강규격 */
+ PROF_STD: 'PROF_STD' as const,
+ /** CABLE바깥지름 */
+ CBL_OUT_DIA: 'CBL_OUT_DIA' as const,
+ /** LTRM_MAT_YN */
+ LTRM_MAT_YN: 'LTRM_MAT_YN' as const,
+ /** 도장면적 */
+ PNT_AREA: 'PNT_AREA' as const,
+ /** 도장내부면적 */
+ PNTIN_AREA: 'PNTIN_AREA' as const,
+ /** 도장내부사양 */
+ PNTIN_SPEC: 'PNTIN_SPEC' as const,
+ /** 도장외부면적 */
+ PNTOUT_AREA: 'PNTOUT_AREA' as const,
+ /** 도장외부사양1 */
+ PNTOUT_SPEC_1: 'PNTOUT_SPEC_1' as const,
+ /** 도장외부사양2 */
+ PNTOUT_SPEC_2: 'PNTOUT_SPEC_2' as const,
+ /** 도장외부사양3 */
+ PNTOUT_SPEC_3: 'PNTOUT_SPEC_3' as const,
+ /** RT검사사양 */
+ RT_INSPEC: 'RT_INSPEC' as const,
+ /** UT검사사양 */
+ UT_INSPEC: 'UT_INSPEC' as const,
+ /** MT검사사양 */
+ MT_INSPEC: 'MT_INSPEC' as const,
+ /** PT검사사양 */
+ PT_INSPEC: 'PT_INSPEC' as const,
+ /** 제작도면번호 */
+ MK_DWG_NO: 'MK_DWG_NO' as const,
+ /** 가공도면번호 */
+ CUT_DWG_NO: 'CUT_DWG_NO' as const,
+ /** 배관SPOOL번호 */
+ PIPE_SPL_NO: 'PIPE_SPL_NO' as const,
+ /** 배관LINE번호 */
+ PIPE_LINE_NO: 'PIPE_LINE_NO' as const,
+ /** 배관클래스 */
+ PIPE_CLAS: 'PIPE_CLAS' as const,
+ /** 유체종류 */
+ FLUID_KND: 'FLUID_KND' as const,
+ /** 대표품명재질 */
+ REP_ITM_MATL: 'REP_ITM_MATL' as const,
+ /** 대표지름 */
+ REP_DIA: 'REP_DIA' as const,
+ /** 대표지름단위 */
+ REP_DIA_UOM: 'REP_DIA_UOM' as const,
+ /** 대표스케쥴 */
+ REP_SCH: 'REP_SCH' as const,
+ /** 대표지름길이 */
+ REP_DIA_LTH: 'REP_DIA_LTH' as const,
+ /** 직곡관구분 */
+ DBLN_GB: 'DBLN_GB' as const,
+ /** 배관등급 */
+ PIPE_GRD: 'PIPE_GRD' as const,
+ /** 열처리유무 */
+ HTRET_YN: 'HTRET_YN' as const,
+ /** 선후도금사양 */
+ BA_GALV_SPEC: 'BA_GALV_SPEC' as const,
+ /** SHIPSIDE여부 */
+ SSIDE_YN: 'SSIDE_YN' as const,
+ /** 관통관여부 */
+ PNTR_PIPE_YN: 'PNTR_PIPE_YN' as const,
+ /** UBOLT유무 */
+ UBOLT_YN: 'UBOLT_YN' as const,
+ /** 조정관선행도장 */
+ CTLP_PRCD_PNT: 'CTLP_PRCD_PNT' as const,
+ /** 선행후행조정관 */
+ PRCD_SCV_CTLP: 'PRCD_SCV_CTLP' as const,
+ /** PMI검사사양 */
+ PMI_INSPEC: 'PMI_INSPEC' as const,
+ /** 수압 */
+ WTRPRS: 'WTRPRS' as const,
+ /** VALVEFITTING번호 */
+ VLV_FIT_NO: 'VLV_FIT_NO' as const,
+ /** TAG번호 */
+ TAG_NO: 'TAG_NO' as const,
+ /** TAGSUB번호 */
+ TAG_SB_NO: 'TAG_SB_NO' as const,
+ /** 네임플레이트유형 */
+ NM_PLATE_TP: 'NM_PLATE_TP' as const,
+ /** 네임플레이트서비스명 */
+ NM_PLATE_SVC_NM: 'NM_PLATE_SVC_NM' as const,
+ /** VRCS자재번호 */
+ VRCS_MAT_NO: 'VRCS_MAT_NO' as const,
+ /** TRANSMITTERFITTING번호 */
+ TRSM_FIT_NO: 'TRSM_FIT_NO' as const,
+ /** VALVE옵션코드리스트 */
+ VLV_OPT_CD_LIST: 'VLV_OPT_CD_LIST' as const,
+ /** 구매요청번호 */
+ PUR_REQ_NO: 'PUR_REQ_NO' as const,
+ /** ITEM번호 */
+ ITM_NO: 'ITM_NO' as const,
+ /** 모델번호 */
+ MDL_NO: 'MDL_NO' as const,
+ /** BL번호 */
+ BL_NO: 'BL_NO' as const,
+ /** 업체장비번호 */
+ VNDR_EQP_NO: 'VNDR_EQP_NO' as const,
+ /** BOX번호 */
+ BOX_NO: 'BOX_NO' as const,
+ /** 자재운송관리번호 */
+ MMT_NO: 'MMT_NO' as const,
+ /** 설치위치 */
+ INSTL_LOC: 'INSTL_LOC' as const,
+ /** 메인장비여부 */
+ MN_EQP_YN: 'MN_EQP_YN' as const,
+ /** 체결재여부 */
+ FIXED_MAT_YN: 'FIXED_MAT_YN' as const,
+ /** SPARE여부 */
+ SPRE_YN: 'SPRE_YN' as const,
+ /** TOOL여부 */
+ TOOL_YN: 'TOOL_YN' as const,
+ /** CABLE여부 */
+ CBL_YN: 'CBL_YN' as const,
+ /** 선주설치자재여부 */
+ OWN_INSTL_MAT_YN: 'OWN_INSTL_MAT_YN' as const,
+ /** 비설치자재여부 */
+ NONINSTL_MAT_YN: 'NONINSTL_MAT_YN' as const,
+ /** 블록번호 */
+ BLK_NO: 'BLK_NO' as const,
+ /** 계열 */
+ GYEL: 'GYEL' as const,
+ /** 연결부재번호 */
+ LNK_PTLST_NO: 'LNK_PTLST_NO' as const,
+ /** 면적 */
+ AREA: 'AREA' as const,
+ /** 저장위치 */
+ STOR_LOC: 'STOR_LOC' as const,
+ /** 사급중량 */
+ SGUB_WGT: 'SGUB_WGT' as const,
+ /** 도급중량 */
+ DGUB_WGT: 'DGUB_WGT' as const,
+ /** 프로젝트번호 */
+ PROJ_NO: 'PROJ_NO' as const,
+ /** 설계기능 */
+ DSN_SKL: 'DSN_SKL' as const,
+ /** 비고 */
+ RMK: 'RMK' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 삭제일자 */
+ DEL_DT: 'DEL_DT' as const,
+ /** 자재상태 */
+ MAT_STAT: 'MAT_STAT' as const,
+ /** 인터페이스시스템번호 */
+ IF_SYS_NO: 'IF_SYS_NO' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** GLAND사양1 */
+ GLAND_SPEC_1: 'GLAND_SPEC_1' as const,
+ /** GLAND사양2 */
+ GLAND_SPEC_2: 'GLAND_SPEC_2' as const,
+ /** GLAND사양3 */
+ GLAND_SPEC_3: 'GLAND_SPEC_3' as const,
+ /** MCT모듈규격1 */
+ MCT_MDLE_STD_1: 'MCT_MDLE_STD_1' as const,
+ /** MCT모듈규격2 */
+ MCT_MDLE_STD_2: 'MCT_MDLE_STD_2' as const,
+ /** BEELERISE */
+ BEELE_RISE: 'BEELE_RISE' as const,
+ /** 최대DRUM길이 */
+ MAX_DRUM_LTH: 'MAX_DRUM_LTH' as const,
+ /** 승인일시 */
+ AGR_DTM: 'AGR_DTM' as const,
+ /** 승인자ID */
+ AGR_R_ID: 'AGR_R_ID' as const,
+ /** DISCIPLINE */
+ DISPLN: 'DISPLN' as const,
+ /** 대공종 */
+ LRG_KWK: 'LRG_KWK' as const,
+ /** 세부공종 */
+ DTL_KWK: 'DTL_KWK' as const,
+ /** 특별검사구분 */
+ SP_INSP_GB: 'SP_INSP_GB' as const,
+ /** 도장외부사양4 */
+ PNTOUT_SPEC_4: 'PNTOUT_SPEC_4' as const,
+ /** OFE자재번호 */
+ OFE_MAT_NO: 'OFE_MAT_NO' as const,
+ /** OFE케이블여부 */
+ OFE_CAB_YN: 'OFE_CAB_YN' as const,
+ /** 포설가능개수 */
+ INSTL_PSB_CNT: 'INSTL_PSB_CNT' as const,
+ /** 태선세선구분 */
+ CUTL_ML_GB: 'CUTL_ML_GB' as const,
+ /** FCM검사 */
+ FCM_INSP: 'FCM_INSP' as const,
+ /** 서류번호 */
+ DOC_NO: 'DOC_NO' as const,
+ /** 보류원인 */
+ HOLD_CAUS: 'HOLD_CAUS' as const,
+ /** 보류일자 */
+ HOLD_DT: 'HOLD_DT' as const,
+ /** NULL */
+ HOLD_LIFT_DT: 'HOLD_LIFT_DT' as const,
+ /** 자재종류구분 */
+ MAT_KND_GB: 'MAT_KND_GB' as const,
+ /** BATCH관리지시자 */
+ BATCH_MNG_ORDR: 'BATCH_MNG_ORDR' as const,
+ /** 최초입력자ID */
+ FS_INPR_ID: 'FS_INPR_ID' as const,
+ /** 최초입력일시 */
+ FS_INP_DTM: 'FS_INP_DTM' as const,
+ /** 최종수정자ID */
+ FIN_CHGR_ID: 'FIN_CHGR_ID' as const,
+ /** 최종수정일시 */
+ FIN_CHG_DTM: 'FIN_CHG_DTM' as const,
+ /** NULL */
+ DWG_FILE_NM: 'DWG_FILE_NM' as const,
+ /** NULL */
+ TAG_NO_CHG_DT: 'TAG_NO_CHG_DT' as const,
+ /** SUB장비여부 */
+ SUB_EQP_YN: 'SUB_EQP_YN' as const,
+ /** 부속자재여부 */
+ ATT_MAT_YN: 'ATT_MAT_YN' as const,
+ /** 설계계정번호 */
+ DSN_REV_NO: 'DSN_REV_NO' as const,
+ /** 사용자정의필드1 */
+ USR_DF_CHAR1: 'USR_DF_CHAR1' as const,
+ /** 인도선적품여부(DL_SHIPMT_ITM_YN) */
+ USR_DF_CHAR2: 'USR_DF_CHAR2' as const,
+ /** 사용자정의필드3 */
+ USR_DF_CHAR3: 'USR_DF_CHAR3' as const,
+ /** 사용자정의필드4 */
+ USR_DF_CHAR4: 'USR_DF_CHAR4' as const,
+ /** 변경이력 */
+ USR_DF_CHAR5: 'USR_DF_CHAR5' as const,
+ },
+ CMCTB_MAT_CLAS: {
+ /** 클래스코드 */
+ CLAS_CD: 'CLAS_CD' as const,
+ /** 클래스명 */
+ CLAS_NM: 'CLAS_NM' as const,
+ /** 클래스내역 */
+ CLAS_DTL: 'CLAS_DTL' as const,
+ /** 부모클래스코드 */
+ PRNT_CLAS_CD: 'PRNT_CLAS_CD' as const,
+ /** 클래스레벨 */
+ CLAS_LVL: 'CLAS_LVL' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 단위 */
+ UOM: 'UOM' as const,
+ /** 강종 */
+ STYPE: 'STYPE' as const,
+ /** 등급재질 */
+ GRD_MATL: 'GRD_MATL' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 기준단위 */
+ BSE_UOM: 'BSE_UOM' as const,
+ },
+ CMCTB_MAT_CLAS_SPCHAR: {
+ /** 클래스코드 */
+ CLAS_CD: 'CLAS_CD' as const,
+ /** 특성코드 */
+ SPCHAR_CD: 'SPCHAR_CD' as const,
+ /** 특선순서 */
+ SPCHAR_SEQ: 'SPCHAR_SEQ' as const,
+ /** 필수여부 */
+ MNDT_YN: 'MNDT_YN' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ },
+ CMCTB_MAT_DSC: {
+ /** 자재번호 */
+ MAT_NO: 'MAT_NO' as const,
+ /** 언어키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 자재내역 */
+ MAT_DTL: 'MAT_DTL' as const,
+ },
+ CMCTB_MAT_PLNT: {
+ /** 자재번호 */
+ MAT_NO: 'MAT_NO' as const,
+ /** 플랜트 */
+ PLNT: 'PLNT' as const,
+ /** 출고단위 */
+ DELV_UOM: 'DELV_UOM' as const,
+ /** 개별일괄소요구분 */
+ EA_BTCH_ND_GB: 'EA_BTCH_ND_GB' as const,
+ /** 조달분류 */
+ PRCR_CLF: 'PRCR_CLF' as const,
+ /** 구매담당자코드 */
+ PUR_CHRGR_CD: 'PUR_CHRGR_CD' as const,
+ /** 조달담당자코드 */
+ PRCR_CHRGR_CD: 'PRCR_CHRGR_CD' as const,
+ /** 현물담당자코드 */
+ GOODS_CHRGR_CD: 'GOODS_CHRGR_CD' as const,
+ /** 구매리드타임 */
+ PUR_LT: 'PUR_LT' as const,
+ /** MRP유형 */
+ MRP_TP: 'MRP_TP' as const,
+ /** 자재상태 */
+ MAT_STAT: 'MAT_STAT' as const,
+ /** 벌크자재지시자 */
+ BULK_MAT_ORDR: 'BULK_MAT_ORDR' as const,
+ /** 조달유형 */
+ PRCR_TP: 'PRCR_TP' as const,
+ /** 안전재고수량 */
+ SFTY_STCK_QTY: 'SFTY_STCK_QTY' as const,
+ /** 일련번호프로파일 */
+ SER_PROF: 'SER_PROF' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** BATCH관리지시자 */
+ BATCH_MNG_ORDR: 'BATCH_MNG_ORDR' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 특별조달유형 */
+ SP_PRCR_TP: 'SP_PRCR_TP' as const,
+ },
+ CMCTB_MAT_SPCHAR: {
+ /** 자재번호 */
+ MAT_NO: 'MAT_NO' as const,
+ /** 특성코드 */
+ SPCHAR_CD: 'SPCHAR_CD' as const,
+ /** 특성내역 */
+ SPCHAR_DTL: 'SPCHAR_DTL' as const,
+ /** 특성값코드 */
+ SPCHAR_VAL_CD: 'SPCHAR_VAL_CD' as const,
+ /** 특성값내역 */
+ SPCHAR_VAL_DTL: 'SPCHAR_VAL_DTL' as const,
+ /** 특성값넘버 */
+ SPCHAR_VAL_NUM: 'SPCHAR_VAL_NUM' as const,
+ /** 특성값단위 */
+ SPCHAR_VAL_UOM: 'SPCHAR_VAL_UOM' as const,
+ },
+ CMCTB_MAT_SPCHAR_MAST: {
+ /** 특성코드 */
+ SPCHAR_CD: 'SPCHAR_CD' as const,
+ /** 특성내역 */
+ SPCHAR_DTL: 'SPCHAR_DTL' as const,
+ /** 특성타입 */
+ SPCHAR_TP: 'SPCHAR_TP' as const,
+ /** 특성값단위 */
+ SPCHAR_VAL_UOM: 'SPCHAR_VAL_UOM' as const,
+ /** 특성값여부 */
+ SPCHAR_VAL_YN: 'SPCHAR_VAL_YN' as const,
+ /** 특성그룹 */
+ SPCHAR_GRP: 'SPCHAR_GRP' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ },
+ CMCTB_MAT_SPCHAR_VAL: {
+ /** 특성코드 */
+ SPCHAR_CD: 'SPCHAR_CD' as const,
+ /** 특성값코드 */
+ SPCHAR_VAL_CD: 'SPCHAR_VAL_CD' as const,
+ /** 특성값내역 */
+ SPCHAR_VAL_DTL: 'SPCHAR_VAL_DTL' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ },
+ CMCTB_MAT_UOM: {
+ /** 자재번호 */
+ MAT_NO: 'MAT_NO' as const,
+ /** 대체단위 */
+ SBST_UOM: 'SBST_UOM' as const,
+ /** 전환 FOCTOR1 */
+ CNVRT_FCTR_1: 'CNVRT_FCTR_1' as const,
+ /** 전환 FOCTOR2 */
+ CNVRT_FCTR_2: 'CNVRT_FCTR_2' as const,
+ /** 길이 */
+ LTH: 'LTH' as const,
+ /** 폭 */
+ WTH: 'WTH' as const,
+ /** 높이 */
+ HGT: 'HGT' as const,
+ /** 치수단위 */
+ SZ_UOM: 'SZ_UOM' as const,
+ },
+ CMCTB_PROJ_BIZCLS: {
+ /** 프로젝트번호 */
+ PROJ_NO: 'PROJ_NO' as const,
+ /** TYPE */
+ TYPE: 'TYPE' as const,
+ /** 비지니스클래스 */
+ BIZCLS: 'BIZCLS' as const,
+ /** NULL */
+ QM_CLS: 'QM_CLS' as const,
+ /** 신규MC여부 */
+ NEW_MC_YN: 'NEW_MC_YN' as const,
+ },
+ CMCTB_PROJ_MAST: {
+ /** 프로젝트번호 */
+ PROJ_NO: 'PROJ_NO' as const,
+ /** 기준호선 */
+ MSHIP_NO: 'MSHIP_NO' as const,
+ /** 시리즈첫프로젝트번호 */
+ SERS_NO: 'SERS_NO' as const,
+ /** 시리즈번호 */
+ REF_NO: 'REF_NO' as const,
+ /** 선종 */
+ SKND: 'SKND' as const,
+ /** 선형 */
+ SHTYPE: 'SHTYPE' as const,
+ /** 선형단위 */
+ SHTYPE_UOM: 'SHTYPE_UOM' as const,
+ /** 도크 */
+ DOCK_CD: 'DOCK_CD' as const,
+ /** 선주1 */
+ OWN_1: 'OWN_1' as const,
+ /** 선급1 */
+ CLS_1: 'CLS_1' as const,
+ /** 계약일자 */
+ CNRT_DT: 'CNRT_DT' as const,
+ /** 계약인도일자 */
+ CNRT_DL_DT: 'CNRT_DL_DT' as const,
+ /** 프로젝트 설명 */
+ PROJ_DSC: 'PROJ_DSC' as const,
+ /** 프로젝트구분 */
+ PROJ_GB: 'PROJ_GB' as const,
+ /** 선주명 */
+ OWN_NM: 'OWN_NM' as const,
+ /** 신선종2 */
+ NEW_SKND2: 'NEW_SKND2' as const,
+ /** 선주약어 */
+ OWN_AB: 'OWN_AB' as const,
+ /** 중국여부 */
+ CHINA_YN: 'CHINA_YN' as const,
+ /** 프로젝트세부타입 */
+ PROJ_DTL_TP: 'PROJ_DTL_TP' as const,
+ /** 프로젝트프로파일 */
+ PROJ_PROF: 'PROJ_PROF' as const,
+ /** 안건번호 */
+ INQY_NO: 'INQY_NO' as const,
+ /** 안건순번 */
+ INQY_SEQ: 'INQY_SEQ' as const,
+ /** 국적 */
+ NTTP: 'NTTP' as const,
+ /** 연관프로젝트 */
+ RLTD_PROJ: 'RLTD_PROJ' as const,
+ /** 디지털제품군 */
+ DIGT_PDT_GRP: 'DIGT_PDT_GRP' as const,
+ /** 풍력프로젝트타입 */
+ WP_PROJ_TP: 'WP_PROJ_TP' as const,
+ /** 전체계약개수 */
+ TOT_CNRT_CNT: 'TOT_CNRT_CNT' as const,
+ /** 프로젝트기타타입 */
+ PROJ_ETC_TP: 'PROJ_ETC_TP' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 소스시스템ID */
+ SRC_SYS_ID: 'SRC_SYS_ID' as const,
+ /** 진행상태 */
+ PRGS_STAT: 'PRGS_STAT' as const,
+ /** 삭제여부 */
+ DEL_YN: 'DEL_YN' as const,
+ /** 인도고객코드 */
+ DL_CSTM_CD: 'DL_CSTM_CD' as const,
+ /** 제품레벨4 */
+ PDT_LVL_4: 'PDT_LVL_4' as const,
+ /** AS보증기간 */
+ AS_GRNT_PRD: 'AS_GRNT_PRD' as const,
+ /** 실인도일자 */
+ RL_DL_DT: 'RL_DL_DT' as const,
+ /** SAILAWAYDATE */
+ SA_DT: 'SA_DT' as const,
+ /** 관청 */
+ GOV: 'GOV' as const,
+ /** 인도전공사명 */
+ DL_BF_PROJ_NM: 'DL_BF_PROJ_NM' as const,
+ /** IMO번호 */
+ IMO_NO: 'IMO_NO' as const,
+ /** 유통경로 */
+ DIST_PATH: 'DIST_PATH' as const,
+ /** 영업조직코드 */
+ SALE_ORG_CD: 'SALE_ORG_CD' as const,
+ /** 판매그룹 */
+ SALE_GRP: 'SALE_GRP' as const,
+ /** 사업장코드 */
+ BIZLOC_CD: 'BIZLOC_CD' as const,
+ /** 관리회계영역 */
+ MNG_ACOT_DMN: 'MNG_ACOT_DMN' as const,
+ /** 회사코드 */
+ CO_CD: 'CO_CD' as const,
+ /** 사업영역 */
+ BIZ_DMN: 'BIZ_DMN' as const,
+ /** 플랜트코드 */
+ PLNT_CD: 'PLNT_CD' as const,
+ /** 손익센터 */
+ PRCTR: 'PRCTR' as const,
+ /** 계약존속여부 */
+ CNRT_CNTN_YN: 'CNRT_CNTN_YN' as const,
+ /** 계약유보여부 */
+ CNRT_RESV_YN: 'CNRT_RESV_YN' as const,
+ /** 프로젝트진행여부 */
+ PROJ_PRGS_YN: 'PROJ_PRGS_YN' as const,
+ /** 시스템회계마감일자 */
+ SYS_ACOT_CLSD_DT: 'SYS_ACOT_CLSD_DT' as const,
+ /** 프로젝트범위 */
+ PROJ_SCP: 'PROJ_SCP' as const,
+ /** 전길이 */
+ LOA: 'LOA' as const,
+ /** MAINENGINETYPECODE */
+ MN_ENGN_TP_CD: 'MN_ENGN_TP_CD' as const,
+ /** 속도 */
+ SPD: 'SPD' as const,
+ /** GT */
+ GT: 'GT' as const,
+ /** 선표인도일자 */
+ BP_DL_DT: 'BP_DL_DT' as const,
+ /** 선형군 */
+ SHTYPE_GRP: 'SHTYPE_GRP' as const,
+ /** 프로젝트생성요청사번 */
+ PROJ_CRTE_REQ_EMPNO: 'PROJ_CRTE_REQ_EMPNO' as const,
+ /** 프로젝트생성요청일자 */
+ PROJ_CRTE_REQ_DT: 'PROJ_CRTE_REQ_DT' as const,
+ /** 사내외구분 */
+ IO_GB: 'IO_GB' as const,
+ /** 고객발주번호 */
+ CSTM_PO_NO: 'CSTM_PO_NO' as const,
+ /** 세대개수 */
+ GENT_CNT: 'GENT_CNT' as const,
+ /** 주문주보증기간 */
+ ORDR_GRNT_PRD: 'ORDR_GRNT_PRD' as const,
+ /** 주문주보증종료일 */
+ ORDR_GRNT_FN_DT: 'ORDR_GRNT_FN_DT' as const,
+ /** 설계담당자 */
+ DSN_CHRGR: 'DSN_CHRGR' as const,
+ /** 인도후공사명 */
+ DL_AF_PROJ_NM: 'DL_AF_PROJ_NM' as const,
+ /** 인도후실고객사 */
+ DL_AF_RL_CLNT: 'DL_AF_RL_CLNT' as const,
+ /** 인도후운항선사 */
+ DL_AF_SHPSRV_SCP: 'DL_AF_SHPSRV_SCP' as const,
+ /** 인도후국적 */
+ DL_AF_NTTP: 'DL_AF_NTTP' as const,
+ /** 인도후선급 */
+ DL_AF_CLS: 'DL_AF_CLS' as const,
+ /** 인도후CALLSIGN */
+ DL_AF_CALL_SIGN: 'DL_AF_CALL_SIGN' as const,
+ /** 인도후전화번호 */
+ DL_AF_TEL_NO: 'DL_AF_TEL_NO' as const,
+ /** 인도후팩스번호 */
+ DL_AF_FAX_NO: 'DL_AF_FAX_NO' as const,
+ /** 인도후이메일주소 */
+ DL_AF_EMAIL_ADR: 'DL_AF_EMAIL_ADR' as const,
+ /** 프로젝트WBS타입 */
+ PROJ_WBS_TP: 'PROJ_WBS_TP' as const,
+ /** INTERFACE상태 */
+ XSTAT: 'XSTAT' as const,
+ /** INTERFACE메세지 */
+ XMSGS: 'XMSGS' as const,
+ /** INTERFACE일자 */
+ XDATS: 'XDATS' as const,
+ /** INTERFACE시간 */
+ XTIMS: 'XTIMS' as const,
+ /** 중국프로젝트타입 */
+ CHN_PROJ_TP: 'CHN_PROJ_TP' as const,
+ /** 최종수요자 보증종료일 */
+ FIN_GRNT_FN_DT: 'FIN_GRNT_FN_DT' as const,
+ /** 시작일자 */
+ STDT: 'STDT' as const,
+ /** 시리즈여부 */
+ SERS_YN: 'SERS_YN' as const,
+ /** HULL TOP 구분 */
+ TYPE: 'TYPE' as const,
+ /** PROPOSAL 프로젝트번호 */
+ PRO_PROJ_NO: 'PRO_PROJ_NO' as const,
+ /** 전기전자프로젝트번호 */
+ PBSD_PROJ_NO: 'PBSD_PROJ_NO' as const,
+ /** 선박명 */
+ PBSD_SHIP_NM: 'PBSD_SHIP_NM' as const,
+ /** 사업부 */
+ BIZCLS: 'BIZCLS' as const,
+ /** 선급2 */
+ CLS_2: 'CLS_2' as const,
+ /** 선형코드 */
+ SHTYPE_CD: 'SHTYPE_CD' as const,
+ /** 프로젝트 인도계획일 */
+ PROJ_DL_PLN_DT: 'PROJ_DL_PLN_DT' as const,
+ /** 프로젝트 인도실적일 */
+ PROJ_DL_RT_DT: 'PROJ_DL_RT_DT' as const,
+ /** 전체면적 */
+ TOT_AREA: 'TOT_AREA' as const,
+ /** 면세면적 */
+ EXMPT_AREA: 'EXMPT_AREA' as const,
+ /** 면세율 */
+ EXMPT_RAT: 'EXMPT_RAT' as const,
+ /** 품질사업부 */
+ QM_CLS: 'QM_CLS' as const,
+ /** 연계 프로젝트 번호 */
+ CNCT_PROJ_NO: 'CNCT_PROJ_NO' as const,
+ /** 기자재 세분화 및 생산일정 연계여부 */
+ EQP_DTL_YN: 'EQP_DTL_YN' as const,
+ /** ExP 연계여부 */
+ EXP_YN: 'EXP_YN' as const,
+ /** 생산실적 연계여부 */
+ ACT_MH_YN: 'ACT_MH_YN' as const,
+ /** 사양 */
+ SPEC: 'SPEC' as const,
+ /** 디자인수명 */
+ DSGN_LIFE: 'DSGN_LIFE' as const,
+ /** 신규MC여부 */
+ NEW_MC_YN: 'NEW_MC_YN' as const,
+ /** 작업환경가중치여부 */
+ WK_ENV_WT_VAL_YN: 'WK_ENV_WT_VAL_YN' as const,
+ /** 보증시작일 */
+ GRNT_STDT: 'GRNT_STDT' as const,
+ /** 목표공수 적용 여부 */
+ TMH_ADPT_YN: 'TMH_ADPT_YN' as const,
+ /** ZVEZDA 프로젝트 여부 */
+ ZV_YN: 'ZV_YN' as const,
+ /** 평택지원 프로젝트 여부 */
+ SEC_YN: 'SEC_YN' as const,
+ },
+ CMCTB_PROJ_WBS: {
+ /** 프로젝트번호 */
+ PROJ_NO: 'PROJ_NO' as const,
+ /** WBS요소 */
+ WBS_ELMT: 'WBS_ELMT' as const,
+ /** WBS요소명 */
+ WBS_ELMT_NM: 'WBS_ELMT_NM' as const,
+ /** WBS레벨 */
+ WBS_LVL: 'WBS_LVL' as const,
+ /** FLAG */
+ FLAG: 'FLAG' as const,
+ /** WBS내부요소 */
+ WBS_INSD_ELMT: 'WBS_INSD_ELMT' as const,
+ /** 상위WBS요소 */
+ HGRK_WBS_ELMT: 'HGRK_WBS_ELMT' as const,
+ /** INTERFACE상태 */
+ XSTAT: 'XSTAT' as const,
+ /** INTERFACE메세지 */
+ XMSGS: 'XMSGS' as const,
+ /** INTERFACE일자 */
+ XDATS: 'XDATS' as const,
+ /** INTERFACE시간 */
+ XTIMS: 'XTIMS' as const,
+ /** 시스템상태 */
+ SYS_STAT: 'SYS_STAT' as const,
+ /** WBS요소_1 */
+ WBS_ELMT_1: 'WBS_ELMT_1' as const,
+ /** WBS요소_2 */
+ WBS_ELMT_2: 'WBS_ELMT_2' as const,
+ /** WBS요소_3 */
+ WBS_ELMT_3: 'WBS_ELMT_3' as const,
+ /** WBS요소_4 */
+ WBS_ELMT_4: 'WBS_ELMT_4' as const,
+ /** WBS요소_5 */
+ WBS_ELMT_5: 'WBS_ELMT_5' as const,
+ /** WBS요소_6 */
+ WBS_ELMT_6: 'WBS_ELMT_6' as const,
+ /** WBS요소_7 */
+ WBS_ELMT_7: 'WBS_ELMT_7' as const,
+ /** WBS요소_8 */
+ WBS_ELMT_8: 'WBS_ELMT_8' as const,
+ /** WBS요소_9 */
+ WBS_ELMT_9: 'WBS_ELMT_9' as const,
+ /** WBS요소_10 */
+ WBS_ELMT_10: 'WBS_ELMT_10' as const,
+ },
+ CMCTB_VENDOR_ADDR: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 국제주소버전ID */
+ INTL_ADR_VER_ID: 'INTL_ADR_VER_ID' as const,
+ /** 도시우편번호 */
+ CITY_ZIP_NO: 'CITY_ZIP_NO' as const,
+ /** 사서함우편번호 */
+ POBX_ZIP_NO: 'POBX_ZIP_NO' as const,
+ /** 주소1 */
+ ADR_1: 'ADR_1' as const,
+ /** 주소2 */
+ ADR_2: 'ADR_2' as const,
+ /** 지역코드 */
+ REGN_CD: 'REGN_CD' as const,
+ /** 타이틀 */
+ TTL: 'TTL' as const,
+ /** VENDOR명약어1 */
+ VNDRNM_ABRV_1: 'VNDRNM_ABRV_1' as const,
+ /** VENDOR명약어2 */
+ VNDRNM_ABRV_2: 'VNDRNM_ABRV_2' as const,
+ /** VENDOR명 */
+ VNDRNM_1: 'VNDRNM_1' as const,
+ /** VENDOR명2 */
+ VNDRNM_2: 'VNDRNM_2' as const,
+ /** 언어키 */
+ LANG_KEY: 'LANG_KEY' as const,
+ /** 기타주소1 */
+ ETC_ADR_1: 'ETC_ADR_1' as const,
+ /** 기타주소2 */
+ ETC_ADR_2: 'ETC_ADR_2' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 사서함 */
+ POBX: 'POBX' as const,
+ /** 운송구역 */
+ TRANS_ZONE: 'TRANS_ZONE' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** VENDOR명3 */
+ VNDRNM_3: 'VNDRNM_3' as const,
+ /** VENDOR명4 */
+ VNDRNM_4: 'VNDRNM_4' as const,
+ /** 조세관할구역코드 */
+ TAX_JRDT_ZONE_CD: 'TAX_JRDT_ZONE_CD' as const,
+ /** 주소시간대 */
+ ADR_TMZ: 'ADR_TMZ' as const,
+ },
+ CMCTB_VENDOR_COMPNY: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 회사코드 */
+ CO_CD: 'CO_CD' as const,
+ /** 조정계정 */
+ CTL_ACNT: 'CTL_ACNT' as const,
+ /** 정렬키 */
+ SRT_KEY: 'SRT_KEY' as const,
+ /** 계획그룹 */
+ PLN_GRP: 'PLN_GRP' as const,
+ /** 이전VENDOR코드 */
+ BF_VNDRCD: 'BF_VNDRCD' as const,
+ /** 지급조건 */
+ SPLY_COND: 'SPLY_COND' as const,
+ /** 중복송장지시자 */
+ OVLAP_INVC_ORDR: 'OVLAP_INVC_ORDR' as const,
+ /** 지급방법 */
+ SPLY_MTHD: 'SPLY_MTHD' as const,
+ /** 지급보류지시자 */
+ SPLY_HOLD_ORDR: 'SPLY_HOLD_ORDR' as const,
+ /** 거래은행단축키 */
+ TRD_BANK_SHRT_KEY: 'TRD_BANK_SHRT_KEY' as const,
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: 'PST_HOLD_ORDR' as const,
+ /** 보류사유 */
+ HOLD_CAUS: 'HOLD_CAUS' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 원천세국가코드 */
+ SRCE_TX_NTN_CD: 'SRCE_TX_NTN_CD' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 소수지시자 */
+ MIN_ORDR: 'MIN_ORDR' as const,
+ /** 분리지급지시자 */
+ SPRT_SPLY_ORDR: 'SPRT_SPLY_ORDR' as const,
+ /** CUSTOMERVENDOR반제지시자 */
+ CSTM_VNDR_CLR_ORDR: 'CSTM_VNDR_CLR_ORDR' as const,
+ /** 원천세코드 */
+ SRCE_TX_CD: 'SRCE_TX_CD' as const,
+ /** IATABIC구분 */
+ IATA_BIC_GB: 'IATA_BIC_GB' as const,
+ /** 대표유형 */
+ REP_TP: 'REP_TP' as const,
+ /** 물류VENDOR유형 */
+ LOGST_VNDR_TP: 'LOGST_VNDR_TP' as const,
+ /** VENDOR계정번호 */
+ VNDR_ACNT_NO: 'VNDR_ACNT_NO' as const,
+ /** VENDOR담당자명 */
+ VNDR_CHRGR_NM: 'VNDR_CHRGR_NM' as const,
+ /** 회계담당자전화번호 */
+ ACOT_CHRGR_TELNO: 'ACOT_CHRGR_TELNO' as const,
+ /** 권한그룹 */
+ AUTH_GRP: 'AUTH_GRP' as const,
+ /** 최종이자계산일자 */
+ FIN_IR_CALC_DT: 'FIN_IR_CALC_DT' as const,
+ /** 최종이자실행일자 */
+ FIN_IR_ACT_DT: 'FIN_IR_ACT_DT' as const,
+ /** 회계담당자FAX번호 */
+ ACOT_CHRGR_FAXNO: 'ACOT_CHRGR_FAXNO' as const,
+ /** MAKER담당자이메일 */
+ MK_CHRGR_EMAIL: 'MK_CHRGR_EMAIL' as const,
+ /** 메모 */
+ MEMO: 'MEMO' as const,
+ /** 본사계정번호 */
+ MOFFC_ACNT_NO: 'MOFFC_ACNT_NO' as const,
+ },
+ CMCTB_VENDOR_GENERAL: {
+ /** 벤더코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 계정그룹 */
+ ACNT_GRP: 'ACNT_GRP' as const,
+ /** 계정그룹종류 */
+ ACNT_GRP_TP: 'ACNT_GRP_TP' as const,
+ /** 고객코드 */
+ CSTM_CD: 'CSTM_CD' as const,
+ /** 전기보류지시자 */
+ PST_HOLD_ORDR: 'PST_HOLD_ORDR' as const,
+ /** 구매보류지시자 */
+ PUR_HOLD_ORDR: 'PUR_HOLD_ORDR' as const,
+ /** 보류사유 */
+ HOLD_CAUS: 'HOLD_CAUS' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 법인ID */
+ CO_ID: 'CO_ID' as const,
+ /** 대표자명 */
+ REPR_NM: 'REPR_NM' as const,
+ /** 사업유형 */
+ BIZTP: 'BIZTP' as const,
+ /** 산업유형 */
+ BIZCON: 'BIZCON' as const,
+ /** 등록일자 */
+ REG_DT: 'REG_DT' as const,
+ /** 등록시간 */
+ REG_DTM: 'REG_DTM' as const,
+ /** 등록자 */
+ REGR_ID: 'REGR_ID' as const,
+ /** 승인일자 */
+ AGR_DT: 'AGR_DT' as const,
+ /** 승인시간 */
+ AGR_TM: 'AGR_TM' as const,
+ /** 승인자ID */
+ AGR_R_ID: 'AGR_R_ID' as const,
+ /** 변경일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 변경시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 변경자ID */
+ CHGR_ID: 'CHGR_ID' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 대표전화번호 */
+ REP_TEL_NO: 'REP_TEL_NO' as const,
+ /** 대표FAX번호 */
+ REP_FAX_NO: 'REP_FAX_NO' as const,
+ /** 사업자번호 */
+ BIZR_NO: 'BIZR_NO' as const,
+ /** 법인등록번호 */
+ CO_REG_NO: 'CO_REG_NO' as const,
+ /** 세금번호4 */
+ TX_CD_4: 'TX_CD_4' as const,
+ /** 설립일자 */
+ CO_INST_DT: 'CO_INST_DT' as const,
+ /** 구매처유형 */
+ VNDR_TP: 'VNDR_TP' as const,
+ /** GLOBALTOP코드 */
+ GBL_TOP_CD: 'GBL_TOP_CD' as const,
+ /** GLOBALTOP명 */
+ GBL_TOP_NM: 'GBL_TOP_NM' as const,
+ /** 국내TOP코드 */
+ DMST_TOP_CD: 'DMST_TOP_CD' as const,
+ /** 국내TOP명 */
+ DMST_TOP_NM: 'DMST_TOP_NM' as const,
+ /** 사업단위코드 */
+ BIZ_UOM_CD: 'BIZ_UOM_CD' as const,
+ /** 사업단위명 */
+ BIZ_UOM_NM: 'BIZ_UOM_NM' as const,
+ /** DUNS번호 */
+ DNS_NO: 'DNS_NO' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 타이틀 */
+ TTL: 'TTL' as const,
+ /** 부가세등록번호 */
+ VAT_REG_NO: 'VAT_REG_NO' as const,
+ /** 지로VENDOR지시자 */
+ GIRO_VNDR_ORDR: 'GIRO_VNDR_ORDR' as const,
+ /** Vendor명1 */
+ VNDRNM_1: 'VNDRNM_1' as const,
+ /** VENDOR명2 */
+ VNDRNM_2: 'VNDRNM_2' as const,
+ /** VENDOR명3 */
+ VNDRNM_3: 'VNDRNM_3' as const,
+ /** VENDOR명4 */
+ VNDRNM_4: 'VNDRNM_4' as const,
+ /** VENDOR명약어1 */
+ VNDRNM_ABRV_1: 'VNDRNM_ABRV_1' as const,
+ /** VENDOR명약어2 */
+ VNDRNM_ABRV_2: 'VNDRNM_ABRV_2' as const,
+ /** 잠재VENDOR코드 */
+ PTNT_VNDRCD: 'PTNT_VNDRCD' as const,
+ /** 주소1 */
+ ADR_1: 'ADR_1' as const,
+ /** 주소2 */
+ ADR_2: 'ADR_2' as const,
+ /** 품질담당자명 */
+ QLT_CHRGR_NM: 'QLT_CHRGR_NM' as const,
+ /** 품질담당자전화번호 */
+ QLT_CHRGR_TELNO: 'QLT_CHRGR_TELNO' as const,
+ /** 품질담당자이메일 */
+ QLT_CHRGR_EMAIL: 'QLT_CHRGR_EMAIL' as const,
+ /** SUB작업장순서 */
+ SB_WKA_SEQ: 'SB_WKA_SEQ' as const,
+ /** 중복사유코드 */
+ OVLAP_CAUS_CD: 'OVLAP_CAUS_CD' as const,
+ /** 문서유형 */
+ DOC_TP: 'DOC_TP' as const,
+ /** 문서번호 */
+ DOC_NO: 'DOC_NO' as const,
+ /** 부분문서 */
+ PTN_DOC: 'PTN_DOC' as const,
+ /** 문서버전 */
+ DOC_VER: 'DOC_VER' as const,
+ /** 인바운드플래그 */
+ INB_FLAG: 'INB_FLAG' as const,
+ /** 삭제보류지시자 */
+ DEL_HOLD_ORDR: 'DEL_HOLD_ORDR' as const,
+ /** 구매보류일자 */
+ PUR_HOLD_DT: 'PUR_HOLD_DT' as const,
+ /** 사서함 */
+ POBX: 'POBX' as const,
+ /** 국제LOCATION점검숫자 */
+ INTL_LCTN_CHK_NUM: 'INTL_LCTN_CHK_NUM' as const,
+ /** 원천세의무자성별키 */
+ SRCETX_RP_SEX_KEY: 'SRCETX_RP_SEX_KEY' as const,
+ /** VENDOR계약담당자1 */
+ VNDR_CNRT_CHRGR_1: 'VNDR_CNRT_CHRGR_1' as const,
+ /** VENDOR계약담당자2 */
+ VNDR_CNRT_CHRGR_2: 'VNDR_CNRT_CHRGR_2' as const,
+ /** 대표생년월일 */
+ REPR_RESNO: 'REPR_RESNO' as const,
+ /** 기업규모 */
+ CO_VLM: 'CO_VLM' as const,
+ },
+ CMCTB_VENDOR_GRP: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 업무그룹코드 */
+ BIZ_GRP_CD: 'BIZ_GRP_CD' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 생성자ID */
+ CRTER_ID: 'CRTER_ID' as const,
+ /** 변경일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 변경시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 변경자ID */
+ CHGR_ID: 'CHGR_ID' as const,
+ },
+ CMCTB_VENDOR_INCO: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** VENDOR코명 */
+ VNDRNM: 'VNDRNM' as const,
+ /** 대표자명 */
+ REPR_NM: 'REPR_NM' as const,
+ /** 협력사구분 */
+ PRTNR_GB: 'PRTNR_GB' as const,
+ /** 사내협력사코드 */
+ INCO_PRTNR_CD: 'INCO_PRTNR_CD' as const,
+ /** 사내협력사작업장1 */
+ INCO_PRTNR_WKA_1: 'INCO_PRTNR_WKA_1' as const,
+ /** 사내협력사작업장2 */
+ INCO_PRTNR_WKA_2: 'INCO_PRTNR_WKA_2' as const,
+ /** 사내협력사작업장3 */
+ INCO_PRTNR_WKA_3: 'INCO_PRTNR_WKA_3' as const,
+ /** 직종코드 */
+ JBTYPE_CD: 'JBTYPE_CD' as const,
+ /** 직종코드2 */
+ JBTYPE_CD_2: 'JBTYPE_CD_2' as const,
+ /** 개인법인구분 */
+ INDV_CO_GB: 'INDV_CO_GB' as const,
+ /** 사내창립유무 */
+ INCO_FOND_YN: 'INCO_FOND_YN' as const,
+ /** 도크번호 */
+ DOCK_NO: 'DOCK_NO' as const,
+ /** 당사투입일자 */
+ OCMP_INP_DT: 'OCMP_INP_DT' as const,
+ /** 사내철수일자 */
+ INCO_DUSE_DT: 'INCO_DUSE_DT' as const,
+ /** 산재보험요율 */
+ INDST_INS_PMRAT: 'INDST_INS_PMRAT' as const,
+ /** 계약이행보증금 */
+ CNRT_PFRM_GRAMT: 'CNRT_PFRM_GRAMT' as const,
+ /** 임금율 */
+ WGE_RAT: 'WGE_RAT' as const,
+ /** 해당부서코드1 */
+ CRSPD_DEPTCD_1: 'CRSPD_DEPTCD_1' as const,
+ /** 해당부서코드2 */
+ CRSPD_DEPTCD_2: 'CRSPD_DEPTCD_2' as const,
+ /** 해당팀소속 */
+ CRSPD_TEAM_BLNG: 'CRSPD_TEAM_BLNG' as const,
+ /** 사내협력사종목1 */
+ INCO_PRTNR_ITM_1: 'INCO_PRTNR_ITM_1' as const,
+ /** 사내협력사종목2 */
+ INCO_PRTNR_ITM_2: 'INCO_PRTNR_ITM_2' as const,
+ /** 사무실위치 */
+ OFC_LOC: 'OFC_LOC' as const,
+ /** 대표당사경력 */
+ REP_OCMP_CARR: 'REP_OCMP_CARR' as const,
+ /** 사내철수사유 */
+ INCO_DUSE_CAUS: 'INCO_DUSE_CAUS' as const,
+ /** 전화번호 */
+ TEL_NO: 'TEL_NO' as const,
+ /** 주소 */
+ ADR1: 'ADR1' as const,
+ /** 상세주소 */
+ ADR2: 'ADR2' as const,
+ /** 이전 VENDOR코드 */
+ OLD_VNDRCD: 'OLD_VNDRCD' as const,
+ /** 하위 VENDOR 갯수 */
+ TREE_NUM: 'TREE_NUM' as const,
+ /** 생성일자 */
+ CRTE_DT: 'CRTE_DT' as const,
+ /** 생성시간 */
+ CRTE_TM: 'CRTE_TM' as const,
+ /** 생성사용자ID */
+ CRTE_USR_ID: 'CRTE_USR_ID' as const,
+ /** 수정일자 */
+ CHG_DT: 'CHG_DT' as const,
+ /** 수정시간 */
+ CHG_TM: 'CHG_TM' as const,
+ /** 수정사용자ID */
+ CHG_USR_ID: 'CHG_USR_ID' as const,
+ /** 직종단가 */
+ UPR_JBTYPE: 'UPR_JBTYPE' as const,
+ /** 공급받는자 종사업장 식별코드 */
+ ZBYBP: 'ZBYBP' as const,
+ /** 비고 */
+ RMK: 'RMK' as const,
+ /** 철수예정유무 */
+ WDL_PLN_YN: 'WDL_PLN_YN' as const,
+ /** 임금체불발생 */
+ WGE_DELY_DVL: 'WGE_DELY_DVL' as const,
+ /** 에스크로가입유무 */
+ ESCROW_YN: 'ESCROW_YN' as const,
+ },
+ CMCTB_VENDOR_PORG: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 구매조직 */
+ PUR_ORG_CD: 'PUR_ORG_CD' as const,
+ /** 구매오더통화 */
+ PUR_ORD_CUR: 'PUR_ORD_CUR' as const,
+ /** 지급조건 */
+ SPLY_COND: 'SPLY_COND' as const,
+ /** 인도조건1 */
+ DL_COND_1: 'DL_COND_1' as const,
+ /** 인도조건2 */
+ DL_COND_2: 'DL_COND_2' as const,
+ /** 계산스키마그룹 */
+ CALC_SHM_GRP: 'CALC_SHM_GRP' as const,
+ /** GR기준송장검증 */
+ GR_BSE_INVC_VR: 'GR_BSE_INVC_VR' as const,
+ /** 자동구매오더지시자 */
+ AT_PUR_ORD_ORDR: 'AT_PUR_ORD_ORDR' as const,
+ /** 구매보류지시자 */
+ PUR_HOLD_ORDR: 'PUR_HOLD_ORDR' as const,
+ /** 삭제지시자 */
+ DEL_ORDR: 'DEL_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ /** 오더확인요청지시자 */
+ ORD_CNFM_REQ_ORDR: 'ORD_CNFM_REQ_ORDR' as const,
+ /** 영업담당자명 */
+ SALE_CHRGR_NM: 'SALE_CHRGR_NM' as const,
+ /** VENDOR전화번호 */
+ VNDR_TELNO: 'VNDR_TELNO' as const,
+ /** 확정제어키 */
+ CNFM_CTL_KEY: 'CNFM_CTL_KEY' as const,
+ /** 구매보류일자 */
+ PUR_HOLD_DT: 'PUR_HOLD_DT' as const,
+ /** 구매보류사유 */
+ PUR_HOLD_CAUS: 'PUR_HOLD_CAUS' as const,
+ },
+ CMCTB_VENDOR_REPREMAIL: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 이메일주소 */
+ EMAIL_ADR: 'EMAIL_ADR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_REPRFAX: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 팩스번호 */
+ FAXNO: 'FAXNO' as const,
+ /** 팩스내선번호 */
+ FAX_ETS_NO: 'FAX_ETS_NO' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_REPRTEL: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** 국가코드 */
+ NTN_CD: 'NTN_CD' as const,
+ /** 전화번호 */
+ TELNO: 'TELNO' as const,
+ /** 내선번호 */
+ ETX_NO: 'ETX_NO' as const,
+ /** 핸드폰지시자 */
+ HP_ORDR: 'HP_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_REPRURL: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 주소번호 */
+ ADR_NO: 'ADR_NO' as const,
+ /** 대표자순번 */
+ REPR_SER: 'REPR_SER' as const,
+ /** 유효시작일자 */
+ VLD_ST_DT: 'VLD_ST_DT' as const,
+ /** URL */
+ URL: 'URL' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_TAXNUM: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 세금번호범주 */
+ TX_NO_CTG: 'TX_NO_CTG' as const,
+ /** 사업파트너세금번호 */
+ BIZ_PTNR_TX_NO: 'BIZ_PTNR_TX_NO' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_VFPN: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 구매조직 */
+ PUR_ORG_CD: 'PUR_ORG_CD' as const,
+ /** VENDOR서브번호 */
+ VNDR_SUB_NO: 'VNDR_SUB_NO' as const,
+ /** 플랜트코드 */
+ PLNT_CD: 'PLNT_CD' as const,
+ /** 파트너기능 */
+ PTNR_SKL: 'PTNR_SKL' as const,
+ /** 파트너카운터 */
+ PTNR_CNT: 'PTNR_CNT' as const,
+ /** 기타참조VENDOR코드 */
+ ETC_REF_VNDRCD: 'ETC_REF_VNDRCD' as const,
+ /** 기본파트너지시자 */
+ BSE_PTNR_ORDR: 'BSE_PTNR_ORDR' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ CMCTB_VENDOR_WHTHX: {
+ /** VENDOR코드 */
+ VNDRCD: 'VNDRCD' as const,
+ /** 회사코드 */
+ CO_CD: 'CO_CD' as const,
+ /** 원천세유형 */
+ SRCE_TX_TP: 'SRCE_TX_TP' as const,
+ /** 원천세관련지시자 */
+ SRCE_TX_REL_ORDR: 'SRCE_TX_REL_ORDR' as const,
+ /** 수취인유형 */
+ RECIP_TP: 'RECIP_TP' as const,
+ /** 원천세식별번호 */
+ SRCE_TX_IDENT_NO: 'SRCE_TX_IDENT_NO' as const,
+ /** 원천세코드 */
+ SRCE_TX_NO: 'SRCE_TX_NO' as const,
+ /** 면제증명서번호 */
+ DCHAG_CERT_NO: 'DCHAG_CERT_NO' as const,
+ /** 면제율 */
+ DCHAG_RAT: 'DCHAG_RAT' as const,
+ /** 면제시작일자 */
+ DCHAG_ST_DT: 'DCHAG_ST_DT' as const,
+ /** 면제종료일 */
+ DCHAG_ED_DT: 'DCHAG_ED_DT' as const,
+ /** 면제사유 */
+ DCHAG_CAUS: 'DCHAG_CAUS' as const,
+ /** 인터페이스일자 */
+ IF_DT: 'IF_DT' as const,
+ /** 인터페이스시간 */
+ IF_TM: 'IF_TM' as const,
+ /** 인터페이스상태 */
+ IF_STAT: 'IF_STAT' as const,
+ /** 인터페이스메시지 */
+ IF_MSG: 'IF_MSG' as const,
+ },
+ PLFTB_ESTM_PROJ_MAST: {
+ /** 견적프로젝트번호 */
+ ESTM_PROJ_NO: 'ESTM_PROJ_NO' as const,
+ /** 안건번호 */
+ AGND_NO: 'AGND_NO' as const,
+ /** 견적프로젝트명 */
+ ESTM_PROJ_NM: 'ESTM_PROJ_NM' as const,
+ /** 사업부문 */
+ BIZ_CLS: 'BIZ_CLS' as const,
+ /** 리비젼번호 */
+ REV_NO: 'REV_NO' as const,
+ /** 견적유형 */
+ ESTM_TYPE: 'ESTM_TYPE' as const,
+ /** 선주사코드 */
+ OWNER_CD: 'OWNER_CD' as const,
+ /** 시리즈순번 */
+ SERS_CNT: 'SERS_CNT' as const,
+ /** 선종코드 */
+ SKND_CD: 'SKND_CD' as const,
+ /** 선형코드 */
+ SHTYPE_CD: 'SHTYPE_CD' as const,
+ /** 선형크기 */
+ SHTYPE_SIZE: 'SHTYPE_SIZE' as const,
+ /** 선형단위 */
+ SHTYPE_UOM: 'SHTYPE_UOM' as const,
+ /** 관청코드 */
+ CHRTR_CD: 'CHRTR_CD' as const,
+ /** 국가코드 */
+ NATN_CD: 'NATN_CD' as const,
+ /** 선급1 */
+ CLS_1: 'CLS_1' as const,
+ /** 선급2 */
+ CLS_2: 'CLS_2' as const,
+ /** 선급3 */
+ CLS_3: 'CLS_3' as const,
+ /** 데이터생성구분 */
+ DATA_CRTE_GB: 'DATA_CRTE_GB' as const,
+ /** 최초등록자ID */
+ FS_INPR_ID: 'FS_INPR_ID' as const,
+ /** 최초등록일시 */
+ FS_INP_DTM: 'FS_INP_DTM' as const,
+ /** 최종수정자ID */
+ FIN_CHGR_ID: 'FIN_CHGR_ID' as const,
+ /** 최종수정일시 */
+ FIN_CHG_DTM: 'FIN_CHG_DTM' as const,
+ /** VESSEL 평균값1 */
+ VSL_VAG_1: 'VSL_VAG_1' as const,
+ /** VESSEL 평균값2 */
+ VSL_VAG_2: 'VSL_VAG_2' as const,
+ /** VESSEL 평균값3 */
+ VSL_VAG_3: 'VSL_VAG_3' as const,
+ /** VESSEL 평균값4 */
+ VSL_VAG_4: 'VSL_VAG_4' as const,
+ /** 견적물량결재ID */
+ ESTM_AOM_APP_ID: 'ESTM_AOM_APP_ID' as const,
+ /** 견적물량상태 */
+ ESTM_AOM_STAT: 'ESTM_AOM_STAT' as const,
+ /** 견적물량상태변경자ID */
+ ESTM_AOM_STAT_CHGR_ID: 'ESTM_AOM_STAT_CHGR_ID' as const,
+ /** 견적물량상태변경일시 */
+ ESTM_AOM_STAT_CHG_DTM: 'ESTM_AOM_STAT_CHG_DTM' as const,
+ /** IF대상여부 */
+ IF_TRGT_YN: 'IF_TRGT_YN' as const,
+ },
+} as const;
+
+// Database schema type for Knex
+export interface DatabaseSchema {
+ CMCTB_CD: CMCTB_CD;
+ CMCTB_CDNM: CMCTB_CDNM;
+ CMCTB_CD_CLF: CMCTB_CD_CLF;
+ CMCTB_CD_CLF_NM: CMCTB_CD_CLF_NM;
+ CMCTB_CUSTOMER_ADDR: CMCTB_CUSTOMER_ADDR;
+ CMCTB_CUSTOMER_CFPN: CMCTB_CUSTOMER_CFPN;
+ CMCTB_CUSTOMER_COMPNY: CMCTB_CUSTOMER_COMPNY;
+ CMCTB_CUSTOMER_GENERAL: CMCTB_CUSTOMER_GENERAL;
+ CMCTB_CUSTOMER_REPREMAIL: CMCTB_CUSTOMER_REPREMAIL;
+ CMCTB_CUSTOMER_REPRFAX: CMCTB_CUSTOMER_REPRFAX;
+ CMCTB_CUSTOMER_REPRTEL: CMCTB_CUSTOMER_REPRTEL;
+ CMCTB_CUSTOMER_REPRURL: CMCTB_CUSTOMER_REPRURL;
+ CMCTB_CUSTOMER_SORG: CMCTB_CUSTOMER_SORG;
+ CMCTB_CUSTOMER_TAXCD: CMCTB_CUSTOMER_TAXCD;
+ CMCTB_CUSTOMER_TAXNUM: CMCTB_CUSTOMER_TAXNUM;
+ CMCTB_MAT_BSE: CMCTB_MAT_BSE;
+ CMCTB_MAT_CLAS: CMCTB_MAT_CLAS;
+ CMCTB_MAT_CLAS_SPCHAR: CMCTB_MAT_CLAS_SPCHAR;
+ CMCTB_MAT_DSC: CMCTB_MAT_DSC;
+ CMCTB_MAT_PLNT: CMCTB_MAT_PLNT;
+ CMCTB_MAT_SPCHAR: CMCTB_MAT_SPCHAR;
+ CMCTB_MAT_SPCHAR_MAST: CMCTB_MAT_SPCHAR_MAST;
+ CMCTB_MAT_SPCHAR_VAL: CMCTB_MAT_SPCHAR_VAL;
+ CMCTB_MAT_UOM: CMCTB_MAT_UOM;
+ CMCTB_PROJ_BIZCLS: CMCTB_PROJ_BIZCLS;
+ CMCTB_PROJ_MAST: CMCTB_PROJ_MAST;
+ CMCTB_PROJ_WBS: CMCTB_PROJ_WBS;
+ CMCTB_VENDOR_ADDR: CMCTB_VENDOR_ADDR;
+ CMCTB_VENDOR_COMPNY: CMCTB_VENDOR_COMPNY;
+ CMCTB_VENDOR_GENERAL: CMCTB_VENDOR_GENERAL;
+ CMCTB_VENDOR_GRP: CMCTB_VENDOR_GRP;
+ CMCTB_VENDOR_INCO: CMCTB_VENDOR_INCO;
+ CMCTB_VENDOR_PORG: CMCTB_VENDOR_PORG;
+ CMCTB_VENDOR_REPREMAIL: CMCTB_VENDOR_REPREMAIL;
+ CMCTB_VENDOR_REPRFAX: CMCTB_VENDOR_REPRFAX;
+ CMCTB_VENDOR_REPRTEL: CMCTB_VENDOR_REPRTEL;
+ CMCTB_VENDOR_REPRURL: CMCTB_VENDOR_REPRURL;
+ CMCTB_VENDOR_TAXNUM: CMCTB_VENDOR_TAXNUM;
+ CMCTB_VENDOR_VFPN: CMCTB_VENDOR_VFPN;
+ CMCTB_VENDOR_WHTHX: CMCTB_VENDOR_WHTHX;
+ PLFTB_ESTM_PROJ_MAST: PLFTB_ESTM_PROJ_MAST;
+}
+
+// Table names constants (key-value pairs)
+export const TableNames = {
+ CMCTB_CD: 'CMCTB_CD' as const,
+ CMCTB_CDNM: 'CMCTB_CDNM' as const,
+ CMCTB_CD_CLF: 'CMCTB_CD_CLF' as const,
+ CMCTB_CD_CLF_NM: 'CMCTB_CD_CLF_NM' as const,
+ CMCTB_CUSTOMER_ADDR: 'CMCTB_CUSTOMER_ADDR' as const,
+ CMCTB_CUSTOMER_CFPN: 'CMCTB_CUSTOMER_CFPN' as const,
+ CMCTB_CUSTOMER_COMPNY: 'CMCTB_CUSTOMER_COMPNY' as const,
+ CMCTB_CUSTOMER_GENERAL: 'CMCTB_CUSTOMER_GENERAL' as const,
+ CMCTB_CUSTOMER_REPREMAIL: 'CMCTB_CUSTOMER_REPREMAIL' as const,
+ CMCTB_CUSTOMER_REPRFAX: 'CMCTB_CUSTOMER_REPRFAX' as const,
+ CMCTB_CUSTOMER_REPRTEL: 'CMCTB_CUSTOMER_REPRTEL' as const,
+ CMCTB_CUSTOMER_REPRURL: 'CMCTB_CUSTOMER_REPRURL' as const,
+ CMCTB_CUSTOMER_SORG: 'CMCTB_CUSTOMER_SORG' as const,
+ CMCTB_CUSTOMER_TAXCD: 'CMCTB_CUSTOMER_TAXCD' as const,
+ CMCTB_CUSTOMER_TAXNUM: 'CMCTB_CUSTOMER_TAXNUM' as const,
+ CMCTB_MAT_BSE: 'CMCTB_MAT_BSE' as const,
+ CMCTB_MAT_CLAS: 'CMCTB_MAT_CLAS' as const,
+ CMCTB_MAT_CLAS_SPCHAR: 'CMCTB_MAT_CLAS_SPCHAR' as const,
+ CMCTB_MAT_DSC: 'CMCTB_MAT_DSC' as const,
+ CMCTB_MAT_PLNT: 'CMCTB_MAT_PLNT' as const,
+ CMCTB_MAT_SPCHAR: 'CMCTB_MAT_SPCHAR' as const,
+ CMCTB_MAT_SPCHAR_MAST: 'CMCTB_MAT_SPCHAR_MAST' as const,
+ CMCTB_MAT_SPCHAR_VAL: 'CMCTB_MAT_SPCHAR_VAL' as const,
+ CMCTB_MAT_UOM: 'CMCTB_MAT_UOM' as const,
+ CMCTB_PROJ_BIZCLS: 'CMCTB_PROJ_BIZCLS' as const,
+ CMCTB_PROJ_MAST: 'CMCTB_PROJ_MAST' as const,
+ CMCTB_PROJ_WBS: 'CMCTB_PROJ_WBS' as const,
+ CMCTB_VENDOR_ADDR: 'CMCTB_VENDOR_ADDR' as const,
+ CMCTB_VENDOR_COMPNY: 'CMCTB_VENDOR_COMPNY' as const,
+ CMCTB_VENDOR_GENERAL: 'CMCTB_VENDOR_GENERAL' as const,
+ CMCTB_VENDOR_GRP: 'CMCTB_VENDOR_GRP' as const,
+ CMCTB_VENDOR_INCO: 'CMCTB_VENDOR_INCO' as const,
+ CMCTB_VENDOR_PORG: 'CMCTB_VENDOR_PORG' as const,
+ CMCTB_VENDOR_REPREMAIL: 'CMCTB_VENDOR_REPREMAIL' as const,
+ CMCTB_VENDOR_REPRFAX: 'CMCTB_VENDOR_REPRFAX' as const,
+ CMCTB_VENDOR_REPRTEL: 'CMCTB_VENDOR_REPRTEL' as const,
+ CMCTB_VENDOR_REPRURL: 'CMCTB_VENDOR_REPRURL' as const,
+ CMCTB_VENDOR_TAXNUM: 'CMCTB_VENDOR_TAXNUM' as const,
+ CMCTB_VENDOR_VFPN: 'CMCTB_VENDOR_VFPN' as const,
+ CMCTB_VENDOR_WHTHX: 'CMCTB_VENDOR_WHTHX' as const,
+ PLFTB_ESTM_PROJ_MAST: 'PLFTB_ESTM_PROJ_MAST' as const,
+} as const;
+
+// Table names array for synchronization
+export const ALL_TABLE_NAMES: TableName[] = [
+ 'CMCTB_CD',
+ 'CMCTB_CDNM',
+ 'CMCTB_CD_CLF',
+ 'CMCTB_CD_CLF_NM',
+ 'CMCTB_CUSTOMER_ADDR',
+ 'CMCTB_CUSTOMER_CFPN',
+ 'CMCTB_CUSTOMER_COMPNY',
+ 'CMCTB_CUSTOMER_GENERAL',
+ 'CMCTB_CUSTOMER_REPREMAIL',
+ 'CMCTB_CUSTOMER_REPRFAX',
+ 'CMCTB_CUSTOMER_REPRTEL',
+ 'CMCTB_CUSTOMER_REPRURL',
+ 'CMCTB_CUSTOMER_SORG',
+ 'CMCTB_CUSTOMER_TAXCD',
+ 'CMCTB_CUSTOMER_TAXNUM',
+ 'CMCTB_MAT_BSE',
+ 'CMCTB_MAT_CLAS',
+ 'CMCTB_MAT_CLAS_SPCHAR',
+ 'CMCTB_MAT_DSC',
+ 'CMCTB_MAT_PLNT',
+ 'CMCTB_MAT_SPCHAR',
+ 'CMCTB_MAT_SPCHAR_MAST',
+ 'CMCTB_MAT_SPCHAR_VAL',
+ 'CMCTB_MAT_UOM',
+ 'CMCTB_PROJ_BIZCLS',
+ 'CMCTB_PROJ_MAST',
+ 'CMCTB_PROJ_WBS',
+ 'CMCTB_VENDOR_ADDR',
+ 'CMCTB_VENDOR_COMPNY',
+ 'CMCTB_VENDOR_GENERAL',
+ 'CMCTB_VENDOR_GRP',
+ 'CMCTB_VENDOR_INCO',
+ 'CMCTB_VENDOR_PORG',
+ 'CMCTB_VENDOR_REPREMAIL',
+ 'CMCTB_VENDOR_REPRFAX',
+ 'CMCTB_VENDOR_REPRTEL',
+ 'CMCTB_VENDOR_REPRURL',
+ 'CMCTB_VENDOR_TAXNUM',
+ 'CMCTB_VENDOR_VFPN',
+ 'CMCTB_VENDOR_WHTHX',
+ 'PLFTB_ESTM_PROJ_MAST',
+] as const;
+
+// 타입 헬퍼
+export type TableName = keyof typeof Table;
+export type ColumnName<T extends TableName> = keyof typeof Table[T];
+export type TableRow<T extends TableName> = DatabaseSchema[T];
diff --git a/lib/oracle-db/nonsap/run-generate-schema.sh b/lib/oracle-db/nonsap/run-generate-schema.sh
new file mode 100755
index 00000000..b2e215ae
--- /dev/null
+++ b/lib/oracle-db/nonsap/run-generate-schema.sh
@@ -0,0 +1,63 @@
+#!/bin/bash
+
+# NonSAP Oracle to PostgreSQL 스키마 생성 스크립트
+
+echo "🚀 NonSAP Oracle to PostgreSQL Schema Generation"
+echo "================================================"
+
+# 현재 디렉토리 확인
+SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
+cd "$SCRIPT_DIR"
+
+echo "📍 Working directory: $SCRIPT_DIR"
+
+# CSV 파일 존재 확인
+if [ ! -f "1.table-and-columns-info.csv" ]; then
+ echo "❌ Error: 1.table-and-columns-info.csv not found"
+ exit 1
+fi
+
+echo "✅ Found CSV file: 1.table-and-columns-info.csv"
+
+# 1. Oracle TypeScript 타입 생성
+echo ""
+echo "📝 Step 1: Generating Oracle TypeScript types..."
+if command -v python3 &> /dev/null; then
+ python3 2.generate-oracle-types.py
+ if [ $? -eq 0 ]; then
+ echo "✅ Oracle TypeScript types generated successfully"
+ else
+ echo "❌ Failed to generate Oracle TypeScript types"
+ exit 1
+ fi
+else
+ echo "❌ Error: Python3 not found. Please install Python3"
+ exit 1
+fi
+
+# 2. PostgreSQL Drizzle 스키마 생성
+echo ""
+echo "🐘 Step 2: Generating PostgreSQL Drizzle schema..."
+if command -v npx &> /dev/null; then
+ npx tsx 3.generate-postgres-drizzle-schema.ts
+ if [ $? -eq 0 ]; then
+ echo "✅ PostgreSQL Drizzle schema generated successfully"
+ else
+ echo "❌ Failed to generate PostgreSQL Drizzle schema"
+ exit 1
+ fi
+else
+ echo "❌ Error: npx not found. Please install Node.js and npm"
+ exit 1
+fi
+
+echo ""
+echo "🎉 Schema generation completed!"
+echo ""
+echo "📄 Generated files:"
+echo " - oracle-schema.ts (TypeScript types)"
+echo " - schema.ts (Drizzle schema)"
+echo ""
+echo "💡 Usage:"
+echo " import { Table } from './oracle-schema';"
+echo " import { cmctbVendorGeneral } from './schema';" \ No newline at end of file