This commit is contained in:
2024-04-04 11:52:11 +02:00
commit 8247ebd39d
8 changed files with 1035 additions and 0 deletions

View File

@@ -0,0 +1,320 @@
/******************************************************************************
The copyright on the computer program(s) herein is the property of Insiders
Technologies GmbH, Kaiserslautern, Germany. The program(s) may be used or
copied only with the written permission of Insiders Technologies GmbH or in
accordance with the terms and conditions stipulated in the agreement or
contract under which the program(s) have been supplied.
******************************************************************************/
/******************************************************************************
DD MD/MK 06/03/2024
******************************************************************************/
FUNCTION OnAnalyserFinishDocument() {
// Setzte Dateinamen als primären Schlüssel
uid := DOC_ID();
// Kopfdaten
Head := DICT();
Head['AA'] := uid;
Head['AB'] := [RE_CITY];
Head['AC'] := [RE_COUNTRY];
Head['AD'] := [RE_ILN];
Head['AE'] := [RE_NAME];
Head['AF'] := [RE_PK];
Head['AG'] := [RE_RECIPIENT_NO];
Head['AH'] := [RE_STREET];
Head['AI'] := [RE_SYSTEM];
Head['AJ'] := [RE_TAX_ID_NO];
Head['AK'] := [RE_VAT_ID_NO];
Head['AL'] := [RE_ZIPCODE];
Head['AM'] := [VE_ACCOUNT_NO];
Head['AN'] := [VE_BANK];
Head['AO'] := [VE_BANK_NO];
Head['AP'] := [VE_CITY];
Head['AQ'] := [VE_CLERK_ID];
Head['AR'] := [VE_COUNTRY];
Head['AS'] := [VE_EMAIL];
Head['AT'] := [VE_FAX_NO];
Head['AU'] := [VE_IBAN];
Head['AV'] := [VE_ILN];
Head['AW'] := [VE_NAME];
Head['AX'] := [VE_RECIPIENT_NO];
Head['AY'] := [VE_STREET];
Head['AZ'] := [VE_SWIFT_BIC];
Head['BA'] := [VE_TAX_ID_NO];
Head['BB'] := [VE_TELEFONE_NO];
Head['BC'] := [VE_VAT_ID_NO];
Head['BD'] := [VE_VENDOR_NO];
Head['BE'] := [VE_ZIPCODE];
Head['BF'] := [INV_AMOUNT];
Head['BG'] := [INV_AMOUNT_ROUNDING];
Head['BH'] := [INV_CASCADED_ITEM_DISCOUNTS];
Head['BI'] := [INV_COMPLIANCE_COMMENTS];
Head['BJ'] := [INV_COMPLIANT];
Head['BK'] := [INV_CREDIT_NOTE];
Head['BL'] := [INV_CURRENCY];
Head['BM'] := [INV_CUSTOMS_CHARGE];
Head['BN'] := [INV_DATE];
Head['BO'] := [INV_DELIVERY_DATE];
Head['BP'] := [INV_DELIVERY_MONTH];
Head['BQ'] := [INV_DELIVERY_WEEK];
Head['BR'] := [INV_DISCOUNTABLE_AMOUNT];
Head['BS'] := [INV_DISCOUNT_AMOUNT1];
Head['BT'] := [INV_DISCOUNT_AMOUNT2];
Head['BU'] := [INV_DISCOUNT_PERCENT1];
Head['BV'] := [INV_DISCOUNT_PERCENT2];
Head['BW'] := [INV_FREIGHT_CHARGE];
//Head['AX'] := [INV_GROSS_AMOUNT1];
//Head['AY'] := [INV_GROSS_AMOUNT2];
//Head['BA'] := [INV_GROSS_AMOUNT3];
Head['CB'] := [INV_INSURANCE_CHARGE];
Head['CC'] := [INV_IS_INTERCOMPANY];
Head['CD'] := [INV_IS_MM];
Head['CE'] := [INV_NET_AMOUNT1];
Head['CF'] := [INV_NET_AMOUNT2];
Head['CG'] := [INV_NET_AMOUNT3];
Head['CH'] := [INV_NUMBER];
Head['CI'] := [INV_PACKING_CHARGE];
Head['CJ'] := [INV_POSTAL_CHARGE];
Head['CK'] := [INV_POS_DIFF_CHK];
Head['CL'] := [INV_REFERENCE_DATE];
Head['CM'] := [INV_REFERENCE_NUMBER];
Head['CN'] := [INV_SMALL_VOL_CHARGE];
Head['CO'] := [INV_SPECIAL_CHARGE];
Head['CP'] := [INV_TAX_AMOUNT1];
Head['CQ'] := [INV_TAX_AMOUNT2];
Head['CR'] := [INV_TAX_AMOUNT3];
Head['CS'] := [INV_TAX_RATE1];
Head['CT'] := [INV_TAX_RATE2];
Head['CU'] := [INV_TAX_RATE3];
Head['CV'] := [INV_TOLL_CHARGE];
Head['CW'] := [INV_VALUTA_DATE];
Head['CX'] := [INV_VALUTA_DAYS];
Head['CY'] := [INV_VALUTA_WEEKS];
Head['CZ'] := 'DD_DbExport.spl';
//stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Head: %1','EXEC dbo.PRDD_INSERT_ANALYZER_HEAD'),'');
SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_HEAD ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?' PARAMS dbuDictToVector(Head);
SQL_COMMIT(dbeGetHandle());
// Schleife für die Positionsmitte
FOR lineIdx := 1 TO NUM_LINES('InvoiceItems')-1 {
Items := DICT();
Items['AA'] := uid;
Items['AB'] := CELL(*FIELD('INVI_POS_NO'), lineIdx)+0;
Items['AC'] := CELL(*FIELD('INVI_ARTICLE_NO'), lineIdx);
Items['AD'] := CELL(*FIELD('INVI_CHARGE_AMOUNT1'), lineIdx);
Items['AE'] := CELL(*FIELD('INVI_CHARGE_AMOUNT2'), lineIdx);
Items['AF'] := CELL(*FIELD('INVI_CHARGE_AMOUNT3'), lineIdx);
Items['AG'] := CELL(*FIELD('INVI_CHARGE_PERCENT1'), lineIdx);
Items['AH'] := CELL(*FIELD('INVI_CHARGE_PERCENT2'), lineIdx);
Items['AI'] := CELL(*FIELD('INVI_CHARGE_PERCENT3'), lineIdx);
Items['AJ'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE1'), lineIdx);
Items['AK'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE2'), lineIdx);
Items['AL'] := CELL(*FIELD('INVI_CHARGE_PER_PIECE3'), lineIdx);
Items['AM'] := CELL(*FIELD('INVI_DELIVERY_DATE'), lineIdx);
Items['AN'] := CELL(*FIELD('INVI_DELIVERY_NO'), lineIdx);
Items['AO'] := CELL(*FIELD('INVI_DIFF_CHK'), lineIdx);
Items['AP'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT1'), lineIdx);
Items['AQ'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT2'), lineIdx);
Items['AR'] := CELL(*FIELD('INVI_DISCOUNT_AMOUNT3'), lineIdx);
Items['AS'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT1'), lineIdx);
Items['AT'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT2'), lineIdx);
Items['AU'] := CELL(*FIELD('INVI_DISCOUNT_PERCENT3'), lineIdx);
Items['AV'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE1'), lineIdx);
Items['AW'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE2'), lineIdx);
Items['AX'] := CELL(*FIELD('INVI_DISCOUNT_PER_PIECE3'), lineIdx);
Items['AY'] := CELL(*FIELD('INVI_IS_DELIVERY'), lineIdx);
Items['AZ'] := CELL(*FIELD('INVI_ORI_ARTICLE_NO'), lineIdx);
Items['BA'] := CELL(*FIELD('INVI_ORI_DESCRIPTION'), lineIdx);
Items['BB'] := CELL(*FIELD('INVI_QUANTITY'), lineIdx);
Items['BC'] := CELL(*FIELD('INVI_QUANTITY_UNIT'), lineIdx);
Items['BD'] := CELL(*FIELD('INVI_SINGLE_NET_PRICE'), lineIdx);
Items['BE'] := CELL(*FIELD('INVI_TOTAL_NET_PRICE'), lineIdx);
Items['BF'] := 'DD_DbExport.spl';
//stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Items: %1','EXEC dbo.PRDD_INSERT_ANALYZER_ITEMS'),'');
SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_ITEMS ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?' PARAMS dbuDictToVector(Items);
SQL_COMMIT(dbeGetHandle());
} // end for loop
// Vergleiche Head und Items und schreibe Result in TB
Result := DICT();
Result['AA'] := uid;
Result['AB'] := 'DD_DbExport.spl';
//stdWriteLog('Message',STRING_FORMAT('DD_DbExport - OnAnalyserFinishDocument - Result: %1','EXEC dbo.PRDD_INSERT_ANALYZER_RESULT'),'');
SQL_EXEC dbeGetHandle(),'EXEC dbo.PRDD_INSERT_ANALYZER_RESULT ?,?' PARAMS dbuDictToVector(Result);
SQL_COMMIT(dbeGetHandle());
//IF [#AMOUNT_LEARN] = [INV_AMOUNT] THEN
// stdWriteLog('Message',STRING_FORMAT('DD OnAnalyserFinishDocument - : %1','[#AMOUNT_LEARN] = [INV_AMOUNT]'),'');
} // end OnAnalyserFinishDocument
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeSetup()
{
TRY SQL_EXEC dbeGetHandle(), 'DROP TABLE SF_HEAD_TEST'; CATCH(err){}
TRY SQL_EXEC dbeGetHandle(), 'DROP TABLE SF_ITEM_TEST'; CATCH(err){}
TRY SQL_EXEC dbeGetHandle(), 'CREATE TABLE '&dbeHeadTable()&'(UID nvarchar(40), CREATED datetime2(3), FILEPATH nvarchar(max), PRIMARY KEY(UID));'; CATCH(err){}
TRY SQL_EXEC dbeGetHandle(), 'CREATE TABLE '&dbeItemsTable()&'(UID nvarchar(40), LINE int, PRIMARY KEY(UID, LINE));'; CATCH(err){}
CREATE_TEST_DOC('Invoice/Default');
FOR field IN FIELDS()
IF EXPORTED(*field) THEN
TRY SQL_EXEC dbeGetHandle(), 'ALTER TABLE '&dbeHeadTable()& ' ADD ' & NAME(*field) & ' ' & dbeColumnType(field); CATCH(err){}
FOR col IN SUBFIELDS('InvoiceItems')
IF EXPORTED(*col) THEN
TRY SQL_EXEC dbeGetHandle(), 'ALTER TABLE '&dbeItemsTable()& ' ADD ' & NAME(*col) & ' ' & dbeColumnType(col); CATCH(err){}
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeOnExporterExportDocument(file)
{
/*uid := STACK_ID()&DOC_ID();*/
uid := DOC_ID();
dbeExportHead(file, uid);
dbeExportItems(uid);
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeOnExporterRollbackStack()
{
SQL_ROLLBACK(dbeGetHandle());
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeOnExporterCommitStack()
{
SQL_COMMIT(dbeGetHandle());
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeExportHead(file, uid)
{
bindings := DICT('UID' -> uid, 'CREATED' -> stdSystemDate(), 'FILEPATH' -> file);
FOR field IN FIELDS()
IF EXPORTED(*field) THEN
bindings[NAME(*field)] := euFieldValue(field);
SQL_EXEC dbeGetHandle(), 'INSERT INTO '&dbeHeadTable()&' '&dbuGetInsertString(bindings) & 'VALUES (' & dbuGenerateBindingString(SIZE(bindings)) & ')' PARAMS dbuDictToVector(bindings) NO_COMMIT;
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeExportItems(uid) PRIVATE
{
columns := SET();
FOR col IN SUBFIELDS('InvoiceItems')
IF EXPORTED(*col) THEN
columns[col] := '';
FOR line := 0 TO NUM_LINES('InvoiceItems')-1
dbeExportItem(uid, columns, line);
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeExportItem(uid, columns, line) PRIVATE
{
bindings := DICT('UID' -> uid, 'LINE' -> line);
FOR col IN columns
bindings[NAME(*col)] := euFieldValue(&CELL(*col, line));
SQL_EXEC dbeGetHandle(), 'INSERT INTO '&dbeItemsTable()&' '&dbuGetInsertString(bindings) & 'VALUES (' & dbuGenerateBindingString(SIZE(bindings)) & ')' PARAMS dbuDictToVector(bindings) NO_COMMIT;
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeHeadTable() { RETURN DBTABLE_MAPPING('SF_HEAD'); }
FUNCTION dbeItemsTable() { RETURN DBTABLE_MAPPING('SF_ITEM'); }
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeGetHandle()
{
GLOBAL gExportDbHandle;
IF gExportDbHandle='' THEN
{
gExportDbHandle := dbeCreateDbHandle( 'ExportDSN',
'ExportUID',
'ExportPWD',
'ExportSchema',
'ConnectStatementsExportDb');
}
RETURN gExportDbHandle;
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeOnDocumentManagerBeforeTest()
{
SETDBTABLE_MAPPING('SF_HEAD', 'SF_HEAD_TEST');
SETDBTABLE_MAPPING('SF_ITEM', 'SF_ITEM_TEST');
tuAddCleanUpCommand('dbeOnDocumentManagerAfterTest', VECTOR());
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeOnDocumentManagerAfterTest()
{
SETDBTABLE_MAPPING('SF_HEAD', 'SF_HEAD');
SETDBTABLE_MAPPING('SF_ITEM', 'SF_ITEM');
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeCreateDbHandle(dsnEntry, uidEntry, pwdEntry, schemaEntry,
connectStatementsEntry) PRIVATE
{
params := DICT(
'dsn' -> CONFIG('DBServerInterface', dsnEntry),
'uid' -> CONFIG('DBServerInterface', uidEntry),
'pwd' -> CONFIG('DBServerInterface', pwdEntry),
'schema' -> CONFIG('DBServerInterface', schemaEntry),
'connectStatements' -> CONFIG('DBServerInterface', connectStatementsEntry)
);
RETURN stdGetDbHandleFromDict(params);
}
/******************************************************************************
FNo 14/03/2022
******************************************************************************/
FUNCTION dbeColumnType(f) PRIVATE
{
IF FIELD_TYPE(NAME(*f))='Checkbox' THEN
{
RETURN 'bit';
}
IF CONTENT_TYPE(*f) = 'Date' THEN
{
RETURN 'datetime2(3)';
}
IF CONTENT_TYPE(*f) IN SET('Num', 'PosNum') THEN
{
RETURN 'decimal(16,4)';
}
RETURN 'nvarchar(40)';
}

View File

@@ -0,0 +1,43 @@
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- MK // 04.04.2024
-- 04.04.2024 MK Initial
CREATE OR ALTER FUNCTION [dbo].[FNCUST_SPLIT_STRING_MULTIDELIMITER_WITH_GUID] (
@InputString NVARCHAR(MAX),
@Delimiter NVARCHAR(255)
)
RETURNS @OutputTable TABLE (
[ID] INT IDENTITY(1,1),
[value] NVARCHAR(MAX)
)
AS
BEGIN
DECLARE @StartIndex INT, @EndIndex INT
SET @StartIndex = 1
IF SUBSTRING(@InputString, 1, LEN(@Delimiter)) = @Delimiter
BEGIN
SET @StartIndex = LEN(@Delimiter) + 1
END
SET @EndIndex = CHARINDEX(@Delimiter, @InputString, @StartIndex)
WHILE (@StartIndex < LEN(@InputString) + 1)
BEGIN
IF (@EndIndex = 0)
BEGIN
SET @EndIndex = LEN(@InputString) + 1
END
INSERT INTO @OutputTable ([value])
SELECT SUBSTRING(@InputString, @StartIndex, @EndIndex - @StartIndex)
SET @StartIndex = @EndIndex + LEN(@Delimiter)
SET @EndIndex = CHARINDEX(@Delimiter, @InputString, @StartIndex)
END
RETURN
END

View File

@@ -0,0 +1,251 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_HEAD] Script Date: 05.03.2024 16:07:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Digital Data GmbH MD/MK
-- Create date: 04.03.2024
-- Description: Insert row in TBDD_ANALYZER_HEAD
-- =============================================
CREATE or ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_HEAD]
@pREFERENCE_ID NVARCHAR(100),
@pRE_CITY NVARCHAR(50),
@pRE_COUNTRY NVARCHAR(10),
@pRE_ILN NVARCHAR(50),
@pRE_NAME NVARCHAR(255),
@pRE_PK INT,
@pRE_RECIPIENT_NO NVARCHAR(50),
@pRE_STREET NVARCHAR(255),
@pRE_SYSTEM NVARCHAR(10),
@pRE_TAX_ID_NO NVARCHAR(50),
@pRE_VAT_ID_NO NVARCHAR(50),
@pRE_ZIPCODE INT,
@pVE_ACCOUNT_NO NVARCHAR(255),
@pVE_BANK NVARCHAR(255),
@pVE_BANK_NO NVARCHAR(255),
@pVE_CITY NVARCHAR(50),
@pVE_CLERK_ID NVARCHAR(255),
@pVE_COUNTRY NVARCHAR(10),
@pVE_EMAIL NVARCHAR(255),
@pVE_FAX_NO NVARCHAR(100),
@pVE_IBAN NVARCHAR(100),
@pVE_ILN NVARCHAR(50),
@pVE_NAME NVARCHAR(255),
@pVE_RECIPIENT_NO NVARCHAR(50),
@pVE_STREET NVARCHAR(255),
@pVE_SWIFT_BIC NVARCHAR(50),
@pVE_TAX_ID_NO NVARCHAR(50),
@pVE_TELEFONE_NO NVARCHAR(100),
@pVE_VAT_ID_NO NVARCHAR(50),
@pVE_VENDOR_NO NVARCHAR(50),
@pVE_ZIPCODE INT,
@pINV_AMOUNT FLOAT,
@pINV_AMOUNT_ROUNDING FLOAT,
@pINV_CASCADED_ITEM_DISCOUNTS NVARCHAR(25),
@pINV_COMPLIANCE_COMMENTS NVARCHAR(255),
@pINV_COMPLIANT NVARCHAR(25),
@pINV_CREDIT_NOTE NVARCHAR(25),
@pINV_CURRENCY NVARCHAR(25),
@pINV_CUSTOMS_CHARGE FLOAT(25),
@pINV_DATE DATE,
@pINV_DELIVERY_DATE DATE,
@pINV_DELIVERY_MONTH NVARCHAR(25),
@pINV_DELIVERY_WEEK NVARCHAR(25),
@pINV_DISCOUNTABLE_AMOUNT FLOAT,
@pINV_DISCOUNT_AMOUNT1 FLOAT,
@pINV_DISCOUNT_AMOUNT2 FLOAT,
@pINV_DISCOUNT_PERCENT1 FLOAT,
@pINV_DISCOUNT_PERCENT2 FLOAT,
@pINV_FREIGHT_CHARGE FLOAT,
--@pINV_GROSS_AMOUNT1 FLOAT,
--@pINV_GROSS_AMOUNT2 FLOAT,
--@pINV_GROSS_AMOUNT3 FLOAT,
@pINV_INSURANCE_CHARGE FLOAT,
@pINV_IS_INTERCOMPANY NVARCHAR(25),
@pINV_IS_MM NVARCHAR(25),
@pINV_NET_AMOUNT1 FLOAT,
@pINV_NET_AMOUNT2 FLOAT,
@pINV_NET_AMOUNT3 FLOAT,
@pINV_NUMBER NVARCHAR(25),
@pINV_PACKING_CHARGE FLOAT,
@pINV_POSTAL_CHARGE FLOAT,
@pINV_POS_DIFF_CHK FLOAT,
@pINV_REFERENCE_DATE DATE,
@pINV_REFERENCE_NUMBER NVARCHAR(25),
@pINV_SMALL_VOL_CHARGE FLOAT,
@pINV_SPECIAL_CHARGE FLOAT,
@pINV_TAX_AMOUNT1 FLOAT,
@pINV_TAX_AMOUNT2 FLOAT,
@pINV_TAX_AMOUNT3 FLOAT,
@pINV_TAX_RATE1 FLOAT,
@pINV_TAX_RATE2 FLOAT,
@pINV_TAX_RATE3 FLOAT,
@pINV_TOLL_CHARGE FLOAT,
@pINV_VALUTA_DATE DATE,
@pINV_VALUTA_DAYS FLOAT,
@pINV_VALUTA_WEEK FLOAT,
@pAdded_who NVARCHAR(50)
AS
BEGIN
INSERT INTO [TBDD_ANALYZER_HEAD] ([REFERENCE_ID],
[RE_CITY],
[RE_COUNTRY],
[RE_ILN],
[RE_NAME],
[RE_PK],
[RE_RECIPIENT_NO],
[RE_STREET],
[RE_SYSTEM],
[RE_TAX_ID_NO],
[RE_VAT_ID_NO],
[RE_ZIPCODE],
[VE_ACCOUNT_NO],
[VE_BANK],
[VE_BANK_NO],
[VE_CITY],
[VE_CLERK_ID],
[VE_COUNTRY],
[VE_EMAIL],
[VE_FAX_NO],
[VE_IBAN],
[VE_ILN],
[VE_NAME],
[VE_RECIPIENT_NO],
[VE_STREET],
[VE_SWIFT_BIC],
[VE_TAX_ID_NO],
[VE_TELEFONE_NO],
[VE_VAT_ID_NO],
[VE_VENDOR_NO],
[VE_ZIPCODE],
[INV_AMOUNT],
[INV_AMOUNT_ROUNDING],
[INV_CASCADED_ITEM_DISCOUNTS],
[INV_COMPLIANCE_COMMENTS],
[INV_COMPLIANT],
[INV_CREDIT_NOTE],
[INV_CURRENCY],
[INV_CUSTOMS_CHARGE],
[INV_DATE],
[INV_DELIVERY_DATE],
[INV_DELIVERY_MONTH],
[INV_DELIVERY_WEEK],
[INV_DISCOUNTABLE_AMOUNT],
[INV_DISCOUNT_AMOUNT1],
[INV_DISCOUNT_AMOUNT2],
[INV_DISCOUNT_PERCENT1],
[INV_DISCOUNT_PERCENT2],
[INV_FREIGHT_CHARGE],
-- [INV_GROSS_AMOUNT1],
-- [INV_GROSS_AMOUNT2],
-- [INV_GROSS_AMOUNT3],
[INV_INSURANCE_CHARGE],
[INV_IS_INTERCOMPANY],
[INV_IS_MM],
[INV_NET_AMOUNT1],
[INV_NET_AMOUNT2],
[INV_NET_AMOUNT3],
[INV_NUMBER],
[INV_PACKING_CHARGE],
[INV_POSTAL_CHARGE],
[INV_POS_DIFF_CHK],
[INV_REFERENCE_DATE],
[INV_REFERENCE_NUMBER],
[INV_SMALL_VOL_CHARGE],
[INV_SPECIAL_CHARGE],
[INV_TAX_AMOUNT1],
[INV_TAX_AMOUNT2],
[INV_TAX_AMOUNT3],
[INV_TAX_RATE1],
[INV_TAX_RATE2],
[INV_TAX_RATE3],
[INV_TOLL_CHARGE],
[INV_VALUTA_DATE],
[INV_VALUTA_DAYS],
[INV_VALUTA_WEEKS],
[ADDED_WHO])
VALUES (@pREFERENCE_ID,
@pRE_CITY,
@pRE_COUNTRY,
@pRE_ILN,
@pRE_NAME,
@pRE_PK,
@pRE_RECIPIENT_NO,
@pRE_STREET,
@pRE_SYSTEM,
@pRE_TAX_ID_NO,
@pRE_VAT_ID_NO,
@pRE_ZIPCODE,
@pVE_ACCOUNT_NO,
@pVE_BANK,
@pVE_BANK_NO,
@pVE_CITY,
@pVE_CLERK_ID,
@pVE_COUNTRY,
@pVE_EMAIL,
@pVE_FAX_NO,
@pVE_IBAN,
@pVE_ILN,
@pVE_NAME,
@pVE_RECIPIENT_NO,
@pVE_STREET,
@pVE_SWIFT_BIC,
@pVE_TAX_ID_NO,
@pVE_TELEFONE_NO,
@pVE_VAT_ID_NO,
@pVE_VENDOR_NO,
@pVE_ZIPCODE,
@pINV_AMOUNT,
@pINV_AMOUNT_ROUNDING,
@pINV_CASCADED_ITEM_DISCOUNTS,
@pINV_COMPLIANCE_COMMENTS,
@pINV_COMPLIANT,
@pINV_CREDIT_NOTE,
@pINV_CURRENCY,
@pINV_CUSTOMS_CHARGE,
@pINV_DATE,
@pINV_DELIVERY_DATE,
@pINV_DELIVERY_MONTH,
@pINV_DELIVERY_WEEK,
@pINV_DISCOUNTABLE_AMOUNT,
@pINV_DISCOUNT_AMOUNT1,
@pINV_DISCOUNT_AMOUNT2,
@pINV_DISCOUNT_PERCENT1,
@pINV_DISCOUNT_PERCENT2,
@pINV_FREIGHT_CHARGE,
-- @pINV_GROSS_AMOUNT1,
-- @pINV_GROSS_AMOUNT2,
-- @pINV_GROSS_AMOUNT3,
@pINV_INSURANCE_CHARGE,
@pINV_IS_INTERCOMPANY,
@pINV_IS_MM,
@pINV_NET_AMOUNT1,
@pINV_NET_AMOUNT2,
@pINV_NET_AMOUNT3,
@pINV_NUMBER,
@pINV_PACKING_CHARGE,
@pINV_POSTAL_CHARGE,
@pINV_POS_DIFF_CHK,
@pINV_REFERENCE_DATE,
@pINV_REFERENCE_NUMBER,
@pINV_SMALL_VOL_CHARGE,
@pINV_SPECIAL_CHARGE,
@pINV_TAX_AMOUNT1,
@pINV_TAX_AMOUNT2,
@pINV_TAX_AMOUNT3,
@pINV_TAX_RATE1,
@pINV_TAX_RATE2,
@pINV_TAX_RATE3,
@pINV_TOLL_CHARGE,
@pINV_VALUTA_DATE,
@pINV_VALUTA_DAYS,
@pINV_VALUTA_WEEK,
@pAdded_who);
END
GO

View File

@@ -0,0 +1,121 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_ITEMS] Script Date: 06.03.2024 16:19:35 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Digital Data GmbH MD/MK
-- Create date: 04.03.2024
-- Description: Insert row in TBDD_ANALYZER_HEAD
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_ITEMS]
@pREFERENCE_ID NVARCHAR(100),
@pINVI_POS_NO INT,
@pINVI_ARTICLE_NO NVARCHAR(255),
@pINVI_CHARGE_AMOUNT1 FLOAT,
@pINVI_CHARGE_AMOUNT2 FLOAT,
@pINVI_CHARGE_AMOUNT3 FLOAT,
@pINVI_CHARGE_PERCENT1 FLOAT,
@pINVI_CHARGE_PERCENT2 FLOAT,
@pINVI_CHARGE_PERCENT3 FLOAT,
@pINVI_CHARGE_PER_PIECE1 FLOAT,
@pINVI_CHARGE_PER_PIECE2 FLOAT,
@pINVI_CHARGE_PER_PIECE3 FLOAT,
@pINVI_DELIVERY_DATE DATE,
@pINVI_DELIVERY_NO NVARCHAR(255),
@pINVI_DIFF_CHK FLOAT,
@pINVI_DISCOUNT_AMOUNT1 FLOAT,
@pINVI_DISCOUNT_AMOUNT2 FLOAT,
@pINVI_DISCOUNT_AMOUNT3 FLOAT,
@pINVI_DISCOUNT_PERCENT1 FLOAT,
@pINVI_DISCOUNT_PERCENT2 FLOAT,
@pINVI_DISCOUNT_PERCENT3 FLOAT,
@pINVI_DISCOUNT_PER_PIECE1 FLOAT,
@pINVI_DISCOUNT_PER_PIECE2 FLOAT,
@pINVI_DISCOUNT_PER_PIECE3 FLOAT,
@pINVI_IS_DELIVERY FLOAT,
@pINVI_ORI_ARTICLE_NO NVARCHAR(255),
@pINVI_ORI_DESCRIPTION NVARCHAR(255),
@pINVI_QUANTITY FLOAT,
@pINVI_QUANTITY_UNIT FLOAT,
@pINVI_SINGLE_NET_PRICE FLOAT,
@pINVI_TOTAL_NET_PRICE FLOAT,
@pAdded_who NVARCHAR(50)
AS
BEGIN
INSERT INTO [TBDD_ANALYZER_ITEMS]([REFERENCE_ID],
[INVI_POS_NO],
[INVI_ARTICLE_NO],
[INVI_CHARGE_AMOUNT1],
[INVI_CHARGE_AMOUNT2],
[INVI_CHARGE_AMOUNT3],
[INVI_CHARGE_PERCENT1],
[INVI_CHARGE_PERCENT2],
[INVI_CHARGE_PERCENT3],
[INVI_CHARGE_PER_PIECE1],
[INVI_CHARGE_PER_PIECE2],
[INVI_CHARGE_PER_PIECE3],
[INVI_DELIVERY_DATE],
[INVI_DELIVERY_NO],
[INVI_DIFF_CHK],
[INVI_DISCOUNT_AMOUNT1],
[INVI_DISCOUNT_AMOUNT2],
[INVI_DISCOUNT_AMOUNT3],
[INVI_DISCOUNT_PERCENT1],
[INVI_DISCOUNT_PERCENT2],
[INVI_DISCOUNT_PERCENT3],
[INVI_DISCOUNT_PER_PIECE1],
[INVI_DISCOUNT_PER_PIECE2],
[INVI_DISCOUNT_PER_PIECE3],
[INVI_IS_DELIVERY],
[INVI_ORI_ARTICLE_NO],
[INVI_ORI_DESCRIPTION],
[INVI_QUANTITY],
[INVI_QUANTITY_UNIT],
[INVI_SINGLE_NET_PRICE],
[INVI_TOTAL_NET_PRICE],
[ADDED_WHO])
VALUES (@pREFERENCE_ID,
@pINVI_POS_NO,
@pINVI_ARTICLE_NO,
@pINVI_CHARGE_AMOUNT1,
@pINVI_CHARGE_AMOUNT2,
@pINVI_CHARGE_AMOUNT3,
@pINVI_CHARGE_PERCENT1,
@pINVI_CHARGE_PERCENT2,
@pINVI_CHARGE_PERCENT3,
@pINVI_CHARGE_PER_PIECE1,
@pINVI_CHARGE_PER_PIECE2,
@pINVI_CHARGE_PER_PIECE3,
@pINVI_DELIVERY_DATE,
@pINVI_DELIVERY_NO,
@pINVI_DIFF_CHK,
@pINVI_DISCOUNT_AMOUNT1,
@pINVI_DISCOUNT_AMOUNT2,
@pINVI_DISCOUNT_AMOUNT3,
@pINVI_DISCOUNT_PERCENT1,
@pINVI_DISCOUNT_PERCENT2,
@pINVI_DISCOUNT_PERCENT3,
@pINVI_DISCOUNT_PER_PIECE1,
@pINVI_DISCOUNT_PER_PIECE2,
@pINVI_DISCOUNT_PER_PIECE3,
@pINVI_IS_DELIVERY,
@pINVI_ORI_ARTICLE_NO,
@pINVI_ORI_DESCRIPTION,
@pINVI_QUANTITY,
@pINVI_QUANTITY_UNIT,
@pINVI_SINGLE_NET_PRICE,
@pINVI_TOTAL_NET_PRICE,
@pAdded_who);
END
GO

View File

@@ -0,0 +1,118 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: StoredProcedure [dbo].[PRDD_INSERT_ANALYZER_RESULT] Script Date: 06.03.2024 16:20:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: Digital Data GmbH MD/MK
-- Create date: 06.03.2024
-- Description: Insert row in TBDD_ANALYZER_RESULT
-- =============================================
CREATE OR ALTER PROCEDURE [dbo].[PRDD_INSERT_ANALYZER_RESULT]
@pREFERENCE_ID NVARCHAR(100),
@pAdded_who NVARCHAR(50)
AS
BEGIN
-- Final Vars for insert
DECLARE @STATUS NVARCHAR(50),
@STATUS_DETAIL NVARCHAR(MAX);
SET @STATUS = 'UNDEFINED';
SET @STATUS_DETAIL = '';
-- Temp vars for calculation
DECLARE @HEAD_SUM FLOAT,
@ITEMS_SUM FLOAT;
IF (((SELECT COUNT(*) FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD] (NOLOCK) WHERE [REFERENCE_ID] = @pREFERENCE_ID AND [STATUS] = 'unprocessed') = 1) and (SELECT count(*) FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS] (NOLOCK) WHERE [REFERENCE_ID] = @pREFERENCE_ID AND [STATUS] = 'unprocessed') >= 1)
BEGIN
----------------------------------------------------------------------------------------------
-- 1. Check sum of Head and Items
----------------------------------------------------------------------------------------------
-- Get sum from head
SELECT @HEAD_SUM = [INV_NET_AMOUNT1]
FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD]
WHERE [REFERENCE_ID] = @pREFERENCE_ID
-- Get sum from items
SELECT @ITEMS_SUM = SUM(INVI_TOTAL_NET_PRICE)
FROM [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS]
WHERE [REFERENCE_ID] = @pREFERENCE_ID
-- Status "failed" must not be overwritten
IF (@STATUS <> 'FAILED')
BEGIN
SET @STATUS = CASE
WHEN (@HEAD_SUM = @ITEMS_SUM) THEN 'SUCCESS'
WHEN (@HEAD_SUM > @ITEMS_SUM) THEN 'FAILED'
WHEN (@HEAD_SUM < @ITEMS_SUM) THEN 'FAILED'
END
END
SET @STATUS_DETAIL = CASE
WHEN (@HEAD_SUM = @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head and Item sum match!' + char(10) + char(13)
WHEN (@HEAD_SUM > @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head sum (' + convert(VARCHAR(100),@HEAD_SUM) +') is bigger then Item sum (' + convert(VARCHAR(100),@ITEMS_SUM) +')!' + char(10) + char(13)
WHEN (@HEAD_SUM < @ITEMS_SUM) THEN @STATUS_DETAIL + 'Head sum (' + convert(VARCHAR(100),@HEAD_SUM) +') is lesser then Item sum (' + convert(VARCHAR(100),@ITEMS_SUM) +')!' + char(10) + char(13)
END
----------------------------------------------------------------------------------------------
INSERT INTO [TBDD_ANALYZER_RESULT] ([REFERENCE_ID],
[STATUS],
[STATUS_DETAIL],
[ADDED_WHO])
VALUES (@pREFERENCE_ID,
@STATUS,
@STATUS_DETAIL,
@pAdded_who);
----------------------------------------------------------------------------------------------
UPDATE [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_HEAD]
SET [STATUS] = 'processed'
WHERE [REFERENCE_ID] = @pREFERENCE_ID
UPDATE [SmartFix_Export_DB_Invoice].[dbo].[TBDD_ANALYZER_ITEMS]
SET [STATUS] = 'processed'
WHERE [REFERENCE_ID] = @pREFERENCE_ID
----------------------------------------------------------------------------------------------
IF (@STATUS = 'SUCCESS')
BEGIN
PRINT 'Update Insiders TB, set doc to Coordinator'
END
----------------------------------------------------------------------------------------------
END
ELSE
BEGIN
SET @STATUS = 'UNREFERENCED';
SET @STATUS_DETAIL = 'Insufficient rows in DB!'
INSERT INTO [TBDD_ANALYZER_RESULT] ([REFERENCE_ID],
[STATUS],
[STATUS_DETAIL],
[ADDED_WHO])
VALUES (@pREFERENCE_ID,
@STATUS,
@STATUS_DETAIL,
@pAdded_who);
END
END
GO

View File

@@ -0,0 +1,101 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: Table [dbo].[TBDD_ANALYZER_HEAD] Script Date: 06.03.2024 16:17:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBDD_ANALYZER_HEAD](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[REFERENCE_ID] [nvarchar](100) NOT NULL,
[STATUS] [nvarchar](50) NOT NULL,
[RE_CITY] [nvarchar](50) NULL,
[RE_COUNTRY] [nvarchar](10) NULL,
[RE_ILN] [nvarchar](50) NULL,
[RE_NAME] [nvarchar](255) NULL,
[RE_PK] [int] NULL,
[RE_RECIPIENT_NO] [nvarchar](50) NULL,
[RE_STREET] [nvarchar](255) NULL,
[RE_SYSTEM] [nvarchar](10) NULL,
[RE_TAX_ID_NO] [nvarchar](50) NULL,
[RE_VAT_ID_NO] [nvarchar](50) NULL,
[RE_ZIPCODE] [int] NULL,
[VE_ACCOUNT_NO] [nvarchar](255) NULL,
[VE_BANK] [nvarchar](255) NULL,
[VE_BANK_NO] [nvarchar](255) NULL,
[VE_CITY] [nvarchar](50) NULL,
[VE_CLERK_ID] [nvarchar](255) NULL,
[VE_COUNTRY] [nvarchar](10) NULL,
[VE_EMAIL] [nvarchar](255) NULL,
[VE_FAX_NO] [nvarchar](100) NULL,
[VE_IBAN] [nvarchar](100) NULL,
[VE_ILN] [nvarchar](50) NULL,
[VE_NAME] [nvarchar](255) NULL,
[VE_RECIPIENT_NO] [nvarchar](50) NULL,
[VE_STREET] [nvarchar](255) NULL,
[VE_SWIFT_BIC] [nvarchar](50) NULL,
[VE_TAX_ID_NO] [nvarchar](50) NULL,
[VE_TELEFONE_NO] [nvarchar](100) NULL,
[VE_VAT_ID_NO] [nvarchar](50) NULL,
[VE_VENDOR_NO] [nvarchar](50) NULL,
[VE_ZIPCODE] [int] NULL,
[INV_AMOUNT] [float] NULL,
[INV_AMOUNT_ROUNDING] [float] NULL,
[INV_CASCADED_ITEM_DISCOUNTS] [nvarchar](25) NULL,
[INV_COMPLIANCE_COMMENTS] [nvarchar](255) NULL,
[INV_COMPLIANT] [nvarchar](25) NULL,
[INV_CREDIT_NOTE] [nvarchar](25) NULL,
[INV_CURRENCY] [nvarchar](25) NULL,
[INV_CUSTOMS_CHARGE] [float] NULL,
[INV_DATE] [date] NULL,
[INV_DELIVERY_DATE] [date] NULL,
[INV_DELIVERY_MONTH] [nvarchar](25) NULL,
[INV_DELIVERY_WEEK] [nvarchar](25) NULL,
[INV_DISCOUNTABLE_AMOUNT] [float] NULL,
[INV_DISCOUNT_AMOUNT1] [float] NULL,
[INV_DISCOUNT_AMOUNT2] [float] NULL,
[INV_DISCOUNT_PERCENT1] [float] NULL,
[INV_DISCOUNT_PERCENT2] [float] NULL,
[INV_FREIGHT_CHARGE] [float] NULL,
[INV_GROSS_AMOUNT1] [float] NULL,
[INV_GROSS_AMOUNT2] [float] NULL,
[INV_GROSS_AMOUNT3] [float] NULL,
[INV_INSURANCE_CHARGE] [float] NULL,
[INV_IS_INTERCOMPANY] [nvarchar](25) NULL,
[INV_IS_MM] [nvarchar](25) NULL,
[INV_NET_AMOUNT1] [float] NULL,
[INV_NET_AMOUNT2] [float] NULL,
[INV_NET_AMOUNT3] [float] NULL,
[INV_NUMBER] [nvarchar](25) NULL,
[INV_PACKING_CHARGE] [float] NULL,
[INV_POSTAL_CHARGE] [float] NULL,
[INV_POS_DIFF_CHK] [float] NULL,
[INV_REFERENCE_DATE] [date] NULL,
[INV_REFERENCE_NUMBER] [nvarchar](25) NULL,
[INV_SMALL_VOL_CHARGE] [float] NULL,
[INV_SPECIAL_CHARGE] [float] NULL,
[INV_TAX_AMOUNT1] [float] NULL,
[INV_TAX_AMOUNT2] [float] NULL,
[INV_TAX_AMOUNT3] [float] NULL,
[INV_TAX_RATE1] [float] NULL,
[INV_TAX_RATE2] [float] NULL,
[INV_TAX_RATE3] [float] NULL,
[INV_TOLL_CHARGE] [float] NULL,
[INV_VALUTA_DATE] [date] NULL,
[INV_VALUTA_DAYS] [nvarchar](25) NULL,
[INV_VALUTA_WEEKS] [nvarchar](25) NULL,
[ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBDD_ANALYZER_HEAD] ADD CONSTRAINT [DF_TBDD_ANALYZER_HEAD_STATUS] DEFAULT ('unprocessed') FOR [STATUS]
GO
ALTER TABLE [dbo].[TBDD_ANALYZER_HEAD] ADD CONSTRAINT [DF_TBDD_ANALYZER_HEAD_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO

View File

@@ -0,0 +1,56 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: Table [dbo].[TBDD_ANALYZER_ITEMS] Script Date: 06.03.2024 16:17:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBDD_ANALYZER_ITEMS](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[REFERENCE_ID] [nvarchar](100) NOT NULL,
[STATUS] [nvarchar](50) NOT NULL,
[INVI_POS_NO] [int] NULL,
[INVI_ARTICLE_NO] [nvarchar](255) NULL,
[INVI_CHARGE_AMOUNT1] [float] NULL,
[INVI_CHARGE_AMOUNT2] [float] NULL,
[INVI_CHARGE_AMOUNT3] [float] NULL,
[INVI_CHARGE_PERCENT1] [float] NULL,
[INVI_CHARGE_PERCENT2] [float] NULL,
[INVI_CHARGE_PERCENT3] [float] NULL,
[INVI_CHARGE_PER_PIECE1] [float] NULL,
[INVI_CHARGE_PER_PIECE2] [float] NULL,
[INVI_CHARGE_PER_PIECE3] [float] NULL,
[INVI_DELIVERY_DATE] [date] NULL,
[INVI_DELIVERY_NO] [nvarchar](255) NULL,
[INVI_DIFF_CHK] [float] NULL,
[INVI_DISCOUNT_AMOUNT1] [float] NULL,
[INVI_DISCOUNT_AMOUNT2] [float] NULL,
[INVI_DISCOUNT_AMOUNT3] [float] NULL,
[INVI_DISCOUNT_PERCENT1] [float] NULL,
[INVI_DISCOUNT_PERCENT2] [float] NULL,
[INVI_DISCOUNT_PERCENT3] [float] NULL,
[INVI_DISCOUNT_PER_PIECE1] [float] NULL,
[INVI_DISCOUNT_PER_PIECE2] [float] NULL,
[INVI_DISCOUNT_PER_PIECE3] [float] NULL,
[INVI_IS_DELIVERY] [float] NULL,
[INVI_ORI_ARTICLE_NO] [nvarchar](255) NULL,
[INVI_ORI_DESCRIPTION] [nvarchar](255) NULL,
[INVI_QUANTITY] [float] NULL,
[INVI_QUANTITY_UNIT] [float] NULL,
[INVI_SINGLE_NET_PRICE] [float] NULL,
[INVI_TOTAL_NET_PRICE] [float] NULL,
[ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBDD_ANALYZER_ITEMS] ADD CONSTRAINT [DF_TBDD_ANALYZER_ITEMS_STATUS] DEFAULT ('unprocessed') FOR [STATUS]
GO
ALTER TABLE [dbo].[TBDD_ANALYZER_ITEMS] ADD CONSTRAINT [DF_TBDD_ANALYZER_ITEMS_ADDED_WHEN_1] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO

View File

@@ -0,0 +1,25 @@
USE [SmartFix_Export_DB_Invoice]
GO
/****** Object: Table [dbo].[TBDD_ANALYZER_RESULT] Script Date: 06.03.2024 16:18:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[TBDD_ANALYZER_RESULT](
[GUID] [bigint] IDENTITY(1,1) NOT NULL,
[REFERENCE_ID] [nvarchar](100) NOT NULL,
[STATUS] [nvarchar](50) NOT NULL,
[STATUS_DETAIL] [nvarchar](max) NULL,
[COMMENT] [nvarchar](200) NULL,
[ADDED_WHO] [nvarchar](50) NOT NULL,
[ADDED_WHEN] [datetime] NOT NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[TBDD_ANALYZER_RESULT] ADD CONSTRAINT [DF_TBDD_ANALYZER_RESULT_ADDED_WHEN] DEFAULT (getdate()) FOR [ADDED_WHEN]
GO