From 51ed7e249de26b6cb5874820be90d16325ea6e6c Mon Sep 17 00:00:00 2001 From: Digital Data - Marlon Schreiber Date: Tue, 7 Dec 2021 16:30:02 +0100 Subject: [PATCH] MS --- 00_IDB/CreateDB.sql | 111 + 00_IDB/CreateDBObjects.sql | 4614 ++++++++++ 00_IDB/Update/1.1.1.sql | 51 + 00_IDB/Update/Added2CreateDBObjects/1.0.1.sql | 35 + 00_IDB/Update/Added2CreateDBObjects/1.0.2.sql | 4 + 00_IDB/Update/Added2CreateDBObjects/1.0.3.sql | 417 + .../Update/Added2CreateDBObjects/1.0.4.1.sql | 15 + 00_IDB/Update/Added2CreateDBObjects/1.0.4.sql | 307 + 00_IDB/Update/Added2CreateDBObjects/1.0.5.sql | 1112 +++ 00_IDB/Update/Added2CreateDBObjects/1.0.6.sql | 291 + 00_IDB/Update/Added2CreateDBObjects/1.0.7.sql | Bin 0 -> 11218 bytes 00_IDB/Update/Added2CreateDBObjects/1.0.8.sql | 127 + 00_IDB/Update/Added2CreateDBObjects/1.0.9.sql | 212 + 00_IDB/Update/Added2CreateDBObjects/1.1.0.sql | 119 + 02_GI/CreatDBObjects.sql | 667 ++ 02_GI/Updates/2.4.0.0.sql | 3 + 02_GI/Updates/2.5.0.0.sql | 18 + 02_GI/Updates/2.5.0.1.sql | 5 + 02_GI/Updates/2.5.1.0.sql | 34 + 02_GI/Updates/2.5.2.0.sql | 59 + 02_GI/Updates/Added2MainScript/1.9.3.1.sql | 9 + 02_GI/Updates/Added2MainScript/1.9.8.2.sql | 37 + 02_GI/Updates/Added2MainScript/1.9.8.3.sql | 6 + 02_GI/Updates/Added2MainScript/1.9.8.4.sql | 192 + 02_GI/Updates/Added2MainScript/1.9.8.5.sql | 50 + 02_GI/Updates/Added2MainScript/1.9.8.6.sql | 23 + 02_GI/Updates/Added2MainScript/2.0.0.0.sql | 4 + 02_GI/Updates/Added2MainScript/2.0.0.1.sql | 52 + 02_GI/Updates/Added2MainScript/2.0.0.12.sql | 14 + 02_GI/Updates/Added2MainScript/2.0.0.16.sql | 35 + 02_GI/Updates/Added2MainScript/2.0.0.34.sql | 20 + 02_GI/Updates/Added2MainScript/2.3.0.0.sql | 74 + 05_ToolCollection/CreateDBObjects.sql | 65 + 05_ToolCollection/Updates/1.0.0.1.sql | 8 + 05_ToolCollection/Updates/1.1.0.0.sql | 26 + .../01_Create EmailProfiler DBObjects.sql | 345 + 06_EmailProfiler/E-Mail Profiler RegEX.txt | 8 + .../Updates - Added2Main/1.0.0.1.sql | 53 + .../Updates - Added2Main/1.1.0.0.sql | 5 + .../Updates - Added2Main/1.2.0.0.sql | 23 + .../Updates - Added2Main/1.2.0.1.sql | 29 + .../Updates - Added2Main/1.3.0.0.sql | 6 + 07_UserManager/Added2MainScript/1.1.0.0.sql | 22 + 07_UserManager/Added2MainScript/1.2.0.0.sql | 27 + 07_UserManager/CreateDBObjects.sql | 182 + 08_ADDI/ChangeLog.txt | 172 + 08_ADDI/MArke.PNG | Bin 0 -> 9096 bytes 08_ADDI/Marke.jpg | Bin 0 -> 63233 bytes 08_ADDI/SQL/CREATE_DB_OBJECTS_RO.sql | 7835 +++++++++++++++++ 08_ADDI/SQL/Copy/Controls.sql | Bin 0 -> 2754 bytes 08_ADDI/SQL/Entwurf/Search_all.sql | 5 + 08_ADDI/SQL/Hilfe/Split;durchführen.sql | 43 + 08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql | 43 + .../PRPMO_CLIENT_AFTER_RECORD_INSERT.sql | Bin 0 -> 8272 bytes .../SQL Skripte - Help/DATABASE_RELEVANT.sql | 12 + .../SQL/SQL Skripte - Help/ENTITY_REFRESH.sql | 111 + .../EXPORT_VIEW_CONTROL_STRUCTURE.sql | 41 + 08_ADDI/SQL/SQL Skripte - Help/Fulltext.sql | 52 + .../SQL Skripte - Help/Get_Object_Changes.sql | 4 + .../SQL Skripte - Help/Template Import.sql | 120 + .../SQL Skripte - Help/UPDATE_DOC_VALUES.sql | 67 + .../User_Rights_Constructors.sql | 18 + .../Vorlagen (Cursor, Reseed etc).sql | 49 + .../1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql | 11 + .../1.1/VWPMO_CONSTRUCTOR_FORMS.sql | 24 + .../1.2/TBPMO_CONTROL.sql | 8 + .../1.2/TBPMO_CONTROL_IMAGE.sql | 36 + .../1.2/TBPMO_WD_OBJECTTYPE.sql | 19 + .../1.2/VWPMO_CONTROL_SCREEn.sql | 72 + .../1.3/1_Diverses.sql | 15 + .../1.3/1_TBPMO_RUN_PROCEDURES.sql | 23 + .../1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql | Bin 0 -> 3818 bytes .../1.3/@Variablen ersetzen.sql | 7 + .../1.3/CONTROL_DEFAULT.sql | 8 + .../1.3/Columns.sql | 2 + .../1.3/PRPMO_CREATE_SQL.sql | Bin 0 -> 5298 bytes .../1.3/TBPMO_FILES_USER.sql | 12 + .../1.3/TBPMO_FOLLUPEMAIL_RECORD.sql | 23 + .../TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql | Bin 0 -> 1212 bytes .../VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql | 23 + .../1.3/VWPMO_GUI_ENTITY.sql | 12 + .../1.3/VWPMO_WF_ACTIVE.sql | 30 + .../1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql | 29 + .../1.3/VWPMO_WORKFLOW_FORM.sql | Bin 0 -> 912 bytes .../1.4/PRPMO_COPY_ENTITY.sql | Bin 0 -> 10676 bytes .../1.5/Columns.sql | 9 + .../1.5/VWPMO_CONSTRUCTOR_FORMS.sql | 44 + .../1.6/ALTER_COLUMNS.sql | 2 + .../1.6/PRPMO_CREATE_SQL.sql | Bin 0 -> 8052 bytes .../1.6/PRPMO_CREATE_TEMP_VIEWS.sql | Bin 0 -> 1864 bytes .../1.6/TBPMO_FORM_AFT_INS.sql | Bin 0 -> 2210 bytes .../1.6/TBPMO_FORM_AFT_UPD.sql | Bin 0 -> 2176 bytes .../1.6/VWPMO_CONTROL_SCREEN.sql | 71 + .../1.7/Columns.sql | 15 + .../1.7/Update_2015_05_25.sql | 3 + .../1.7/VWPMO_TEMPLATE_ENTITY.sql | 16 + .../1.8/39-TBPMO_TEMPLATE.sql | 21 + .../1.8/40-TBPMO_TEMPLATE_ENTITY.sql | 19 + .../1.8/41-TBPMO_TEMPLATE_PATTERN.sql | 23 + .../1.8/Columns.sql | 5 + .../1.8/DROP_TEMPLATE_STRUCTURE.sql | 3 + .../1.8/PRPMO_CREATE_TEMP_VIEWS.sql | 36 + .../19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql | 102 + .../1.9/22-1-TBPMO_CONTROL_HINT.sql | 21 + .../1.9/Columns.sql | 2 + .../1.9/PRPMO_CREATE_QUICK_SQL.sql | Bin 0 -> 10554 bytes .../1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql | 25 + .../TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql | 32 + .../1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql | 33 + .../2.0/columns.sql | 2 + .../2.0/procedure_TempViews.sql | 22 + .../2.1/DROP UQ_USER_FOLLUP_ID.sql | 8 + .../2.1/Trigger.sql | 31 + .../2.2/2-TBPMO_FOLDERWATCH_USER.sql | 21 + .../2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql | Bin 0 -> 1834 bytes .../2.2/VWPMO_FOLLOW_UP_EMAIL.sql | 54 + .../VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql | 27 + .../2.2/colums.sql | 10 + .../2.4.2/IDX.sql | 4 + .../2.4.2/PRDD_COPY_RECORD.sql | 27 + .../2.4.2/Update Skript.sql | 69 + .../2.4.3/2.4.3.sql | 103 + .../2.4.4.1/1.Update 2.4.4.1.sql | 250 + .../2.4.4.1/2.4.6.1.sql | 572 ++ .../2.4.4.1/2.CAPTION_DOCTYPES.sql | 57 + .../3.INSERT_US_FORM_VIEW_CAPTIONS.sql | 44 + .../4.INSERT_DE_FORM_VIEW_CAPTIONS.sql | 48 + .../2.4.4.2/2.4.4.2_Update.sql | 13 + .../2.4.4.2/CONTROLS_LANGUAGE_US.sql | Bin 0 -> 1328 bytes .../2.4.4.3/2.4.4.3 - Update.sql | 30 + .../2.4.4.4/Brainpool/Update.sql | Bin 0 -> 3742 bytes .../2.4.4.4/Update_2.4.4.4.sql | 588 ++ .../2.4.4.5.sql | 1049 +++ .../2.4.4.5_Split_String.sql | 78 + .../2.4.4.6.sql | 606 ++ .../2.4.4.7.sql | 52 + .../2.4.4.8.sql | 90 + .../2.4.4.9.sql | 373 + .../2.4.4/FNPMO_GET_CONTROL_CAPTION.sql | 15 + .../2.4.4/Insert Controls language.sql | Bin 0 -> 1194 bytes .../2.4.5.0.sql | 39 + .../2.4.5.1.sql | 38 + .../2.4.5.2.sql | 182 + .../2.4.5.3.sql | 240 + .../2.4.5.3_RENOLIT.sql | 60 + .../2.4.5.4.sql | 340 + .../2.4.5.5.sql | 348 + .../2.4.5.6.sql | 48 + .../2.4.5.7.sql | 1836 ++++ .../2.4.5.8.sql | 394 + .../2.4.5.9.sql | 391 + .../2.4.6.0.sql | 70 + .../2.4.6.2.sql | 124 + .../2.4.6.3.sql | 223 + .../2.4.6.4.sql | 613 ++ .../2.4.6.5.sql | 583 ++ .../2.4.6.6.sql | 514 ++ .../2.4.6.7.sql | 107 + .../2.4.6.8.sql | 346 + .../2.4.6.9.sql | 48 + .../2.4.7.0.sql | 233 + .../2.4.7.1.sql | 39 + .../2.4.7.2.sql | 61 + .../2.4.7.3.sql | 404 + .../2.4.7.4.sql | 339 + .../2.4.7.4_ENTITY_TABLES.sql | 1183 +++ .../2.4.7.5.sql | 554 ++ .../2.4.7.6.sql | 80 + .../2.4.7.7.sql | 213 + .../2.4.7.8.sql | 367 + .../2.4.7.9.sql | 401 + .../2.4.8.0.sql | 775 ++ .../2.4.8.1.sql | 464 + .../2.4.8.2.sql | 81 + .../2.4.8.3.sql | 37 + .../2.4.8.4.sql | 437 + .../2.4.8.5.sql | 109 + .../PRPMO_AFTER_UPDATE_VALUES.sql | Bin 0 -> 3832 bytes .../1_windream_related_objects.sql | 56 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql | 86 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql | 468 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql | 149 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql | 270 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql | 326 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql | 50 + 08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql | 68 + ...MO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt | 14 + 08_ADDI/SQL/Weiterentwicklung.xlsx | Bin 0 -> 6333 bytes 188 files changed, 36975 insertions(+) create mode 100644 00_IDB/CreateDB.sql create mode 100644 00_IDB/CreateDBObjects.sql create mode 100644 00_IDB/Update/1.1.1.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.1.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.2.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.3.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.4.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.5.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.6.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.7.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.8.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.0.9.sql create mode 100644 00_IDB/Update/Added2CreateDBObjects/1.1.0.sql create mode 100644 02_GI/CreatDBObjects.sql create mode 100644 02_GI/Updates/2.4.0.0.sql create mode 100644 02_GI/Updates/2.5.0.0.sql create mode 100644 02_GI/Updates/2.5.0.1.sql create mode 100644 02_GI/Updates/2.5.1.0.sql create mode 100644 02_GI/Updates/2.5.2.0.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.3.1.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.8.2.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.8.3.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.8.4.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.8.5.sql create mode 100644 02_GI/Updates/Added2MainScript/1.9.8.6.sql create mode 100644 02_GI/Updates/Added2MainScript/2.0.0.0.sql create mode 100644 02_GI/Updates/Added2MainScript/2.0.0.1.sql create mode 100644 02_GI/Updates/Added2MainScript/2.0.0.12.sql create mode 100644 02_GI/Updates/Added2MainScript/2.0.0.16.sql create mode 100644 02_GI/Updates/Added2MainScript/2.0.0.34.sql create mode 100644 02_GI/Updates/Added2MainScript/2.3.0.0.sql create mode 100644 05_ToolCollection/CreateDBObjects.sql create mode 100644 05_ToolCollection/Updates/1.0.0.1.sql create mode 100644 05_ToolCollection/Updates/1.1.0.0.sql create mode 100644 06_EmailProfiler/01_Create EmailProfiler DBObjects.sql create mode 100644 06_EmailProfiler/E-Mail Profiler RegEX.txt create mode 100644 06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql create mode 100644 06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql create mode 100644 06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql create mode 100644 06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql create mode 100644 06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql create mode 100644 07_UserManager/Added2MainScript/1.1.0.0.sql create mode 100644 07_UserManager/Added2MainScript/1.2.0.0.sql create mode 100644 07_UserManager/CreateDBObjects.sql create mode 100644 08_ADDI/ChangeLog.txt create mode 100644 08_ADDI/MArke.PNG create mode 100644 08_ADDI/Marke.jpg create mode 100644 08_ADDI/SQL/CREATE_DB_OBJECTS_RO.sql create mode 100644 08_ADDI/SQL/Copy/Controls.sql create mode 100644 08_ADDI/SQL/Entwurf/Search_all.sql create mode 100644 08_ADDI/SQL/Hilfe/Split;durchführen.sql create mode 100644 08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql create mode 100644 08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/DATABASE_RELEVANT.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/ENTITY_REFRESH.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/EXPORT_VIEW_CONTROL_STRUCTURE.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/Fulltext.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/Get_Object_Changes.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/Template Import.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql create mode 100644 08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_GUI_ENTITY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_ACTIVE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql create mode 100644 08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql create mode 100644 08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt create mode 100644 08_ADDI/SQL/Weiterentwicklung.xlsx diff --git a/00_IDB/CreateDB.sql b/00_IDB/CreateDB.sql new file mode 100644 index 0000000..e4aa55c --- /dev/null +++ b/00_IDB/CreateDB.sql @@ -0,0 +1,111 @@ +USE [master] +GO + +/****** Object: Database [IDB] Script Date: 10.01.2020 12:55:47 ******/ +CREATE DATABASE [IDB] + CONTAINMENT = NONE + ON PRIMARY +( NAME = N'IDB', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB.mdf' , SIZE = 5120KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB ) + LOG ON +( NAME = N'IDB_log', FILENAME = N'E:\DataFiles\Microsoft SQL Server 2017\MSSQL14.DD_DEVELOP01\MSSQL\DATA\IDB_log.ldf' , SIZE = 5184KB , MAXSIZE = 2048GB , FILEGROWTH = 10%) +GO + +IF (1 = FULLTEXTSERVICEPROPERTY('IsFullTextInstalled')) +begin +EXEC [IDB].[dbo].[sp_fulltext_database] @action = 'enable' +end +GO + +ALTER DATABASE [IDB] SET ANSI_NULL_DEFAULT OFF +GO + +ALTER DATABASE [IDB] SET ANSI_NULLS OFF +GO + +ALTER DATABASE [IDB] SET ANSI_PADDING OFF +GO + +ALTER DATABASE [IDB] SET ANSI_WARNINGS OFF +GO + +ALTER DATABASE [IDB] SET ARITHABORT OFF +GO + +ALTER DATABASE [IDB] SET AUTO_CLOSE OFF +GO + +ALTER DATABASE [IDB] SET AUTO_SHRINK OFF +GO + +ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS ON +GO + +ALTER DATABASE [IDB] SET CURSOR_CLOSE_ON_COMMIT OFF +GO + +ALTER DATABASE [IDB] SET CURSOR_DEFAULT GLOBAL +GO + +ALTER DATABASE [IDB] SET CONCAT_NULL_YIELDS_NULL OFF +GO + +ALTER DATABASE [IDB] SET NUMERIC_ROUNDABORT OFF +GO + +ALTER DATABASE [IDB] SET QUOTED_IDENTIFIER OFF +GO + +ALTER DATABASE [IDB] SET RECURSIVE_TRIGGERS OFF +GO + +ALTER DATABASE [IDB] SET DISABLE_BROKER +GO + +ALTER DATABASE [IDB] SET AUTO_UPDATE_STATISTICS_ASYNC OFF +GO + +ALTER DATABASE [IDB] SET DATE_CORRELATION_OPTIMIZATION OFF +GO + +ALTER DATABASE [IDB] SET TRUSTWORTHY OFF +GO + +ALTER DATABASE [IDB] SET ALLOW_SNAPSHOT_ISOLATION OFF +GO + +ALTER DATABASE [IDB] SET PARAMETERIZATION SIMPLE +GO + +ALTER DATABASE [IDB] SET READ_COMMITTED_SNAPSHOT OFF +GO + +ALTER DATABASE [IDB] SET HONOR_BROKER_PRIORITY OFF +GO + +ALTER DATABASE [IDB] SET RECOVERY FULL +GO + +ALTER DATABASE [IDB] SET MULTI_USER +GO + +ALTER DATABASE [IDB] SET PAGE_VERIFY CHECKSUM +GO + +ALTER DATABASE [IDB] SET DB_CHAINING OFF +GO + +ALTER DATABASE [IDB] SET FILESTREAM( NON_TRANSACTED_ACCESS = OFF ) +GO + +ALTER DATABASE [IDB] SET TARGET_RECOVERY_TIME = 0 SECONDS +GO + +ALTER DATABASE [IDB] SET DELAYED_DURABILITY = DISABLED +GO + +ALTER DATABASE [IDB] SET QUERY_STORE = OFF +GO + +ALTER DATABASE [IDB] SET READ_WRITE +GO + diff --git a/00_IDB/CreateDBObjects.sql b/00_IDB/CreateDBObjects.sql new file mode 100644 index 0000000..4369e5e --- /dev/null +++ b/00_IDB/CreateDBObjects.sql @@ -0,0 +1,4614 @@ +--REPLACE @MY_DD_ECM_DB WITH REAL_DBNAME + +USE IDB +GO +CREATE TABLE TBIDB_LAYOUT_CONFIG +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + XML_CONTENT NVARCHAR(MAX) NOT NULL, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_LAYOUT_CONFIG PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_LAYOUT_CONFIG_TITLE UNIQUE (TITLE) +) +GO +CREATE TRIGGER TBIDB_LAYOUT_CONFIG_AFT_UPD ON TBIDB_LAYOUT_CONFIG +FOR UPDATE +AS + UPDATE TBIDB_LAYOUT_CONFIG SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_LAYOUT_CONFIG.GUID = INSERTED.GUID +GO +--DROP TABLE TBIDB_CATALOG +CREATE TABLE TBIDB_CATALOG +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + CAT_TITLE VARCHAR(100) NOT NULL, + CAT_STRING VARCHAR(900) NOT NULL, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_CATALOG PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_CATALOG_TITLE UNIQUE (CAT_TITLE) +) +GO +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('DB_VERSION','1.0.4.1') +GO +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('FILESTORE_PRAEFIX','\\IDB\OBJECTS') +GO +--INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39') +--GO +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_STRING) VALUES ('GHOST_SELECT',' +SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME') +GO +CREATE TRIGGER TBIDB_CATALOG_AFT_UPD ON TBIDB_CATALOG +FOR UPDATE +AS + UPDATE TBIDB_CATALOG SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_CATALOG.GUID = INSERTED.GUID +GO + +--DROP TABLE TBIDB_OBJECT_STORE +CREATE TABLE TBIDB_OBJECT_STORE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + OBJECT_TITLE VARCHAR(250) NOT NULL, + CAT_ID INTEGER NOT NULL, + OBJ_PATH VARCHAR(250) NOT NULL, + IS_ARCHIVE BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_STORE PRIMARY KEY (GUID), + CONSTRAINT FK_OS_CAT_ID FOREIGN KEY (CAT_ID) REFERENCES TBIDB_CATALOG (GUID) , + CONSTRAINT UQ1_TBIDB_OBJECT_STORE UNIQUE (OBJECT_TITLE), + CONSTRAINT UQ2_TBIDB_OBJECT_STORE UNIQUE (OBJ_PATH) +) +GO +CREATE TRIGGER TBIDB_OBJECT_STORE_AFT_UPD ON TBIDB_OBJECT_STORE +FOR UPDATE +AS + UPDATE TBIDB_OBJECT_STORE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_STORE.GUID = INSERTED.GUID +GO + +CREATE TABLE TBIDB_DOCTYPE_OBJECT_STORE +( + GUID INT NOT NULL IDENTITY (1, 1), + DOCTYPE_ID INT NOT NULL, + OBJECT_ST_ID INT NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 1, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_DOCTYPE_OBJECT_STORE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_DOCTYPE_OBJECT_STORE UNIQUE (DOCTYPE_ID,OBJECT_ST_ID), + CONSTRAINT FK_TBIDB_DOCTYPE_OBJECT_STORE_OSTID FOREIGN KEY (OBJECT_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID) +) +GO +CREATE TRIGGER TBIDB_DOCTYPE_OBJECT_STORE_AFT_UPD ON TBIDB_DOCTYPE_OBJECT_STORE +FOR UPDATE +AS + UPDATE TBIDB_DOCTYPE_OBJECT_STORE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_DOCTYPE_OBJECT_STORE.GUID = INSERTED.GUID +GO + +CREATE TABLE TBIDB_TERM_VALUE_VARCHAR +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE VARCHAR(900) NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_VARCHAR PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_VARCHAR UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_VARCHAR_AFT_UPD ON TBIDB_TERM_VALUE_VARCHAR +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_VARCHAR SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_VARCHAR.GUID = INSERTED.GUID +GO +CREATE TABLE TBIDB_TERM_VALUE_INTEGER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE BIGINT NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_INTEGER PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_INTEGER UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_INTEGER_AFT_UPD ON TBIDB_TERM_VALUE_INTEGER +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_INTEGER SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_INTEGER.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (0); +INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE) VALUES (1); + +CREATE TABLE TBIDB_TERM_VALUE_FLOAT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE FLOAT NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_FLOAT PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_FLOAT UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_FLOAT_AFT_UPD ON TBIDB_TERM_VALUE_FLOAT +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_FLOAT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_FLOAT.GUID = INSERTED.GUID +GO +CREATE TABLE TBIDB_TERM_VALUE_DECIMAL +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE DECIMAL(19, 0) NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_DECIMAL PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_DECIMAL UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_DECIMAL_AFT_UPD ON TBIDB_TERM_VALUE_DECIMAL +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_DECIMAL SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_DECIMAL.GUID = INSERTED.GUID +GO +CREATE TABLE TBIDB_TERM_VALUE_DATE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE DATE NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_DATE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_DATE UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_DATE_AFT_UPD ON TBIDB_TERM_VALUE_DATE +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_DATE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_DATE.GUID = INSERTED.GUID +GO +--DELETE FROM TBIDB_OBJECT_METADATA +--DELETE FROM TBIDB_LANGUAGE_TERM_METADATA +--DELETE FROM TBIDB_FILE_OBJECT +--DELETE FROM TBIDB_OBJECT_BE +--DELETE FROM TBIDB_OBJECT_METADATA_CHANGE +--DELETE FROM TBIDB_OBJECT +DROP TABLE TBIDB_TERM_VALUE_DATETIME +CREATE TABLE TBIDB_TERM_VALUE_DATETIME +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TERM_VALUE DATETIME NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_VALUE_DATETIME PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_TERM_VALUE_DATETIME UNIQUE (TERM_VALUE) +) +GO +CREATE TRIGGER TBIDB_TERM_VALUE_DATETIME_UPD ON TBIDB_TERM_VALUE_DATETIME +FOR UPDATE +AS + UPDATE TBIDB_TERM_VALUE_DATETIME SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_VALUE_DATETIME.GUID = INSERTED.GUID +GO +--DROP TABLE TBIDB_ATTRIBUTE_TYPE +CREATE TABLE TBIDB_ATTRIBUTE_TYPE +( + GUID TINYINT NOT NULL IDENTITY (1, 1), + NAME_TYPE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + BIT1 BIT NOT NULL DEFAULT 0, + BIT2 BIT NOT NULL DEFAULT 0, + BIT3 BIT NOT NULL DEFAULT 0, + BIT4 BIT NOT NULL DEFAULT 0, + DELETED BIT NOT NULL DEFAULT 0, + DELETED_WHO VARCHAR(100), + DELETED_WHEN DATETIME, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_ATTRIBUTE_TYPE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_ATTRIBUTE_TYPE UNIQUE (NAME_TYPE) +) +GO +CREATE TRIGGER TBIDB_ATTRIBUTE_TYPE_AFT_UPD ON TBIDB_ATTRIBUTE_TYPE +FOR UPDATE +AS + UPDATE TBIDB_ATTRIBUTE_TYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_ATTRIBUTE_TYPE.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VARCHAR'); --1 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIG INTEGER');--2 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('FLOAT');--3 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DECIMAL');--4 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATE');--5 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('DATETIME');--6 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('BIT');--7 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR STRING');--8 +INSERT INTO TBIDB_ATTRIBUTE_TYPE (NAME_TYPE) VALUES ('VECTOR INTEGER');--9 + +--DROP TABLE TBIDB_OBJECT_KIND +CREATE TABLE TBIDB_OBJECT_KIND +( + GUID TINYINT NOT NULL IDENTITY (1, 1), + KIND_NAME VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_KIND PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_OBJECT_KIND UNIQUE (KIND_NAME) +) +GO +INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('DOC'); +INSERT INTO TBIDB_OBJECT_KIND (KIND_NAME) VALUES ('OBJECT'); +GO +CREATE TRIGGER TBIDB_OBJECT_KIND_AFT_UPD ON TBIDB_OBJECT_KIND +FOR UPDATE +AS + UPDATE TBIDB_OBJECT_KIND SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_KIND.GUID = INSERTED.GUID +GO +--DROP TABLE TBIDB_BUSINESS_ENTITY +CREATE TABLE TBIDB_BUSINESS_ENTITY +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(500) NOT NULL, + PARENT_ENT_ID INTEGER NOT NULL DEFAULT 0, + INHERITS_ATTRIBUTES BIT NOT NULL DEFAULT 1, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_BUSINESS_ENTITY PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_BUSINESS_ENTITY UNIQUE (TITLE) +) +GO +CREATE TRIGGER TBIDB_BUSINESS_ENTITY_AFT_UPD ON TBIDB_BUSINESS_ENTITY +FOR UPDATE +AS + UPDATE TBIDB_BUSINESS_ENTITY SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_BUSINESS_ENTITY.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_BUSINESS_ENTITY (TITLE) VALUES ('DEFAULT'); + +CREATE TABLE TBIDB_LANGUAGE +( + GUID TINYINT NOT NULL IDENTITY (1, 1), + LANG_CODE VARCHAR(10) NOT NULL, + CREATE_DEFAULT_ENTRY BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_LANGUAGE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_LANGUAGE UNIQUE (LANG_CODE) +) +GO +CREATE TRIGGER TBIDB_LANGUAGE_AFT_UPD ON TBIDB_LANGUAGE +FOR UPDATE +AS + UPDATE TBIDB_LANGUAGE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_LANGUAGE.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('de-DE',1); +INSERT INTO TBIDB_LANGUAGE (LANG_CODE,CREATE_DEFAULT_ENTRY) VALUES ('en-EN',1); + +GO +F +--DROP TABLE TBIDB_OBJECT_BE +--DROP TABLE TBIDB_OBJECT +CREATE TABLE TBIDB_OBJECT +( + IDB_OBJ_ID BIGINT NOT NULL IDENTITY (10000, 1), + KIND_TYPE_ID TINYINT NOT NULL, + REFERENCE_KEY BIGINT, + PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0, + IS_VERSION BIT NOT NULL DEFAULT 0, + ACTIVE BIT NOT NULL DEFAULT 1, + DELETED BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT PRIMARY KEY (IDB_OBJ_ID), + CONSTRAINT UQ_TBIDB_OBJECT UNIQUE (REFERENCE_KEY), + CONSTRAINT FK_KIND_TYPE_ID FOREIGN KEY (KIND_TYPE_ID) REFERENCES TBIDB_OBJECT_KIND (GUID) +) +GO + +CREATE TRIGGER TBIDB_OBJECT_AFT_INS ON TBIDB_OBJECT +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @IDB_OBJ_ID BIGINT, + @REFERENCE_KEY BIGINT + SELECT + @IDB_OBJ_ID = IDB_OBJ_ID, + @REFERENCE_KEY = REFERENCE_KEY + FROM INSERTED + + IF @REFERENCE_KEY IS NULL + UPDATE TBIDB_OBJECT SET REFERENCE_KEY = @IDB_OBJ_ID + FROM INSERTED + WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER TBIDB_OBJECT_AFT_UPD ON TBIDB_OBJECT +FOR UPDATE +AS + UPDATE TBIDB_OBJECT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +GO +CREATE TABLE TBIDB_DOC_INFO +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + OBJ_ST_ID INTEGER NOT NULL, + FILENAME_ONLY VARCHAR(250) NOT NULL, + FILENAME_EXT VARCHAR(250) NOT NULL, + EXTENSION_TERM BIGINT NOT NULL, + RELATIVE_PATH VARCHAR(250) NOT NULL, + RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL, + FULL_TEXT VARBINARY(MAX), + FILE_SIZE INTEGER, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_DOC_INFO PRIMARY KEY (GUID), + CONSTRAINT UQ_DI_IDB_OBJ_ID UNIQUE (IDB_OBJ_ID), + CONSTRAINT FK_DI_IDB_OBJ_ST_ID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID), + CONSTRAINT FK_DI_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID), + CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID) +) +GO +CREATE TRIGGER TBIDB_DOC_INFO_AFT_UPD ON TBIDB_DOC_INFO +FOR UPDATE +AS + UPDATE TBIDB_DOC_INFO SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_DOC_INFO.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +GO + +--DROP TABLE TBIDB_OBJECT_BE +CREATE TABLE TBIDB_OBJECT_BE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + BE_ID INTEGER NOT NULL, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_BE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_OBJECT_BE UNIQUE (IDB_OBJ_ID,BE_ID), + CONSTRAINT FK_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_BE_ID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID), +) +GO +CREATE TRIGGER TBIDB_OBJECT_BE_AFT_UPD ON TBIDB_OBJECT_BE +FOR UPDATE +AS + UPDATE TBIDB_OBJECT_BE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_BE.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +GO + +--ALTER TABLE TBIDB_ATTRIBUTE ADD SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0 +GO +CREATE TABLE TBIDB_ATTRIBUTE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(100) NOT NULL, + TYP_ID TINYINT NOT NULL, + MULTI_CONTEXT BIT NOT NULL DEFAULT 0, + VIEW_SEQUENCE INTEGER NOT NULL DEFAULT 0, + VIEW_VISIBLE BIT NOT NULL DEFAULT 1, + SYS_ATTRIBUTE BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + DELETED BIT NOT NULL DEFAULT 0, + DELETED_WHO VARCHAR(100), + DELETED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_ATTRIBUTE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_ATTRIBUTE UNIQUE (TITLE), + CONSTRAINT FK_TYP_ID FOREIGN KEY (TYP_ID) REFERENCES TBIDB_ATTRIBUTE_TYPE (GUID) +) +GO +CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_UPD ON TBIDB_ATTRIBUTE +FOR UPDATE +AS + UPDATE TBIDB_ATTRIBUTE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_ATTRIBUTE.GUID = INSERTED.GUID +GO + +CREATE TRIGGER TBIDB_ATTRIBUTE_AFT_INS ON TBIDB_ATTRIBUTE +FOR INSERT +AS + DECLARE + @ATTRIBUTE_ID INTEGER, + @TYP_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @TITLE VARCHAR(100), + @ADD_DEFAULT BIT, + @LANG_ID INTEGER, + @LANG_CODE VARCHAR(5) + SELECT + @ATTRIBUTE_ID = GUID, + @TYP_ID = TYP_ID, + @ADDED_WHO = ADDED_WHO, + @TITLE = TITLE + FROM INSERTED + + SELCT + DECLARE @NEW_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@TITLE,'',@TERM_ID = @NEW_TERM_ID OUTPUT; + + DECLARE cursorIDBLANGUAGE_ATTR CURSOR FOR + select GUID,LANG_CODE from TBIDB_LANGUAGE where CREATE_DEFAULT_ENTRY = 1 + OPEN cursorIDBLANGUAGE_ATTR + FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO [dbo].[TBIDB_ATTRIBUTE_LANGUAGE] + ([ATTRIBUTE_ID] + ,[LANGUAGE_ID] + ,[TERM_ID] + ,[ADDED_WHO]) + VALUES + (@ATTRIBUTE_ID + ,@LANG_ID + ,@NEW_TERM_ID + ,@ADDED_WHO); + EXEC PRIDB_CREATE_VIEW_DOC_DATA @LANG_CODE + FETCH NEXT FROM cursorIDBLANGUAGE_ATTR INTO @LANG_ID,@LANG_CODE + END +CLOSE cursorIDBLANGUAGE_ATTR +DEALLOCATE cursorIDBLANGUAGE_ATTR + +GO + +CREATE TABLE TBIDB_BE_ATTRIBUTE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + BE_ID INTEGER NOT NULL, + ATTR_ID INTEGER NOT NULL, + DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(1000), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_BE_ATTRIBUTE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_BE_ATTRIBUTE UNIQUE (BE_ID,ATTR_ID), + CONSTRAINT FK_IDB_BEATT_BEID FOREIGN KEY (BE_ID) REFERENCES TBIDB_BUSINESS_ENTITY (GUID), + CONSTRAINT FK_IDB_BEATT_AID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), +) +GO +CREATE TRIGGER TBIDB_BE_ATTRIBUTE_AFT_UPD ON TBIDB_BE_ATTRIBUTE +FOR UPDATE +AS + UPDATE TBIDB_BE_ATTRIBUTE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_BE_ATTRIBUTE.GUID = INSERTED.GUID +GO +--DROP TABLE TBIDB_TERM_LANGUAGE +CREATE TABLE TBIDB_TERM_LANGUAGE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + LANGUAGE_ID TINYINT NOT NULL DEFAULT 1, + TEXT_TERM_ID BIGINT NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_TERM_LANGUAGE PRIMARY KEY (GUID), + CONSTRAINT FK_TL_LANGUAGE_ID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID), +) +GO +CREATE TRIGGER [dbo].[TBIDB_TERM_LANGUAGE_AFT_UPD] ON [dbo].[TBIDB_TERM_LANGUAGE] +FOR UPDATE +AS + UPDATE TBIDB_TERM_LANGUAGE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_TERM_LANGUAGE.GUID = INSERTED.GUID +GO + --DROP TABLE TBIDB_OBJECT_METADATA_CHANGE + +--DROP TABLE TBIDB_OBJECT_METADATA +CREATE TABLE TBIDB_OBJECT_METADATA +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + ATTR_ID INTEGER NOT NULL, + TEXT_TERM_LANG_ID BIGINT, + INT_TERM_ID BIGINT, + DEC_TERM_ID BIGINT, + FLOAT_TERM_ID BIGINT, + DATE_TERM_ID BIGINT, + DATETIME_TERM_ID BIGINT, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_OBJECT_METADATA PRIMARY KEY (GUID), + CONSTRAINT FK_OMD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_OMD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), + CONSTRAINT FK_OMD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_OMD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID), + CONSTRAINT FK_OMD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID), + CONSTRAINT FK_OMD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID), + CONSTRAINT FK_OMD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID), + CONSTRAINT FK_OMD_DATETIME_TERM_ID FOREIGN KEY (DATETIME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATETIME (GUID), +) +GO +CREATE TABLE TBIDB_OBJECT_METADATA_CHANGE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + ATTR_ID INTEGER NOT NULL, + OLD_TEXT_TERM_LANG_ID BIGINT, + NEW_TEXT_TERM_LANG_ID BIGINT, + OLD_INT_TERM_ID BIGINT, + NEW_INT_TERM_ID BIGINT, + OLD_DEC_TERM_ID BIGINT, + NEW_DEC_TERM_ID BIGINT, + OLD_FLOAT_TERM_ID BIGINT, + NEW_FLOAT_TERM_ID BIGINT, + OLD_DATE_TERM_ID BIGINT, + NEW_DATE_TERM_ID BIGINT, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(100), + CHANGED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + CHANGED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CONSTRAINT PK_TBIDB_OBJECT_METADATA_CHANGE PRIMARY KEY (GUID), + CONSTRAINT FK_OMDC_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_OMDC_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), + CONSTRAINT FK_OMDC_OLD_TEXT_TERM_ID FOREIGN KEY (OLD_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_OMDC_NEW_TEXT_TERM_ID FOREIGN KEY (NEW_TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_OMDC_OLD_INT_TERM_ID FOREIGN KEY (OLD_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID), + CONSTRAINT FK_OMDC_NEW_INT_TERM_ID FOREIGN KEY (NEW_INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID), + CONSTRAINT FK_OMDC_OLD_DEC_TERM_ID FOREIGN KEY (OLD_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID), + CONSTRAINT FK_OMDC_NEW_DEC_TERM_ID FOREIGN KEY (NEW_DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID), + CONSTRAINT FK_OMDC_OLD_FLOAT_TERM_ID FOREIGN KEY (OLD_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID), + CONSTRAINT FK_OMDC_NEW_FLOAT_TERM_ID FOREIGN KEY (NEW_FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID), + CONSTRAINT FK_OMDC_OLD_DATE_TERM_ID FOREIGN KEY (OLD_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID), + CONSTRAINT FK_OMDC_NEW_DATE_TERM_ID FOREIGN KEY (NEW_DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID), +) +GO + +CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD]( + [GUID] BIGINT IDENTITY(1,1) NOT NULL, + [IDB_OBJ_ID] BIGINT NOT NULL, + [ATTR_ID] INT NOT NULL, + [TEXT_TERM_LANG_ID] BIGINT, + [INT_TERM_ID] BIGINT, + [DEC_TERM_ID] BIGINT, + [FLOAT_TERM_ID] BIGINT, + [DATE_TERM_ID] BIGINT, + [ADDED_WHO] VARCHAR(100), + [ADDED_WHEN] DATETIME NOT NULL, + CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID), + ) + +GO + +CREATE TABLE TBIDB_OBJECT_METADATA_DELETE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + ATTR_ID INTEGER NOT NULL, + TEXT_TERM_LANG_ID BIGINT, + INT_TERM_ID BIGINT, + DEC_TERM_ID BIGINT, + FLOAT_TERM_ID BIGINT, + DATE_TERM_ID BIGINT, + USER_DELETE_ID INTEGER NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME, + DELETED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data', + DELETED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CONSTRAINT PK_TBIDB_OBJECT_METADATA_DELETE PRIMARY KEY (GUID), + CONSTRAINT FK_OMDD_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_OMDD_ATTR_ID FOREIGN KEY (ATTR_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), + CONSTRAINT FK_OMDD_TEXT_TERM_ID FOREIGN KEY (TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_OMDD_INT_TERM_ID FOREIGN KEY (INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER (GUID), + CONSTRAINT FK_OMDD_DEC_TERM_ID FOREIGN KEY (DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL (GUID), + CONSTRAINT FK_OMDD_FLOAT_TERM_ID FOREIGN KEY (FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT (GUID), + CONSTRAINT FK_OMDD_DATE_TERM_ID FOREIGN KEY (DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE (GUID), + ) +GO +CREATE TRIGGER [dbo].[TBIDB_OBJECT_METADATA_AFT_UPD] ON [dbo].[TBIDB_OBJECT_METADATA] +FOR UPDATE +AS + DECLARE + @IDB_OBJ_ID BIGINT, + @ATTR_ID INTEGER, + @CHANGED_WHO VARCHAR(100), + @OLD_TEXT_TERM_LANG_ID BIGINT, + @NEW_TEXT_TERM_LANG_ID BIGINT, + @OLD_INT_TERM_ID BIGINT, + @NEW_INT_TERM_ID BIGINT, + @OLD_DEC_TERM_ID BIGINT, + @NEW_DEC_TERM_ID BIGINT, + @OLD_FLOAT_TERM_ID BIGINT, + @NEW_FLOAT_TERM_ID BIGINT, + @OLD_DATE_TERM_ID BIGINT, + @NEW_DATE_TERM_ID BIGINT + + SELECT + @OLD_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID, + @OLD_INT_TERM_ID = INT_TERM_ID, + @OLD_DEC_TERM_ID = DEC_TERM_ID, + @OLD_FLOAT_TERM_ID = FLOAT_TERM_ID, + @OLD_DATE_TERM_ID = DATE_TERM_ID + FROM DELETED + SELECT + @IDB_OBJ_ID = IDB_OBJ_ID, + @ATTR_ID = ATTR_ID, + @NEW_TEXT_TERM_LANG_ID = TEXT_TERM_LANG_ID, + @NEW_INT_TERM_ID = INT_TERM_ID, + @NEW_DEC_TERM_ID = DEC_TERM_ID, + @NEW_FLOAT_TERM_ID = FLOAT_TERM_ID, + @NEW_DATE_TERM_ID = DATE_TERM_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + IF @IDB_OBJ_ID IS NOT NULL + INSERT INTO TBIDB_OBJECT_METADATA_CHANGE ( + IDB_OBJ_ID, + ATTR_ID, + OLD_TEXT_TERM_LANG_ID, + NEW_TEXT_TERM_LANG_ID, + OLD_INT_TERM_ID, + NEW_INT_TERM_ID, + OLD_DEC_TERM_ID, + NEW_DEC_TERM_ID, + OLD_FLOAT_TERM_ID, + NEW_FLOAT_TERM_ID, + OLD_DATE_TERM_ID, + NEW_DATE_TERM_ID, + CHANGED_WHO) VALUES + (@IDB_OBJ_ID, + @ATTR_ID, + @OLD_TEXT_TERM_LANG_ID, + @NEW_TEXT_TERM_LANG_ID, + @OLD_INT_TERM_ID, + @NEW_INT_TERM_ID, + @OLD_DEC_TERM_ID, + @NEW_DEC_TERM_ID, + @OLD_FLOAT_TERM_ID, + @NEW_FLOAT_TERM_ID, + @OLD_DATE_TERM_ID, + @NEW_DATE_TERM_ID, + @CHANGED_WHO) + + + UPDATE TBIDB_OBJECT_METADATA SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_OBJECT_METADATA.GUID = INSERTED.GUID +GO +CREATE TRIGGER TBIDB_OBJECT_METADATA_AFT_INS ON TBIDB_OBJECT_METADATA +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @TEXT_TERM_ID BIGINT, + @INT_TERM_ID BIGINT, + @DEC_TERM_ID BIGINT, + @FLOAT_TERM_ID BIGINT, + @DATE_TERM_ID BIGINT, + @ATTR_ID INTEGER, + @TYPID TINYINT, + @ERROR VARCHAR(100) + SELECT + @TEXT_TERM_ID = TEXT_TERM_LANG_ID, + @INT_TERM_ID = INT_TERM_ID, + @DEC_TERM_ID = DEC_TERM_ID, + @FLOAT_TERM_ID = FLOAT_TERM_ID, + @DATE_TERM_ID = DATE_TERM_ID, + @ATTR_ID = ATTR_ID + FROM INSERTED + + SET @ERROR = 'NONE' + SELECT @TYPID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE GUID = @ATTR_ID + + IF @TYPID in (1,8) AND @TEXT_TERM_ID IS NULL + SET @ERROR = 'NO @TEXT_TERM_ID FOR INSERT' + ELSE IF @TYPID in (2,9) AND @INT_TERM_ID IS NULL + SET @ERROR = 'NO @INT_TERM_ID FOR INSERT' + ELSE IF @TYPID = 3 AND @FLOAT_TERM_ID IS NULL + SET @ERROR = 'NO @@FLOAT_TERM_ID FOR INSERT' + ELSE IF @TYPID = 4 AND @DEC_TERM_ID IS NULL + SET @ERROR = 'NO @DEC_TERM_ID FOR INSERT' + ELSE IF @TYPID = 5 AND @DATE_TERM_ID IS NULL + SET @ERROR = 'NO @DATE_TERM_ID FOR INSERT' + ELSE IF @TYPID = 7 AND @INT_TERM_ID IS NULL + SET @ERROR = 'NO @INT_TERM_ID FOR INSERT' + + IF @ERROR <> 'NONE' + BEGIN + RAISERROR(@ERROR, 16, 1) + rollback transaction + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--DROP TABLE TBIDB_ATT_LANGUAGE +CREATE TABLE TBIDB_ATTRIBUTE_LANGUAGE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + ATTRIBUTE_ID INT NOT NULL, + LANGUAGE_ID TINYINT NOT NULL, + TERM_ID BIGINT NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_ATT_LANGUAGE PRIMARY KEY(GUID), + CONSTRAINT UN_TBIDB_ATT_LANGUAGE UNIQUE(ATTRIBUTE_ID,LANGUAGE_ID), + CONSTRAINT FK_ATTRIBUTE_ID FOREIGN KEY(ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE(GUID), + CONSTRAINT FK_LANGUAGE_ID FOREIGN KEY(LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE(GUID), + CONSTRAINT FK_TERM_ID FOREIGN KEY(TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID) +) +GO +CREATE TRIGGER TBIDB_ATT_LANGUAGE_AFT_UPD ON TBIDB_ATTRIBUTE_LANGUAGE +FOR UPDATE +AS + UPDATE TBIDB_ATTRIBUTE_LANGUAGE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_ATTRIBUTE_LANGUAGE.GUID = INSERTED.GUID +GO + +CREATE VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T1.SYS_ATTRIBUTE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID + INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID + WHERE T1.DELETED = 0 +GO + +CREATE TABLE TBIDB_BASE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + CONFIG_NAME VARCHAR(900) NOT NULL, + CONFIG_VALUE VARCHAR(MAX) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_BASE PRIMARY KEY (GUID), + CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME) +) +GO +CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE +FOR UPDATE +AS + UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_BASE.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1') +GO +INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('GHOST_SELECT',' +SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM MY_DD_ECM_DB.dbo.TBDD_USER T ORDER BY USERNAME') +GO + + +CREATE TABLE TBIDB_STATES +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + STATE_LTERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES +FOR UPDATE +AS + UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_STATES.GUID = INSERTED.GUID +GO + + + + +CREATE TABLE TBIDB_STATE_LANG_GROUP +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + STATE_ID BIGINT NOT NULL, + LANG_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), + CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP +FOR UPDATE +AS + UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID +GO + +CREATE TABLE TBIDB_CONVERSATION_OBJECT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TITLE_TERM_ID BIGINT NOT NULL, + IDB_OBJ_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID), + CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT +FOR UPDATE +AS + UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID +GO + + +GO +--delete from TBIDB_MYOBJECT_STATES +CREATE TABLE TBIDB_MYOBJECT_STATES +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + MY_OBJECT_ID BIGINT NOT NULL, + STATE_ID BIGINT NOT NULL, + COMMENT_ID BIGINT , + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES +FOR UPDATE +AS + UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID +GO + + + +CREATE TABLE TBIDB_CONVERSATION_USER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + CONV_ID BIGINT NOT NULL, + USER_OR_GROUP_ID INTEGER NOT NULL, + IS_USER BIT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TABLE TBIDB_COMMON_SQL +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(200) NOT NULL, + SQL_COMMAND NVARCHAR(MAX), + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID) + ) +GO + + + + +DROP TABLE TBIDB_SEARCH_PROFILE +CREATE TABLE TBIDB_SEARCH_PROFILE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE_ID BIGINT NOT NULL, + COMMENT VARCHAR(900), + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_PROFILE PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + ) +GO +CREATE TRIGGER TBIDB_SEARCH_PROFILE_AFT_UPD ON TBIDB_SEARCH_PROFILE +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_PROFILE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_PROFILE.GUID = INSERTED.GUID +GO + +--CREATE TABLE TBIDB_SEARCH_RESULT_ATTRIBUTES +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- SEARCH_PROFIL_ID INTEGER NOT NULL, +-- ATTRIBUTE_ID INTEGER NOT NULL, +-- SEQUENCE INTEGER DEFAULT 0, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CONSTRAINT PK_TBIDB_SEARCH_RESULT_ATTRIBUTES_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT UQ_TBIDB_SEARCH_RESULT_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID) +--) +--GO + + +CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + LANGUAGE_ID TINYINT NOT NULL, + SEARCH_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_LID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID) +) +GO +CREATE TRIGGER TBIDB_SEARCH_LANGUAGE_SQL_RESULT_AFT_UPD ON TBIDB_SEARCH_LANGUAGE_SQL_RESULT +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_LANGUAGE_SQL_RESULT .GUID = INSERTED.GUID +GO +DROP TABLE TBIDB_SEARCH_PROFILE_USER_GROUP +CREATE TABLE TBIDB_SEARCH_PROFILE_USER_GROUP +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL DEFAULT 0, + GROUP_ID INTEGER NOT NULL DEFAULT 0, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_PID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID,GROUP_ID) +) +GO + + +--CREATE TABLE TBIDB_SEARCH_PROFILE_GROUP +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- SEARCH_PROFIL_ID INTEGER NOT NULL, +-- GROUP_ID INTEGER NOT NULL, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES @MY_DD_ECM_DB.dbo.TBDD_USER (GUID), +-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID) +--) +--GO + + +----DROP TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES +--CREATE TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- SEARCH_PROFIL_ID INTEGER NOT NULL, +-- ATTRIBUTE_ID INTEGER NOT NULL, +-- X_LOC FLOAT NOT NULL DEFAULT 0, +-- Y_LOC FLOAT NOT NULL DEFAULT 0, +-- [SEQUENCE] INTEGER NOT NULL DEFAULT 0, +-- HEIGHT SMALLINT NOT NULL DEFAULT 25, +-- WIDTH SMALLINT NOT NULL DEFAULT 200, +-- MULTISELECT BIT NOT NULL DEFAULT 0, +-- SOURCE_SQL BIGINT, +-- ENABLE_SQL BIGINT, +-- ENABLE_CONID SMALLINT, +-- --DEPENDING_ATTRIBUTE1 INTEGER NOT NULL DEFAULT 0, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CHANGED_WHO BIGINT, +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_SOURCE_SQL FOREIGN KEY (SOURCE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ENABLE_SQL FOREIGN KEY (ENABLE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID) +--) +--GO +--CREATE TRIGGER TBIDB_SEARCH_PROFILE_ATTRIBUTES_AFT_UPD ON TBIDB_SEARCH_PROFILE_ATTRIBUTES +--FOR UPDATE +--AS +-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET CHANGED_WHEN = GETDATE() +-- FROM INSERTED +-- WHERE TBIDB_SEARCH_PROFILE_ATTRIBUTES .GUID = INSERTED.GUID +--GO + + +----drop table TBIDB_SEARCH_ATTRIBUTES_LINKS; +--CREATE TABLE TBIDB_SEARCH_ATTRIBUTES_LINKS +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- DEP_ATTR_ID INTEGER NOT NULL, +-- LINKED_ATTR_ID INTEGER NOT NULL, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CHANGED_WHO BIGINT, +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBIDB_SEARCH_ATTRIBUTES_LINKS_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_DA_ID FOREIGN KEY (DEP_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_LA_ID FOREIGN KEY (LINKED_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +--) +--GO +----DROP TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT +--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- SEARCH_ID INTEGER NOT NULL, +-- RESTR_ATTR_ID INTEGER NOT NULL, +-- SOURCE_ATTR_ID INTEGER NOT NULL, +-- TERM VARCHAR(900) NOT NULL, +-- USR_ID INTEGER NOT NULL, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + +-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_INPUT_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +--) +--GO +--CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_OBJECTS +--( +-- GUID INTEGER NOT NULL IDENTITY (1, 1), +-- SEARCH_ID INTEGER NOT NULL, +-- RESTR_ATTR_ID INTEGER NOT NULL, +-- SOURCE_ATTR_ID INTEGER NOT NULL, +-- IDB_OBJ_ID BIGINT NOT NULL, +-- USR_ID INTEGER NOT NULL, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + +-- CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_IOBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID) +--) +--GO + +--CREATE TRIGGER [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT_AFT_INS] ON [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT] +--WITH EXECUTE AS CALLER +--FOR INSERT +--AS +--BEGIN TRY +-- DECLARE +-- @SEARCH_ID INTEGER, +-- @RESTR_ATTR_ID INTEGER, +-- @SOURCE_ATTR_ID INTEGER, +-- @TERM VARCHAR(900), +-- @USR_ID INTEGER, +-- @pLANG_CODE VARCHAR(5) + +-- SELECT +-- @SEARCH_ID = SEARCH_ID, +-- @RESTR_ATTR_ID = RESTR_ATTR_ID, +-- @SOURCE_ATTR_ID = SOURCE_ATTR_ID, +-- @TERM = TERM, +-- @USR_ID = USR_ID + +-- FROM INSERTED + +-- --DELETE FROM TBIDB_SEARCH_RESTRICTIONS_OBJECTS +-- --WHERE +-- -- SEARCH_ID = @SEARCH_ID AND +-- -- RESTR_ATTR_ID = @RESTR_ATTR_ID AND +-- -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND +-- -- USR_ID = @USR_ID; + +-- SELECT @pLANG_CODE = [LANGUAGE] FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = @USR_ID +-- INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID) +-- SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID +-- FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1 +-- ON T.IDB_OBJECT_ID = T1.IDB_OBJ_ID +-- where T.TERM_VALUE = @TERM AND T1.IDB_OBJ_ID IS NULL +-- --where TERM_VALUE = @TERM + +--END TRY +--BEGIN CATCH +-- PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) +-- + ' - ERROR-MESSAGE: ' +-- + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +--END CATCH +--GO +CREATE TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA]( + [GUID] [bigint] NOT NULL, + [LANG_TERM_ID] [bigint] NOT NULL, + [ADDED_WHO] [bigint] NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL, + [CHANGED_WHO] [bigint] NULL, + [CHANGED_WHEN] [datetime] NULL, + CONSTRAINT [PKTBIDB_LANGUAGE_TERM_METADATA] PRIMARY KEY CLUSTERED +( + [GUID] ASC, + [LANG_TERM_ID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ADD DEFAULT (getdate()) FOR [ADDED_WHEN] +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID] FOREIGN KEY([ADDED_WHO]) +REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID]) +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_ADDED_WHO_T_ID] +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID] FOREIGN KEY([CHANGED_WHO]) +REFERENCES [dbo].[TBIDB_TERM_VALUE_VARCHAR] ([GUID]) +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_CHANGED_WHO_T_ID] +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] WITH CHECK ADD CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID] FOREIGN KEY([LANG_TERM_ID]) +REFERENCES [dbo].[TBIDB_TERM_LANGUAGE] ([GUID]) +GO + +ALTER TABLE [dbo].[TBIDB_LANGUAGE_TERM_METADATA] CHECK CONSTRAINT [FK_TBIDB_LTMD_LANG_TERM_ID] +GO + + +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID1] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[TEXT_TERM_LANG_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID] +ON [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ([LANG_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA2] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_TEXT_TERM_LANG_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[TEXT_TERM_LANG_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA3] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_[FLOAT_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[FLOAT_TERM_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID +ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID]) +INCLUDE ([GUID],[TEXT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) +INCLUDE ([GUID]) +GO +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) +INCLUDE ([CHANGED_WHEN]) +GO + +CREATE TABLE TBIDB_CONVERSATION_MESSAGE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + CONV_ID BIGINT NOT NULL, + TO_USER BIGINT NOT NULL DEFAULT 0, + FROM_USER BIGINT NOT NULL, + MESSAGE_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +--CREATE TABLE TBIDB_USER_SEARCH_CRITERIA +--( +-- GUID BIGINT NOT NULL IDENTITY (1, 1), +-- SEARCH_PROFIL_ID INTEGER NOT NULL, +-- USERID INTEGER NOT NULL, +-- ATTRIBUTE_ID INTEGER NOT NULL, +-- TERM_TEXT VARCHAR(900), +-- --TERM_DATE DATE, +-- --TERM_FLOAT FLOAT, +-- --TERM_DEC DECIMAL(19,2), +-- TERM_ID BIGINT, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CONSTRAINT PK_TBIDB_USER_SEARCH_CRITERIA_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +--) +--GO + + + +--CREATE TABLE TBIDB_SEARCH_CRITERIA_SAVE +--( +-- GUID BIGINT NOT NULL IDENTITY (1, 1), +-- SEARCH_PROFIL_ID INTEGER NOT NULL, +-- ATTRIBUTE_ID INTEGER NOT NULL, +-- TERM_TEXT VARCHAR(900), +-- --TERM_DATE DATE, +-- --TERM_FLOAT FLOAT, +-- --TERM_DEC DECIMAL(19,2), +-- TERM_ID BIGINT, +-- ADDED_WHO BIGINT, +-- ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), +-- CONSTRAINT PK_TBIDB_SEARCH_CRITERIA_SAVE_GUID PRIMARY KEY (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), +-- CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +--) +--GO +CREATE TABLE TBIDB_ACCESSRIGHT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL DEFAULT 0, + GRP_ID INTEGER NOT NULL DEFAULT 0, + ACCESSRIGHT INTEGER NOT NULL, + COMMENT VARCHAR(250), + ADDED_WHO BIGINT NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,GRP_ID,ACCESSRIGHT) +) +GO +CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID +ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_GRPID +ON [dbo].[TBIDB_ACCESSRIGHT] ([GRP_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE TABLE TBIDB_REFRESH_ON_APPSERVER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + ACCESSRIGHT INTEGER NOT NULL, + ADDED_WHO BIGINT NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID), + CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID) +) +GO +CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID +ON [dbo].[TBIDB_OBJECT] ([DELETED]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +--CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES +--( +-- GUID BIGINT NOT NULL IDENTITY (1, 1), +-- ATTRIBUTE_ID INTEGER NOT NULL, +-- ACTIVE BIT NOT NULL DEFAULT 1, +-- ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)', +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(100), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID), +-- CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID), +-- CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), +--) +--GO +--INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1); +--ALTER TABLE [TBIDB_FILE_OBJECT] +--ADD [FILE_HASH] VARCHAR(500) NOT NULL +--GO + +CREATE TABLE TBIDB_FILE_OBJECT +( + IDB_OBJ_ID BIGINT NOT NULL, + OBJ_ST_ID INTEGER NOT NULL, + EXTENSION_TERM_ID BIGINT NOT NULL, + RELPATH_TERM_ID BIGINT NOT NULL, + FILENAME_TERM_ID BIGINT NOT NULL, + FILE_SIZE BIGINT, + FILE_HASH VARCHAR(500) NOT NULL, + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_FILE_OBJECT PRIMARY KEY (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_FILE_OBJECT_OBJSTID FOREIGN KEY (OBJ_ST_ID) REFERENCES TBIDB_OBJECT_STORE (GUID), + CONSTRAINT FK_TBIDB_FILE_OBJECT_IDBOBJID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_FILE_OBJECT_EXTTID FOREIGN KEY (EXTENSION_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_FILE_OBJECT_RPTID FOREIGN KEY (RELPATH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_FILE_OBJECT_FNTID FOREIGN KEY (FILENAME_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +) +GO +CREATE TRIGGER TBIDB_FILE_OBJECT_AFT_UPD ON TBIDB_FILE_OBJECT +FOR UPDATE +AS + UPDATE TBIDB_FILE_OBJECT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_FILE_OBJECT.IDB_OBJ_ID = INSERTED.IDB_OBJ_ID +GO + + +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) +INCLUDE ([GUID]) +GO + + +CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) +INCLUDE ([CHANGED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA4] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA5] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DEC_TERM_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +/*########################### +######### FUNCTIONS ######### +#############################*/ +CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_ROWID] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False) +RETURNS @Output TABLE (ID INT IDENTITY(1, 1),TERM_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900) + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE) + + IF @DocID_ISFOREIGN = 1 + SELECT @DocID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + WHERE MD.ATTR_ID = @ATTR_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + AND MD.IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END +RETURN +END +GO + + +CREATE FUNCTION [dbo].[FNGetFileName] +( + @Path NVARCHAR(MAX) +) +RETURNS NVARCHAR(MAX) +AS +BEGIN + DECLARE @FileName NVARCHAR(MAX) + DECLARE @ReversedPath NVARCHAR(MAX) + + SET @ReversedPath = REVERSE(@Path) + SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1) + + RETURN @FileName +END +GO + + +CREATE FUNCTION [dbo].[FNGetFileNameWithoutExtension] +( + @Path NVARCHAR(MAX) +) +RETURNS NVARCHAR(MAX) +AS +BEGIN + DECLARE @FileName NVARCHAR(MAX) + DECLARE @ReversedPath NVARCHAR(MAX) + DECLARE @ExtLength INT + + SET @ReversedPath = REVERSE(@Path) + SELECT @ExtLength = CHARINDEX('.', @ReversedPath) + SELECT @FileName = RIGHT(@Path, CHARINDEX('\', @ReversedPath)-1) + SELECT @FileName = LEFT(@FileName, LEN(@FileName) - @ExtLength) + RETURN @FileName +END +GO + +CREATE FUNCTION [dbo].[FNGetDirectoryPath] +( + @Path NVARCHAR(MAX) +) +RETURNS NVARCHAR(MAX) +AS +BEGIN + DECLARE @FileName NVARCHAR(MAX) + DECLARE @ReversedPath NVARCHAR(MAX) + DECLARE @PathLength INT + + SET @ReversedPath = REVERSE(@Path) + SELECT @PathLength = CHARINDEX('\', @ReversedPath) + SELECT @FileName = LEFT(@Path, LEN(@Path) - @PathLength) + RETURN @FileName +END +GO + +CREATE FUNCTION [dbo].[FNGetExtension] +( + @Path NVARCHAR(MAX) +) +RETURNS NVARCHAR(MAX) +AS +BEGIN + DECLARE @FileName NVARCHAR(MAX) + DECLARE @ReversedPath NVARCHAR(MAX) + DECLARE @ExtLength INT + + SET @ReversedPath = REVERSE(@Path) + SET @FileName = '' + SELECT @ExtLength = CHARINDEX('.', @ReversedPath) + IF (@ExtLength > 0) + BEGIN + SELECT @FileName = RIGHT(@Path, @ExtLength - 1) + END + RETURN @FileName +END +GO +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @TERM_ID = T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE + T.TEXT_TERM_LANG_ID = T1.GUID AND + T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @RESULT VARCHAR(900) + + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +---------------------------------------------------- +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_TEXT_VECTOR] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS VARCHAR(5000) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000) + SEt @RESULT = '' + DECLARE c_REDO CURSOR FOR + SELECT T1.TEXT_TERM_ID FROM TBIDB_OBJECT_METADATA T, TBIDB_TERM_LANGUAGE T1 WHERE + T.TEXT_TERM_LANG_ID = T1.GUID AND + T.IDB_OBJ_ID = @IDB_OBJ_ID and T.ATTR_ID = @ATTR_ID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + IF @RESULT = '' + SET @RESULT = @RESULT_SING + ELSE + SET @RESULT += '; ' + @RESULT_SING + FETCH NEXT FROM c_REDO INTO @TERM_ID + END + CLOSE c_REDO + DEALLOCATE c_REDO + RETURN @RESULT +END +GO +CREATE FUNCTION FNIDB_GET_TERM_INTEGER_VECTOR (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS VARCHAR(5000) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT_SING VARCHAR(900), @RESULT VARCHAR(5000) + SEt @RESULT = '' + DECLARE c_REDO CURSOR FOR + SELECT INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @RESULT_SING = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID + IF @RESULT = '' + SET @RESULT = @RESULT_SING + ELSE + SET @RESULT += '; ' + @RESULT_SING + FETCH NEXT FROM c_REDO INTO @TERM_ID + END + CLOSE c_REDO + DEALLOCATE c_REDO + RETURN @RESULT +END +GO +CREATE FUNCTION FNIDB_GET_TERM_INTEGER (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS BIGINT +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +CREATE FUNCTION FNIDB_GET_TERM_BIT (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS BIT +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT BIT + SELECT @TERM_ID = INT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FLOAT] (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS FLOAT +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT FLOAT + SELECT @TERM_ID = FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +CREATE FUNCTION FNIDB_GET_TERM_DATE (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS DATE +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT DATE + SELECT @TERM_ID = DATE_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DATE WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +CREATE FUNCTION FNIDB_GET_TERM_DECIMAL (@IDB_OBJ_ID BIGINT,@ATTR_ID INTEGER) +RETURNS DECIMAL(19,0) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT DECIMAL(19,0) + SELECT @TERM_ID = DEC_TERM_ID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID and ATTR_ID = @ATTR_ID + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL WHERE GUID = @TERM_ID + RETURN @RESULT +END + +GO +CREATE FUNCTION [dbo].[FNGET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_PREFIX VARCHAR(50) + + SET @WM_PREFIX = '\\windream\objects' + + SELECT @FSFLAGS = dwFSFlags FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID + IF @FSFLAGS = 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FILE!' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + --select * from [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [windream60].[dbo].[BaseAttributes] WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WM_PREFIX + @RESULT + @DATEINAME + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE] (@DocID BIGINT, @ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10), @DocID_ISFOREIGN as BIT = False) +RETURNS @Output TABLE (TERM_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900), + @IDB_CREATED_WHEN DATETIME, + @IDB_CREATED_WHO VARCHAR(100), + @IDB_CHANGED_WHEN DATETIME, + @IDB_CHANGED_WHO VARCHAR(100) + + IF @DocID_ISFOREIGN = 1 + SELECT @DocID = IDB_OBJ_ID,@IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @DocID + ELSE + SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT + WHERE IDB_OBJ_ID = @DocID + + + IF @ATTRIBUTE like 'IDB%' + BEGIN + SELECT @IDB_CREATED_WHEN = ADDED_WHEN, @IDB_CREATED_WHO = ADDED_WHO, @IDB_CHANGED_WHEN = CHANGED_WHEN, @IDB_CHANGED_WHO = CHANGED_WHO FROM TBIDB_OBJECT + WHERE IDB_OBJ_ID = @DocID + IF @ATTRIBUTE = 'IDBCreatedWhen' + INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHEN) + ELSE IF @ATTRIBUTE = 'IDBCreatedWho' + INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CREATED_WHO) + ELSE IF @ATTRIBUTE = 'IDBChangedWhen' + INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHEN) + ELSE IF @ATTRIBUTE = 'IDBChangedWho' + INSERT INTO @Output (TERM_VALUE) VALUES (@IDB_CHANGED_WHO) + END + ELSE + BEGIN + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE) + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + WHERE MD.ATTR_ID = @ATTR_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + AND MD.IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (TERM_VALUE) + SELECT TERM.TERM_VALUE FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @ATTR_ID AND IDB_OBJ_ID = @DocID + END + END + RETURN +END +GO +------------------------------------------------------------------- +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID + RETURN @RESULT +END +GO +------------------------------------------------------------------- +CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900) + + SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = ( + SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID) + + SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES + WHERE GUID = @STATE_ID)) + RETURN @RESULT +END +GO +------------------------------------------------------------------- + +CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) +RETURNS + @Table TABLE + (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE @CONVID BIGINT + SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started' + IF @CONVID > 0 + BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID); + END + + IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID) + BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True'); + END + + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM + TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); + +RETURN +END +GO + +CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT) +RETURNS VARCHAR(500) +AS +BEGIN + DECLARE @RELPATH VARCHAR(500),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(500) + SELECT @RELPATH = [CAT_STRING] FROM [TBIDB_CATALOG] where CAT_TITLE = 'FILESTORE_PRAEFIX' + SELECT @NAVPATH = RELATIVE_PATH FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID + + RETURN @NAVPATH +END +GO + +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (@pTERMGUID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @RESULT = T.TERM_VALUE + FROM TBIDB_TERM_VALUE_VARCHAR T WHERE T.GUID = @pTERMGUID + RETURN @RESULT +END +GO + +-- ============================================= +-- Author: DD MS +-- Craeation date: 17.08.2020 MS [TBIDB_LANGUAGE_TERM_METADATA] +-- ============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (@pTBIDB_LANGUAGE_TERM_METADATA_GUID BIGINT,@pLANG_CODE VARCHAR(5) = 'de-DE') +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900),@LANG_ID INTEGER + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @RESULT = T3.TERM_VALUE -- @TERM_ID = T1.TEXT_TERM_ID + FROM TBIDB_LANGUAGE_TERM_METADATA T2 + INNER JOIN TBIDB_TERM_LANGUAGE T1 ON T2.LANG_TERM_ID = T1.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T1.TEXT_TERM_ID = T3.GUID + WHERE + T2.GUID = @pTBIDB_LANGUAGE_TERM_METADATA_GUID + AND T1.LANGUAGE_ID = @LANG_ID + --SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +-- ============================================= +-- Author: DD MS +-- Creation date: 17.08.2020 +-- ============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@pATTRIBUTE_ID INTEGER,@pLANG_CODE VARCHAR(10), @pUSERID INTEGER) +RETURNS @Output TABLE (IDB_OBJECT_ID BIGINT, TERM_VALUE VARCHAR(900),TERM_ID BIGINT,IDB_CREATED_WHEN DATETIME,IDB_CREATED_WHO VARCHAR(100)) +AS +BEGIN + DECLARE + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900), + @CREATED_WHEN DATETIME, + @CREATED_WHO VARCHAR(100) + + + BEGIN + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND T.GUID = @pATTRIBUTE_ID + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID + WHERE MD.ATTR_ID = @pATTRIBUTE_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM + TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE, TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + END + RETURN +END +GO + +--CREATE FUNCTION [dbo].[FNIDB_SEARCH_GET_FILTER_SQL] (@pSEARCH_ID INTEGER, @pUSERID INTEGER, @pLANG_CODE VARCHAR(5)) +--RETURNS NVARCHAR(MAX) +--AS +--BEGIN +-- DECLARE @ATTR_ID INTEGER, @ATTR_TITLE AS VARCHAR(100), @RUN TINYINT, @RESULT NVARCHAR(MAX), @RUN_ALIAS VARCHAR(2), @RUN_SELECT VARCHAR(500) +-- ,@RUN_FROM VARCHAR(500), @SELECT_PART NVARCHAR(MAX), @FROM_PART NVARCHAR(MAX),@SEPARATOR VARCHAR(1) +-- SET @RUN = 0 +-- SET @RUN_ALIAS = 'T' +-- SET @SELECT_PART = 'SELECT ' +-- SET @FROM_PART = '' +-- DECLARE cursAttribute CURSOR LOCAL FOR +-- SELECT ATTRIBUTE_ID,ATTRIBUTE_TITLE +-- FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_ID ORDER BY SEQUENCE +-- OPEN cursAttribute +-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- SET @RUN_SELECT = '' +-- SET @RUN_FROM = '' +-- IF @RUN = 0 +-- BEGIN +-- SET @RUN_SELECT = 'T.IDB_OBJECT_ID, T.TERM_VALUE AS [' + @ATTR_TITLE + ']' +-- SET @RUN_FROM = CHAR(10) + 'FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') T' +-- END +-- ELSE +-- BEGIN +-- SET @RUN_SELECT = ', ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + '.TERM_VALUE AS [' + @ATTR_TITLE + ']' +-- SET @RUN_FROM = CHAR(10) + 'INNER JOIN [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) +-- SET @RUN_FROM += ' ON T.IDB_OBJECT_ID = T' + CONVERT(VARCHAR(2), @RUN) + '.IDB_OBJECT_ID' +-- END +-- SET @SELECT_PART += @RUN_SELECT +-- SET @FROM_PART += @RUN_FROM + +-- SET @RUN += 1 +-- FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE +-- END +-- CLOSE cursAttribute +-- DEALLOCATE cursAttribute +-- SET @RESULT = @SELECT_PART + @FROM_PART + + +-- RETURN @RESULT +--END +--GO +-- ======================================================= +-- Author: Digital Data, DD MS +-- Create Date: 22.10.2020 +-- Gunction returns all values for parameterized Attribute +-- ======================================================= +CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10)) +RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900) + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE) + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END +RETURN +END +GO + --============================================= + --Author: Digital Data MS + --Creation date: 22.10.2020 + --============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_SEARCH_PROFILES] (@pUSERID INT, @pLANGCODE VARCHAR(5)) +RETURNS @Output TABLE (SEARCH_PROFILE_ID INTEGER,TITLE VARCHAR(100),RESULT_SQL VARCHAR(915),PSOURCE VARCHAR(50)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900), + @IDB_CREATED_WHEN DATETIME, + @IDB_CREATED_WHO VARCHAR(100), + @IDB_CHANGED_WHEN DATETIME, + @IDB_CHANGED_WHO VARCHAR(100) + + INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE) + SELECT + T.GUID + ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T2.SEARCH_TERM_ID) AS RESULT_SQL + ,'TBIDB_SEARCH_PROFILE_USER' + FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID + INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T2 ON T.GUID = T2.SEARCH_PROFIL_ID + INNER JOIN TBIDB_LANGUAGE T3 ON T2.LANGUAGE_ID = T3.GUID + WHERE T1.USER_ID = @pUSERID AND UPPER(T3.LANG_CODE) = UPPER(@pLANGCODE) + + INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE) + SELECT + T.GUID + ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (T.TITLE_ID,@pLANGCODE) AS TITLE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T4.SEARCH_TERM_ID) AS RESULT_SQL + ,'TBIDB_SEARCH_PROFILE_GROUP' + FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID + INNER JOIN DD_ECM.dbo.TBDD_GROUPS T2 ON T1.GROUP_ID = T2.GUID + INNER JOIN DD_ECM.dbo.TBDD_GROUPS_USER T3 ON T2.GUID = T3.GROUP_ID + INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T4 ON T.GUID = T4.SEARCH_PROFIL_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T3.GUID + WHERE T3.USER_ID = @pUSERID AND UPPER(T5.LANG_CODE) = UPPER(@pLANGCODE) + RETURN +END +GO +--CREATE FUNCTION [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@pUSERID INT,@PSEARCHID INT) +----DECLARE @pUSERID INT,@PSEARCHID INT +----SET @pUSERID =1 +----SET @PSEARCHID = 7 +--RETURNS @TBRESULT TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200)) +--AS +--BEGIN +-- DECLARE +-- @GUID BIGINT,@ATTR_ID INT,@LASTATTR_ID INT ,@ATTR_TITLE VARCHAR(100),@RUN TINYINT,@COUNT_ATTRIBUTES TINYINT +-- ,@RESTRICTIONSYN BIT + +-- SET @LASTATTR_ID = 0 +-- DECLARE @TBRESULT_RESTRICTION TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200)) +-- select @COUNT_ATTRIBUTES = COUNT(T.USERID) +-- from +-- VWIDB_SEARCH_ATTRIBUTES_USER T +-- WHERE +-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID + +-- SET @RUN = 1 +-- DECLARE cursorSearchAttributes CURSOR FOR +-- select +-- T.ATTRIBUTE_ID,T.TITLE +-- from +-- VWIDB_SEARCH_ATTRIBUTES_USER T +-- WHERE +-- T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID + +-- ORDER BY T.SEQUENCE +-- OPEN cursorSearchAttributes +-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- DECLARE @SEARCH_DEF_ID BIGINT, @TERM_ID BIGINT +-- DECLARE cursorDetailAttribute CURSOR FOR +-- select +-- T.GUID,T.TERM_ID +-- from +-- TBIDB_USER_SEARCH_CRITERIA T +-- WHERE +-- T.SEARCH_PROFIL_ID = 7 AND T.USERID = 1 AND T.ATTRIBUTE_ID = @ATTR_ID +-- OPEN cursorDetailAttribute +-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- INSERT INTO @TBRESULT_RESTRICTION ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE) +-- SELECT @SEARCH_DEF_ID, IDB_OBJECT_ID, @ATTR_ID, @ATTR_TITLE +-- FROM +-- FNIDB_GET_TERM_FOR_ATTRIBUTE_ID (@ATTR_ID,'de-DE',@pUSERID) +-- WHERE +-- TERM_ID = @TERM_ID +-- --SELECT * FROM @TBRESULT_RESTRICTION +-- FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID +-- END +-- CLOSE cursorDetailAttribute +-- DEALLOCATE cursorDetailAttribute +-- --PRINT 'FIRST SEARCH ROW' +-- --PRINT @TBRESULT_RESTRICTION +-- --PRINT '@COUNT_ATTRIBUTES: ' + CONVERT(VARCHAR(2),@COUNT_ATTRIBUTES) +-- --PRINT '@RUN: ' + CONVERT(VARCHAR(2),@RUN) +-- IF @RUN = 1 +-- INSERT INTO @TBRESULT ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE, COMMENT) +-- SELECT * FROM @TBRESULT_RESTRICTION +-- ELSE +-- IF @COUNT_ATTRIBUTES = @RUN +-- BEGIN +-- -- --#### Now deleting the Results which are not part of the restriction +-- --PRINT 'DELETE AS THIS IS THE LAST RUN PER ATTRIBUTE' +-- DELETE FROM @TBRESULT WHERE IDB_OBJ_ID NOT IN ( +-- SELECT IDB_OBJ_ID FROM @TBRESULT_RESTRICTION) +-- -- UPDATE T +-- -- SET +-- -- T.RUN = T1.RUN +-- -- FROM +-- -- @TBRESULT T INNER JOIN +-- -- @TBRESULT_RESTRICTION T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID +-- END +-- SET @RUN +=1 +-- SET @LASTATTR_ID = @ATTR_ID +-- DELETE FROM @TBRESULT_RESTRICTION +-- FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE +-- END +-- CLOSE cursorSearchAttributes +-- DEALLOCATE cursorSearchAttributes +--RETURN +----select DISTINCT IDB_OBJ_ID from @TBRESULT ORDER BY IDB_OBJ_ID +--END +--GO +/*######################################### +############## VIEWS ###################### +###########################################*/ +CREATE VIEW VWIDB_OBJECT_STORE +AS +SELECT + A.GUID, + A.OBJECT_TITLE AS Objectstore, + A.IS_ARCHIVE Archive + ,B.CAT_STRING As REL_PATH + ,A.ADDED_WHEN + ,A.ADDED_WHO + ,A.CHANGED_WHO + ,A.CHANGED_WHEN +FROM + TBIDB_OBJECT_STORE A INNER JOIN TBIDB_CATALOG B ON A.CAT_ID = B.GUID +GO +CREATE VIEW [dbo].[VWIDB_VALUE_CHANGE_LOG] AS +select + T.GUID AS ChangeID, + T1.GUID AS AttributID, + T.IDB_OBJ_ID, T1.TITLE as Attribut, + T3.TERM_VALUE as [CREATE Wert], + T5.TERM_VALUE as [Neuer Wert], + T.CHANGED_WHO [Geändert wer], + T.CHANGED_WHEN [Geändert wann] +from TBIDB_OBJECT_METADATA_CHANGE T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID +GO +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_BIT] AS +SELECT + T.GUID AS MetadataID, + T.ATTR_ID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + (SELECT [dbo].[FNIDB_GET_TERM_BIT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value', + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'BIT' +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DATE] AS +SELECT + T.GUID AS MetadataID, + T.ATTR_ID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + (SELECT [dbo].[FNIDB_GET_TERM_DATE] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value', + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN + +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'DATE' +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_DECIMAL] AS +SELECT + T.GUID AS MetadataID, + T.ATTR_ID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + (SELECT [dbo].[FNIDB_GET_TERM_DECIMAL] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value', + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'DECIMAL' +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_FLOAT] AS +SELECT + T.GUID AS MetadataID, + T.ATTR_ID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + (SELECT [dbo].[FNIDB_GET_TERM_FLOAT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value', + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'FLOAT' +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_INTEGER] AS +SELECT + T.GUID AS MetadataID, + T.ATTR_ID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + (SELECT [dbo].[FNIDB_GET_TERM_INTEGER] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value', + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'BIG INTEGER' +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT] AS +SELECT + T.IDB_OBJ_ID + ,T.ATTR_ID + ,T1.TITLE ATTR_NAME + ,(SELECT [dbo].[FNIDB_GET_TERM_TEXT] (T.IDB_OBJ_ID,T.ATTR_ID)) AS 'Term_Value' +FROM + TBIDB_OBJECT_METADATA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +WHERE + T2.NAME_TYPE = 'VARCHAR' +GO + + +CREATE VIEW [dbo].[VWIDB_VALUE_DELETE_LOG] AS +select + T.GUID AS DeleteID, + T1.GUID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + T3.TERM_VALUE as [Gelöschter Wert], + T.DELETED_WHO [Gelöscht wer], + T.DELETED_WHEN [Gelöscht wann] +from TBIDB_OBJECT_METADATA_DELETE T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID +GO +CREATE VIEW [dbo].[VWIDB_VALUE_TEXT] AS +select TOP 100 PERCENT + T.GUID AS MetadataID, + T1.GUID AS AttributID, + T.IDB_OBJ_ID, + T1.TITLE as Attribut, + T3.TERM_VALUE, + T4.LANG_CODE, + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO [Geändert wer], + T.CHANGED_WHEN [Geändert wann] +from TBIDB_OBJECT_METADATA T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID + INNER JOIN TBIDB_LANGUAGE T4 ON T2.LANGUAGE_ID = T4.GUID +ORDER BY + T.IDB_OBJ_ID,T1.TITLE +GO + +CREATE VIEW [dbo].[VWIDB_OBJ_VALUE_TEXT_SORTED] as +SELECT TOP 100 PERCENT + *, [Geändert wann] as LAST_CHANGE +FROM + VWIDB_VALUE_TEXT where [Geändert wann] IS NOT NULL +UNION +SELECT TOP 100 PERCENT + *, [ADDED_WHEN] as LAST_CHANGE +FROM + VWIDB_VALUE_TEXT where [Geändert wann] IS NULL +ORDER BY IDB_OBJ_ID DESC,LAST_CHANGE DESC +GO +CREATE VIEW VWIDB_OBJECTSTORE AS +SELECT + T.GUID As OST_ID, + T.OBJECT_TITLE AS OS_TITLE, + T.IS_ARCHIVE AS OS_IS_ARCHIVE, + T1.CAT_STRING AS IDB_PRAEFIX +FROM +TBIDB_OBJECT_STORE T + INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID +GO + +CREATE VIEW VWIDB_CONVERSATION AS +SELECT + GUID As CONVERSATION_ID + ,IDB_OBJ_ID + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE + ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO + ,ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO + ,CHANGED_WHEN +FROM TBIDB_CONVERSATION_OBJECT +GO +CREATE VIEW VWIDB_CONV_MESSAGES AS +select + T.GUID, + T.CONV_ID, + (SELECT EMAIL FROM @MY_DD_ECM_DB.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER, + [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO + ,T.ADDED_WHEN +from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID +GO + +CREATE VIEW VWIDB_CONVERSATION_USER AS +SELECT + T.CONV_ID + ,T1.GUID As USER_ID + ,T1.USERNAME + ,T1.EMAIL + ,T1.NAME + ', ' + T1.PRENAME as NAME +FROM + [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T + INNER JOIN @MY_DD_ECM_DB.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID +WHERE IS_USER = 1 +GO + +--CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS +--SELECT +-- T.SEARCH_PROFIL_ID, +-- T.GUID, +-- T.ATTRIBUTE_ID, +-- --T.DEPENDING_ATTRIBUTE1, +-- T1.TITLE AS ATTRIBUTE_TITLE, +-- T.HEIGHT, +-- T.WIDTH, +-- T.MULTISELECT, +-- T2.NAME_TYPE AS ATTRIBUTE_TYPE +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO +-- ,T.ADDED_WHEN +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO +-- ,T.CHANGED_WHEN +-- ,T.[SEQUENCE] +--FROM +-- TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID +-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +--GO + +--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_LINKS AS +--SELECT +-- T1.SEARCH_PROFIL_ID, +-- T.GUID, +-- T.DEP_ATTR_ID, +-- --T.DEPENDING_ATTRIBUTE1, +-- T3.TITLE AS DEP_ATTRIBUTE_TITLE, +-- [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T1.SOURCE_SQL) DEP_SOURCE_SQL, +-- T.LINKED_ATTR_ID +-- --T.DEPENDING_ATTRIBUTE1, +-- ,T5.TITLE AS LINK_ATTRIBUTE_TITLE +-- ,T.ADDED_WHEN +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO +-- ,T.CHANGED_WHEN +--FROM +-- TBIDB_SEARCH_ATTRIBUTES_LINKS T INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T1 ON T.DEP_ATTR_ID = T1.ATTRIBUTE_ID +-- --INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.LINKED_ATTR_ID = T2.ATTRIBUTE_ID +-- INNER JOIN TBIDB_ATTRIBUTE T3 ON T.DEP_ATTR_ID = T3.GUID +-- INNER JOIN TBIDB_ATTRIBUTE T5 ON T.LINKED_ATTR_ID = T5.GUID + +--GO + + + + + +--CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_USER +--AS +-- select TOP 100 PERCENT +-- T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE +-- from +-- TBIDB_USER_SEARCH_CRITERIA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID +-- INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.SEARCH_PROFIL_ID = T2.SEARCH_PROFIL_ID AND T.ATTRIBUTE_ID = T2.ATTRIBUTE_ID +-- GROUP BY T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE +-- ORDER BY T.USERID, T.SEARCH_PROFIL_ID, T2.SEQUENCE +--GO +CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS +select + T.GUID AS ChangeID, + T.IDB_OBJ_ID, + T1.TITLE as Attribute, + T3.TERM_VALUE as [Old value], + T5.TERM_VALUE as [New value], + T.CHANGED_WHO [Changed who], + T.CHANGED_WHEN [Changed when] +from TBIDB_OBJECT_METADATA_CHANGE T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID +GO +--CREATE VIEW [dbo].[VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE] AS +--select +-- MD.IDB_OBJ_ID +-- ,TLANG.LANGUAGE_ID +-- ,TERM.TERM_VALUE +-- ,TERM_ATTR.TERM_VALUE AS ATTRIBUTE_TITLE +-- ,ATTR.GUID AS ATTRIBUTE_ID +--FROM +-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID +-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID +-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID +-- INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID +-- INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID +-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE ATTR_LANG ON ATTR.GUID = ATTR_LANG.ATTRIBUTE_ID +-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR TERM_ATTR ON ATTR_LANG.TERM_ID = TERM_ATTR.GUID +--WHERE +-- CAT_ATTR.ACTIVE = 1 +--GO +USE DD_ECM +GO + +CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T5.OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_GROUPS_USER T1, + DD_ECM.dbo.TBDD_GROUPS T2, + DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4, + IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID = T5.DOCTYPE_ID AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T5.OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_USER_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4, + IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID = T5.DOCTYPE_ID AND + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO +CREATE VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T5.OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_DOKUMENTART T4, + IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T4.GUID = T5.DOCTYPE_ID AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + + +/*########################################### +############## PROCEDURES ################### +#############################################*/ + + +-- ============================================= +-- Author: DD MS +-- Changed: 25.11.2021 @TERM_TYPE_ID = 6 +-- Changed: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM) +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT +AS +BEGIN + DECLARE @TERM_TYPE_ID TINYINT + + SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE) + IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE' + SET @TERM = 1 + ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE' + SET @TERM = 0 + --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM + IF @TERM_TYPE_ID IN (1,8) --VARCHAR + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_VARCHAR + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM) + ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM) + ELSE IF @TERM_TYPE_ID = 3 --FLOAT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM) + ELSE IF @TERM_TYPE_ID = 4 --DECIMAL + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM) + ELSE IF @TERM_TYPE_ID = 5 --DATE + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM) + ELSE IF @TERM_TYPE_ID = 6 --DATETIME + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATETIME WHERE TERM_VALUE = CONVERT(DATETIME,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DATETIME (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATETIME,@TERM),@WHO); + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATETIME + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM) + + PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###' +END +GO + + +CREATE PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO) + SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID + + IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) + INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID) + IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)) + INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES ( + (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) + ,@LANG_STATE_TERM_ID + ,@ADDED_WHO_TERM_ID) + + SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID +END +GO +EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE'; +EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE'; +GO + +CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @ATTR_TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @TEXT_TERM_LANG_ID BIGINT, + @TERM_ID BIGINT, + @USER_DELETE_ID INTEGER, + @ERROR as BIT + SET @ERROR = 0 + SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO) + + SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + IF @ATTR_TYP_ID IN (1,8) --VARCHAR + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + INNER JOIN TBIDB_TERM_LANGUAGE T1 + ON T.TEXT_TERM_LANG_ID=T1.GUID + WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + + END TRY + BEGIN CATCH + PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + + ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 3 --FLOAT + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 4 --DECIMAL + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 5 --DATE + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID AND T.IDB_OBJ_ID = @IDB_OBJ_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + --IF @ERROR = 0 + -- BEGIN + -- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID; + -- END +END +GO + +CREATE PROCEDURE [dbo].[PRIDB_OBJECT_SET_DELETED] @IDB_OBJECT BIGINT, @WHO VARCHAR(100) +AS +BEGIN + UPDATE TBIDB_OBJECT SET DELETED = 1,CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJECT +END +GO + + +CREATE PROCEDURE [dbo].[PRIDB_CHECK_DOCINFO] @IDB_OBJ_ID BIGINT, @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID_OUT BIGINT OUTPUT +AS +BEGIN + DECLARE + @SHARE_PATH VARCHAR(100), + @OBJ_STORE_PATH VARCHAR(250), + @NEW_FULL_PATH VARCHAR(512), + @FILENAME_EXT VARCHAR(250), + @FILENAME_ONLY VARCHAR(250), + @RELATIVE_PATH VARCHAR(512), + @RELATIVE_PATH_ONLY VARCHAR(512), + @EXT VARCHAR(10) + + SELECT + @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH + FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID + SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) + SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') + SET @RELATIVE_PATH = UPPER(@REL_PATH) + PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH + + + SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); + SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); + SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); + SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') + DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY + --PRINT '@EXT: ' + @EXT + + IF EXISTS(SELECT GUID FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + UPDATE [TBIDB_DOC_INFO] SET [OBJ_ST_ID] = @OBJ_ST_ID, [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY + ,EXTENSION_TERM = @EXTENSION_TERM + ,[RELATIVE_PATH] = @RELATIVE_PATH + ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + ELSE + BEGIN + INSERT INTO [dbo].[TBIDB_DOC_INFO] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,[FILENAME_EXT] + ,[FILENAME_ONLY] + ,EXTENSION_TERM + ,[RELATIVE_PATH] + ,RELATIVE_PATH_ONLY_TERM + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@FILENAME_EXT + ,@FILENAME_ONLY + ,@EXTENSION_TERM + ,@RELATIVE_PATH + ,@RELATIVE_PATH_ONLY_TERM + ,@WHO) + END + SET @IDB_OBJ_ID_OUT = @IDB_OBJ_ID +END +GO +CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), +@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT + --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) + IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY) + BEGIN + PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) + END + ELSE + BEGIN + SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY + --Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID) + END + + END + + IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)) + RAISERROR ('NO VALID ATTRIBUTE',16,1) + + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + + DECLARE @MY_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT; + --PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID) + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO) + + SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID + + IF @TYP_ID = 1 --Single Varchar + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[TEXT_TERM_LANG_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID + END + ELSE + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID) + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[TEXT_TERM_LANG_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + --ELSE + --PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID) + + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[INT_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[FLOAT_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[DEC_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[DATE_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + END + --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID) +END +GO +CREATE PROCEDURE [dbo].[PRIDB_CREATE_VIEW_DOC_DATA] @pLANGCODE VARCHAR(5) +AS +DECLARE + @ATTR_ID INT, + @TITLE VARCHAR(100), + @TYPID INT, + @SQL1 NVARCHAR(MAX), + @Date Varchar(20), + @Bool4 Varchar(1), + @Integer24 Varchar(20), + @Float Varchar(20), + @RELPATH Varchar(200) + + SET @SQL1 = 'CREATE VIEW VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ' AS '+ char(10) + 'SELECT ' + char(10) + ' T.IDB_OBJ_ID' + char(10) +BEGIN + DECLARE c_REDO CURSOR FOR + SELECT ATTR_ID,ATTR_TITLE,TYPE_ID + FROM VWIDB_BE_ATTRIBUTE WHERE VIEW_VISIBLE = 1 AND LANG_CODE = @pLANGCODE ORDER BY VIEW_SEQUENCE + + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @FN_COMMAND as VARCHAR(100), @FN_TYP as VARCHAR(50) + SET @FN_COMMAND = '(SELECT [dbo].[FNIDB_GET_TERM_@TYPE] (@OBJ_ID,@ATTR_ID))' + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@OBJ_ID','T.IDB_OBJ_ID') + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@ATTR_ID',@ATTR_ID) + IF @TYPID = 1 + SET @FN_TYP = 'TEXT' + ELSE IF @TYPID = 2 + SET @FN_TYP = 'INTEGER' + ELSE IF @TYPID = 3 + SET @FN_TYP = 'FLOAT' + ELSE IF @TYPID = 4 + SET @FN_TYP = 'DECIMAL' + ELSE IF @TYPID = 5 + SET @FN_TYP = 'DATE' + ELSE IF @TYPID = 7 + SET @FN_TYP = 'BIT' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'TEXT_VECTOR' + ELSE IF @TYPID = 8 + SET @FN_TYP = 'INTEGER_VECTOR' + + SET @FN_COMMAND = REPLACE(@FN_COMMAND,'@TYPE',@FN_TYP) + SET @SQL1 += char(9) + ',' + @FN_COMMAND + char(9) + char(9) + ' AS ''' + @TITLE + '''' + char(10) + + FETCH NEXT FROM c_REDO INTO @ATTR_ID,@TITLE,@TYPID + END + CLOSE c_REDO + DEALLOCATE c_REDO + SET @SQL1 += char(9) + ',T5.TERM_VALUE AS DocExtension' + char(10) + + char(9) + ',T5.TERM_VALUE AS DocName' + char(10) + + char(9) + ',CONCAT(T4.TERM_VALUE,''\'',T5.TERM_VALUE) AS DocRelativePath' + char(10) + + char(9) + ',T4.TERM_VALUE AS DocRelativePathOnly' + char(10) + + char(9) + ',T2.ADDED_WHEN' + char(10) + + char(9) + ',T2.ADDED_WHO' + char(10) + + char(9) + ',T2.CHANGED_WHO' + char(10) + + char(9) + ',T2.CHANGED_WHEN' + char(10) + + 'FROM' + char(10) + + char(9) + 'TBIDB_OBJECT T INNER JOIN TBIDB_FILE_OBJECT T2 ON T.IDB_OBJ_ID = T2.IDB_OBJ_ID' + char(10) + + char(9) + 'INNER JOIN TBIDB_OBJECT_STORE T3 ON T2.OBJ_ST_ID = T3.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T4 ON T2.RELPATH_TERM_ID = T4.GUID' + char(10) + + char(9) + 'INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T2.FILENAME_TERM_ID = T5.GUID' + char(10) + + 'WHERE KIND_TYPE_ID = 1 AND DELETED = 0 AND ACTIVE = 1' + PRINT @SQL1 + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = 'VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2))) + BEGIN + DECLARE @DELETE NVARCHAR(100) + SET @DELETE = 'DROP VIEW [dbo].[VWIDB_DOC_DATA_' + UPPER(LEFT(@pLANGCODE,2)) + ']' + EXEC sp_executesql @DELETE + END + EXEC sp_executesql @SQL1 +END +GO + +CREATE PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT + --IF @ID_ISFOREIGN = 1 + -- BEGIN + -- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID + -- END + + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + + DECLARE @MY_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT; + + PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID) + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + PRINT 'Attribute is varchar...' + SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID + END + ELSE + PRINT 'TERM SEEMS NOT TO EXIST' + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + END + END + + +END +GO + +CREATE PROCEDURE [dbo].[PRIDB_DELETE_ATTRIBUTE] @ATTRIBUTE VARCHAR(100), @WHO VARCHAR(100) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @ATTR_TYP_ID TINYINT, + @IDB_OBJ_ID BIGINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @TEXT_TERM_LANG_ID BIGINT, + @TERM_ID BIGINT, + @USER_DELETE_ID INTEGER, + @ERROR as BIT + SET @ERROR = 0 + SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO) + + SELECT @ATTR_ID = T.GUID,@ATTR_TYP_ID = T.TYP_ID FROM TBIDB_ATTRIBUTE T WHERE UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + IF @ATTR_TYP_ID IN (1,8) --VARCHAR + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.TEXT_TERM_LANG_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TEXT_TERM_LANG_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TEXT_TERM_LANG_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + INNER JOIN TBIDB_TERM_LANGUAGE T1 + ON T.TEXT_TERM_LANG_ID=T1.GUID + WHERE T.ATTR_ID = @ATTR_ID + + END TRY + BEGIN CATCH + PRINT 'ERROR WHILE DELETING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + + ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.INT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 3 --FLOAT + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.FLOAT_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 4 --DECIMAL + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.DEC_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 5 --DATE + BEGIN TRY + DECLARE cursor_DeleteLog CURSOR LOCAL FOR + SELECT T.IDB_OBJ_ID,T.DATE_TERM_ID FROM TBIDB_OBJECT_METADATA T WHERE T.ATTR_ID = @ATTR_ID + OPEN cursor_DeleteLog + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO,USER_DELETE_ID) + VALUES (@IDB_OBJ_ID,@ATTR_ID, @TERM_ID, @WHO,@USER_DELETE_ID) + FETCH NEXT FROM cursor_DeleteLog INTO @IDB_OBJ_ID,@TERM_ID + END + CLOSE cursor_DeleteLog + DEALLOCATE cursor_DeleteLog + + DELETE T + FROM TBIDB_OBJECT_METADATA T + WHERE T.ATTR_ID = @ATTR_ID + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + DELETE FROM TBIDB_OBJECT_METADATA_DELETE WHERE USER_DELETE_ID = @USER_DELETE_ID + SET @ERROR = 1 + END CATCH + IF @ERROR = 0 + BEGIN + UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID; + END +END + +GO +--delete from TBIDB_CONVERSATION_OBJECT +CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO) + SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID + + IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID) + INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID) + DECLARE @STARTED_STATE BIGINT + SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started' + + DECLARE @CONVERSATION_ID BIGINT + SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID + + IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE) + INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID) +END +GO +CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + + + IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID) + INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID) +END +GO +CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + ,@ENDED_STATE BIGINT + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' + + DECLARE @WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; + + + IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE) + INSERT INTO TBIDB_MYOBJECT_STATES ( + MY_OBJECT_ID + ,STATE_ID + ,ADDED_WHO) VALUES ( + @pCONVID + ,@ENDED_STATE + ,@WHO_TERM_ID) +END +GO +CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100) +AS +BEGIN + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1) + INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID) + +END +GO + +CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO) + SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID + + --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID) + INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID) + +END +GO +CREATE PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT +AS +BEGIN + declare @TBTYPE_RESULT table(pTYPE varchar(10)) + DECLARE @oTYPE as Varchar(10) + SET @oType = 'NONE' + DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE + BEGIN TRY + SET @BIGINT = CONVERT(bigint,@pVALUE) + SET @oType = 'BIGINT' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO BIGINT' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @FLOAT = CONVERT(FLOAT,@pVALUE) + SET @oType = 'FLOAT' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO FLOAT' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE) + SET @oType = 'DECIMAL' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO DECIMAL' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @DATE = CONVERT(DATE,@pVALUE) + SET @oType = 'DATE' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO DATE' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @oType = 'VARCHAR' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO VARCHAR' + END CATCH + PRINT '@TYPE: ' + @oType + SELECT * FROM @TBTYPE_RESULT +END +GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE] @pSEARCHID INTEGER,@pATTRIBUTE_ID INTEGER,@pWHO_TERM_ID BIGINT,@pSequence INTEGER = 0 +--AS +--BEGIN +-- IF @pSequence = 0 +-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_RESULT_ATTRIBUTES +-- WHERE SEARCH_PROFIL_ID = @pSEARCHID +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID) +-- BEGIN +-- INSERT INTO TBIDB_SEARCH_RESULT_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SEQUENCE,ADDED_WHO) VALUES (@pSEARCHID,@pATTRIBUTE_ID,@pSequence, @pWHO_TERM_ID) +-- EXEC [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCHID,@pATTRIBUTE_ID,@pWHO_TERM_ID,0 +-- END + +-- ELSE +-- UPDATE TBIDB_SEARCH_RESULT_ATTRIBUTES SET SEQUENCE = @pSequence +-- WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID +-- --SELECT +-- -- T.GUID, +-- -- T.ATTRIBUTE_ID, +-- -- T1.TITLE +-- -- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO +-- -- ,T.ADDED_WHEN +-- --FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID +-- --WHERE SEARCH_PROFIL_ID = @pSEARCHID +--END +--GO + +--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_PROFILE] @BE_ID INT, @pTITLE VARCHAR(512),@pWHO_TERMID BIGINT,@pCOMMENT VARCHAR(900) = NULL, @pLANG_CODE VARCHAR(5) = 'de-DE' +--AS +--BEGIN +-- DECLARE +-- @LANG_ID INTEGER, @SQL_RESULT VARCHAR(912), +-- @SEARCH_ID INTEGER, +-- @WHO_TERM VARCHAR(100) + +-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID + + +-- SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE +-- DECLARE @MY_TITLE_TERM_ID BIGINT,@MY_LANG_TERM_ID BIGINT,@oLANGUAGE_TERM_METADATA_GUID BIGINT,@MY_RESULT_SQL_TERM_ID BIGINT +-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@WHO_TERM,@TERM_ID = @MY_TITLE_TERM_ID OUTPUT; +-- EXEC PRIDB_NEW_TERM_LANGUAGE @LANG_ID,@MY_TITLE_TERM_ID,@WHO_TERM,@TERM_LANGUAGE_GUID = @MY_LANG_TERM_ID OUTPUT +-- EXEC PRIDB_NEW_LANGUAGE_TERM_METADATA_GUID @MY_LANG_TERM_ID,@pWHO_TERMID,@oLANG_TERM_GUID = @oLANGUAGE_TERM_METADATA_GUID OUTPUT + +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID) +-- INSERT INTO TBIDB_SEARCH_PROFILE (TITLE_ID,ADDED_WHO,COMMENT) VALUES (@oLANGUAGE_TERM_METADATA_GUID,@pWHO_TERMID,@pCOMMENT) +-- ELSE +-- UPDATE TBIDB_SEARCH_PROFILE SET +-- COMMENT = @pCOMMENT,CHANGED_WHO = @pWHO_TERMID WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID AND COMMENT <> @pCOMMENT + +-- SELECT @SEARCH_ID = MAX(GUID) FROM TBIDB_SEARCH_PROFILE T +-- WHERE T.TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID + +-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename, * FROM VWIDB_DOC_DATA WHERE ' +-- DECLARE @ATTR_ID INT,@SEQUENCE TINYINT +-- SET @SEQUENCE = 0 + +-- DECLARE cursorDefaultAttributes CURSOR FOR +-- SELECT +-- T1.GUID +-- FROM TBIDB_ATTRIBUTE T1 INNER JOIN TBIDB_BE_ATTRIBUTE T2 ON T1.GUID = T2.ATTR_ID +-- WHERE T2.BE_ID = @BE_ID AND DEFAULT_SEARCH_ATTRIBUTE = 1 +-- ORDER BY T1.VIEW_SEQUENCE +-- OPEN cursorDefaultAttributes +-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- IF NOT EXISTS (SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND ATTRIBUTE_ID = @ATTR_ID) +-- EXEC PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE @SEARCH_ID,@ATTR_ID,@pWHO_TERMID,@SEQUENCE +-- SET @SEQUENCE += 1 +-- FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID +-- END +-- CLOSE cursorDefaultAttributes +-- DEALLOCATE cursorDefaultAttributes + +-- SELECT +-- T.GUID,T.TITLE_ID +-- ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANG_CODE) AS TITLE +-- --,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.RESULT_SQL) AS RESULT_SQL +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO +-- ,T.ADDED_WHEN +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO +-- ,T.CHANGED_WHEN +-- FROM TBIDB_SEARCH_PROFILE T +-- WHERE GUID = @SEARCH_ID +--END +--GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_SQL_RESULT] @SEARCH_ID INT,@pWHO_TERMID BIGINT +--AS +--BEGIN +-- DECLARE +-- @LANG_ID TINYINT, +-- @SQL_RESULT VARCHAR(912), +-- @WHO_TERM VARCHAR(100), +-- @MY_RESULT_SQL_TERM_ID BIGINT +-- SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID + +-- DECLARE cursorLang CURSOR FOR +-- select GUID from TBIDB_LANGUAGE WHERE CREATE_DEFAULT_ENTRY = 1 +-- OPEN cursorLang +-- FETCH NEXT FROM cursorLang INTO @LANG_ID +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename' +-- DECLARE @ATTR_TITLE VARCHAR(100) +-- DECLARE cursorSRA CURSOR FOR +-- SELECT T3.TERM_VALUE +-- FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID +-- INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T2 ON T1.GUID = T2.ATTRIBUTE_ID +-- INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID +-- WHERE T.SEARCH_PROFIL_ID = @SEARCH_ID --@SEARCH_ID +-- AND T2.LANGUAGE_ID = @LANG_ID +-- ORDER BY T.SEQUENCE +-- OPEN cursorSRA +-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- SET @SQL_RESULT += ', T.[' + @ATTR_TITLE + ']' +-- FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE +-- END +-- CLOSE cursorSRA +-- DEALLOCATE cursorSRA +-- SET @SQL_RESULT += ' FROM VWIDB_DOC_DATA T INNER JOIN [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@UserID,@SearchID) T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID ' +-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SQL_RESULT,@WHO_TERM,@TERM_ID = @MY_RESULT_SQL_TERM_ID OUTPUT; +-- PRINT @SQL_RESULT +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_LANGUAGE_SQL_RESULT WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID) +-- INSERT INTO TBIDB_SEARCH_LANGUAGE_SQL_RESULT (SEARCH_PROFIL_ID,LANGUAGE_ID,SEARCH_TERM_ID,ADDED_WHO) VALUES +-- (@SEARCH_ID,@LANG_ID,@MY_RESULT_SQL_TERM_ID,@pWHO_TERMID) +-- ELSE +-- UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET SEARCH_TERM_ID = @MY_RESULT_SQL_TERM_ID,CHANGED_WHO = @pWHO_TERMID WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID + +-- FETCH NEXT FROM cursorLang INTO @LANG_ID +-- END +-- CLOSE cursorLang +-- DEALLOCATE cursorLang + +--END +--GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_USER] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pWHO_TERM_ID BIGINT +--AS +--BEGIN +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_USER WHERE USER_ID = @pUSER_ID AND SEARCH_PROFIL_ID = @pSEARCHID) +-- INSERT INTO TBIDB_SEARCH_PROFILE_USER (USER_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pUSER_ID,@pWHO_TERM_ID,@pSEARCHID) +-- SELECT +-- GUID,USER_ID,SEARCH_PROFIL_ID +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO +-- ,ADDED_WHEN +-- FROM TBIDB_SEARCH_PROFILE_USER +-- WHERE SEARCH_PROFIL_ID = @pSEARCHID + +--END +--GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_GROUP] @pSEARCHID INTEGER,@pGROUP_ID INTEGER,@pWHO_TERM_ID BIGINT +--AS +--BEGIN +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_GROUP WHERE GROUP_ID = @pGROUP_ID AND SEARCH_PROFIL_ID = @pSEARCHID) +-- INSERT INTO TBIDB_SEARCH_PROFILE_GROUP (GROUP_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pGROUP_ID,@pWHO_TERM_ID,@pSEARCHID) +-- SELECT +-- GUID,GROUP_ID,SEARCH_PROFIL_ID +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO +-- ,ADDED_WHEN +-- FROM TBIDB_SEARCH_PROFILE_GROUP +-- WHERE SEARCH_PROFIL_ID = @pSEARCHID + +--END +--GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCH_PROFIL_ID INTEGER,@pATTRIBUTE_ID INTEGER,@MULTISELECT BIT, @WHO_TERM_ID INTEGER, @pSEQUENCE INTEGER,@pHEIGHT SMALLINT = 0,@pWIDTH SMALLINT = 0 +--AS +--BEGIN +-- DECLARE @pWHO_USERNAME VARCHAR(100),@USER_LANGUAGE VARCHAR(5),@USER_LANGUAGE_ID INT, @ATTRTYPE as VARCHAR(20)--,@USER_ID INTEGER +-- SELECT @pWHO_USERNAME = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @WHO_TERM_ID +-- SELECT @USER_LANGUAGE = LANGUAGE,@USER_LANGUAGE_ID = T1.GUID FROM @MY_DD_ECM_DB.dbo.TBDD_USER T INNER JOIN IDB_TEST.dbo.TBIDB_LANGUAGE T1 ON T.LANGUAGE = T1.LANG_CODE WHERE UPPER(USERNAME) = UPPER(@pWHO_USERNAME) + +-- SELECT @ATTRTYPE = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T INNER JOIN TBIDB_ATTRIBUTE_TYPE T1 ON T.TYP_ID = T1.GUID WHERE T.GUID = @pATTRIBUTE_ID + +-- IF @ATTRTYPE IN ('VARCHAR','BIG INTEGER') +-- BEGIN +-- IF @pHEIGHT = 0 +-- SET @pHEIGHT = 200 +-- IF @pWIDTH = 0 +-- SET @pWIDTH = 200 +-- END +-- ELSE IF @ATTRTYPE ='DATE' +-- BEGIN +-- IF @pHEIGHT = 0 +-- SET @pHEIGHT = 20 +-- IF @pWIDTH = 0 +-- SET @pWIDTH = 100 +-- END +-- ELSE IF @ATTRTYPE ='BIT' +-- BEGIN +-- IF @pHEIGHT = 0 +-- SET @pHEIGHT = 20 +-- IF @pWIDTH = 0 +-- SET @pWIDTH = 200 +-- END + +-- DECLARE @SOURCE_TERM_ID BIGINT,@SOURCE_DEFAULT_SQL VARCHAR(900) +-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE +-- FROM +-- TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID +-- INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID +-- INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID +-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +-- WHERE +-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' AND TLANG.LANGUAGE_ID = ' + CONVERT(VARCHAR(3),@USER_LANGUAGE_ID) + ' +-- AND OBJ.DELETED = 0 AND ACTIVE = 1' + +-- --IF @pDEPENDING_ATTRIBUTE1 <> 0 +-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@pUSER_ID) ','@pUSER_ID) where IDB_OBJECT_ID = @DEPENDING_IDB_OBJECT ') +-- --ELSE +-- -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@JOIN ','') +-- IF @ATTRTYPE = 'DATE' +-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE +-- FROM +-- TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.DATE_TERM_ID +-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +-- WHERE +-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' +-- AND OBJ.DELETED = 0 AND ACTIVE = 1' +-- ELSE IF @ATTRTYPE = 'BIG INTEGER' +-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE +-- FROM +-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID +-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +-- WHERE +-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' +-- AND OBJ.DELETED = 0 AND ACTIVE = 1' +-- ELSE IF @ATTRTYPE = 'BIT' +-- SET @SOURCE_DEFAULT_SQL = 'select DISTINCT CONVERT(BIT,TERM.TERM_VALUE) AS @RESULT_TITLE +-- FROM +-- TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID +-- INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID +-- WHERE +-- MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' +-- AND OBJ.DELETED = 0 AND ACTIVE = 1' +-- EXEC PRIDB_NEW_TERM 'VARCHAR',@SOURCE_DEFAULT_SQL,@pWHO_USERNAME,@TERM_ID = @SOURCE_TERM_ID OUTPUT; +-- IF @pSEQUENCE = 0 +-- SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID +-- IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID) +-- INSERT INTO TBIDB_SEARCH_PROFILE_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SOURCE_SQL, [SEQUENCE], ADDED_WHO,HEIGHT,WIDTH,MULTISELECT) +-- VALUES (@pSEARCH_PROFIL_ID,@pATTRIBUTE_ID,@SOURCE_TERM_ID,@pSEQUENCE, @WHO_TERM_ID,@pHEIGHT,@pWIDTH,@MULTISELECT) +-- ELSE +-- BEGIN + +-- UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET +-- SOURCE_SQL = @SOURCE_TERM_ID +-- ,[SEQUENCE] = @pSEQUENCE +-- ,HEIGHT = @pHEIGHT +-- ,WIDTH = @pWIDTH +-- ,MULTISELECT = @MULTISELECT +-- WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID +-- END +-- SELECT +-- T.SEARCH_PROFIL_ID, +-- T.GUID, +-- T.ATTRIBUTE_ID, +-- T1.TITLE AS ATTRIBUTE_TITLE, +-- T.MULTISELECT, +-- T.HEIGHT, +-- T.WIDTH, +-- T2.NAME_TYPE AS ATTRIBUTE_TYPE +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO +-- ,T.ADDED_WHEN +-- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO +-- ,T.CHANGED_WHEN +-- FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID +-- INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +-- WHERE T.SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID --AND ATTRIBUTE_ID = @pATTRIBUTE_ID +-- ORDER BY [SEQUENCE] +--END +--GO +-- ============================================= +-- Author: DD MS +-- Create date 05.11.2020 +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_NEW_TERM_FOR_ATTRIBUTE] @ATTRIBUTE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT +AS +BEGIN + DECLARE @TERM_TYPE_ID TINYINT + + SELECT @TERM_TYPE_ID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE) + IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE' + SET @TERM = 1 + ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE' + SET @TERM = 0 + --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM + IF @TERM_TYPE_ID IN (1,8) --VARCHAR + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO) + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM) + ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_INTEGER where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM) + ELSE IF @TERM_TYPE_ID = 3 --FLOAT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_FLOAT where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM) + ELSE IF @TERM_TYPE_ID = 4 --DECIMAL + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DECIMAL where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM) + ELSE IF @TERM_TYPE_ID = 5 --DATE + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DATE where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM) + + PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###' +END +GO +--CREATE PROCEDURE [dbo].[PRIDB_NEW_USER_SEARCH_CRITERIA] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pATTRIBUTE_ID INTEGER,@pTERM VARCHAR(900), @pWHO VARCHAR(100) +--AS +--BEGIN +-- DECLARE @WHO_TERM_ID BIGINT,@ATTR_TYPE INT, @ATTR_TERM_ID BIGINT,@ATTRIBUTE VARCHAR(100) +-- SELECT @ATTR_TYPE = TYP_ID,@ATTRIBUTE = TITLE FROM TBIDB_ATTRIBUTE WHERE GUID = @pATTRIBUTE_ID +-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; +-- EXEC PRIDB_NEW_TERM_FOR_ATTRIBUTE @ATTRIBUTE,@pTERM,@pWHO,@TERM_ID = @ATTR_TERM_ID OUTPUT; + +---- GUID NAME_TYPE + +----3 FLOAT +----4 DECIMAL +----5 DATE +----6 DATETIME + +----9 VECTOR INTEGER +-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA (SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, ADDED_WHO, TERM_TEXT, TERM_ID) VALUES +-- (@pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @WHO_TERM_ID, @pTERM, @ATTR_TERM_ID) +-- /*IF @ATTR_TYPE IN (1,2,7,8) +-- BEGIN +-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_TEXT, ADDED_WHO,TERM_ID) VALUES +-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @pTERM, @WHO_TERM_ID,@ATTR_TERM_ID) +-- END +-- ELSE IF @ATTR_TYPE = 5 +-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_DATE, ADDED_WHO,TERM_ID) VALUES +-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(Date,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID) +-- ELSE IF @ATTR_TYPE = 3 +-- INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_FLOAT, ADDED_WHO,TERM_ID) VALUES +-- ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(float,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID) +--*/ +--END +--GO +--CREATE PROCEDURE [dbo].[PRIDB_SEARCH_CRITERIA_SAVE] @pSEARCHID INTEGER,@pUserID INT, @pWHO VARCHAR(100) +--AS +--BEGIN +-- DECLARE @WHO_TERM_ID BIGINT +-- EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; +-- DELETE FROM TBIDB_SEARCH_CRITERIA_SAVE WHERE SEARCH_PROFIL_ID = @pSEARCHID + +-- INSERT INTO [dbo].[TBIDB_SEARCH_CRITERIA_SAVE] +-- ([SEARCH_PROFIL_ID] +-- ,[ATTRIBUTE_ID] +-- ,[TERM_TEXT] +-- ,TERM_ID +-- --,[TERM_DATE] +-- --,[TERM_FLOAT] +-- --,[TERM_DEC] +-- ,[ADDED_WHO]) +-- SELECT [SEARCH_PROFIL_ID] +-- ,[ATTRIBUTE_ID] +-- ,[TERM_TEXT] +-- ,TERM_ID +-- --,[TERM_DATE] +-- --,[TERM_FLOAT] +-- --,[TERM_DEC] +-- ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID +--END +--GO +-- ============================================= +-- Author: DD MS 15.03.2021 +-- Change date: +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_NEW_OBJECT] @KIND_TYPE VARCHAR(20),@WHO VARCHAR(100),@BE VARCHAR(500) = '',@FOREIGN_REFID Bigint = 0, @IDB_OBJ_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @KINDTYPE_ID TINYINT, + @BE_ID INTEGER + + SELECT @KINDTYPE_ID = GUID FROM TBIDB_OBJECT_KIND WHERE UPPER(KIND_NAME) = UPPER(@KIND_TYPE) + IF @BE = '' + SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE GUID = 1 + ELSE + SELECT @BE_ID = GUID FROM TBIDB_BUSINESS_ENTITY WHERE UPPER(TITLE) = UPPER(@BE) + + IF @FOREIGN_REFID <> 0 + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID) + SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_REFID + ELSE + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT] + ([KIND_TYPE_ID],[REFERENCE_KEY],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@FOREIGN_REFID,@WHO) + END + ELSE + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT] + ([KIND_TYPE_ID],[ADDED_WHO]) VALUES (@KINDTYPE_ID,@WHO) + END + SELECT @IDB_OBJ_ID = MAX(IDB_OBJ_ID) FROM TBIDB_OBJECT + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_BE WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND BE_ID = @BE_ID) + INSERT INTO TBIDB_OBJECT_BE (IDB_OBJ_ID,BE_ID, ADDED_WHO) VALUES (@IDB_OBJ_ID,@BE_ID, @WHO) +END +GO +-- ============================================= +-- Author: DD MS 15.03.2021 +-- Change: 13.07.2021 Filesize +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILE_NAME VARCHAR(200),@FILE_EXT VARCHAR(10), @FILE_SIZE BIGINT, @FILE_HASH VARCHAR(500), + @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT +AS +BEGIN + DECLARE + @FILENAME_EXT VARCHAR(250), + @RELATIVE_PATH VARCHAR(512) + + --PRINT @FILENAME_ONLY + --PRINT @REL_PATH + + --PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY + DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT,@FILENAME_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@REL_PATH,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM 'VARCHAR',@FILE_NAME,@WHO,@TERM_ID = @FILENAME_TERM_ID OUTPUT; + --SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH); + --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH); + --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); + --PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH + + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + INSERT INTO [dbo].[TBIDB_FILE_OBJECT] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,EXTENSION_TERM_ID + ,RELPATH_TERM_ID + ,FILENAME_TERM_ID + ,FILE_SIZE + ,FILE_HASH + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@EXTENSION_TERM_ID + ,@RELPATH_TERM_ID + ,@FILENAME_TERM_ID + ,@FILE_SIZE + ,@FILE_HASH + ,@WHO) + ELSE + BEGIN + --PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' + UPDATE TBIDB_FILE_OBJECT SET + EXTENSION_TERM_ID = @EXTENSION_TERM_ID + ,RELPATH_TERM_ID = @RELPATH_TERM_ID + ,FILENAME_TERM_ID = @FILENAME_TERM_ID + ,FILE_SIZE = @FILE_SIZE + ,FILE_HASH = @FILE_HASH + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) + BEGIN + PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' + UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID + END + END + END +END +GO + +-- ============================================= +-- Author: DD MS +-- Creation date: 05.07.2021 +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5) +AS +DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100) +DECLARE + @TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date, +ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME) + +DECLARE cursorAttributes CURSOR LOCAL FOR + SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID + WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE +OPEN cursorAttributes +FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME +WHILE @@FETCH_STATUS = 0 +BEGIN + PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE + IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING') + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER') + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME = 'DATE' + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME = 'DECIMAL' + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME +END +CLOSE cursorAttributes +DEALLOCATE cursorAttributes +SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN +GO +-- ============================================= +-- Author: Digital Data, MS +-- Create date: 12.10.2021 +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @LANG_ID INT + + IF NOT EXISTS(SELECT ATTR_ID FROM VWIDB_BE_ATTRIBUTE WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE) + RAISERROR ('NO VALID ATTRIBUTE',16,1) + + SELECT @ATTR_ID = ATTR_ID, @TYP_ID = TYPE_ID, @TYP_DESCR = TYPE_NAME,@LANG_ID = LANG_ID + FROM VWIDB_BE_ATTRIBUTE + WHERE ATTR_TITLE = @ATTRIBUTE AND LANG_CODE = @LANG_CODE + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + select + @VALUE = TERM.TERM_VALUE + FROM + IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END +END +GO +CREATE PROCEDURE [dbo].[PRIDB_REPLACE_ATTRIBUTE_DATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @OLD_TERM VARCHAR(900), @NEW_TERM VARCHAR(900),@LANGUAGE VARCHAR(5), @WHO VARCHAR(100) +AS +BEGIN + DECLARE + @UPD_GUID BIGINT, + @ATTR_ID INTEGER, + @ATTR_TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @TEXT_TERM_LANG_ID BIGINT, + @TERM_ID BIGINT, + @USER_DELETE_ID INTEGER, + @ERROR as BIT, + @LANGUAGE_ID TINYINT + PRINT 'IN PRIDB_REPLACE_ATTRIBUTE_DATA...' + SET @ERROR = 0 + SELECT @USER_DELETE_ID = COALESCE(MAX(USER_DELETE_ID),0) + 1 FROM TBIDB_OBJECT_METADATA_DELETE WHERE UPPER(DELETED_WHO) = UPPER(@WHO) + SELECT @LANGUAGE_ID = GUID FROM TBIDB_LANGUAGE WHERE UPPER(LANG_CODE) = UPPER(@LANGUAGE) + SELECT @ATTR_ID = T.GUID, @ATTR_TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + DECLARE @MY_OLD_TERM_ID BIGINT, @MY_OLD_LANG_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@OLD_TERM,@WHO,@TERM_ID = @MY_OLD_TERM_ID OUTPUT; + DECLARE @MY_NEW_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@NEW_TERM,@WHO,@TERM_ID = @MY_NEW_TERM_ID OUTPUT; + IF @ATTR_TYP_ID IN (1,8) --VARCHAR + BEGIN TRY + SELECT @MY_OLD_LANG_TERM_ID = GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_OLD_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID + Print '@MY_OLD_LANG_TERM_ID: ' + Convert(Varchar(10),@MY_OLD_LANG_TERM_ID) + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID) + BEGIN + INSERT INTO TBIDB_TERM_LANGUAGE(LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANGUAGE_ID,@MY_NEW_TERM_ID,@WHO) + END + UPDATE TBIDB_OBJECT_METADATA SET TEXT_TERM_LANG_ID = (SELECT MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE TEXT_TERM_ID = @MY_NEW_TERM_ID AND LANGUAGE_ID = @LANGUAGE_ID), CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND TEXT_TERM_LANG_ID = @MY_OLD_LANG_TERM_ID AND ATTR_ID = @ATTR_ID + END TRY + BEGIN CATCH + PRINT 'ERROR WHILE UPDATING FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + SET @ERROR = 1 + END CATCH + + ELSE IF @ATTR_TYP_ID IN (2,7,9) --BIGINT + BEGIN TRY + DECLARE cursor_REPLACE CURSOR LOCAL FOR + SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.INT_TERM_ID = @MY_OLD_TERM_ID + OPEN cursor_REPLACE + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBIDB_OBJECT_METADATA SET INT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID + + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + END + CLOSE cursor_REPLACE + DEALLOCATE cursor_REPLACE + + + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (INTEGER) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 3 --FLOAT + BEGIN TRY + DECLARE cursor_REPLACE CURSOR LOCAL FOR + SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.FLOAT_TERM_ID = @MY_OLD_TERM_ID + OPEN cursor_REPLACE + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBIDB_OBJECT_METADATA SET FLOAT_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + END + CLOSE cursor_REPLACE + DEALLOCATE cursor_REPLACE + + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (FLOAT) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 4 --DECIMAL + BEGIN TRY + DECLARE cursor_REPLACE CURSOR LOCAL FOR + SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DEC_TERM_ID = @MY_OLD_TERM_ID + OPEN cursor_REPLACE + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBIDB_OBJECT_METADATA SET DEC_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + END + CLOSE cursor_REPLACE + DEALLOCATE cursor_REPLACE + + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DECIMAL) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + SET @ERROR = 1 + END CATCH + ELSE IF @ATTR_TYP_ID = 5 --DATE + BEGIN TRY + DECLARE cursor_REPLACE CURSOR LOCAL FOR + SELECT T.GUID FROM TBIDB_OBJECT_METADATA T WHERE T.DATE_TERM_ID = @MY_OLD_TERM_ID + OPEN cursor_REPLACE + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBIDB_OBJECT_METADATA SET DATE_TERM_ID = @MY_NEW_TERM_ID WHERE GUID = @UPD_GUID + FETCH NEXT FROM cursor_REPLACE INTO @UPD_GUID + END + CLOSE cursor_REPLACE + DEALLOCATE cursor_REPLACE + + END TRY + + BEGIN CATCH + PRINT 'ERROR WHILE DELETING (DATE) FROM TBIDB_OBJECT_METADATA FOR ATTRIBUTE [' + @ATTRIBUTE + ']' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + SET @ERROR = 1 + END CATCH + --IF @ERROR = 0 + -- BEGIN + -- UPDATE TBIDB_ATTRIBUTE SET DELETED = 1, DELETED_WHO = @WHO WHERE GUID = @ATTR_ID; + -- END +END +GO + +-- ============================================= +-- Author: DD MS +-- Changed: 01.11.2021 MS TERM_COLUMNS +-- Changed: 10.08.2020 MS Anpassung +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @SHARE_PATH VARCHAR(100), + @OBJ_STORE_PATH VARCHAR(250), + @NEW_FULL_PATH VARCHAR(512), + @FILENAME_EXT VARCHAR(250), + @FILENAME_ONLY VARCHAR(250), + @RELATIVE_PATH VARCHAR(512), + @RELATIVE_PATH_ONLY VARCHAR(512), + @EXT VARCHAR(10) + + SELECT + @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH + FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID + SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) + SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') + SET @RELATIVE_PATH = UPPER(@REL_PATH) + PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH + + --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH); + --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY + + SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); + SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); + SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); + SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY + DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT + --PRINT '@EXT: ' + @EXT + --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) + EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; + PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + INSERT INTO [dbo].[TBIDB_DOC_INFO] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,[FILENAME_ONLY] + ,RELATIVE_PATH + ,RELATIVE_PATH_ONLY_TERM + ,EXTENSION_TERM + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@FILENAME_ONLY + ,@RELATIVE_PATH + ,@RELATIVE_PATH_ONLY_TERM + ,@EXTENSION_TERM + ,@WHO) + ELSE + BEGIN + PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' + UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY + ,@EXTENSION_TERM = @EXTENSION_TERM + ,[RELATIVE_PATH] = @RELATIVE_PATH + ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) + BEGIN + PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' + UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID + END + END + END +END +GO + +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('Doctype',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginFileName',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginCreationDatetime',6,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('OriginChangedDatetime',6,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('DisplayFileName1',1,0); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailMessageID',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailSubject',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailFrom',1,1); +INSERT INTO TBIDB_ATTRIBUTE (TITLE,TYP_ID,SYS_ATTRIBUTE) VALUES ('EmailDate',5,1); + +INSERT INTO TBIDB_BE_ATTRIBUTE (BE_ID,ATTR_ID,DEFAULT_SEARCH_ATTRIBUTE) SELECT 1,GUID, 1 FROM TBIDB_ATTRIBUTE ; + +GO diff --git a/00_IDB/Update/1.1.1.sql b/00_IDB/Update/1.1.1.sql new file mode 100644 index 0000000..40c4a07 --- /dev/null +++ b/00_IDB/Update/1.1.1.sql @@ -0,0 +1,51 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.1' where CONFIG_NAME = 'DB_VERSION' +GO +ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T.DEFAULT_SEARCH_ATTRIBUTE + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM + [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID + INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID + WHERE + T1.DELETED = 0 +UNION +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T.DEFAULT_SEARCH_ATTRIBUTE + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM +GO + + diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql new file mode 100644 index 0000000..2ebee3f --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.1.sql @@ -0,0 +1,35 @@ +CREATE TABLE TBIDB_BASE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + CONFIG_NAME VARCHAR(900) NOT NULL, + CONFIG_VALUE VARCHAR(MAX) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(30) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(30), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_BASE PRIMARY KEY (GUID), + CONSTRAINT UQ1_TBIDB_BASE UNIQUE (CONFIG_NAME) +) +GO +CREATE TRIGGER TBIDB_BASE_AFT_UPD ON TBIDB_BASE +FOR UPDATE +AS + UPDATE TBIDB_BASE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_BASE.GUID = INSERTED.GUID +GO +INSERT INTO TBIDB_BASE (CONFIG_NAME,CONFIG_VALUE) VALUES ('DB_VERSION','1.0.1') +GO +ALTER TABLE TBIDB_OBJECT_STORE ADD IS_ARCHIVE BIT NOT NULL DEFAULT 0 +GO +CREATE VIEW VWIDB_OBJECTSTORE AS +SELECT + T.GUID As OST_ID, + T.OBJECT_TITLE AS OS_TITLE, + T.IS_ARCHIVE AS OS_IS_ARCHIVE, + T1.CAT_STRING AS IDB_PRAEFIX +FROM +TBIDB_OBJECT_STORE T + INNER JOIN TBIDB_CATALOG T1 ON T.CAT_ID = T1.GUID +GO \ No newline at end of file diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql new file mode 100644 index 0000000..a406475 --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.2.sql @@ -0,0 +1,4 @@ +UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.2' where CAT_STRING = 'DB_VERSION' +INSERT INTO TBIDB_CATALOG (CAT_TITLE,CAT_TITLE) VALUES ('GHOST_SELECT',' +SELECT T.USERNAME,T.NAME, T.[PRENAME],T.EMAIL FROM DD_ECM.dbo.TBDD_USER T ORDER BY USERNAME') +GO diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql new file mode 100644 index 0000000..a1856bf --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.3.sql @@ -0,0 +1,417 @@ +/* +FNDD_CHECK_USER_MODULE +#PM.CONV_IDENTIFICATION=Email +in Working Mode +*/ +UPDATE TBIDB_CATALOG SET CAT_STRING = '1.0.3' where CAT_TITLE = 'DB_VERSION' +CREATE TABLE TBIDB_STATES +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + STATE_LTERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_STATES PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_STATES_STATE_LTERM_ID FOREIGN KEY (STATE_LTERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_STATES_AFT_UPD ON TBIDB_STATES +FOR UPDATE +AS + UPDATE TBIDB_STATES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_STATES.GUID = INSERTED.GUID +GO +ALTER PROCEDURE [dbo].[PRIDB_NEW_IDB_STATE] @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @STATE_TERM_ID BIGINT,@LANG_STATE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@STATE_TERM_ID,@pWHO) + SELECT @LANG_STATE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @STATE_TERM_ID + + IF NOT EXISTS(SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) + INSERT INTO TBIDB_STATES (STATE_LTERM_ID,ADDED_WHO) VALUES (@LANG_STATE_TERM_ID,@ADDED_WHO_TERM_ID) + IF NOT EXISTS (SELECT GUID FROM TBIDB_STATE_LANG_GROUP WHERE STATE_ID = (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID)) + INSERT INTO TBIDB_STATE_LANG_GROUP (STATE_ID,LANG_TERM_ID,ADDED_WHO) VALUES ( + (SELECT GUID FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID) + ,@LANG_STATE_TERM_ID + ,@ADDED_WHO_TERM_ID) + + SELECT * FROM TBIDB_STATES WHERE STATE_LTERM_ID = @LANG_STATE_TERM_ID +END +GO + +CREATE TABLE TBIDB_STATE_LANG_GROUP +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + STATE_ID BIGINT NOT NULL, + LANG_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_STATE_LANG_GROUP PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), + CONSTRAINT FK_TBIDB_STATE_LANG_GROUP_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TTBIDB_STATE_LANG_GROUP_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_STATE_LANG_GROUP_AFT_UPD ON TBIDB_STATE_LANG_GROUP +FOR UPDATE +AS + UPDATE TBIDB_STATE_LANG_GROUP SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_STATE_LANG_GROUP.GUID = INSERTED.GUID +GO +EXEC PRIDB_NEW_IDB_STATE 'Started', 'Digital Data','de-DE' +EXEC PRIDB_NEW_IDB_STATE 'Ended', 'Digital Data','de-DE' +--select * from TBIDB_STATE_LANG_GROUP +--DROP TABLE TBIDB_CONVERSATION_OBJECT + +CREATE TABLE TBIDB_CONVERSATION_OBJECT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + TITLE_TERM_ID BIGINT NOT NULL, + IDB_OBJ_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_CONVERSATION_OBJECT PRIMARY KEY (GUID), + CONSTRAINT FK_TITLE_TERM_ID FOREIGN KEY (TITLE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_OBJECT_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_CONVERSATION_OBJECT_AFT_UPD ON TBIDB_CONVERSATION_OBJECT +FOR UPDATE +AS + UPDATE TBIDB_CONVERSATION_OBJECT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_CONVERSATION_OBJECT.GUID = INSERTED.GUID +GO +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (@LANG_TERM_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @RESULT = T1.TERM_VALUE FROM TBIDB_TERM_LANGUAGE T INNER JOIN TBIDB_TERM_VALUE_VARCHAR T1 ON T.TEXT_TERM_ID = T1.GUID WHERE T.GUID = @LANG_TERM_ID + RETURN @RESULT +END +GO +------------------------------------------------------------------- +CREATE FUNCTION [dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (@OBJ_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @MAX_STATE_GUID BIGINT,@STATE_ID INTEGER,@RESULT VARCHAR(900) + + SELECT @STATE_ID = STATE_ID FROM TBIDB_MYOBJECT_STATES WHERE GUID = ( + SELECT MAX(GUID) FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @OBJ_ID) + + SELECT @RESULT = [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] ((SELECT STATE_LTERM_ID FROM TBIDB_STATES + WHERE GUID = @STATE_ID)) + RETURN @RESULT +END +GO + +--delete from TBIDB_CONVERSATION_OBJECT +CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION] @pIDB_OBJ_ID BIGINT, @pTITLE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @TITLE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@pWHO,@TERM_ID = @TITLE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@TITLE_TERM_ID,@pWHO) + SELECT @LANG_TITLE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @TITLE_TERM_ID + + --IF EXISTS(SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') + -- BEGIN + -- DECLARE @ENDED_STATE BIGINT + -- SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' + -- INSERT INTO TBIDB_MYOBJECT_STATES ( + -- MY_OBJECT_ID + -- ,STATE_ID + -- ,ADDED_WHO) VALUES ( + -- (SELECT CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started') + -- ,@ENDED_STATE + -- ,@ADDED_WHO_TERM_ID) + -- END + + + IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_OBJECT WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND TITLE_TERM_ID = @LANG_TITLE_TERM_ID) + INSERT INTO TBIDB_CONVERSATION_OBJECT (TITLE_TERM_ID,IDB_OBJ_ID,ADDED_WHO) VALUES (@LANG_TITLE_TERM_ID,@pIDB_OBJ_ID,@ADDED_WHO_TERM_ID) + DECLARE @STARTED_STATE BIGINT + SELECT @STARTED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Started' + + DECLARE @CONVERSATION_ID BIGINT + SELECT @CONVERSATION_ID = GUID FROM TBIDB_CONVERSATION_OBJECT WHERE TITLE_TERM_ID = @LANG_TITLE_TERM_ID AND IDB_OBJ_ID = @pIDB_OBJ_ID + + IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @CONVERSATION_ID AND STATE_ID = @STARTED_STATE) + INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@CONVERSATION_ID,@STARTED_STATE,@ADDED_WHO_TERM_ID) +END +GO +CREATE PROCEDURE dbo.PRIDB_OBJECT_SET_STATE @pIDB_OBJ_ID BIGINT, @pSTATE VARCHAR(512),@pWHO VARCHAR(100),@pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @STATE_TERM_ID BIGINT,@LANG_TITLE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pSTATE,@pWHO,@TERM_ID = @STATE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + + + IF NOT EXISTS(SELECT GUID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pIDB_OBJ_ID AND STATE_ID = @STATE_TERM_ID) + INSERT INTO TBIDB_MYOBJECT_STATES (MY_OBJECT_ID,STATE_ID,ADDED_WHO) VALUES (@pIDB_OBJ_ID,@STATE_TERM_ID,@ADDED_WHO_TERM_ID) +END +GO +CREATE PROCEDURE [dbo].[PRIDB_END_CONVERSATION] @pCONVID BIGINT, @pWHO VARCHAR(100), @pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + ,@ENDED_STATE BIGINT + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @ENDED_STATE = GUID FROM TBIDB_STATES T WHERE dbo.[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (STATE_LTERM_ID) = 'Ended' + + DECLARE @WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; + + + IF NOT EXISTS(SELECT MY_OBJECT_ID FROM TBIDB_MYOBJECT_STATES WHERE MY_OBJECT_ID = @pCONVID AND STATE_ID = @ENDED_STATE) + INSERT INTO TBIDB_MYOBJECT_STATES ( + MY_OBJECT_ID + ,STATE_ID + ,ADDED_WHO) VALUES ( + @pCONVID + ,@ENDED_STATE + ,@WHO_TERM_ID) +END +GO +--delete from TBIDB_MYOBJECT_STATES +CREATE TABLE TBIDB_MYOBJECT_STATES +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + MY_OBJECT_ID BIGINT NOT NULL, + STATE_ID BIGINT NOT NULL, + COMMENT_ID BIGINT , + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_MYOBJECT_STATES PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBIDB_STATES (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_COMMENT_ID_T_ID FOREIGN KEY (COMMENT_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_MYOBJECT_STATES_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE TRIGGER TBIDB_MYOBJECT_STATES_AFT_UPD ON TBIDB_MYOBJECT_STATES +FOR UPDATE +AS + UPDATE TBIDB_MYOBJECT_STATES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_MYOBJECT_STATES.GUID = INSERTED.GUID +GO + +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (@TERM_ID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @RESULT VARCHAR(900) + + SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + RETURN @RESULT +END + +CREATE TABLE TBIDB_CONVERSATION_USER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + CONV_ID BIGINT NOT NULL, + USER_OR_GROUP_ID INTEGER NOT NULL, + IS_USER BIT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_CONVERSATION_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_USER_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO +CREATE PROCEDURE [dbo].[PRIDB_ADD_USER_2_CONVERSATION] @pCONV_ID BIGINT, @pUSERID INTEGER,@pWHO VARCHAR(100) +AS +BEGIN + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_USER WHERE CONV_ID = @pCONV_ID AND USER_OR_GROUP_ID = @pUSERID AND IS_USER = 1) + INSERT INTO TBIDB_CONVERSATION_USER (CONV_ID,USER_OR_GROUP_ID,IS_USER,ADDED_WHO) VALUES (@pCONV_ID,@pUSERID,1,@ADDED_WHO_TERM_ID) + +END +GO +CREATE TABLE TBIDB_CONVERSATION_MESSAGE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + CONV_ID BIGINT NOT NULL, + TO_USER BIGINT NOT NULL DEFAULT 0, + FROM_USER BIGINT NOT NULL, + MESSAGE_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_CONVERSATION_MESSAGE PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_CONV_ID FOREIGN KEY (CONV_ID) REFERENCES TBIDB_CONVERSATION_OBJECT (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_FROM_USER FOREIGN KEY (FROM_USER) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_MESSAGE_TERM_ID FOREIGN KEY (MESSAGE_TERM_ID) REFERENCES TBIDB_TERM_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_CONVERSATION_MESSAGE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID),) +GO + +CREATE PROCEDURE [dbo].[PRIDB_NEW_CONVERSATION_MESSAGE] @pCONV_ID BIGINT, @pMESSAGE VARCHAR(100), @pWHO VARCHAR(100),@pTO_USER INTEGER = 0, @pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + + DECLARE @MESSAGE_TERM_ID BIGINT,@LANG_MESSAGE_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pMESSAGE,@pWHO,@TERM_ID = @MESSAGE_TERM_ID OUTPUT; + DECLARE @ADDED_WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @ADDED_WHO_TERM_ID OUTPUT; + + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MESSAGE_TERM_ID,@pWHO) + SELECT @LANG_MESSAGE_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MESSAGE_TERM_ID + + --IF NOT EXISTS(SELECT GUID FROM TBIDB_CONVERSATION_MESSAGE WHERE CONV_ID = @pCONV_ID AND FROM_USER = FROM_USER AND MESSAGE_TERM_ID = @LANG_MESSAGE_TERM_ID) + INSERT INTO TBIDB_CONVERSATION_MESSAGE (CONV_ID,FROM_USER,TO_USER, MESSAGE_TERM_ID, ADDED_WHO) VALUES (@pCONV_ID,@ADDED_WHO_TERM_ID,@pTO_USER, @LANG_MESSAGE_TERM_ID,@ADDED_WHO_TERM_ID) + +END +GO + +--EXEC PRIDB_NEW_CONVERSATION 10070, 'My First Conversation', 'SchreiberM' + +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo JJ', 'SchreiberM' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Hallo Marlon', 'JenneJ' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Na was machst Du so?', 'JenneJ' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Ei ich programmiere an der IDB...', 'SchreiberM' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Und Du wartest auf mich?', 'SchreiberM' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 1,'Jenau ;)', 'JenneJ' + +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Hallo Herr Schreiber, oh sorry habe ich das wirklich? ', 'j.jenne@digitaldata.works' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'..warten sie ich prüfe das nochmal! ', 'j.jenne@digitaldata.works' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Tatsächlich. Ich korrigiere das!', 'j.jenne@digitaldata.works' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'Was''nu schon wieder?', 'JenneJ' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 9,'2. conversation ist da..', 'SchreiberM' + +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo JJ, da bin ich wieder', 'SchreiberM' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Hallo Marlon nicht schon wieder', 'JenneJ' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'Was''nu schon wieder?', 'JenneJ' +--EXEC [PRIDB_NEW_CONVERSATION_MESSAGE] 10,'3. conversation ist da..', 'SchreiberM' + +CREATE VIEW VWIDB_CONVERSATION AS +SELECT + GUID As CONVERSATION_ID + ,IDB_OBJ_ID + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (TITLE_TERM_ID) as TITLE + ,[dbo].[FNIDB_GET_STATE_FOR_OBJECT_ID] (GUID) AS CONVERSATION_STATE + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (ADDED_WHO) as ADDED_WHO + ,ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (CHANGED_WHO) as CHANGED_WHO + ,CHANGED_WHEN +FROM TBIDB_CONVERSATION_OBJECT +GO +CREATE VIEW VWIDB_CONV_MESSAGES AS +select + T.GUID, + T.CONV_ID, + (SELECT EMAIL FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = T.TO_USER) TO_USER, + [dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T1.TITLE_TERM_ID) AS CONV_TITLE + ,[dbo].[FNIDB_GET_TERM_VALUE_VARCHAR] (T.FROM_USER) as USER_FROM + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.MESSAGE_TERM_ID) as MESSAGE_TEXT + ,[dbo].[FNIDB_GET_TERM_FOR_LANG_TERM_ID] (T.ADDED_WHO) as ADDED_WHO + ,T.ADDED_WHEN +from TBIDB_CONVERSATION_MESSAGE T INNER JOIN TBIDB_CONVERSATION_OBJECT T1 ON T.CONV_ID = T1.GUID +GO +CREATE VIEW VWIDB_CONVERSATION_USER AS +SELECT + T.CONV_ID + ,T1.GUID As USER_ID + ,T1.USERNAME + ,T1.EMAIL + ,T1.NAME + ', ' + T1.PRENAME as NAME +FROM + [IDB_TEST].[dbo].[TBIDB_CONVERSATION_USER] T + INNER JOIN DD_ECM_TEST.dbo.TBDD_USER T1 ON T.USER_OR_GROUP_ID = T1.GUID +WHERE IS_USER = 1 +GO +CREATE FUNCTION [dbo].[FNIDB_OBJECT_DYNAMIC_CONFIG] (@pIDB_OBJ_ID as INTEGER, @pUSERID as INTEGER) +RETURNS + @Table TABLE + (CONF_TITLE VARCHAR(900),CONF_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE @CONVID BIGINT + SELECT @CONVID = CONVERSATION_ID FROM VWIDB_CONVERSATION WHERE IDB_OBJ_ID = @pIDB_OBJ_ID AND CONVERSATION_STATE = 'Started' + IF @CONVID > 0 + BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ID',@CONVID); + END + + IF EXISTS(SELECT CONV_ID FROM VWIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND USER_ID = @pUSERID) + BEGIN + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_USER_ACTIVE','True'); + END + + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Admin'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Start'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','Stop'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddMessage'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_RIGHT','AddUser'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('NEW_CONVERSATION_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from TBDD_USER'); + INSERT INTO @Table (CONF_TITLE, CONF_VALUE) VALUES ('CONVERSATION_ADD_USER_SELECT','SELECT GUID as UserID, NAME, USERNAME, EMAIL from DD_ECM_TEST.dbo.TBDD_USER WHERE GUID NOT IN (SELECT USER_OR_GROUP_ID FROM + TBIDB_CONVERSATION_USER WHERE CONV_ID = @CONVID AND IS_USER = 1)'); + +RETURN +END +GO + + + +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IN_GUID +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) +INCLUDE ([GUID]) +GO + + +CREATE NONCLUSTERED INDEX IDX_IDBOBJID_CW +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) +INCLUDE ([CHANGED_WHEN]) +GO + + + + + + diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql new file mode 100644 index 0000000..8414793 --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.4.1.sql @@ -0,0 +1,15 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.4.1' where CONFIG_NAME = 'DB_VERSION' + +CREATE TABLE TBIDB_COMMON_SQL +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE VARCHAR(200) NOT NULL, + SQL_COMMAND NVARCHAR(MAX), + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_COMMON_SQL PRIMARY KEY (GUID) + ) +GO \ No newline at end of file diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql new file mode 100644 index 0000000..fa95c63 --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.4.sql @@ -0,0 +1,307 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.3' where CONFIG_NAME = 'DB_VERSION' + +CREATE NONCLUSTERED INDEX IDX_GUID_TEXTTEM_ID +ON [dbo].[TBIDB_TERM_LANGUAGE] ([LANGUAGE_ID]) +INCLUDE ([GUID],[TEXT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([CHANGED_WHEN]) +INCLUDE ([GUID]) +GO +CREATE NONCLUSTERED INDEX IDX_CHANGED_WHEN_IDBOBJID +ON [dbo].[TBIDB_OBJECT_METADATA_CHANGE] ([IDB_OBJ_ID]) +INCLUDE ([CHANGED_WHEN]) +GO +ALTER PROCEDURE [dbo].[PRIDB_NEW_OBJ_DATA] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100),@WHO VARCHAR(100), @TERM_VAL VARCHAR(MAX), +@LANG_CODE VARCHAR(5) = 'de-DE', @FOREIGN_KEY BIGINT = 0, @OMD_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT + --PRINT '@FOREIGN_KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) + IF @FOREIGN_KEY <> 0 AND @IDB_OBJ_ID <> @FOREIGN_KEY + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY) + BEGIN + PRINT 'FOUND NO IDB-OBJECT FOR REFERENCE KEY: ' + CONVERT(VARCHAR(50),@FOREIGN_KEY) + END + ELSE + BEGIN + SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @FOREIGN_KEY + --Print 'PRIDB_NEW_OBJ_DATA: Checked the DocID as Reference: ' + Convert(Varchar(10),@IDB_OBJ_ID) + END + + END + + IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)) + RAISERROR ('NO VALID ATTRIBUTE',16,1) + + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + + DECLARE @MY_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM_VAL,@WHO,@TERM_ID = @MY_TERM_ID OUTPUT; + --PRINT 'PRIDB_NEW_OBJ_DATA: @TYP_ID is: ' + Convert(Varchar(10),@TYP_ID) + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID) + INSERT INTO TBIDB_TERM_LANGUAGE (LANGUAGE_ID,TEXT_TERM_ID,ADDED_WHO) VALUES (@LANG_ID,@MY_TERM_ID,@WHO) + + SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID + + IF @TYP_ID = 1 --Single Varchar + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[TEXT_TERM_LANG_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [TEXT_TERM_LANG_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID + END + ELSE + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [TEXT_TERM_LANG_ID] = @MY_TERM_ID) + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[TEXT_TERM_LANG_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + --ELSE + --PRINT 'IDB-METADATAOBJECT-VALUE SEEMS TO EXIST: @IDB_OBJ_ID: ' + Convert(Varchar(10),@IDB_OBJ_ID) + + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[INT_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [INT_TERM_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [INT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[FLOAT_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND [FLOAT_TERM_ID] <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [FLOAT_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[DEC_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID <> @MY_TERM_ID) + UPDATE TBIDB_OBJECT_METADATA SET [DEC_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID) + BEGIN + INSERT INTO [dbo].[TBIDB_OBJECT_METADATA] + ([IDB_OBJ_ID] + ,[ATTR_ID] + ,[DATE_TERM_ID] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@ATTR_ID + ,@MY_TERM_ID + ,@WHO) + END + ELSE + UPDATE TBIDB_OBJECT_METADATA SET [DATE_TERM_ID] = @MY_TERM_ID, CHANGED_WHO = @WHO WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID + + SELECT @OMD_ID = GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + END + --PRINT 'PRIDB_NEW_OBJ_DATA - Got the new @OMD_ID: ' + CONVERT(VARCHAR(20),@OMD_ID) +END +GO + +-- ============================================= +-- Author: DD MS +-- Change date: 10.08.2020 MS Anpassung +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @SHARE_PATH VARCHAR(100), + @OBJ_STORE_PATH VARCHAR(250), + @NEW_FULL_PATH VARCHAR(512), + @FILENAME_EXT VARCHAR(250), + @FILENAME_ONLY VARCHAR(250), + @RELATIVE_PATH VARCHAR(512), + @RELATIVE_PATH_ONLY VARCHAR(512), + @EXT VARCHAR(10) + + SELECT + @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH + FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID + SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) + SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') + SET @RELATIVE_PATH = UPPER(@REL_PATH) + PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH + + --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH); + --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY + + SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); + SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); + SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); + SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY + --PRINT '@EXT: ' + @EXT + --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) + EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; + PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + INSERT INTO [dbo].[TBIDB_DOC_INFO] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,[FILENAME_EXT] + ,[FILENAME_ONLY] + ,EXTENSION + ,[RELATIVE_PATH] + ,[RELATIVE_PATH_ONLY] + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@FILENAME_EXT + ,@FILENAME_ONLY + ,@EXT + ,@RELATIVE_PATH + ,@RELATIVE_PATH_ONLY + ,@WHO) + ELSE + BEGIN + PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' + UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY + ,EXTENSION = @EXT + ,[RELATIVE_PATH] = @RELATIVE_PATH + ,[RELATIVE_PATH_ONLY] = @RELATIVE_PATH_ONLY + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) + BEGIN + PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' + UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID + END + END + END +END +GO +ALTER PROCEDURE PRIDB_GET_VALUE_TYPE @pVALUE VARCHAR(900)--,@oType VARCHAR(10) OUTPUT +AS +BEGIN + declare @TBTYPE_RESULT table(pTYPE varchar(10)) + DECLARE @oTYPE as Varchar(10) + SET @oType = 'NONE' + DECLARE @BIGINT as BIGINT, @FLOAT FLOAT,@DECIMAL DECIMAL(19,2),@DATE DATE + BEGIN TRY + SET @BIGINT = CONVERT(bigint,@pVALUE) + SET @oType = 'BIGINT' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO BIGINT' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @FLOAT = CONVERT(FLOAT,@pVALUE) + SET @oType = 'FLOAT' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO FLOAT' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @DECIMAL = CONVERT(DECIMAL(19,2),@pVALUE) + SET @oType = 'DECIMAL' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO DECIMAL' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @DATE = CONVERT(DATE,@pVALUE) + SET @oType = 'DATE' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO DATE' + END CATCH + --IF @oType = 'NONE' + BEGIN TRY + SET @oType = 'VARCHAR' + INSERT INTO @TBTYPE_RESULT (pTYPE) VALUES (@oType) + END TRY + BEGIN CATCH + PRINT 'NO VARCHAR' + END CATCH + PRINT '@TYPE: ' + @oType + SELECT * FROM @TBTYPE_RESULT +END + + diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql new file mode 100644 index 0000000..649b6fb --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.5.sql @@ -0,0 +1,1112 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.5' where CONFIG_NAME = 'DB_VERSION' +GO +DECLARE @INITIAL_TERM_ID VARCHAR(100) +EXEC PRIDB_NEW_TERM 'VARCHAR','SchreiberM','DD Initial',@TERM_ID = @INITIAL_TERM_ID OUTPUT; +SELECT @INITIAL_TERM_ID +GO +CREATE FUNCTION [dbo].[FNIDB_GET_FILE_PATH] (@pIDB_OBJ_ID BIGINT) +RETURNS VARCHAR(500) +AS +BEGIN + DECLARE @RELPATH VARCHAR(500),@FILEPATH VARCHAR(500),@NAVPATH as VARCHAR(500) + SELECT @RELPATH = [CAT_STRING] FROM [TBIDB_CATALOG] where CAT_TITLE = 'FILESTORE_PRAEFIX' + SELECT @NAVPATH = RELATIVE_PATH FROM TBIDB_DOC_INFO WHERE IDB_OBJ_ID = @pIDB_OBJ_ID + + RETURN @NAVPATH +END +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA4] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA5] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DEC_TERM_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +-- ============================================= +-- Author: DD MS +-- Change date: 25.08.2020 @TERM_TYPE_ID = 7 AND UPPER(@TERM) +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_TERM] @MD_TYPE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT +AS +BEGIN + DECLARE @TERM_TYPE_ID TINYINT + + SELECT @TERM_TYPE_ID = GUID FROM TBIDB_ATTRIBUTE_TYPE WHERE UPPER(NAME_TYPE) = UPPER(@MD_TYPE) + IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE' + SET @TERM = 1 + ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE' + SET @TERM = 0 + --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM + IF @TERM_TYPE_ID IN (1,8) --VARCHAR + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO) + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_VARCHAR + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM) + ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO) + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_INTEGER + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM) + ELSE IF @TERM_TYPE_ID = 3 --FLOAT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO) + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_FLOAT + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM) + ELSE IF @TERM_TYPE_ID = 4 --DECIMAL + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO) + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DECIMAL + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM) + ELSE IF @TERM_TYPE_ID = 5 --DATE + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO) + SELECT @TERM_ID = MAX(GUID) FROM TBIDB_TERM_VALUE_DATE + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM) + + PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###' +END +GO + + +ALTER TABLE TBIDB_TERM_VALUE_VARCHAR ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_VARCHAR ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_INTEGER ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_INTEGER ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_FLOAT ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_FLOAT ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_DECIMAL ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_DECIMAL ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_DATE ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_VALUE_DATE ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_LANGUAGE ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_TERM_LANGUAGE ALTER COLUMN CHANGED_WHO VARCHAR (100); +ALTER TABLE TBIDB_OBJECT_METADATA ALTER COLUMN ADDED_WHO VARCHAR (100); +ALTER TABLE TBIDB_OBJECT_METADATA ALTER COLUMN CHANGED_WHO VARCHAR (100); +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (@pTERMGUID BIGINT) +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900) + SELECT @RESULT = T.TERM_VALUE + FROM TBIDB_TERM_VALUE_VARCHAR T WHERE T.GUID = @pTERMGUID + RETURN @RESULT +END +GO +-- ============================================= +-- Author: DD MS +-- Craeation date: 17.08.2020 MS [TBIDB_LANGUAGE_TERM_METADATA] +-- ============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID] (@pTBIDB_LANGUAGE_TERM_METADATA_GUID BIGINT,@pLANG_CODE VARCHAR(5) = 'de-DE') +RETURNS VARCHAR(900) +AS +BEGIN + DECLARE @TERM_ID BIGINT, @RESULT VARCHAR(900),@LANG_ID INTEGER + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @RESULT = T3.TERM_VALUE -- @TERM_ID = T1.TEXT_TERM_ID + FROM TBIDB_LANGUAGE_TERM_METADATA T2 + INNER JOIN TBIDB_TERM_LANGUAGE T1 ON T2.LANG_TERM_ID = T1.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T1.TEXT_TERM_ID = T3.GUID + WHERE + T2.GUID = @pTBIDB_LANGUAGE_TERM_METADATA_GUID + AND T1.LANGUAGE_ID = @LANG_ID + --SELECT @RESULT = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @TERM_ID + RETURN @RESULT +END +GO +-- ============================================= +-- Author: DD MS +-- Creation date: 17.08.2020 +-- ============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@pATTRIBUTE_ID INTEGER,@pLANG_CODE VARCHAR(10), @pUSERID INTEGER) +RETURNS @Output TABLE (IDB_OBJECT_ID BIGINT, TERM_VALUE VARCHAR(900),TERM_ID BIGINT,IDB_CREATED_WHEN DATETIME,IDB_CREATED_WHO VARCHAR(100)) +AS +BEGIN + DECLARE + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900), + @CREATED_WHEN DATETIME, + @CREATED_WHO VARCHAR(100) + + + BEGIN + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + SELECT @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND T.GUID = @pATTRIBUTE_ID + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID + WHERE MD.ATTR_ID = @pATTRIBUTE_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM + TBIDB_TERM_VALUE_INTEGER TERM, TBIDB_OBJECT_METADATA MD WHERE MD.INT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_FLOAT TERM, TBIDB_OBJECT_METADATA MD WHERE MD.FLOAT_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE, TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_DECIMAL TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DEC_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (IDB_OBJECT_ID,TERM_VALUE,TERM_ID,IDB_CREATED_WHEN,IDB_CREATED_WHO) + SELECT MD.IDB_OBJ_ID, TERM.TERM_VALUE,TERM.GUID, MD.ADDED_WHEN,MD.ADDED_WHO + FROM TBIDB_TERM_VALUE_DATE TERM, TBIDB_OBJECT_METADATA MD WHERE MD.DATE_TERM_ID = TERM.GUID + AND MD.ATTR_ID = @pATTRIBUTE_ID + END + END + RETURN +END + + +CREATE TABLE TBIDB_SEARCH_PROFILE +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + TITLE_ID BIGINT NOT NULL, + COMMENT VARCHAR(900), + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_PROFILE PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ADDED_WHO_T_ID FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_CHANGED_WHO_T_ID FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + ) +GO +CREATE TRIGGER TBIDB_SEARCH_PROFILE_AFT_UPD ON TBIDB_SEARCH_PROFILE +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_PROFILE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_PROFILE.GUID = INSERTED.GUID +GO + +CREATE TABLE TBIDB_SEARCH_RESULT_ATTRIBUTES +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + ATTRIBUTE_ID INTEGER NOT NULL, + SEQUENCE INTEGER DEFAULT 0, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_RESULT_ATTRIBUTES_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESULT_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_RESULT_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID) +) +GO +CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE] @pSEARCHID INTEGER,@pATTRIBUTE_ID INTEGER,@pWHO_TERM_ID BIGINT,@pSequence INTEGER = 0 +AS +BEGIN + IF @pSequence = 0 + SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_RESULT_ATTRIBUTES + WHERE SEARCH_PROFIL_ID = @pSEARCHID + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID) + BEGIN + INSERT INTO TBIDB_SEARCH_RESULT_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SEQUENCE,ADDED_WHO) VALUES (@pSEARCHID,@pATTRIBUTE_ID,@pSequence, @pWHO_TERM_ID) + EXEC [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCHID,@pATTRIBUTE_ID,@pWHO_TERM_ID,0 + END + + ELSE + UPDATE TBIDB_SEARCH_RESULT_ATTRIBUTES SET SEQUENCE = @pSequence + WHERE ATTRIBUTE_ID = @pATTRIBUTE_ID AND SEARCH_PROFIL_ID = @pSEARCHID + --SELECT + -- T.GUID, + -- T.ATTRIBUTE_ID, + -- T1.TITLE + -- ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO + -- ,T.ADDED_WHEN + --FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID + --WHERE SEARCH_PROFIL_ID = @pSEARCHID +END +GO + +CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_PROFILE] @BE_ID INT, @pTITLE VARCHAR(512),@pWHO_TERMID BIGINT,@pCOMMENT VARCHAR(900) = NULL, @pLANG_CODE VARCHAR(5) = 'de-DE' +AS +BEGIN + DECLARE + @LANG_ID INTEGER, @SQL_RESULT VARCHAR(912), + @SEARCH_ID INTEGER, + @WHO_TERM VARCHAR(100) + + SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID + + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @pLANG_CODE + DECLARE @MY_TITLE_TERM_ID BIGINT,@MY_LANG_TERM_ID BIGINT,@oLANGUAGE_TERM_METADATA_GUID BIGINT,@MY_RESULT_SQL_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pTITLE,@WHO_TERM,@TERM_ID = @MY_TITLE_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM_LANGUAGE @LANG_ID,@MY_TITLE_TERM_ID,@WHO_TERM,@TERM_LANGUAGE_GUID = @MY_LANG_TERM_ID OUTPUT + EXEC PRIDB_NEW_LANGUAGE_TERM_METADATA_GUID @MY_LANG_TERM_ID,@pWHO_TERMID,@oLANG_TERM_GUID = @oLANGUAGE_TERM_METADATA_GUID OUTPUT + + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID) + INSERT INTO TBIDB_SEARCH_PROFILE (TITLE_ID,ADDED_WHO,COMMENT) VALUES (@oLANGUAGE_TERM_METADATA_GUID,@pWHO_TERMID,@pCOMMENT) + ELSE + UPDATE TBIDB_SEARCH_PROFILE SET + COMMENT = @pCOMMENT,CHANGED_WHO = @pWHO_TERMID WHERE TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID AND COMMENT <> @pCOMMENT + + SELECT @SEARCH_ID = MAX(GUID) FROM TBIDB_SEARCH_PROFILE T + WHERE T.TITLE_ID = @oLANGUAGE_TERM_METADATA_GUID + + SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename, * FROM VWIDB_DOC_DATA WHERE ' + DECLARE @ATTR_ID INT,@SEQUENCE TINYINT + SET @SEQUENCE = 0 + + DECLARE cursorDefaultAttributes CURSOR FOR + SELECT + T1.GUID + FROM TBIDB_ATTRIBUTE T1 INNER JOIN TBIDB_BE_ATTRIBUTE T2 ON T1.GUID = T2.ATTR_ID + WHERE T2.BE_ID = @BE_ID AND DEFAULT_SEARCH_ATTRIBUTE = 1 + ORDER BY T1.VIEW_SEQUENCE + OPEN cursorDefaultAttributes + FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS (SELECT GUID FROM TBIDB_SEARCH_RESULT_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND ATTRIBUTE_ID = @ATTR_ID) + EXEC PRIDB_NEW_SEARCH_RESULT_ATTRIBUTE @SEARCH_ID,@ATTR_ID,@pWHO_TERMID,@SEQUENCE + SET @SEQUENCE += 1 + FETCH NEXT FROM cursorDefaultAttributes INTO @ATTR_ID + END + CLOSE cursorDefaultAttributes + DEALLOCATE cursorDefaultAttributes + + SELECT + T.GUID,T.TITLE_ID + ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANG_CODE) AS TITLE + --,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.RESULT_SQL) AS RESULT_SQL + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO + ,T.ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO + ,T.CHANGED_WHEN + FROM TBIDB_SEARCH_PROFILE T + WHERE GUID = @SEARCH_ID +END +GO +--DROP TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT +CREATE TABLE TBIDB_SEARCH_LANGUAGE_SQL_RESULT +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + LANGUAGE_ID TINYINT NOT NULL, + SEARCH_TERM_ID BIGINT NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_LID FOREIGN KEY (LANGUAGE_ID) REFERENCES TBIDB_LANGUAGE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_STID FOREIGN KEY (SEARCH_TERM_ID) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_LANGUAGE_SQL_RESULT_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_LANGUAGE_SQL_RESULT UNIQUE(SEARCH_PROFIL_ID,LANGUAGE_ID) +) +GO +CREATE TRIGGER TBIDB_SEARCH_LANGUAGE_SQL_RESULT_AFT_UPD ON TBIDB_SEARCH_LANGUAGE_SQL_RESULT +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_LANGUAGE_SQL_RESULT .GUID = INSERTED.GUID +GO + +CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_SQL_RESULT] @SEARCH_ID INT,@pWHO_TERMID BIGINT +AS +BEGIN + DECLARE + @LANG_ID TINYINT, + @SQL_RESULT VARCHAR(912), + @WHO_TERM VARCHAR(100), + @MY_RESULT_SQL_TERM_ID BIGINT + SELECT @WHO_TERM = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @pWHO_TERMID + + DECLARE cursorLang CURSOR FOR + select GUID from TBIDB_LANGUAGE WHERE CREATE_DEFAULT_ENTRY = 1 + OPEN cursorLang + FETCH NEXT FROM cursorLang INTO @LANG_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_RESULT = 'SELECT T.IDB_OBJ_ID as DocID, [dbo].[FNIDB_GET_FILE_PATH] (T.IDB_OBJ_ID) as FULL_FILENAME, T.DocName as Filename' + DECLARE @ATTR_TITLE VARCHAR(100) + DECLARE cursorSRA CURSOR FOR + SELECT T3.TERM_VALUE + FROM TBIDB_SEARCH_RESULT_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T2 ON T1.GUID = T2.ATTRIBUTE_ID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TERM_ID = T3.GUID + WHERE T.SEARCH_PROFIL_ID = @SEARCH_ID --@SEARCH_ID + AND T2.LANGUAGE_ID = @LANG_ID + ORDER BY T.SEQUENCE + OPEN cursorSRA + FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_RESULT += ', T.[' + @ATTR_TITLE + ']' + FETCH NEXT FROM cursorSRA INTO @ATTR_TITLE + END + CLOSE cursorSRA + DEALLOCATE cursorSRA + SET @SQL_RESULT += ' FROM VWIDB_DOC_DATA T INNER JOIN [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@UserID,@SearchID) T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID ' + EXEC PRIDB_NEW_TERM 'VARCHAR',@SQL_RESULT,@WHO_TERM,@TERM_ID = @MY_RESULT_SQL_TERM_ID OUTPUT; + PRINT @SQL_RESULT + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_LANGUAGE_SQL_RESULT WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID) + INSERT INTO TBIDB_SEARCH_LANGUAGE_SQL_RESULT (SEARCH_PROFIL_ID,LANGUAGE_ID,SEARCH_TERM_ID,ADDED_WHO) VALUES + (@SEARCH_ID,@LANG_ID,@MY_RESULT_SQL_TERM_ID,@pWHO_TERMID) + ELSE + UPDATE TBIDB_SEARCH_LANGUAGE_SQL_RESULT SET SEARCH_TERM_ID = @MY_RESULT_SQL_TERM_ID,CHANGED_WHO = @pWHO_TERMID WHERE SEARCH_PROFIL_ID = @SEARCH_ID AND LANGUAGE_ID = @LANG_ID + + FETCH NEXT FROM cursorLang INTO @LANG_ID + END + CLOSE cursorLang + DEALLOCATE cursorLang + +END +GO + +CREATE TABLE TBIDB_SEARCH_PROFILE_USER +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_PROFILE_USER_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_USER UNIQUE(SEARCH_PROFIL_ID,USER_ID) +) +GO +CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_USER] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pWHO_TERM_ID BIGINT +AS +BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_USER WHERE USER_ID = @pUSER_ID AND SEARCH_PROFIL_ID = @pSEARCHID) + INSERT INTO TBIDB_SEARCH_PROFILE_USER (USER_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pUSER_ID,@pWHO_TERM_ID,@pSEARCHID) + SELECT + GUID,USER_ID,SEARCH_PROFIL_ID + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO + ,ADDED_WHEN + FROM TBIDB_SEARCH_PROFILE_USER + WHERE SEARCH_PROFIL_ID = @pSEARCHID + +END +GO + +CREATE TABLE TBIDB_SEARCH_PROFILE_GROUP +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + GROUP_ID INTEGER NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_PROFILE_GROUP_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_GROUP_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + --CONSTRAINT FK_TBIDB_SEARCH_PROFILE_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES DD_ECM_TEST.dbo.TBDD_USER (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_GROUP UNIQUE(SEARCH_PROFIL_ID,GROUP_ID) +) +GO +CREATE PROCEDURE [dbo].[PRIDB_NEW_RELATION_SEARCH_GROUP] @pSEARCHID INTEGER,@pGROUP_ID INTEGER,@pWHO_TERM_ID BIGINT +AS +BEGIN + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_GROUP WHERE GROUP_ID = @pGROUP_ID AND SEARCH_PROFIL_ID = @pSEARCHID) + INSERT INTO TBIDB_SEARCH_PROFILE_GROUP (GROUP_ID,ADDED_WHO,SEARCH_PROFIL_ID) VALUES (@pGROUP_ID,@pWHO_TERM_ID,@pSEARCHID) + SELECT + GUID,GROUP_ID,SEARCH_PROFIL_ID + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (ADDED_WHO) AS ADDED_WHO + ,ADDED_WHEN + FROM TBIDB_SEARCH_PROFILE_GROUP + WHERE SEARCH_PROFIL_ID = @pSEARCHID + +END +GO +--DROP TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES +CREATE TABLE TBIDB_SEARCH_PROFILE_ATTRIBUTES +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + ATTRIBUTE_ID INTEGER NOT NULL, + X_LOC FLOAT NOT NULL DEFAULT 0, + Y_LOC FLOAT NOT NULL DEFAULT 0, + [SEQUENCE] INTEGER NOT NULL DEFAULT 0, + HEIGHT SMALLINT NOT NULL DEFAULT 25, + WIDTH SMALLINT NOT NULL DEFAULT 200, + MULTISELECT BIT NOT NULL DEFAULT 0, + SOURCE_SQL BIGINT, + ENABLE_SQL BIGINT, + ENABLE_CONID SMALLINT, + --DEPENDING_ATTRIBUTE1 INTEGER NOT NULL DEFAULT 0, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_P_ID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_SOURCE_SQL FOREIGN KEY (SOURCE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_PROFILE_ATTRIBUTES_ENABLE_SQL FOREIGN KEY (ENABLE_SQL) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_SEARCH_PROFILE_ATTRIBUTES UNIQUE(SEARCH_PROFIL_ID,ATTRIBUTE_ID) +) +GO +CREATE TRIGGER TBIDB_SEARCH_PROFILE_ATTRIBUTES_AFT_UPD ON TBIDB_SEARCH_PROFILE_ATTRIBUTES +FOR UPDATE +AS + UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBIDB_SEARCH_PROFILE_ATTRIBUTES .GUID = INSERTED.GUID +GO + +CREATE PROCEDURE [dbo].[PRIDB_NEW_SEARCH_ATTRIBUTE] @pSEARCH_PROFIL_ID INTEGER,@pATTRIBUTE_ID INTEGER,@MULTISELECT BIT, @WHO_TERM_ID INTEGER, @pSEQUENCE INTEGER,@pHEIGHT SMALLINT = 0,@pWIDTH SMALLINT = 0 +AS +BEGIN + DECLARE @pWHO_USERNAME VARCHAR(100),@USER_LANGUAGE VARCHAR(5),@USER_LANGUAGE_ID INT, @ATTRTYPE as VARCHAR(20)--,@USER_ID INTEGER + SELECT @pWHO_USERNAME = TERM_VALUE FROM TBIDB_TERM_VALUE_VARCHAR WHERE GUID = @WHO_TERM_ID + SELECT @USER_LANGUAGE = LANGUAGE,@USER_LANGUAGE_ID = T1.GUID FROM DD_ECM_TEST.dbo.TBDD_USER T INNER JOIN IDB_TEST.dbo.TBIDB_LANGUAGE T1 ON T.LANGUAGE = T1.LANG_CODE WHERE UPPER(USERNAME) = UPPER(@pWHO_USERNAME) + + SELECT @ATTRTYPE = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T INNER JOIN TBIDB_ATTRIBUTE_TYPE T1 ON T.TYP_ID = T1.GUID WHERE T.GUID = @pATTRIBUTE_ID + + IF @ATTRTYPE IN ('VARCHAR','BIG INTEGER') + BEGIN + IF @pHEIGHT = 0 + SET @pHEIGHT = 200 + IF @pWIDTH = 0 + SET @pWIDTH = 200 + END + ELSE IF @ATTRTYPE ='DATE' + BEGIN + IF @pHEIGHT = 0 + SET @pHEIGHT = 20 + IF @pWIDTH = 0 + SET @pWIDTH = 100 + END + ELSE IF @ATTRTYPE ='BIT' + BEGIN + IF @pHEIGHT = 0 + SET @pHEIGHT = 20 + IF @pWIDTH = 0 + SET @pWIDTH = 200 + END + + DECLARE @SOURCE_TERM_ID BIGINT,@SOURCE_DEFAULT_SQL VARCHAR(900) + SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE + FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' AND TLANG.LANGUAGE_ID = ' + CONVERT(VARCHAR(3),@USER_LANGUAGE_ID) + ' + AND OBJ.DELETED = 0 AND ACTIVE = 1' + + --IF @pDEPENDING_ATTRIBUTE1 <> 0 + -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@pUSER_ID) ','@pUSER_ID) where IDB_OBJECT_ID = @DEPENDING_IDB_OBJECT ') + --ELSE + -- SET @SOURCE_DEFAULT_SQL = REPLACE(@SOURCE_DEFAULT_SQL,'@JOIN ','') + IF @ATTRTYPE = 'DATE' + SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE + FROM + TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.DATE_TERM_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' + AND OBJ.DELETED = 0 AND ACTIVE = 1' + ELSE IF @ATTRTYPE = 'BIG INTEGER' + SET @SOURCE_DEFAULT_SQL = 'select DISTINCT TERM.TERM_VALUE AS @RESULT_TITLE + FROM + TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' + AND OBJ.DELETED = 0 AND ACTIVE = 1' + ELSE IF @ATTRTYPE = 'BIT' + SET @SOURCE_DEFAULT_SQL = 'select DISTINCT CONVERT(BIT,TERM.TERM_VALUE) AS @RESULT_TITLE + FROM + TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = ' + CONVERT(VARCHAR(3),@pATTRIBUTE_ID) + ' + AND OBJ.DELETED = 0 AND ACTIVE = 1' + EXEC PRIDB_NEW_TERM 'VARCHAR',@SOURCE_DEFAULT_SQL,@pWHO_USERNAME,@TERM_ID = @SOURCE_TERM_ID OUTPUT; + IF @pSEQUENCE = 0 + SELECT @pSEQUENCE = COALESCE(MAX([SEQUENCE]),0) + 1 FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID + IF NOT EXISTS(SELECT GUID FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID) + INSERT INTO TBIDB_SEARCH_PROFILE_ATTRIBUTES (SEARCH_PROFIL_ID,ATTRIBUTE_ID,SOURCE_SQL, [SEQUENCE], ADDED_WHO,HEIGHT,WIDTH,MULTISELECT) + VALUES (@pSEARCH_PROFIL_ID,@pATTRIBUTE_ID,@SOURCE_TERM_ID,@pSEQUENCE, @WHO_TERM_ID,@pHEIGHT,@pWIDTH,@MULTISELECT) + ELSE + BEGIN + + UPDATE TBIDB_SEARCH_PROFILE_ATTRIBUTES SET + SOURCE_SQL = @SOURCE_TERM_ID + ,[SEQUENCE] = @pSEQUENCE + ,HEIGHT = @pHEIGHT + ,WIDTH = @pWIDTH + ,MULTISELECT = @MULTISELECT + WHERE SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID AND ATTRIBUTE_ID = @pATTRIBUTE_ID + END + SELECT + T.SEARCH_PROFIL_ID, + T.GUID, + T.ATTRIBUTE_ID, + T1.TITLE AS ATTRIBUTE_TITLE, + T.MULTISELECT, + T.HEIGHT, + T.WIDTH, + T2.NAME_TYPE AS ATTRIBUTE_TYPE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO + ,T.ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO + ,T.CHANGED_WHEN + FROM TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID + WHERE T.SEARCH_PROFIL_ID = @pSEARCH_PROFIL_ID --AND ATTRIBUTE_ID = @pATTRIBUTE_ID + ORDER BY [SEQUENCE] +END +GO +--drop table TBIDB_SEARCH_ATTRIBUTES_LINKS; +CREATE TABLE TBIDB_SEARCH_ATTRIBUTES_LINKS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + DEP_ATTR_ID INTEGER NOT NULL, + LINKED_ATTR_ID INTEGER NOT NULL, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO BIGINT, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBIDB_SEARCH_ATTRIBUTES_LINKS_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_DA_ID FOREIGN KEY (DEP_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), + CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_LA_ID FOREIGN KEY (LINKED_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), + CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT FK_TBIDB_SEARCH_ATTRIBUTES_LINKS_CHANGED_WHO FOREIGN KEY (CHANGED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +) +GO +--DROP TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT +CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_INPUT +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_ID INTEGER NOT NULL, + RESTR_ATTR_ID INTEGER NOT NULL, + SOURCE_ATTR_ID INTEGER NOT NULL, + TERM VARCHAR(900) NOT NULL, + USR_ID INTEGER NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + + CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_INPUT_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_INPUT_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), +) +GO +CREATE TABLE TBIDB_SEARCH_RESTRICTIONS_OBJECTS +( + GUID INTEGER NOT NULL IDENTITY (1, 1), + SEARCH_ID INTEGER NOT NULL, + RESTR_ATTR_ID INTEGER NOT NULL, + SOURCE_ATTR_ID INTEGER NOT NULL, + IDB_OBJ_ID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + + CONSTRAINT PK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SID FOREIGN KEY (SEARCH_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_RA_ID FOREIGN KEY (RESTR_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_SA_ID FOREIGN KEY (SOURCE_ATTR_ID) REFERENCES TBIDB_SEARCH_PROFILE_ATTRIBUTES (GUID), + CONSTRAINT FK_TBIDB_SEARCH_RESTRICTIONS_OBJECTS_IOBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID) +) +GO +CREATE TRIGGER [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT_AFT_INS] ON [dbo].[TBIDB_SEARCH_RESTRICTIONS_INPUT] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @SEARCH_ID INTEGER, + @RESTR_ATTR_ID INTEGER, + @SOURCE_ATTR_ID INTEGER, + @TERM VARCHAR(900), + @USR_ID INTEGER, + @pLANG_CODE VARCHAR(5) + + SELECT + @SEARCH_ID = SEARCH_ID, + @RESTR_ATTR_ID = RESTR_ATTR_ID, + @SOURCE_ATTR_ID = SOURCE_ATTR_ID, + @TERM = TERM, + @USR_ID = USR_ID + + FROM INSERTED + + --DELETE FROM TBIDB_SEARCH_RESTRICTIONS_OBJECTS + --WHERE + -- SEARCH_ID = @SEARCH_ID AND + -- RESTR_ATTR_ID = @RESTR_ATTR_ID AND + -- SOURCE_ATTR_ID = @SOURCE_ATTR_ID AND + -- USR_ID = @USR_ID; + + SELECT @pLANG_CODE = [LANGUAGE] FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = @USR_ID + INSERT INTO TBIDB_SEARCH_RESTRICTIONS_OBJECTS (SEARCH_ID,RESTR_ATTR_ID, SOURCE_ATTR_ID, IDB_OBJ_ID, USR_ID) + SELECT @SEARCH_ID,@RESTR_ATTR_ID, @SOURCE_ATTR_ID,T.IDB_OBJECT_ID,@USR_ID + FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (@SOURCE_ATTR_ID,@pLANG_CODE,@USR_ID) T LEFT JOIN TBIDB_SEARCH_RESTRICTIONS_OBJECTS T1 + ON T.IDB_OBJECT_ID = T1.IDB_OBJ_ID + where T.TERM_VALUE = @TERM AND T1.IDB_OBJ_ID IS NULL + --where TERM_VALUE = @TERM + +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID1] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[TEXT_TERM_LANG_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [TBIDB_LANGUAGE_TERM_METADATA_LANG_TERM_ID] +ON [dbo].[TBIDB_LANGUAGE_TERM_METADATA] ([LANG_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA2] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_TEXT_TERM_LANG_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[TEXT_TERM_LANG_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA3] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE NONCLUSTERED INDEX [IDXTBIDB_OBJECT_METADATA_ATTR_ID_[FLOAT_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[FLOAT_TERM_ID]) +INCLUDE ([IDB_OBJ_ID],[ADDED_WHO],[ADDED_WHEN]) +GO +CREATE VIEW VWIDB_SEARCH_PROFILE_ATTRIBUTES AS +SELECT + T.SEARCH_PROFIL_ID, + T.GUID, + T.ATTRIBUTE_ID, + --T.DEPENDING_ATTRIBUTE1, + T1.TITLE AS ATTRIBUTE_TITLE, + T.HEIGHT, + T.WIDTH, + T.MULTISELECT, + T2.NAME_TYPE AS ATTRIBUTE_TYPE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.SOURCE_SQL) AS SOURCE_SQL + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.ADDED_WHO) AS ADDED_WHO + ,T.ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO + ,T.CHANGED_WHEN + ,T.[SEQUENCE] +FROM + TBIDB_SEARCH_PROFILE_ATTRIBUTES T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T2 ON T1.TYP_ID = T2.GUID +GO +CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_LINKS AS +SELECT + T1.SEARCH_PROFIL_ID, + T.GUID, + T.DEP_ATTR_ID, + --T.DEPENDING_ATTRIBUTE1, + T3.TITLE AS DEP_ATTRIBUTE_TITLE, + [dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T1.SOURCE_SQL) DEP_SOURCE_SQL, + T.LINKED_ATTR_ID + --T.DEPENDING_ATTRIBUTE1, + ,T5.TITLE AS LINK_ATTRIBUTE_TITLE + ,T.ADDED_WHEN + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T.CHANGED_WHO) AS CHANGED_WHO + ,T.CHANGED_WHEN +FROM + TBIDB_SEARCH_ATTRIBUTES_LINKS T INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T1 ON T.DEP_ATTR_ID = T1.ATTRIBUTE_ID + --INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.LINKED_ATTR_ID = T2.ATTRIBUTE_ID + INNER JOIN TBIDB_ATTRIBUTE T3 ON T.DEP_ATTR_ID = T3.GUID + INNER JOIN TBIDB_ATTRIBUTE T5 ON T.LINKED_ATTR_ID = T5.GUID + +GO + +-- ============================================= +-- Author: Digital Data MS +-- Creation date: 22.10.2020 +-- ============================================= +CREATE FUNCTION [dbo].[FNIDB_GET_SEARCH_PROFILES] (@pUSERID INT, @pLANGCODE VARCHAR(5)) +RETURNS @Output TABLE (SEARCH_PROFILE_ID INTEGER,TITLE VARCHAR(100),RESULT_SQL VARCHAR(915),PSOURCE VARCHAR(50)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900), + @IDB_CREATED_WHEN DATETIME, + @IDB_CREATED_WHO VARCHAR(100), + @IDB_CHANGED_WHEN DATETIME, + @IDB_CHANGED_WHO VARCHAR(100) + + INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE) + SELECT + T.GUID + ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANGCODE) AS TITLE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T2.SEARCH_TERM_ID) AS RESULT_SQL + ,'TBIDB_SEARCH_PROFILE_USER' + FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_USER T1 ON T.GUID = T1.SEARCH_PROFIL_ID + INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T2 ON T.GUID = T2.SEARCH_PROFIL_ID + INNER JOIN TBIDB_LANGUAGE T3 ON T2.LANGUAGE_ID = T3.GUID + WHERE T1.USER_ID = @pUSERID AND UPPER(T3.LANG_CODE) = UPPER(@pLANGCODE) + + INSERT INTO @Output (SEARCH_PROFILE_ID,TITLE,RESULT_SQL,PSOURCE) + SELECT + T.GUID + ,dbo.[FNIDB_GET_TERM_FOR_LANGUAGE_TERM_METADATA_GUID ] (T.TITLE_ID,@pLANGCODE) AS TITLE + ,[dbo].[FNIDB_GET_TERM_FOR_TERM_ID] (T4.SEARCH_TERM_ID) AS RESULT_SQL + ,'TBIDB_SEARCH_PROFILE_GROUP' + FROM TBIDB_SEARCH_PROFILE T INNER JOIN TBIDB_SEARCH_PROFILE_GROUP T1 ON T.GUID = T1.SEARCH_PROFIL_ID + INNER JOIN DD_ECM_TEST.dbo.TBDD_GROUPS T2 ON T1.GROUP_ID = T2.GUID + INNER JOIN DD_ECM_TEST.dbo.TBDD_GROUPS_USER T3 ON T2.GUID = T3.GROUP_ID + INNER JOIN TBIDB_SEARCH_LANGUAGE_SQL_RESULT T4 ON T.GUID = T4.SEARCH_PROFIL_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T3.GUID + WHERE T3.USER_ID = @pUSERID AND UPPER(T5.LANG_CODE) = UPPER(@pLANGCODE) + + + RETURN +END +GO +-- ============================================= +-- Author: DD MS +-- Create date 05.11.2020 +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_NEW_TERM_FOR_ATTRIBUTE] @ATTRIBUTE VARCHAR(100),@TERM VARCHAR(MAX), @WHO VARCHAR(100), @TERM_ID BIGINT OUTPUT +AS +BEGIN + DECLARE @TERM_TYPE_ID TINYINT + + SELECT @TERM_TYPE_ID = TYP_ID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE) + IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'TRUE' + SET @TERM = 1 + ELSE IF @TERM_TYPE_ID = 7 AND UPPER(@TERM) = 'FALSE' + SET @TERM = 0 + --PRINT 'PRIDB_NEW_TERM: TERM_TYPE_ID IS: ' + CONVERT(VARCHAR(2),@TERM_TYPE_ID) + ' # TERM: ' + @TERM + IF @TERM_TYPE_ID IN (1,8) --VARCHAR + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_VARCHAR (TERM_VALUE,ADDED_WHO) VALUES (@TERM,@WHO) + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_VARCHAR WHERE UPPER(TERM_VALUE) = UPPER(@TERM) + ELSE IF @TERM_TYPE_ID IN (2,7,9) --BIGINT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_INTEGER (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(BIGINT,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_INTEGER where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_INTEGER WHERE TERM_VALUE = CONVERT(BIGINT,@TERM) + ELSE IF @TERM_TYPE_ID = 3 --FLOAT + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_FLOAT (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(FLOAT,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_FLOAT where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_FLOAT WHERE TERM_VALUE = CONVERT(FLOAT,@TERM) + ELSE IF @TERM_TYPE_ID = 4 --DECIMAL + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DECIMAL (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DECIMAL(19,0),@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DECIMAL where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DECIMAL WHERE TERM_VALUE = CONVERT(DECIMAL(19,0),@TERM) + ELSE IF @TERM_TYPE_ID = 5 --DATE + IF NOT EXISTS(SELECT GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM)) + BEGIN + INSERT INTO TBIDB_TERM_VALUE_DATE (TERM_VALUE,ADDED_WHO) VALUES (CONVERT(DATE,@TERM),@WHO) + SELECT @TERM_ID =GUID FROM TBIDB_TERM_VALUE_DATE where TERM_VALUE = @TERM + END + ELSE + SELECT @TERM_ID = GUID FROM TBIDB_TERM_VALUE_DATE WHERE TERM_VALUE = CONVERT(DATE,@TERM) + + PRINT '### PRIDB_NEW_TERM: TERM-ID: ' + CONVERT(VARCHAR(10),@TERM_ID) + '###' +END +GO + +CREATE TABLE TBIDB_USER_SEARCH_CRITERIA +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + USERID INTEGER NOT NULL, + ATTRIBUTE_ID INTEGER NOT NULL, + TERM_TEXT VARCHAR(900), + --TERM_DATE DATE, + --TERM_FLOAT FLOAT, + --TERM_DEC DECIMAL(19,2), + TERM_ID BIGINT, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_USER_SEARCH_CRITERIA_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_USER_SEARCH_CRITERIA_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +) +GO +CREATE PROCEDURE [dbo].[PRIDB_NEW_USER_SEARCH_CRITERIA] @pSEARCHID INTEGER,@pUSER_ID INTEGER,@pATTRIBUTE_ID INTEGER,@pTERM VARCHAR(900), @pWHO VARCHAR(100) +AS +BEGIN + DECLARE @WHO_TERM_ID BIGINT,@ATTR_TYPE INT, @ATTR_TERM_ID BIGINT,@ATTRIBUTE VARCHAR(100) + SELECT @ATTR_TYPE = TYP_ID,@ATTRIBUTE = TITLE FROM TBIDB_ATTRIBUTE WHERE GUID = @pATTRIBUTE_ID + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; + EXEC PRIDB_NEW_TERM_FOR_ATTRIBUTE @ATTRIBUTE,@pTERM,@pWHO,@TERM_ID = @ATTR_TERM_ID OUTPUT; + +-- GUID NAME_TYPE + +--3 FLOAT +--4 DECIMAL +--5 DATE +--6 DATETIME + +--9 VECTOR INTEGER + INSERT INTO TBIDB_USER_SEARCH_CRITERIA (SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, ADDED_WHO, TERM_TEXT, TERM_ID) VALUES + (@pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @WHO_TERM_ID, @pTERM, @ATTR_TERM_ID) + /*IF @ATTR_TYPE IN (1,2,7,8) + BEGIN + INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_TEXT, ADDED_WHO,TERM_ID) VALUES + ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, @pTERM, @WHO_TERM_ID,@ATTR_TERM_ID) + END + ELSE IF @ATTR_TYPE = 5 + INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_DATE, ADDED_WHO,TERM_ID) VALUES + ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(Date,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID) + ELSE IF @ATTR_TYPE = 3 + INSERT INTO TBIDB_USER_SEARCH_CRITERIA ( SEARCH_PROFIL_ID, USERID, ATTRIBUTE_ID, TERM_FLOAT, ADDED_WHO,TERM_ID) VALUES + ( @pSEARCHID, @pUSER_ID, @pATTRIBUTE_ID, Convert(float,@pTERM), @WHO_TERM_ID,@ATTR_TERM_ID) +*/ +END +GO + +CREATE TABLE TBIDB_SEARCH_CRITERIA_SAVE +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + SEARCH_PROFIL_ID INTEGER NOT NULL, + ATTRIBUTE_ID INTEGER NOT NULL, + TERM_TEXT VARCHAR(900), + --TERM_DATE DATE, + --TERM_FLOAT FLOAT, + --TERM_DEC DECIMAL(19,2), + TERM_ID BIGINT, + ADDED_WHO BIGINT, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_SEARCH_CRITERIA_SAVE_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_SPID FOREIGN KEY (SEARCH_PROFIL_ID) REFERENCES TBIDB_SEARCH_PROFILE (GUID), + CONSTRAINT FK_TBIDB_SEARCH_CRITERIA_SAVE_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID) +) +GO +CREATE PROCEDURE [dbo].[PRIDB_SEARCH_CRITERIA_SAVE] @pSEARCHID INTEGER,@pUserID INT, @pWHO VARCHAR(100) +AS +BEGIN + DECLARE @WHO_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@pWHO,@pWHO,@TERM_ID = @WHO_TERM_ID OUTPUT; + DELETE FROM TBIDB_SEARCH_CRITERIA_SAVE WHERE SEARCH_PROFIL_ID = @pSEARCHID + + INSERT INTO [dbo].[TBIDB_SEARCH_CRITERIA_SAVE] + ([SEARCH_PROFIL_ID] + ,[ATTRIBUTE_ID] + ,[TERM_TEXT] + ,TERM_ID + --,[TERM_DATE] + --,[TERM_FLOAT] + --,[TERM_DEC] + ,[ADDED_WHO]) + SELECT [SEARCH_PROFIL_ID] + ,[ATTRIBUTE_ID] + ,[TERM_TEXT] + ,TERM_ID + --,[TERM_DATE] + --,[TERM_FLOAT] + --,[TERM_DEC] + ,@WHO_TERM_ID FROM TBIDB_USER_SEARCH_CRITERIA WHERE USERID = @pUserID AND SEARCH_PROFIL_ID = @pSEARCHID +END +GO +CREATE VIEW VWIDB_SEARCH_ATTRIBUTES_USER +AS + select TOP 100 PERCENT + T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE + from + TBIDB_USER_SEARCH_CRITERIA T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTRIBUTE_ID = T1.GUID + INNER JOIN TBIDB_SEARCH_PROFILE_ATTRIBUTES T2 ON T.SEARCH_PROFIL_ID = T2.SEARCH_PROFIL_ID AND T.ATTRIBUTE_ID = T2.ATTRIBUTE_ID + GROUP BY T.USERID,T.SEARCH_PROFIL_ID, T.ATTRIBUTE_ID,T1.TITLE,T2.SEQUENCE + ORDER BY T.USERID, T.SEARCH_PROFIL_ID, T2.SEQUENCE +GO +CREATE FUNCTION [dbo].[FNIDB_SEARCH_RESULT_GET_OBJECTS] (@pUSERID INT,@PSEARCHID INT) +--DECLARE @pUSERID INT,@PSEARCHID INT +--SET @pUSERID =1 +--SET @PSEARCHID = 7 +RETURNS @TBRESULT TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200)) +AS +BEGIN + DECLARE + @GUID BIGINT,@ATTR_ID INT,@LASTATTR_ID INT ,@ATTR_TITLE VARCHAR(100),@RUN TINYINT,@COUNT_ATTRIBUTES TINYINT + ,@RESTRICTIONSYN BIT + + SET @LASTATTR_ID = 0 + DECLARE @TBRESULT_RESTRICTION TABLE (RUN INT, IDB_OBJ_ID BIGINT, ATTR_ID INT,ATTR_TITLE VARCHAR(100), COMMENT VARCHAR(200)) + select @COUNT_ATTRIBUTES = COUNT(T.USERID) + from + VWIDB_SEARCH_ATTRIBUTES_USER T + WHERE + T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID + + SET @RUN = 1 + DECLARE cursorSearchAttributes CURSOR FOR + select + T.ATTRIBUTE_ID,T.TITLE + from + VWIDB_SEARCH_ATTRIBUTES_USER T + WHERE + T.SEARCH_PROFIL_ID = @PSEARCHID AND T.USERID = @pUSERID + + ORDER BY T.SEQUENCE + OPEN cursorSearchAttributes + FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @SEARCH_DEF_ID BIGINT, @TERM_ID BIGINT + DECLARE cursorDetailAttribute CURSOR FOR + select + T.GUID,T.TERM_ID + from + TBIDB_USER_SEARCH_CRITERIA T + WHERE + T.SEARCH_PROFIL_ID = 7 AND T.USERID = 1 AND T.ATTRIBUTE_ID = @ATTR_ID + OPEN cursorDetailAttribute + FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO @TBRESULT_RESTRICTION ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE) + SELECT @SEARCH_DEF_ID, IDB_OBJECT_ID, @ATTR_ID, @ATTR_TITLE + FROM + FNIDB_GET_TERM_FOR_ATTRIBUTE_ID (@ATTR_ID,'de-DE',@pUSERID) + WHERE + TERM_ID = @TERM_ID + --SELECT * FROM @TBRESULT_RESTRICTION + FETCH NEXT FROM cursorDetailAttribute INTO @SEARCH_DEF_ID,@TERM_ID + END + CLOSE cursorDetailAttribute + DEALLOCATE cursorDetailAttribute + --PRINT 'FIRST SEARCH ROW' + --PRINT @TBRESULT_RESTRICTION + --PRINT '@COUNT_ATTRIBUTES: ' + CONVERT(VARCHAR(2),@COUNT_ATTRIBUTES) + --PRINT '@RUN: ' + CONVERT(VARCHAR(2),@RUN) + IF @RUN = 1 + INSERT INTO @TBRESULT ( RUN, IDB_OBJ_ID, ATTR_ID, ATTR_TITLE, COMMENT) + SELECT * FROM @TBRESULT_RESTRICTION + ELSE + IF @COUNT_ATTRIBUTES = @RUN + BEGIN + -- --#### Now deleting the Results which are not part of the restriction + --PRINT 'DELETE AS THIS IS THE LAST RUN PER ATTRIBUTE' + DELETE FROM @TBRESULT WHERE IDB_OBJ_ID NOT IN ( + SELECT IDB_OBJ_ID FROM @TBRESULT_RESTRICTION) + -- UPDATE T + -- SET + -- T.RUN = T1.RUN + -- FROM + -- @TBRESULT T INNER JOIN + -- @TBRESULT_RESTRICTION T1 ON T.IDB_OBJ_ID = T1.IDB_OBJ_ID + END + SET @RUN +=1 + SET @LASTATTR_ID = @ATTR_ID + DELETE FROM @TBRESULT_RESTRICTION + FETCH NEXT FROM cursorSearchAttributes INTO @ATTR_ID,@ATTR_TITLE + END + CLOSE cursorSearchAttributes + DEALLOCATE cursorSearchAttributes +RETURN +--select DISTINCT IDB_OBJ_ID from @TBRESULT ORDER BY IDB_OBJ_ID +END +GO +CREATE FUNCTION [dbo].[FNIDB_SEARCH_GET_FILTER_SQL] (@pSEARCH_ID INTEGER, @pUSERID INTEGER, @pLANG_CODE VARCHAR(5)) +RETURNS NVARCHAR(MAX) +AS +BEGIN + DECLARE @ATTR_ID INTEGER, @ATTR_TITLE AS VARCHAR(100), @RUN TINYINT, @RESULT NVARCHAR(MAX), @RUN_ALIAS VARCHAR(2), @RUN_SELECT VARCHAR(500) + ,@RUN_FROM VARCHAR(500), @SELECT_PART NVARCHAR(MAX), @FROM_PART NVARCHAR(MAX),@SEPARATOR VARCHAR(1) + SET @RUN = 0 + SET @RUN_ALIAS = 'T' + SET @SELECT_PART = 'SELECT ' + SET @FROM_PART = '' + DECLARE cursAttribute CURSOR LOCAL FOR + SELECT ATTRIBUTE_ID,ATTRIBUTE_TITLE + FROM VWIDB_SEARCH_PROFILE_ATTRIBUTES WHERE SEARCH_PROFIL_ID = @pSEARCH_ID ORDER BY SEQUENCE + OPEN cursAttribute + FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @RUN_SELECT = '' + SET @RUN_FROM = '' + IF @RUN = 0 + BEGIN + SET @RUN_SELECT = 'T.IDB_OBJECT_ID, T.TERM_VALUE AS [' + @ATTR_TITLE + ']' + SET @RUN_FROM = CHAR(10) + 'FROM [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') T' + END + ELSE + BEGIN + SET @RUN_SELECT = ', ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + '.TERM_VALUE AS [' + @ATTR_TITLE + ']' + SET @RUN_FROM = CHAR(10) + 'INNER JOIN [dbo].[FNIDB_GET_TERM_FOR_ATTRIBUTE_ID] (' + CONVERT(VARCHAR(10),@ATTR_ID) + ',''' + @pLANG_CODE + ''',' + CONVERT(VARCHAR(10),@pUSERID) + ') ' + @RUN_ALIAS + CONVERT(VARCHAR(2), @RUN) + SET @RUN_FROM += ' ON T.IDB_OBJECT_ID = T' + CONVERT(VARCHAR(2), @RUN) + '.IDB_OBJECT_ID' + END + SET @SELECT_PART += @RUN_SELECT + SET @FROM_PART += @RUN_FROM + + SET @RUN += 1 + FETCH NEXT FROM cursAttribute INTO @ATTR_ID,@ATTR_TITLE + END + CLOSE cursAttribute + DEALLOCATE cursAttribute + SET @RESULT = @SELECT_PART + @FROM_PART + + + RETURN @RESULT +END +GO + + diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql new file mode 100644 index 0000000..f4d2c2f --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.6.sql @@ -0,0 +1,291 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.6' where CONFIG_NAME = 'DB_VERSION' +GO +/* +REPLACE @WORKFILESTORE WITH STORAGE-PATH FOR WORK +*/ +CREATE VIEW [dbo].[VWIDB_CHANGE_LOG] AS +select + T.GUID AS ChangeID, + T.IDB_OBJ_ID, + T1.TITLE as Attribute, + T3.TERM_VALUE as [Old value], + T5.TERM_VALUE as [New value], + T.CHANGED_WHO [Changed who], + T.CHANGED_WHEN [Changed when] +from TBIDB_OBJECT_METADATA_CHANGE T + INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T2 ON T.OLD_TEXT_TERM_LANG_ID = T2.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T3 ON T2.TEXT_TERM_ID = T3.GUID + INNER JOIN TBIDB_TERM_LANGUAGE T4 ON T.NEW_TEXT_TERM_LANG_ID = T4.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T5 ON T4.TEXT_TERM_ID = T5.GUID +GO + +ALTER TABLE TBIDB_OBJECT ADD PARENT_OBJ_ID BIGINT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBIDB_OBJECT ADD IS_VERSION BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBIDB_BE_ATTRIBUTE ADD DEFAULT_SEARCH_ATTRIBUTE BIT NOT NULL DEFAULT 0 +GO +-- ======================================================= +-- Author: Digital Data, DD MS +-- Create Date: 22.10.2020 +-- Gunction returns all values for parameterized Attribute +-- ======================================================= +CREATE FUNCTION [dbo].[FNIDB_PM_GET_VARIABLE_VALUE_FOR_ALL_OBJECTS] (@ATTRIBUTE VARCHAR(100),@LANG_CODE VARCHAR(10)) +RETURNS @Output TABLE (IDB_OBJ_ID BIGINT,TERM_VALUE VARCHAR(900)) +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT, + @TERM_RESULT VARCHAR(900) + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(TITLE) = UPPER(@ATTRIBUTE) + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + DECLARE @TL_ID BIGINT + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND TLANG.LANGUAGE_ID = @LANG_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.INT_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.FLOAT_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 4 + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DEC_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID + AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END + ELSE IF @TYP_ID = 5 + BEGIN + INSERT INTO @Output (IDB_OBJ_ID,TERM_VALUE) + SELECT OBJ.IDB_OBJ_ID,TERM.TERM_VALUE + FROM + TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON MD.DATE_TERM_ID = TERM.GUID + INNER JOIN TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + MD.ATTR_ID = @ATTR_ID AND OBJ.DELETED = 0 + ORDER BY OBJ.IDB_OBJ_ID DESC + END +RETURN +END +GO + +CREATE NONCLUSTERED INDEX [IDX_ATTR-ID_OBJ-INTTERMID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[INT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX IDXATTR_IDINT_TERM_ID_IDB_OBJ_ID +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[INT_TERM_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE NONCLUSTERED INDEX IDX_DELETED_OBJID +ON [dbo].[TBIDB_OBJECT] ([DELETED]) +INCLUDE ([IDB_OBJ_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXATTR_ID-IDB_OBJ_ID-FLOAT_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[FLOAT_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [ATTR_ID_IDB_OBJ_ID_DEC_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DEC_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [ATTR_ID-IDB_OBJ_ID-DATE_TERM_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID]) +INCLUDE ([IDB_OBJ_ID],[DATE_TERM_ID]) +GO +CREATE NONCLUSTERED INDEX [IDXATTR_ID-DATE_TERM_ID-IDB_OBJ_ID] +ON [dbo].[TBIDB_OBJECT_METADATA] ([ATTR_ID],[DATE_TERM_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO +--DROP TABLE TBIDB_ACCESSRIGHT +CREATE TABLE TBIDB_ACCESSRIGHT +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + ACCESSRIGHT INTEGER NOT NULL, + COMMENT VARCHAR(250), + ADDED_WHO BIGINT NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBIDB_ACCESSRIGHT_GUID PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_ACCESSRIGHT_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_ACCESSRIGHT_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_ACCESSRIGHT UNIQUE(IDB_OBJ_ID,USR_ID,ACCESSRIGHT) +) +GO + +INSERT INTO [TBIDB_CATALOG] ([CAT_TITLE],[CAT_STRING]) VALUES ('APPSERV1','172.24.12.39') +GO + +DECLARE + @IDB_OBJ_ID BIGINT, + @USERNAME VARCHAR(500) + +DECLARE cursorDoc CURSOR FOR + select IDB_OBJ_ID FROm IDB_TEST.DBO.TBIDB_OBJECT WHERE DELETED = 0 + OPEN cursorDoc + FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBIDB_ACCESSRIGHT where IDB_OBJ_ID = @IDB_OBJ_ID; + INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO) + SELECT @IDB_OBJ_ID,GUID,1,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID <> 1 + INSERT INTO TBIDB_ACCESSRIGHT (IDB_OBJ_ID,USR_ID,ACCESSRIGHT,ADDED_WHO) + SELECT @IDB_OBJ_ID,GUID,4,20242 FROM DD_ECM_TEST.dbo.TBDD_USER WHERE GUID = 1 + + FETCH NEXT FROM cursorDoc INTO @IDB_OBJ_ID + END +CLOSE cursorDoc +DEALLOCATE cursorDoc + +CREATE TABLE TBIDB_REFRESH_ON_APPSERVER +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + IDB_OBJ_ID BIGINT NOT NULL, + USR_ID INTEGER NOT NULL, + ACCESSRIGHT INTEGER NOT NULL, + ADDED_WHO BIGINT NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PKTBIDB_REFRESH_ON_APPSERVER_GUID PRIMARY KEY (GUID), + CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_IDB_OBJ_ID FOREIGN KEY (IDB_OBJ_ID) REFERENCES TBIDB_OBJECT (IDB_OBJ_ID), + CONSTRAINT FKTBIDB_REFRESH_ON_APPSERVER_ADDED_WHO FOREIGN KEY (ADDED_WHO) REFERENCES TBIDB_TERM_VALUE_VARCHAR (GUID), + CONSTRAINT UQ_TBIDB_REFRESH_ON_APPSERVER UNIQUE(IDB_OBJ_ID,USR_ID) +) +GO + +USE [IDB_TEST] +GO +CREATE NONCLUSTERED INDEX IDX_TBIDB_ACCESSRIGHT_USRID +ON [dbo].[TBIDB_ACCESSRIGHT] ([USR_ID]) +INCLUDE ([IDB_OBJ_ID]) +GO + +ALTER VIEW [dbo].[VWIDB_BE_ATTRIBUTE] AS +SELECT + T.[BE_ID] + ,T2.TITLE AS BE + ,[ATTR_ID] + ,T6.TERM_VALUE AS ATTR_TITLE + ,T1.TYP_ID + ,T1.TYP_ID AS [TYPE_ID] + ,T3.NAME_TYPE AS [TYPE_NAME] + ,T1.VIEW_VISIBLE + ,T1.VIEW_SEQUENCE + ,T5.GUID AS LANG_ID + ,T5.LANG_CODE + ,T.ADDED_WHEN + ,T.ADDED_WHO + ,T.CHANGED_WHEN + ,T.CHANGED_WHO + FROM [TBIDB_BE_ATTRIBUTE] T INNER JOIN TBIDB_ATTRIBUTE T1 ON T.ATTR_ID = T1.GUID + INNER JOIN TBIDB_BUSINESS_ENTITY T2 ON T.BE_ID = T2.GUID + INNER JOIN TBIDB_ATTRIBUTE_TYPE T3 ON T1.TYP_ID = T3.GUID + INNER JOIN TBIDB_ATTRIBUTE_LANGUAGE T4 ON T1.GUID = T4.ATTRIBUTE_ID + INNER JOIN TBIDB_LANGUAGE T5 ON T4.LANGUAGE_ID = T5.GUID + INNER JOIN TBIDB_TERM_VALUE_VARCHAR T6 ON T4.TERM_ID = T6.GUID + WHERE T1.DELETED = 0 +GO +--CREATE TABLE TBIDB_FILESTORE_CONFIG +--( +-- GUID BIGINT NOT NULL IDENTITY (1, 1), +-- TITLE VARCHAR(100) NOT NULL, +-- STORAGE_PATH VARCHAR(1000) NOT NULL, +-- ACTIVE BIT NOT NULL DEFAULT 0, +-- ADDED_WHO VARCHAR(100), +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(100), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PKTBIDB_FILESTORE_CONFIG_GUID PRIMARY KEY (GUID), +-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_TITLE UNIQUE(TITLE), +-- CONSTRAINT UQ_TBIDB_FILESTORE_CONFIG_STORAGE_PATH UNIQUE(STORAGE_PATH), +--) +--GO +--CREATE TRIGGER [dbo].[TBIDB_FILESTORE_CONFIG_AFT_UPD] ON [dbo].[TBIDB_FILESTORE_CONFIG] +--FOR UPDATE +--AS +-- UPDATE TBIDB_FILESTORE_CONFIG SET CHANGED_WHEN = GETDATE() +-- FROM INSERTED +-- WHERE TBIDB_FILESTORE_CONFIG.GUID = INSERTED.GUID +--GO +--INSERT INTO TBIDB_FILESTORE_CONFIG (TITLE,STORAGE_PATH,ACTIVE,ADDED_WHO) VALUES ('WORK','@WORKFILESTORE',1,'Digital Data'); +DROP TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES +CREATE TABLE TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES +( + GUID BIGINT NOT NULL IDENTITY (1, 1), + ATTRIBUTE_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(100) NOT NULL DEFAULT 'Digital Data (DEF)', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(100), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES_GUID PRIMARY KEY (GUID), + CONSTRAINT UQ_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES UNIQUE(ATTRIBUTE_ID), + CONSTRAINT FK_TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES FOREIGN KEY (ATTRIBUTE_ID) REFERENCES TBIDB_ATTRIBUTE (GUID), +) +GO +INSERT INTO TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES (ATTRIBUTE_ID) VALUES(1); + +ALTER VIEW VWIDB_CATEGORIES_PER_OBJECT_AND_LANGUAGE AS +select + MD.IDB_OBJ_ID + ,TLANG.LANGUAGE_ID + ,TERM.TERM_VALUE + ,ATTR.TITLE AS ATTRIBUTE_TITLE + ,ATTR.GUID AS ATTRIBUTE_ID +FROM + TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN TBIDB_LANGUAGE_TERM_METADATA T1 ON TLANG.GUID = T1.LANG_TERM_ID + INNER JOIN TBIDB_OBJECT_METADATA MD ON T1.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN TBIDB_FLOW_SEARCH_CATEGORY_ATTRIBUTES CAT_ATTR ON MD.ATTR_ID = CAT_ATTR.ATTRIBUTE_ID + INNER JOIN TBIDB_ATTRIBUTE ATTR ON CAT_ATTR.ATTRIBUTE_ID = ATTR.GUID +WHERE + CAT_ATTR.ACTIVE = 1 + + + + + + + + diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.7.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.7.sql new file mode 100644 index 0000000000000000000000000000000000000000..b6e8784a3a3662da73950ab66393ab3c81ae558b GIT binary patch literal 11218 zcmeHN$!;4*5bY}iI^aep7oY+|a#|B~t$k!)%uiq4V znI6t)b1nfv4ms0ZUF)l=ZvON4$SvI5ow>eSx}iICQ#bbC58a6y;rGf-@Qrs@7zw*C(jxTa?jQ0#{=*|pWEWzQ-JqK4)w_VY& zx#xHqQ_$QosEonwW*TGn%F8ly=U8)&HCF!j!kw;ZcISw?nL@MF&yxbBt4KG5Ek>X> z0-cwjHm@Xk0qP6b;fcQv+(WnP?n68F%C%+pNo#^R)FHLG1s7b%(w%^%|_Gi8dyw&DcdGY7i&p$p<8y@@_GTJyx*B=qPa z>5j(=))iW zu6~4Um*D@R%4I_S8J@pfTT2<>5;G2vp=d8=<|Q)SnWvND%E0S_x$dB8^a1k&#ihTRZ(W_u_k9F z9_v3{NAg-uW<6l>+nmqMl6`L_i)CUBt-3&tw-GDwKJ>L7k(u_0M+Mn~PY7Wt)x>ix z8=EC1S8&q*!+eOk$ZlbJ5nq^`I3B_|K$F}&M(CeN~UPHtf~yS1OnxV+!VW)YnzhR0N5QO zHN}NXAkIaFl8SKE`eqS5&-=YOG6MZD)Q;>82C$s1ldiHEnL{3kt;26?w)-L+f+-uVpxB^2?YXDwo_kK**iws60gGZrc6Ba zzQBx};(weagC?7Np($F7$Fdf;qg7cg)NNmmgp!n2%_xVd_K5u;_`v^_Z1>8S{(JLE zR`z1Pyo8kxJSI+2G1#tMy+(b6Dq$Zu81Sn;Ce*Rr>P*tI4k+x%SO$=!>icpGY^po0 zv$P70H4yhUd$pQ-AKeP~3~ld=d06|sVJ}1D?Pzlj9k-YeRj~L(8%;( zn#~^3xadO3FZ$>fhq}pYT``_;xdQZtOkBPgNbRS^? z{TyS@<1?iG3!m?>2l5HM`A1xdy(RDB34pD7GkuB2E*jCu&DN}IB}8Oi#nq!D)>o5` zCeX}#=xB!hq2F*4PFCdSk@#NjSn zjv*xYIp6Ml>`LD&;ZB^4vOXus{v*HfiLABE#&$$V9#dNgS8SH#l`XBA|zd_=k>UYm2S(E756o2yPTZ)iV_*?UN zX%G2u>Fq_DJL_*oT^)ibaU?lA#W?$>e+=l~1NkWOyu@qKFkXD~Q=?Ac|2$#iK0!F` zFse3c$IDLd-ZY=jIWz1}icXBiB^m1ffUr^8fngrtng3H*jM*eT*|xE(njSgMET??K zJEqOBpGsT^Bc*3%fxPpSG~{42N493Lr>(m3r*-_FpYq+%ue^s(X2X<=oWH%uQ?AQd z9N#5g=(m9vu9$Kmzos;~eoW@rciS~Z)S4qU`7b8^k5T`mTLHo17=4ZB=83^ydG?`k z;i>U1K5b6iapyC33Y4!VgRK%c3(;l#bYE3j%4i1tclAA+8MrCMg^dc&j8l6OR!%tz zGj6WA5EY@0Z^nYUm5tY!r$AF^rPx-?2MR$t>NVssX}M%Ap7SfGS{=c$aUSAtzW)Vz CriwuT literal 0 HcmV?d00001 diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql new file mode 100644 index 0000000..cfadcff --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.8.sql @@ -0,0 +1,127 @@ + +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.8' where CONFIG_NAME = 'DB_VERSION' +GO +-- ============================================= +-- Author: DD MS +-- Creation date: 05.07.2021 +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_GET_VALUE_DT] @IDB_OBJ_ID BIGINT, @LANG_CODE VARCHAR(5) +AS +DECLARE @ATTR_ID INTEGER,@ATTR_TITLE VARCHAR(100), @TYPE_NAME VARCHAR(100) +DECLARE + @TBRESULT TABLE (AttributID INT, AttributTitle VARCHAR(100), AttributType VARCHAR(100),ValueBigInt BIGINT, ValueText Varchar(912), ValueDec Decimal(19,2), ValueDate Date, +ADDED_WHEN DATETIME, CHANGED_WHEN DATETIME) + +DECLARE cursorAttributes CURSOR LOCAL FOR + SELECT A.ATTR_ID, B.ATTR_TITLE, B.TYPE_NAME FROM TBIDB_OBJECT_METADATA A INNER JOIN VWIDB_BE_ATTRIBUTE B On A.ATTR_ID = B.ATTR_ID + WHERE A.IDB_OBJ_ID = @IDB_OBJ_ID AND B.LANG_CODE = @LANG_CODE +OPEN cursorAttributes +FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME +WHILE @@FETCH_STATUS = 0 +BEGIN + PRINT CONVERT(VARCHAR(2),@ATTR_ID) + '#' + @TYPE_NAME + '#' + @ATTR_TITLE + IF @TYPE_NAME IN ('VARCHAR','VECTOR STRING') + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueText,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_TEXT] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME IN ('BIT','BIG INTEGER') + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueBigInt,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_INTEGER] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME = 'DATE' + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDate,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DATE] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + ELSE IF @TYPE_NAME = 'DECIMAL' + INSERT INTO @TBRESULT (AttributID,AttributTitle,AttributType,ValueDec,ADDED_WHEN,CHANGED_WHEN) + select + @ATTR_ID,@ATTR_TITLE,@TYPE_NAME,[dbo].[FNIDB_GET_TERM_DECIMAL] (@IDB_OBJ_ID,@ATTR_ID),T.ADDED_WHEN,T.CHANGED_WHEN + from + TBIDB_OBJECT_METADATA T + WHERE T.IDB_OBJ_ID = @IDB_OBJ_ID AND T.ATTR_ID = @ATTR_ID + FETCH NEXT FROM cursorAttributes INTO @ATTR_ID,@ATTR_TITLE,@TYPE_NAME +END +CLOSE cursorAttributes +DEALLOCATE cursorAttributes + +SELECT * FROM @TBRESULT order BY AttributID,ADDED_WHEN +GO + +ALTER TABLE TBIDB_DOC_INFO ADD FULL_TEXT VARBINARY(MAX) +GO +ALTER TABLE TBIDB_DOC_INFO ADD FILE_SIZE INTEGER +GO +ALTER TABLE TBIDB_FILE_OBJECT ADD FILE_SIZE BIGINT +GO +-- ============================================= +-- Author: DD MS 15.03.2021 +-- Change: 13.07.2021 Filesize +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_IDBFO] @REL_PATH VARCHAR(512),@FILESIZE BIGINT, @WHO VARCHAR(100), @IDB_OBJ_ID BIGINT,@OBJ_ST_ID INT +AS +BEGIN + DECLARE + @FILENAME_EXT VARCHAR(250), + @FILENAME_ONLY VARCHAR(250), + @RELATIVE_PATH VARCHAR(512), + @RELATIVE_PATH_ONLY VARCHAR(512), + @EXT VARCHAR(10) + + SET @FILENAME_ONLY = CONVERT(VARCHAR(20),@IDB_OBJ_ID) + '.ddfo' + --PRINT @FILENAME_ONLY + --PRINT @REL_PATH + SELECT @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,@FILENAME_ONLY,'') + --PRINT 'PRIDB_NEW_IDBFO - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY + DECLARE @RELPATH_TERM_ID BIGINT,@EXTENSION_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM 'VARCHAR',@RELATIVE_PATH_ONLY,@WHO,@TERM_ID = @RELPATH_TERM_ID OUTPUT; + SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); + EXEC PRIDB_NEW_TERM 'VARCHAR',@EXT,@WHO,@TERM_ID = @EXTENSION_TERM_ID OUTPUT; + + --SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@REL_PATH); + --SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@REL_PATH); + --SELECT @EXT = UPPER([dbo].[FNGetExtension] (@REL_PATH)); + PRINT 'PRIDB_NEW_IDBFO: ' + @REL_PATH + + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_FILE_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + INSERT INTO [dbo].[TBIDB_FILE_OBJECT] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,EXTENSION_TERM_ID + ,RELPATH_TERM_ID + ,FILE_SIZE + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@EXTENSION_TERM_ID + ,@RELPATH_TERM_ID + ,@FILESIZE + ,@WHO) + ELSE + BEGIN + --PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' + UPDATE TBIDB_FILE_OBJECT SET + EXTENSION_TERM_ID = @EXTENSION_TERM_ID + ,RELPATH_TERM_ID = @RELPATH_TERM_ID + ,FILE_SIZE = @FILESIZE + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) + BEGIN + PRINT 'PRIDB_NEW_IDBFO - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' + UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID + END + END + END +END +GO \ No newline at end of file diff --git a/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql b/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql new file mode 100644 index 0000000..bd37156 --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.0.9.sql @@ -0,0 +1,212 @@ + +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.0.9' where CONFIG_NAME = 'DB_VERSION' +GO + +CREATE TABLE [dbo].[TBIDB_OBJECT_METADATA_ADD]( + [GUID] BIGINT IDENTITY(1,1) NOT NULL, + [IDB_OBJ_ID] BIGINT NOT NULL, + [ATTR_ID] INT NOT NULL, + [TEXT_TERM_LANG_ID] BIGINT, + [INT_TERM_ID] BIGINT, + [DEC_TERM_ID] BIGINT, + [FLOAT_TERM_ID] BIGINT, + [DATE_TERM_ID] BIGINT, + [ADDED_WHO] VARCHAR(100), + [ADDED_WHEN] DATETIME NOT NULL, + CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_ATTRID FOREIGN KEY(ATTR_ID) REFERENCES TBIDB_ATTRIBUTE(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_IDBOBJID FOREIGN KEY(IDB_OBJ_ID) REFERENCES TBIDB_OBJECT(IDB_OBJ_ID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DATETERMID FOREIGN KEY(DATE_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DATE(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_DECTERMID FOREIGN KEY(DEC_TERM_ID) REFERENCES TBIDB_TERM_VALUE_DECIMAL(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_FLOATTERMID FOREIGN KEY(FLOAT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_FLOAT(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_INTTERMID FOREIGN KEY(INT_TERM_ID) REFERENCES TBIDB_TERM_VALUE_INTEGER(GUID), + CONSTRAINT FK_TBIDB_OBJECTMETADATAADD_TEXTTERMLANGID FOREIGN KEY(TEXT_TERM_LANG_ID) REFERENCES TBIDB_TERM_LANGUAGE(GUID), + ) + +GO +ALTER TABLE TBIDB_OBJECT_METADATA_DELETE +ADD ADDED_WHEN DATETIME; + +USE [IDB] +GO +--####################### +--Change 06.10.2021 ADDED_WHEN METADATA_DELETE +--####################### + +ALTER PROCEDURE [dbo].[PRIDB_DELETE_TERM_OBJECT_METADATA] @IDB_OBJ_ID BIGINT, @ATTRIBUTE VARCHAR(100), @TERM VARCHAR(900), @WHO VARCHAR(100),@LANG_CODE VARCHAR(5) = 'de-DE',@ID_ISFOREIGN as BIT = False +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT + --IF @ID_ISFOREIGN = 1 + -- BEGIN + -- SELECT @IDB_OBJ_ID = IDB_OBJ_ID FROM TBIDB_OBJECT WHERE REFERENCE_KEY = @IDB_OBJ_ID + -- END + + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + + DECLARE @MY_TERM_ID BIGINT + EXEC PRIDB_NEW_TERM @TYP_DESCR,@TERM,'',@TERM_ID = @MY_TERM_ID OUTPUT; + + PRINT '@MY_TERM_ID: ' + CONVERT(VARCHAR(10),@MY_TERM_ID) + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + PRINT 'Attribute is varchar...' + SELECT @MY_TERM_ID = MAX(GUID) FROM TBIDB_TERM_LANGUAGE WHERE LANGUAGE_ID = @LANG_ID AND TEXT_TERM_ID = @MY_TERM_ID + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED TEXT ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,TEXT_TERM_LANG_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND TEXT_TERM_LANG_ID = @MY_TERM_ID + END + ELSE + PRINT 'TERM SEEMS NOT TO EXIST' + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED INTEGER ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,INT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND INT_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED FLOAT ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,FLOAT_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND FLOAT_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DECIMAL ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DEC_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DEC_TERM_ID = @MY_TERM_ID + END + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + IF EXISTS(SELECT GUID FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID) + BEGIN + DELETE FROM TBIDB_OBJECT_METADATA WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + PRINT 'PRIDB_DEL_TERM_OBJECT_METADATA: DELETED DATE ROW!' + INSERT INTO TBIDB_OBJECT_METADATA_DELETE (IDB_OBJ_ID,ATTR_ID,DATE_TERM_ID,DELETED_WHO, ADDED_WHO,ADDED_WHEN) + SELECT @IDB_OBJ_ID,@ATTR_ID, @MY_TERM_ID,@WHO,ADDED_WHO,ADDED_WHEN FROM TBIDB_OBJECT_METADATA + WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND ATTR_ID = @ATTR_ID AND DATE_TERM_ID = @MY_TERM_ID + END + END + + +END +GO +-- ============================================= +-- Author: Digital Data, MS +-- Create date: 12.10.2021 +-- Description: Löscht User-Zuordnungen wo der USer nicht mehr Teil der Posteingangsgruppe ist +-- ============================================= +CREATE PROCEDURE [dbo].[PRIDB_GET_ATTRIBUTE_VALUE] @IDB_OBJ_ID BIGINT,@ATTRIBUTE VARCHAR(100), @LANG_CODE VARCHAR(5), @VALUE VARCHAR(MAX) OUTPUT +AS +BEGIN + DECLARE + @ATTR_ID INTEGER, + @TYP_ID TINYINT, + @TYP_DESCR VARCHAR(100), + @MULTI BIT, + @LANG_ID INT + + IF NOT EXISTS(SELECT GUID FROM TBIDB_ATTRIBUTE WHERE UPPER(TITLE) = UPPER(@ATTRIBUTE)) + RAISERROR ('NO VALID ATTRIBUTE',16,1) + + SELECT @ATTR_ID = T.GUID, @TYP_ID = T.TYP_ID, @MULTI = T.MULTI_CONTEXT,@TYP_DESCR = T1.NAME_TYPE FROM TBIDB_ATTRIBUTE T, TBIDB_ATTRIBUTE_TYPE T1 + WHERE T.TYP_ID = T1.GUID AND UPPER(T.TITLE) = UPPER(@ATTRIBUTE) + + IF @LANG_CODE = 'de-DE' + SET @LANG_ID = 1 + ELSE + SELECT @LANG_ID = GUID FROM TBIDB_LANGUAGE WHERE LANG_CODE = @LANG_CODE + + + IF @TYP_ID IN (1,8) --VARCHAR + BEGIN + select + @VALUE = TERM.TERM_VALUE + FROM + IDB.dbo.TBIDB_TERM_VALUE_VARCHAR TERM INNER JOIN IDB.dbo.TBIDB_TERM_LANGUAGE TLANG ON TERM.GUID = TLANG.TEXT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT_METADATA MD ON TLANG.GUID = MD.TEXT_TERM_LANG_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID AND TLANG.LANGUAGE_ID = @LANG_ID + END + ELSE IF @TYP_ID IN (2,7,9) --BIGINT + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_INTEGER TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 3 --FLOAT + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_FLOAT TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 4 --DECIMAL + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_DECIMAL TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END + ELSE IF @TYP_ID = 5 --DATE + BEGIN + select + @VALUE = CONVERT(VARCHAR(20),TERM.TERM_VALUE) + FROM + IDB.dbo.TBIDB_TERM_VALUE_DATE TERM INNER JOIN TBIDB_OBJECT_METADATA MD ON TERM.GUID = MD.INT_TERM_ID + INNER JOIN IDB.dbo.TBIDB_OBJECT OBJ ON MD.IDB_OBJ_ID = OBJ.IDB_OBJ_ID + WHERE + OBJ.DELETED = 0 AND + MD.IDB_OBJ_ID = @IDB_OBJ_ID ANd + MD.ATTR_ID = @ATTR_ID + END +END +GO \ No newline at end of file diff --git a/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql b/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql new file mode 100644 index 0000000..f12098f --- /dev/null +++ b/00_IDB/Update/Added2CreateDBObjects/1.1.0.sql @@ -0,0 +1,119 @@ +UPDATE TBIDB_BASE SET CONFIG_VALUE = '1.1.0' where CONFIG_NAME = 'DB_VERSION' +GO +ALTER TABLE TBIDB_DOC_INFO +ADD RELATIVE_PATH_ONLY_TERM BIGINT; +ALTER TABLE TBIDB_DOC_INFO +ADD EXTENSION_TERM BIGINT; + +DECLARe @RELPATH VARCHAR(5000),@IDBOBJID BIGINT,@Extens VARCHAR(10) +DECLARE cursor1 CURSOR FOR + Select IDB_OBJ_ID, RELATIVE_PATH_ONLY,EXTENSION from TBIDB_DOC_INFO + OPEN cursor1 + FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @TERMID BIGINT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELPATH,'Digital Data', @TERM_ID = @TERMID OUTPUT + DECLARE @TERM_EXTENS BIGINT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@Extens,'Digital Data', @TERM_ID = @TERM_EXTENS OUTPUT + + UPDATE TBIDB_DOC_INFO SET RELATIVE_PATH_ONLY_TERM = @TERMID, EXTENSION_TERM = @TERM_EXTENS, CHANGED_WHO = 'Digital Data' WHERE IDB_OBJ_ID = @IDBOBJID + FETCH NEXT FROM cursor1 INTO @IDBOBJID,@RELPATH,@Extens + END +CLOSE cursor1 +DEALLOCATE cursor1 +GO +ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN RELATIVE_PATH_ONLY_TERM BIGINT NOT NULL; +ALTER TABLE TBIDB_DOC_INFO ALTER COLUMN EXTENSION_TERM BIGINT NOT NULL; +ALTER TABLE TBIDB_DOC_INFO +ADD CONSTRAINT FKTBIDB_DOC_INFO_RELATIVEPATHONLYTERM FOREIGN KEY (RELATIVE_PATH_ONLY_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID); +ALTER TABLE TBIDB_DOC_INFO +ADD CONSTRAINT FKTBIDB_DOC_INFO_EXTENSIONTERM FOREIGN KEY (EXTENSION_TERM) REFERENCES TBIDB_TERM_VALUE_VARCHAR(GUID); +ALTER TABLE TBIDB_DOC_INFO +DROP COLUMN RELATIVE_PATH_ONLY; +ALTER TABLE TBIDB_DOC_INFO +DROP COLUMN EXTENSION; +USE [IDB_TEST] +GO +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +-- ============================================= +-- Author: DD MS +-- Changed: 01.11.2021 MS TERM_COLUMNS +-- Changed: 10.08.2020 MS Anpassung +-- ============================================= +ALTER PROCEDURE [dbo].[PRIDB_NEW_DOCUMENT] @OBJ_ST_ID INT, @REL_PATH VARCHAR(512),@WHO VARCHAR(100), @REF_DOCID BIGINT = 0, @BE VARCHAR(500) = '', @IDB_OBJ_ID BIGINT OUTPUT +AS +BEGIN + DECLARE + @SHARE_PATH VARCHAR(100), + @OBJ_STORE_PATH VARCHAR(250), + @NEW_FULL_PATH VARCHAR(512), + @FILENAME_EXT VARCHAR(250), + @FILENAME_ONLY VARCHAR(250), + @RELATIVE_PATH VARCHAR(512), + @RELATIVE_PATH_ONLY VARCHAR(512), + @EXT VARCHAR(10) + + SELECT + @SHARE_PATH = T.CAT_STRING, @OBJ_STORE_PATH = T1.OBJ_PATH + FROM TBIDB_CATALOG T, TBIDB_OBJECT_STORE T1 WHERE T1.CAT_ID = T.GUID AND T1.GUID = @OBJ_ST_ID + SET @NEW_FULL_PATH = UPPER(@SHARE_PATH + '\' + @OBJ_STORE_PATH + '\' + @REL_PATH) + SET @NEW_FULL_PATH = REPLACE(@NEW_FULL_PATH,'\\','') + SET @RELATIVE_PATH = UPPER(@REL_PATH) + PRINT 'PRIDB_NEW_DOCUMENT - @NEW_FULL_PATH: ' + @NEW_FULL_PATH + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH: ' + @RELATIVE_PATH + + --SELECT @RELATIVE_PATH_ONLY = [dbo].[FNGetDirectoryPath] (@NEW_FULL_PATH); + --PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY1: ' + @RELATIVE_PATH_ONLY + + SELECT @FILENAME_EXT = [dbo].[FNGetFileName] (@NEW_FULL_PATH); + SELECT @FILENAME_ONLY = [dbo].[FNGetFileNameWithoutExtension] (@NEW_FULL_PATH); + SELECT @EXT = UPPER([dbo].[FNGetExtension] (@NEW_FULL_PATH)); + SET @RELATIVE_PATH_ONLY = REPLACE(@REL_PATH,'\' + @FILENAME_EXT,'') + PRINT 'PRIDB_NEW_DOCUMENT - @RELATIVE_PATH_ONLY: ' + @RELATIVE_PATH_ONLY + DECLARE @RELATIVE_PATH_ONLY_TERM BIGINT,@EXTENSION_TERM BIGINT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@RELATIVE_PATH_ONLY,@WHO, @TERM_ID = @RELATIVE_PATH_ONLY_TERM OUTPUT + EXECUTE [dbo].[PRIDB_NEW_TERM] 'Varchar',@EXT,@WHO, @TERM_ID = @EXTENSION_TERM OUTPUT + --PRINT '@EXT: ' + @EXT + --IF NOT EXISTS(SELECT [IDB_OBJ_ID] FROM [TBIDB_DOC_INFO] WHERE [OBJ_ST_ID] = @OBJ_ST_ID AND UPPER([RELATIVE_PATH]) = @RELATIVE_PATH) + EXEC PRIDB_NEW_OBJECT 'DOC',@WHO,@BE,@REF_DOCID, @IDB_OBJ_ID = @IDB_OBJ_ID OUTPUT; + PRINT 'PRIDB_NEW_DOCUMENT - @IDB_OBJ_ID from PRIDB_NEW_OBJECT: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + BEGIN + IF NOT EXISTS(SELECT IDB_OBJ_ID FROM [TBIDB_DOC_INFO] WHERE IDB_OBJ_ID = @IDB_OBJ_ID) + INSERT INTO [dbo].[TBIDB_DOC_INFO] + ([IDB_OBJ_ID] + ,[OBJ_ST_ID] + ,[FILENAME_ONLY] + ,RELATIVE_PATH + ,RELATIVE_PATH_ONLY_TERM + ,EXTENSION_TERM + ,[ADDED_WHO]) + VALUES + (@IDB_OBJ_ID + ,@OBJ_ST_ID + ,@FILENAME_ONLY + ,@RELATIVE_PATH + ,@RELATIVE_PATH_ONLY_TERM + ,@EXTENSION_TERM + ,@WHO) + ELSE + BEGIN + PRINT 'OBJECT ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' ALREADY EXISTING ---- So ONLY UPDATE WITH NEW FILE PARAMS' + UPDATE [TBIDB_DOC_INFO] SET [FILENAME_EXT] = @FILENAME_EXT,[FILENAME_ONLY] = @FILENAME_ONLY + ,@EXTENSION_TERM = @EXTENSION_TERM + ,[RELATIVE_PATH] = @RELATIVE_PATH + ,RELATIVE_PATH_ONLY_TERM = @RELATIVE_PATH_ONLY_TERM + ,CHANGED_WHO = @WHO + WHERE IDB_OBJ_ID = @IDB_OBJ_ID + IF EXISTS(SELECT IDB_OBJ_ID FROM TBIDB_OBJECT WHERE IDB_OBJ_ID = @IDB_OBJ_ID AND DELETED = 1) + BEGIN + PRINT 'PRIDB_NEW_DOCUMENT - IDB_OBJ_ID: ' + CONVERT(VARCHAR(20),@IDB_OBJ_ID) + ' DELETED FLAG ACTIVE!!' + UPDATE TBIDB_OBJECT SET DELETED = 0 WHERE IDB_OBJ_ID = @IDB_OBJ_ID + END + END + END +END +GO diff --git a/02_GI/CreatDBObjects.sql b/02_GI/CreatDBObjects.sql new file mode 100644 index 0000000..5085ecf --- /dev/null +++ b/02_GI/CreatDBObjects.sql @@ -0,0 +1,667 @@ + +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.5.2.0' where NAME = 'Global-Indexer' +GO +UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W'; +CREATE TABLE TBGI_CONFIGURATION +( + GUID TINYINT, + WD_UNICODE BIT NOT NULL DEFAULT 0, + LICENSEKEY VARCHAR(1000) NOT NULL DEFAULT '', + IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '', + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_CONFIGURATION_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBGI_CONFIGURATION_GUID CHECK(GUID = 1) +) +GO +CREATE TRIGGER TBGI_CONFIGURATION_AFT_UPD ON TBGI_CONFIGURATION +FOR UPDATE +AS + UPDATE TBGI_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBGI_CONFIGURATION.GUID = INSERTED.GUID +GO + +INSERT INTO TBGI_CONFIGURATION(GUID,IDX_EMAIL_ID,LICENSEKEY) +VALUES + (1,'','lsHEktEpn3R1UiIxAnvtY7aM5dBRxgb7aYTlEzH52V0=') +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FILES_USER +( + GUID INT IDENTITY(1,1), + FILENAME2WORK VARCHAR(500) NOT NULL, + FILENAME_ONLY VARCHAR(250) NOT NULL DEFAULT '', + FILE_HASH VARCHAR(100), + USER@WORK VARCHAR(50) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + HANDLE_TYPE VARCHAR(50) NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBGI_FILES_USER PRIMARY KEY(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FOLDERWATCH_USER +( + GUID INTEGER IDENTITY(0,1), + [USER_ID] INT NOT NULL, + FOLDER_PATH VARCHAR(800) NOT NULL, + FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_FOLDERWATCH_USER PRIMARY KEY (GUID), + CONSTRAINT UQ_USER_FOLDERWATCHPATH UNIQUE([USER_ID],FOLDER_PATH), + CONSTRAINT FK_TBGI_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER TBGI_FOLDERWATCH_USER_AFT_UPD ON TBGI_FOLDERWATCH_USER +FOR UPDATE +AS + UPDATE TBGI_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBGI_FOLDERWATCH_USER.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_FUNCTION_REGEX + +( + GUID INTEGER IDENTITY(1,1), + FUNCTION_NAME VARCHAR(100) NOT NULL, + REGEX VARCHAR(2000) NOT NULL, + STRING1 VARCHAR(100), + STRING2 VARCHAR(100), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_FUNCTION_REGEX PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBGI_FUNCTION_REGEX_AFT_UPD ON TBGI_FUNCTION_REGEX +FOR UPDATE +AS + UPDATE TBGI_FUNCTION_REGEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_FUNCTION_REGEX.GUID = INSERTED.GUID +GO + + +INSERT INTO TBGI_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES +('FROM_EMAIL_HEADER','From:(?:\s*[\w\s\d.@&,|+%\)\(\-]*<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') +GO +INSERT INTO TBGI_FUNCTION_REGEX(FUNCTION_NAME,REGEX) VALUES +('TO_EMAIL_HEADER','To:(?:\s*[\w\s\d.@&,|+%\)\(\-]+<|\s*=\?[\w\s\d.@&,|+%?=\)\(\-]+\?=\s*<|\s*""[\w\s\d.@&,|+%\)\(\-]+""\s*<|\s*)([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,})>?') +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_HISTORY +( + GUID INT IDENTITY(1,1), + FILENAME_ORIGINAL VARCHAR(512), + FILENAME_NEW VARCHAR(512), + INDEX1 VARCHAR(250), + INDEX2 VARCHAR(250), + INDEX3 VARCHAR(250), + INDEX4 VARCHAR(250), + INDEX5 VARCHAR(250), + INDEX6 VARCHAR(250), + INDEX7 VARCHAR(250), + INDEX8 VARCHAR(250), + INDEX9 VARCHAR(250), + INDEX10 VARCHAR(250), + MSG_ID VARCHAR(250), + ATTACHMENT BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + ADDED_WHERE VARCHAR(100), + CONSTRAINT PK_TBGI_HISTORY PRIMARY KEY(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TABLE TBGI_OBJECTTYPE_EMAIL_INDEX + +( + GUID INTEGER IDENTITY(1,1), + OBJECTTYPE VARCHAR(100) NOT NULL, + IDX_EMAIL_ID VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_FROM VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_TO VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_SUBJECT VARCHAR(50) NOT NULL DEFAULT '', + IDX_EMAIL_DATE_IN VARCHAR(50) NOT NULL DEFAULT '', + IDX_CHECK_ATTACHMENT VARCHAR(50) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_OBJECTTYPE_EMAIL_INDEX PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBGI_OBJECTTYPE_EMAIL_INDEX_AFT_UPD ON TBGI_OBJECTTYPE_EMAIL_INDEX +FOR UPDATE +AS + UPDATE TBGI_OBJECTTYPE_EMAIL_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBGI_OBJECTTYPE_EMAIL_INDEX.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_PROFILE +( + GUID INTEGER IDENTITY(1,1), + NAME VARCHAR(50) NOT NULL, + OBJECTTYPE VARCHAR(100) NOT NULL, + WD_SEARCH VARCHAR(250) NOT NULL, + HOTKEY1 VARCHAR(10) NOT NULL, + HOTKEY2 VARCHAR(5) NOT NULL, + WINDOW_NAME VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBHOTKEY_PROFILE PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBHOTKEY_PROFILE_UPD ON TBHOTKEY_PROFILE +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PROFILE.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ + +CREATE TABLE TBHOTKEY_PATTERNS +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + PATTERN_WDSEARCH VARCHAR(50) NOT NULL, + WINDOW_CONTROL VARCHAR(100) NOT NULL, + SEQUENCE_NUMBER INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBHOTKEY_PATTERNS PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_PATTERNS_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_PATTERNS_AFT_UPD ON TBHOTKEY_PATTERNS +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PATTERNS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_WINDOW_HOOK +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + SEQUENCE_NUMBER INTEGER NOT NULL, + CONTROL_VALUE VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PKTBHOTKEY_WINDOW_HOOK PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_WINDOW_HOOK_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_WINDOW_HOOK_AFT_UPD ON TBHOTKEY_WINDOW_HOOK +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_WINDOW_HOOK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_WINDOW_HOOK.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_PATTERNS_REWORK +( + GUID INT IDENTITY(1,1), + HKPATTERN_ID INT NOT NULL, + TYPE VARCHAR(30) NOT NULL, + FUNCTION1 VARCHAR(250) DEFAULT '', + FUNCTION2 VARCHAR(250) DEFAULT '', + TEXT1 VARCHAR(100) DEFAULT '', + TEXT2 VARCHAR(100) DEFAULT '', + SEQUENCE INTEGER NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBHOTKEY_PATTERNS_REWORK PRIMARY KEY(GUID), + CONSTRAINT FK_TBHOTKEY_PATTERNS_REWORK_HKPATTERN_ID FOREIGN KEY(HKPATTERN_ID) REFERENCES TBHOTKEY_PATTERNS(GUID) +) +GO +CREATE TRIGGER TTBHOTKEY_PATTERNS_REWORK_AFT_UPD ON TBHOTKEY_PATTERNS_REWORK +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_PATTERNS_REWORK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_PATTERNS_REWORK.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEY_USER_PROFILE +( + GUID INT IDENTITY(1,1), + HKPROFILE_ID INT NOT NULL, + [USER_ID] INT NOT NULL, + WD_SEARCH VARCHAR(250) NOT NULL DEFAULT '', + HOTKEY1 VARCHAR(10) NOT NULL DEFAULT '', + HOTKEY2 VARCHAR(5) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBHOTKEY_USER_PROFILE PRIMARY KEY (GUID), + CONSTRAINT UQ_TBHOTKEY_USER_PROFILE UNIQUE (HKPROFILE_ID,[USER_ID]), + CONSTRAINT FK_TBHOTKEY_USER_PROFILE_PROFILE_ID FOREIGN KEY(HKPROFILE_ID) REFERENCES TBHOTKEY_PROFILE(GUID), + CONSTRAINT FK_TBHOTKEY_USER_PROFILE_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID) +) +GO +CREATE TRIGGER TBHOTKEY_USER_PROFILE_AFT_UPD ON TBHOTKEY_USER_PROFILE +FOR UPDATE +AS +BEGIN + UPDATE TBHOTKEY_USER_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBHOTKEY_USER_PROFILE.GUID = INSERTED.GUID +END +GO +------------------------------------------------------------------------------ +CREATE TABLE TBHOTKEYTEMP_USER_HOTKEYS +( + HOTKEY_ID INTEGER NOT NULL, + HOTKEY1 VARCHAR(10) NOT NULL, + HOTKEY2 VARCHAR(5) NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBHOTKEYTEMP_USER_HOTKEYS PRIMARY KEY (HOTKEY1,HOTKEY2,[USER_ID]) +) +GO +------------------------------------------------------------------------------ +--############# VIEWS ################# +------------------------------------------------------------------------------ +------------------------------------------------------------------------------ +CREATE VIEW VWGI_DOCTYPE_GROUP AS +SELECT + T.GUID, + T.DOCTYPE_ID, + T2.BEZEICHNUNG AS DOCTYPE, + T.GROUP_ID, + T1.NAME AS [GROUP], + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHEN +FROM + TBDD_USRGRP_DOKTYPE T, + TBDD_GROUPS T1, + TBDD_DOKUMENTART T2 +WHERE + T.DOCTYPE_ID = T2.GUID AND + T.GROUP_ID = T1.GUID +GO +------------------------------------------------------------------------------ +CREATE VIEW VWGI_USER_GROUPS_RELATION AS +SELECT + T.GUID, + T.USER_ID, + T2.USERNAME, + T.GROUP_ID, + T1.NAME, + T.[ADDED_WHO], + T.[ADDED_WHEN], + T.[CHANGED_WHO], + T.[CHANGED_WHEN] + FROM + TBDD_GROUPS_USER T, + TBDD_GROUPS T1, + TBDD_USER T2 +WHERE + T.GROUP_ID = T1.GUID AND + T.USER_ID = T2.GUID AND + T1.INTERNAL = 0 AND + T1.ACTIVE = 1 +GO +------------------------------------------------------------------------------ +--############# PROCEDURES ################# +------------------------------------------------------------------------------ +CREATE PROCEDURE [dbo].[PRDD_GLOBIX_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBPMO_CLIENT_DOCTYPE', N'U') IS NOT NULL + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + IF OBJECT_ID(N'dbo.TBPMO_TEMPLATE', N'U') IS NOT NULL + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + IF OBJECT_ID(N'dbo.TBPMO_WD_FORMVIEW_DOKTYPES', N'U') IS NOT NULL + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + + DELETE FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID IN (SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID) + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT) +AS +DECLARE @NEWDOCTYPE_ID INT + +BEGIN + INSERT INTO TBDD_DOKUMENTART ( + BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING + ) + SELECT + 'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID + + SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE') + + INSERT INTO TBDD_INDEX_AUTOM ( + DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO) + SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID + + DECLARE + @MANINDEX_ID INTEGER, + @NEW_ID INTEGER + DECLARE c_INDEX CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE + OPEN c_INDEX + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_INDEX_MAN ( + DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES) + SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID + + SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID + + --Nachbearbeitungsfunktionen hinzufügen + IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID) + BEGIN + DECLARE + @NB_ID INTEGER + DECLARE c_NBFUNCTION CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC + OPEN c_NBFUNCTION + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID) + INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING ( + IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT) + SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT + FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + END + CLOSE c_NBFUNCTION + DEALLOCATE c_NBFUNCTION + END + + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + END + CLOSE c_INDEX + DEALLOCATE c_INDEX +END +GO +ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_NEW VARCHAR(500) NOT NULL +GO +ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_ORIGINAL VARCHAR(500) NOT NULL +GO + +CREATE VIEW [dbo].[VWGI_DOCTYPE_IDB] AS +SELECT DISTINCT + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T6.OBJECT_TITLE AS OBJECT_STORE, + T4.IDB_OBJECT_STORE_ID OBJECT_ST_ID, + T7.CAT_TITLE AS OBJECT_ST_PATH, + T4.ERSTELLTWANN, + T4.GEAENDERTWANN, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_DOKUMENTART T4 LEFT JOIN IDB.dbo.TBIDB_OBJECT_STORE T6 ON T4.IDB_OBJECT_STORE_ID = T6.GUID + LEFT JOIN IDB.dbo.TBIDB_CATALOG T7 On T6.CAT_ID = T7.GUID +WHERE + --T4.AKTIV = 1 AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO +CREATE VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.ERSTELLTWANN, + T4.GEAENDERTWANN, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_DOKUMENTART T4 +WHERE + --T4.AKTIV = 1 AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + +CREATE VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS +SELECT + T.GUID, + T.USER_ID, + T2.USERNAME, + T.GROUP_ID, + T1.NAME, + T.[ADDED_WHO], + T.[ADDED_WHEN], + T.[CHANGED_WHO], + T.[CHANGED_WHEN] + FROM + TBDD_GROUPS_USER T, + TBDD_GROUPS T1, + TBDD_USER T2 +WHERE + T.GROUP_ID = T1.GUID AND + T.USER_ID = T2.GUID AND + T1.INTERNAL = 0 AND + T1.ACTIVE = 1 +GO +CREATE VIEW [dbo].[VWGI_DOCTYPE_USER] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T5.OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_GROUPS_USER T1, + DD_ECM.dbo.TBDD_GROUPS T2, + DD_ECM.dbo.TBDD_USRGRP_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4, + IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID = T5.DOCTYPE_ID AND + + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T5.OBJECT_ST_ID, + T4.SEQUENCE +FROM + DD_ECM.dbo.TBDD_USER T, + DD_ECM.dbo.TBDD_USER_DOKTYPE T3, + DD_ECM.dbo.TBDD_DOKUMENTART T4, + IDB.dbo.TBIDB_DOCTYPE_OBJECT_STORE T5 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID = T5.DOCTYPE_ID AND + T4.GUID in (SELECT DOKART_ID FROM DD_ECM.dbo.TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM DD_ECM.dbo.TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + + +CREATE VIEW [dbo].[VWGI_DOCTYPE_GROUP] AS +SELECT + T.GUID, + T.DOCTYPE_ID, + T2.BEZEICHNUNG AS DOCTYPE, + T.GROUP_ID, + T1.NAME AS [GROUP], + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHEN +FROM + TBDD_USRGRP_DOKTYPE T, + TBDD_GROUPS T1, + TBDD_DOKUMENTART T2 +WHERE + T.DOCTYPE_ID = T2.GUID AND + T.GROUP_ID = T1.GUID AND + T1.ACTIVE = 1 AND + T2.AKTIV = 1 +GO +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Global-Indexer'))) +GO + +ALTER VIEW [dbo].[VWDDINDEX_MAN] +AS +SELECT TOP 2000 + T.GUID, + T.NAME INDEXNAME, + T.WD_INDEX, + T.MULTISELECT, + T.COMMENT, + T.DATATYPE, + T.DOK_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.SUGGESTION, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_CHECK, + T.OPTIONAL, + T.SAVE_VALUE +FROM + TBDD_INDEX_MAN T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOK_ID, + T.GUID +GO +CREATE TABLE TBGI_REGEX_DOCTYPE( + GUID INTEGER NOT NULL IDENTITY(1,1), + REGEX VARCHAR(500) NOT NULL, + DOCTYPE_ID INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_REGEX_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBGI_REGEX_DOCTYPE_DTID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID) +) +GO +CREATE TRIGGER TBGI_REGEX_DOCTYPE_AFT_UPD ON TBGI_REGEX_DOCTYPE +FOR UPDATE +AS + UPDATE TBGI_REGEX_DOCTYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBGI_REGEX_DOCTYPE.GUID = INSERTED.GUID +GO +ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100) +GO +IF EXISTS (SELECT name from sys.indexes + WHERE name = N'UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID') + DROP INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID ON TBGI_REGEX_DOCTYPE; +GO +CREATE UNIQUE INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID + ON TBGI_REGEX_DOCTYPE (DOCTYPE_ID); +GO +ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER) +AS +DECLARE @MODULEID INTEGER +SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' + +If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID) + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE') +GO + + + + + + + diff --git a/02_GI/Updates/2.4.0.0.sql b/02_GI/Updates/2.4.0.0.sql new file mode 100644 index 0000000..9f8dd9e --- /dev/null +++ b/02_GI/Updates/2.4.0.0.sql @@ -0,0 +1,3 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.0' where NAME = 'Global-Indexer' +GO +ALTER TABLE TBDD_INDEX_AUTOM ADD [SEQUENCE] TINYINT NOT NULL DEFAULT 0; \ No newline at end of file diff --git a/02_GI/Updates/2.5.0.0.sql b/02_GI/Updates/2.5.0.0.sql new file mode 100644 index 0000000..36876e3 --- /dev/null +++ b/02_GI/Updates/2.5.0.0.sql @@ -0,0 +1,18 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.0' where NAME = 'Global-Indexer' +GO + +ALTER TABLE TBGI_HISTORY ADD FILE_HASH VARCHAR(100) NULL +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX1 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX2 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX3 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX4 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX5 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX6 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX7 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX8 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX9 VARCHAR(250) +ALTER TABLE TBGI_HISTORY ALTER COLUMN INDEX10 VARCHAR(250) +GO + +ALTER TABLE TBGI_FILES_USER ADD FILE_HASH VARCHAR(100) NULL +GO \ No newline at end of file diff --git a/02_GI/Updates/2.5.0.1.sql b/02_GI/Updates/2.5.0.1.sql new file mode 100644 index 0000000..c9b4c26 --- /dev/null +++ b/02_GI/Updates/2.5.0.1.sql @@ -0,0 +1,5 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.1' where NAME = 'Global-Indexer' +GO + +ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100) NULL +GO \ No newline at end of file diff --git a/02_GI/Updates/2.5.1.0.sql b/02_GI/Updates/2.5.1.0.sql new file mode 100644 index 0000000..3a77c04 --- /dev/null +++ b/02_GI/Updates/2.5.1.0.sql @@ -0,0 +1,34 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.1.0' where NAME = 'Global-Indexer' +GO + +ALTER VIEW [dbo].[VWDDINDEX_AUTOM] +AS +SELECT TOP 100 PERCENT + T.GUID, + T.INDEXNAME, + T.COMMENT, + T.DOCTYPE_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_ACTIVE, + T.VALUE, + T.[SEQUENCE] +FROM + TBDD_INDEX_AUTOM T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOCTYPE_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOCTYPE_ID, + T.GUID + +GO diff --git a/02_GI/Updates/2.5.2.0.sql b/02_GI/Updates/2.5.2.0.sql new file mode 100644 index 0000000..9cb289b --- /dev/null +++ b/02_GI/Updates/2.5.2.0.sql @@ -0,0 +1,59 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.2.0' where NAME = 'Global-Indexer' +GO + + +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + --'' AS GROUP_NAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.IDB_FILESTORE_ID, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_USER_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO + + diff --git a/02_GI/Updates/Added2MainScript/1.9.3.1.sql b/02_GI/Updates/Added2MainScript/1.9.3.1.sql new file mode 100644 index 0000000..88a9fdf --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.3.1.sql @@ -0,0 +1,9 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.9.3.1' where NAME = 'Global-Indexer' +GO +ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_NEW VARCHAR(500) NOT NULL +GO +ALTER TABLE TBGI_HISTORY ALTER COLUMN FILENAME_ORIGINAL VARCHAR(500) NOT NULL +GO + + + diff --git a/02_GI/Updates/Added2MainScript/1.9.8.2.sql b/02_GI/Updates/Added2MainScript/1.9.8.2.sql new file mode 100644 index 0000000..419f226 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.8.2.sql @@ -0,0 +1,37 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.9.8.2' where NAME = 'Global-Indexer' +GO + +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_USER_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GI'))) + + + + +GO + + diff --git a/02_GI/Updates/Added2MainScript/1.9.8.3.sql b/02_GI/Updates/Added2MainScript/1.9.8.3.sql new file mode 100644 index 0000000..2a5cc2b --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.8.3.sql @@ -0,0 +1,6 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.3' where NAME = 'Global-Indexer' +GO + +ALTER TABLE TBDD_DOKUMENTART +ADD DUPLICATE_HANDLING VARCHAR(30) NOT NULL DEFAULT 'Default' +GO \ No newline at end of file diff --git a/02_GI/Updates/Added2MainScript/1.9.8.4.sql b/02_GI/Updates/Added2MainScript/1.9.8.4.sql new file mode 100644 index 0000000..eb81dc8 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.8.4.sql @@ -0,0 +1,192 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.4' where NAME = 'Global-Indexer' +GO +ALTER VIEW [dbo].[VWGI_USER_GROUPS_RELATION] AS +SELECT + T.GUID, + T.USER_ID, + T2.USERNAME, + T.GROUP_ID, + T1.NAME, + T.[ADDED_WHO], + T.[ADDED_WHEN], + T.[CHANGED_WHO], + T.[CHANGED_WHEN] + FROM + TBDD_GROUPS_USER T, + TBDD_GROUPS T1, + TBDD_USER T2 +WHERE + T.GROUP_ID = T1.GUID AND + T.USER_ID = T2.GUID AND + T1.INTERNAL = 0 AND + T1.ACTIVE = 1 +GO +ALTER VIEW [dbo].[VWGI_DOCTYPE_GROUP] AS +SELECT + T.GUID, + T.DOCTYPE_ID, + T2.BEZEICHNUNG AS DOCTYPE, + T.GROUP_ID, + T1.NAME AS [GROUP], + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHEN +FROM + TBDD_USRGRP_DOKTYPE T, + TBDD_GROUPS T1, + TBDD_DOKUMENTART T2 +WHERE + T.DOCTYPE_ID = T2.GUID AND + T.GROUP_ID = T1.GUID AND + T1.ACTIVE = 1 AND + T2.AKTIV = 1 +GO +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + T2.NAME AS GROUP_NAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG + ' - ' + T2.NAME AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Global-Indexer'))) +GO + + + +CREATE FUNCTION [dbo].[FNDD_CHECK_USER_MODULE] (@pUSERNAME VARCHAR(100), @pMODULE_SHORT_NAME VARCHAR(10),@pCLIENTID INTEGER) +RETURNS @Table TABLE + (SequentialOrder INT IDENTITY(1, 1), + USER_ID INTEGER, + USER_PRENAME VARCHAR(50), + USER_SURNAME VARCHAR(50), + USER_SHORTNAME VARCHAR(50), + USER_EMAIL VARCHAR(100), + USER_LANGUAGE VARCHAR(10), + USER_RIGHT_FILE_DEL BIT, + MODULE_ACCESS BIT, + IS_ADMIN BIT, + USERCOUNT_LOGGED_IN INTEGER, + COMMENT VARCHAR(500)) +AS +BEGIN +/* +This function checks all user-relevant relations an +*/ + DECLARE + @RESULT VARCHAR(500), + @USER_ID INTEGER, + @USER_PRENAME VARCHAR(50), + @USER_SURNAME VARCHAR(50), + @USER_SHORTNAME VARCHAR(50), + @USER_EMAIL VARCHAR(50), + @USER_LANGUAGE VARCHAR(10), + @IS_IN_MODULE BIT, + @IS_ADMIN BIT, + @USER_RIGHT_FILE_DEL BIT, + @USERCOUNT_LOGGED_IN INTEGER, + @MODULE_NAME VARCHAR(100), + @MODULE_GUID INTEGER, + @USER_GROUPNAME VARCHAR(100), + @ADMIN_GROUPNAME VARCHAR(100) + + SET @USER_ID = 0 + SET @IS_ADMIN = 0 + SET @IS_IN_MODULE = 0 + SET @USERCOUNT_LOGGED_IN = 0 + SET @RESULT = '' + IF @pMODULE_SHORT_NAME = 'PM' + BEGIN + SET @USER_GROUPNAME = 'PM_USER' + SET @ADMIN_GROUPNAME = 'PM_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'CW' + BEGIN + SET @USER_GROUPNAME = 'CW_USER' + SET @ADMIN_GROUPNAME = 'CW_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'ADDI' + BEGIN + SET @USER_GROUPNAME = 'ADDI_USER' + SET @ADMIN_GROUPNAME = 'ADDI_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'GLOBIX' + BEGIN + SET @USER_GROUPNAME = 'GLOBIX_USER' + SET @ADMIN_GROUPNAME = 'GLOBIX_ADMINS' + END + ELSE IF @pMODULE_SHORT_NAME = 'UM' + BEGIN + SET @USER_GROUPNAME = 'XXXX' + SET @ADMIN_GROUPNAME = 'UM_ADMINS' + END + + SELECT @MODULE_GUID = GUID, @MODULE_NAME = NAME FROM TBDD_MODULES WHERE SHORT_NAME = @pMODULE_SHORT_NAME + + IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME)) + BEGIN + SET @RESULT = 'USER NOT CONFIGURED OR LISTED' + END + ELSE + BEGIN + SELECT @USER_ID = GUID,@USER_PRENAME = PRENAME, + @USER_SURNAME = NAME, @USER_SHORTNAME = SHORTNAME,@USER_EMAIL = EMAIL,@USER_LANGUAGE = LANGUAGE FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@pUSERNAME) + SELECT @USERCOUNT_LOGGED_IN = COUNT(*) FROM TBDD_USER_MODULE_LOG_IN WHERE UPPER(MODULE) = UPPER(@MODULE_NAME) AND CLIENT_ID = @pCLIENTID + --CHECK USER ÍS IN MODULE_USER_GROUP + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @USER_GROUPNAME) + BEGIN + SET @IS_IN_MODULE = 1 + SET @RESULT = 'User is part of Group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| User is also configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + ELSE + BEGIN + SET @RESULT = 'User not part of group (' + @USER_GROUPNAME + ')' + IF EXISTS(select T.* from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID) + BEGIN + SET @RESULT = @RESULT + '| BUT User configured in User-Modules' + select @IS_ADMIN = T.IS_ADMIN,@USER_RIGHT_FILE_DEL = T.RIGHT1 from TBDD_USER_MODULES T WHERE T.USER_ID = @USER_ID AND T.MODULE_ID = @MODULE_GUID + END + END + + IF EXISTS(select T1.* from TBDD_GROUPS T, TBDD_GROUPS_USER T1 WHERE T.GUID = T1.GROUP_ID AND T1.USER_ID = @USER_ID AND UPPER(T.NAME) = @ADMIN_GROUPNAME) + BEGIN + SET @RESULT = @RESULT + '| User is part of group (' + @ADMIN_GROUPNAME + ')' + SET @IS_ADMIN = 1 + SET @IS_IN_MODULE = 1 + END + + END + +INSERT INTO @Table (USER_ID,USER_PRENAME, USER_SURNAME,USER_SHORTNAME,USER_EMAIL,USER_LANGUAGE, USER_RIGHT_FILE_DEL, MODULE_ACCESS,IS_ADMIN,USERCOUNT_LOGGED_IN, COMMENT) + VALUES (@USER_ID,@USER_PRENAME,@USER_SURNAME,@USER_SHORTNAME,@USER_EMAIL,@USER_LANGUAGE,@USER_RIGHT_FILE_DEL,@IS_IN_MODULE,@IS_ADMIN,@USERCOUNT_LOGGED_IN,@RESULT) + +RETURN +END + +GO + + + diff --git a/02_GI/Updates/Added2MainScript/1.9.8.5.sql b/02_GI/Updates/Added2MainScript/1.9.8.5.sql new file mode 100644 index 0000000..ff91200 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.8.5.sql @@ -0,0 +1,50 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.5' where NAME = 'Global-Indexer' +GO +ALTER TABLE TBDD_INDEX_MAN ADD MULTISELECT BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW [dbo].[VWDDINDEX_MAN] +AS +SELECT TOP 2000 + T.GUID, + T.NAME INDEXNAME, + T.WD_INDEX, + T.MULTISELECT, + T.COMMENT, + T.DATATYPE, + T.DOK_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.SUGGESTION, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_CHECK, + T.OPTIONAL, + T.SAVE_VALUE +FROM + TBDD_INDEX_MAN T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOK_ID, + T.GUID +GO +IF COL_LENGTH('TBDD_INDEX_MAN','VKT_ADD_ITEM') IS NULL +BEGIN +ALTER TABLE TBDD_INDEX_MAN + ADD [VKT_ADD_ITEM] BIT NOT NULL DEFAULT 0 +END +GO +IF COL_LENGTH('TBDD_INDEX_MAN','VKT_PREVENT_MULTIPLE_VALUES') IS NULL +BEGIN +ALTER TABLE TBDD_INDEX_MAN + ADD [VKT_PREVENT_MULTIPLE_VALUES] BIT NOT NULL DEFAULT 1 +END +GO diff --git a/02_GI/Updates/Added2MainScript/1.9.8.6.sql b/02_GI/Updates/Added2MainScript/1.9.8.6.sql new file mode 100644 index 0000000..a3f100d --- /dev/null +++ b/02_GI/Updates/Added2MainScript/1.9.8.6.sql @@ -0,0 +1,23 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.9.8.6' where NAME = 'Global-Indexer' +GO +CREATE TABLE TBGI_REGEX_DOCTYPE( + GUID INTEGER NOT NULL IDENTITY(1,1), + REGEX VARCHAR(500) NOT NULL, + DOCTYPE_ID INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBGI_REGEX_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBGI_REGEX_DOCTYPE_DTID FOREIGN KEY (DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART (GUID) +) +GO +CREATE TRIGGER TBGI_REGEX_DOCTYPE_AFT_UPD ON TBGI_REGEX_DOCTYPE +FOR UPDATE +AS + UPDATE TBGI_REGEX_DOCTYPE SET CHANGED_WHEN = GETDATE() + FROM INSERTED + WHERE TBGI_REGEX_DOCTYPE.GUID = INSERTED.GUID +GO +ALTER TABLE TBGI_HISTORY ADD ADDED_WHERE VARCHAR(100) +GO \ No newline at end of file diff --git a/02_GI/Updates/Added2MainScript/2.0.0.0.sql b/02_GI/Updates/Added2MainScript/2.0.0.0.sql new file mode 100644 index 0000000..f54aca7 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.0.0.0.sql @@ -0,0 +1,4 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.0' where NAME = 'Global-Indexer' +GO + + diff --git a/02_GI/Updates/Added2MainScript/2.0.0.1.sql b/02_GI/Updates/Added2MainScript/2.0.0.1.sql new file mode 100644 index 0000000..3338fc3 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.0.0.1.sql @@ -0,0 +1,52 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.1' where NAME = 'Global-Indexer' +GO + +ALTER VIEW [dbo].[VWGI_DOCTYPE] AS +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + T3.DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_GROUPS_USER T1, + TBDD_GROUPS T2, + TBDD_USRGRP_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T1.[USER_ID] AND + T1.GROUP_ID = T2.GUID AND + T2.GUID = T3.GROUP_ID AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +UNION +SELECT DISTINCT + T.GUID AS [USER_ID], + T.USERNAME, + T4.GUID as DOCTYPE_ID, + T4.BEZEICHNUNG AS DOCTYPE, + T4.BEZEICHNUNG AS DOCTYPE_ONLY, + T4.KURZNAME, + T4.ZIEL_PFAD, + T4.AKTIV, + T4.NAMENKONVENTION, + T4.OBJEKTTYP, + T4.SEQUENCE +FROM + TBDD_USER T, + TBDD_USER_DOKTYPE T3, + TBDD_DOKUMENTART T4 +WHERE + T4.AKTIV = 1 AND + T.GUID = T3.[USER_ID] AND + T3.DOCTYPE_ID = T4.GUID AND + T4.GUID in (SELECT DOKART_ID FROM TBDD_DOKUMENTART_MODULE WHERE MODULE_ID = (SELECT GUID FROM TBDD_MODULES WHERE UPPER(SHORT_NAME) = ('GLOBIX'))) +GO diff --git a/02_GI/Updates/Added2MainScript/2.0.0.12.sql b/02_GI/Updates/Added2MainScript/2.0.0.12.sql new file mode 100644 index 0000000..4ed0f68 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.0.0.12.sql @@ -0,0 +1,14 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.12' where NAME = 'Global-Indexer' +GO +ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER) +AS +BEGIN + DECLARE @MODULEID INTEGER + SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' + + If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID) + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID) VALUES (@DOCTYPE_ID,@MODULEID) +END +GO + +UPDATE TBDD_MODULES SET STRING1 = '\\windream\objects' WHERE SHORT_NAME = 'GLOBIX' AND STRING1 = 'W' \ No newline at end of file diff --git a/02_GI/Updates/Added2MainScript/2.0.0.16.sql b/02_GI/Updates/Added2MainScript/2.0.0.16.sql new file mode 100644 index 0000000..09597be --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.0.0.16.sql @@ -0,0 +1,35 @@ +IF COL_LENGTH('TBDD_MODULES','DB_VERSION') IS NULL +BEGIN +ALTER TABLE TBDD_MODULES + ADD [DB_VERSION] VARCHAR(10) NOT NULL DEFAULT '1.0.0.0' + +END +GO +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.16' where NAME = 'Global-Indexer' +GO +IF OBJECT_ID('TBDD_USER_DOKTYPE', 'U') IS NULL +BEGIN + CREATE TABLE [dbo].[TBDD_USER_DOKTYPE]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [DOCTYPE_ID] [int] NOT NULL, + [USER_ID] [int] NOT NULL, + [ADDED_WHO] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NULL, + [CHANGED_WHEN] [datetime] NULL, + CONSTRAINT [PKTBDD_USER_DOKTYPE] PRIMARY KEY CLUSTERED + ( + [GUID] ASC + )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + ) ON [PRIMARY]; + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT ('Digital Data') FOR [ADDED_WHO]; + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] ADD DEFAULT (getdate()) FOR [ADDED_WHEN]; + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID]) + REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]); + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_DOCTYPE_ID]; + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] WITH CHECK ADD CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID] FOREIGN KEY([USER_ID]) + REFERENCES [dbo].[TBDD_USER] ([GUID]); + ALTER TABLE [dbo].[TBDD_USER_DOKTYPE] CHECK CONSTRAINT [FK_TBDD_USER_DOKTYPE_USER_ID]; +END + + + diff --git a/02_GI/Updates/Added2MainScript/2.0.0.34.sql b/02_GI/Updates/Added2MainScript/2.0.0.34.sql new file mode 100644 index 0000000..c6ca611 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.0.0.34.sql @@ -0,0 +1,20 @@ +/* + VOR DEM AUSFÜHREN DIESER DATEI MÜSSEN ZUERST DIE EINTRÄGE IN DER TABELLE0 "TBGI_REGEX_DOCTYPE" BEREINIGT WERDEN! + ES MÜSSEN DOPPELTE EINTRÄGE FÜR EIN PROFIL ENTFERNT WERDEN! +*/ +IF COL_LENGTH('TBDD_MODULES','DB_VERSION') IS NULL +BEGIN +ALTER TABLE TBDD_MODULES + ADD [DB_VERSION] VARCHAR(10) NOT NULL DEFAULT '1.0.0.0' +END +GO +UPDATE TBDD_MODULES SET DB_VERSION = '2.0.0.34' where NAME = 'Global-Indexer' +GO + +IF EXISTS (SELECT name from sys.indexes + WHERE name = N'UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID') + DROP INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID ON TBGI_REGEX_DOCTYPE; +GO +CREATE UNIQUE INDEX UQ_TBGI_REGEX_DOCTYPE_DOCTYPE_ID + ON TBGI_REGEX_DOCTYPE (DOCTYPE_ID); +GO \ No newline at end of file diff --git a/02_GI/Updates/Added2MainScript/2.3.0.0.sql b/02_GI/Updates/Added2MainScript/2.3.0.0.sql new file mode 100644 index 0000000..82a6594 --- /dev/null +++ b/02_GI/Updates/Added2MainScript/2.3.0.0.sql @@ -0,0 +1,74 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.0.0' where NAME = 'Global-Indexer' +GO +ALTER TABLE TBPM_CONTROL_TABLE ADD DEFAULT_VALUE VARCHAR (MAX) NOT NULL DEFAULT ''; +ALTER TABLE TBPM_CONTROL_TABLE ADD ADVANCED_LOOKUP BIT NOT NULL DEFAULT 0; + +ALTER PROCEDURE [dbo].[PRDD_CHECK_REL_DOCTYPE_MODULE] (@MODULE_SHORT VARCHAR(20),@DOCTYPE_ID INTEGER) +AS +DECLARE @MODULEID INTEGER +SELECT @MODULEID = GUID FROM TBDD_MODULES WHERE SHORT_NAME = 'GLOBIX' + +If not exists(select guid from TBDD_DOKUMENTART_MODULE where DOKART_ID = @DOCTYPE_ID and MODULE_ID = @MODULEID) + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID, ADDED_WHO) VALUES (@DOCTYPE_ID,@MODULEID, 'PRDD_CHECK_REL_DOCTYPE_MODULE') +GO + +ALTER PROCEDURE [dbo].[PRDD_COPY_DOKPROFILE](@pDOCTYPE_ID INT,@pMODULE_ID INT) +AS +DECLARE @NEWDOCTYPE_ID INT + +BEGIN + INSERT INTO TBDD_DOKUMENTART ( + BEZEICHNUNG,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,AKTIV,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,ERSTELLTWER,DUPLICATE_HANDLING + ) + SELECT + 'COPY_' + BEZEICHNUNG ,EINGANGSART_ID,WINDREAM_DIRECT,KURZNAME,ZIEL_PFAD,BESCHREIBUNG,0,NAMENKONVENTION,OBJEKTTYP,FOLDER_FOR_INDEX,'COPY-PROCEDURE',DUPLICATE_HANDLING FROM TBDD_DOKUMENTART WHERE GUID = @pDOCTYPE_ID + + SELECT @NEWDOCTYPE_ID = MAX(GUID) FROM TBDD_DOKUMENTART + INSERT INTO TBDD_DOKUMENTART_MODULE (DOKART_ID,MODULE_ID,ADDED_WHO) VALUES (@NEWDOCTYPE_ID,@pMODULE_ID,'COPY-PROCEDURE') + + INSERT INTO TBDD_INDEX_AUTOM ( + DOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,ADDED_WHO) + SELECT @NEWDOCTYPE_ID,INDEXNAME,VALUE, SQL_ACTIVE,CONNECTION_ID,SQL_RESULT,COMMENT,ACTIVE,'COPY-PROCEDURE' FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCTYPE_ID + + DECLARE + @MANINDEX_ID INTEGER, + @NEW_ID INTEGER + DECLARE c_INDEX CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCTYPE_ID ORDER BY SEQUENCE + OPEN c_INDEX + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_INDEX_MAN ( + DOK_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE , ADDED_WHO ,SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES) + SELECT @NEWDOCTYPE_ID, NAME, WD_INDEX, COMMENT, DATATYPE, SUGGESTION, DEFAULT_VALUE, CONNECTION_ID, SEQUENCE, ACTIVE ,'COPY-PROCEDURE',SQL_RESULT, SQL_CHECK, OPTIONAL, MULTISELECT, VKT_ADD_ITEM, VKT_PREVENT_MULTIPLE_VALUES FROM TBDD_INDEX_MAN WHERE GUID = @MANINDEX_ID + + SELECT @NEW_ID = MAX(GUID) FROM TBDD_INDEX_MAN WHERE DOK_ID = @NEWDOCTYPE_ID + + --Nachbearbeitungsfunktionen hinzufügen + IF EXISTS(SELECT * FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID) + BEGIN + DECLARE + @NB_ID INTEGER + DECLARE c_NBFUNCTION CURSOR FOR + SELECT GUID FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE IDXMAN_ID = @MANINDEX_ID ORDER BY SEQUENCE ASC + OPEN c_NBFUNCTION + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT '@NB_ID: ' + CONVERT(VARCHAR(5),@NB_ID) + INSERT INTO TBDD_INDEX_MAN_POSTPROCESSING ( + IDXMAN_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, ADDED_WHO, VARIANT) + SELECT @NEW_ID, TYPE, FUNCTION1, FUNCTION2, TEXT1, TEXT2, TEXT3, SEQUENCE, 'COPY-ROUTINE',VARIANT + FROM TBDD_INDEX_MAN_POSTPROCESSING WHERE GUID = @NB_ID + FETCH NEXT FROM c_NBFUNCTION INTO @NB_ID + END + CLOSE c_NBFUNCTION + DEALLOCATE c_NBFUNCTION + END + + FETCH NEXT FROM c_INDEX INTO @MANINDEX_ID + END + CLOSE c_INDEX + DEALLOCATE c_INDEX +END \ No newline at end of file diff --git a/05_ToolCollection/CreateDBObjects.sql b/05_ToolCollection/CreateDBObjects.sql new file mode 100644 index 0000000..7e62e1d --- /dev/null +++ b/05_ToolCollection/CreateDBObjects.sql @@ -0,0 +1,65 @@ +IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' ) + INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1) +UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.0' where UPPER(NAME) = UPPER('ToolCollection') +GO +CREATE TABLE TBTC_MOVE_RENAME +( + GUID INT IDENTITY(1,1), + PROFILE_NAME VARCHAR(100) NOT NULL, + FOLDER_FOR_INDEX VARCHAR(500) DEFAULT '' NOT NULL, + NAMECONVENTION VARCHAR(500) NOT NULL DEFAULT '', + ACTIVE BIT DEFAULT 1 NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBTC_MOVE_RENAME PRIMARY KEY(GUID), + CONSTRAINT UNIQUE_TBTC_MOVE_RENAME UNIQUE(PROFILE_NAME) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBTC_MOVE_RENAME_AFT_UPD ON TBTC_MOVE_RENAME +FOR UPDATE +AS +BEGIN TRY + UPDATE TBTC_MOVE_RENAME SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBTC_MOVE_RENAME.GUID = INSERTED.GUID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TABLE TBTC_DI_REGEX_MATCH +( + GUID INT IDENTITY(1,1), + PROFILE_NAME VARCHAR(250) NOT NULL, + REGEX VARCHAR(1000) NOT NULL, + CREATED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + CREATED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBTC_DI_REGEX_MATCH PRIMARY KEY(GUID), + CONSTRAINT UNIQUE_TBTC_DI_REGEX_MATCH UNIQUE(PROFILE_NAME) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBTC_DI_REGEX_MATCH_AFT_UPD ON TBTC_DI_REGEX_MATCH +FOR UPDATE +AS +BEGIN TRY + UPDATE TBTC_DI_REGEX_MATCH SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBTC_DI_REGEX_MATCH.GUID = INSERTED.GUID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO diff --git a/05_ToolCollection/Updates/1.0.0.1.sql b/05_ToolCollection/Updates/1.0.0.1.sql new file mode 100644 index 0000000..fc9a67a --- /dev/null +++ b/05_ToolCollection/Updates/1.0.0.1.sql @@ -0,0 +1,8 @@ + +IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' ) + INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1); +UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.1' where UPPER(NAME) = UPPER('ToolCollection') +GO +ALTER TABLE TBTC_MOVE_RENAME +ADD VERSION_OFF BIT DEFAULT 0 NOT NULL +GO diff --git a/05_ToolCollection/Updates/1.1.0.0.sql b/05_ToolCollection/Updates/1.1.0.0.sql new file mode 100644 index 0000000..6281951 --- /dev/null +++ b/05_ToolCollection/Updates/1.1.0.0.sql @@ -0,0 +1,26 @@ +IF not EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'ToolCollection' ) + INSERT INTO TBDD_MODULES (NAME, SHORT_NAME, LICENSE,ACTIVE) VALUES ('ToolCollection','TC','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=',1) +UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where UPPER(NAME) = UPPER('ToolCollection') +GO +CREATE FUNCTION [dbo].[FNCUST_GET_TC_WD_RIGHTS] ( + @windreamDocID BIGINT +) +RETURNS TABLE +AS +RETURN + + ---------------------------------------------------------------------------------------------------------------------------------- + + SELECT concat([wdGI].[szNTDomain],'\',[wdGI].[szGroupName]) as 'RightGroups' + FROM [windream60].[dbo].[BaseAttributes] as [wdBA] (NOLOCK) + + INNER JOIN [windream60].[dbo].[UserInfo] as [wdUI] (NOLOCK) ON UPPER([wdBA].[szText22]) = UPPER([wdUI].[szUserName]) -- Username for UserID + INNER JOIN [windream60].[dbo].[UserGroup] as [wdU2G] (NOLOCK) ON [wdUI].[dwUserID] = [wdU2G].[dwUserOrGroupID] -- UserID for GroupsID + INNER JOIN [windream60].[dbo].[GroupInfo] as [wdGI] (NOLOCK) ON [wdU2G].[dwGroupID] = [wdGI].[dwGroupID] -- GroupIDs for Groupnames + + INNER JOIN [DD_ECM].[dbo].[TBDD_USER] as [ddUI] (NOLOCK) ON [wdUI].[dwUserID] = [ddUI].[USERID_FK_INT_ECM] -- windream UserID to DD UserID + INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS_USER] as [ddU2G] (NOLOCK) ON [ddUI].[GUID] = [ddU2G].[USER_ID] -- UserID for GroupsID + INNER JOIN [DD_ECM].[dbo].[TBDD_GROUPS] as [ddGI] (NOLOCK) ON [ddU2G].[GROUP_ID] = [ddGI].[GUID] -- GroupIDs for Groupnames + + WHERE UPPER([wdGI].[szGroupName]) = UPPER([ddGI].[NAME]) + AND [wdBA].[dwDocID] = @windreamDocID \ No newline at end of file diff --git a/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql b/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql new file mode 100644 index 0000000..e07adaf --- /dev/null +++ b/06_EmailProfiler/01_Create EmailProfiler DBObjects.sql @@ -0,0 +1,345 @@ +--DROP TABLE TBEMLP_CONFIG +--GO +CREATE TABLE TBEMLP_CONFIG +( + GUID TINYINT, + FONT_BODY VARCHAR(50) NOT NULL DEFAULT 'Calibri', + LOG_ERRORS_ONLY BIT NOT NULL DEFAULT 1, + CHECK_INTERVALL_MINUTES INTEGER NOT NULL DEFAULT 5, + LAST_TICK DATETIME, + PATH_EMAIL_TEMP VARCHAR(1000) NOT NULL, + PATH_EMAIL_ERRORS VARCHAR(1000) NOT NULL, + WM_CON_STRING VARCHAR(1000) NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBEMLP_CONFIG_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBEMLP_CONFIG_GUID CHECK(GUID = 1) +) +GO +CREATE TRIGGER TBEMLP_CONFIG_AFT_UPD ON TBEMLP_CONFIG +FOR UPDATE +AS + UPDATE TBEMLP_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_CONFIG.GUID = INSERTED.GUID +GO +INSERT INTO TBEMLP_CONFIG (GUID, PATH_EMAIL_TEMP,PATH_EMAIL_ERRORS,WM_CON_STRING) VALUES (1,'E:\TEMP\EMAIL_PROFILER\TEMP','E:\TEMP\EMAIL_PROFILER\ERROR','Data Source=172.24.12.41\tests;Initial Catalog=DD_ECM_TEST;Persist Security Info=True;User ID=sa;Password=dd') +GO +------------------------------------------------------------------------------ +IF NOT EXISTS(SELECT GUID FROM TBDD_MODULES WHERE NAME = 'Email-Profiler') +INSERT INTO TBDD_MODULES(GUID,NAME,SHORT_NAME,LICENSE,STRING1) VALUES +(6,'Email-Profiler','EMLP','kc6j9HSv/UJVAzFjMZv2A3wHZFy+2nNLKP9Qs8g9EVY=','W') +GO +UPDATE TBDD_MODULES SET DB_VERSION = '1.3.0.0' where SHORT_NAME = 'EMLP' +GO +--DROP TABLE TBEMLP_POLL_PROFILES +--select * from TBEMLP_POLL_PROFILES +--GO +CREATE TABLE TBEMLP_POLL_PROFILES +( + GUID INTEGER IDENTITY(1,1), + PROFILE_NAME VARCHAR(100) NOT NULL, + POLL_TYPE VARCHAR(100) NOT NULL, --IMAP OR POP + EMAIL_CONF_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + LAST_TICK DATETIME, + ACTIVE BIT DEFAULT 0 NOT NULL, -- + SEQUENCE INT DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Default', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBEMLP_POLL_PROFILES PRIMARY KEY (GUID) +) +GO +INSERT INTO TBEMLP_POLL_PROFILES (PROFILE_NAME,POLL_TYPE,EMAIL_CONF_ID) VALUES ('TEST1','POP',1) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBEMLP_POLL_PROFILES_AFT_UPD ON TBEMLP_POLL_PROFILES +FOR UPDATE +AS + UPDATE TBEMLP_POLL_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROFILES.GUID = INSERTED.GUID +GO +--select * from TBEMLP_POLL_PROCESS +--DROP TABLE TBEMLP_POLL_INDEXING_STEPS +--GO +--DROP TABLE TBEMLP_POLL_STEPS +--go +--DROP TABLE TBEMLP_POLL_PROCESS +--go +CREATE TABLE TBEMLP_POLL_PROCESS +( + GUID INTEGER IDENTITY(1,1), + PROCESS_NAME VARCHAR(100) NOT NULL, + STEP_NAME VARCHAR(50) NOT NULL, --'Easy Approval' bei ProcessManager, + PROFILE_ID INTEGER NOT NULL, + COPY_2_HDD BIT NOT NULL DEFAULT 0, + WM_IDX_BODY_TEXT VARCHAR(50) NOT NULL DEFAULT '', + WM_IDX_BODY_SUBSTR_LENGTH INTEGER NOT NULL DEFAULT 0, + WM_IMPORT BIT NOT NULL DEFAULT 0, + WM_OBJEKTTYPE VARCHAR(100), + WM_VECTOR_LOG VARCHAR(100), + WM_PATH VARCHAR(1000), + WM_FILE_NAME VARCHAR(100), + WM_REFERENCE_INDEX VARCHAR(100), + PATH_EMAIL_TEMP VARCHAR(1000) NOT NULL DEFAULT '', + PATH_EMAIL_ERRORS VARCHAR(1000) NOT NULL DEFAULT '', + PATH_ORIGINAL VARCHAR(1000), + DELETE_MAIL BIT NOT NULL DEFAULT 0, + USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + ACTIVE BIT DEFAULT 1 NOT NULL, -- + SEQUENCE INT DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Default', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBEMLP_POLL_PROCESS PRIMARY KEY (GUID), + CONSTRAINT FK_TBEMLP_POLL_PROCESS_PROFILE_ID FOREIGN KEY (PROFILE_ID) REFERENCES TBEMLP_POLL_PROFILES (GUID) +) +GO +INSERT INTO TBEMLP_POLL_PROCESS (PROCESS_NAME,STEP_NAME,PROFILE_ID,PATH_EMAIL_TEMP,PATH_EMAIL_ERRORS,COPY_2_HDD, +WM_IMPORT, +WM_OBJEKTTYPE, +WM_VECTOR_LOG, +WM_PATH, +WM_FILE_NAME, +WM_REFERENCE_INDEX, +SEQUENCE,DELETE_MAIL) VALUES ('ProcessManager','Easy Approval',1,'E:\TEMP\EMAIL_PROFILER\TEMP','E:\TEMP\EMAIL_PROFILER\ERROR',1, +0, +'DIGITAL DATA - Entwicklung', +'Vektor_Text1', +'W:\Import_Temp', +'EA_[%DATE]_', +'Dokument-ID', +1,1) +GO +CREATE TRIGGER TBEMLP_POLL_PROCESS_AFT_UPD ON TBEMLP_POLL_PROCESS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_PROCESS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROCESS.GUID = INSERTED.GUID +GO +------------------------------------------------------------------------------ +--select * from TBEMLP_POLL_STEPS +--GO +CREATE TABLE TBEMLP_POLL_STEPS +( + GUID INTEGER IDENTITY(1,1), + PROCESS_ID INTEGER NOT NULL, + STEP_NAME VARCHAR(50) NOT NULL, --'z.B. Invoice Approved or Invoice Disapproved' bei ProcessManager, + KEYWORDS_BODY VARCHAR(1000), + COMMENT VARCHAR(500), + ACTIVE BIT DEFAULT 1 NOT NULL, -- + SEQUENCE INT DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Default', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBEMLP_POLL_STEPS PRIMARY KEY (GUID), + CONSTRAINT FK_TBEMLP_POLL_STEPS_PROCESS_ID FOREIGN KEY (PROCESS_ID) REFERENCES TBEMLP_POLL_PROCESS (GUID) +) +GO +INSERT INTO TBEMLP_POLL_STEPS (PROCESS_ID,STEP_NAME,KEYWORDS_BODY,ACTIVE) VALUES (1,'Invoice Disapproved','Disapproved;Abgelehnt',1) +GO +INSERT INTO TBEMLP_POLL_STEPS (PROCESS_ID,STEP_NAME,KEYWORDS_BODY,ACTIVE) VALUES (1,'Invoice Approved','OK;Approved;OK',1) +GO +CREATE TRIGGER TBEMLP_POLL_STEPS_AFT_UPD ON TBEMLP_POLL_STEPS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_STEPS.GUID = INSERTED.GUID +GO +CREATE TABLE TBEMLP_POLL_INDEXING_STEPS +( + GUID SMALLINT IDENTITY(1,1), + STEP_ID INTEGER NOT NULL, + INDEXNAME VARCHAR(100) NOT NULL, --'Easy Approval' bei ProcessManager, + INDEXVALUE VARCHAR(100) NOT NULL, + USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0, + ACTIVE BIT DEFAULT 1 NOT NULL, -- + SEQUENCE INT DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Default', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBEMLP_POLL_INDEXING_STEPS PRIMARY KEY (GUID), + CONSTRAINT FK_TBEMLP_POLL_INDEXING_STEPS_STEP_ID FOREIGN KEY (STEP_ID) REFERENCES TBEMLP_POLL_STEPS (GUID) +) +GO +CREATE TRIGGER TBEMLP_POLL_INDEXING_STEPS_AFT_UPD ON TBEMLP_POLL_INDEXING_STEPS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_INDEXING_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_INDEXING_STEPS.GUID = INSERTED.GUID +GO +INSERT INTO TBEMLP_POLL_INDEXING_STEPS (STEP_ID,INDEXNAME,INDEXVALUE) VALUES (1,'Dokumentart','Email-Approved') +GO +INSERT INTO TBEMLP_POLL_INDEXING_STEPS (STEP_ID,INDEXNAME,INDEXVALUE) VALUES (2,'Dokumentart','Email-Disapproved') +GO +--select * from TBEMLP_POLL_INDEXING_STEPS +--GO +CREATE TABLE TBEMLP_EMAIL_OUT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1', + SENDING_PROFILE INTEGER NOT NULL, + REFERENCE_ID INTEGER NOT NULL, + REFERENCE_STRING VARCHAR(200), + ENTITY_ID INTEGER, + WF_ID INTEGER NOT NULL, + WF_REFERENCE VARCHAR(200), + EMAIL_ADRESS VARCHAR(1000) NOT NULL, + EMAIL_SUBJ VARCHAR(500) NOT NULL, + EMAIL_BODY VARCHAR(500) NOT NULL, + EMAIL_ATTMT1 VARCHAR(512), + EMAIL_SENT DATETIME, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + ERROR_TIMESTAMP DATETIME, + ERROR_MSG VARCHAR(900), + CONSTRAINT PK_TBEMLP_EMAIL_OUT PRIMARY KEY (GUID), + CONSTRAINT FK_TBEMLP_EMAIL_OUT_SENDING_PROFILE FOREIGN KEY (SENDING_PROFILE) REFERENCES TBDD_EMAIL_ACCOUNT (GUID) +) +GO + +CREATE FUNCTION [dbo].[FNDD_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT,@WMLAUFWERK as VARCHAR(1)) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT + + SELECT @FSFLAGS = dwFSFlags FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS = 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FILE!' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + --select * from windream60.dbo.BaseAttributes + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WMLAUFWERK +':' + @RESULT + @DATEINAME + RETURN @RESULT +END +GO +CREATE TABLE TBEMLP_HISTORY +( + GUID INTEGER IDENTITY(1,1), + WORK_PROCESS VARCHAR(100), + EMAIL_MSGID VARCHAR(500) NOT NULL, + EMAIL_FROM VARCHAR(500) NOT NULL DEFAULT 'NONE', + EMAIL_SUBJECT VARCHAR(MAX), + EMAIL_DATE DATETIME, + EMAIL_BODY VARCHAR(MAX), + EMAIL_SUBSTRING1 VARCHAR(2000), + EMAIL_SUBSTRING2 VARCHAR(2000), + DATE_DELETED_INBOX DATETIME, + COMMENT VARCHAR(500), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBEMLP_HISTORY PRIMARY KEY (GUID) +) +GO +CREATE TABLE TBEMLP_HISTORY_STATE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +MESSAGE_ID VARCHAR(900) NOT NULL, +STATE_TITLE VARCHAR(900) NOT NULL, +STATE_TITLE1 VARCHAR(900) , +COMMENT VARCHAR(3000), +ADDED_WHO VARCHAR(30) DEFAULT 'Digital Data', +ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBEMLP_HISTORY_STATE PRIMARY KEY (GUID) +) +GO +CREATE PROCEDURE PRCUST_ADD_HISTORY_STATE @MessageID VARCHAR(250), @TITLE1 VARCHAR(250), @TITLE2 VARCHAR(250), @COMMENT VARCHAR(3000) = 0 +AS +BEGIN + INSERT INTO TBEMLP_HISTORY_STATE + (MESSAGE_ID,STATE_TITLE,STATE_TITLE1,COMMENT) VALUES (@MessageID,@TITLE1,@TITLE2,@COMMENT) +END +GO +-- ============================================= +-- Author: DD MS +-- Creation date: 07.05.2020 +-- ============================================= +CREATE PROCEDURE PREMAIL_NEW_EMAIL @SENDING_PROFILE TINYINT, @EMAIL_TO VARCHAR(100),@SUBJECT VARCHAR(200),@BODY VARCHAR(MAX),@REF_STRING As VARCHAR(900),@REF_ID BIGINT,@WF_ID INT,@WHO VARCHAR(100) AS +BEGIN + INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] + ([SENDING_PROFILE] + ,[WF_ID] + ,[EMAIL_ADRESS] + ,[EMAIL_SUBJ] + ,[EMAIL_BODY] + ,REFERENCE_STRING + ,REFERENCE_ID + ,[ADDED_WHO]) + VALUES (@SENDING_PROFILE, + @WF_ID, + @EMAIL_TO, + @SUBJECT, + @BODY, + @REF_STRING, + @REF_ID, + @WHO) +END +GO +ALTER TABLE TBEDMI_ITEM_VALUE ADD SPEC_NAME VARCHAR(250) +GO +ALTER TABLE TBEDMI_ITEM_VALUE ADD IS_REQUIRED BIT NOT NULL DEFAULT 0 +GO + +CREATE TABLE dbo.TBEDMI_ITEM_VALUE( + GUID BIGINT NOT NULL IDENTITY (1, 1), + REFERENCE_GUID nvarchar(max) NOT NULL, + ITEM_DESCRIPTION nvarchar(max) NOT NULL, + ITEM_VALUE nvarchar(max) NULL, + CREATEDWHEN datetime NOT NULL DEFAULT GETDATE(), + CREATEDWHO nvarchar(max), + CHANGEDWHEN datetime, + GROUP_COUNTER integer NULL +) ON PRIMARY TEXTIMAGE_ON PRIMARY +GO + + diff --git a/06_EmailProfiler/E-Mail Profiler RegEX.txt b/06_EmailProfiler/E-Mail Profiler RegEX.txt new file mode 100644 index 0000000..bfe1b69 --- /dev/null +++ b/06_EmailProfiler/E-Mail Profiler RegEX.txt @@ -0,0 +1,8 @@ +E-Mail Profiler RegExes - Stand 18.05.2020 + +Regex Remove HTML-Context1: +\.{1,}\<\/title\>|<[^<>]{1,}>|&[\w\W]{1,6};|&#[\d]{2,4}; + +Regex Remove HTML-Context2: +<[^<>]{1,}>|&[\w\W]{1,6};|&#[\d]{2,4};|[a-zA-Z0-9\-_\.]{1,}@[a-zA-Z0-9\-_\.]{1,}|[\s]{0,}Von:[\s]{0,}.{0,}|[\s]{0,}wrote:[\s]{0,}[^##]{0,}|[\s]{0,}Datum:[\s]{0,}.{0,}|[\s]{0,}An:[\s]{0,}.{0,}|[\s]{0,}Betreff:[\s]{0,}.{0,}|Von meinem iPhone gesendet|Outlook for Android herunterladen|[\s]{0,}Am\s[\d]{2}\.[\d]{2}\.[\d]{4}\s.{1,}|[\s]{0,}On\ [a-zA-Z]{2,3}\,\ [a-zA-Z]{2,3}\s[0-9]{2}\,\s[0-9]{4}.{1,}\s| +>\s##.+|>.+##| \- Answer with \*Disaprove\* or \*Abgelehnt\* to neglect the invoice| - Direct answer will approve the invoice.| \*Please approve attached invoice.\*| \*ID #[0-9]{7}\*|>|##Please answer over this line##|ID #[0-9]{7}|Please approve attached invoice.|- Direct answer will approve the invoice.|- Answer with Disaprove or Abgelehnt to neglect the invoice \ No newline at end of file diff --git a/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql b/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql new file mode 100644 index 0000000..c62d6d8 --- /dev/null +++ b/06_EmailProfiler/Updates - Added2Main/1.0.0.1.sql @@ -0,0 +1,53 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.0.0.1' where SHORT_NAME = 'EMLP' +GO +ALTER TABLE TBEMLP_POLL_INDEXING_STEPS ADD USE_FOR_DIRECT_ANSWER BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBEMLP_POLL_PROCESS ADD WM_IDX_BODY_TEXT VARCHAR(50) NOT NULL DEFAULT '' +GO +ALTER TABLE TBEMLP_POLL_PROCESS ADD WM_IDX_BODY_SUBSTR_LENGTH INTEGER NOT NULL DEFAULT 0 +GO +ALTER TRIGGER TBEMLP_POLL_PROFILES_AFT_UPD ON TBEMLP_POLL_PROFILES +FOR UPDATE +AS + UPDATE TBEMLP_POLL_PROFILES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROFILES.GUID = INSERTED.GUID +GO +ALTER TRIGGER TBEMLP_POLL_PROCESS_AFT_UPD ON TBEMLP_POLL_PROCESS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_PROCESS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_PROCESS.GUID = INSERTED.GUID +GO +ALTER TRIGGER TBEMLP_POLL_STEPS_AFT_UPD ON TBEMLP_POLL_STEPS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_STEPS.GUID = INSERTED.GUID +GO +CREATE TRIGGER TBEMLP_POLL_INDEXING_STEPS_AFT_UPD ON TBEMLP_POLL_INDEXING_STEPS +FOR UPDATE +AS + UPDATE TBEMLP_POLL_INDEXING_STEPS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_POLL_INDEXING_STEPS.GUID = INSERTED.GUID +GO +ALTER TABLE TBEMLP_CONFIG ADD CHECK_INTERVALL_MINUTES INT NOT NULL DEFAULT 5 +GO +CREATE TABLE TBEMLP_HISTORY +( + GUID INTEGER IDENTITY(1,1), + WORK_PROCESS VARCHAR(100), + EMAIL_MSGID VARCHAR(500) NOT NULL, + EMAIL_SUBJECT VARCHAR(MAX), + EMAIL_DATE DATETIME, + EMAIL_BODY VARCHAR(MAX), + EMAIL_SUBSTRING1 VARCHAR(2000), + EMAIL_SUBSTRING2 VARCHAR(2000), + COMMENT VARCHAR(500), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBEMLP_HISTORY PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBEMLP_CONFIG_AFT_UPD ON TBEMLP_CONFIG +FOR UPDATE +AS + UPDATE TBEMLP_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBEMLP_CONFIG.GUID = INSERTED.GUID +GO +ALTER TABLE TBEMLP_POLL_PROCESS ADD PATH_ORIGINAL VARCHAR(1000) +GO + diff --git a/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql new file mode 100644 index 0000000..8d730a4 --- /dev/null +++ b/06_EmailProfiler/Updates - Added2Main/1.1.0.0.sql @@ -0,0 +1,5 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.1.0.0' where SHORT_NAME = 'EMLP' +GO +ALTER TABLE TBEMLP_HISTORY ADD EMAIL_FROM VARCHAR(500) NOT NULL DEFAULT 'NONE' +GO + diff --git a/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql new file mode 100644 index 0000000..50df04c --- /dev/null +++ b/06_EmailProfiler/Updates - Added2Main/1.2.0.0.sql @@ -0,0 +1,23 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.2.0.0' where SHORT_NAME = 'EMLP' +GO +CREATE TABLE TBEMLP_HISTORY_STATE +( +GUID INTEGER NOT NULL IDENTITY (1, 1), +MESSAGE_ID VARCHAR(900) NOT NULL, +STATE_TITLE VARCHAR(900) NOT NULL, +STATE_TITLE1 VARCHAR(900) , +COMMENT VARCHAR(3000), +ADDED_WHO VARCHAR(30) DEFAULT 'Digital Data', +ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CHANGED_WHO VARCHAR(30), +CHANGED_WHEN DATETIME, +CONSTRAINT PK_TBEMLP_HISTORY_STATE PRIMARY KEY (GUID) +) +GO +CREATE PROCEDURE PRCUST_ADD_HISTORY_STATE @MessageID VARCHAR(250), @TITLE1 VARCHAR(250), @TITLE2 VARCHAR(250), @COMMENT VARCHAR(3000) = 0 +AS +BEGIN + INSERT INTO TBEMLP_HISTORY_STATE + (MESSAGE_ID,STATE_TITLE,STATE_TITLE1,COMMENT) VALUES (@MessageID,@TITLE1,@TITLE2,@COMMENT) +END +GO \ No newline at end of file diff --git a/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql b/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql new file mode 100644 index 0000000..71b46f0 --- /dev/null +++ b/06_EmailProfiler/Updates - Added2Main/1.2.0.1.sql @@ -0,0 +1,29 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.2.0.1' where SHORT_NAME = 'EMLP' +GO +ALTER TABLE TBEMLP_HISTORY ADD DATE_DELETED_INBOX DATETIME +GO +-- ============================================= +-- Author: DD MS +-- Creation date: 07.05.2020 +-- ============================================= +CREATE PROCEDURE PREMAIL_NEW_EMAIL @SENDING_PROFILE TINYINT, @EMAIL_TO VARCHAR(100),@SUBJECT VARCHAR(200),@BODY VARCHAR(MAX),@REF_STRING As VARCHAR(900),@REF_ID BIGINT,@WF_ID INT,@WHO VARCHAR(100) AS +BEGIN + INSERT INTO [dbo].[TBEMLP_EMAIL_OUT] + ([SENDING_PROFILE] + ,[WF_ID] + ,[EMAIL_ADRESS] + ,[EMAIL_SUBJ] + ,[EMAIL_BODY] + ,REFERENCE_STRING + ,REFERENCE_ID + ,[ADDED_WHO]) + VALUES (@SENDING_PROFILE, + @WF_ID, + @EMAIL_TO, + @SUBJECT, + @BODY, + @REF_STRING, + @REF_ID, + @WHO) +END +GO \ No newline at end of file diff --git a/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql b/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql new file mode 100644 index 0000000..ce46c74 --- /dev/null +++ b/06_EmailProfiler/Updates - Added2Main/1.3.0.0.sql @@ -0,0 +1,6 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '1.3.0.0' where SHORT_NAME = 'EMLP' +GO +ALTER TABLE TBEMLP_EMAIL_OUT ADD ERROR_TIMESTAMP DATETIME +GO +ALTER TABLE TBEMLP_EMAIL_OUT ADD ERROR_MSG VARCHAR(900) +GO \ No newline at end of file diff --git a/07_UserManager/Added2MainScript/1.1.0.0.sql b/07_UserManager/Added2MainScript/1.1.0.0.sql new file mode 100644 index 0000000..17b8400 --- /dev/null +++ b/07_UserManager/Added2MainScript/1.1.0.0.sql @@ -0,0 +1,22 @@ + +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.1.0.0' where SHORT_NAME = 'UM' +GO +CREATE TABLE TBUM_AD_COMMAND +( + GUID INTEGER IDENTITY(1,1), + AD_CMD_NAME VARCHAR(250), + COMMAND_STRING VARCHAR(MAX), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBUM_AD_COMMAND PRIMARY KEY (GUID), + CONSTRAINT UC_TBUM_AD_COMMAND UNIQUE (AD_CMD_NAME), +) +GO +CREATE TRIGGER TBUM_AD_COMMAND_AFT_UPD ON TBUM_AD_COMMAND +FOR UPDATE +AS + UPDATE TBUM_AD_COMMAND SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBUM_AD_COMMAND.GUID = INSERTED.GUID +GO diff --git a/07_UserManager/Added2MainScript/1.2.0.0.sql b/07_UserManager/Added2MainScript/1.2.0.0.sql new file mode 100644 index 0000000..ccbe896 --- /dev/null +++ b/07_UserManager/Added2MainScript/1.2.0.0.sql @@ -0,0 +1,27 @@ + +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.2.0.0' where SHORT_NAME = 'UM' +GO +CREATE OR ALTER PROCEDURE [dbo].[PRDD_DELETE_GROUP](@pGROUP_ID INT) +AS +BEGIN TRY + -- COMMON + IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID + IF OBJECT_ID(N'dbo.TBDD_GROUPS_CLIENT', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_CLIENT WHERE GROUP_ID = @pGROUP_ID + IF OBJECT_ID(N'dbo.TBDD_GROUPS_MODULES', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_MODULES WHERE GROUP_ID = @pGROUP_ID + + -- FINALLY + DELETE FROM TBDD_GROUPS WHERE GUID = @pGROUP_ID + + RETURN 0 +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + RETURN -1 +END CATCH + +GO \ No newline at end of file diff --git a/07_UserManager/CreateDBObjects.sql b/07_UserManager/CreateDBObjects.sql new file mode 100644 index 0000000..9638a5e --- /dev/null +++ b/07_UserManager/CreateDBObjects.sql @@ -0,0 +1,182 @@ + +/*################################## +1. Search for @INSTALL_ADMIN_USER and replace the username You use for adminsitration +####################################*/ + +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '1.0.0.1' where SHORT_NAME = 'UM' +GO +BEGIN + IF NOT EXISTS (SELECT 1 FROM TBDD_GROUPS WHERE NAME = 'UM_ADMINS') + INSERT INTO TBDD_GROUPS (NAME,INTERNAL) VALUES ('UM_ADMINS',1); +END +DECLARE @MY_INSTALL_ADMIN_USER VARCHAR(50) +SET @MY_INSTALL_ADMIN_USER = '@INSTALL_ADMIN_USER' +IF NOT EXISTS(SELECT GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@MY_INSTALL_ADMIN_USER)) + INSERT INTO TBDD_USER(PRENAME,NAME,USERNAME) VALUES + ('DefPrename','DefSurname',@MY_INSTALL_ADMIN_USER) +GO + +ALTER TABLE [dbo].[TBDD_GROUPS_USER] DROP CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID] +GO +ALTER TABLE [dbo].[TBDD_GROUPS_USER] WITH CHECK ADD CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID] FOREIGN KEY([GROUP_ID]) +REFERENCES [dbo].[TBDD_GROUPS] ([GUID]) +GO + +ALTER TABLE [dbo].[TBDD_GROUPS_USER] CHECK CONSTRAINT [FK_TBDD_GROUPS_USER_GROUP_ID] +GO + + + +DECLARE @MY_INSTALL_ADMIN_USER VARCHAR(50) +SET @MY_INSTALL_ADMIN_USER = '@INSTALL_ADMIN_USER' +DECLARE @USERID Int +SELECT @USERID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@MY_INSTALL_ADMIN_USER) +DECLARE @UM_GROUP_ID INT +SELECT @UM_GROUP_ID = GUID FROM TBDD_GROUPS WHERE NAME = 'UM_ADMINS' +IF NOT EXISTS(SELECT GUID FROM TBDD_GROUPS_USER WHERE USER_ID = @USERID AND GROUP_ID = @UM_GROUP_ID) + INSERT INTO TBDD_GROUPS_USER (GROUP_ID,USER_ID) VALUES (@UM_GROUP_ID,@USERID) +GO +--if not exists (select * from sysobjects where name='TBDD_GROUPS_MODULES' and xtype='U') +--CREATE TABLE TBDD_GROUPS_MODULES +--( +-- GUID INTEGER IDENTITY(1,1), +-- MODULE_ID INT NOT NULL, +-- GROUP_ID INT NOT NULL, +-- COMMENT VARCHAR(200), +-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(50), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBDD_GROUPS_MODULES PRIMARY KEY (GUID), +-- CONSTRAINT UC_MODULE_GROUP UNIQUE (MODULE_ID,GROUP_ID), +-- CONSTRAINT FK_TBDD_GROUPS_MODULES_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), +-- CONSTRAINT FK_TBDD_GROUPS_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), +--) +--GO +--CREATE TABLE TBDD_CLIENT +--( +-- GUID INTEGER IDENTITY(1,1), +-- CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE, +-- SHORTNAME VARCHAR(30), +-- LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '', +-- LICENSE_GI VARCHAR(5000) NOT NULL DEFAULT '', +-- LICENSE_PM VARCHAR(5000) NOT NULL DEFAULT '', +-- COMMENT VARCHAR(200), +-- ACTIVE BIT NOT NULL DEFAULT 1, +-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(50), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID) +--) +--GO +--INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES +--('DEFAULT','DEF') +--GO + +--CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT +--FOR UPDATE +--AS +--BEGIN +-- UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID +--END +--GO +--if not exists (select * from sysobjects where name='TBDD_GROUPS_CLIENT' and xtype='U') +--CREATE TABLE TBDD_GROUPS_CLIENT +--( +-- GUID INTEGER IDENTITY(1,1), +-- CLIENT_ID INT NOT NULL, +-- GROUP_ID INT NOT NULL, +-- COMMENT VARCHAR(200), +-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(50), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBDD_GROUPS_CLIENT PRIMARY KEY (GUID), +-- CONSTRAINT UC_CLIENT_GROUP UNIQUE (CLIENT_ID,GROUP_ID), +-- CONSTRAINT FK_TBDD_GROUPS_CLIENT_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), +-- CONSTRAINT FK_TBDD_GROUPS_CLIENT_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), +--) +--GO + + +--if not exists (select * from sysobjects where name='TBDD_GROUPS_USER' and xtype='U') +--CREATE TABLE TBDD_GROUPS_USER +--( +-- GUID INTEGER IDENTITY(1,1), +-- [USER_ID] INT NOT NULL, +-- GROUP_ID INT NOT NULL, +-- COMMENT VARCHAR(200), +-- ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, +-- ADDED_WHEN DATETIME DEFAULT GETDATE(), +-- CHANGED_WHO VARCHAR(50), +-- CHANGED_WHEN DATETIME, +-- CONSTRAINT PK_TBDD_GROUPS_USER PRIMARY KEY (GUID), +-- CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID), +-- CONSTRAINT FK_TBDD_GROUPS_USER_GROUP_ID FOREIGN KEY(GROUP_ID) REFERENCES TBDD_GROUPS(GUID), +-- CONSTRAINT FK_TBDD_GROUPS_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +--) +--GO +--CREATE TRIGGER TBDD_GROUPS_USER_AFT_UPD ON TBDD_GROUPS_USER +--FOR UPDATE +--AS +-- UPDATE TBDD_GROUPS_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED +-- WHERE TBDD_GROUPS_USER.GUID = INSERTED.GUID +--GO +--CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] +--FOR DELETE +--AS +-- DECLARE @USER_ID INTEGER +-- SELECT @USER_ID = deleted.USER_ID FROM deleted +-- IF @USER_ID IS NOT NULL +-- BEGIN +-- if exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U') +-- INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') +-- if exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U') +-- INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) +-- END +--GO + +CREATE TABLE TBUM_AD_COMMAND +( + GUID INTEGER IDENTITY(1,1), + AD_CMD_NAME VARCHAR(250), + COMMAND_STRING VARCHAR(MAX), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBUM_AD_COMMAND PRIMARY KEY (GUID), + CONSTRAINT UC_TBUM_AD_COMMAND UNIQUE (AD_CMD_NAME), +) +GO +CREATE TRIGGER TBUM_AD_COMMAND_AFT_UPD ON TBUM_AD_COMMAND +FOR UPDATE +AS + UPDATE TBUM_AD_COMMAND SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBUM_AD_COMMAND.GUID = INSERTED.GUID +GO +CREATE PROCEDURE [dbo].[PRDD_DELETE_GROUP](@pGROUP_ID INT) +AS +BEGIN TRY + -- COMMON + IF OBJECT_ID(N'dbo.TBDD_GROUPS_USER', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_USER WHERE GROUP_ID = @pGROUP_ID + IF OBJECT_ID(N'dbo.TBDD_GROUPS_CLIENT', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_CLIENT WHERE GROUP_ID = @pGROUP_ID + IF OBJECT_ID(N'dbo.TBDD_GROUPS_MODULES', N'U') IS NOT NULL + DELETE FROM TBDD_GROUPS_MODULES WHERE GROUP_ID = @pGROUP_ID + + -- FINALLY + DELETE FROM TBDD_GROUPS WHERE GUID = @pGROUP_ID + + RETURN 0 +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + RETURN -1 +END CATCH + +GO \ No newline at end of file diff --git a/08_ADDI/ChangeLog.txt b/08_ADDI/ChangeLog.txt new file mode 100644 index 0000000..17ea096 --- /dev/null +++ b/08_ADDI/ChangeLog.txt @@ -0,0 +1,172 @@ +# Change Log Record Organizer - All noteable changes to this project will be documented in this file. +############################################################################################################################### +[2.5.0.7] - Handling Record/DocLink, Weitere sichten visible = false if not configured +[2.5.0.6] - Ribbon Design - Icon Changing +[2.5.0.5] - Internal +[2.5.0.4] - Internal +[2.5.0.3] - Internal +### Changed +- Switching Connection-functionality +- Entity Open Check (is open? Maximize) +- Doctype-Adding (bugfix) + +[2.5.0.2] - 06.05 +Internal Release - Optimization + +[2.5.0.1] - 16.01.2019 +### Changed +- OfficeFile handling after editing (Replacing internal DocID) +- StructureNodes - Handling edit + +[2.5.0.0] - 25.10.2018 +### Changed +- Add Linking doc to records (change between entities) +- right click file: reorder items, save layout added +### Changed +Structure Nodes: +- Adding nodes manually +Others: +- Linking doc to records +- Checking file existing vs windream client malfunction + +## [2.4.9.8] - 16.07.2018 +### Changed +Structure Nodes: +- Adding nodes manually +Others: +- Linking doc to records +- Checking file existing vs windream client malfunction + +## [2.4.9.7] - 19.01.2018 +### Changed +- Structure Nodes Navigation - Refreshing +- Logging + +## [2.4.9.5] - 26.10.2017 +### Added +- DB-Procedures Creating Records and Values +- Integrity Check - Displayed Data vs. Database Data +## [2.4.9.4] - 24.10.2017 +### Changed +- Bugfixing: Updating Multiple Values +- Checking ECM-Files existing with MasterUser + +## [2.4.9.3] - 26.09.2017 +### Changed +- RecordView: Changing status without adding a comment. (was required so far) +- DocumentViewer: getting correct DocID, firstrow bugfix + +## [2.4.9.2] - 22.09.2017 +### Added +- Minimum required version for Addi +### Changed +- bugfix changing RecordView and Workflow-Automatism on proxyservers +- checks for replacing files in version-updating +## [2.4.9.1] - 05.09.2017 +### Changed +- bugfix changing doc metadata for multiple linked documents +## [2.4.9.0] - 24.08.2017 +### Changed +- DateFormat-User specific in docresults +- Error Multiple rows in docvalues when document is linked multiple times +- Error PMO-Link Emails: Opening DetailView (Views not loaded) +- bugfixing +## [2.4.8.9] - 30.05.2017 +### Changed +- Saving Constructor-layout per entity (splitter, Datagrid) +- Adding automated updates for Addons +## [2.4.8.8] - 27.04.2017 +### Changed +- Saving Datagrid Records everytime loosing focus +- Proxyserver-login: Adding Proxyserver +- Looging: Adding Now (Datetime) as prefix +## [2.4.8.7] - 25.04.2017 +### Changed +- Updating-routines Proxy Server changed +- Positions: Update-Behaviour Proxyserver +- Currency-formatting changed: no currency symbol +- Drag Drop File - Automatic saving and controlling fields required +- internal bugfixing +## [2.4.8.6] - 30.03.2017 +### Added +- Functionality Entitytables integrated - SPEED +- Creating and Adding records to Entitytables - Entity-designer +### Changed +- Buttons Administration Level - Names and terms adapted +- Doc-Metadata: Automatism adding defaultvalues +- Removed messages for proxysynchronizing +- internal bugfixing + +## [2.4.8.5] - 10.03.2017 +### Added +- Automatic Version-Checking and Updating +- Right Manager - Explicit right-checking for records + +### Changed +- Renaming Files: Proxy-Update included +- Adding positions +- Bugfix Rightmanagement (all users entity got reading rights) +- Workflow and Tasks - Redesign + +## [2.4.8.4] - 06.02.2017 +### Changed +- internal bugfixing + +## [2.4.8.3] - 24.01.2017 +### Added +- Functionality for File-Existing when accessing file +- Right management fully integrated +### Changed +- internal bugfixing + +## [2.4.8.3] +### Added +- Right Management User-Entity - Allow Admins to update and add rights +- Information in MainForm ProxyUsed or not +### Changed +Proxy Server Functionality - Adding Views for faster refreshing +- General bugfixing + +## [2.4.8.2] +### Added +- Proxy Server Functionality - Add local ProxyServer for speeding up queries +- Right click functionality Docs + - windream - Change Doctype and manual indices +- Fulltextsearch: Searching of ADDI-data included +- Select-Only option for comboboxes +### Changed +Bugfixing: +- General bugfixing + +## [2.4.8.1] - 22.12.2016 +### Added +- Navigation withGeo-Coordinates - +- Right click functionality Doc + - windream - create new version + - Change Doctype +- Entitysearch right click - Entity-navigation + - Entitywide Search + - Entitysearch below selected node (Only in Node-Navigation) +- Fulltextsearch - seperate window for selection + - only for documents below selected node (Only in Node-Navigation) +### Changed +Bugfixing: +- Doc take in work process. Admin can free the document +- Right Click Resultfiles: Gather all selected files for operations + +## [2.4.8.0] - 28.11.2016 +### Added +- Personified login for administrators - When hitting ESC during ADDI Splash Screen load +- Form Global Search (fulltext combined with record-search) - Administrators can add users: Administration - Extra Views User. +- Display style Doc Results: Results now can be shown on first tab + Entity-related configuration - Administration - ConstructorDesigner - Configuration file search +- Creating variants: Record-functions +- Right Manager: Functionality "Check or Renew Rights for User" added +- Showing Release Notes in Information dialog + +### Changed +- Automatically hiding Navigation Strip of Mainform +- Automatically hide TreeView Navigation in Entityview if Entity is only one +- Locking DocResults: from standard during navigation the docresults now are locked. No changes (deleting, opening) until switchin win work/edit mode. + ==> Entity-related configuration - Administration - ConstructorDesigner - Configuration file search +- Drag Drop file - Indexing and refreshing added to sql-procedure (before GUI) relevant to speed issues diff --git a/08_ADDI/MArke.PNG b/08_ADDI/MArke.PNG new file mode 100644 index 0000000000000000000000000000000000000000..48d3b252cd21132c77925309d810c7b888d3860e GIT binary patch literal 9096 zcmbW7)l(Y`u*KWr9^4@WhZc7a1W1tJQmja^;#%AZ?rz21i?%>gcHdc^qvv<$vX^i@Ln@o0@T| z!~X)ZC0H5!=1qMZ*0Tx9e;LCO`qAah8{EGC)!P(y-2W!%sbLVXriam~FPgEY*76;% zFB9)!C<8;_q)btGz;qD{v|i9}N+op8t$1j^f}Q1kO%3KtO%Rc+tZm*RzAOZ6EGs2d zv=Blu?OoDx?mN*Tn9)cF)+NngUd?cs5Wb(?Z{HmkCr!x>07zRQS40xDz0M5^b`e+? z%}7eFazEKX2FNc5(-{3g;h0XR&kxtUNG1Z1kxM#0 zR4vc?->)}0>=8gF;iEX5R3P`E-|D@le+YTO&LV&!SnuUmS)O`?3O+8K5Qjog$fRos zI)Sw6|I-YB$O$x>mtH<)@7=m~Z^Ewu)y8%O?E)=(B0-fZlEDdR~{})$&mos#}Pc7k!)ffx0T{`I#2jCgcxa(*l|Xb zXfEmCaYAgrlOc}ou=TS*ZZS-Y6pCWv(1Qh5iUr(Xn&U39V8~)t8~O}gVy7ee^jdK6VypspkDa++P z4TJvqbR9bNe%z9Qd%l%$uj;GtJ)V>-#Piv&`{e?Ozvg{IpjoH2$aOG3PIT96|J8J6 zVQ|yQd&3G@G7WYp3__=jX=m-L;ioMfw>g zco?Jpsbi~wYGqJ41@Y_`ev#(Lz-}tMtRIY9rd#;<ezO_ANssQw0?U}m2>%Z(868cdf`y+Y9S#RGboNioBVqQnK{|=3VfR(Ta zO$l_p%D61AzCurlLXVl&G>lSJs()BI&_FRWkHRS8vkv?cI&=Q(wQ4ZF=S4f-(QALeA!qA28NcC()ZC6@If6Th=5ShtGl(Wv5k8qi3l`qYzr z{X~pcs)A#uD^zj9A-o`riW3KbBeyNk$thMAXiZ_W_*@WTL1BVrnVCueBRU4`jb>q| zb*wbA`TdsdPwe)C0o>Kl_G_T34H830Q%_(YHoejF7e1yAG30H_TY2&yWdyqXbvxz0 zbu{~usT8=CIzHa3MvcSKggQ-a4CLE1w9rafz0|?D9n)ofdbMmF#J{#{r+pbDr>DNrS@ z+USr2(u~rxkqd3I1{J-`&W4p`c0LAIXez3F>cxlyme*$>Cvc|esmL{{8yTBrLI9aO zPHJjK!Zf}vT+43uuq62}!LuV5E1a?hiiGX&=^!W)Lbf!GC!f0?ED@0|zZQ-9bMgT9 z>Jkrl5-A%sqhO@+%lz+)Z^IU1H_cXLESc7WKD&+zw2KE;?8LI%C`UtimZm9S zGgxJKt=jI(;DZ(hI^WMK+HCrVK6gpEv6!GREh@j$^w(fg-7h8*8$cd*b!W1=pL8)< z!usHSrzCc{i;X|wQr_5k)5ckEY~?@J@r3C!KOY`!7MA}!%NoJWlPLw@PzoL4p?p~{ z6bBGeBISmOfNr5X;fff+9jn39((KAC-v6~^@<;!IVWKw`^hD72Pm(jBe1s8{HV$E; zB@EQkt%Oj8?u=WEdEAQ_2y!D$aJCU6)r@v^%sk~qUO}4C3C*h>y_ogfBI)(J1BByz zgNt^^BJaEP4tt`KbWEoRB?~pq$yPO&KtAUH?*aeCTqA z$n_iVdAG61DX-y@fysIQ{E6ZAjfUE+;hq>VJ>Rk(#4nON;CP{s#9_3hzD9;|lH;W%F$(Q#Y<8{bY~GT-h92wqM5!ruA`a&q z;yYhNPmVJp|E;trh62W=07ff~J;S)+Hg@1neCqN|8iE|LDgNLcpv>iw_wsfEij1*~ zj>(DZFrE&+C<7*b;a4K*%Bj5eKE%rFGBIZ@MNGHZ@-!RJZKrPQr4z5nz{mi`u1aTg zHpQbyOatjp??3waMN`l~vKj5pUOX^nR0YT;kv*c5#6U-<=-auw$&vm%jo!{*it*o#W1j5%r~Lfv@^ul zr8RPA63niecS{A~*vIMUuplm@)>ob#BH}KDV|x>iVk~2wn|yl9Ggr;2J!Evge9NGA zAs*`p5oKGv%F};V5eP4p(fllw*o!^nVIg7Amp`;BrmK?VfhWZ$Z10u&6H-Do7!wYq z3V-RCaT@*o)pRjt#+d0HcL;{mc2%)6c~)fe)}El;_L4wczQfZS*UkboP(cB*@aoPb z`Je32IzQj3CKvC-=!DO!6{72cJ@_|#mk*=JPKhbl(cIb|-@-z>vTlFhY}Q$Cov(fg4O3OkYH(JzH-e}U zgwDRc65DQOejt^6o2Y3@C8-&Jq4Po3Kw3zkM(js&j@n z&RKwlJZ31L+6=+yvI~XEzX|6n3tKKZD^_@d;qS1~ZJEzP4i;%##!?Qh)8C|AUB${f zeVyMc;+4mKJpUIW8TUoSH?EMZnVzq%EQi7Kbck7NBp%!8u#H0Yhfwo@a`NPRhJ68CrI+;q90&pFxHqM7(I=BYk_cvMB)ZIvI3zVjIflr!@?Jw@c^_9AtPA(*|y zqjy@hhfXrz;=p{|AAgwtGR(@S8)uS}53qEdh?cK&h0;=uu|v`x&rOG-Ka#n6s#IvR ziL!tfea&Sq5NJjE{gQqixlDPOYA~j3Ayu|52AH&73VOOI-Ttq<$Iy7zFK5oEu{ zj0SzaXGjc9qH#4DsirNgnv7Xty6eu%5;0z>Fk>0|FgT7Qyi?v7F!i~Q^BCT<>$0)A zw9sYI5b4e7xs<}f*{Ehn@!hOSSICZ@L}ewi6Wa%^R{Vt!r-VeV0j~ZQGS&c2`Hj^v zu2QMN6i&vB^KzfcmzcARwpqoEd7D~9i7RKpcELqYY1odg@l)3E<%3<0N!<`-_b%2}FYH6&nx<+u zzRzS4f%V#>r_i!&91_BVLHv?$R!eJ$>Yrp88#Bzuhqj92`;%3|rS6quMd(*3qsPY# z0aUzl2U?LvtC;?;?Qa+6G0Vc&3;nZ!rMyE-g(?o}KQH3>2EQi=SdoENis_e3!F!D4 z;ZYGO-%)`q;C47I2WP_P*Bug4wwZQl0^(_bmnc{#;e39xdFWK5cSe24z1 zMdNl9M{uy$7wE62g4(xB-xJZ?0Urslwg`%8M^^h@(Y~Fs_n@_q6ciXZV-;@G4~aT$ zS1#Odj)t~f-pxqT2Mt+sQ4IN_yf1p!sHe`+2+Alr@l%jtYq)uzpd#l=MTsyKDsMd6 zn)SGvcU@$sUd%o3ixXBab&-W-!R=_Ib;<$cy<> zo_V4hY9!*zBqhx{pevO9bj-v#9#Mf9p{DKJCk09ynl-c-O)zY}V=lIV9hHSATd(Px zsJ$++2y5fE)nNNCJ=YBtCW>=v?b{pwurHa}>VKuJ)??@fy$;L)f(VMfuObxDn(;Rc zDdBWu(%M}72u5R{iqDEd2JjsV9Y6#lzOI&q{3eXu>r)cbxS>7g@>et1mb~1(X0%To zbqNO**!Mc&_f~gOtzjHoT>WxD;}}40H!yxX=)}_&uANNHd;Uq*YaLR<%bzSpKx0hf ze+Ms$h!>^4c+_`lPj6?Mp1=gZX`M zjb+1Wb$LY)P{;j{QMz+QUg?~#wSp;s#^NXEdm7-X*@_O9ER~`)hS-KH2g#@23$Nkg z5=ejB(P|}S$w#IRo&P4>P=~(8* z8&7X7w|OTP(c#1WDW(gf??1iZhqa_6=$9gvOb1RdBqzTZ!p}hXiP-Pwe~dW&$`hNY zKQty^{qoC&eXgH@gcmXyCTpfdOK7kIuURw<)mZw=^~LzBLb+tLj$53}pQ*KQWoZ92 zKeKGMXfvZ9D?KNIOik=kq*cYDS4S-XnD+!2MHhcy;DC!INid(n2CBm`QRJJ%!NwA z_|7de;ZUhcrv+~ZO;KDhx^%N_fI26qBYIp2XMJ0h)rzdMdBYt^xc*i~8th9*MDns6 z2rI7g;j~2I7b$S!{Hmp8N!-s?k4DBR!_+1)%%|d7v%k=L)`$VV&8tRiEkO3%haFu>yco`7*n z6@sHj<`HWl+P{9E7DNs^G~L0+B7vg>(dS-Makd21|D0y7JEl`nrS zthos6X10JAI;lqDokALHZxd%T05uw})bInQH4$i#8gh=WKMbN0QI}q~$f^Au9tW!N zo6kCv(YtNMR!tPj>4q3V5$i}Xgdqc2+ErNws&_++fQ5ME-9ip3TSmhC7{q|XZUe66 z@cykAtK^S%B7qF0t(9H(Zas72O|Hlp4Pga8(ik^$b4Cz7D4a;I)qumqgZmGPAps3NZ%^+yzNLDuEb22x$kwV;5Lz&^y zb!U{)daiyb_4oNJPu)w-0kY8_~)Pc!++s{Gj(YSEhd2(mgPqD=3>2vZ4@t(co=F+jUl;yVZtIik_U>gxsea_@>ihpM?+Blt<37|mZ`Y`A>Fn= z)e2k9t6P-!dMO2=(oU?&iOdFEkRi?cr=nPvld^%rV~fUH&S|=yYVYX0KhgO;JOjuJ z6NjqsxXplgWT-Ki16?wd7t|iJze}myuIEId;#R{c0*TZRNM}0m@J&8iW~ha|_eJmV zWv`xfXjpWQL2o#p$et$p4cyGOYg`f< z6B1y9JQexavye3J37!3~?{AQLUt!til<5@2#P08X+=Slmm5eooSP+JsZ%0|?zl!R&W)OOAoWUEfj8bTk{zbs zeT>F4dvyXjk2ya+ME)$}VC)gH5pE;~n3p$VY__8c81-^XGMk8wn#?gaHL%@Ll_;VW z%nFW*2a+-~=uMV_q_V;RU}^No|I@I(0Z*DPW7LMdMH}##?a7AMae6;>L_Ck}!XA@5 zDP}{8<2AL{d=yx?w1krY9yDb4xxFZG0EK!k9$Ofe-yhj?orv{73Z&9YZ{z3omEYTh zkTR@X9hB-p+|C?-?Td)8@Go7RE2`})ShStKU2?bjta!8n3T_?;UN!QJX8_*Wn^Tvm z&Aj%j?px<2HW43=pYt52Dtp1S>o-3Ry&|`-Y;YAC)E-R>Y0|2x_DM-^s@;v8UYt3N zGXK2Q_haq*9(SFm&?vS@R$d6J#6tw^+BwXUvV1;B|zh+&B~V zC#NwyZmwG<$zigx-l>hc|5=Gx*<%7*oIvlOKgk$>lc{P+9V1CC)QFr(Xzf`k2KlT~ zyIR(>n3B?6TdmE568ZjU42j8^TkYCzvA&-6=lu~IBi~z60dU#=i!-yuGe44w_#7=E zQ&nG(PTac>z5OG%8YTu*if=o^c+zx?2Rj`g_us6;VfrEJaj0La8(|t%7Hyc~B4u^| zO54=*3?kB7Lsd%|5{CN|9--Mn2B{rr~f)bQUO-MrR3Y^M)@x{(NZE|%L(oNeu>M%kpj_T*I=({}}O z$U8%Uq|K2DjG-!i`D4$I^xT&AoEw@Es;JY+)3gybLTqXog7A2mfRD^Fm@rYO()V@)0KfV{M44)K{)wze(2zju;XFelJg#^wdob?n zAF`42l6Xx#T96>PA~tWJR@8;d_2Em|tV^9GUgu{ywy#$Y_U)BQA(j4KX=>(fCJ#7= z|KYKcxw9dKQqE5VO7BTW)R zebv>4^kl`2J%NE#1`PuAeic&K^?9bi$RP7!V~S+}e&D@*Zg=*epS!vhi7`2`lU;oFtY-;%O1R} z5Xv}L`|e+uZ)kq6L{AD*n#pRepcHkD7}xJp$xZ-f`UlJWQvcfEzn;y$)eRz^1fG&` zxip64G4gcv0wT*;$M^s+}vnBkUgsaT?&E2=1=NvUyaq02ckMsS0Z zP}H0i;Xy&@9yZvJqBl3c_eA zpG7cV9N&p#MO4m&%4ys;8zN1ye^O`0+&5 zJKkgUVc651p1z<+dHDSRQp=m!fcwJ>24QZ8aUg!L(QwL4`QWPv=F(_EiMG!4rWhWvs>Onx_BHShZ`GXI_1KJkBVxJvMkZYQAL z&mUMQ503HR?-UN##7QF@KmT9?n^*lhjx^MI`**aupM{gN)(^9TBG9*TZ35v$;_0!~ zbIS&4`lx)Cze6EFY(V7AJwtmGQkqK+l$|aTT{9wkc&j6uqY4-JJolXX@y7!RHA!J! zBz$D3Ec*|>f7bFR1z?$G1DE9=W0MIMoLHD|PCLyX!_)4u^0mu{_2G@`!e3&P+P=cb3)ttt{Wp7KO98`4wL}XIBU!>ONG0%fJhuY1)z{X2 z1f;zK%56OSU{psOin0TuoD<5?M|hsohK;Ot*}uvGy`&&X?diXE`uVOSzC&H!PbaPb z`MEpp5@w;T_1o{Siv9!gp#$w%tRvL>9YL9xG>h7#p>A^mOiZ?mm$sG4;cfufq*i+t zG`Q8jaxfDl|9V$Q1ZIn`ciof%s`%;0SIs}XKv6td%m&&y$6-ala`Sho96#V>!+vUt z|KPt39RZYrG{ieVlqgn>8pvOzoL2IA08Pdn;mc*5mWSz)!kD)?sphj+bpsXqpHHW* z%l+`5B~pN$dwDyZvli2t0Zb}!?Qvd~@mzmD_NtoY6{?UTwmOqxN}W;eL~+M`!?kc7 zye>Tv7$CY>c!jT5-W_rr%fPxScB=j(`oW4`;$eeJ;?YBJZg7RVqt$GTvGw>5-&Nkw ztvON?Q=62lj}WTieGEE#ZRpY+(vkw>?4B2*j@DfGzSqPz`Xrup@oMJxMVio2%93Vy z3$K=TK}Cf{gFe@D8er!Hh^hm{u#QiWB_=WNnq_|dko&g5(gAGn`LsImS?*g%vsd(w z2CN(yf-$&7;(KlROoIrBJ&-Bq6VzCOO6)r}k+Rzc9-8oBgmIT>?Z!tF8LW=*f9)pp^mLtZNU1b+8-!Jk|k z?ym8#$nk^AG4q5@c$=TyP59}~XuQc&av}fJy?VY!_KtLaz0BxR z@Vf3kPjnHzc$WOfLDB0Ov7K)oAO4gnAawEd;PF2=- z*=y7;yicH%^8+n(m+fX~62v(5{ttQWLS?}}9V?tbM;L`};zEb=* zd08VVUOc1PU_3$>Jk#$M@2b|819h+tNIKdg9pv_mj1)VN`?o3b!|ojw!?z_Wi4!4d z9m+=K5{$GwvhucOg9sszi-B#B2lal2BbYFxyZYYyFxcM)Uj__JyfA*M=6m!aq;9NO z)3k50D&g{k^O>pZ2B3Gfy|P4-Hfj>A7v>YHHM?>Q8$=Qgu=~zP-bsa;ODD0OMUNt? zp$yJ-mlS0wLa~BNE*$X0Wx8PYQh$E8`L~9pAY!fR(9Abe>Y>1_T8OD0RWyRjIit52 z8w~vEO&5%&pvu;dXiF z2;7mv#!K6-v@20X4ou1-fg*5ipzHX|xc{_>De?{>_(^CcoZS=R$EpzIs?J_Pa%42= zF}|!?V{`CuYFs>Z5!3thfP`Np(FY8dLI22l1wvcTh>1vDr&~aN&c{#>1_%>f{L3Aw zh}w~WqW?ytoOu?x85&wXx3s~g3o`h;aX)bRdeOx>Z-Xg~{9`DOjNWxS`RH zq1F@A)N21SpxTm+sKFAe&FbXl(}V+$QfFqLqkk?4AO=Qun9FSiY?pk5y*`brGzlsT zJij1s>i?ddKi9UCS5vER)mS2XH&}Mo%8H&!g55o0jjcfQV!^UGFk-Ec5oo3Gg1F)% zlgFCabj)|?ygQi8-`gza-MnW;*Wo-na^j^p(nH@z6{~5afF)i`C@NE$Z@j)C&pi+F UEbaaE-}lTLm@FJpBW)b?Kl(3K8UO$Q literal 0 HcmV?d00001 diff --git a/08_ADDI/Marke.jpg b/08_ADDI/Marke.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ec628311fbb7c94468048958f8ba3a208fbb87f3 GIT binary patch literal 63233 zcmeFYcU)87wlBKqN>#eFpnxEV2#9ndC?FsNL_k1@fJlk-j*tilC{;i}X+erKAt+60 zk***jH3HH?uO^fbAPF!2_CDwAecyTay!$@qe(oP{&wOSw*34LQ%`w~hjxvvb9?t@& z4D}5302&$^AcOh=j~zA_n#AC44~Eo0K>9>>iXyZ{>v+7CvRVW zDi?{G6&^VIIROC8WhxB|^7p2e)8tTTZb#T(boC$F_s;F>)bdU$&F=CydgKr7_&0jt z5A918g37b|hu`Hdn)bvW+VO9+&>!00Irz_Wf$Lu0A---duKuD5moHxy)qddR=qzd; z;^*(|;U{X~>Ez|>?d9v>@BDzu`?vP}xeGY`H^x6bCMB<`s&e74(*MSUPZj z>R%e(Z~syD9}jX0@D2R?6%DN-0Q^_i|4~N{KL9|A0f3(LA7xh(0U-Y(0C1%LN7;FK z05~NF0IfO4bHEebV7G?=U~CLXQ=fVQV4&dy=%^IUpElA601SW80ANTX`0w;>8mYhY z&;mfL8$kbe9_kqVm8f&`FA4wlOPf#oZya==^6CDKrd9jHdprqT2WbB!n!mnjY3b+~ z>FKD6iGhKh@dVR}6MynaW;T|SCs~UhK`Pwo{rjHYDdt7Q~w9(Pcv|ymDgtEGIL-$=fkZKk@Dt*n9ln)p4)>s zaYaYp$dk;xeEeqwB+g4pU68(_bX8eJRqgr>T|NDq28QN$EG(_4!{zkA`Js!eo4cQX zKwwaCNNCj4=$P1N&*M_lUZ!VczIvTiP*_y_wxqPI{6kG`U46sHPmS#zon75MU%vJZ z4UdeDVSbKJ%wgvj7MGS+R@d;`JG*;?ed594AGv4%y1$9_?~?rwa-F8iMN3alN6+*} zE*jb(YNk6)&u~_rkyG1@$-#%~oI=D2Zk?1j@7qp_Dc;8MIQkAU^NL@YlfeHG?Jvpx z-w77^|4Fic7wkXengCeoXsClncNzc#JI6rX)G;tHg&|YC@P(T}h@HKFV*p`Ga&O@w z%k?IEzb7=I4-OlT0dythN_f?83cL#admWKzRgiRtA^ESHM=@mb|9CUEZ~n!9;0D2( zjsau^>gaH0-eRRNoyO@O9_4yuH$x)ZA!f#o0Rfb*P$|nlvg=Q59Rtg2>l8`@aWqtF z@!H*gWY@w39Rpx1=>8tMyJApZnzrX3*a!ci?Mn7>s;0dE$o`LwFW)umeey3+|9?HI zm2Bq-s~Qf4H$AJWv(lRom7YUy_TGhlDnWedC_!Krz=!fMwfFZDZjpC!4bKsEh2}X6 z9EJ8r(Gv$$nwrfEgAoYJRQ#@A+;wY~)KNrMF0sp&mMHYgT zAP_``Uq1#4dCNxo!4y39}eRd%QG=>jMdoFIzYuz)e zsn_(*&oK}F^;zW3T*PeIuGss6SqW~lYYhKczBhafEZiSPuWy6M{BH1`yF zZodBcqWq*+K5G0J7&o802xddO2ns_?>vZv6&kAj)40X^NX4T(J=~l`^_QbOeDB|BU zY@?TLzOJAL7M$!+;+~<14vwdAHlhV?Yxp{DE7R4}Ql2nnc-Nvz&bjB?R;No|N4}8N z0HU6wUGBshvL>bl&pTjLGeok;Z*O1=@;H?+)zQSk{Um(r6a6+@cnS0@d}3NQR)?JA z@`Km3VOk6w*L!8)yoA<+k`*3=4JlK+6I=f9<=diP#S%eNP}_sMJFA8!1uhFLtg0e0 zsV{ThYn5C{KN?*BPrLEIXO`T&$!s7BsE_a&duRFocH{Q5qdzY-MX0!{LQfFc!-KjY z%fZwG~Zt! zRUZC45+<3=eOYu}!0g@$P;rKh(1X5b9|I??VhoOfl-L``z~`UGKsQ<_U}ij-P&xdl zYEKf6=$JV@rKe1e910Q5@Up8~jPd!I6s~WB%a!ZYl7WqT$W>KUddV)idY<)G7LW7p zg+CQI$|;Pz{5lQB7JnNS4*rJo3E6z4&|-5H{hCaB478igp$|D$&_n^`yiI*WAZASd z*Z4i{ATP;Z8GP)CyJB&qE7izO&PiG?XAP?<@CU0-qv*V2V6MBy``!yosFCXGF`y|% zol>#$c461&(!-i)H10_6Y_E+r1|a0V^j*R}bA*-OPL?I?X{{F|jaV)AjQ-PjomHXK z>6?ceTv3l1a;(WVWjT7;l#+T5F(G}DZbfDu^$f%ThCzjX-Lvh&L+45&{rTXsSNbo_ zEuLH%s*Um?F$B)yYS+Q=^2ivsq8nkjX4~pJ;d~T2bXlFO;T%cgX~CYB%5U&<&;F=#?zHGv?O24?jp)&u{#qV-6Sm2 zQA-G&o~~9t;V}I-97phEl6&z$5{b`E!47^m;W?i3a+(xhg-5o2 zA;)Q*rau0~6v>hJs-sJwGOtns9eZW{mr@-vbGvp)EAi~3*}SL{^SdrNe5~cMb(I!% zA3m(_XWjSv>bT~sBXEeUI&CCG80=?#e$nJj%E-cH%@bPb5|;H@7d$XunZ@Xs`JOOX zqn>Cz{jb%msG%p!N!EoiycyP+W{N5jBaUY32X%#C0&mg7R5H( zV!yYPuh;`4UUMzk{YeUU=tc-Uc>j-kCMA*|NRZ5uuI8OZ0^<3RP@X)lD65(GG%@>H z>fyslp2nH(2QLn#m&GwgP;N>elwRX3u5WHD7u)Y^hK0t3PUZNmg;q`rP5c&&ZU&Bl z3f=E23waPFLY9g@E4yy^-pM;Jxw2|D!ox2Zckfs_Q8mS%Bmc8r{O?pI>Bh8}h(aV? za=C`!Tu{PSCyABDk;{tl!9HTkKXWUN0b10w_>Cm-B&CxArFTqK0B;7k3#CnqlZ)8V zW3Q5Tv9jp2TVRsDp4aqE{kd8=&!O`)T3|lMukzJn@!iOV{FjMw;#LdgO7y9f@t|V zCWOZu@Lta?HaDlQc1%ptJbz12QNMH8PzTp1B0946}7eG z*4M%+B{A98U(Ixbv;d;dJm~qf8ia$Wte#yn6$>~DxR?m5lX72$#M<-?tN!81LqUMf)=*r4E z4$v2ka1^V2q=oz{uA!i7lu`xxVf8aB@b%l3!+U{hCP?Sv@$NUbS#I)*n`+X=5j8rJ zt9KXXV`IVDgNSSry8(7+926md>3}?I6&##2!!tc0*%i92DPXMBU(qHEOBFD!#R-w_`sWc@CzsG_vBPP}OQWaZ>rT|BR?gtgajb2mDul zACh8^0X!RwVG?n{oA^XoV?|z&Seml$I zV;^f!=l27Chh~T8_frjnEB%T_mqO>yqa`)87n76W(oPMs6~;{>Z>kYyP_#0m%EsID z5s#bWNlf?I5UOh3g+XQTANv_6|g?pcJE5uwjw1X|BE6B4Yb zGx_=gu{@_-Cs$=_k_`TKsIT)lu-a5dM17=wTC53|*(s~oX>%)4crm(nfR|nQ{&vaF zgt%>4koAavGOv59;2525nHxry{z-x--BvY0jIm))WDf_`U|-g7Zm4DHN%D}4mLxIdp}suOkS*r+BX0xAiaHMN>Tm4f1!TouD;F0>Pe67Mvs48PP>WODFHAo98yCqh(Od zq{(MKik+4(3voTyUyR5`*{JroAJq^LozvJZMd8(FVO7hgXb=r;=PwKgm%4Fn|_2QzgWIfcxLxpVdJxZIEqy?WONdR;fo zabwEY0Gt>c+vzQ2t;gr5v@4w-q~3*4n}r_Tfxae=ou-gOk%b86TAA!*_SJo^FGO3{ z&(K>^s5jUI{ZnQW&GU0P_RuFAZTwm~$G}~E%vxFs@6 zWd!~yf4Y%U=Fsw8%;eqj51OwenMo~X5*yyC8!7PBtr*dX>KO9`*9CkkoDyyg+5UkL zD)P6FD%%BDBG_7K!xV^ig*~9yW_7oKat{$Ws#G*@J8kW|A#)=8L6PFJ{S(#)A1TZ4}$lgn;dIyT;X=j8u_F4CeVY9*Wv zp>NCz;m8>5{1Pl}diubzSqvMrF@Gnvz{YIsGoAfP-GlrtUaikq zZ8a$Jj4QtL5<$k)cAf4mS430guBP(Vyq@GkC+Wl?u}h$se;!0U;hkP5(Iz?*ZLwRHHJ)` zQty5Q_nEI+I?!Kpr6V{I)NmLA(}wEYQBS<{_d1`e#TUdZ{>+DIExz`& zgJQVlHo23o@=`b656R9=FzJY$A;T(B%Nl*0c>eNq=!6GFGG5ispk~{s)1C{D+_XFL zBUb&^K96aeuvi`XUZcR}EP zZe8M;C00|JYE_0)w5{RfG7Y8T;8+3(Ke=XlV_(1`%AJ?%L*x%*(Ak%S0Uh;7*org` zGQnap8s>y6=$o^QxEy7PkH${?y61Fms9Ql~El{MFHrXk^ z7gEDvi=c_M`EK}?Mx0k01XyjzdRtuCQF(D?56Ay|jL6%~@XfL*6aRHTc?L!?Y(QeX~^&-w>k(BGT@6PRowoAG#86(PwbB z@8(nrU&SX42A<_*3tT{XdkiD8Nmy>on4?Fm z|N5Zh1ujK&>)TJjY8DyStXoP%V=Y^-m3NnKkD?ZuKA!oa)ALlM_an5u0N5yGFtE3SY}F)78t2_2i#b8R4@As~h>|NcPON4g>Afesk61fH^-d>S?b6_#OeuZjtgryM zphK)~&enJNmtv@SD7A9Hf6(vf5%IiiL}6W|i$n6w5sqSbY&$INLXX8Z8FYYD&Tf75 zP(%w+t{Fr?;u!X0HM9#!w}xlEJ{Z&wSdULi?)xIi^vKX{Bf-(;p~2CbbQA{l49Y=; ziDxJS6G`#mo~aYl<5zCee(Kg|TH{b6)|E`SYjNSH>t_31t4I8^-!}NpbQf-+e^jxB zH$*qzSThTjPQJTIH6_rIlDXoxx2((Yw!hc>C&16@Uy%6nC@KXS(O7hLvoEP`AGINizaueL zfy=&wT)e-3DCIPaoY4bw3gRp9*Uu4%&T*0ZZ_vb0@+5fyR|Os)A>0l%+M%GY?>5FM z>cSb}k^lBm=AnZ8TE5O#6ao16tg15Z@~k>+wy_4+mp~@jU9&X%>EJWpW$>|tpG34| zoYtjZu4)>nfRa^Xf{c`->dvwx>$NQ-2mPVeLzp-Um3s^oq;Oxm`b zUPLl#faN-o6OPNBHcuYsvUH?|e7m<`95}N!ayTp8^DFLm>y>c>7yQ8xv_&hIbxM9D z>rjRePIT0ez|~yC;S;VFOYw!)Hie{OO>DtiyCB0kusd1Q4N;pERcH9zUwpHtmpH$J z8VuG~52ncYLZ%j9I<34r1_bXNyql-n3oDrN%-(bP&S|? zA5Po1RwN;#!=_RQLIKzo3_-P-m)akg_)W#++Ml0^J$4BlhnVT$Onv0p@*~@0z)(M; zgR9@h_$w>!kxKtg{#DdZ1$G9X5Y1pUD;n1# z`qMA8MMi2rOBJfD8>HkF?iBmej#)PP%(mQHX4<$-o$P>8#l8J_epH8DKt$USYtAw` z&CGft2bq#<<$4wFH}PPF+2HGhViq1E;)yur>LWLuX4znd4B>5QA92zaX@Yf-+zs%U z7%|<8CJnI9$3RsD^!tHLt29eLD9L$^`0TK7FLQ328|TrOS8$nKD}4sTGy8OMP9^#1 zT$2qY0qjD3wLbah+;5e)H8yr`-|DihP6B4L23`xXtc7{4??XQ`BdbA0|)qt0I{bzZMhK zwatYvvaMSiRky!0fHnGeg=nUpRh>M&kbe70s`Z)30=-Wzj^5nt3#ov}-jVK+d>C)? zoO0WVsy$okwl}AQIekgV?ZnpzpI4g^yVpYY9F4<%bGpDTweQF!+31rfdP-~C`rimh zTB77NVi2yu0GAxIX^AnaekPq0wgbi+E;qgZDvq(!)5E>s zGa@|E=W$GlbI&cY`q_p}_qDb+cf7{l{+i zfXKVOOzWmrqi@T%R|N5xGi1_;kco5=_l>c@93c``IgwI1Oo?B9`2Foi0{4bV=gk z6eD%B9=LeReoU3$A(yUtS2B&XPQVZ<@uE1)hRnPhFZ9y#?dU6$@Q^9Rrz)hAs7@@P zBFsdKw!#sjk_0MEHswAc+B8`O_H8-iWb_RO_rim0?3Aw$)oH@a9yyM+kCvq6J&guQ z?W^$YZ>PpJ1?oHG>ON-c**L;CVzk3e5Yf{zMmLN%ELEnjwKmahk(iVg6vTQIdoKFw zO3Pbw-jMF?C>7m4v8$BGY9W9j_}y-Jh+L2mCpcZul?e4}2gNjIb|oiGfTK28U)X+| z4lE8Vq-c7)B>m3&246cuy1&y6HY<@%3pBFibd#xhL$o{6A{h{y-ps7E^1L6O9g@A< zEmwEpn><8nT_~9Tz3|Bujx#9HQUCRRj?S#4wDR^xdn|$_^^MO5E=UXU>@N>jB6REp zaZ8DFAUZd=AdZ}%7MNV}xq70F|FebgK$)h&7VMh__y|n8`~!Y*Jx|SpQPZo-=ItAa zjm(KRJEU0n;MoIHR`w{Zy@M`xaGgz3k><>YjAP)ccMo4hBlsfa4E!6Er}g{^Igi?8 zqHeS1c@9E-eIjS$VGqX);>TmmqyTtB64yJ~Hf#&a6UE!tRDC_oQrhJ$J0F4X5SQry z9&2r2CVv7Po_Qly14}|qudotZMk#^NiYbb{o_S|~i*WMifjBg4m^LnLp6&P30CHM7 zRIU3^sWYgWYx_%UY>k`~(Gt>8DS7mm@C0`?zE-6fv+3k4S<1--F2KypG;Fp~T>>Yd z9k%tS6P=C>u~J`-mbiHDf(StjB-jFCJl=#dOm5Z^>NHhrdo0mM3trAK9$13yK4SDR z=StJKMUglYzII4qdL*rE^orc^*{n{F+nZ@PPJIxAv{?>=dSO}6F#>xf(U&e(h8bwS zOmQ2YN<9~6$^GaE@EBkRSsZ>@lqkHNMafC!Sfi4f{w{7(9g#beWv-Ml!iw#VWiDQ7XWH!Ba&!d9eb~{ttV*lZ$-q~o+ zynr}~*CR4txIOQy(T2Xzlr|*olPeIeGa|u~SlO8l$cc$$wwUT9tOw%k)_DU3c|h!B zyb;cR#$ArU9nwt3Z7rmW|g#(n(Kq)yF?Gc=k4 z4_7%K=Rxknw!u^%VX{D&Eq;J76JG~Xa+KT<2>2x9=2%h-n|ePw@GU%+XF1K-Cj_B6 z`fYg1&Sc48DeJm;>ie~CJrc>EP_D!aIJqw98IqTffWO~r9#5n;xeTR&XngM1tD7hO zau;|YXFkkxIBlDHU%}>5oqmYy!Z9G;2!FKeV91?5-gKlE#@tH$iZ?YV)zuK8A1byS z^Na<#dKQc+l9woAB$=&XGAp^H^_&}+8T{Zeio@-shg-$EWr@MyMF-%7<7B-7ZPK&n zhc9GC^P{L>>@#${B}3k8?l;qlWpVEFzTT;?nh#!2;>9uZOkKa@)G%E$i8itE0rv@n z<$X1~h)0#_)nMsRPjE=G-!9M2Pi3oTiV`;NBW@eiNXxeH$Fi(Wp~L7KA;G4lrRacb zbSoEJ3(&^ue}R?%9;4_VM>ySQv^xud>cqbP`?-SHqg0Oz`FaDQpJ>sNVCN?J@FQ1) z3qm%la-u3*_vCg_!-&bNL~D4Py@Xw-QrFZwfG%O{wcnxDa^{AI3jsA@)MfQ1DCFwp zo*e&Q8`Pzb+z*qDLxxcCmw|r2ljg=m>IV87`Q?Wi1Cl_-h5~Ew>LxT5Szpqjj2lR# zS}o&3AF!8-+sZx=oh<}S^}=HpC4U@QZ7}9ET?ytRr`T)aOXeuK^T?-J)3K%3YHVg~ zniV3|Jn89(0>p3Gie;JeXYDy$hyj|-p1dk?3U3dQ&v146Uj*F)Yzw8S21h!r)48 z!k!v8vmc<=R2?roQW<|X)RdjcBg5gE@p>{<(g~WNfo^K!4ww;Cnhs>K*tBHM|qu%ZMLq~4X3G`*W;Hx z255vR7Q|tkUx#0q0l5Ns4{dPiiX3~xMA5^=hmBr)uHinZJvfvv`D3eW;$!TuX_4Xc z3af|Gf_Kx|Z`8a$__C+k9=GQ;-ZA&Im6K>x;JPm#RcQ}uaPOb_o|cQ$qveSD zUp(q;s4h#y9GW)_dkj44IR*le%VfCzPb6!z`iIj91?S0}6zEyXWCjJ&!$C7u3K$ea z1cmm_>5A?4!xL6QL){KpFPA^ji6e>;*6X*ow1nL6s=!`v?o4h`b@TqY7B81hZjFP? z8D3at^-^DX82U<>5ptKRKkE~0nvWzmKjS!gJg->GZ?*M+DnlHF#|l^NygolhRa2(5 zPIcVB*Q24IhnDhMg|_1R<=j%RR{OR`bzrS8E`7;wNduGdPL17SlzzyaTEbM(H9zD_ ziwTMW7|N{UT{N4+9+{CeLbJW!1xY*xxHK;BSd-Mr$X2o7tpFX9e8LCV7g8)E;|?kq4eWM$=|0SCJBx*7jp3DIOg;uQ+{wEZ4M^Rw)iS$ zks9Q`)!eJ#UhS<2B$<)fQWtWRI$!&uARIj5!s%Jzma)4PRD-8iH2eZdGrm)cx78Z^ zy)WBEC1b*5W&ZvCZ~ItiB=iHa8-|WX)SZvaik>ft-upUiG*$HZ(sr@D_U`;?Iy)}I7J}16J0EhFggsd89=Pd? zYN?&UW~Qv%$9oq_9M#U`j(@fdp0q&^ziBjD?fnuFaVb<_iDZBs;AFeXVkCnxYU+En ziGAp_&3FIP`s9_n-S6El>*X`t0i0G%?X7!!f?zWB!}JBZni0Y>M7~SddmVi7#jGah z@1?@BwjWO zVXc1st#t2{28I&Z`Veo`WjkDEL)334G~}Jfi}$_!P)`9_z1Y0{& zqFy{CwI9xyS$yuyGynBKk?>-2W9)qsExmhw8!)3euebmXA(A7q%R$&nKdA~f^op8TBq_4|O1*~)t-xQLpOuUoAYY$3up%(Z zO?5!Ng1?aZsOAAbWhw#?n~is%Vj%hThAcdYJArfumwybDeghryqrB^vwFi!r=BCe2 z9|Qc&XE|AGV3&o$g#<`+l2+Zrd(hVh?6y_sMM}wDxVvKQrhosSVGu><#o~HxV?<2A6^K2mBQdM%MI4nGT9x;*eeRBd4V}Ci_ z?}e<~n>6$hwv{+mb;)5kXYztvlFTAnFiiU+ZgSx2o3hH*&j!~>aX7z6!jgQJl_9zz zS6Vm0-?kNnl+NcG);aSmY=k__#v`zDlSMUn0b*1~=u;;JTj*7c8IhA?7M3=mr9v{r zGj-n8;KNOOKsu)-UXi{EE$F(xZcBApd8T=wGAppH`M7ghfjBzbjaqCpSes-!F{R7Wsdo-x6 zyP#=}tUdSbV}QweZIhX*@eimdtkMf8aIE+3VvrR|oIoUr|3ZD0;1(CPIc7KZd9=l6LJyykTG#4&TAP5C4J z;P@Va?vfzQUq9Riojo@1i$BZE*A@PWQyfXNKOcg;-G?n~Ui_f79`#X@E6>CnEh`mv zo6Prm57dn&N*S#luHptdj4#3Z4Y6M5zN-h@V7C_sbZ?l3XnNC#`h8|>4g|-58XCI! z>|AW@Ky$6x-e)o?oU(Vn1|*Hgh&|zewh%)@^*7RRRyT=evqoOewPc1JN3|})2w0DO zW^qbq1Ke_22v?=Y@^LY_8VD~h?6Ns}O_OfX;$A)OVS_jC`dWV|%PAw=dG`^UmHx$I z9{$zuqYI?Hp`Jxh{4wwlHL>3o$myP9M|8nTyo0p{`>X$!UJcJs4MrTTSfvnQ^H#~V znxVEnrS21YD5pz(*{b_(SJ>4R@{nKl&Y&h`P>jTM2ZfLi3!wtU3PLK8hZ+Rt6;l;v z?&6q{r!q9_cJ|YaNy5(_S?*Uy<8+ZBjLiwZV^9X8?FQX2TPT7kIpkgPEO}kNW63*V z_3H$|pkjafBI!K2kz`ajWwSc19(9B;5@&kdYWu3Eyg~0!fNX%Hs$WWYrnx<;b|h2Q zQMMW+lkN|`;xQ!@U@6>&T0%j_OI`6swPnsLdMC7Er&|UHPUIpKg@!UF;F*k7|B9Sj zeqM#G9vMus9CNw<;#b7v(pf>_S6oj{qBx$a)YpX`0~Vd?tqF%ST+LV89jcKN{QTSd zMqVE&Q7ffR>F48A#k}#=tnbt=Yebn_tx4{bk){T9dB~R^NBnzOCQnJh%3PVXB3^4%Afn}x_nM%}9eIMUSgxeN zZL_foS_PN=D0q?d!@+wT9UQ}i|ps(L_D3FM91uy68My5PWXovTbP6Y^0#t5d>Fqt4ddl5*v1w;%7W zl4W~L3ZoiTj{#<)iviB7BT=w@Lb%ap)yBEpcCx!rNU9t1Nmcv^qpd6aWlJsDa7R-4 zf~vt(&E%wr)>8G9i8m z#t=sE(F+O(^#YILi)~K%UTxR%)vB`Hu8JbS$jB`%`QR-(b33DWDB$KB5iY%GL$OCc zOgKb@$7=W7!)zYhD08;HB56G?5wy0~fVw_f;_g4}41F?F6Z9Oe;BHVc^%Wc&#>Cp> zsdO9J+$6dqT&=;ies(tS>+0dutXvF*mFO}{+=Vc%1ZL@$f?Cq8{P)?W7G99P_l#t% zUzt*d43fYu#cq~?6M@-o%pD#cv4~&o1m{;a&(`6bASB($0}%N>pOE@vGM}w zIcc4$zYh%hCxQr=#x%ni!4M_kb1Y570)Rs$!)}3n0~n~1*+pT0cmJj*3F96$OrJ%^ z&EHK`cyz^8oN;OOeGlk!uEORM8T@d!Z1bm?lbR9}P5n0n2I7sOPv04s$rIDjg&wo-K zn9n*C(d_KaqrD7uw>gwWs0%tSy51$YORGA^vACVjyE_-nUGr6p!Gf+#9LGR4Ujz}p z;}B16)^89WbBieBIXRO-^ZvZ})W*c*z?Q(1E1R z_IE_ZWO)=jK`ns?hqRioJrXuiNW}Pdj(=Rd(Kg9?^^W0{Eb!e}ZC#!n{Y_1L#ciT0 zF6dTv2h5QoGbRTgxR3EUNckM6Y;fUL;!mMJL4UV+Ijf|bU5D*=lP}5p2I>#(wUJD4 z639+;gorp!cWzyDkSMv~Ya>%|*IEjGY}w%%Gec)le<{iZ$>$ zedTwJZS#wn-1$c-D*RHRIXNY&t6Aj5;S7HqInwT2kAMB(^Ar=Ek7gg~W^zU|;v}h2TcyYd8a=~cPl=K)SamGi z>gt_BDeLZ|0M98cy>$1+j2|noudNqI+(ZOE%Ahu?TkYNld+W%Hb%Lr1%9gWx7Cxhp zGv-~PpYMNpSHvSG8r8;KH)o2njMlxKlk=dlP<$dt|4SCf1_WnrFk09&B1_W8nkFz$ zu7##uVH!{I<`0Lh8ubk@hp7{tG^hI9?D=q2X&#^I%RA^#6z0>R^Vf|1K%5jgBF7v! zdd3VNSi{!Rcj4$#HVvoUl=A*<`2nmqb)DTHc@oLkfkdtI7OhhSM8h$=!@yY9?3A0U z;@`kyMu&1X;d$)-m!k@j=wY5#Kv4nOzU}_XoNITwglpko!X1kjRF}pG)vv(~Sp3uZ z#5-$CNGh&pq=x7~UmOD~U8NPc%PyOl)KJKOKcaZBK8GMZF8N{gqhg-{p(Mgz`}d%& zF!iI5HJxFC<&O=cQ*w19I!xiu1_sDG(2MYn3@w)gl2>@cIiu2Z-@%QaD0Q14oN4$? z>P8B3llUyB)b#^uSI!3}?)gBg(_=|y0_1hMeyzp@Ap~3RJ8KI)S{p?De@Mhzb+ji&dWoh?Lr&FSY63jBw5Hb!?zuci3CW(*NCBAuU zOaH#f!J(3W7<3ikCj+mbs&)ia7R9LLg2XMMDi~pB{ut=61wBL1HEYiu{j|J^dN+O9 zXCDfZ3D@p|^SH8-#m$J7PZ2%Qvls@Da_f};`FCOqH3%8Bqk z^AG7RHH{JHV{|nXs_8*rFgqdPe3^deGkYQhXgjnczR>3- z^l4W3o!Re^AzCRv4^dWnhot2C(thYx(!_=RY{R6d!YJ@FtOuAzR$nl<47J5f^HbZtlztVkMLNbjJtfzUQ z(?-9C_jvu-AF)|bHCZ;uw`by1JBIx-4`Qxm|0np-K&-NMJ#tf#7crwF^Ez^#%qm3K zw4N|2c%-F4ONx2TKnNHyF7(gH)-i8 z{qB}bF^gQm_ET+Nq)(7waC9=qxDM4tenPxH2D+D05$^tSLi6bti^}=si8`r%AZ!4i zIVX~iMMob_r^wd&+CpubO^QP~Rlue&+$Ce_eI2}INxr*wG$lJkqUb0_!K_*k&ks&S z7;Bv$^_P|Du;N;8%#C^N&b?$*ro%CYrbD}3pY0o%q_f3n@Vy&f3sg(+X~CrZxOd6o z89^qw7p;b8VKE7IwSY{=lRyXHeq>|t*;kn2=!g4DQ1B@j^i%IK3kp;Jr+6 zDlsH09|MuW!C#T>BI-DvZ_Pj5FFbyb@aw=_N;YBz6cE-BtC|+0bw_XrhPOerFR!$! zK7h}N#axoHxeZyA1jzts7$FXJBlm3dz~ema#3ebknVZ^QmGMqHs2$1Z>T1+02iFlBLo>+I5ZJA| zzdd20!61_&?E0Rl{<*vN3kx;&Y7Nvp_6IKJ4&b6j&h4_;R}_=fM(P|Tn_bjDEj2-6 z^H`%F4QYLW&(go&g z1=dYssUC6Kt(qQQ#?_LAz<2pKjZB(-7ghW+yrESb!OCI}isygR_b{m$bAd zQweeDg9-YoP{bx$&4^KWzfSli>!C9VKKGwF=;+AJ&8$OfU4-;wKFcVF1Rev5yUl&- zZ=PCC+o8Yhq7xCd)0uNE=dnGy>FKWyVA5>ECOuC|3-cg!LRkk#9f%Xn7Wi{ZAbyf_ zV+-zgv~}|&g!SU9CbWJ2_nGZ}j(sNa0I}jgG+V0x5!$|OL)?e9BzIHP8X*c327Fg1 z?t?p+LGycl18*4~cW1wWX~~Q}-G{qA&GWl^|3l-e1|bvq9nFzYxgEv!#qCZdDCgF` zQGsfUB4n4~2Xe#2Z`|F`FfLUk`JvC{85Jx39#Fj!zx*+>_rAxvx(R+kgj)bzCM65I*3} z$3Eu&SZy?q@K0!pdd9d&AL=EIU|tKesv5v1i>x(n4ApKTf@H@C>(7NgEUy%Cv{N;J z@%COBA?cTwC#N)7V1TzKkd1*iqd-G1-cf;vij?J+7*uoAHi)A#An_hO) z4$NvF`3}L+EKDwxo}S9T(8jC}gjx;OXL(fSHWr!Y1A#orbGH2NG-Md5h=dasjo{YBbP4zCwDbz%2d`voGo@+8R-jTk2-BKaveVKp5uEFlIpXsv$up+hf5*at}7+FbSeg$&uJxwgqQaQ zUiT=rt(%%(eq!~*F{g|ZbKkY$k~_?EhY)TMLZ!(ajokMa zq+`cl?XB8t)WlkE&)r{M{-D*0JfY9RW3KqFOm1-+vXK0;*$nH&;VL4Hd1(95@jYzy zZSo~RH{?tt1;93s$;G0%j{#S}=T#_0EA^#pV1BAI2_)#Avv zaLXI9IOyDT9mBV)e63n|dVNU?JWG5G+gi%}0|f4r%qp8$hw?rnf2FL(D=R^sQ_>L| z48b8_hQSW2;JB)7gs)ajT-e=Cr|Niyn8f_rrm3HYUb98^;_u0?!%i0k_n6m=X;?TE zwt1A>PtczG`1+KLTBHFm|JFEkG-T$)=bW@ZLZ&G$?dJmi8bJg`{6I4 zE#{C+==MR*&+?q=2EWmYCAo>Tc~znr?#j3;=0u(%CTh|xxBr9FekMKQ13S~v4Xa^= zJ|W&Ah~hib?&yU;4e5wf$Q(2pEKHFYz?%~?F(gBYhePLHj=SR1+HLi2vT9C!=vkAQ z{b(e4cf)z9<%>J%NN)Yj*VvK)S%_#*$oUZQpbUM-?^~0vzp9F-jiee#jtpO8c%l*2 zR`lCY3wKC;VU@xs;k^?hSu-1gvnL<=iH~KV9&DIEw(MTOpIH5<+eU0yr5!P>98e)h zCly7Up$4mMLhoAbOb0Nqwl`ZD80~0;mJd7Va?`SVYqzzv^@qezFM{$pa?ozciEKE; ztZUlMVB2oBzPhTUD&-R<3Om(Xr~HM#(xR2MXs98~-#`saQF5TpR?$)Cu>c2Hc~3yt zcIAREqwFVx$u=N?CMhcJ(~))XCduRI0W1U8zvQMRY*uVt`lxF0;H|@+BNK_SlF~EH zgW!ZuHVUun*$-$_4}rXX|2Ztghw=^~P4>FfTYBGDI$gR;)le3lH3)|)4n`{p7}pS7 zJ{@9C<7K+4gSloUjC#jn{91KEY>d!J@ll;k;deN6r~(saKArOM2R){J|kRf-aYCGzdi^e zSWmasxuIV@T)}7UCTa@G7<~OY4%8tFYKIHe8W~HPJke#2=tE)yHOG?-B*$7IB?eC)y34WPzU5`(IeFZ{WQHvj_7{=py zMZb(}iY0+CU_5lmYmcS$;yVwl!hnzZ)0;0?GaQ2ft0hb~dh#}5YwdRjlIdpc2l^hl z=Oqbe&Tkmkx;$x3RkqI$s*)o#68D1U0Bnc5?rmR^Ql4A8Vi@F}&+-q7vVEG#g z&~sp()nsz6s8Q|{_zUYPIW>(1+g8*$AX@0#8dGU32_}WMMpPXSx2`cuUe_kxYjA)N zFYp4fL{$V>KiaSpG3{<0bbkY+p#`mC3`?GaVUNtn;v-7A0X<}aqD z@2`1n{Y&2+Z7FSApu`^0 zCycQr7TWR7=@g^e{hpKr0fCeEE8d)W$fCyvjYk%(EG;Ot8fT$%`*Wew6k>7VN~a}OIlAr+}v{`*m4TnKHVJA)*Q=KTHH~Mf!K8{Tmw9~71TYrNt z4)?ppGDqies|lxs?c%%@I!x!-VZ+4H`?D$dm-swc%R`sD&&u*Epm!v<{m84N6GKqv z8L-bQh@8_Qo1$XoFM0pQ_RN(DXefyw?^0ruW#eQ6kUUzOKm9*j^@PI;yR)~ueXVqxC=-D;f=6Dt#5`3^=Ac}YhMxZlK@V~*ej0D<~ebTQJFlIohhtPi8; zc$#?)?iXrLNj~3af$4R8e@zzK$Ei}{NwssZwuoQ^pUcLjgs2*!OYP7L-C)~4xF3rS zcao3PrN2FK^L1ow9lZBD*5;Kwy5U9IvK*N1r&&MxEXuB!eCK_PA!h$WH6$20tmiMa{gi#F zS3=IMU!dl>?^tclsznH{pf`85a)07WmfDX|@3^v(&OHaQ`N^!i8R5HjJUovd0AN(( z-(*Y@e?g(XdU?PA_k_SZzd^Wf=v~_(QwpB~x$EEHP{=(Zo}o3kEV*n-4ZtU3*e(7f zZ|e>u#O!{0bD;AZu&ErX1DM%q;6cN0rTq(W!fB5Ke}lpb0e#51A}&TRzw7i*rQwa% zsCU0X#>aVP5tUk`T6*bL=DqFl<(K_-THv1Fppk|$dgSg_3FC)0_ixabga&Uqc^o%T z`fI()?gZxsvX<_y-?=7jjgPNIkhBk~)a z(Vhn}m{!~RLP+<;#QBvG*p0niRS!Xl)PUXSW2{S}v;N72Jx*~T1 zu8wU=9>N9m6ExW7rR|gsut|U9s`K2l{DQt^w$tX}c!pTh#r{@E2*!T=o01YTlPZEV z2DnVXwKOXl#BH)q{04=-Evoy8a=Zrh5}&KWs-s0yZmo?odEe1& zapsiy z{kjUWk>*3rENf%`D>kO2+FRC+WD^oOtx+W@R3aJs#fjvxo<-upAQ^84!J1a$ePd=p-UUu3nRryYWk{j)#)n?Wv9E|l#uHHlkVDNu)?>WmL2dOmLL_^1iqX6VtfQbl;0 zNSeH>ROP%I)omHyQ$^xS_PkOPFBGd$Lc?=Kwdw~SufAg`<_iN7N(4L$<<%aPYc=7} ztLSLX%Yy~7>8dfx18GmMTO0(oCq>%)D{z(Mf**Lt;^^b-``&jUH93J4jMd9?;-J$A z4jO{8GPlLQ##>W}%dxR?vn_57ihc1sCtUq;3`ocahr`9+B2<6G9AuX+^4704bU&%5` zL|BImyOG106TR7bGAW+to<05I=N#z8A#g^GR%&6KGv&ljPMH(96fd)z_YF5E$6kH4 z>P6n>_jBl3Q`&yK?KG=GuwJ$lW+Q(~I@;~sP)oi4XMURkC&ry0j1Tj!eYpUnE;L@68bg-KZ{Ff|k1f@CFnwN?sGs{AWYbN{ zb10(Snu8u$&DRmJtlTb?8ZmsBr$Q^CCEe#)?HGoL8vF(clQ3kLM3Mw+%FV3^3TDmv zhR^nUUv{|CoGj&F0Kaw!T|z8Yp7>Jw^a6thRYY}TeuKPomwQWTA|T>>KE`rkVKw47 z`dbz&HKXP$;9>%9JMyOpscwG`PfNi8e2#U&y=BuS>{;l-PZ|PX=q?pX_0oHA6#D~( zL?On;pFmbi5tb4Y$mmASkWRx#H|pFoof~+f&uQxVd!8@m?kv`wO|z`j?e-U9>Ir~O z;Xcv~&cvdIu;9A7SS5E1m5@h7hJ1Wtx6*E@jOpA?e&SQ5x96BP>(70q*RzVmvVFOz5GgWVZdR_aytxL+Sp<OZaYxuZQ&P zvU9xG@O>r0x*%CYQOjSo;N1u$Xhd;058fRqOmH!h^sB{{Hg3yr9x=Rn3)eNqzf&OR z7@=QTS<5Cvh}2WHc{Akt=pfKI)VzwggxQ61TWnJG<8t(T(gnG>N?J(P!?fbqk;95d zcU&jqaZT7|+}YU?jmx;}%1Dy)OK%G#W@w8SsYS17IRC)^BT|=QPu$XR4=x?dNCt#< zl+Qnd@#k$+J~Nu$!RF2>$zmY<;NsNW#x0}8;`=T-mV!bYmxS5*Wo^koK=tO1CSCJx8+QOJ*S}#sjsFAdVV;IMU|Dd{ z=%>Fy$5tv&9ZYxyb$_+Vg zs4-zk|1+;{8|n>`V1d1#%PT*z<;M~hYWmyH8zUcku_otIANpj~8B*QWD#9*NjgJio zDf9GPuh8s-njyYdfyb$^sv$tn?G|EI(IPKX5hu5ML*D@!gBvROnGq})a?2h5-YVt5 z+J8bg=t|ZN`oxwM5X2~bLn;tETD8wtxeKa4OI7NU1Jt1>Acc~jpgwe$Md$>zl_Q z2_se)3H*;`)5B2e2_IRi#%xCz&CC7lWR%+ z%vr+Z58f?nvs%U5cd={g_AIWlq=^8Eg6=3D&cG|{AgKSFL4=W=Y?}bDu#&8W=751Uo7wZ*0^Sd1l z27!dKmXYr8#@&4*e1)H14&?LOmZR{9>!0l`6q0L4@$484H`Y*`ul_-rRD zx&KOVd)+VAWtX-TRWt*C-aPf)$j@Sih|Wvhb2ll^@M;95UuFa7D(O4~NEtQ&X-Hxv zLrKt(I`LCABUy6BLbwm7rlg*o%Q#AkWj!}nKOIi%IQcd~xJ;tMr;ITlAn*JWAO_2> z=aJ&t8?IQo^s-O;$ll_%UAs5(8uR_!(&L8-@9NdTzH~HEHeeSWia+5g%j(4Se$cb) z(V1tB&*E#!q8NjMan=s6R?(*smrz4^;Q|yNQU%-G0I7|JL0r!Mh>;LXRX;{3g!Ijy zXZ2X;@IR}d*s(NB&=D)|m##;As{48;?=>0@_30d#b=ZJr$ z^J7!1@{tFlGaow+Z&jWaq}SB(X#EV3^qW^svyKKi-&^P%eh+SMcqJB>;As0ws^enV zLablh5Y{60#9~E#$l`>v>*k|(k3*a$IRtXQ7ip)zcG=5{zZZ?zQ{Cw5qPXp^`U-cy zc!BN5>xN6tfdkPMumCUo(Q#+Q8L!KA;&Tx`tuIzjf1>h`k7+i}Yw+!xZGAj#E!&Ep zJkZs5dH0<70RAkNb5Rbr?jPqi2(#R<`$0Zk zpZ^3k1Qj|@xkvm|X3V*&Oj@iwY4GrMz|#y(tuF9Wg2Br}`24*%$(sYEKL)rTI}1oH zY#RwL#2RYv_4`z|0Rc@EteX%aLdCY3d+r%MPPMfXyB^JIN%&;t@rQj1OKfv=6{jpqwn28v4`&zD)r7mgFz@h z#>oECeR`Spg`R>M)yU_vTFTd%AgQQmM%P({Jw1hXj*Femi75NyDr(D@RzRuELA%lH zDWUn2C+=>URmaM!yZ*e!Fg;wOslMZeIPq-0iSa$r=lc^RXr#S=X zkUbx)q`W0tBPfw7OEv~CGA#Y)t9p43N2#{73;!Hy`wnwrpFyk#F_XLPLN{{c;f$lz zKo;+s6MQXa`FQs`5i9wkrn~BaTZjf9zmIe`roC5qUw&i_1nYkGC$t2>G&%UMV8mJA*r2d<0N;aozWx$>WjSh1M$F>m8~VdDx-FKouw zAgA0O+Ii>w6fl-c$*IuYx%wOQsGfd zkU|n(Gzxj1xp9$Xbg%rz3GSR_7VU7!1@L1@aBG5OE``@@a7IAJRV=I_^0V15-RGY+ zgl>KlJ(m2^`&c1b zH)tb~BzwcBl}V}kVu;*?8jwkMsG{pIH=^R{=tTH~j~wa|8)A%Il*-#LEAaOSeN+jf zZ30imuGuY`*SE43#D9w?S{Z5+U5iuytb7&3MQm+R@fOoD#C|#>LsMVqspx*1a4xhYU@59CO1QG&7-Yy^{4p>0+)@7h zI=O-q_N4)o_vO1Km8(d%fzu}~&i&#q@QXfclUs}Xww%BIu(bTaoE|{NOd!k2q)2dm z#NDbieiW~U8%UyX(GD1W3_f7KiIdk!(+R}~W|cc%vR&I%q%s#peBI1|aNP~CVjX3$ zohE1jvedMbq|YkK35P|FCDm^}A2EFRsM=Dfxd^Z+jzY4y$#*-b_43f>+s)C#3Kj|D zwe&;mR0FRgV!}!z^aUlO8bPnko_E3G0IUQW&1+462M&66i33frTq?R!6)OVO6nZ7z zW#75i?LR(&=lTt@1wv;q3u?ULP;06&^d?E~Q)!$BGGk7&&Y*g_71Duv2ma_#KD^X^#deRf<EDbe|w9eH-;e^0n$^)C5qd;?l8)+^BsG;hWki0<`gdJt5as>WX!v@ZqFj@ zPZBN)o2F(z3mb`J-LNgfn*ipd(pN+O= zbjxiYju-M?_8s)?Vagp{^adMZ4v-_=F+msnsY^Pn%yL$)!32m#KX@OT>b`-HKsr(k zj}?6WmZ8AXYP>i;B|+=EsSf$Htmhv{z#Q-t{02?&T&m5~$#a(1yKwBHdpG*pNETbs z^W+-Gwc#u6?(VTQjtkEc{k%Bn?Gbq$WLKO1irYc-Eq&qiQKQr9x5Y4O$LbODD$TWD zs$F4*kvfGI3zMCZClYg`>M?c`b)wA-k;-8)Kl2t#L^H#>m787hnRq<-D{WWcYowAiq41Z{J@$_G^F$xqwHF; ze_9-PSKJ|e3z9DpbP^Yw>-Fdb4SiLD{h75Vv#O`Ex8cMMv_N#3$ahFDJp=5h(vxv<;dW z@kbgHJs-IlX{F<02q6-HH5-0l??`r+>rmf_ECi;-AA+g=NZE#aUyx>f z1!Bod2Ks>y!p|qf_P^D3(0DHbv2wtx+6_M%D$9x$H#4&eQ0qo(kZcSzk2zjx^DFU& z4KWsp`;k{1UvVg@p|(#ZSZ|i$d(laUlhh+Ln?P%d~;A($~Mci`|tKoqFJXSM>rO#W;?9PV8+* zhrB#YNKrIP-ZgoX>-=o~M=+^Nc0Y!E0e^p%w#oNV%E_48KRAqTgnmSt5ZJ~9k)*Or zYEAT3XFUUkM!efRV=@s=)!hbsQ~;7hoF?^d-@msFzr1F6OTCYEO?Lgt;}}$D%@h%$ zH4`R2?f>$E2*Z?Ij?|?dM*!A7KqflOb5@@!%k}MMuWGE~Lv*TteI#iO@rESfqKHEQ zSwBi7?G?Qo*Dy+TpR#2AnP9<@e+}(f{8ID)-l?=XQ#MjqGrBQOI=iR>7OLNU`2?6e zX(pGUdHlp=I#x7mefv<3u}UlS^^8vssFe*x@h7%Jg#o8ppL;)Cjm!hYff<_csHKzg zRKHLea5;WkCr+=XT1@+dJ4H-TybWKSdDociQH(zIbtcuuJ>syCt-z*}PKR<0B}!RB zt?a_iS4Q)-kInz_Rtv-j`5q?r;L|HB0+*58F3153;6qy0p5WIE`H|F$g0u(^nXT)h zs<@@^&pnbc9vv2?MDGsuE=t6_Tcp>DAmEkuYp5w~wZTOK$h3Yf-&0xFAjIXNh5^;O z7{-(TZ1{SF_o3#whsL>=Vv136Zc>w zQchbHoNYP&2KwxJod&(DR@)Uo8VsJ^QxbVo1q%K4s2V>a_74F|*f%m-I+-BsF{vhLhh*7VMgs`kEb z4|-?8A@H`D3WJs@{s*lIE%z;JxVpotc;g4fp@p3ZQt*QLY6pY~WD zgddLJwX`q!G=M|#L<<1>l%vjj&7)Z^1 zVu8Y>+dQc$*l56hnYdwJU7gx&z|CpI?LzV+$5DV-{v1lWwZ_tzH^9?TGV{iPS@Lb# z=#7_ln7Eo~-{k!lg5iaZmhsL!wHpBGbRtSz88teO^}S8>uNj@s29iuqdn2{a674G@ zREb;Rq7{(_Zr)#;=VmW23&qeVd#XyUlpS&srGvx@ON0$;n$R(yZ(b#<3nJ_dgd-1R z4CW*!vK!3<^SZ=&g!kzxiVqBb(wQh5)CWFxgyE>IP$aLr{TxPUw*7`{!{8n0bbKg# zOPO8V%n|%0rFu6rl6Zs{ho8-mjF+|Tp`FsyREzyDJKF1I&@3m5{qtiWkXOe}241i8 zg`l$KouR$Bsrs1%S<#Akz9uKY_Q@|KBf#KxpP}fn*#BHjr2nc^=r%S=TfL0pPgVDc zvq|%cUY^iAd!?2`tmpG($n7OyZB!zPZ|G4qX?B!OfPz#xMte-m4$_3!3r`9O!#KO2 z&tmJgM5?a+Ku^uWKgG9z0oS7o$RdmSDOwrK1Ir^3ogp&rN`GeM8sM2YWppc3t)!cBJM(RsWMadf`$=1i<`3 z(pD?iClY5K0ey7By+vW#%C73M^&41!a{Zq!EG3W-PZ-3hhFm%?%jXkeQCw@3=bw0F zgm1y-!-GaC{CYL8P4;*OZT$W|Q=iuTQrnTWWq4>XtpgB!AER;Ee_rv`j>>L~S(&h} zv26aT+8pV)ddJv5;;0eFSN%E=kQxwj%C#r7e#rURqPB-K#oqmNr(V@lyI9kz8OE4*i>%Mp|B(h&>tb=As+Ul2`u4=;fWVr0<`qTmbo+NV7f!isi?+{{Xtk%{ep=JyNQ!9? z{g~3_!wg08d|d0Dr#!qYr7TIXgo-Zg6hh)()s$8GeFC&@Tdi*! z&N7CQ9cukVzeIS34BiLW-BcDqLUZ z7(R6c?TDX{_rqUcq4?;d3}-Ck6*diG-FFx9*P#xOAbdG%fZNmPQc_BjZqxiRG$)6I z&_hw5$HBBc6Sz8jl29a$Zr9@(~|8Iu&SlMV>BY-uVGP=TClYt#^-eDUg&i&US$8M z@E%?J$;vr&G~mS(wIG~z zapDZs4QjD8Nbue`t(c)iQ7ULRa+ST5<-p_LyJgrh&~Q@bn@4_0!EzfTbp2rI-17=_ z@Iu>AgpIG#A-19dS_y5=i;}xkT{bM8CAxU+dm~C|0eS{Mn~4JVX=+L10(M{RNxz(Z z`_$~-qQZ}#7sOl=yu~x34RO7gl{B;NRsrmY~L~e&} z!a2a7M`aejzD1OsjiNVHW;*Q)E0TU9ac^nY&E^(GXTDoKed~Am2woq+F`k-5h;Ps}bM<>TQKhsg2PWk{(?IO-zhq&WpgHCly_qEty7fif7vV#-3_dH492p!p3U zu%Nh3nmJy@O==IygoF*(am?NA{JIjm&aFC0&cPg3kJ1yED?uSbd57%9#lxEBqDJ0} zQqtd!HJH&q;T^$jv}?uTLN9veM*k@P`BW)Fv}AQCt?JpTU+y>U_-^d;c=ng)uJapu zt5Ess+{n$l3J{y*Ar?%$Mmt?oqU5 ztvQ5Ye!CFLY@_S-iFS8j?}Rj(phn#5yce~W^^FNY0#-9u@Mpvy;^wuObhOZ=Vu0=p zf}7Wb1PUU8+pgEEvyq%}z8cwHWK936`z3^`YPH)!Z@=sb3Pw-+Y^84QM2Cn@yf-L( z&2=wTW|QQ)Q7)hn_D#${Fuj5m3151d0(i?fWM`j-v~8VSS)b2zdQps^MIbDY;>5&I zO%?*SWOCJ8ScJsVBVaPTId)FmO;3o6)t-lL8MCN)?`WKQ?h(<@ZxAZLR*X zYOLq}MZUa>f_*H+S^X=zSvh>0J-FjiU5jNczjwPVJ0_BahtR%_CiQb_6ZcLbGsc1VmUaCpZeehWQErBk}*X+E?I|1^V z)qjF&lzu|*_{q75uidO0tOO(ZSI3bGYN8~nF)EsNiegH@1UK-?O|DI3htrH+WNsWb zd{T3W0T?`rJ!6A?OnbP&t9zu_WYa63YiD*xceMw>mONK1JlAVy7=n8c9-n6%js`Jj z?p;z<#r2>gXHIyjD(#b0f(O?dE>#>Y)BR<%3u&CjEDs;XwaDfuElpn~23M4R`QF91 z^Zfa>!jCrG376usO{^6%xk9sTQi6sDp;zmeNp5%W+)fkUJHNOnFLhOyRSSqk)i*Kx zIlNVTYgcN1@b^T#9NFhm_4G+$xmkb-haOdga7~{bQC!(5KaSZ{(zvu;2-Gup!lCH-zo6*ep)Wn_b026B6K zrcmOmvdyxQ>fV^L;6b;nkkQs6@vRFzERB%%21Z7G2d*9^MY%`V+PIu1Q-beD5a?06 z@}c4SqxRQ>y!n9A6r+ej1o$&42+!u3Ip5JQM!JdN#bhb)36e#!C^``Jl}B1HJ3oA#f>+=PC}w{}WBtLFUtFhENV(F@E(Y=A{& zWAC}CH4EwT?yVN1urQW0rA`YU*U^V|^pWMvzz*1o@Ph;=eicxF973IDKzYTnSI`yl zpzvY*t*+DQkG-^XSaS+L4oZB&WULGuOgU1pq_mpGLfU`J5T<+|v?5MtdE0q0+uNMGdTkSI3;r}$?>C2Azvrx6?^lSF8nJ9T z%#T%!bsBwwfV~Ur9LFR}VRb8GU&bM1o*+1&PEgh#eNSdMytHhN&Tsfiw|dJ#`?zrj z1t{~#+4T+<)B7zNlf`u2cpvP$#VT(D{`YP*evqOWHuSSz@EX5=Vd^~fQYoH|2e$!| zSQ?J2Bmk-J&q!yAUBTGN6bSE%zPti;T$zi)&u~17;HsNN5FA^5esR31yq*}he4J-l zSg4dj{d!Zn3>-AW_2pfaj@Pqk;rf?y6n&pP!-KPSq+QdX9W z=4jnylH}WK5+gD#L5@>SlZ_~o^C>x(DB1H-Dg;a@-=d3_%&g6m7qa`hr$oa_XSl)H z7Ia>UF0jERAR2KeemY?}6wQp*nmM!brf)ry-8&}qE54+aov83y6_8PBUc5be24^Pm z9$B7vAWHDigtFTwKJblg9a=%ZJUKFfzd?rqER0aEsgup__z0STczB)V3+7dLlV%Px zP%c{a!qK;LHm@H8(hrx0Lb$HqWNIZZC|L82wW%L5An2|^lUbfbsYk-rFN!qRKl`C5 z`!W6LhhpG+IUNj)*@u8d(&Wkv56x~iC3ob~h}3*TiJ9uo#Zbu$82>ETtjn%rhqhcl zjft3TNqSc6C6pC{eL4`kbj+aRTewE4GUx~%yCG{jvSa$zYdS6DyEWostxQ%5J786JZ-m+N*!{0j0FVW{A zG+#Vt{?p03qf&~)EXmuOk`Gz$E#3rZZKd#CgRJo{SVF1_Eb4lPi;JKH>%*@s{!4Ek zgyfoJO;zrrTT(xaX6Vfi;DrH3Mnroxy=qgs^nF>MG?#y+Vk9~SH>S`xI=8gp2Ti3S zDOJxnep#4zbUf7uocMgKSWhk*lOt&T(WmD%ddEzLP$LtE*t+R+{`jD-WV#cs12I-= zVktYB(L6QzWX37+In!#3-5bCHD15`5^h3}?pW22_T$VzRj^Hoj-2_g9H&h531KLJ- zjuQWu08@7yzPjX#Jg!|>AW|Fy`H#MQe8SARL zj&Bq3G!s3ne=ueRk@OzEqU571nQJ=axxeG=KdNEFpW{<+c(&v#0mfwg7Jc3TG|qPC!lhafiJ1|G)*yp0Z$(1d2q-^{(6~t!LZ@%s(a7ND~(z%HAGzS-iE}l zWBXi7UtDI$=U2a?*^cBae}%Gv@*GM|UNoR}Zct|{bPFj2id`eW~(zO4Y9@+imh zXYrepGCpk{*^L%Gv{%vx{8a0?D8`|rzn&i1=;=}?W;-1mlaCU3GWesm|2;gP;!OxT zn{}~P;DblE-}NRo|FJ$4k2L6y;=zq|SF_81TxKq}cWDqR8+n>^QBTUiVg*mqgv-6Eb-8gj9sFUAVx8Oe zI#wQ&i@Qn84!krd#%=Yj#~>GXzi~I?HUC$hBhdk=fK>)udd}r!s;;4ri0V%{YvVIa zJ4bRSKzH}4OJ zcK=|-_+%35E7HZ1rXgu2hR>114~?+~}8&gFwSU7);Fi!33^8S=s5 z+u`sBP3Ro=%j^jdz(OpGj(a%eI^SD(1%9jO-a9v8)O)7whQwKG-)+;KWWDRJy8U1w zH0EQeB`$9oZhPa5Zl1?%>gVkOy=ow6ct+)CcfK4~`oM{4I; zRz@(QqW%@G6RDFwEt9Gpu0oxmG55AZUy0y)Ad^&cVMGg*Gj!=k&5)3Pz*`_P=;%ga z;Pd#6Pjf!NxSG7XcDwSukz4x8^Kn7pv+y4!;6gTdO49>xxMF0Do(jcsPoX()NZYp0 z>$oRIcv-#t+og$?`xP}Gz?*vV8mMrWL&4IzK$8J!uaj_d*JqCmKY6LK=cflAz;}|? zKA!RooW|<`DNN`@Z;S9bijLzfI-EB#f%O*V`@o*pn>x++H`H1xKF{Wa@DtaQ+0bKGZO2dd2Zn(9x!*EGxtM?#|xXvk_5~S{}0oZxfqm zDr8#<91JyU0Ym<2kB`VWX5L>3Jk&;CYyn!ezf)1+^T?)MRn*8$EA+`+_UxS_cz^BF zKGTD9vg;cJ7_WtTsm+-9M2z5vY?F!`+JrYa*;YY;yIF57k+M68T)uCsNz3Is*bQUi z8sjWv9aCuV6ijXp10qOkD5SOjh&8zM5&@xacBjEsn0b_)vV9Dzl9ZN$tmsA_J9%1D z`vT9SItxcZv7tCT{|S<^&i=rJEh_dfFAVF1kwME9Pls2DgJe}{3o9H z|LpjGok#Say6FECKgIi5+)oc(gqg2RUafg z9^*@ERG#)<+t(7h_(m)&;lY@_HRo(g@zIyKr8C>dH3NtE*A=(kqM-e|_Jd_uK?>fu z$RxNj&@AQx=GqBWVL+xGrfOy$?=&2AU|}}2SP)8%Ucr{41+>+DEN8b`){-_0H*hp_ z&D)Bp{Ax@I&T=hPkQYjt2~eGG)P>c0&R^i0OV**=cGWNS!UW!v>ZhvwS9pTa6;)zY~ z1*p`f%>HND9e6(iKw_LQr)Xz}H=i=vk-D>M-Y915)nkF#Be=rjM ztNr2fT&}ulrca4I&qW8+_hozqtT761WQao=`Vl5$@mhu1+25kG`%WEq%TZdG5d`>! zfQj@Bl4n#?mN;^_V?C;5X;$v4k0h+ABD5w7}`xraK4X5>x6Ye zisP4`9Ue|Q8djU%B)(t0s_tQ}di&ySW79in>q~96xrCLPcx8hk6NEHS7MMta(T|jY zdtk&&25)FMdYLC3^#UF2JG0sYJ%CSRBJQ&|FwO{KQ|xv->v`k%Kz`aGXI`SxsCq! zT^tLEZjcJtJ_oR!cQo%xh4Xa=+z()y&*o7eL^ib*n(n9n20b7`e=ru&Ml(RpV}2T% zj{5}PWMjNQY5^ik2}&Db$i#IP7jk!=;afkm8(j;d`0lq8p$obcz&8dhi>FMXq-dgZ zh=V-{?F2e$3GMO-|AFy(8Mm~<5XO`6j38(*Vt<=mo(HK$Vw)$M#ZufsgeYba;xvgP!TyVyGDW zePidv0l8>z7J#A|&|0XLCutqKta@lDmI#oqqJD#R&(i?f0zPqu_6+k6n!A4I;%^Yv z2vF!_4noNlya$+N&Ts}AN>~FvDG=TM>y?H4qXvUM0;g&xGFTux;EkuUJCHsh9vTDP zGRgo9nfgMBc?<>uO{)1v&5=&1CNlhGX>8C%$ix_85t^;Jy`TgGc>O3mdA z{1@=^|19M6Z{H`m2#ZE+&x#i7)VkF@f7fX^0+USQ<~1iWkveeJq` zd*%N8`>%q-|4%^_E=gPMH|QIk@Eb%u)&=AUxf@dc{#gAqa5sGyqy<^%J^dE_(|()Q zKX>0m50!xO1eja@)4J6EC*H$zSPXFFCV{#XysdaDr^Rp3ij?UA43P&R8siU`kieb4 z=ogL=+lKf^DF8|~O`#tEZ*kXpnnM5O3#my1P?Z=##Af)iB$l{Edkql3JmETsZ`q@N z9dD5CDPSNDvR3`Cd`q4k@eb$#qz($CI>rI}4)~zgUyszbptrAvX3~=8+`-hy21K&v zEue1wKyT0ga?Jiei|POWzK%D8&ZeNZk5Cc;y<``HelZ+>W$hmgdhEXr`T}6k<8=4$ zwcxjzBk29sEFO%1?SX?chqHe{2mZsT{jX8{KYZTsn6d;=big|Bl6bav%fpE z@8ibMKedaF)4X#YFl0;Y+A#uN5)L7$7^ zzqC;K=q6=g^<*K*GFlSwhekXokGV=(oEIHPUT3xLmALK4FQZm{ycyTr(KV9kh3J3j z1oQ>0)nAA8KdjFApS>FJA6NhdSU>>@NO~aP*w7z_FdqH8V>VkHz?#%7jM;V!YlUvg zAE2B_62R@n2&(?q`_BJ0&*{MO5#S1Z?2~f{dZ;vdH$j4yjT^>LF3r$hHvnPE*o#p> zC1Q)~L7M#r#XiI5qj#&)DvTN1_24NOCvYOC?7p5SPcP+f{eWAzxAxaL4qn^@CjUy{ z&;O#ZWY4@iCJ?mKON}#SA(8eZgE!?-T7^pA3Zy!# zh*Va|20g1J>F5*kOx5Z|lCjz^0Ks`oDvtgVMn4YU1wa!ZX%HZQrHGC;eUrHm?IYH| zU?}!JqlGYOsUM{#){ZonFUWZGvUkw-+<$)BH@R^f^)aedIdd*R4lA1EcQ=k z#4W$DEsDQ0r2Tf;2n)A23_*%7n#(7AH-sy6d$v6ECI8%<&AV&$MqW=J zF=;_R*U(=WPI3SCENF_Co0QrZYu+uyyI%m@(q=UbE%$n_w*0tup?{Qe8XP&Qxs9_aw^Z%NXD92LUO)K zb)q+4_+xex_w5opaW8*oV9XTKu}0dpRDDWpAK!wxq8p1;#BY#Pi|r-}Wy`s5!Y#;L zp}anP7*ARw918>LNC0)zT8y6_A2cn6KB{G2DyfAfpXeh$e*T%CrV&QFoxmD)r7uge zKYMd%#|=$mh9$c=_@CvKyw{>48@7(VP~FW_J?F-`mUfB~f%Cc7Is*RU6QMtJv1nL2 zT>kCm1y%pr*B1rO56!a(xp3m2Wvli`n0UkPEoJeZ9RwzAK2Vy#=&l2d^9g7E_qAtj z=68;(2@ZzW-aLUCwZ|MBcg9kLcz=Um(04=f45W$SMGc5?3_y%BapA7x` zrtkd*adiM3k840vjfn?fD$8$>8ZE-VuveA$|7q_%!ViC`eTZqJT8w!@uoqZ^?9q7f7}4c#O*&c+W07Iw z#9T06&w`n-=AsjHiFSxwvnZw}2@3}i^3U}>@u`Q|+kwbp(fT`#k_p?W>;!*bh!=aV zu!4?aiIDT=-iVoc+EA>1y2Yc3nbw~ym(LeUtUhIY3QA7ISy?e}(VD?#$fA^mp0v(G zk2Ocek8eBCbmgY)(eowUq94Tf4je8oW42JA=^Yf+15{uHenuIp$iGlMuW@g{N!6xt!@TbVZ`|yrNu#TqGA-N5> zi%3?MgC&W%pq~{QFoPpkNGdRIG(yRT%Ku~$`^PU(kmD*-=v7W6Bc9O?T!aH- zdN~@X)dXrp%G?`KE-LA&QK8Kl7nDVGHgz>xrB~tlwKel^e0n%&lxovqN;#z9e_HhNnqy{Kos*$;4il=F`umx z0oR642^S9WFpy4pj1%Mye<=;QOC@qUKrLG6@mB8^j-7YTZW9DPwnH9WfFuK0u`rV< zG+pP;5I+oBh+S5&M=2&!t@4F+28r1Qr{52@PPB161>Y9uLDXy!BFuM zgA>??h}4Br^a?W*8oP~Vm_t_(fBwc;O4)oDU67$cGa2VTKqHJf)iUMk2W6hb$FD2U z{8)HSUNRvso18iQ%vK3`V7aA5NA*@@^}c%8ap`CbY8n~8Ek=zO17=MNM+$|Q(Sjme z+P9r&&zHF-o|$w?7oRb%Xj9f;!g~`|q)m-Od^G<$E2jrl8dfX|)vuf;*@mQlvP}PExd3+R4~Ukn zIp72~&?YbhT7MXVa$pFm>8GHtdueE3Q5Jq#6kUeG()`R%mh)O92<8R;n*n+zf0+Vc zdCnBlzs^F}k>8Oq$WlwNQt&Se^W`TCFfoN4FtiG~IDqenAk2Bfg8o!+0NxxSgD+(t zf?zQm&0%z)0}cxX$TLG6>epSa!d^A!ng4o!#M}p;_J@sj&R?!Liz~-2R#ft;KW&m( zxeY0=UVg?>7IU11<(pk9p}(s_T>$vG6Mu@s{(l$;ZljJa^8y?rzXc%QyWk{1DMv1c zp#y>FAv?r8xW;H0f<7Ae!Ik3hBdJYqu!k{F>k;g35ECB*5Wi>Ngr*XRf8XF}eeg4p zk&nc1Ij#AXcB~;hh$owTLJHO9GR$fGX_hmv%IW+P{BG;)`W>aiwpUI`qnwh7(n&&W z97wCE=4w|sfr@a!0MgmIO(Sh>yGV>87ZF5zOMJ3?z^9^ z^>p=O)l#a;xywXl%0}kDO`qL6pWJIY5PB}n zBflJVY1cD!@3$jOKI&jX@3i4?BKCM$HmHB%N9`x&-?NjZhVLsJfAf6n6&7~UF%~r? zDjQ1@7^=P%`x(KDytx#SS})967%|v7avuIh**=RXxJi+3aYjz34S8JJ0z|tdtMC_? z&mnuf5VosE+(utkwn~az*gNs5NBvTmO553u*9G5pwW!$3?$Uv(>RC5+Y1he>A4b`* zT+W)TH2>FwG^pMW<8K!tU!iZEV*o;(fjN}wZk(|j`Zm~Swr?fDL1-+Xn}RJ^gpLJeL>nn+ev zJ5eybbVNgnGMyNGcAFPl7GWMWuKNIkr09;JA^>YTduYLL2QkCY-seGdt&QHdG!H@J zog&fNkSLKCKI9Wh5(m+d07iv!PM=vqVxG+dW7u&ejlH{LTPF2|dpp*HqI#Gbq+0&1roCF7N5`P9Q+XXgKj>RX+f93rlUKTla|6T|IX$|U0WfHP z38>FH!gl%iW`y}hBw~OVM4XJFS;HTwqni>gsrjC@qs#gj831zmyEFMpzV?whp>e|= ze2VT31$~hSwm6jD#6`o?2e-49YXm!L<^L#C+*a1JS{bS#aJtwI61j?N?ATBm4FfJI zd9}P&j;zE&gX@zS~a3eFaqyHLntu)nh_X^MScG3L|Rl*llp$GAMFXbWK=Z8z-H*8p>_Emv4G`G|jIa%DHF30*2apFrvuR2hq% z`kvrypMgPjy4o;K=ke9Pc!)2&y7yD9n0!!DCdUcwfCN21RI9_wI1#yqdfw1@>G4JU z4|-;gm#&S$-NdU7MaajMIfj*-mlo?U7RQ@(yUL1|Ru?~?TF4AcG;mK5*CMmc!|SFS|ShVI-LcygC^Ks77J zv+=ZdMRkoeVt07@e0J+0T%QR|6k;TrG~wv{Cp(yum4x94hB!Dsx<6T38W=ahK{W&M zL}yL~v!5_!!jGKHXz&B!gkJdC0GeKWE_yXRO+#v>`##ty4af~uT-Yd8?G~sJ+sNF+ z$k1HI@gO)uFl5McwFLrwYn8RzRCe%+df&ypa(TN$w}r={TtwOwiYTf%G65eD8b9lJ z`Rv4@Yei++Td9}ysjOned(hY`M3D(Y3WOd-7)#fP{WT}it%ov(N-moF|h6o|(d`5og!QF?B5dG!I%e zx2W>d0C>1vk(trgG|CGC5t2}MLS6E~3Vnvn;U~|#l~`EoZwW0H-?^bTv2EY+>KCXP zm4za@K`s3h+_H{3pwXDh(5DD9k#%t~1$73OU&<|&8Up=XaSllgnpbOX1deFn;CERjS-oFAdAq|z$#6k84<@p?-EE;(>|^j%8eU- zp=*Lv`n%RlV9gn34)TWFHnb{8s)+6_gNuvH?~`UAnwH=k)i7P z*W+VU0=`^58zbJQJojxAQz!Lm>G)YZiy={<>>7j z5wXQr{vZz`HfHKSYA*In!t%n4JwI5bm*f6Z$+MLHQSn6(`@VGLxJr`XCeHzC3!r z%&;2uOjj&(S5^D)Jsp$Ks?#YxhP9{AAq>Sd=S{AM8AHcPLh$xm8@Cthoydw%W!YkV z*%bZQ!1&Uyd02%Y8##>JiX6)&F8e_o#Ce1F;0V8;Th1n$L%+FLSfvVJXcu-s8CcE0 zIJ&?qhf`0QU3rtLj+<(Vuo-ppJ}xMJh`dF034PnQnFzOyvMO;83Q<3hiS_R?+{uA|qdIcp!Ho{#gZ!4ll$zO|qX=Ta+V=T$Qy~C3R?MF<#pINP6b7Q z-V!AZ9xDbg+kxqDM`S)mr4zb|=Df1h%~0F(j^fdPKRM{4Z2$hSg!HxO>C(NUokX;h zi0zkEBCn5}1({mz#FdhI%Ob{V)T%8d=1SV7+%&{RBmXL;qe^{GFaAu}pIcCu;L>GbpLykB?eRZ#HLhC)Y%Qv5Bs#JR%rZot;8S^To}E%e&_Xq)+LYBuz- z;4Rcw1j*YxhgCNTZI2*F7*q^mz|4C(>k#xKJwK|vgAHmqMlNGMTp+Gq>eEGk04Y_t zoCP-c&{H7p3~DZYSb+TXm-vIUTbPL3?Y_b4OkA5_gCh*!PZ)>SE#tUHuo(FpO2SF@ zZF+~}vkJGpf+ENFM~ykD5}K=dVRjCgRk}|}M^vAux@q%%WnqCb(~^sFjAB{O=C_1? zb*b?-f>=uUmDa?3W93d`YBklQeA4l~LF|UFK=b%`PRrq_!yQt0vQx!~DMZ>a@5pf( z6_~v*7d=a97kHZE)4I8Ic7>bA+TrrYAo`QpN#W3}w^#%)>oP>ArCoD(M`@LpDTKxy z`f;WXdA7OA(y09wWe-hlJQPDd>whQe-m8`~{)*ACPjePfu5gTZ+EwrD?7AoFxV>qx zx#wNTFSI3L%wjj2K%at}k+sW@IHunaMO@~S(>Y@ghfOdN;XNW8%&^8tka1(E za3ICocPZ46y!hC$Z=XW>M&iTerl6eD%KVpa#JEuWPG(x9Id`F+dF#6k{lGaC#||(y zp;}{iR|0V?_f=L|tf;c)t}Yoj7PX-xapM=DQEB8U1|xrB+#TlyMc|8dBWsSid<|2= z^UN+m>W87M3)?~tt}l;YHe0HA?*~tizE${e5V%7UdiUyY4xt-pR~^hR6{l6;^YLW8 zpDY`ycrXrG(iy*Leji=QPcs328VAJ6!f61&waWm|OFGJnUV#3Dm4sT1!d64!r@V6t z#PyrOM`jH5urtj{8>A8FB(lh99xzyo(F}f(=2LD34x%7IRacvkF*BpwZaf?1b>LCP zZVvo-Y@a6wVmPH^L=cX19SiAgmGbvV4cr+mYI>ApdgjB$(=4ilJxn~j^CrZK-8);M znfR_FZ?0nPd*%4IP zf+BIP3DTLkfZi)UKRPx?J>~Vd(RU&t!Iv+$lSw-{(LIq?$fep(Y;gHZGCq`-^!;L8 z*H?`jbZs}Fc064CxY15TCm{i;L3DP<`He2{(=FzRd)(o#E^iR4NKWVc$;UEk`(Mx& zM5_$N%e9dnRa>9Ov{{Br8|!P#NYM>hAEpM?*9Gq%+-qUj0-+U2vpuo;<%Zt;zX_aZ zvA>J4IL9+VEf(}}i~{aQ>NAk1h)`{TJDgOU>-bEhN%Dmw7(AUDlQGA?_!Q|KOS{Im zxs_Qi! z-8>H>Ia_l-aM9{yU6}n3)O0PGogy2j6<;O&ZqfZ^E2DS#m@D4CwP^}}1+St6q-7Q? zkSoAoKx0Nk+E;3VLaoKRzPI?Uf(~{&lWTm_NCUWmNV<#xK=K>kF+79k>@Ucz9RU=Z zaG{%M22aOCQ%a_fNS(#LUYNTwX7}R&vHg?bfp=PKJ-FW!Dn9sp)#8uH)S8X-Y>`@# zkzHV9Zd+E`U)Em0Xf(a_nWg$U7mG%=B(vaj>WAyvd}e$8wa)xMrQ(g1oFx{zH@XUj zRk`nuK~Bfg%ixx)BxVx!2y4q%B>4!D_KNwon}KxAl2|JXWp%a-5#j*xD8(zRywFcHX6&4&C-HDMB&MwNB30UGhwj1|3XZi+{0`u#NlmV@p;h&5IOJ))FH~q z0$43iJ?tw!rMtNX%)tFc-~|y@S=duh{b|g(HE_enzzriwNi|3Oe&B)ZF~D#^ELO*U z9VoRtTTX@d7;02sVL+1+;@fW>hDaKHJJCB&N+JO{RhAw*H4 z?*paBW1);?lU5w-;y>q-Voz}hs1MtyHMkW0qYizi# z?V+hj$p|M;j}aoOe8&xAi@y|e%DSGTnhmN(7qE6GUgMgKC>vvXRhfdOWld3+ySE1O zW8E>=*fh}z2Wr02-5QaiAO z;Y)r=ivkQ3*!NY3_tJ#?iel5 zeCd#9{f2RdA{FV>sBi->>&xfsT`x+y{zUTH-RS0ned6Kj#)X&+gM<>RVypsvWv z&^js;6`WB;sk1T9cS1^^5F6j(D|-BaQ%oK4Bw&)fL>4<%PMGY&7}2gzFt6Cs;x;$Y z0?s(mNAW5=Q0AEjG2YGc-%`bQ&e=Kx?8lrosRV_=d^EO{k@CW?-YzxA_v)RiuHPZx zy%6;IYmFV(opb)E@1eEs;hVTx{9wX|QQqPiCj=Qc`}l4E-)*Qg8qY_IlVelPVCB8PEyJ4NQugGvp1zV)}e z-{mpdmUT(*n}dyB?KZ!?Xi%nK2qkYd8JM7U^;OAV=Xg9;jm8#`^wr;G#l`4hK3y+4 z!)%BwhThFE2jLL1OZdjjC#gIc`z5We1-WN^-{}aAr0d?)8OwIdDT z>V%C5=JFr7GyW8Ae)L~~X0@@U4bd8q|Gd*EgCned%+YobDaU3zzN8lJlGsl&KGoMw zEGk8AGkx^EpNRAPsTsajfRfJqu40ewGCMn^%#nRRjl6SW1i5D&)G-9F1k$J+4Af-XL5 zR&>w%knI~U9G(l%bCUH4)1K5cW?q#q-H35MyhM*XM4dI`s^U$}{UH-=S31smden!z z?fkLBLY?w#g?og1Xdm_JSI8MXK+4NYc~?k_eVrDs$=mb&>g{Mkhl>c;1zr~ZQ2UUB zSxSr#vzy8U(h}dTQv$?v+natP_geE6vD0x#Vvg@-?>yf7C8OC>DI3;V_fRHdrl^zeX8+47+vxy zmgbRPgk3g3-8V28+opow0Y(H?62moxN-E#eJSUQLtjk_bDL{_53Nf7@rpnosRhslw zueCH?My>kWx>H=hgbi2`?x;BiWSy<~YQ88vHsgDVQ0HN-P)kMDA62!mI2b7Pbu3x( zZS;3jLe;UfKA-h9YeJ=CTfqx++l0rXDU5)xw(%5*r281l4u2IErMXO8=FWHK<*?P= z5_Ra@aLWmsCT{Y_*OOblD=MghD2#HC#^ zr<}e7fmT!e&@`3ErOS{FS4FPMSOU=jY*4-MK}W$w&hf0vkL>Rwd|THo0*=zxRpr%! zC3&Y}J7!NK(XBOCnI%72rg-tiY|QX@XmdN39aQH7uzdh-vI14#x?3F#sRT;sLM+(* zXJ|J0G^r*8zi4ljT%Kih@>_dmkPG+Vk-H&AKU8D`bd{)r=%Df%At9aO9J5 zB9W77lGA+0cEmWfdx8#j2GJ@a_C-;geVm5TF$id|#QB4+&8>t>JS|%JX2WfgZCRWn*J2cHD&G0keb5} zBusE-HoNyf`+(*-G9ZwWbf4tQAobI@3VvdPm& zl>Fx=Ot|rv=*PAU+UHI2Cc=IOS5N-dnVO?zrxqW+A3HXA#J)1jff%V?&cd4I`PpUd zmLP%}%F49cJ(_aK1RlPn{%I<$Dkh*q*?dDjk+2}L?j3RAd-;+8EmfP0sy_rZjvTEH zGX7HRs%bq(f0-z$&8KG>F8=TXp_RmLY#@)iy_$eL`U_V**p9E~6sKaz@SCr;vvGNO zw49I8Zc&|wvF)t)g>S!BKAr1|29Xgv*pD3LR3?;1P&NGG})&q1fV(s$j8zseRDO3$qbLH zk7etIMykG5O?Jzz->!;Lui_FJvUn>SngXh_8(U@(4~b+8FIH+J&GrMPx%U1UeEK)@ z4Ff+gmVm*JhfUZ>_y0JDC{CKx1)uz8Vq6T?&LN=@^td|MF^IysMMg%JuH_Xie2)iav@)%yS4@675)>Lzi-U=jyhwvmMyy$+! zrXGA~Zd5`+!V}H@q_MjZmE?!#OK?A5;#V#3c+y)(QbLrUf>@ZQYv@y^smHpl>#5Q0 z6z;m*L1L)j!?yVd%$!-ELSb|H9b=U}{-~knk8b$&4p=x?%QcxbntDG!;KIN^8`#*D zuB7_D`X$3Ma97CgqgxdO&W74HUh%$m_R{G+x8mLckI zsvkROg9!1)zM8EztH9o*-PUF^$O-xZISK!_0O&ek{{a9U@XcGxI&)){FvWe2);@uJ zFiJK>?89i2PdAIbb()Z|J6$O_C10CuRhoXsq4@a|l67{ertX#sH@3|xH~e%bF{&dR zzYOw}xJXtyN=35=p2{DPG=K9|A=Htk0T%;5fT%1G+Od)yE#BAeK5Z}~+Gc#6K|h7amk+m49V$yAm2vi}WL>Q@?nzbA2yWQ@bK&*S?ROvuLbxoY2A1 zN5$$Vl8UbK$zQqe^J&Q>JKz-vp^9(P5{-o~-%|a^1m&vVmiz0VKXU`%D-<)>;I?iW zay1NZ9SeqBoR{D>u+r)zYUuhhynIF$mrTGYUeBzV^-D9GvGGxBr*niphTJGlmN};z zaRY>G`?qTN9-7;{&Wt49q?-($rs{UBecCu2)I2C9n=n2ky8Ya+B=_iRA#YVD~Z-kqr?2UbK?V&B zkZ>zc9XXpdqe5-*bn@CAqMz!;k-KyLY~CqY-#ODU;5wOYVVy36!y$_BjAJ#tUA^uR z$$JA0BV|O6SX-1fIli;=*?4zA0XrX&nW6^Y9fD&j!~}~>{Y&T_jgEiIQrt*#hsHVAUwh&1#9D? zh*bVA;%YSNM=}WKRnYJ-s3?y6mLutPNC%Maz*?GB8~dmOG`R@~hb-9M_W+B?z=?<9 zZQfODcQ0`kA3OX)Z{tqx*$*Ga`X&azwz&rP1c%ev>PAeMoE|?}mX#pg?rVOiA#k_^ z^9_T2ZmY=24E5Ly54C%%7VO`pl-{nm@d30yUc>g_S4d<4bnYsLHV(WegpHC-mIhTw z?jMMJjPn%p`1&65bZGH9vD*k2F8b;&4@YUkiQ|sVXRbK)5;HGw8*F$|LFoD182bf5 z6|(_Nru=K=CXdy=iyYEN{Kqv%txGOf8INCN1h?wFJUABB{C>vz6y`ucEVDh0 zSI|8ow{M5#?$!^JQt}!#m)P7me|2=Z{BIwvO1s&=k2<4ZTEAs3=oM3d2C$3m`ziPj z9Rp@{h+V54!O1)n{EX9!*dHyC@<~?@1W;O-&m!jpz>T!+sqt%Ep}PfrWgm>q?

xb}KeEd8M9mx2GQ^>pm`qgc(Q39g!HM7w6*ReCO!Vfp*?Si>S*SC;TT= z8B)uY@UFL%wwt5u>S|%RSyX(`RO8f(}H^xC}VcSO< zGwm!L;X@}89xJ&QG?FQzy|*(fUqn}^SEgMr?-&j_E9%q1dPtST5QEL$Sg=$FH8eUTuyu z5yGL(jpZz%3zWIuxuBS=+jqUJ+U5QlzTz#9UJS+hQLw;Q0UDO#-lr|GY_x{@5hE z@UAa+>DMr_;txUH#9U&g-X6tw}!{bb@&79@2$*r8SREeQv>^#2X z#Mus8wIxkH>?m{)-i2W$uh*kP;R7^nCsLB|*65OvB#(6!t~Sf>FQ4{Uq3kTf4n9K{ zHHQ|pVvZQfr0^eTS8ZLk(rz^x$jKOV_EYu&bOoO>^VtgM0-RJ}i2m%((9oiSkn=UN z7RTTpfhdDW(k!CHgt-OgfX4DyezHXMO(7^dXraYOvK);qomr$+!~i-upr}i?QPisH zc2B<|op;T5QPeFgY_~jvMTtT4c?R!Fp=({m81%YT3EGqEwReIHD z4)5FF;|pC8AettxL4&$LSnm;X{X2N5h#W0=S2MwfhSp&B2)YANbs>YY#R z$_=}u=XBmdj+cW+vDRGVsjV_ZiZY7$a5?i)$^kFe#gc&Dmf2N*&A##)gmQMa?EQO? z-AU9+0^l57WM(Ti;mFrO^VaXzZDRBv>z4N)>&8rA=E7V1v0o7dP`Emm#eR(8Rv;Kg zv)lM0U)+6U`x}wNB663W&89{1#@((K*8ZQ=bUR$tJ#NQ|t?OE# z>xjCbP2)c{%WiX#Sg~D6WH%+U&^G=+JloW|E zPn2AoWxu*6MzkS!g?d&+Db`Q;+K6?hI@@HX_f#qovRBj-Kk@5Sr}H~41J$n0Rq}mC z40<=zFFXY5{xbKx7-RiV?Zuxgw+<GO)`SdiDyFfU=NTm z3SBS*tu0Uxf+kf3^n6M-l+bKGA!e?}U6@NWw(O!;0s}DOJEX(e#n?nqhA4`#F>)Nq zj5^f}C%Q>3B7S|tMIA028L;2B-^Vk&iJD50Rx7p?Z$kbp;WNbUHKE7!lwAu?4Anan zgV~}hliqRPM$OnBxMS?_)PkUnmdS|CT>`mO+lr@pz$vn6WZRhDwac;BJa&TF3QI8i z68*X%IcJ<76cEBt53&1QP}V1nbe!MSAgZ6fk1YC7{4#0>vghO7^(*!(T+zWd92~fw zq}!P2nANiN_x(`>sb>j}_ZkZyBOT6xJ##UstSP?}F9Gr&9iSgJ(36WJHLj7~>Fy`=Po+#@SpScdH_Q z>mg@0^Xv5zv$>huPE79Mgrv~L=nrUK_%pG1B#->7qIQ4KFLUtTA-D4zN-jt56i%na za`BkY_uszWq?rcXb{4h=xynY92e!Ym13qnwpmb52!6*rBhUz8<(m_4fIueNO^imM}4k-?XaR^hM7lTT5`hv{sv7L3NFi*SH5W;Rj$o43doU1(2r8rwJUVXX21r&g1&!Wy83> z*yN}BGj2cnw!bn>*Ew;&V)fU~Rse+Rjn996PCaNW8&P76oa83k|Hsy=F@X<{?)46Z zxBp~enS}@cc<~qsP%AYS8CPLOSrOrQ!>iHKg;G-d4r<%HmF}B&FP0Dm<_-+6$H~Kuy~SGi65SBd$JYs)?;0FB;N9ifaQygJT1w6Pwo-+(EKlze_b0^ zSe9zn-266f=$q>LaiZ_NNQ#AnIxqTlICu_YW_AppSvo`Tc`!?Pr#oNy+F`>czi}ex z1a4Qs6-MKD;o{}Y+-KhF6(yNAqe=8+c(=+EiR0bFh_87bBg$m=P@tiHoWd4ZWtn+4 z$LGFfVN567>+mr~Wk2%Vsi6J{IDq(foAh@F)(O>jBX8k1SsD9)r?CO?;2{Doa|}?$ z&Ka0a8r{Mp8LWBJClR_d=;bngVK-T&fmqbHpf%1N3dqz$gxd=pgZE?{NvH$WLHOae zU1S?@AWvvIaN-hCv$_l(aabGrKa;I#L^E-)YutT7oRq|BOaom4A@9E3EDM=7>^UhV zL8=P%h>bbgskkG&NkuM;Eo*-#^A*trIs~_Q3!f+G^KTCg8eyax}bm8lD9SrtrU<kp*iet^)(5U9>gL1O@xI01Lp zL-I@()F)yok@3cp3Qj_S0{G!GgjNL2pBt2BH^oPHBgtaxKpL(Ok3oTb7R9ip7133F zI!O5?W5iHD?`PvivPPPV-&_4t)lEO1XnXiY;@YVjqd^$11+Ps`p270-AAHY zGB#iKw2>D%B@lRUX8))kB(~XFcs_adS)zogSE_jy3?$T+|5v$}?Z1)JFzfq`@W!;J z)UTwu7rA-W#99o@*|iN_z~tN>;V9ULB*(a}XrkxcRoXryAAg#5?|agvE_mp9jZCi> zrzUz&yUVevi;B0twpZJ#L@R_u-xF+N(|VPe_013wa?;Sy|D|-kTfU%u;_QyjV}mb` zeA{a5e|#1j+eMSfOQ>a?|MKEv#S3HL+ElhWYb7nSo5=28!Pl4kO8vZwe^VX!UB%$P zb&dbGMTsR&EH_kZMVy?5K}g<@2k>KhT+gOTFk<=AmsLC*^O>WIIjB3C4it0xbQ}Nl zZvREH>43n2CPLcKE%MB%boixkPNrtk+q~S$?Zc^wRXlgwZu=g-M(_1Kmh|!uI^K^r z={gdnak*~By`U>I>ra)R-zZpY`FCFXuT+*y{c4;Z%%?ckEGJ()BvV{cJ=(0JWA<># z8fLF3uO#!CczkY@6^l4Z&2eiK&@pc_tUJizny-lN9x^7|Mr^OQVt4fD1TkgFiz6bk zW*$N1FIbC(6?-d@+uJj*`pA9mOnq*t(VZ?HGuGB8TF{o>A$_H9Sz@i(`rq{e&_SbQ z3&MsPAfFMb;-k=vLkX7L_vdO>s*mYUmSZy9`oHv;#@dm?X;=eL!C>CQT>N*T694Y+ z`LA#cyM{ALVSz5L$4>k!i}zy0_eSTol&T3qWGPGom+^LQP2nK3Qu5M3iDhIPxozfP zTUeg-^)Q`l4~~m^vv}uUzB5&Zl zR|^M;J}zW`cvlaIeURjMxPiXJlrANFtvU`$&~c$4^jeL(>eDB)CHJzk4hJ z_!!IojDMtlBTluP{2Li7HHtN?UjY~V!a@B8ROqd%NGB!lo9aSoXv4eeR<6a9Bf2}% zslaGozccmxps;t0A`PWG7J14A;w)h{4lgvsdz@|%>mHmJwQhOh)^att$pChISHh`5 zsFKJ~=pUKgA+O+TK@nL{IDb)%>x_`UaCLx7Dp~dH*#6eX&!2xYoKEYV+oI1JJ*JcP zNRW+HlR5Wml?ngV)&2YD|5{}rR`#1!c3f*eH)l+{dtD~uZPtv3MqP@_Y1TUq`{_^a zU;sFfk(5(Fb{-wut;TVuS@g-0Tr5O=ccq|3Va!dOc<^4n9el`Qx;D;Y)3s+f@pjD1 zw2~yd=)#5z27(n^nRh#k2l6xP&aGh%ZN0Vi{QGZ>mz*LqcA9+pz8}5>r$Op}SZbsH z!Irv@!C&fgl$oWuccV|alwNfNv+r|~{WfM{|CoSCBI^difGJdm+mN{FXYy;<`3@&| zL1fu3B51)Iy}B2OGW^mR!Ica^U$l%sy!R0ZIAp_BQvtXqQ}K3wlHC9NUo`t1ezKh9 z1b`i@2p|(@O$7wS*@XYd`q%4pn|S87lcNj{+%L(FSSpvLxA>da|9th=4eaTH$O=eU zG78nN=Fp$~x4ZiL#ecagHT1Q=Zt1VL^w(bc>%{$k-7fvMN%>z)F%uL+16``jeEi3) z>!lUNsZ)gZgAbb-ehr|J@-=L}(Huc>3Ca0e|MKkQOzydIy6)Sd!K*$(M%Eptui>Sp zW{%RP-PaA0h)Z@Ah;3HI!d&{|1=f~rg`#e^1$rhQ>5W**<0_*)gXWUg(n%x$o2U|p z`M;o+kF2HqyS&;}wn+8eB%FY>=Nwk(i&xJ3H}dsLYk?OiZ`CBzL(X)l=EJXsB~#V3 zM`YU$lrL{zpQn$_xZ8BqChxmwvcGcz(fJmtSEuR1k48D6u|g!7P+*X6(n^dKYk+5A z^RnK#pDd^81L_6ynEQa;wL(H{@?w<0s{@{{4z%LncY+4>1QLNEpbPU;|M<}5+a`;I zDc!$)vfrb*fHKNZ?05wIFe3NCyMf;WVrO8RxDi)~ z)uGb0S1!R1khFm>rep3gRF=HsQ= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1 + END + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1 + END + + EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + --DECLARE + -- @ENITTY_ID INTEGER, + -- @DOCTYPE VARCHAR(250), + -- @SUPPLIER VARCHAR(250) + --SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + + --IF @ENITTY_ID = 21 + -- BEGIN + -- SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258 + -- SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID + -- IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA') + -- BEGIN + -- INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER) + -- END + -- END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +if not exists (select * from sysobjects where name='TBPMO_DOCSEARCH_VARIABLE_CONTROLS' and xtype='U') +CREATE TABLE TBPMO_DOCSEARCH_VARIABLE_CONTROLS ( + GUID INT IDENTITY(1,1) NOT NULL, + [ENTITY_ID] INT NOT NULL, + OPTION1_CTRL INT NOT NULL DEFAULT 0, + OPTION2_CTRL INT NOT NULL DEFAULT 0, + OPTION3_CTRL INT NOT NULL DEFAULT 0, + PTION4_CTRL INT NOT NULL DEFAULT 0, + OPTION5_CTRL INT NOT NULL DEFAULT 0, + OPTION6_CTRL INT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50) NULL, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_DOCSEARCH_VARIABLE_CONTROLS_AFT_UPD ON TBPMO_DOCSEARCH_VARIABLE_CONTROLS +FOR UPDATE +AS + UPDATE TBPMO_DOCSEARCH_VARIABLE_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_VARIABLE_CONTROLS.GUID = INSERTED.GUID +GO + +--################################################################################################################################################# +if not exists (select * from sysobjects where name='TBPMO_MENU_FORM' and xtype='U') +CREATE TABLE TBPMO_MENU_FORM +( + GUID INTEGER NOT NULL IDENTITY(1,1), + MENU_ENTRY VARCHAR(100) NOT NULL, + ICON_PATH VARCHAR(1000), + SEQUENCE INTEGER NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_MENU_FORM PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBPMO_MENU_FORM_AFT_UPD ON TBPMO_MENU_FORM +FOR UPDATE +AS + UPDATE TBPMO_MENU_FORM SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM.GUID = INSERTED.GUID +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_MENU_FORM_ENTRIES' and xtype='U') +CREATE TABLE TBPMO_MENU_FORM_ENTRIES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + MENU_FORM_ID INTEGER NOT NULL, + FORM_ID INTEGER NOT NULL, + ICON_PATH VARCHAR(1000), + MENU_ENTRY VARCHAR(50) NOT NULL, + SEQUENCE INTEGER NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_MENU_FORM_ENTRIES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_MENU_FORM_ID FOREIGN KEY (MENU_FORM_ID) REFERENCES TBPMO_MENU_FORM (GUID), + CONSTRAINT FK_TBPMO_MENU_FORM_ENTRIES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_MENU_FORM_ENTRIES_AFT_UPD ON TBPMO_MENU_FORM_ENTRIES +FOR UPDATE +AS + UPDATE TBPMO_MENU_FORM_ENTRIES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_MENU_FORM_ENTRIES.GUID = INSERTED.GUID +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WD_FVIEW_DT_INDEX' and xtype='U') +CREATE TABLE TBPMO_WD_FVIEW_DT_INDEX +( + GUID INTEGER NOT NULL IDENTITY(1,1), + FV_DOCTYPE_ID INTEGER NOT NULL, + INDEXNAME VARCHAR(100) NOT NULL, + INDEX_VALUE VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_FVIEW_DT_INDEX PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WD_FVIEW_DT_INDEX_FW_DOCTYPE_ID FOREIGN KEY (FV_DOCTYPE_ID) REFERENCES TBPMO_WD_FORMVIEW_DOKTYPES (GUID) +) +GO +CREATE TRIGGER TBPMO_WD_FVIEW_DT_INDEX_AFT_UPD ON TBPMO_WD_FVIEW_DT_INDEX +FOR UPDATE +AS + UPDATE TBPMO_WD_FVIEW_DT_INDEX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_FVIEW_DT_INDEX.GUID = INSERTED.GUID +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_ENTITY_SUPERVISOR' and xtype='U') +CREATE TABLE TBPMO_ENTITY_SUPERVISOR +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7', + RIGHT2 VARCHAR(100), + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_SUPERVISOR PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID +GO + +if not exists (select * from sysobjects where name='TBPMO_FORM_SQL_CONSTRUCT' and xtype='U') +CREATE TABLE TBPMO_FORM_SQL_CONSTRUCT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + SCREEN_ID INTEGER NOT NULL, + FORM_ID INTEGER NOT NULL, + SQL1 VARCHAR(1000) NOT NULL, + SQL2 VARCHAR(1000) NOT NULL, + SQL3 VARCHAR(1000) , + SQL4 VARCHAR(1000) , + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FORM_SQL_CONSTRUCT PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID), + CONSTRAINT FK_TBPMO_FORM_SQL_CONSTRUCT_SQL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_FORM_SQL_CONSTRUCT_AFT_UPD ON TBPMO_FORM_SQL_CONSTRUCT +FOR UPDATE +AS + UPDATE TBPMO_FORM_SQL_CONSTRUCT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL_CONSTRUCT.GUID = INSERTED.GUID +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_RUN_PROCEDURES' and xtype='U') +CREATE TABLE TBPMO_RUN_PROCEDURES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + FORM_ID INTEGER NOT NULL, + EXECUTE_COMMAND VARCHAR(500) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RUN_PROCEDURES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RUN_PROCEDURES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_RUN_PROCEDURES_AFT_UPD ON TBPMO_RUN_PROCEDURES +FOR UPDATE +AS + UPDATE TBPMO_RUN_PROCEDURES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RUN_PROCEDURES.GUID = INSERTED.GUID +GO +GO +--#################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FORM_SQL' and xtype='U') +CREATE TABLE TBPMO_FORM_SQL +( + GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + FORM_ID INT NOT NULL, + SQL_COMMAND VARCHAR(MAX), + SQL_COMMAND1 VARCHAR(MAX), + SQL_COMMAND2 VARCHAR(MAX), + SQL_COMMAND3 VARCHAR(MAX), + SQL_COMMAND4 VARCHAR(MAX), + AKTIV BIT DEFAULT 1 NOT NULL, -- 1 - Datensatz aktiv, bei 0 - inaktiv. + COMMENT VARCHAR(500), + OPTIONFIELDBIT BIT DEFAULT 0 NOT NULL, + OPTIONFIELDBIT1 BIT DEFAULT 0 NOT NULL, + OPTIONFIELDBIT2 BIT DEFAULT 0 NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FORM_SQL PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_FORM_SQL_FID FOREIGN KEY(FORM_ID) REFERENCES TBPMO_FORM(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_FORM_SQL_AFT_UPD ON TBPMO_FORM_SQL +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_FORM_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_SQL.GUID = INSERTED.GUID +END +GO + +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR' and xtype='U') +CREATE TABLE TBPMO_FORM_CONSTRUCTOR +( + GUID INTEGER NOT NULL IDENTITY(1,1), + FORM_TITLE VARCHAR(50), + SHORT_TITLE VARCHAR(50), + SEQUENCE_MENU INTEGER NOT NULL DEFAULT 1, + [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', + MENU_IMG VARBINARY(MAX), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +FOR UPDATE +AS +BEGIN + DECLARE @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE() + FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1 + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE) +END +GO +CREATE TRIGGER TBPMO_FORM_CONSTRUCTOR_AFT_INS ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) + + INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID) + SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTRUCTOR_DETAIL' and xtype='U') +CREATE TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ACTIVATE_DOC_SEARCH_ON_EDIT BIT NOT NULL DEFAULT 0, + CONSTRUCT_ID INTEGER NOT NULL, + COLUMN_NAME1 VARCHAR(100) NOT NULL DEFAULT '', + COLUMN_NAME2 VARCHAR(100) NOT NULL DEFAULT '', + CONTROL_DOCTYPE_MATCH INTEGER NOT NULL DEFAULT '0', + DOC_SEARCH_TAB1 BIT NOT NULL DEFAULT 0, + FORM_ID INTEGER NOT NULL, + LEVEL1_SELECT BIT NOT NULL DEFAULT 0, + LOAD_DIRECT BIT NOT NULL DEFAULT 0, + PARENT_ID INTEGER NOT NULL DEFAULT 0, + SEARCH_PATTERN1 VARCHAR(50), + SEARCH_PATTERN2 VARCHAR(50), + SEARCH_PATTERN3 VARCHAR(50), + SEARCH_PATTERN4 VARCHAR(50), + SEARCH_PATTERN5 VARCHAR(50), + SEQUENCE INTEGER NOT NULL, + SQL_SELECT_EBENE1 VARCHAR(4000) NOT NULL, + SQL_SELECT_EBENE2 VARCHAR(4000) NOT NULL, + SQL_QUICK_VIEW VARCHAR(MAX) NOT NULL DEFAULT '', + SQL_RIGHT_READ_AND_VIEW_ONLY VARCHAR(5000) NOT NULL DEFAULT '', + SQL_RIGHT_WINDREAM_VIEW VARCHAR(5000) NOT NULL DEFAULT '', + ADD_RECORDS BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FORM_CONSTRUCTOR_DETAIL PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), + CONSTRAINT FK_TBPMO_FORM_CONSTRUCTOR_DETAIL_FORMID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID) +) +GO + + +CREATE TRIGGER TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_UPD ON TBPMO_FORM_CONSTRUCTOR_DETAIL +FOR UPDATE +AS + UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR_DETAIL.GUID = INSERTED.GUID +GO + +CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL] +FOR INSERT +AS +DECLARE @CONSTRUCT_ID INTEGER, + @PARENT_ID INTEGER, + @EXISTS as INTEGER +BEGIN + SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED + IF @PARENT_ID = 0 + BEGIN + SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID + IF @EXISTS > 1 + BEGIN + ROLLBACK TRANSACTION + RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10) + END + END +END +GO +if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER_SQL' and xtype='U') +CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL +( + GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + CONSTR_DET_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + SQL_COMMAND VARCHAR(4000), + SQL_COMMAND1 VARCHAR(4000), + SQL_COMMAND2 VARCHAR(4000), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID +END +GO +if not exists (select * from sysobjects where name='TBPMO_CONSTRUCTOR_USER' and xtype='U') +CREATE TABLE TBPMO_CONSTRUCTOR_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONSTRUCT_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + HOME_MENUE BIT NOT NULL DEFAULT 1, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), + CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM DELETED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + --(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + --INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES + --(@USER_ID,@ENTITY_ID,0,1) + INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID) + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + +if not exists (select * from sysobjects where name='TBPMO_SUPERVISOR_CONTROLS' and xtype='U') +CREATE TABLE TBPMO_SUPERVISOR_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @USERSTRING VARCHAR(50), + @USER_ID INTEGER, + @ECM_USER_ID INTEGER, + @COUNT_FILES INTEGER + SELECT + @CONTROL_ID = CONTROL_ID + FROM INSERTED + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + + DECLARE c_USER CURSOR FOR + SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USERSTRING + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) + IF @USER_ID <> 0 + SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + IF @ECM_USER_ID > 0 + BEGIN + SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID + IF @COUNT_FILES > 0 + IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS') + END + + FETCH NEXT FROM c_USER INTO @USERSTRING + END + CLOSE c_USER + DEALLOCATE c_USER +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + + +GO +CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] +FOR DELETE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @USERSTRING VARCHAR(50), + @USER_ID INTEGER, + @ECM_USER_ID INTEGER, + @COUNT_FILES INTEGER + SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + + DECLARE c_USER CURSOR FOR + SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USERSTRING + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) + + IF @USER_ID <> 0 + SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + IF @ECM_USER_ID > 0 + BEGIN + SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID + IF @COUNT_FILES > 0 + IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL') + END + FETCH NEXT FROM c_USER INTO @USERSTRING + END + CLOSE c_USER + DEALLOCATE c_USER +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +if not exists (select * from sysobjects where name='TBPMO_USER_RIGHTS_JOBS' and xtype='U') +CREATE TABLE TBPMO_USER_RIGHTS_JOBS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + USER_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL DEFAULT 0, + [COMMENT] VARCHAR(250) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_RIGHTS_JOBS PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS +FOR UPDATE +AS + UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_LOG_ESSENTIALS' and xtype='U') +CREATE TABLE TBPMO_LOG_ESSENTIALS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + REFERENCE_KEY INTEGER NOT NULL DEFAULT '0', + REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '', + [ENTITY_ID] INTEGER, + COMMENT VARCHAR(500) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID) +) +GO +--################################################################################################################### +CREATE PROCEDURE [dbo].[PRPMO_CREATE_QUICK_SQL](@pCONSTURCT_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(1000), + @SQL_END VARCHAR(2000), + @SQL VARCHAR(5000), + @CONTROL_ID INT, + @RESULT VARCHAR(8000), + @TYPEID INT, + @TABINDEX INT, + @FORM_ID INT, + @SQL_LBL VARCHAR(2000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME',T2.GUID FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1, TBPMO_CONTROL_TYPE T2 + WHERE T1.HEADLINE = 0 AND T1.PICTURE = 0 AND T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID + ORDER BY T1.SEQUENCE +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],' + SET @SQL_END = ' FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + --SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN + SELECT @FORM_ID = FORM_ID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE GUID = @pCONSTURCT_ID + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@FORM_ID) + --PICTURE HOLEN + SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1 + WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.PICTURE = 1 + IF @CONTROL_ID > 0 + BEGIN + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL_BEGIN = @SQL_BEGIN + @SQL + ', ' + SET @SQL = '' + END + SET @CONTROL_ID = 0 + --HEADLINE HOLEN + SELECT @CONTROL_ID = T.GUID,@COL_NAME = '['+T.COL_NAME+']' FROM TBPMO_CONTROL T, TBPMO_FORM_CONSTR_QUICK_DISPLAY T1 + WHERE T1.CONSTRUCT_ID = @pCONSTURCT_ID AND T.GUID = T1.CONTROL_ID AND T1.HEADLINE = 1 + IF @CONTROL_ID > 0 + BEGIN + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + --ELSE IF @TYPEID = 1 + -- BEGIN + -- SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + -- SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T2.GUID') + -- SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + -- END + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + SET @SQL_BEGIN = @SQL_BEGIN + @SQL + ', ' + SET @SQL = '' + END + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + ELSE + BEGIN + IF (@TYPEID = 10) OR (@TYPEID = 11) + SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T2.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE + SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + + UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = @RESULT WHERE GUID = @pCONSTURCT_ID +END +GO +--########################################################################################################################################## +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_CONTROL' and xtype='U') +CREATE TABLE TBPMO_CONTROL +( + GUID INTEGER NOT NULL IDENTITY(1,1), + + CONTROL_TYPE_ID INTEGER NOT NULL, + [COL_NAME] VARCHAR(100) NOT NULL, + CONNECTION_ID_1 SMALLINT, + CONNECTION_ID_2 SMALLINT, + DEFAULT_VALUE VARCHAR(100), + FORM_ID INTEGER NOT NULL, + FORMAT_TYPE VARCHAR(50) NOT NULL DEFAULT 'String', + NAME VARCHAR(100) NOT NULL, + SHOW_COLUMN BIT NOT NULL DEFAULT 1, + [PARENT_CONTROL_ID] INTEGER NOT NULL DEFAULT 0, + [REQUIRED] BIT NOT NULL DEFAULT 0, + SELECT_ONLY BIT NOT NULL DEFAULT 0, + STATIC_LIST VARCHAR(2000) NOT NULL DEFAULT '', + MASTER_DATA_ID INTEGER NOT NULL DEFAULT 0, + MULTILINE BIT NOT NULL DEFAULT 0, + [READ_ONLY] BIT NOT NULL DEFAULT 0, + SQL_COMMAND_1 VARCHAR(2000), + SQL_COMMAND_2 VARCHAR(2000), + AUTO_SUGGEST BIT NOT NULL DEFAULT 0, + TREE_VIEW BIT NOT NULL DEFAULT 0, + [VALIDATION] BIT NOT NULL DEFAULT 0, + VISIBLE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL PRIMARY KEY (GUID), + CONSTRAINT UQK_TBPMO_CONTROL UNIQUE (FORM_ID,NAME), + CONSTRAINT FK_TBPMO_CONTROL_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_CONTROL_CONTROL_TYPE_ID FOREIGN KEY (CONTROL_TYPE_ID) REFERENCES TBPMO_CONTROL_TYPE (GUID), +) +GO + +CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL] +FOR INSERT +AS + DECLARE + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @TYP_ID INTEGER, + @SQL NVARCHAR(MAX) + SELECT + @CONTROL_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @DEFAULT_VALUE = DEFAULT_VALUE, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME + FROM INSERTED + --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0 + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0 +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @TYP_ID INTEGER, + @TABLENAME_COL NVARCHAR(100), + @NEW_COL_NAME NVARCHAR(100), + @SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COL_NAME_OLD VARCHAR(50), + @DEFAULT_VALUE VARCHAR(MAX), + @SQL_DEF NVARCHAR(1000), + @ENTITY_TABLENAME VARCHAR(50) + SELECT + @COL_NAME_OLD = COL_NAME + FROM DELETED + SELECT + @CONTROL_ID = GUID, + @TYP_ID = CONTROL_TYPE_ID, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME, + @DEFAULT_VALUE = DEFAULT_VALUE + FROM INSERTED + UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID + + IF @TYP_ID NOT IN (1,5,8,9) + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL + BEGIN + PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....' + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1 + END + ELSE + PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!' + END +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL] +FOR DELETE +AS +DECLARE + @CONTROL_ID INTEGER, + @TYP_ID INTEGER, + @TABLENAME_COL NVARCHAR(100), + @NEW_COL_NAME NVARCHAR(100), + @SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COL_NAME_OLD VARCHAR(50), + @DEFAULT_VALUE VARCHAR(MAX), + @SQL_DEF NVARCHAR(1000) + SELECT + @CONTROL_ID = GUID, + @COL_NAME_OLD = COL_NAME, + @TYP_ID = CONTROL_TYPE_ID, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME, + @DEFAULT_VALUE = DEFAULT_VALUE + FROM DELETED + + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2 + +GO +--############################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_FORM_CONSTR_QUICK_DISPLAY' and xtype='U') +CREATE TABLE TBPMO_FORM_CONSTR_QUICK_DISPLAY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONSTRUCT_ID INTEGER NOT NULL, + CONTROL_ID INTEGER NOT NULL, + HEADLINE BIT NOT NULL DEFAULT 0, + PICTURE BIT NOT NULL DEFAULT 0, + SEQUENCE INTEGER NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FORM_CONSTR_QUICK_DISPLAY PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONSTRUCTID_CONTROL_ID UNIQUE(CONSTRUCT_ID,CONTROL_ID), + CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), + CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO + +CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY] +FOR UPDATE +AS + DECLARE + @GUID INTEGER, + @CONSTRUCT_ID INTEGER, + @HEADLINE BIT + SELECT + @GUID = GUID, + @CONSTRUCT_ID = CONSTRUCT_ID, + @HEADLINE = HEADLINE + FROM INSERTED + + IF @HEADLINE = 1 + BEGIN + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 0 WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PICTURE = 0 AND GUID <> @GUID + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + END + + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID +GO +CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_INS ON TBPMO_FORM_CONSTR_QUICK_DISPLAY +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @CONSTRUCT_ID INTEGER, + @SEQUENCE INTEGER, + @COUNT INT + + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID + FROM INSERTED + + SELECT + @SEQUENCE = MAX(SEQUENCE), + @COUNT = COUNT(*) + FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE HEADLINE = 0 AND PICTURE = 0 AND CONSTRUCT_ID = @CONSTRUCT_ID + + IF @COUNT = 1 + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID + + IF @COUNT > 1 + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET SEQUENCE = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID + + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_DEL ON TBPMO_FORM_CONSTR_QUICK_DISPLAY +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @CONSTRUCT_ID INTEGER, + @COUNT INT + + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID + FROM deleted + SELECT + @COUNT = COUNT(*) + FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID = @CONSTRUCT_ID + + IF @COUNT >= 2 + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + ELSE + UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = '' WHERE GUID = @CONSTRUCT_ID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0, + CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0, + DESCRIPTION VARCHAR(250), + TITLE VARCHAR(100) NOT NULL, + USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1', + MANUALLY BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID + + IF @CHANGED_WHO IS NOT NULL + BEGIN + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_STATE' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_TASK_STATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + STATE_DESC VARCHAR(50) NOT NULL UNIQUE, + COLOR VARCHAR(50), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_TASK_STATE PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @STATE_DESC VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @STATE_DESC = STATE_DESC, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @STATE_DESC,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--############################################# +if not exists (select * from sysobjects where name='TBPMO_LANGUAGE_OBJECT' and xtype='U') +CREATE TABLE TBPMO_LANGUAGE_OBJECT +( + GUID INT IDENTITY(1,1), + LANGUAGE_TYPE VARCHAR(5) NOT NULL, + SCREEN_ID INTEGER NOT NULL, + PMO_OBJECT_NAME VARCHAR(100) NOT NULL, + CAPTION VARCHAR(100) NOT NULL, + HINT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID) +) +GO + +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @STATE_DESC VARCHAR(50), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @STATE_DESC = STATE_DESC, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +--################################################### +GO + + +CREATE TRIGGER TBPMO_WORKFLOW_TASK_STATE_DELETE +ON TBPMO_WORKFLOW_TASK_STATE +FOR DELETE +AS + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = ( + SELECT GUID FROM DELETED) +GO +INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) +VALUES + ('Angelegt') +GO +INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) +VALUES + ('in Bearbeitung') +GO +INSERT INTO TBPMO_WORKFLOW_TASK_STATE(STATE_DESC) +VALUES + ('Erledigt') +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_RECORD' and xtype='U') +CREATE TABLE TBPMO_RECORD +( + GUID INTEGER NOT NULL IDENTITY(1,1), + COLOR VARCHAR(50) NOT NULL DEFAULT '', + FORM_ID INTEGER NOT NULL, + IN_WORK BIT NOT NULL DEFAULT 0, + IN_WORK_WHO VARCHAR(100), + IN_WORK_WHEN DATETIME, + DELETED BIT NOT NULL DEFAULT 0, + NODE_GUID INTEGER, + PARENT_RECORD INTEGER NOT NULL DEFAULT 0, + RECORD_ENTITY_ID BIGINT NOT NULL DEFAULT 0, + [VERSION] INTEGER NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RECORD PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RECORD_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM(GUID) +) +GO + +CREATE TRIGGER TBPMO_RECORD_AFT_UPD ON TBPMO_RECORD +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CHANGES BIT, + @RECORD_ID INTEGER, + @OLD_ENTITY_ID INTEGER, + @ENTITY_ID INTEGER, + @PARENT_RECORD INTEGER, + @ENTITY_TABLENAME VARCHAR(50), + @SQL NVARCHAR(MAX), + @DELETED_OLD BIT, + @DELETED BIT, + @RECORD_ENTITY_ID BIGINT, + @INWORK_OLD BIT, + @INWORK BIT, + @INWORK_WHO VARCHAR(50), + @CHANGED_WHO VARCHAR(50) + SELECT + @DELETED_OLD = [deleted], + @INWORK_OLD = IN_WORK, + @OLD_ENTITY_ID = FORM_ID + FROM deleted + SELECT + @RECORD_ID = GUID, + @ENTITY_ID = FORM_ID, + @DELETED = [deleted], + @RECORD_ENTITY_ID = RECORD_ENTITY_ID, + @INWORK = IN_WORK , + @INWORK_WHO = ISNULL(IN_WORK_WHO,''), + @CHANGED_WHO = ISNULL(CHANGED_WHO,'') + FROM inserted + + --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + SET @CHANGES = 0 + IF UPDATE(IN_WORK) + BEGIN + IF @INWORK_OLD = 0 and @INWORK = 1 + BEGIN + DECLARE @COMMENT VARCHAR(100) + SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO + PRINT @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + ELSE IF @INWORK_OLD = 1 and @INWORK = 0 + BEGIN + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE(VERSION) + BEGIN + SET @CHANGES = 1 + END + IF UPDATE(FORM_ID) + BEGIN + --ROLLBACK TRANSACTION + --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1) + SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC sp_executesql @SQL + EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD') + SET @CHANGES = 1 + END + IF UPDATE (PARENT_RECORD) + BEGIN + SELECT + @RECORD_ID = GUID, + @PARENT_RECORD = PARENT_RECORD, + @ENTITY_ID = FORM_ID + FROM INSERTED + SET @CHANGES = 1 + IF @PARENT_RECORD > 0 + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + --RAISERROR(@SQL, 16, 1) + EXEC sp_executesql @SQL + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE([DELETED]) + BEGIN + IF @DELETED_OLD = 0 and @DELETED = 1 + BEGIN + Print '@DELETED_OLD = 0 and @DELETED = 1' + SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID + Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + SET @CHANGES = 1 + END + + IF @CHANGES = 1 + UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +------------------------------------------------------------------------------- +------------------------------------------------------------------------------- +CREATE PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER, @MAN_AUTO BIT = 1) +AS +BEGIN + DECLARE + @WF_ID INTEGER, + @TITLE VARCHAR(50), + @SEQUENCE INTEGER, + @MELDUNG VARCHAR(250), + @STATE_ID INTEGER, + @SELECT_USER VARCHAR(3000) + + DECLARE c_TASK CURSOR FOR + SELECT DISTINCT T.WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 WHERE + T.WF_ID = T1.GUID AND T.ENTITY_ID = @FORM_ID AND T1.MANUALLY = @MAN_AUTO + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @WF_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + IF EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + UPDATE TBPMO_WORKFLOW_TASK SET ACTIVE = 0,CHANGED_WHO = (SELECT ISNULL(IN_WORK_WHO,'') FROM TBPMO_RECORD WHERE GUID = @RECORD_ID) + WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + Print 'All data deleted' + SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID) + SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID + --IF @STATE_ID IS NOT NULL + BEGIN + --INSERT DES TASKS + INSERT INTO TBPMO_WORKFLOW_TASK( + RECORD_ID, + WF_ID, + ACTIVE, + STATE_ID, + USER_SELECT) + VALUES ( + @RECORD_ID, + @WF_ID, + 1, + @STATE_ID, + @SELECT_USER) + END + + FETCH NEXT FROM c_TASK INTO @WF_ID + END + CLOSE c_TASK + DEALLOCATE c_TASK + END +GO + +------------------------------------------------------------------------------- +CREATE TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @INSERT_SQL NVARCHAR(MAX) + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_ID = 32 + BEGIN + ROLLBACK TRANSACTION + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@FORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@FORM_ID),@ADDED_WHO) + RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + END + + SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD + WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID + SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID' + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID)) + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID) + + PRINT @INSERT_SQL + EXEC sp_executesql @INSERT_SQL + --RAISERROR(@INSERT_SQL, 16, 1); + -- ROLLBACK; + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX) + + DECLARE cursInsertDefaultValues CURSOR FOR + select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> '' + OPEN cursInsertDefaultValues + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO) + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + END + CLOSE cursInsertDefaultValues + DEALLOCATE cursInsertDefaultValues + + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + AND T1.CREATE_ON_REC_CREATE = 1 + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +--################################################################################################################################################ +GO +if not exists (select * from sysobjects where name='TBPMO_RECORD_CONNECT' and xtype='U') +CREATE TABLE TBPMO_RECORD_CONNECT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD1_ID INTEGER NOT NULL, + RECORD2_ID INTEGER NOT NULL, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RECORD_CONNECT PRIMARY KEY (GUID), + CONSTRAINT UQ_RECORD_CONNECT UNIQUE (RECORD1_ID, RECORD2_ID), + CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD1_ID FOREIGN KEY (RECORD1_ID) REFERENCES TBPMO_RECORD (GUID), + CONSTRAINT FK_TBPMO_RECORD_CONNECT_RECORD2_ID FOREIGN KEY (RECORD2_ID) REFERENCES TBPMO_RECORD (GUID), +) +GO +CREATE TRIGGER TBPMO_RECORD_CONNECT_AFT_UPD ON TBPMO_RECORD_CONNECT +FOR UPDATE +AS + UPDATE TBPMO_RECORD_CONNECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_CONNECT.GUID = INSERTED.GUID +GO +--####################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_CONTROL_SCREEN' and xtype='U') +CREATE TABLE TBPMO_CONTROL_SCREEN +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + SCREEN_ID INTEGER NOT NULL, + CONTROL_TEXT VARCHAR(100) NOT NULL, + X_LOC FLOAT NOT NULL, + Y_LOC FLOAT NOT NULL, + HEIGHT SMALLINT NOT NULL, + WIDTH SMALLINT NOT NULL, + FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma', + FONT_COLOR BIGINT NOT NULL DEFAULT 0, + FONT_SIZE SMALLINT NOT NULL DEFAULT 8, + FONT_STYLE SMALLINT NOT NULL DEFAULT 0, + BACK_COLOR INTEGER NOT NULL DEFAULT 15790320, -- = SystemColors.Control + TAB_INDEX SMALLINT NOT NULL DEFAULT 1, + TAB_STOP BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_SCREEN PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CONTROL_SCREEN_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_SCREEN_SCREEN_ID FOREIGN KEY (SCREEN_ID) REFERENCES TBPMO_SCREEN (GUID) +) +GO + +CREATE TRIGGER TBPMO_CONTROL_SCREEN_AFT_UPD ON TBPMO_CONTROL_SCREEN +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_SCREEN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_TASK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER NOT NULL, + WF_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + DUE_DATE DATE, + TASK_DATE DATE, + STATE_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 0, + STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT '', + FINISHED BIT NOT NULL DEFAULT 0, + USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_TASK PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK +FOR UPDATE +AS +BEGIN +DECLARE + @GUID INTEGER, + @STATE_ID INTEGER, + @WF_ID INTEGER, + @STATE VARCHAR(200), + @COMMENT VARCHAR(500), + @CHANGED_WHO VARCHAR(50), + @BUDGET_RESP VARCHAR(50), + @RECORD_ID INTEGER, + @ENTITY_ID INTEGER, + @EMAIL VARCHAR(250), + @SUBJECT VARCHAR(250), + @BODY VARCHAR(500), + @USER_ID INTEGER + SELECT + @GUID = GUID, + @WF_ID = WF_ID, + @STATE_ID = STATE_ID, + @COMMENT = COMMENT, + @CHANGED_WHO = CHANGED_WHO, + @RECORD_ID = RECORD_ID + FROM INSERTED + + UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID + + /*######## KUNDEN INDIVIDUELL ########*/ + SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID + IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND + STATE_DESC = @STATE AND COMMENT = COMMENT) + INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES + (@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO) + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + /*WORKFLOW PURCHASE CONTRACTS*/ + IF @WF_ID = 1 AND @STATE_ID = 10 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11 + END + IF @WF_ID = 1 AND @STATE_ID = 11 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10 + END + IF @STATE_ID IN (14,15) + BEGIN + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID + SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID + SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP + SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID + INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER') + END + IF @WF_ID = 1 AND @STATE_ID = 14 + BEGIN + + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15 + + SET @SUBJECT = 'Workflow - Renewal of Contract' + SET @BODY = 'A purchase contract needs approval for renewing!
' + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) + END + IF @WF_ID = 1 AND @STATE_ID = 15 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14 + SET @SUBJECT = 'Workflow - Purchase Contract cancelled' + SET @BODY = 'A purchase contract was cancelled - Please add some more information!
' + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) + END + IF @WF_ID = 1 AND @STATE_ID = 16 + BEGIN + UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID + END + /*######## ENDE KUNDEN_INDIVIDUELL ########*/ +END +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_USER' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_TASK_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + WF_TASK_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @STATE_ID INTEGER, + @ENTITY_ID INTEGER, + @EMAIL VARCHAR(100), + @MSG VARCHAR(100), + @ADDED_WHO VARCHAR(50), + @WF_TASK_ID INTEGER, + @USER_ID INTEGER, + @SUBJECT VARCHAR(300), + @BODY VARCHAR(100) + SELECT + @WF_TASK_ID = GUID, + @USER_ID = USER_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + /*######## KUNDEN INDIVIDUELL ########*/ + IF @ADDED_WHO <> 'WORKFOW_ROUTER' + BEGIN + SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID + SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID) + IF @ENTITY_ID = 13 AND @STATE_ID = 10 + BEGIN + SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS' + SET @BODY = 'Workflow Purchasing Contracts
Please check wether contract needs to be renewed!' + END + IF @ENTITY_ID = 13 AND @STATE_ID = 11 + BEGIN + SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED' + SET @BODY = 'Workflow Purchasing Contracts
Please advice system with information about project setup!' + END + + IF @ENTITY_ID = 13 AND @STATE_ID in (10,11) + BEGIN + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO) + --RAISERROR ('IF', 16, 1) + END + --ELSE + --RAISERROR (@MSG, 16, 1) + END + /*######## ENDE ########*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_ENTITY_STATE' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + WF_ID INTEGER NOT NULL, + STATE_ID INTEGER NOT NULL, + FINAL BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(1000) NOT NULL DEFAULT '', + INACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_ENTITY_ID_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID) +) +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_REMINDER' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_REMINDER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1', + RECORD_ID INTEGER NOT NULL, + ENTITY_ID INTEGER, + WF_ID INTEGER NOT NULL, + EMAIL_ADRESS VARCHAR(100) NOT NULL, + EMAIL_SUBJ VARCHAR(500) NOT NULL, + EMAIL_BODY VARCHAR(500) NOT NULL, + EMAIL_SENT DATETIME, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_REMINDER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER +FOR UPDATE +AS + UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID +GO + +if not exists (select * from sysobjects where name='TBPMO_WORKFLOW_TASK_HISTORY' and xtype='U') +CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY( + GUID INTEGER IDENTITY(1,1) NOT NULL, + FINISHED BIT NOT NULL DEFAULT 0, + WF_TASK_ID INTEGER NOT NULL, + STATE_ID INTEGER, + STATE_DESC VARCHAR(500) NOT NULL, + COMMENT VARCHAR(1000) NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL, + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID) +) +GO +--################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_CONTROL_HINT' and xtype='U') +CREATE TABLE TBPMO_CONTROL_HINT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + HINT_COMMENT VARCHAR(500) NOT NULL, + LANGUAGE_CODE VARCHAR(10) NOT NULL DEFAULT 'de-DE', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_HINT PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONTROL_ID_LANGUAGE_CODE_CONTROL_ID UNIQUE(CONTROL_ID,LANGUAGE_CODE), + CONSTRAINT FK_TBPMO_CONTROL_HINT_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO + +CREATE TRIGGER TBPMO_CONTROL_HINT_AFT_UPD ON TBPMO_CONTROL_HINT +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_HINT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_HINT.GUID = INSERTED.GUID +GO + +--################################################################################################################################################# +if not exists (select * from sysobjects where name='TBPMO_CONTROL_LANGUAGE' and xtype='U') +CREATE TABLE TBPMO_CONTROL_LANGUAGE +( + GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + LANGUAGE_TYPE VARCHAR(5) NOT NULL, + CONTROL_SCREEN_ID INTEGER NOT NULL, + CAPTION VARCHAR(100) NOT NULL, + HINT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID +END +GO +--################################################################################################################################################ +--Insert trigger +CREATE TRIGGER [dbo].[TBPMO_CONTROL_SCREEN_AFT_INS] ON [dbo].[TBPMO_CONTROL_SCREEN] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @GUID INTEGER, + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @SEQUENCE INTEGER + SELECT + @GUID = GUID, + @CONTROL_ID = CONTROL_ID + FROM INSERTED + + SELECT + @ENTITY_ID = FORM_ID + FROM TBPMO_CONTROL WHERE [GUID] = @CONTROL_ID + + SELECT @SEQUENCE = MAX(TAB_INDEX) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID) + + UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################################################ +if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE' and xtype='U') +CREATE TABLE TBPMO_WD_IMPORT_PROFILE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + WD_SEARCH VARCHAR(1000) NOT NULL, + UNIQUE_DOC_SQL VARCHAR(5000), + SQL_DOCTYPE VARCHAR(5000) NOT NULL DEFAULT 'select GUID from TBDD_DOKUMENTART where BEZEICHNUNG = ''@DOKTYPE_STRING''', + SQL_PARENT_RECORD VARCHAR(5000) NOT NULL DEFAULT '', + NEW_OBJECTTYPE VARCHAR(100) NOT NULL, + OLD_OBJECTTYPE VARCHAR(100) NOT NULL, + IDX_FILE_WORKED VARCHAR(100) NOT NULL DEFAULT '', + ONLY_RECORD_CREATING BIT NOT NULL DEFAULT 0, + ENTITY_ID INTEGER NOT NULL, + CONNECTION_ID INTEGER, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE +FOR UPDATE +AS + UPDATE TBPMO_WD_IMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE.GUID = INSERTED.GUID +GO + +if not exists (select * from sysobjects where name='TBPMO_WD_IMPORT_PROFILE_IDX' and xtype='U') +CREATE TABLE TBPMO_WD_IMPORT_PROFILE_IDX +( + GUID INTEGER NOT NULL IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + STRING1 VARCHAR(200) NOT NULL, + STRING2 VARCHAR(200) NOT NULL, + SQL1 VARCHAR(5000), + SQL2 VARCHAR(5000), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE_IDX PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WD_IMPORT_PROFILE_IDX_1 FOREIGN KEY (PROFILE_ID) REFERENCES TBPMO_WD_IMPORT_PROFILE (GUID), +) +GO +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_IDX_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE_IDX +FOR UPDATE +AS + UPDATE TBPMO_WD_IMPORT_PROFILE_IDX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE_IDX.GUID = INSERTED.GUID +GO + +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_INS ON TBPMO_WD_IMPORT_PROFILE +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @GUID INTEGER,@ADDED_WHO VARCHAR(50) + SELECT + @GUID = GUID,@ADDED_WHO = ADDED_WHO + FROM INSERTED + + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'DOCTYPE_ORIGIN','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_DOCTYPE','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_RECORD_ID','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_ENTITY_ID','SET INDEXNAME',@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +if not exists (select * from sysobjects where name='TBPMO_SAP_FUBA' and xtype='U') +CREATE TABLE TBPMO_SAP_FUBA +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + Method VARCHAR(50) NOT NULL DEFAULT 'TABLE', + TableName VARCHAR(100) NOT NULL, + Host VARCHAR(100) NOT NULL, + SystemNumber VARCHAR(30) NOT NULL, + UserName VARCHAR(50) NOT NULL, + [Password] VARCHAR(100) NOT NULL, + Client VARCHAR(100) NOT NULL, + [Language] VARCHAR(20) NOT NULL, + TempTableName VARCHAR(100) NOT NULL, + FuBa_SplitCharacter VARCHAR(1) NOT NULL DEFAULT ';', + WHERE_CLAUSE VARCHAR(500), + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SAP_FUBA PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA +FOR UPDATE +AS + UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID +GO +CREATE PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(4000), + @SQL_END VARCHAR(4000), + @SQL VARCHAR(MAX), + @CONTROL_ID INT, + @RESULT VARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @SQL_LBL VARCHAR(4000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ',' + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.[PARENT_RECORD] = 0 AND T.FORM_ID = @FORM_ID' + CHAR(13) + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + SET @ZAEHLER = @ZAEHLER + 1 + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + ENd + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID = 4 + BEGIN + SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + ELSE + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + --SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID = 4 + BEGIN + SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + --PRint '1' + SET @SQL = @SQL + ',(SELECT CASE COUNT(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13) + --PRint '2' + SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13) + --PRint '3' + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + --PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT)) + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO +--################################################################################################################### +CREATE PROCEDURE PRPMO_CREATE_TEMP_VIEWS +AS +BEGIN + DECLARE + @FORM_ID INTEGER, + @SQL_COMMAND nvarchar(MAX), + @VIEW_NAME nvarchar(30), + @DEL_SQL NVARCHAR(100), + @CREATE_VIEW NVARCHAR(MAX) + DECLARE c_TASK CURSOR FOR + SELECT FORM_ID,SQL_COMMAND + FROM TBPMO_FORM_SQL where SQL_COMMAND is not null + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @VIEW_NAME = 'VWTEMP_PMO_FORM' + CONVERT(VARCHAR(3),@FORM_ID) + IF EXISTS(select * FROM sys.views where name = @VIEW_NAME) + BEGIN + SET @DEL_SQL = 'DROP VIEW dbo.' + QUOTENAME(@VIEW_NAME) + '' + EXEC sp_executesql @DEL_SQL + END + SELECT @SQL_COMMAND = SQL_COMMAND FROM TBPMO_FORM_SQL where FORM_ID = @FORM_ID + SET @CREATE_VIEW = 'CREATE VIEW ' + @VIEW_NAME + ' AS ' + @SQL_COMMAND + + EXEC sp_executesql @CREATE_VIEW + + FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND + END + CLOSE c_TASK + DEALLOCATE c_TASK + END +GO +--################################################################################################################### +-----INSERT TRIGGER FÜR TBPMO_FORM +CREATE TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_ID INTEGER, + @FORM_TYPE INTEGER, + @ADDED_WHO VARCHAR(50) + --@SQL_RECORD1 VARCHAR(500), + --@SQL_RECORD2 VARCHAR(500) + SELECT + @FORM_ID = GUID, + @FORM_TYPE = FORM_TYPE_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_TYPE = 5 + BEGIN + INSERT INTO TBPMO_CONTROL ( + FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES ( + @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD') + DECLARE @CTRL_ID INTEGER + SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES ( + @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1) + END + + --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID + --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +BEGIN TRY + INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) + SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG_CONFIG' and xtype='U') +CREATE TABLE TBPMO_RECORD_LOG_CONFIG +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + LOG_DELETE BIT NOT NULL DEFAULT 0, + LOG_UPDATE BIT NOT NULL DEFAULT 0, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RECORD_LOG_CONFIG PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RECORD_LOG_CONFIG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID) +) +GO +CREATE TRIGGER TBPMO_RECORD_LOG_CONFIG_AFT_UPD ON TBPMO_RECORD_LOG_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_RECORD_LOG_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_RECORD_LOG_CONFIG.GUID = INSERTED.GUID +GO +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_RECORD_LOG' and xtype='U') +CREATE TABLE TBPMO_RECORD_LOG +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER NOT NULL, + CONTROL_ID INTEGER NOT NULL, + LOG_DESCRIPTION VARCHAR(1000) NOT NULL, + ADDED_WHO VARCHAR(100), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_RECORD_LOG PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RECORD_LOG_CONTROL_ID FOREIGN KEY(CONTROL_ID) REFERENCES TBPMO_CONTROL(GUID), + CONSTRAINT FK_TBPMO_RECORD_LOG_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID) +) +GO +CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY( + GUID INT NOT NULL IDENTITY(1,1), + CONTROL_ID INT, + RECORD_ID INT, + VALUE VARCHAR(max) , + ADDED_WHO VARCHAR(50), + ADDED_WHEN DATETIME, + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CHANGE_STEP INT, + COMMENT VARCHAR(MAX), + REDO BIT, + CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID) + ) +GO +SET IDENTITY_INSERT dbo.TBPMO_CONTROL_VALUE_HISTORY ON; +GO +CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY] +ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID]) +INCLUDE ([VALUE]) +GO +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE' and xtype='U') +CREATE TABLE TBPMO_CONTROL_VALUE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL, + VALUE VARCHAR(MAX), + CHANGE_STEP INTEGER NOT NULL DEFAULT 0, + REDO BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_VALUE PRIMARY KEY (GUID), + --CONSTRAINT UQ_CONTROLID_RECORDID UNIQUE (CONTROL_ID, RECORD_ID), + CONSTRAINT FK_TBPMO_CONTROL_VALUE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_VALUE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + +) +GO +CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_RECID_VALUE] +ON [dbo].[TBPMO_CONTROL_VALUE] ([RECORD_ID]) +INCLUDE ([VALUE]) +GO + + +CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @UPDATE_SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50), + @MSG_TRIGGER VARCHAR(500) + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + + INSERT INTO TBPMO_CONTROL_VALUE_HISTORY (GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN, COMMENT) + SELECT I.GUID,I.CONTROL_ID, I.RECORD_ID, I.VALUE,I.ADDED_WHO, I.ADDED_WHEN,I.CHANGED_WHO,GETDATE(), 'LOG-UPDATE' FROM INSERTED I, TBPMO_CONTROL_VALUE T where T.GUID = I.GUID + + IF @CONTROL_ID in (29,14,272,346) + BEGIN + PRINT 'CHANGE OF RIGHT RELEVANT CONTROL' + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + --RAISERROR (@VALUE , 16, 1) + + --PRINT 'OLD VALUE: ' + @VALUE_OLD + --PRINT 'NEW VALUE: ' + @VALUE_NEW + IF @CHANGED_WHO IS NULL + BEGIN + SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @CHANGED_WHO IS NULL + SET @CHANGED_WHO = 'TRIGGER DEFAULT' + END + + SELECT @CHANGE_ID = ISNULL(MAX(GUID),0) FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD + IF @CHANGE_ID = 0 + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + ELSE + PRINT 'VALUES NOT DIFFERENT' + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW + END + END + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Record-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR DELETE +AS +BEGIN TRY + DECLARE + @GUID INTEGER, + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ADDED_WHEN DATETIME, + @CHANGED_WHO VARCHAR(50), + @CHANGED_WHEN DATETIME, + @VALUE_DEL VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COUNTER_CONTROL_UPDATE_ID INTEGER + SELECT + @GUID = DELETED.GUID, + @RECORD_ID = DELETED.RECORD_ID, + @CONTROL_ID = DELETED.CONTROL_ID, + @VALUE_DEL = DELETED.VALUE, + @ENTITY_ID = T1.FORM_ID, + @COL_NAME = T1.COL_NAME , + @ADDED_WHO = DELETED.ADDED_WHO, + @ADDED_WHEN = DELETED.ADDED_WHEN, + @CHANGED_WHO = DELETED.CHANGED_WHO, + @CHANGED_WHEN = DELETED.CHANGED_WHEN + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,'' + + INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN) + SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED + + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + --IF @CONTROL_ID in (29,14,346) + -- BEGIN + -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + -- END + --IF @CONTROL_ID = 346 + -- BEGIN + -- DECLARE cursor_DOCS CURSOR FOR + -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + -- TRL.RECORD_ID = @RECORD_ID + -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) + -- OPEN cursor_DOCS + -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + -- WHILE @@FETCH_STATUS = 0 + -- BEGIN + -- BEGIN + -- DECLARE cursor_User CURSOR FOR + -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_DEL) + -- OPEN cursor_User + -- FETCH NEXT FROM cursor_User INTO @USER_ID + -- WHILE @@FETCH_STATUS = 0 + -- BEGIN + -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID + -- FETCH NEXT FROM cursor_User INTO @USER_ID + -- END + -- CLOSE cursor_User + -- DEALLOCATE cursor_User + -- END + -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + -- END + -- CLOSE cursor_DOCS + -- DEALLOCATE cursor_DOCS + -- END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +if not exists (select * from sysobjects where name='TBPMO_CONTROL_VALUE_CHANGE_HISTORY' and xtype='U') +CREATE TABLE TBPMO_CONTROL_VALUE_CHANGE_HISTORY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER, + CONTROL_ID INTEGER, + VALUE VARCHAR(MAX), + CHANGE_STEP INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY_UPD ON TBPMO_CONTROL_VALUE_CHANGE_HISTORY +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE_CHANGE_HISTORY.GUID = INSERTED.GUID +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] +WITH EXECUTE AS CALLER +FOR INSERT +AS + /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ + DECLARE + @COUNT_GUID INTEGER, + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_NEW VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50), + @CONTROL_TYPE INTEGER + SELECT + @RECORD_ID = INSERTED.RECORD_ID, + @CONTROL_ID = INSERTED.CONTROL_ID, + @ADDED_WHO = INSERTED.ADDED_WHO, + @VALUE_NEW = INSERTED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME, + @CONTROL_TYPE = T1.CONTROL_TYPE_ID + FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE INSERTED.RECORD_ID = T.GUID AND + INSERTED.CONTROL_ID = T1.GUID + + SELECT @COUNT_GUID = COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_NEW + IF @COUNT_GUID > 1 + BEGIN + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + @VALUE_NEW,@ADDED_WHO) + RAISERROR ('UNIQUE VIOLATION: THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!',16,1) + ROLLBACK TRANSACTION + END + + IF @CONTROL_TYPE = 4 + IF ISDATE(@VALUE_NEW) = 0 + BEGIN + declare @msg varchar(200) + SET @msg = 'INVALID INPUT: ' + @VALUE_NEW + ' - A DATE VALUE IS REQUIRED' + RAISERROR (@msg,16,1) + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','INVALID DATE-VALUE: ' + @VALUE_NEW,@ADDED_WHO) + ROLLBACK TRANSACTION + END + + -- Änderung Vladi ------ + --SET @VALUE_NEW = REPLACE(@VALUE_NEW,'''','''''') + ------------------------ + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + BEGIN + DECLARE @SUBJECT VARCHAR(100), + @LOCATION VARCHAR(100), + @DESCRIPTION VARCHAR(100) + SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID + + INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES + (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID) + END + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + --IF @CONTROL_ID = 346 + -- BEGIN + -- SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + -- UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + -- DECLARE cursor_DOCS CURSOR FOR + -- select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + -- TRL.RECORD_ID = @RECORD_ID + -- --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) + -- OPEN cursor_DOCS + -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + -- WHILE @@FETCH_STATUS = 0 + -- BEGIN + -- BEGIN + -- DECLARE cursor_User CURSOR FOR + -- SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_GROUPS WHERE NAME = @VALUE_NEW) + -- --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID + -- OPEN cursor_User + -- FETCH NEXT FROM cursor_User INTO @USER_ID + -- WHILE @@FETCH_STATUS = 0 + -- BEGIN + -- SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + -- EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID + -- FETCH NEXT FROM cursor_User INTO @USER_ID + -- END + -- CLOSE cursor_User + -- DEALLOCATE cursor_User + -- END + -- FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + -- END + -- CLOSE cursor_DOCS + -- DEALLOCATE cursor_DOCS + -- END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +GO +--############################################################################################################################# +if not exists (select * from sysobjects where name='TBPMO_CONTROL_IMAGE' and xtype='U') +CREATE TABLE TBPMO_CONTROL_IMAGE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL, + IMG VARBINARY(max) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_IMAGE PRIMARY KEY (GUID), + CONSTRAINT UQ_CONTROLID_RECORDID_IMG UNIQUE (CONTROL_ID, RECORD_ID), + CONSTRAINT FK_TBPMO_CONTROL_IMAGE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_IMAGE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + +) +GO + +CREATE TRIGGER TBPMO_CONTROL_IMAGE_AFT_UPD ON TBPMO_CONTROL_IMAGE +FOR UPDATE +AS +BEGIN + DECLARE @RECORD_ID INTEGER, @CHANGED_WHO VARCHAR(50) + SELECT + @RECORD_ID = RECORD_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + UPDATE TBPMO_CONTROL_IMAGE + SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_CONTROL_IMAGE.GUID = INSERTED.GUID + + UPDATE TBPMO_RECORD SET + CHANGED_WHO = @CHANGED_WHO + WHERE TBPMO_RECORD.GUID = @RECORD_ID +END +GO +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_APPOINTMENTS' and xtype='U') +CREATE TABLE TBPMO_APPOINTMENTS ( + [UniqueID] [int] IDENTITY (1, 1) NOT NULL , + [Type] [int] NULL , + [StartDate] [smalldatetime] NULL , + [EndDate] [smalldatetime] NULL , + [AllDay] [bit] NULL , + [Subject] [nvarchar] (150) NULL , + [Location] [nvarchar] (50) NULL , + [Description] [nvarchar](max) NULL , + [Status] [int] NULL , + [Label] [int] NULL , + [ResourceID] [int] NULL , + [ResourceIDs] [nvarchar](max) NULL , + [ReminderInfo] [nvarchar](max) NULL , + [RecurrenceInfo] [nvarchar](max) NULL , + [CustomField1] [nvarchar](max) NULL , + [CustomField2] [nvarchar](max) NULL +CONSTRAINT [PK_Appointments] PRIMARY KEY CLUSTERED +( + [UniqueID] ASC +) +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] + +GO +if not exists (select * from sysobjects where name='TBPMO_APPOINTMENT_CONTROLS' and xtype='U') +CREATE TABLE TBPMO_APPOINTMENT_CONTROLS( + CONTROL_ID INT NOT NULL, + APPT_SUBJECT VARCHAR(100) DEFAULT 'NO APPONTMENT-SUBJECT DEFINED', + APPT_LOCATION VARCHAR(100) DEFAULT '', + APPT_DESCRIPTION VARCHAR(100) DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBPMO_APPOINTMENT_CONTROLS] PRIMARY KEY(CONTROL_ID)) +GO +------------------------------------------------------------------------------ +-- TBPMO RESOURCES +------------------------------------------------------------------------------ +if not exists (select * from sysobjects where name='TBPMO_RESOURCES' and xtype='U') +CREATE TABLE TBPMO_RESOURCES ( + [UniqueID] [int] IDENTITY (1, 1) NOT NULL , + [ResourceID] [int] NOT NULL , + [ResourceName] [nvarchar] (50) NULL , + [Color] [int] NULL , + [Image] [image] NULL , + [CustomField1] [nvarchar](max) NULL +CONSTRAINT [PK_Resources] PRIMARY KEY CLUSTERED +( + [UniqueID] ASC +) +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] + +GO +--SET IDENTITY_INSERT [dbo].[TBPMO_RESOURCES] ON +INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (1, N'Resource One', NULL, NULL, NULL) +INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (2, N'Resource Two', NULL, NULL, NULL) +INSERT [TBPMO_RESOURCES] ([ResourceID], [ResourceName], [Color], [Image], [CustomField1]) VALUES (3, N'Resource Three', NULL, NULL, NULL) + +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_FUNCTION_GENERAL' and xtype='U') +CREATE TABLE TBPMO_FUNCTION_GENERAL +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + METHOD VARCHAR(20) NOT NULL, + STRING1 VARCHAR(250), + STRING2 VARCHAR(250), + STRING3 VARCHAR(250), + STRING4 VARCHAR(250), + STRING5 VARCHAR(250), + STRING6 VARCHAR(250), + STRING7 VARCHAR(250), + STRING8 VARCHAR(250), + STRING9 VARCHAR(250), + STRING10 VARCHAR(250), + INTEGER1 INTEGER, + INTEGER2 INTEGER, + INTEGER3 INTEGER, + INTEGER4 INTEGER, + INTEGER5 INTEGER, + INTEGER6 INTEGER, + INTEGER7 INTEGER, + INTEGER8 INTEGER, + INTEGER9 INTEGER, + INTEGER10 INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FUNCTION_GENERAL PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_FUNCTION_GENERAL_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID) +) +GO + +CREATE TRIGGER TBPMO_FUNCTION_GENERAL_AFT_UPD ON TBPMO_FUNCTION_GENERAL +FOR UPDATE +AS + UPDATE TBPMO_FUNCTION_GENERAL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FUNCTION_GENERAL.GUID = INSERTED.GUID +GO +--#################################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_EMAIL' and xtype='U') +CREATE TABLE TBPMO_FOLLOW_UP_EMAIL +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL DEFAULT 'DESCRIPTION FOLLOW UP', + FOLLOW_UP_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_WEEKLY', + FOLLOW_UP_DAYS VARCHAR(50) NOT NULL DEFAULT '1', + FOLLOW_UP_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00', + DEPENDENT_DATE_CTRL_ID INTEGER NOT NULL, + DEPENDENT_DONE_CTRL_ID INTEGER NOT NULL, + CTRL_USER_DIRECT INTEGER NOT NULL DEFAULT 0, + CTRL_GROUP_DIRECT INTEGER NOT NULL DEFAULT 0, + CONSTRUCTOR_ID INTEGER NOT NULL, + PARENT_ID INTEGER NOT NULL, + TIME_UNITY VARCHAR(50) NOT NULL, + TIME_SPAN INTEGER NOT NULL, + TIME_DIST VARCHAR(30) NOT NULL DEFAULT 'BEFORE', + EMAIL_SUBJECT VARCHAR(250) NOT NULL DEFAULT 'WIEDERVORLAGE', + EMAIL_BODY VARCHAR(2000) NOT NULL, + PROCESS_SELECT1 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT2 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT3 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT4 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT5 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT6 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT7 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT8 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT9 VARCHAR(2000) NOT NULL DEFAULT '', + PROCESS_SELECT10 VARCHAR(2000) NOT NULL DEFAULT '', + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FOLLOW_UP_EMAIL PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DATE_CTRL_ID FOREIGN KEY (DEPENDENT_DATE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_DONE_CTRL_ID FOREIGN KEY (DEPENDENT_DONE_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_CONSTR_ID FOREIGN KEY (CONSTRUCTOR_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID) +) +GO + +CREATE TRIGGER TBPMO_FOLLOW_UP_EMAIL_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL +FOR UPDATE +AS + UPDATE TBPMO_FOLLOW_UP_EMAIL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FOLLOW_UP_EMAIL.GUID = INSERTED.GUID +GO + +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FOLLOW_UP_HISTORY' and xtype='U') +CREATE TABLE TBPMO_FOLLOW_UP_HISTORY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + FOLLOW_UP_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + TIME_STAMP DATETIME DEFAULT GETDATE() +) +GO +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_USER' and xtype='U') +CREATE TABLE TBPMO_FOLLUPEMAIL_USER +( + GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel + [USER_ID] INT NOT NULL, + FOLLOW_UP_ID INT NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FOLLUPEMAIL_USER PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_FOLLUPEMAIL_USER_AFT_UPD ON TBPMO_FOLLUPEMAIL_USER +FOR UPDATE +AS + UPDATE TBPMO_FOLLUPEMAIL_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_FOLLUPEMAIL_USER.GUID = INSERTED.GUID +GO +--############################################################################################################################### +if not exists (select * from sysobjects where name='TBPMO_FOLLUPEMAIL_RECORD' and xtype='U') +CREATE TABLE TBPMO_FOLLUPEMAIL_RECORD +( + GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel + FOLLOW_UP_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FOLLUPEMAIL_RECORD PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_FOLLOW_UP_ID FOREIGN KEY(FOLLOW_UP_ID) REFERENCES TBPMO_FOLLOW_UP_EMAIL(GUID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID) +) +GO +CREATE TRIGGER TBPMO_FOLLUPEMAIL_RECORD_AFT_UPD ON TBPMO_FOLLUPEMAIL_RECORD +FOR UPDATE +AS + UPDATE TBPMO_FOLLUPEMAIL_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_FOLLUPEMAIL_RECORD.GUID = INSERTED.GUID +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_TEMPLATE' and xtype='U') +CREATE TABLE TBPMO_TEMPLATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL UNIQUE, + TEMPLATE_PATH VARCHAR(1000) NOT NULL, + DOCTYPE_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_AFT_UPD ON TBPMO_TEMPLATE +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE.GUID = INSERTED.GUID +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_ENTITY' and xtype='U') +CREATE TABLE TBPMO_TEMPLATE_ENTITY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + TEMPLATE_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_ENTITY_ID FOREIGN KEY(ENTITY_ID) REFERENCES TBPMO_FORM(GUID) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_ENTITY_AFT_UPD ON TBPMO_TEMPLATE_ENTITY +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_ENTITY.GUID = INSERTED.GUID +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_TEMPLATE_PATTERN' and xtype='U') +CREATE TABLE TBPMO_TEMPLATE_PATTERN +( + GUID INTEGER NOT NULL IDENTITY(1,1), + TEMPLATE_ENT_ID INTEGER NOT NULL, + NAME_PATTERN VARCHAR(100) NOT NULL, + FIXED_VALUE VARCHAR(100), + CONNECTION_ID INTEGER, + SQL_COMMAND VARCHAR(2000), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE_PATTERN PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_PATTERN_TEMPLATE_ENT_ID FOREIGN KEY(TEMPLATE_ENT_ID) REFERENCES TBPMO_TEMPLATE_ENTITY(GUID), + CONSTRAINT UQ_TBPMO_TEMPLATE_PATTERN UNIQUE (TEMPLATE_ENT_ID, NAME_PATTERN) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_PATTERN_AFT_UPD ON TBPMO_TEMPLATE_PATTERN +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE_PATTERN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_PATTERN.GUID = INSERTED.GUID +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_USER_CONSTR_VIEW_TYPE' and xtype='U') +CREATE TABLE TBPMO_USER_CONSTR_VIEW_TYPE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, + [ENTITY_ID] INTEGER NOT NULL, + VIEW_ID INTEGER NOT NULL DEFAULT 1, --1=TileView,2=Carousel,3=GridView + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_CONSTR_VIEW_TYPE PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONSTRUCTOR_ID_VIEW_ID UNIQUE(CONSTRUCTOR_DETAIL_ID,VIEW_ID,[USER_ID]), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_CONSTRUCTOR_ID FOREIGN KEY (CONSTRUCTOR_DETAIL_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_ENTITY_ID FOREIGN KEY ([ENTITY_ID]) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_USER_CONSTR_VIEW_TYPE_AFT_UPD ON TBPMO_USER_CONSTR_VIEW_TYPE +FOR UPDATE +AS + UPDATE TBPMO_USER_CONSTR_VIEW_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_CONSTR_VIEW_TYPE.GUID = INSERTED.GUID +GO +--########################################################################################################################## +if not exists (select * from sysobjects where name='TBPMO_USER_WINDREAM_RESULTLIST_CONFIG' and xtype='U') +CREATE TABLE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, + COLUMN1 VARCHAR(50) NOT NULL, + COLUMN1_WIDTH INTEGER NOT NULL, + COLUMN2 VARCHAR(50) NOT NULL, + COLUMN2_WIDTH INTEGER NOT NULL, + COLUMN3 VARCHAR(50) NOT NULL, + COLUMN3_WIDTH INTEGER NOT NULL, + COLUMN4 VARCHAR(50), + COLUMN4_WIDTH INTEGER, + COLUMN5 VARCHAR(50), + COLUMN5_WIDTH INTEGER, + COLUMN6 VARCHAR(50), + COLUMN6_WIDTH INTEGER, + COLUMN7 VARCHAR(50), + COLUMN7_WIDTH INTEGER, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_WINDREAM_RESULTLIST_CONFIG PRIMARY KEY (GUID), +) +GO + +CREATE TRIGGER TBPMO_USER_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_USER_WINDREAM_RESULTLIST_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID +GO +--######################################################################################################################################## +CREATE NONCLUSTERED INDEX [IDXTBPMO_CONTROL_VALUE_RECID_VALUE] +ON [dbo].[TBPMO_CONTROL_VALUE] ([CONTROL_ID]) +INCLUDE ([RECORD_ID],[VALUE]) +GO + +if not exists (select * from sysobjects where name='TBPMO_CLIENT_ENTITY' and xtype='U') +CREATE TABLE TBPMO_CLIENT_ENTITY +( + GUID INTEGER IDENTITY(1,1), + CLIENT_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID) +) +GO +if not exists (select * from sysobjects where name='TBPMO_CLIENT_CONSTRUCTOR' and xtype='U') +CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR +( + GUID INTEGER IDENTITY(1,1), + CLIENT_ID INTEGER NOT NULL, + CONSTRUCT_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) +) +GO +if not exists (select * from sysobjects where name='TBPMO_CLIENT_DOCTYPE' and xtype='U') +CREATE TABLE TBPMO_CLIENT_DOCTYPE +( + GUID INTEGER IDENTITY(1,1), + CLIENT_ID INTEGER NOT NULL, + DOCTYPE_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO +if not exists (select * from sysobjects where name='TBPMO_WD_NAMECONVENTION_FORMAT' and xtype='U') +CREATE TABLE TBPMO_WD_NAMECONVENTION_FORMAT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ID INTEGER NOT NULL, + PATTERN VARCHAR(50) NOT NULL, + FORMAT_RULE VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_NAMECONVENTION_FORMAT PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_WD_NAMECONVENTION_FORMAT_UPD ON TBPMO_WD_NAMECONVENTION_FORMAT +FOR UPDATE +AS + UPDATE TBPMO_WD_NAMECONVENTION_FORMAT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_NAMECONVENTION_FORMAT.GUID = INSERTED.GUID +GO + +if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_CONFIGURATION' and xtype='U') +CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION +( + GUID INTEGER NOT NULL IDENTITY(1,1), + PARENT_NODE INTEGER NOT NULL DEFAULT 0, + CONTROL_ID INTEGER NOT NULL, + NAME VARCHAR(50) NOT NULL, + [ENTITY_ID] INTEGER NOT NULL, + [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, + NODE_IMAGE VARBINARY(MAX), + CREATE_RECORD BIT NOT NULL DEFAULT 0, + FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma', + FONT_COLOR BIGINT NOT NULL DEFAULT 0, + FONT_SIZE SMALLINT NOT NULL DEFAULT 10, + FONT_STYLE SMALLINT NOT NULL DEFAULT 0, + BACK_COLOR BIGINT NOT NULL DEFAULT 15790320, + EXPAND BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES' and xtype='U') +CREATE TABLE TBPMO_STRUCTURE_NODES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER, + NODE_CONFIG_ID INTEGER NOT NULL, + NODE_CAPTION VARCHAR(250) NOT NULL, + ID1 VARCHAR(100), + ID2 VARCHAR(100), + ID3 VARCHAR(100), + PARENT_GUID INTEGER NOT NULL DEFAULT 0, + BOOL1 BIT NOT NULL DEFAULT 0, + BOOL2 BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (GUID), +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_STRUCTURE_NODES_USER_TEMP' and xtype='U') +CREATE TABLE TBPMO_STRUCTURE_NODES_USER_TEMP( + USER_ID int NOT NULL, + RECORD_ID int NOT NULL, + ADDED_WHEN datetime DEFAULT getdate(), +CONSTRAINT [PK_TBPMO_STRUCTURE_NODES_USER_TEMP] PRIMARY KEY(USER_ID,RECORD_ID)) +GO + +if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE' and xtype='U') +CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '0', + DOC_ID INTEGER NOT NULL, + FILE_RIGHT VARCHAR(100) NOT NULL, + USER_ID INTEGER NOT NULL, + REASON VARCHAR(100) NOT NULL, + RIGHT_MODIFY VARCHAR(30) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + WORKING BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE +FOR UPDATE +AS + UPDATE TBPMO_RIGHTS_WORK_SERVICE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE.GUID = INSERTED.GUID +GO +--DROP TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +if not exists (select * from sysobjects where name='TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT' and xtype='U') +CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + DOC_ID INTEGER NOT NULL, + DOC_PATH VARCHAR(1000) NOT NULL, + USER_STRING VARCHAR(500) NOT NULL, + FILE_RIGHT INTEGER NOT NULL, + RIGHT_TYPE VARCHAR(100) NOT NULL, + [SERVICE] BIT NOT NULL DEFAULT 0, + WORKED BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +FOR UPDATE +AS + UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT.GUID = INSERTED.GUID +GO +--DROP TABLE TBPMO_ENTITY_RIGHT_CONTROLS +if not exists (select * from sysobjects where name='TBPMO_ENTITY_RIGHT_CONTROLS' and xtype='U') +CREATE TABLE TBPMO_ENTITY_RIGHT_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + CONTROL_ID INTEGER NOT NULL, + USED_FOR VARCHAR(50) NOT NULL DEFAULT '', + USER_GROUP VARCHAR(10) NOT NULL DEFAULT 'USER', + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_RIGHT_CONTROLS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_RIGHT_CONTROLS_AFT_UPD ON TBPMO_ENTITY_RIGHT_CONTROLS +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_RIGHT_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_RIGHT_CONTROLS.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_SERVICE_RIGHT_CONFIG' and xtype='U') +CREATE TABLE TBPMO_SERVICE_RIGHT_CONFIG +( + GUID TINYINT + ,LOG_ERR_ONLY BIT NOT NULL DEFAULT 1 + ,HOUR_BEGIN INTEGER NOT NULL DEFAULT 6 + ,HOUR_END INTEGER NOT NULL DEFAULT 18 + ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' + ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' + ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' + ,RUN_SERVICE BIT NOT NULL DEFAULT 0 + ,SERVICE_RUN DATETIME + ,SERVICE_FINISHED DATETIME + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SERVICE_RIGHT_CONFIG_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBPMO_SERVICE_RIGHT_CONFIG_GUID CHECK(GUID = 1) +) +GO +INSERT INTO TBPMO_SERVICE_RIGHT_CONFIG (GUID,LOG_ERR_ONLY) VALUES (1,1) +GO +CREATE TRIGGER TBPMO_SERVICE_RIGHT_CONFIG_AFT_UPD ON TBPMO_SERVICE_RIGHT_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_SERVICE_RIGHT_CONFIG.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_ENTITY_USERRIGHT_ADDING' and xtype='U') +CREATE TABLE TBPMO_ENTITY_USERRIGHT_ADDING +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,ENTITY_ID INTEGER + ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' + ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' + ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' + ,ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' + ,ADDED_WHEN DATETIME DEFAULT GETDATE() + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_USERRIGHT_ADDING_GUID PRIMARY KEY(GUID), + CONSTRAINT UQ_TBPMO_ENTITY_USERRIGHT_ADDING_GUID UNIQUE(ENTITY_ID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_USERRIGHT_ADDING_AFT_UPD ON TBPMO_ENTITY_USERRIGHT_ADDING +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_USERRIGHT_ADDING SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_ENTITY_USERRIGHT_ADDING.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_SELECTION_DATA' and xtype='U') +CREATE TABLE TBPMO_SELECTION_DATA +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,VALUE VARCHAR(250) NOT NULL + ,COMMENT VARCHAR(250) + ,ID_TYPE INTEGER NOT NULL + ,SEQUENCE TINYINT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SELECTION_DATA PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_SELECTION_DATA_AFT_UPD ON TBPMO_SELECTION_DATA +FOR UPDATE +AS + UPDATE TBPMO_SELECTION_DATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SELECTION_DATA.GUID = INSERTED.GUID +GO +INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES +('NONE', 'GENERAL-VIEWER',1,0) +GO +INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES +('DOC-VIEW', 'GENERAL-VIEWER',1,1) +GO +CREATE TABLE dbo.TBPMO_DOC_USER_VIEW( + GUID INT IDENTITY(1,1) NOT NULL, + [USER_ID] INT NOT NULL, + FILE_EXTENSION VARCHAR(10) NOT NULL, + VIEWER VARCHAR(100) NOT NULL DEFAULT 'DOC_VIEW', + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50) NULL, + CHANGED_WHEN DATETIME NULL, + CONSTRAINT PK_TBPMO_DOC_USER_VIEW PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOC_USER_VIEW_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID), +) +GO + +if not exists (select * from sysobjects where name='TBPMO_DOCRESULT_DROPDOWN_ITEMS' and xtype='U') +CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,CONFIG_ID INTEGER NOT NULL + ,VALUE VARCHAR(100) NOT NULL + ,SEQUENCE TINYINT NOT NULL DEFAULT 0 + ,[DEFAULT] BIT NOT NULL DEFAULT 0 + ,COLOR VARCHAR(50) NOT NULL DEFAULT '' + ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' + ,ADDED_WHEN DATETIME DEFAULT GETDATE() + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID), + CONSTRAINT UQ_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,VALUE), + CONSTRAINT UQ2_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,[DEFAULT]), +) +GO +CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS +FOR UPDATE +AS + UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_DOC_VALUES' and xtype='U') +CREATE TABLE TBPMO_DOC_VALUES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONFIG_ID INTEGER NOT NULL, + DocID INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0, + [VALUE] VARCHAR(MAX) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_VALUES PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER [dbo].[TBPMO_DOC_VALUES_AFT_UPD] ON [dbo].[TBPMO_DOC_VALUES] +FOR UPDATE +AS + UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_RIGHT_USER' and xtype='U') +CREATE TABLE TBPMO_RIGHT_USER( + GUID int IDENTITY(1,1) NOT NULL, + USER_ID int NOT NULL, + ENTITY_ID int NOT NULL, + EDIT_REC bit NOT NULL DEFAULT 1, + ADD_REC bit NOT NULL DEFAULT 1, + DELETE_REC bit NOT NULL DEFAULT 1, + ADD_DOC bit NOT NULL DEFAULT 1, + READ_ONLY_DOC bit NOT NULL DEFAULT 1, + DELETE_DOC bit NOT NULL DEFAULT 1, + FILES_VISIBLE bit NOT NULL DEFAULT 1, + ADDED_WHEN datetime DEFAULT getdate(), + CHANGED_WHEN datetime, +CONSTRAINT [PK_TBPMO_RIGHT_USER] PRIMARY KEY(GUID)) +GO +CREATE TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER +FOR UPDATE +AS + UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID +GO +GO +if not exists (select * from sysobjects where name='TBPMO_CONTROL_ENTITY_LINK' and xtype='U') +CREATE TABLE TBPMO_CONTROL_ENTITY_LINK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ORIGIN_CTRL_ID INTEGER NOT NULL, + LINKED_CTRL_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_ENTITY_LINK PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_ORIGIN_CTRL_ID_LINKED_CONTROL_ID UNIQUE(ORIGIN_CTRL_ID,LINKED_CTRL_ID), + CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINK_ORIGIN_CTRL_ID FOREIGN KEY (ORIGIN_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINKED_CONTROL_ID FOREIGN KEY (LINKED_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO +CREATE TRIGGER TBPMO_CONTROL_ENTITY_LINK_AFT_UPD ON TBPMO_CONTROL_ENTITY_LINK +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_ENTITY_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_ENTITY_LINK.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_CHART_ENTITY' and xtype='U') +CREATE TABLE TBPMO_CHART_ENTITY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + GROUP_ID VARCHAR(50) NOT NULL DEFAULT '', + SQL_COMMAND VARCHAR(MAX) NOT NULL, + TYPE_CHART VARCHAR(30) NOT NULL, + ARGUMENT VARCHAR(30) NOT NULL, + VALUE VARCHAR(30) NOT NULL, + TITLE VARCHAR(30) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CHART_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CHART_ENTITY_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), +) +GO +CREATE TRIGGER TBPMO_CHART_ENTITY_AFT_UPD ON TBPMO_CHART_ENTITY +FOR UPDATE +AS + UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_RECORD_VARIANT' and xtype='U') +CREATE TABLE TBPMO_RECORD_VARIANT( + [GUID] INT IDENTITY(1,1) NOT NULL, + RECORD_ID INT NOT NULL, + REASON_CODE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_RECORD_VARIANT] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_RECORD_VARIANT_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) +GO + +CREATE TRIGGER TBPMO_RECORD_VARIANT_AFT_UPD ON TBPMO_RECORD_VARIANT +FOR UPDATE +AS + UPDATE TBPMO_RECORD_VARIANT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_VARIANT.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_ENTITY_VARIANT_REASONS' and xtype='U') +CREATE TABLE TBPMO_ENTITY_VARIANT_REASONS( + [GUID] INT IDENTITY(1,1) NOT NULL, + ENTITY_ID INT NOT NULL, + REASON_CODE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_ENTITY_VARIANT_REASONS] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_ENTITY_VARIANT_REASONS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)) +GO + +CREATE TRIGGER TBPMO_ENTITY_VARIANT_REASONS_AFT_UPD ON TBPMO_ENTITY_VARIANT_REASONS +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_VARIANT_REASONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_VARIANT_REASONS.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_USER_GLOBAL_SEARCH' and xtype='U') +CREATE TABLE TBPMO_USER_GLOBAL_SEARCH( + [GUID] INT IDENTITY(1,1) NOT NULL, + USER_ID INT NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CONSTRAINT [PK_TBPMO_USER_GLOBAL_SEARCH] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_USER_GLOBAL_SEARCH_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)) +GO +if not exists (select * from sysobjects where name='TBPMO_ENTITY_USER_RIGHTS' and xtype='U') +CREATE TABLE dbo.TBPMO_ENTITY_USER_RIGHTS( + GUID int IDENTITY(1,1) NOT NULL, + USER_ID int NOT NULL, + ENTITY_ID int NOT NULL, + READ_ONLY bit NOT NULL DEFAULT 0, + FILES_VISIBLE bit NOT NULL DEFAULT 1, + ADDED_WHEN datetime DEFAULT getdate(), + CHANGED_WHEN datetime, + CONSTRAINT PK_TBPMO_ENTITY_USER_RIGHTS PRIMARY KEY(GUID)) + +GO +CREATE TRIGGER [dbo].[TBPMO_ENTITY_USER_RIGHTS_AFT_UPD] ON [dbo].[TBPMO_ENTITY_USER_RIGHTS] +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_USER_RIGHTS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USER_RIGHTS.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_RECORD_GEODATA' and xtype='U') +CREATE TABLE TBPMO_RECORD_GEODATA( + [GUID] INT IDENTITY(1,1) NOT NULL, + RECORD_ID INT NOT NULL, + LATITUDE Decimal(9,6), + LONGITUDE Decimal(9,6), + LOCATION VARCHAR(2000), + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_RECORD_GEODATA] PRIMARY KEY(RECORD_ID), +CONSTRAINT FK_TBPMO_RECORD_GEODATA_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) +GO +CREATE TRIGGER TBPMO_RECORD_GEODATA_AFT_UPD ON TBPMO_RECORD_GEODATA +FOR UPDATE +AS + UPDATE TBPMO_RECORD_GEODATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_GEODATA.GUID = INSERTED.GUID +GO +if not exists (select * from sysobjects where name='TBPMO_AD_GROUP_EXCLUSIVE' and xtype='U') +CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE( + [GUID] INT IDENTITY(1,1) NOT NULL, + GROUP_NAME VARCHAR(200) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID)) +GO + +------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID +END +GO +CREATE TABLE [dbo].[TBPMO_FILES_USER]( + [GUID] [int] IDENTITY(1,1) NOT NULL, + [FILENAME2WORK] [varchar](500) NOT NULL, + [FILENAME_ONLY] [varchar](250) NOT NULL DEFAULT (''), + [USER_WORK] [varchar](50) NOT NULL, + [WORKED] [bit] NOT NULL DEFAULT ((0)), + [HANDLE_TYPE] [varchar](50) NOT NULL, + [ADDED_WHEN] [datetime] NOT NULL DEFAULT (getdate()), + CONSTRAINT [PK_TBPMO_FILES_USER] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO + +SET ANSI_PADDING OFF +GO + + +--END CREATE TABLES +/* +############################################################################### +####################### PROCEDURES ###################### +############################################################################### +*/ +CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +--ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +AS +DECLARE @RECORD_ENTITY_ID BIGINT, + @RECORD_ID INT, + @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +DECLARE @OUTPUTDATA TABLE(RECORD_ID INT) + +BEGIN TRY +--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + IF @pFORM_ID = 32 + BEGIN + SET @pRESULT = 0 + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pFORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@pFORM_ID),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + END + ELSE + BEGIN + SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0 + + INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO,IN_WORK,IN_WORK_WHO) + OUTPUT INSERTED.GUID INTO @OUTPUTDATA + VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)),1,LTRIM(RTRIM(@pADDED_WHO))) + + SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA + END + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @pRESULT = 0 + + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR(@FEHLER,16,1) + + RETURN +END CATCH +GO +--#################################################################################################################### + +CREATE PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '') +AS + DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT + DECLARE @reas As VARCHAR(250) + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO) + END + + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + IF @ISINSERT = 1 + EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES' + ELSE + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO) + +GO +--#################################################################################################################### +CREATE PROCEDURE [dbo].[PRPMO_CREATE_CONTROL_VALUE](@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +--ALTER PROCEDURE PRPMO_CREATE_CONTROL_VALUE(@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +AS +DECLARE @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +BEGIN TRY + -- DatensatzExistenz überprüfen + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @pCONTROL_ID AND UPPER(LTRIM(RTRIM(VALUE))) = UPPER(LTRIM(RTRIM(@pVALUE)))) + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES(@pCONTROL_ID,@pRECORD_ID,LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) + SET @pRESULT = 1 + END + ELSE + BEGIN + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) + SET @pRESULT = 0 + DECLARE @CONTROL_CAPT VARCHAR(100), @ERROR_MSG VARCHAR(500) + SELECT @CONTROL_CAPT = [COL_NAME] FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID + SET @ERROR_MSG = 'UNIQUE VIOLATION FOR CONTROL: ' + @CONTROL_CAPT + CHAR(13) + 'THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!' + RAISERROR(@ERROR_MSG,16,1) + END + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR(@FEHLER,16,1) +END CATCH +GO +--#################################################################################################################### +CREATE PROCEDURE PRPMO_AFTER_UPDATE_VALUES(@pFORM_ID INT,@pRECORD_ID INT) +AS +DECLARE @VALUE VARCHAR(100), + @NEW_RECORD_ID INTEGER + +DECLARE CURSOR_TODO1 CURSOR FOR SELECT [VALUE] FROM [VWPMO_VALUES] WHERE + FORM_ID = @pFORM_ID AND CONTROL_ID = 220 AND RECORD_ID = @pRECORD_ID + + +BEGIN TRY + OPEN CURSOR_TODO1 + FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @ANZAHL INT,@VORHANDEN INT + SELECT @VORHANDEN = COUNT(T.[Record-ID]) FROM VWTEMP_PMO_FORM20 T,TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @pRECORD_ID + PRINT @VORHANDEN + PRINT '' + SET @ANZAHL = @VORHANDEN + 1 + WHILE (@ANZAHL <=cast(@VALUE AS INT)) + BEGIN + PRINT @ANZAHL + --Record Inserten + INSERT INTO TBPMO_RECORD(ADDED_WHO, FORM_ID) VALUES ('INS_AUTOM_FOLGEN', @pFORM_ID) + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE ADDED_WHO = 'INS_AUTOM_FOLGEN' + INSERT INTO TBPMO_RECORD_CONNECT (RECORD1_ID,RECORD2_ID,COMMENT) VALUES (@pRECORD_ID,@NEW_RECORD_ID,'INS_AUTOM_FOLGEN') + --FOLGENBEZEICHNUNG + DECLARE @VALUE_NEW AS VARCHAR(100) + SET @VALUE_NEW = 'FOLGE ' + cast(@ANZAHL AS VARCHAR(2)) + INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE) VALUES (183,@NEW_RECORD_ID,@VALUE_NEW) + SET @ANZAHL = @ANZAHL + 1 + END + + FETCH NEXT FROM CURSOR_TODO1 INTO @VALUE + END + + CLOSE CURSOR_TODO1 + DEALLOCATE CURSOR_TODO1 + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--#################################################################################################################### +CREATE PROCEDURE [dbo].[PRPMO_COPY_ENTITY](@pFORM_ID INT, @pADDEDWHO VARCHAR(50)) +AS +DECLARE + @NEW_FORM_ID INT, + @PARENT_ID INT, + @NAME VARCHAR(100), + @LEVEL VARCHAR(10), + @SHOW_FORM_CONSTR BIT, + @FORM_TYPE_ID INT, + @CONTROL_GUID INTEGER, + @CONTROL_TYPE_ID INT, + @CONTROL_NAME VARCHAR(100) + ,@COL_NAME VARCHAR(100) + ,@REQUIRED BIT + ,@DEFAULT_VALUE VARCHAR(100) + ,@SQL_COMMAND_1 VARCHAR(2000) + ,@SQL_COMMAND_2 VARCHAR(2000) + ,@CONNECTION_ID_1 SMALLINT + ,@CONNECTION_ID_2 SMALLINT + ,@READ_ONLY BIT + ,@VALIDATION BIT + ,@MULTILINE BIT + ,@PARENT_CONTROL_ID INT + ,@MASTER_DATA_ID INT + ,@FORMAT_TYPE VARCHAR(50) + ,@SHOW_COLUMN BIT + ,@STATIC_LIST VARCHAR(2000) + + SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID + + INSERT INTO TBPMO_FORM ( + PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES ( + @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID) + + SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM + INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES + (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO) + +DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID] + ,'COPY_' + [NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID + + +BEGIN + OPEN c_CONTROL + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @PARENT_CONTROL_ID > 0 + BEGIN + DECLARE @CTRLNAME VARCHAR(100) + SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID + PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + PRINT '@CTRLNAME = ' + @CTRLNAME + SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID + PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + END + + INSERT INTO TBPMO_CONTROL ( + FORM_ID + ,[CONTROL_TYPE_ID] + ,[NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN] + ,[STATIC_LIST] + ,ADDED_WHO + ) VALUES ( + @NEW_FORM_ID + ,@CONTROL_TYPE_ID + ,@CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + ,@pADDEDWHO + ) + DECLARE @NEW_CONTROLID INTEGER + SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL + + DECLARE + @SCREEN_ID INTEGER + ,@CONTROL_TEXT VARCHAR(100) + ,@X_LOC FLOAT + ,@Y_LOC FLOAT + ,@HEIGHT INTEGER + ,@WIDTH INTEGER + ,@FONT_FAMILY VARCHAR(50) + ,@FONT_COLOR INTEGER + ,@FONT_SIZE INTEGER + ,@FONT_STYLE INTEGER + ,@TAB_INDEX INTEGER + ,@TAB_STOP BIT + ,@BACK_COLOR INTEGER + + SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC], + @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY], + @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE], + @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, + SCREEN_ID + ,CONTROL_TEXT + ,X_LOC + ,Y_LOC + ,HEIGHT + ,WIDTH + ,FONT_FAMILY + ,FONT_COLOR + ,FONT_SIZE + ,FONT_STYLE + ,TAB_INDEX + ,TAB_STOP + ,BACK_COLOR + ,ADDED_WHO) + VALUES( + @NEW_CONTROLID + ,@SCREEN_ID + ,@CONTROL_TEXT + ,@X_LOC + ,@Y_LOC + ,@HEIGHT + ,@WIDTH + ,@FONT_FAMILY + ,@FONT_COLOR + ,@FONT_SIZE + ,@FONT_STYLE + ,@TAB_INDEX + ,@TAB_STOP + ,@BACK_COLOR + ,@pADDEDWHO + ) + DECLARE @NEW_ID INT + SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT + + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'en-US',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + END + + CLOSE c_CONTROL + DEALLOCATE c_CONTROL +END +GO +--########################################################################################################################### + +CREATE PROCEDURE PRDD_COPY_RECORD(@pRECORD_ID INT,@WHO VARCHAR(50)) --,@pMODULE_ID INT) +AS +DECLARE @NEW_RECORD_ID INT + +BEGIN TRY + INSERT INTO TBPMO_RECORD ( + FORM_ID,ADDED_WHO) + SELECT FORM_ID,@WHO FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD + + INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT + RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID + + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + + INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################################################### +CREATE PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################################################### +CREATE PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '') +AS + DECLARE @DELETE_SQL NVARCHAR(MAX), + @ENTITY_ID INT, @COUNT_REQUIRED INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + DECLARE @reas As VARCHAR(250) + SET @reas = 'RECORD DELETED BY USER' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + END + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO) + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + BEGIN + PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES' + EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES' + END + +GO + +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO) + +GO + +--################################################################################################################################# +CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC + --WHERE + --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values + +DECLARE @DocID1 INTEGER +DECLARE c_2_Delete CURSOR LOCAL FOR + select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC) + OPEN c_2_Delete + FETCH NEXT FROM c_2_Delete INTO @DocID1 + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1 + + --##### + FETCH NEXT FROM c_2_Delete INTO @DocID1 + END +CLOSE c_2_Delete +DEALLOCATE c_2_Delete + +DECLARE @RECID INTEGER +DECLARE cursor_RELINK CURSOR LOCAL FOR + select T.DocID,T1.dwValue from TBPMO_DOCRESULT_LIST T, DD_VMP01_APS01_windream60.dbo.Vector T1 + WHERE T.DocID = T1.dwDocID AND T1.dwAttrID = 20005 AND T1.dwValue NOT IN (SELECT RECORD_ID from TBPMO_DOC_RECORD_LINK) ORDER BY T.DocID +OPEN cursor_RELINK +FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID +WHILE @@FETCH_STATUS = 0 +BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECID) + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECID AND DOC_ID = @DocID) + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,ADDED_WHO) VALUES + (@RECID,@DocID,'PRPMO_DOCRESULT_CHANGE') + END + + FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID +END +CLOSE cursor_RELINK +DEALLOCATE cursor_RELINK + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################################# +CREATE PROCEDURE [dbo].[PRPMO_DOCSYNC_5MIN] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC + WHERE + Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--################################################################################################################################# +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER] (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin') +AS +BEGIN TRY + DECLARE @CONSTR_DET_ID INT, + @ENTITY_ID INT, + @RECORD_ID INT, + @RECORD_SELECT NVARCHAR(MAX), + @RECORD_WHERE NVARCHAR(MAX), + @CREATE_VIEW NVARCHAR(MAX), + @USER_ID_ECM INT, + @WD_RIGHT INT, + @CONFIG INT, + @DOC_ID INT, + @DEL_SQL NVARCHAR(30) + + DECLARE Cursor_constructors CURSOR FOR SELECT T1.GUID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1,(SELECT DISTINCT TR.FORM_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) T2 + WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.FORM_ID = T2.FORM_ID AND T.USER_ID = @pUSER_ID + + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID + + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID + + OPEN Cursor_constructors + FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER') + DROP VIEW VWTEMP_REC_USER + + SET @WD_RIGHT = 3 + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + ELSE + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + BEGIN + SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + IF @CONFIG = 1 + BEGIN + SET @WD_RIGHT = 1 + --Print 'User shall only read' + END + END + END + + IF EXISTS(SELECT GUID FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID) + BEGIN + SELECT @RECORD_WHERE = ISNULL(SQL_COMMAND1,'') FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID + IF LEN(@RECORD_WHERE) > 0 + BEGIN + SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',CONVERT(NVARCHAR(10),@pUSER_ID)) + SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@NUMBER',CONVERT(NVARCHAR(3),@ENTITY_ID)) + SET @RECORD_SELECT = @RECORD_WHERE + END + ELSE + BEGIN + SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) + END + END + ELSE + BEGIN + SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) + END + + SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT + EXEC (@CREATE_VIEW) + + DECLARE Cursor_Records CURSOR FOR SELECT [Record-ID] FROM VWTEMP_REC_USER + + OPEN Cursor_Records + FETCH NEXT FROM Cursor_Records INTO @RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE Cursor_Docs CURSOR FOR SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD TR,(SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_ID_ECM) T1 + WHERE T.RECORD_ID = TR.GUID AND T.DOC_ID = T1.dwObjectID AND T.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID + + OPEN Cursor_Docs + FETCH NEXT FROM Cursor_Docs INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES(@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO) + FETCH NEXT FROM Cursor_Docs INTO @DOC_ID + END + CLOSE Cursor_Docs + DEALLOCATE Cursor_Docs + + FETCH NEXT FROM Cursor_Records INTO @RECORD_ID + END + CLOSE Cursor_Records + DEALLOCATE Cursor_Records + + SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER') + EXEC sp_executesql @DEL_SQL + + FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID + END + CLOSE Cursor_constructors + DEALLOCATE Cursor_constructors +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO +--############################################################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50)) +AS +BEGIN TRY + + DECLARE + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME + + SELECT @FULL_FILENAME = FULL_FILENAME + ,@DISPLAY_NAME = [Filename] + ,@Filename = [Filename] + ,@Doctype = Doctype + ,@Version = [Version] + ,@Creation_DateTime = [Creation_DateTime] + ,@Change_DateTime = [Change_DateTime] + ,@Objecttype = OBJECTTYPE + FROM + VWPMO_DOC_SYNC + WHERE + DocID = @pDOC_ID + IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID) + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @pDOC_ID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime) + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [DISPLAY_NAME] = @Filename, + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Creation_DateTime = @Creation_DateTime, + Change_DateTime = @Change_DateTime WHERE [DocID] = @pDOC_ID + + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID) + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO) + +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--############################################################################################################################## +CREATE PROCEDURE PRPMO_CREATE_VARIANT(@pREC_ID INTEGER,@WHO VARCHAR(50), @REASON VARCHAR(50),@COMMENT VARCHAR(500),@LINKFILES BIT) +AS +BEGIN TRY + DECLARE @return_value int + EXEC @return_value = [dbo].[PRDD_COPY_RECORD] @pREC_ID,@WHO + IF @return_value = 0 + BEGIN + DECLARE @NEW_RECORD_ID INTEGER + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE UPPER(ADDED_WHO) = UPPER(@WHO) + UPDATE TBPMO_RECORD SET + PARENT_RECORD = @NEW_RECORD_ID + ,CHANGED_WHO = @WHO WHERE GUID = @pREC_ID + INSERT INTO TBPMO_RECORD_VARIANT (RECORD_ID,REASON_CODE,COMMENT,ADDED_WHO) VALUES + (@pREC_ID,@REASON,@COMMENT,@WHO) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = + (SELECT RECORD_ENTITY_ID FROM TBPMO_RECORD WHERE GUID = @pREC_ID) + ,CHANGED_WHO = @WHO WHERE GUID = @NEW_RECORD_ID + IF @LINKFILES = 1 + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID, COMMENT, ADDED_WHO) + SELECT @NEW_RECORD_ID, DOC_ID, 'NEW VARIANT LINK', @WHO FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pREC_ID + END + ELSE + RAISERROR ('ERROR WHILE COPYING RECORD', + 10, -- Severity. + 1, -- State. + '99', -- First substitution argument. + 'PRDD_COPY_RECORD'); -- Second substitution argument. +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--############################################################################################################################## +CREATE PROCEDURE PRPMO_NODES_GET_CHILD_RECORDS (@USER_ID INTEGER, @NODE_ID INTEGER) +AS +BEGIN + DELETE FROM TBPMO_STRUCTURE_NODES_USER_TEMP WHERE USER_ID = @USER_ID; + WITH tblChild AS + ( + SELECT GUID,RECORD_ID FROM + TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_ID + UNION ALL + SELECT TBPMO_STRUCTURE_NODES.GUID,TBPMO_STRUCTURE_NODES.RECORD_ID FROM TBPMO_STRUCTURE_NODES JOIN tblChild ON TBPMO_STRUCTURE_NODES.PARENT_GUID = tblChild.GUID + ) + INSERT INTO TBPMO_STRUCTURE_NODES_USER_TEMP (USER_ID,RECORD_ID) + SELECT @USER_ID,RECORD_ID FROM tblChild where RECORD_ID is not null + OPTION(MAXRECURSION 32767) +END +GO +--############################################################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50)) +AS +BEGIN TRY + IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID) + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID) + --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO) + ELSE + BEGIN + DECLARE @EX_RIGHT INT + SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID + IF @EX_RIGHT < @pWD_RIGHT + UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID + END + END + ELSE + BEGIN + DECLARE @RIGHT_IN_WD INT + SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID + IF @RIGHT_IN_WD < @pWD_RIGHT + BEGIN + PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT' + UPDATE DD_VMP01_APS01_windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID + END + --ELSE + -- BEGIN + -- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT' + -- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM + -- END + END + +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_CREATE_CONSTRUCTOR](@pFORM_ID INT, @pNAME VARCHAR(50)) +AS +DECLARE + @NEW_CONSTR_ID INTEGER, + @FORM_ID INTEGER, + @PARENT_ID INTEGER, + @PARENT_ID2 INTEGER, + @LEVEL1_SELECT INTEGER, + @SEQUENCE INTEGER, + @SEQUENCE2 INTEGER, + @SQL_SELECT_EBENE1 VARCHAR(4000) + + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME)) + INSERT INTO TBPMO_FORM_CONSTRUCTOR (FORM_TITLE,SEQUENCE_MENU,ADDED_WHO, SHORT_TITLE) VALUES + (@pNAME,1, 'CREATE_ROUTINE','SHORT-TITLE') + + SELECT @NEW_CONSTR_ID = MAX(GUID) FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME) + + DECLARE c_ENTITY0 CURSOR FOR + SELECT T.GUID,T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE + T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = 0 AND T.GUID = @pFORM_ID ORDER BY T.LEVEL + BEGIN + OPEN c_ENTITY0 + FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = 0) + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,0 + ,0 + ,0 + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'' + ,'CREATE_ROUTINE2' + ) + FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE + END + END + CLOSE c_ENTITY0 + DEALLOCATE c_ENTITY0 + +DECLARE c_ENTITY1 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL +BEGIN + OPEN c_ENTITY1 + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = @PARENT_ID) + BEGIN + PRINT 'c_ENTITY1: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @' + CONVERT(VARCHAR(3),@FORM_ID) + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID + ,0 + ,@SEQUENCE + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE2' + ) + END + + If EXISTS(SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @FORM_ID) + BEGIN + PRINT 'c_ENTITY2: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = ' + CONVERT(VARCHAR(3),@FORM_ID) + --############### + DECLARE c_ENTITY2 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL + BEGIN + OPEN c_ENTITY2 + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID2 + ,0 + ,@SEQUENCE2 + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID2) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE3' + ) + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + END + CLOSE c_ENTITY2 + DEALLOCATE c_ENTITY2 + END + END + --############### + + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + END + + CLOSE c_ENTITY1 + DEALLOCATE c_ENTITY1 +END +GO +--########################################################################################## +CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) +AS +DECLARE @SQL_BEGIN NVARCHAR(MAX), + @SQL_END NVARCHAR(MAX), + @SQL NVARCHAR(MAX), + @SQL_DEF_CONSTR NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + + --select Top 10 * from VWTEMP_PMO_FORM1 +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + --UNION + --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3 + --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'') + drop table @TABLE@ENT' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL + SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) + + '[Record-ID] INT NOT NULL,' + CHAR(13) + + 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME) + + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ', ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13) + SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @ZAEHLER = @ZAEHLER + 1 + + BEGIN + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT = 'False' + SET @DEFAULT = '0' + ELSE + SET @DEFAULT = '1' + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13) + END + ELSE IF @TYPEID = 6 --Picturebox + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13) + ENd + ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 1 --Label + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 4 --DatePicker + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13) + END + ELSE + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + IF LEN(ISNULL(@DEFAULT,'')) > 0 + BEGIN + DECLARE @TEMP_COL_NAME VARCHAR(50) + SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','') + IF LEN(@SQL_DEF_CONSTR) > 0 + SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + ELSE + SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + BEGIN + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME) + END + END + + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END + --PRINT @RESULT + EXEC sp_executesql @RESULT + + IF LEN(@SQL_DEF_CONSTR) > 0 + BEGIN + --PRINT @SQL_DEF_CONSTR + EXEC sp_executesql @SQL_DEF_CONSTR + END +END +GO +----------------------------------------------------------------------------------------- +--########################################################################################## +CREATE PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) +--ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) +AS +DECLARE @SQL NVARCHAR(MAX), + @COUNT_DOCS INT, + @DOC_EXISTS TINYINT, + @ENT_ID INT, + @ENTITY_TABLENAME VARCHAR(50) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID + SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID + IF @COUNT_DOCS > 0 + SET @DOC_EXISTS = 1 + ELSE + SET @DOC_EXISTS = 0 + + SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID' + SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID)) + SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS)) + SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS)) + SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + + EXEC sp_executesql @SQL +END +GO +----------------------------------------------------------------------------------------- +--########################################################################################## +CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +--########################################################################################## +CREATE PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) +AS + DECLARE @SQL_UPDATE NVARCHAR(MAX), + @ENTITY_TABLENAME VARCHAR(50), + @TYPE_ID INT + +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox + SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID) + + IF @VALUE_NEW IS NULL + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' + ELSE + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE())) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO) + + EXEC sp_executesql @SQL_UPDATE +END +GO +--########################################################################################## +CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) +AS +DECLARE @SQL NVARCHAR(MAX), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_TABLENAME VARCHAR(50), + @TEMP_COL_NAME VARCHAR(50), + @SQL_DEF NVARCHAR(MAX), + @DFNAME VARCHAR(50), + @DROP NVARCHAR(500) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @DEFAULT_VALUE = @pDEFAULT_VALUE + + IF @pACTION = 0 -- Für Insert + BEGIN + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + + SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13) + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13) + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13) + ELSE + BEGIN + IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0 + BEGIN + SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE) + END + ELSE + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + END + --PRINT @SQL + + EXEC sp_executesql @SQL + PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED' + END + ELSE IF @pACTION = 1 -- Für Update + BEGIN + IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0 + BEGIN + SET @SQL = '@TABLE@ENT.[@OLDNAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD) + + --PRINT @COL_NAME + --PRINT @TABLENAME_COL + + --Update des Columnnames + EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN' + PRINT 'COLUMN WAS UPDATED' + + SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN ' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = @SQL + '[' + @pCOL_NAME + '] ' + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +'VARBINARY(MAX)' + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + 'VARCHAR(MAX)' + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + 'VARCHAR(10)' + ELSE + BEGIN + SET @SQL = @SQL + 'VARCHAR(MAX)' + IF @DEFAULT_VALUE IS NOT NULL + BEGIN + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','') + SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']' + SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME) + END + END + + --PRINT '@ALTER SQL-COMMAND: ' + @SQL + EXEC sp_executesql @SQL + PRINT 'ALTER TABLE was executed' + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0 + BEGIN + --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF + EXEC sp_executesql @SQL_DEF + END + + END + END + ELSE IF @pACTION = 2 -- Für Delete + BEGIN + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + EXEC sp_executesql @DROP + END + EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID +END +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN NVARCHAR(4000), + @SQL_END NVARCHAR(4000), + @SQL NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(4000), + @ENTITY_TABLENAME VARCHAR(50), + @VWPMO_ENTITY_TABLE VARCHAR(100) + +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, '' FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, T.SQL_COMMAND_1 FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID' + SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ',' + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + + SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T' + SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = '' + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + --PRINT @COL_NAME + IF @TYPEID IN(10,11) -- CheckBox,RadioBox + SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 6 --PictureBox + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 1 --Label mit SQL + BEGIN + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]') + SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13) + END + --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox + -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 4 --Datepicker + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE + SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13) + + SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME) + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + PRINT @RESULT + + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE) + BEGIN + SET @SQL = 'DROP VIEW [dbo].[@VIEW]' + SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE) + PRINT @SQL + EXEC sp_executesql @SQL + END + EXEC sp_executesql @RESULT + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID +END +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50)) +AS +DECLARE @NEW_RECORD_ID INT + +BEGIN TRY + INSERT INTO TBPMO_RECORD ( + FORM_ID,ADDED_WHO,RECORD_ENTITY_ID) + SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD + + INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT + RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID + + DECLARE @CONTROL_ID INT, + @REC_ID INT, + @VALUE VARCHAR(MAX), + @ADDED_WHO VARCHAR(50) + + DECLARE cursorControlValues CURSOR LOCAL FOR + SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + OPEN cursorControlValues + FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES ( + @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO) + + FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO + END + CLOSE cursorControlValues + DEALLOCATE cursorControlValues + + INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_ENTITY_RIGHT_CONTROLS WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID)) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_VIEW WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID IN (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_ID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS](@RECORD_ID INTEGER) +AS +BEGIN TRY + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID + INSERT INTO TBPMO_WORKFLOW_TASK (RECORD_ID,WF_ID,STATE_ID,ACTIVE) + SELECT @RECORD_ID, T.WF_ID,1,1 FROM TBPMO_WORKFLOW_FORM T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100),@FROM_SERVICE INT) +AS +BEGIN TRY + DECLARE @GUID INTEGER, + @RIGHT INTEGER + SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE + DOC_ID = @pDOC_ID + AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH) + AND UPPER(USER_STRING) = UPPER(@pUSERSTRING) + IF @GUID = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO,[SERVICE]) + VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT',@FROM_SERVICE) + ELSE + BEGIN + SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID + IF @RIGHT <> @pRIGHT + IF @RIGHT < @pRIGHT + UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID + END +END TRY +BEGIN CATCH + PRINT 'UNEXPECTED ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MSG: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--############################################################################################### + +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT) +AS +BEGIN TRY + DECLARE @COUNT INT + SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID + IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1) + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END + ELSE IF @COUNT > 1 and @DELETE_FILE = 0 + BEGIN + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID + END + ELSE IF @DELETE_FILE = 1 + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_DOC_VALUE_UPD_INS](@pDOCID INT, @pREC_ID INT, @pCONFIGID INT,@pVALUE VARCHAR(MAX),@pUSER VARCHAR(30)) +AS +BEGIN TRY + IF EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pREC_ID) + UPDATE TBPMO_DOC_VALUES SET VALUE = @pVALUE,CHANGED_WHO = @pUSER WHERE GUID = ( + SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND RECORD_ID = @pREC_ID AND CONFIG_ID = @pCONFIGID) + ELSE + INSERT INTO TBPMO_DOC_VALUES (DocID, RECORD_ID, CONFIG_ID, VALUE, ADDED_WHO) VALUES (@pDOCID, @pREC_ID, @pCONFIGID, @pVALUE, @pUSER) +END TRY +--########################################################################################## +BEGIN CATCH + PRINT 'ERROR IN [PRPMO_DOC_VALUE_UPD_INS] - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_LANGUAGE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_LANGUAGE] +FOR UPDATE +AS +BEGIN + DECLARE @CONTR_SCREEN_ID INTEGER, + @GUID INTEGER, + @CAPTION VARCHAR(100) + SELECT @CONTR_SCREEN_ID = CONTROL_SCREEN_ID, + @GUID = GUID, + @CAPTION = CAPTION + FROM inserted + UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'de-DE') + INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('de-DE',@CONTR_SCREEN_ID,@CAPTION) + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'en-US') + INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('en-US',@CONTR_SCREEN_ID,@CAPTION) +END +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + PRINT @SQL_DELETE + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_PMO_TABLE] (@ENTITY_ID INT, @RECORD_ID INT) +-- ============================================= +-- Author: Digital Data - Schreiber, Marlon +-- Create date: 22.11.2017 +-- Description: Deletes a record from the temptable +-- ============================================= +-- PROXY-RELEVANT +AS +BEGIN + --DECLARE @ENTITY_ID INT, @RECORD_ID INT + --SET @ENTITY_ID = 1 + --SET @RECORD_ID = 7801 + DECLARE @ENTITY_TABLENAME VARCHAR(100),@SQL VARCHAR(MAX) + + SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) + --PRINT @ENTITY_TABLENAME + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + PRINT @SQL + EXEC (@SQL) + --DELETE FROM TBPMO_ENTITY_TABLE1 WHERE [Record-ID] = 7801 +END +GO +--########################################################################################## +CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_REFRESH_RECORDS](@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' +--DELETE ALL RECORDS WHICH ARE NOT ANY MORE PART OF ENTITY +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 +SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] NOT IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @ENT)' +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) +EXEC sp_executesql @SQL_DELETE +--DELETE RECORDS WHICH HAVE BEEN MODIFIED IN THE LAST 5 DAYS +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 +SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] IN (select GUID from TBPMO_RECORD where CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) AND FORM_ID = @ENT)' +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) +EXEC sp_executesql @SQL_DELETE + +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 AND CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) +BEGIN + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +--############################################### +CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_5MIN] +AS +BEGIN + EXEC PRPMO_DOCSYNC_5min +END +GO + +CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_06_12_18] +AS +BEGIN + --PROCEDURE1 + PRINT 'EXECUTING PRPMO_DAILY_JOB_06_12_18' + --EXEC PRPMO_ZSG_IN_COMOS_SAP; + +END +GO + +--############################################### +--###########FUNCTIONS########################### +--############################################### +CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@pENTITY_ID INT) +-- ============================================= +-- Author: Digital Data - Schreiber, Marlon +-- Create date: 22.11.2017 +-- Description: Gets the temptablename for the entity +-- ============================================= +-- PROXY-RELEVANT +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @RESULT AS VARCHAR(100) + DECLARE @ENTITY_TABLENAME AS VARCHAR(100) + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@pENTITY_ID) + + RETURN @ENTITY_TABLENAME +END +GO + +CREATE FUNCTION [dbo].[FNPMO_CUST_ALLOW_ENTITY_RELINK](@RECORD_ID INTEGER, @USER_ID INTEGER) +--PROXYRELEVANT COPY ON PROXY +-- ============================================= +-- Author: Digital Data - Schreiber, Marlon +-- Create date: 22.11.2017 +-- Description: +-- ============================================= +RETURNS BIT +AS +BEGIN + DECLARE @RESULT BIT, @ENTITY_ID INTEGER + SET @RESULT = 1 + DECLARE @STATUS VARCHAR(50) + --##### RENOLIT INDIVIDUELL + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @ENTITY_ID = 1 + BEGIN + SELECT @STATUS = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 745 + IF @STATUS <> 'Vertrag beendet' + SET @RESULT = 0 + ELSE + SET @RESULT = 1 + END + --#### ENDE + + RETURN @RESULT +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE) +RETURNS INTEGER +AS +BEGIN + DECLARE @RESULT AS INTEGER + If @pTIMESPAN = 'Day' + SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE) + ELSE IF @pTIMESPAN = 'Month' + SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE) + ELSE IF @pTIMESPAN = 'Week' + SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE) + --PRINT 'RESULT: W:\' + @RESULT + '\' + RETURN @RESULT +END +GO +CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] (@pCONTROL_ID INTEGER,@pDOC_ID INTEGER, @pENTITY_ID INTEGER) +RETURNS VARCHAR(1000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @TEMP_VALUE VARCHAR(MAX) + + + DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID in (SELECT RECORD_ID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID + AND RECORD_ID IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)) + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ';' + @TEMP_VALUE + ELSE + SET @RESULT = @TEMP_VALUE + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_CAPTION](@pLANG_TYPE VARCHAR(5), @pSCREEN_ID INTEGER,@pCONTROL_ID INTEGER ) +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @CAPTION VARCHAR(100), + @CTRL_SCREEN_ID INTEGER + + SELECT @CTRL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN WHERE + CONTROL_ID = @pCONTROL_ID AND SCREEN_ID = @pSCREEN_ID + + SELECT @CAPTION = CAPTION FROM TBPMO_CONTROL_LANGUAGE WHERE LANGUAGE_TYPE = @pLANG_TYPE AND + CONTROL_SCREEN_ID = @CTRL_SCREEN_ID + + RETURN(ISNULL(@CAPTION,'')) +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT) +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @PMOOBJ_CAPTION VARCHAR(100) + + SELECT @PMOOBJ_CAPTION = CAPTION FROM + TBPMO_LANGUAGE_OBJECT AS T + WHERE + T.LANGUAGE_TYPE = @pLANG_TYPE AND + T.SCREEN_ID = @pSCREEN_ID AND + T.PMO_OBJECT_NAME = @pOBJ_NAME + + RETURN(ISNULL(@PMOOBJ_CAPTION,'')) +END +GO +--################################################################################################################################# +CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER) +RETURNS VARCHAR(1000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @TEMP_VALUE VARCHAR(MAX) + + + DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ';' + @TEMP_VALUE + ELSE + SET @RESULT = @TEMP_VALUE + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER) +RETURNS VARCHAR(2500) +AS +BEGIN + DECLARE + @COLUMN1 VARCHAR(100), + @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500) + + SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY + SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1 + SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID + RETURN(@RESULT) +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FN_SPLIT_STRING] +( + @Input NVARCHAR(MAX), + @Character CHAR(1) +) +RETURNS @Output TABLE ( + Item NVARCHAR(1000) +) +AS +BEGIN + DECLARE @StartIndex INT, @EndIndex INT + + SET @StartIndex = 1 + IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character + BEGIN + SET @Input = @Input + @Character + END + + WHILE CHARINDEX(@Character, @Input) > 0 + BEGIN + SET @EndIndex = CHARINDEX(@Character, @Input) + + INSERT INTO @Output(Item) + SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + + SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) + END + + RETURN +END +GO +--################################################################################################################################# +CREATE FUNCTION FNPMO_GET_WINDREAM_FOLDER_PATH (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_LAUFWERKBUCHSTABE CHAR(1) + + SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + IF EXISTS(SELECT dwDocID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID) + BEGIN + SELECT @FSFLAGS = dwFSFlags FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS <> 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FOLDER (dwFSFlags <> 16)!' + SET @DATEINAME = '' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + END + ELSE + BEGIN + SET @RESULT = 'THIS DOC-ID DOES NOT EXIST!' + SET @DATEINAME = '' + END + + SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME + --PRINT @RESULT + RETURN @RESULT +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_LAUFWERKBUCHSTABE CHAR(1) + + SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SELECT @FSFLAGS = dwFSFlags FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS = 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FILE!' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME + RETURN @RESULT +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50)) +RETURNS INTEGER +AS +BEGIN + DECLARE @USER_ID AS INTEGER + SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING) + IF @USER_ID IS NULL + SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','') + IF @USER_ID IS NULL + SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','') + RETURN(ISNULL(@USER_ID,0)) +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50),USER_OR_GROUP VARCHAR(20)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER','USER') + --INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (1,'Digital Data - windream-Benutzer',2,1,'WM-GRUPPE','GROUP') + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.GROUP_ID ,T1.ECM_FK_ID, T1.NAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_GROUP T, TBDD_GROUPS T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.GROUP_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT,USER_OR_GROUP = 'GROUP' WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM TBPMO_RIGHT_GROUP','GROUP') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END + +GO +--################################################################################################################################# + +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250), @REDUNDANT_ID INTEGER + SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX + IF @HEADER_CAPTION IS NULL + BEGIN + SELECT @REDUNDANT_ID = REDUNDANT_ENTITY FROM TBPMO_FORM WHERE GUID = @pENTITY + IF @REDUNDANT_ID <> 0 + SELECT @RESULT = dbo.FNPMO_DOC_GET_IDX(@pDOCID,@REDUNDANT_ID,@DOCIDX) + ELSE + SET @RESULT = 'NO CONFIGURATION' + END + ELSE + BEGIN + SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), + @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT + @HEADER_CAPTION = HEADER_CAPTION, + @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE + ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE + + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO DROP-DOWN CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +--################################################################################################################################# +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), + @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT + @HEADER_CAPTION = HEADER_CAPTION, + @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE + ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE + + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO DROP-DOWN CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID + + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +--####################################################################################################################### + +--################################################################################################################### +--####################### VIEWS ###################### +--################################################################################################################### +CREATE VIEW VWPMO_VALUES AS +SELECT TOP 100 PERCENT + T2.GUID RECORD_ID, + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.COL_NAME CONTROL_COLUMN, + T.CONTROL_TYPE_ID, + T1.VALUE, + T3.GUID FORM_ID, + T3.NAME FORM_NAME, + T4.GUID SCREEN_ID, + T4.NAME SCREEN_NAME +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_VALUE T1, + TBPMO_RECORD T2, + TBPMO_FORM T3, + TBPMO_SCREEN T4, + TBPMO_CONTROL_SCREEN T5 +WHERE + T.GUID = T1.CONTROL_ID AND + T.FORM_ID = T3.GUID AND + T1.RECORD_ID = T2.GUID AND + T.GUID = T5.CONTROL_ID AND + T5.SCREEN_ID = T4.GUID +ORDER BY + T5.TAB_INDEX +GO +CREATE VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T2.ADD_RECORDS, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + T2.DOC_SEARCH_TAB1, + T2.[ACTIVATE_DOC_SEARCH_ON_EDIT], + T1.DOCUMENT_VIEW, + T.DATE_FORMAT, + T.LOCK_CONTROLS_BG_LOAD, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE + +GO +--############################################################################################### +CREATE VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.SELECT_ONLY CONTROL_SELECT_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO +--############################################################################################### +CREATE VIEW VWPMO_DOKUMENTTYPES +AS +SELECT TOP 2000 + T2.FORMVIEW_ID, + T3.FORM_ID, + T3.FORM_TITLE, + T.GUID DOKUMENTTYPE_ID, + T.BEZEICHNUNG DOKUMENTTYPE, + T.ZIEL_PFAD [PATH], + T.KURZNAME SHORTNAME, + T2.GUID FW_DOCTYPE_ID, + T2.OBJECT_TYPE, + T.SEQUENCE +FROM + TBDD_DOKUMENTART T, + TBDD_EINGANGSARTEN T1, + TBPMO_WD_FORMVIEW_DOKTYPES T2, + TBPMO_FORM_VIEW T3 +WHERE + T.AKTIV = 1 AND + T.EINGANGSART_ID = T1.GUID AND + T.GUID = T2.DOCTYPE_ID AND + T2.FORMVIEW_ID = T3.GUID +ORDER BY + T2.FORMVIEW_ID +GO +--############################################################################################### +CREATE VIEW VWPMO_FOLLOW_UP_EMAIL AS +SELECT + T1.GUID FOLLOW_UP_ID, + T1.NAME, + T1.FOLLOW_UP_SEQUENCE, + T1.FOLLOW_UP_DAYS, + T1.FOLLOW_UP_TIME_SPAN, + CONVERT(CHAR(5),GETDATE(),108) NOW_TIME, + T.RECORD_ID, + CONVERT(DATE,T.VALUE) VALUE, + T1.EMAIL_SUBJECT, + T1.EMAIL_BODY, + T1.PROCESS_SELECT1, + T1.PROCESS_SELECT2, + T1.PROCESS_SELECT3, + T1.PROCESS_SELECT4, + T1.PROCESS_SELECT5, + T1.PROCESS_SELECT6, + T1.PROCESS_SELECT7, + T1.PROCESS_SELECT8, + T1.PROCESS_SELECT9, + T1.PROCESS_SELECT10, + T1.TIME_UNITY, + T1.TIME_DIST, + CONVERT(INT,T1.TIME_SPAN) TIME_SPAN + ,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN + ,T.VALUE DATE_VALUE, + T1.DEPENDENT_DATE_CTRL_ID, + T1.DEPENDENT_DONE_CTRL_ID, + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE, + T2.GUID AS CONSTRUCTOR_ID, + T2.FORM_TITLE AS CONSTRUCTOR_TITLE, + T1.CTRL_USER_DIRECT, + T1.CTRL_GROUP_DIRECT +FROM + VWPMO_VALUES T, + TBPMO_FOLLOW_UP_EMAIL T1, + TBPMO_FORM_CONSTRUCTOR T2 +WHERE + T1.ACTIVE = 1 AND + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And + T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND + T1.CONSTRUCTOR_ID = T2.GUID +GO + +--############################################################################################### +CREATE VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS +SELECT + T.GUID FOLLOW_UP_ID, + T1.RECORD_ID, + T2.GUID AS ENTITY_ID, + T.NAME, + T.FOLLOW_UP_SEQUENCE, + T.FOLLOW_UP_DAYS, + T.FOLLOW_UP_TIME_SPAN, + CONVERT(DATE,T1.VALUE) RECORD_VALUE, + T.EMAIL_SUBJECT, + T.EMAIL_BODY, + T.DEPENDENT_DATE_CTRL_ID, + T.DEPENDENT_DONE_CTRL_ID, + T3.GUID AS CONSTRUCTOR_ID, + T3.FORM_TITLE AS CONSTRUCTOR_TITLE +FROM + TBPMO_FOLLOW_UP_EMAIL T, + VWPMO_VALUES T1, + TBPMO_FORM T2, + TBPMO_FORM_CONSTRUCTOR T3 +WHERE + T.ACTIVE = 1 AND + T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND + T1.FORM_ID = T2.GUID AND + T.CONSTRUCTOR_ID = T3.GUID + +GO +--############################################################################################### +CREATE VIEW VWPMO_FORM_VIEW AS +SELECT TOP 100 PERCENT + T.GUID FORM_ID, + T.PARENT_ID FORM_PARENT_ID, + T.LEVEL FORM_LEVEL, + T.NAME FORM_NAME, + T1.FORM_TITLE FORM_TITLE, + T1.DESCRIPTION FORM_DESCRIPTION +FROM + TBPMO_FORM T, + TBPMO_FORM_VIEW T1 +WHERE + T.GUID = T1.FORM_ID +GO +--############################################################################################### +CREATE VIEW [dbo].[VWPMO_GUI_ENTITY] AS +SELECT TOP 100 PERCENT + TBPMO_FORM.GUID AS ID, + TBPMO_FORM.PARENT_ID, + TBPMO_FORM.LEVEL, + TBPMO_FORM.FORM_TYPE_ID, + TBPMO_FORM.NAME AS Name, + TBPMO_FORM_VIEW.GUID As FormViewID, + TBPMO_FORM_VIEW.FORM_TITLE AS Title +FROM + TBPMO_FORM INNER JOIN + TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID +WHERE + (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5)) +ORDER BY + TBPMO_FORM.PARENT_ID, Title +GO +--############################################################################################### +CREATE VIEW VWPMO_INTERNAL_RECORD_ENTITY AS +SELECT + RECORD_ID, + FORM_ID AS [ENTITY_ID] +FROM VWPMO_VALUES +GROUP BY + RECORD_ID, + FORM_ID +GO +--############################################################################################### +CREATE VIEW VWPMO_RECORD_CHANGES AS +SELECT + T.GUID, + T.RECORD_ID, + T1.NAME, + T.LOG_DESCRIPTION, + T.ADDED_WHO, + T.ADDED_WHEN +FROM + TBPMO_RECORD_LOG T, + TBPMO_CONTROL T1 +WHERE + T.CONTROL_ID = T1.GUID + +GO +--############################################################################################### +CREATE VIEW VWPMO_TEMPLATE_ENTITY AS +SELECT + T.GUID AS TEMPLATE_ID, + T.NAME AS TEMPLATE_NAME, + T.TEMPLATE_PATH AS TEMPLATE_PATH, + T1.GUID AS TEMPLATE_ENTITY_ID, + T2.GUID AS ENTITY_ID, + T2.NAME +FROM + TBPMO_TEMPLATE T, + TBPMO_TEMPLATE_ENTITY T1, + TBPMO_FORM T2 +WHERE + T.ACTIVE = 1 AND + T.GUID = T1.TEMPLATE_ID AND + T1.ENTITY_ID = T2.GUID +GO +--############################################################################################### +CREATE VIEW VWPMO_USERS_GROUPS +AS +SELECT + dbo.TBDD_GROUPS_USER.GUID, + dbo.TBDD_GROUPS_USER.USER_ID, + dbo.TBDD_GROUPS_USER.GROUP_ID, + dbo.TBDD_USER.USERNAME, + dbo.TBDD_USER.NAME, + dbo.TBDD_USER.PRENAME, + dbo.TBDD_GROUPS.NAME AS GROUP_NAME +FROM + dbo.TBDD_GROUPS_USER INNER JOIN + dbo.TBDD_USER ON dbo.TBDD_GROUPS_USER.USER_ID = dbo.TBDD_USER.GUID INNER JOIN + dbo.TBDD_GROUPS ON dbo.TBDD_GROUPS_USER.GROUP_ID = dbo.TBDD_GROUPS.GUID +GO +--############################################################################################### +CREATE VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + W_T.GUID AS WF_TASK_ID + ,R.GUID AS WF_ID + ,W_T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,R.DESCRIPTION + ,R.MANUALLY + ,R.CREATE_ON_REC_CREATE + ,R.CREATE_ON_FOLL_UP + ,W_T.COMMENT + ,W_T.DUE_DATE + ,W_T.ADDED_WHEN + ,W_T.CHANGED_WHO + ,W_T.CHANGED_WHEN + ,W_T.TASK_DATE + ,T.FINAL + ,T.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION + ,FINISHED +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_WORKFLOW_TASK W_T + ,TBPMO_WORKFLOW R + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 + ,TBPMO_RECORD REC +WHERE + --W_T.RECORD_ID = 95 AND + --TBPMO_WORKFLOW_ENTITY_STATE + T.WF_ID = R.GUID AND + T.ENTITY_ID = T3.GUID AND + T.STATE_ID = T5.GUID AND + W_T.RECORD_ID = REC.GUID AND + T.ENTITY_ID = REC.FORM_ID AND + W_T.WF_ID = R.GUID AND + R.GUID = R.GUID AND + T3.GUID = T4.FORM_ID AND + W_T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND + W_T.ACTIVE = 1 --AND + --T.INACTIVE = 0 +ORDER BY W_T.RECORD_ID,W_T.GUID +GO + + + + +GO +--############################################################################################### +CREATE VIEW VWPMO_WF_OVERVIEW_AUTHORITY AS +SELECT + T.GUID as WF_ID, + T.RECORD_ID, + TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC AS STATE, + TBPMO_WORKFLOW_TASK_STATE.GUID AS STATE_ID, + TBPMO_WORKFLOW_TASK_STATE.COLOR, + (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) AS Authority, + CASE WHEN (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) IS NULL + THEN TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ELSE + TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ' - ' + + (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) + END AS String, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM TBPMO_WORKFLOW_TASK T INNER JOIN + TBPMO_WORKFLOW ON T.WF_ID = TBPMO_WORKFLOW.GUID INNER JOIN + TBPMO_WORKFLOW_TASK_STATE ON T.STATE_ID = TBPMO_WORKFLOW_TASK_STATE.GUID +WHERE (T.ACTIVE = 1) +GO +--############################################################################################### +CREATE VIEW VWPMO_WF_USER AS +SELECT + T.GUID, + T.WF_TASK_ID, + T.USER_ID, + T2.STATE_ID, + T3.TITLE, + T1.USERNAME +FROM + TBPMO_WORKFLOW_TASK_USER T, + TBDD_USER T1 , + TBPMO_WORKFLOW_TASK T2, + TBPMO_WORKFLOW T3 +WHERE + T.USER_ID = T1.GUID AND + T.WF_TASK_ID = T2.GUID AND + T2.WF_ID = T3.GUID + +GO +--################################################################################################## +CREATE VIEW VWPMO_WF_USER_EXCLUSIV AS +SELECT + T.GUID, + T.USER_ID, + T1.USERNAME, + T4.VALUE AS JOB, + T2.GUID as WF_TASK_ID, + T3.TITLE, + T2.RECORD_ID, + T2.STATE_ID +FROM + TBPMO_WORKFLOW_TASK_USER T, + TBDD_USER T1 , + TBPMO_WORKFLOW_TASK T2, + TBPMO_WORKFLOW T3, + VWPMO_VALUES T4 +WHERE + T.USER_ID = T1.GUID AND + T.WF_TASK_ID = T2.GUID AND + T2.WF_ID = T3.GUID AND + T2.RECORD_ID = T4.RECORD_ID AND + T4.CONTROL_ID = 10 +GO +--################################################################################################## + +CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS +SELECT + T.GUID, + T.ENTITY_ID, + T3.GUID as FV_ID, + T3.FORM_TITLE, + T.WF_ID, + T4.TITLE AS WF_TITLE, + T2.GUID AS STATE_ID, + T2.STATE_DESC, + T.FINAL +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_FORM T1, + TBPMO_WORKFLOW_TASK_STATE T2, + TBPMO_FORM_VIEW T3, + TBPMO_WORKFLOW T4 +WHERE + T.ENTITY_ID = T1.GUID AND + T.STATE_ID = T2.GUID AND + T1.GUID = T3.FORM_ID AND + T.WF_ID = T4.GUID AND + T3.SCREEN_ID = 1 +GO +--################################################################################################## +CREATE VIEW VWPMO_CONTROL_HINT AS +SELECT + T2.FORM_ID, + T1.CONTROL_ID, + T.HINT +FROM + TBPMO_CONTROL_LANGUAGE T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_CONTROL T2 +WHERE + T.CONTROL_SCREEN_ID = T1.GUID + AND T1.CONTROL_ID = T2.GUID + AND T1.SCREEN_ID = 1 + AND (HINT IS NOT NULL AND HINT <> '') +GO + + +CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS +select + T1.RECORD_ID, + T.CONTROL_ID, + T2.[FORM_ID], + dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID] +FROM + TBPMO_SUPERVISOR_CONTROLS T, + TBPMO_CONTROL_VALUE T1, + TBPMO_CONTROL T2 +WHERE + T.CONTROL_ID = T1.CONTROL_ID + AND T.CONTROL_ID = T2.GUID +GO +CREATE VIEW VWPMO_RIGHTS_2B_WORKED AS +SELECT + T.GUID + ,T.DOC_ID + ,T.USER_ID + ,T1.USERNAME + ,T.RIGHT_MODIFY + ,T.FILE_RIGHT FILE_RIGHT_ID + ,CASE T.FILE_RIGHT + WHEN 3 THEN 'READ/WRITE' + WHEN 1 THEN 'READ' + ELSE T.FILE_RIGHT END AS FILE_RIGHT + ,T.WORKING + ,T.ADDED_WHO + ,T.ADDED_WHEN +FROM + TBPMO_RIGHTS_WORK_SERVICE T, + TBDD_USER T1 +WHERE + T.WORKED = 0 + AND T.USER_ID = T1.GUID +GO +CREATE VIEW VWPMO_DOC_SEARCH AS +SELECT + CONVERT(INTEGER,T.DocID) AS DocID + ,T.FULL_FILENAME AS FULL_FILENAME + ,T.[Filename] + ,T.Doctype + ,T.[Version] + ,T.Creation_DateTime + ,T.Change_DateTime + ,T.OBJECTTYPE + ,T.DISPLAY_NAME + ,T.IN_WORK + ,T.IN_WORK_USER + ,T.IN_WORK_COMMENT +FROM + TBPMO_DOCRESULT_LIST T +GO +CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS +SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME + ,szLongName AS [Filename] + ,ISNULL(T.szText39,'NO DOCTYPE') AS Doctype + ,ISNULL(T.dwVersionNumber,'1') AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE + ,T.dwObjectTypeID +FROM + DD_VMP01_APS01_windream60.dbo.BaseAttributes T + ,DD_VMP01_APS01_windream60.dbo.ObjectType T1 +WHERE + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.szText36 = 'ADDI-RELATION' +ORDER BY [Creation_DateTime] +GO +CREATE VIEW VWPMO_STRUCTURE_NODES AS +select + T.*, + T1.CONTROL_ID, + T1.CREATE_RECORD, + T1.ENTITY_ID, + T1.NAME, + T1.TYPE_NODE, + T1.FONT_FAMILY, + T1.FONT_COLOR, + T1.EXPAND AS EXPAND_NODE, +T1.FONT_SIZE, +T1.FONT_STYLE, +T1.BACK_COLOR + from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 +WHERE T.NODE_CONFIG_ID = T1.GUID +GO + +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_USER AS +SELECT AR.dwObjectID, + AR.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID + INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID + INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NULL +GO + +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_GROUP AS +SELECT AR.dwObjectID, + UG.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM DD_VMP01_APS01_windream60.dbo.AccessRight AR LEFT JOIN DD_VMP01_APS01_windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID + INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID + INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NOT NULL +GO +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS AS +SELECT ARU.dwObjectID, + ARU.dwUserOrGROUPID, + ARU.dwAccessRight, + ARU.dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS_USER ARU UNION +SELECT ARG.dwObjectID, + ARG.dwUserOrGROUPID, + ARG.dwAccessRight, + ARG.dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS_GROUP ARG +GO + +CREATE VIEW VWPMO_WD_OBJECT_RIGHTS +AS +SELECT dwObjectID, + dwUserOrGROUPID, + MAX(dwAccessRight) AS dwAccessRight, + dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS +GROUP BY + dwObjectID, + dwUserOrGROUPID, + dwObjectDBID + +GO +CREATE VIEW VWPMO_DOC_USER_RELATION AS +SELECT DISTINCT + T1.DOC_ID, + T3.dwUserOrGroupID, + T2.FORM_ID AS ENTITY_ID +FROM TBPMO_DOC_RECORD_LINK T1, TBPMO_RECORD T2,VWPMO_WD_OBJECT_RIGHTS T3 +WHERE T1.RECORD_ID = T2.GUID +GO +CREATE VIEW VWPMO_DOC_CHANGES_5MIN +AS +SELECT DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime,'CHANGE GENERAL' as CHANGE_TYPE +FROM VWPMO_DOC_SYNC +WHERE + Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) +UNION +SELECT T.DocID, T.[Filename], T.FULL_FILENAME, + T.Doctype, T.[Version] as [Version], T.Objecttype, + T.Creation_DateTime, T.Change_DateTime,'CHANGE PATHorFILE' as CHANGE_TYPE +FROM VWPMO_DOC_SYNC T, TBPMO_DOCRESULT_LIST T1 +WHERE + T.DocID = T1.DocID AND + T.Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) + AND UPPER(T.FULL_FILENAME) <> UPPER(T1.FULL_FILENAME) +GO +--END CREATE VIEWS + +--HIER NUN DIE RECHTE ZUR AUSFÜHRUNG AN DEN APPLICATION-USER geben +GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT] TO [dd_ecm] +GO +GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_CAPTION] TO [dd_ecm] +GO +GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE] TO [dd_ecm] +GO +GRANT EXECUTE ON [dbo].[FNPMO_DOC_GET_IDX] TO [dd_ecm] +GO + + +/*########################################################################################### +JOBS FOR REFRESHING ACTIONS +#############################################################################################*/ +USE [msdb] +GO + +/****** Object: Job [DD_ADDI_5MIN_JOB] Script Date: 20.06.2018 10:18:32 ******/ +BEGIN TRANSACTION +DECLARE @ReturnCode INT +SELECT @ReturnCode = 0 +/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:18:32 ******/ +IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) +BEGIN +EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback + +END + +DECLARE @jobId BINARY(16) +EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_ADDI_5MIN_JOB', + @enabled=1, + @notify_level_eventlog=0, + @notify_level_email=0, + @notify_level_netsend=0, + @notify_level_page=0, + @delete_level=0, + @description=N'Runs 5min Procedure - Logical processes are placed in this procedure.', + @category_name=N'[Uncategorized (Local)]', + @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +/****** Object: Step [PRPMO_DAILY_JOB_5MIN] Script Date: 20.06.2018 10:18:32 ******/ +EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'PRPMO_DAILY_JOB_5MIN', + @step_id=1, + @cmdexec_success_code=0, + @on_success_action=1, + @on_success_step_id=0, + @on_fail_action=2, + @on_fail_step_id=0, + @retry_attempts=0, + @retry_interval=0, + @os_run_priority=0, @subsystem=N'TSQL', + @command=N'EXEC PRPMO_DAILY_JOB_5MIN', + @database_name=N'DD_ECM', + @flags=0 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'5Min', + @enabled=1, + @freq_type=8, + @freq_interval=63, + @freq_subday_type=4, + @freq_subday_interval=5, + @freq_relative_interval=0, + @freq_recurrence_factor=1, + @active_start_date=20180619, + @active_end_date=99991231, + @active_start_time=70000, + @active_end_time=180000, + @schedule_uid=N'8bc044e9-081b-4d93-9b9a-19458b94bc3f' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +COMMIT TRANSACTION +GOTO EndSave +QuitWithRollback: + IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION +EndSave: +GO + +USE [msdb] +GO + +/****** Object: Job [DD_ADDI_DAILY_JOB] Script Date: 20.06.2018 10:19:37 ******/ +BEGIN TRANSACTION +DECLARE @ReturnCode INT +SELECT @ReturnCode = 0 +/****** Object: JobCategory [[Uncategorized (Local)]]] Script Date: 20.06.2018 10:19:37 ******/ +IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N'[Uncategorized (Local)]' AND category_class=1) +BEGIN +EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N'JOB', @type=N'LOCAL', @name=N'[Uncategorized (Local)]' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback + +END + +DECLARE @jobId BINARY(16) +EXEC @ReturnCode = msdb.dbo.sp_add_job @job_name=N'DD_ADDI_DAILY_JOB', + @enabled=1, + @notify_level_eventlog=0, + @notify_level_email=0, + @notify_level_netsend=0, + @notify_level_page=0, + @delete_level=0, + @description=N'Runs 6hour procedure - Logical processes are placed in this procedure.', + @category_name=N'[Uncategorized (Local)]', + @owner_login_name=N'LZELLSDL\windream', @job_id = @jobId OUTPUT +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +/****** Object: Step [STEP1] Script Date: 20.06.2018 10:19:37 ******/ +EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N'STEP1', + @step_id=1, + @cmdexec_success_code=0, + @on_success_action=1, + @on_success_step_id=0, + @on_fail_action=2, + @on_fail_step_id=0, + @retry_attempts=0, + @retry_interval=0, + @os_run_priority=0, @subsystem=N'TSQL', + @command=N'EXEC PRPMO_DAILY_JOB_06_12_18', + @database_name=N'DD_ECM', + @flags=0 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1 +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N'Daily06_12_18', + @enabled=1, + @freq_type=8, + @freq_interval=63, + @freq_subday_type=8, + @freq_subday_interval=6, + @freq_relative_interval=0, + @freq_recurrence_factor=1, + @active_start_date=20180620, + @active_end_date=99991231, + @active_start_time=600, + @active_end_time=180000, + @schedule_uid=N'f632a663-97e6-42e7-84cb-ab6a2fa1ef3d' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N'(local)' +IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback +COMMIT TRANSACTION +GOTO EndSave +QuitWithRollback: + IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION +EndSave: + +GO + + + + + + + + diff --git a/08_ADDI/SQL/Copy/Controls.sql b/08_ADDI/SQL/Copy/Controls.sql new file mode 100644 index 0000000000000000000000000000000000000000..ebbcfae2d9f590069b24e302215869b540fbdca1 GIT binary patch literal 2754 zcmds3O>f#j5S^F618XPJ(=p3rKIV`wFQs zTC~>pQ_GWlhPCq^O?QiU3&?W!ps{DN((gp3@(Iu7F+%snT*m5E@^3$S2GBIc~Uf`aL4fIDwdrbL}*~%+fO*UmtQHLp>LG*cX#tb&R!5DeJbOI$D~X`53mC`VYC16Jfd8T-^aH!g63H>E2`euLHa8S6^? zIg{p?0*sh5kMa2#+0Tj4tlYTTg%*164HsviGb{m$yrbVfxw{Ord(UQg_dX>btRIG_ zC+{q~yZU@Iy=kKxJnH{hT literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/Entwurf/Search_all.sql b/08_ADDI/SQL/Entwurf/Search_all.sql new file mode 100644 index 0000000..a48ddfe --- /dev/null +++ b/08_ADDI/SQL/Entwurf/Search_all.sql @@ -0,0 +1,5 @@ +select T.VALUE, + T.RECORD_ID, T.CONTROL_ID,T.CONTROL_COLUMN,T1.FORM_TITLE +from VWPMO_VALUES T, TBPMO_FORM_VIEW T1 where +T.FORM_ID = T1.FORM_ID AND +T.VALUE LIKE '%den R%' ORDER BY T.VALUE \ No newline at end of file diff --git a/08_ADDI/SQL/Hilfe/Split;durchführen.sql b/08_ADDI/SQL/Hilfe/Split;durchführen.sql new file mode 100644 index 0000000..7a72429 --- /dev/null +++ b/08_ADDI/SQL/Hilfe/Split;durchführen.sql @@ -0,0 +1,43 @@ + +BEGIN + DECLARE + @GUID INTEGER, + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE VARCHAR(MAX), + @NEW_VALUE VARCHAR(MAX), + @INDEX INTEGER, + @ADDED_WHO VARCHAR(50) + + DECLARE c_Values CURSOR FOR + SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO FROM TBPMO_CONTROL_VALUE WHERE VALUE LIKE '%;%' AND CONTROL_ID NOT IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) ORDER BY RECORD_ID,CONTROL_ID + OPEN c_Values + FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @INDEX = 0 + --##### + DECLARE c_NEWVALUES CURSOR FOR + SELECT Item FROM dbo.FN_SPLIT_STRING(@VALUE, ';') + OPEN c_NEWVALUES + FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @NEW_VALUE = LTRIM(@NEW_VALUE) + IF @INDEX = 0 + UPDATE TBPMO_CONTROL_VALUE SET VALUE = @NEW_VALUE WHERE GUID = @GUID + ELSE + INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES + (@CONTROL_ID,@RECORD_ID,@NEW_VALUE,@ADDED_WHO) + PRINT CONVERT(VARCHAR(5),@CONTROL_ID) + '#' + CONVERT(VARCHAR(5),@INDEX) + '-' + @NEW_VALUE + SET @INDEX = @INDEX + 1 + FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE + END + CLOSE c_NEWVALUES + DEALLOCATE c_NEWVALUES + --##### + FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO + END + CLOSE c_Values + DEALLOCATE c_Values + END \ No newline at end of file diff --git a/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql b/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql new file mode 100644 index 0000000..70ce3e2 --- /dev/null +++ b/08_ADDI/SQL/Hilfe/Split;wiederAufheben.sql @@ -0,0 +1,43 @@ +BEGIN + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @ACT_RECORD_ID INTEGER, + @VALUE VARCHAR(MAX), + @NEW_VALUE VARCHAR(MAX), + @INDEX INTEGER + + DECLARE c_Control_Values CURSOR FOR + select CONTROL_ID,RECORD_ID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) GROUP BY CONTROL_ID,RECORD_ID HAVING COUNT(GUID) > 1 ORDER BY RECORD_ID + OPEN c_Control_Values + FETCH NEXT FROM c_Control_Values INTO @CONTROL_ID, @RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT 'RECORD: ' + CONVERT(VARCHAR(10),@RECORD_ID) + SET @NEW_VALUE = '' + SET @INDEX = 0 + DECLARE c_ROWVALUES CURSOR FOR + SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @RECORD_ID + OPEN c_ROWVALUES + FETCH NEXT FROM c_ROWVALUES INTO @VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @INDEX = 0 + SET @NEW_VALUE = @VALUE + ELSE + SET @NEW_VALUE += ';' + @VALUE + SET @INDEX += 1 + FETCH NEXT FROM c_ROWVALUES INTO @VALUE + END + PRINT 'JETZT DAS UPDATE UND DELETE FÜR RECORD: ' + CONVERT(VARCHAR(10),@RECORD_ID) + PRINT '@NEW_VALUE: ' + CONVERT(VARCHAR(500),@NEW_VALUE) + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID + INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE) VALUES (@CONTROL_ID,@RECORD_ID,@NEW_VALUE) + CLOSE c_ROWVALUES + DEALLOCATE c_ROWVALUES + + FETCH NEXT FROM c_Control_Values INTO @CONTROL_ID, @RECORD_ID + END + CLOSE c_Control_Values + DEALLOCATE c_Control_Values + END \ No newline at end of file diff --git a/08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql b/08_ADDI/SQL/Kunden/Renolit/PRPMO_CLIENT_AFTER_RECORD_INSERT.sql new file mode 100644 index 0000000000000000000000000000000000000000..e2652bcbb0c24ff0eedd38504d2eaf5984818f36 GIT binary patch literal 8272 zcmds6T~Av_5S>?7>VLRWA8=BGxfcwfN~;(f8%wrvZ6Ix5tdAktyCMQkNH{_g##0*10^9FXaoYHFN*FZk-{1bHy4c z6>Wf-Kf0B>7_BX7Po(cq8jjYZ%qwU-T9Kj+eu+u0U&<*YNaWI?ckqi`)TJf6;L>A^ zG5h7c#FUjBsVshVO2p4G=JwsY1pH4S0Y__2H$%MZIQ>+~n8>%_q~|m`TFTwP$a)z` zli!K5_H>mhxk+6$-ou(_umH+%3>#5fh;b69JMK5Fs1MtrR#XPhaj=c9(}HSZ02wJ& znNOuoX zIWNH11?Eha{zH!$gX__IP+fqEb~S~hMZCSGrBdf@>L6fp&T)!SQfUa-9k`e-yWU2*>t%1P zk}THN$CU2i(WP5uIUh?Zdi?$em+Jr7ufs=>EO=Zw9$m>o?w~u(Mrzx;k&n`A2F^+)a=&Af20WGBeJe!0ZsWxopUBHGc;RV=k+_3z8=^HjWr)12)_O);BBxe8v+C$WrfuNaDnoK`*5t((sI5VvoB<#1mby3x#)ywT!0I&pu>b6nqUA$OkO zJ!?ANkufTKO%Lz-;39gyO_PW;ub#J z`22)5wYzS?V{eSN%P}5r*;ykgipm%x#S-$gbb|Vu=L_D3du&pvjy98 dateadd(m, -1, getdate()) order by modify_date desc \ No newline at end of file diff --git a/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql b/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql new file mode 100644 index 0000000..324f0b4 --- /dev/null +++ b/08_ADDI/SQL/SQL Skripte - Help/Template Import.sql @@ -0,0 +1,120 @@ +DECLARE @OLD_CONTROLID INTEGER, +@NEW_CONTROLID INTEGER, +@OLD_CONTROL_SCREEN_ID INTEGER, +@NEW_CONTROL_SCREEN_ID INTEGER + --delete from TBPMO_CONTROL_LANGUAGE where convert(date,added_when) = convert(date,GETDATE()) +--delete from tbpmo_Control_Screen where convert(date,added_when) = convert(date,GETDATE()) +--delete from tbpmo_Control where convert(date,added_when) = convert(date,GETDATE()) +DECLARE c_REDO CURSOR FOR + select guid FROM TBPMO_CONTROL_IMPORT WHERE FORM_ID = 1 + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @OLD_CONTROLID + WHILE @@FETCH_STATUS = 0 + BEGIN + +INSERT INTO [dbo].[TBPMO_CONTROL] + ([CONTROL_TYPE_ID] + ,[COL_NAME] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[DEFAULT_VALUE] + ,[FORM_ID] + ,[FORMAT_TYPE] + ,[NAME] + ,[SHOW_COLUMN] + ,[PARENT_CONTROL_ID] + ,[REQUIRED] + ,[SELECT_ONLY] + ,[STATIC_LIST] + ,[MASTER_DATA_ID] + ,[MULTILINE] + ,[READ_ONLY] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[TREE_VIEW] + ,[VALIDATION] + ,[VISIBLE] + ,[ADDED_WHO] + ,[AUTO_SUGGEST]) + + select [CONTROL_TYPE_ID] + ,COALESCE([COL_NAME],'') + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,COALESCE([DEFAULT_VALUE],'') + ,11 + ,[FORMAT_TYPE] + ,[NAME] + ,[SHOW_COLUMN] + ,[PARENT_CONTROL_ID] + ,[REQUIRED] + ,[SELECT_ONLY] + ,COALESCE([STATIC_LIST],'') + ,[MASTER_DATA_ID] + ,[MULTILINE] + ,[READ_ONLY] + ,COALESCE([SQL_COMMAND_1],'') + ,COALESCE([SQL_COMMAND_2],'') + ,[TREE_VIEW] + ,[VALIDATION] + ,[VISIBLE] + ,'DD TEMPLATE Import' + ,[AUTO_SUGGEST] + FROM TBPMO_CONTROL_IMPORT where GUID = @OLD_CONTROLID + SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL + + SELECT @OLD_CONTROL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN_IMPORT WHERE CONTROL_ID = @OLD_CONTROLID + Print '@OLD_CONTROL_SCREEN_ID: ' + convert(varchar(50),@OLD_CONTROL_SCREEN_ID) + --Now Insert of ControlScreen + INSERT INTO [dbo].[TBPMO_CONTROL_SCREEN] + ([CONTROL_ID] + ,[SCREEN_ID] + ,[CONTROL_TEXT] + ,[X_LOC] + ,[Y_LOC] + ,[HEIGHT] + ,[WIDTH] + ,[FONT_FAMILY] + ,[FONT_COLOR] + ,[FONT_SIZE] + ,[FONT_STYLE] + ,[BACK_COLOR] + ,[TAB_INDEX] + ,[TAB_STOP] + ,[ADDED_WHO]) + SELECT @NEW_CONTROLID + ,1 + ,COALESCE([CONTROL_TEXT],'') + ,[X_LOC] + ,[Y_LOC] + ,[HEIGHT] + ,[WIDTH] + ,[FONT_FAMILY] + ,[FONT_COLOR] + ,[FONT_SIZE] + ,[FONT_STYLE] + ,[BACK_COLOR] + ,[TAB_INDEX] + ,[TAB_STOP] + ,'DD TEMPLATE Import' + FROM TBPMO_CONTROL_SCREEN_IMPORT WHERE CONTROL_ID = @OLD_CONTROLID + + SELECT @NEW_CONTROL_SCREEN_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN + Print '@@NEW_CONTROL_SCREEN_ID: ' + convert(varchar(50),@NEW_CONTROL_SCREEN_ID) + INSERT INTO [dbo].[TBPMO_CONTROL_LANGUAGE] + ([LANGUAGE_TYPE] + ,[CONTROL_SCREEN_ID] + ,[CAPTION] + ,[HINT] + ,[ADDED_WHO]) + SELECT [LANGUAGE_TYPE] + ,@NEW_CONTROL_SCREEN_ID + ,COALESCE([CAPTION],'') + ,[HINT] + ,[ADDED_WHO] FROM TBPMO_CONTROL_LANGUAGE_IMPORT where CONTROL_SCREEN_ID = @OLD_CONTROL_SCREEN_ID + + + FETCH NEXT FROM c_REDO INTO @OLD_CONTROLID + END +CLOSE c_REDO +DEALLOCATE c_REDO \ No newline at end of file diff --git a/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql b/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql new file mode 100644 index 0000000..8ec9d03 --- /dev/null +++ b/08_ADDI/SQL/SQL Skripte - Help/UPDATE_DOC_VALUES.sql @@ -0,0 +1,67 @@ +DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ENT_ID INTEGER, + @Items INTEGER, + @Items1 INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.RECORD_ID, T.DOC_ID, T1.FORM_ID + ,(SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = T1.FORM_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) as [DD_Items] + ,(SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = T1.FORM_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) as [Values] FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RECORD_ID,@DOC_ID,@ENT_ID,@Items,@Items1 + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @CONFID INTEGER,@VALUE VARCHAR(100) + + IF @Items >= 1 + BEGIN + DECLARE cursorValues CURSOR LOCAL FOR + SELECT T.GUID,T1.VALUE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENT_ID AND T.TYPE_ID = 3 + OPEN cursorValues + FETCH NEXT FROM cursorValues INTO @CONFID,@VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @CONFID) + BEGIN + PRINT 'VALUES DROPDOWN' + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES + (@DOC_ID,@RECORD_ID,@CONFID,@VALUE,'PR_NEW') + END + + FETCH NEXT FROM cursorValues INTO @CONFID,@VALUE + END + CLOSE cursorValues + DEALLOCATE cursorValues + END + IF @Items1 >= 1 + BEGIN + DECLARE cursorValues1 CURSOR LOCAL FOR + SELECT T.GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENT_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1 + OPEN cursorValues1 + FETCH NEXT FROM cursorValues1 INTO @CONFID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @CONFID) + BEGIN + PRINT 'VALUES DEFAULT' + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES + (@DOC_ID,@RECORD_ID,@CONFID,'','PR_NEW') + END + + FETCH NEXT FROM cursorValues1 INTO @CONFID + END + CLOSE cursorValues1 + DEALLOCATE cursorValues1 + END + FETCH NEXT FROM c_REDO INTO @RECORD_ID,@DOC_ID,@ENT_ID,@Items,@Items1 + END +CLOSE c_REDO +DEALLOCATE c_REDO + + + + + + diff --git a/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql b/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql new file mode 100644 index 0000000..e07f035 --- /dev/null +++ b/08_ADDI/SQL/SQL Skripte - Help/User_Rights_Constructors.sql @@ -0,0 +1,18 @@ +DECLARE @ENTITY_ID INTEGER,@USER_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT T.USER_ID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T, VWPMO_CONSTRUCTOR_FORMS T1 WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.DOCUMENT_VIEW = 1 + + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID,@ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID) + INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID) + + FETCH NEXT FROM c_USER INTO @USER_ID,@ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + + diff --git a/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql b/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql new file mode 100644 index 0000000..ce2f7e9 --- /dev/null +++ b/08_ADDI/SQL/SQL Skripte - Help/Vorlagen (Cursor, Reseed etc).sql @@ -0,0 +1,49 @@ +DECLARE + @RECORD_ID INTEGER, + @DATE DAtetime, + @GUID INTEGER, + @CAPTION VARCHAR(500) + +DECLARE c_REDO CURSOR FOR + select GUID,NODE_CAPTION from VWPMO_STRUCTURE_NODES where ENTITY_ID = 8 and CREATE_RECORD = 1 + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@CAPTION + WHILE @@FETCH_STATUS = 0 + BEGIN + + FETCH NEXT FROM c_REDO INTO @GUID,@CAPTION + END +CLOSE c_REDO +DEALLOCATE c_REDO + +/*######################################## +---CHECKIDENT +##########################################*/ +DBCC CHECKIDENT ('TBPMO_CONTROL_SCREEN', RESEED, 1); + +select * +from sys.objects +where (type = 'TR' or type = 'P') + and modify_date > dateadd(m, -1, getdate()) order by modify_date desc +/*######################################## +---MASSEN INSERT +##########################################*/ +Declare @Id int +Set @Id = 1 + +While @Id <= 200000 +Begin + Insert Into TBGI_TEST_KREDITOR (KREDITOR_NAME,CITY) values ('Kreditor- ' + CAST(@Id as nvarchar(10)), + 'City - ' + CAST(@Id as nvarchar(10))) + --Print @Id + Set @Id = @Id + 1 +End +/*######################################## +---Text EXISTS IN PROCEDURE +##########################################*/ + +SELECT type, * +FROM sys.objects +WHERE OBJECT_DEFINITION(object_id) LIKE '%FROM TBIDB_TERM_LANGUAGE%' +--AND type IN ('V') +ORDER BY name diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql new file mode 100644 index 0000000..97d1f29 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/TBPMO_FORM_CONSTRUCTOR_DETAIL.sql @@ -0,0 +1,11 @@ +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD COLUMN_NAME1 VARCHAR(100) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD COLUMN_NAME2 VARCHAR(100) NOT NULL DEFAULT '' +GO + +UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET COLUMN_NAME1 = 'Format' where GUID = 2 +GO +UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET COLUMN_NAME1 = 'Sendetitel' where GUID = 3 +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql new file mode 100644 index 0000000..543b777 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.1/VWPMO_CONSTRUCTOR_FORMS.sql @@ -0,0 +1,24 @@ +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT + T2.CONSTRUCT_ID, + T2.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2 +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T1.SCREEN_ID = 1 AND + T.GUID = T1.FORM_ID + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql new file mode 100644 index 0000000..6ba3f18 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL.sql @@ -0,0 +1,8 @@ +ALTER TABLE TBPMO_CONTROL +ADD FORMAT_TYPE VARCHAR(50) +UPDATE TBPMO_CONTROL SET FORMAT_TYPE = 'String' +--Manuell in Tabelle den Default Wert ändern + +ALTER TABLE TBPMO_CONTROL +ADD SHOW_COLUMN BIT +UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1 \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql new file mode 100644 index 0000000..febbff5 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_CONTROL_IMAGE.sql @@ -0,0 +1,36 @@ +CREATE TABLE TBPMO_CONTROL_IMAGE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL, + IMG VARBINARY(max) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_IMAGE PRIMARY KEY (GUID), + CONSTRAINT UQ_CONTROLID_RECORDID UNIQUE (CONTROL_ID, RECORD_ID), + CONSTRAINT FK_TBPMO_CONTROL_IMAGE_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_IMAGE_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + +) +GO + +CREATE TRIGGER TBPMO_CONTROL_IMAGE_AFT_UPD ON TBPMO_CONTROL_IMAGE +FOR UPDATE +AS +BEGIN + DECLARE @RECORD_ID INTEGER, @CHANGED_WHO VARCHAR(50) + SELECT + @RECORD_ID = RECORD_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + UPDATE TBPMO_CONTROL_IMAGE + SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_CONTROL_IMAGE.GUID = INSERTED.GUID + + UPDATE TBPMO_RECORD SET + CHANGED_WHO = @CHANGED_WHO + WHERE TBPMO_RECORD.GUID = @RECORD_ID +END \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql new file mode 100644 index 0000000..e84c11e --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/TBPMO_WD_OBJECTTYPE.sql @@ -0,0 +1,19 @@ +CREATE TABLE TBPMO_WD_OBJECTTYPE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + OBJECT_TYPE VARCHAR(100) NOT NULL, + IDXNAME_ENTITYID VARCHAR(100) NOT NULL, + IDXNAME_PARENTID VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_OBJECTTYPE PRIMARY KEY (GUID), + CONSTRAINT UQ_OBJECTTYPE_TBPMO_WD_OBJECTTYPE UNIQUE (OBJECT_TYPE) +) +GO +CREATE TRIGGER TBPMO_WD_OBJECTTYPE_AFT_UPD ON TBPMO_WD_OBJECTTYPE +FOR UPDATE +AS + UPDATE TBPMO_WD_OBJECTTYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_OBJECTTYPE.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql new file mode 100644 index 0000000..edebed0 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.2/VWPMO_CONTROL_SCREEn.sql @@ -0,0 +1,72 @@ +USE [DD_ECM] +GO + +/****** Object: View [dbo].[VWPMO_CONTROL_SCREEN] Script Date: 30.03.2015 10:13:05 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP + + + + + + + + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql new file mode 100644 index 0000000..85deb2b --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_Diverses.sql @@ -0,0 +1,15 @@ +DBCC CHECKIDENT (TBPMO_CONTROL_TYPE, RESEED, 11) +INSERT INTO TBPMO_CONTROL_TYPE(TYPE_NAME) +VALUES + ('CheckedListBox') +GO +INSERT INTO TBPMO_CONTROL_TYPE(TYPE_NAME) +VALUES + ('ListBox') +GO + +ALTER TABLE TBPMO_RECORD_CONNECT +ADD CONSTRAINT UQ_RECORD_CONNECT UNIQUE (RECORD1_ID, RECORD2_ID) + +--In TBPMO_RECORD_AFT_INS die +--EXEC DBO.PRPMO_CREATE_RECORD_CONNECTIONS @FORM_ID,@RECORD_ID diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql new file mode 100644 index 0000000..1e52a8f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/1_TBPMO_RUN_PROCEDURES.sql @@ -0,0 +1,23 @@ +CREATE TABLE TBPMO_RUN_PROCEDURES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + FORM_ID INTEGER NOT NULL, + EXECUTE_COMMAND VARCHAR(500) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RUN_PROCEDURES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RUN_PROCEDURES_FORM_ID FOREIGN KEY (FORM_ID) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_RUN_PROCEDURES_AFT_UPD ON TBPMO_RUN_PROCEDURES +FOR UPDATE +AS + UPDATE TBPMO_RUN_PROCEDURES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RUN_PROCEDURES.GUID = INSERTED.GUID +GO +INSERT INTO TBPMO_RUN_PROCEDURES(FORM_ID,EXECUTE_COMMAND) +VALUES + (2,'EXEC PRPMO_AFTER_UPDATE_VALUES @FORM_ID,@RECORD_ID') +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/2_PRPMO_AFTER_UPDATE_VALUES.sql new file mode 100644 index 0000000000000000000000000000000000000000..575f505766ffc88a91c91898e4c4bda596716839 GIT binary patch literal 3818 zcmcIn+iu!G5S>?7>Oc4`kU|2aQ7>wx5HJ@BaLO%dq6oD~9@>YbYSZ6ud(I5Yu5Fy8 zQY*_~yt{Kb=gjQ#``1Edl1MBU(#5sHb4SK#5wu?9Xy^KW?(>C&E#>}V#6xteFgteZN zNO;L-xC%d9&lyMXo5(5RD0+?7Q6*3s@p5an`R*t}GmUzMOj1Ob!e0dM z#Lh38Dg2)*^nY{=irl!B9AjMWK1QT{#XMF|AJq0FtK4;r-B(g*0k28+~k1H@c*9v0ivdkMB z^nHeAhiqh3Onb!q9G?StaLQ+8EP?$LZ;cZ}#3J_Avbx&7hHQ|}g)&+}yj0axJ0`p2 zwbYSa7hSEYd3)rjHg>-;7+Gy}=W3ZA8$spoSTlwiYb4N8i`@mE44ftLz64^ zGAe6r^yt)DoYUOQd02~9AKU>9SyMtDcaL{Cb4PYIOh;PbtnECX=6@TPFEG0qScnuC zr!)4=tTNuAuCB1d{J<_PS#N(4hheATV(9NCmD%U;Tu0eJBoSAP03^3;zR<)sT z_F>MZLPy%gCzwG?#a?H7i|dcZpYPBQ?GvWUF+83jf*q9D?89DLJaO@q;OdGa+s+kP4%|sBtW0l-ePAbulD}eM z4+v{ItidwxEod!|KpFp`4)c4u&zF^yAElN#7UBr7dUp%R%x+|2QV>r{DG^j`Z!{Dk8p1AKmyppTUYj}S0 zy`HOS$4*A{W08ejpNdTM$zUDa3iu~V1``P~y z6;-UMotEpktv=at|HdCr^gPdp{zke7B#6$}1@+)Og&EehW6i)zTlWX&J7j`uAItj? RaTFtAH}tlBJdP#L#~%)z*`NRb literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql new file mode 100644 index 0000000..2f2bd5c --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/@Variablen ersetzen.sql @@ -0,0 +1,7 @@ +SELECT SQL_COMMAND_1 +FROM TBPMO_CONTROL +WHERE (SQL_COMMAND_1 LIKE '%@%') + +@RECORD_ID +@PARENTRECORD_ID +@FORM_ID \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql new file mode 100644 index 0000000..5d6690f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/CONTROL_DEFAULT.sql @@ -0,0 +1,8 @@ +UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1 WHERE CONTROL_TYPE_ID = 2 AND SHOW_COLUMN is null +UPDATE TBPMO_CONTROL SET SHOW_COLUMN = 1 WHERE SHOW_COLUMN is null + +ALTER TABLE TBPMO_CONTROL +ALTER COLUMN SHOW_COLUMN BIT NOT NULL + +ALTER TABLE TBPMO_CONTROL +ADD DEFAULT 1 FOR SHOW_COLUMN diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql new file mode 100644 index 0000000..08045d2 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/Columns.sql @@ -0,0 +1,2 @@ +ALTER TABLE TBPMO_WORKFLOW_TASK +ADD TASK_DATE DATE \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/PRPMO_CREATE_SQL.sql new file mode 100644 index 0000000000000000000000000000000000000000..9d943c0b4929f8072aa0b48ed3d8fe2156e5cad3 GIT binary patch literal 5298 zcmeI0U2hXt5QgX0mHHp{&Zd}PhayqbR@pe4G-_-IdrhejvS{FfUJz8#zu)$K&iLe< z{fJT23obyGz3bgGU+=s#XLkSnXJc!ttgx4MqR&?6Gn?Bh`_{g(Gh2q^L;EiK6uSC{ z{b_IQ%0Ajt$rjS_(XQ<;U3+7fI$rA@=YNN5Xn!M_Yw11E`K7J&olDPF)>g7vTCLx$ z^gOc*twN{ky^@A^_Cfj!`S)7Kx54Jbevqz-eXrj`9jEqKE4cbpXOHyz$e!p*?)k$I z4e{2xQ`$oI&SiCB8(F>3KVn-nVvnnzY0WZt2}mx{NN z>?TBgcU(qxBrHzl$x8USABF7W$-UrrsVK-D{>>Cq87vJXH~GyNqn@SQ2N!QlH#Za(wz_LF%N}9+|sM4myXQ0 zms2XK(rR)CM{BYBOzW^ZwxMcgX!pa_b~f+p&MST4H9Q`6@;#IWG#+L;u?uGNaOXIy z${bImT=upV#OZ7&O4d(5DG?EMp9=d;EToR;MiEu#K>P)bwN@>)md*j6H}V~eKj}Nw zm#RL|k+m;77|>aMw4e1m++megN1R<35gY{hHm{mC+RTel#oENLHs-mH?OJAiUyVl@ zxUsO27_rvT`_?E#+hzoO8LA@hNh1+Y^nGpb)rkvr(Qa&Q&)=(G({^?&-a16DD|JnLAA0MA&=yeZ|WeP-6qrfI*n(-_k?X=1~Fng?i9|lBljdeD?h*Sia|o5$e}8)8 zbL^^Z#<-@TaL7B%C@?GSOfzADWULBuzYz=I!Ai_p38|HI%yrK07td?;kb^LH(7UV9 zpXg9TPrqU%*S$a2Lf&~rZ)az8n?%WVI(=eHEyU7XneSlR%p$eKteEdN?iJOMIt+WR z`*nN&CKe>x?2GXf+O3P-is#Y}Dx=QS#T3Nk)X!wlK?}Wn99E`1-tTmo?re@3j<_|i zc6&wix}EEG&b}_gyElF@Mt#cQ=0m zX#V3(75jhE&YKvff)}Bq)ryO!7Hp=erTw(kKRcvV(Q-a3q`PTCxP3kzgsJG{2B~~T zNt&Xah){gyVYZm-6QBP4>9C33-F@?H#GNV5@cu>v513NoTO}s!eLjzbdj2+QEW~+- d=g;TKcPfjwO+NLlm6T{*2Mg^M9&mhvfhO literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql new file mode 100644 index 0000000..8baa7f5 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FILES_USER.sql @@ -0,0 +1,12 @@ +CREATE TABLE TBPMO_FILES_USER +( + GUID INT IDENTITY(1,1), + FILENAME2WORK VARCHAR(500) NOT NULL, + USER@WORK VARCHAR(50) NOT NULL, + HANDLE_TYPE VARCHAR(50) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, + CONSTRAINT PK_TBPMO_FILES_USER PRIMARY KEY(GUID) +) +GO +------------------------------------------------------------------------------ diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql new file mode 100644 index 0000000..1f6a3be --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FOLLUPEMAIL_RECORD.sql @@ -0,0 +1,23 @@ +CREATE TABLE TBPMO_FOLLUPEMAIL_RECORD +( + GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel + FOLLOW_UP_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + RECORD_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FOLLUPEMAIL_RECORD PRIMARY KEY (GUID), + CONSTRAINT UQ_USER_FOLLUP_ID UNIQUE ([USER_ID],FOLLOW_UP_ID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_FOLLOW_UP_ID FOREIGN KEY(FOLLOW_UP_ID) REFERENCES TBPMO_FOLLOW_UP_EMAIL(GUID), + CONSTRAINT FK_TBPMO_FOLLUPEMAIL_RECORD_RECORD_ID FOREIGN KEY(RECORD_ID) REFERENCES TBPMO_RECORD(GUID) +) +GO +CREATE TRIGGER TBPMO_FOLLUPEMAIL_RECORD_AFT_UPD ON TBPMO_FOLLUPEMAIL_RECORD +FOR UPDATE +AS + UPDATE TBPMO_FOLLUPEMAIL_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_FOLLUPEMAIL_RECORD.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS.sql new file mode 100644 index 0000000000000000000000000000000000000000..aa2975e110abba5b4865b8c1aa1856d12782c97e GIT binary patch literal 1212 zcmb_bK~BRk5S(j}_=9g0R8YBa1CgXIjVMi(x&nlv2*jNO{|9F5gwWRQp+Z(&$GbZ_ zJG=h=I>r%lRIo_lxEt;j3fys7o(x{_jyHUu#s$v~85Vdzi3Sty70(S3O3bnJu`7N# zZ)q?lh9h!;8NE_QIQ|#jw{B}>Gxd8{{c&wNMG{Uz&~Lr&8zPQ=b(2n;^PoE|b!Wzv zaRzhTGfuBotd{=9F@xS#pD{$~B})6sBUBjR#QV+gObkWnMRf04Y86DD@-9}Xx-2}y poMKbbUo+CjX_8}edCs^oa}RNeE5DD} TK.WORKFLOW_FINAL_STATE1 +ORDER BY T.GUID +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql new file mode 100644 index 0000000..57d8b42 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WF_OVERVIEW_AUTHORITY.sql @@ -0,0 +1,29 @@ +CREATE VIEW VWPMO_WF_OVERVIEW_AUTHORITY AS +SELECT + T.GUID as WF_ID, + T.RECORD_ID, + TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC AS STATE, + TBPMO_WORKFLOW_TASK_STATE.GUID AS STATE_ID, + TBPMO_WORKFLOW_TASK_STATE.COLOR, + (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) AS Authority, + CASE WHEN (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) IS NULL + THEN TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ELSE + TBPMO_WORKFLOW.TITLE + ' - ' + TBPMO_WORKFLOW_TASK_STATE.STATE_DESC + ' - ' + + (SELECT TBDD_USER.NAME + ', ' + TBDD_USER.PRENAME AS Expr1 + FROM TBPMO_WORKFLOW_TASK_USER INNER JOIN + TBDD_USER ON TBPMO_WORKFLOW_TASK_USER.USER_ID = TBDD_USER.GUID + WHERE (TBPMO_WORKFLOW_TASK_USER.WF_TASK_ID = T.GUID)) + END AS String, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM TBPMO_WORKFLOW_TASK T INNER JOIN + TBPMO_WORKFLOW ON T.WF_ID = TBPMO_WORKFLOW.GUID INNER JOIN + TBPMO_WORKFLOW_TASK_STATE ON T.STATE_ID = TBPMO_WORKFLOW_TASK_STATE.GUID +WHERE (T.ACTIVE = 1) \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.3/VWPMO_WORKFLOW_FORM.sql new file mode 100644 index 0000000000000000000000000000000000000000..eb3dca8cc50267516bd010f386c8389d5b6fe77f GIT binary patch literal 912 zcma))O;5r=6h-eA6aT}kiI%|LMJYv$&?;2BFoqB#(P*OaBmQ}#o;NViM5;|Qo%YRr zXWrNMS4Zv2<22KQUUaW#y~$~*PyWn$t4G!i)bO19jp1w zG-0_4zpak;wWkE{R57fS^Gltum;S5N8D6>O{O71nHPo1|63ftACg@_g#+l(aW+jju zE7FyYbpdanYp-zF!*j4!1kSvoYk8F^dQdWMnE2QhK9{XWII-IU*Y?0JiE=l$3%B6L z!biNy!Trjzj%%5olUYh^3Ge#sVsam#82B2Fs9AHZ(d*TTM${#v!p-Qr^#9$E`)*Iy zQ4E=YoK863%NDikH=2)vepn^{_OOZR?o@_;o1*7QCAp`5Y6CZ-ccIr#N5p8fXfuD- T;fyY9^?|yYkKkkT7H0MbU%7FL literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.4/PRPMO_COPY_ENTITY.sql new file mode 100644 index 0000000000000000000000000000000000000000..306694eaa823f7b801b5be309b74dda6038f7daf GIT binary patch literal 10676 zcmd5?T~A{-5cO*+^*`hdP@`%=>SL>f087+_Py!1SA*8nN?f-vhJI9mB%y?|yn|-LN z6-&529*<|veAqYt{Jlu)^q8*GLz@EF~eoKF*_w+q|2I4+# z2=zg@Eq#8aPuJ;=WUT1tm2jtNp8iTVH2Ofu4|;w@a#k60mcC8jq($20-&ZtqN$W52 zT9f>2k|s3&jz*qoZe7aEAn*6Hp@Cn^qV5Q_A(@c=CC^x<+x+`9ou^Oq?<`sTny_E! zXWg9P@jH^XEi{IG?r5ivw7W^V%=WQs=-yzrds?lnKg)uoE$Q@;K9hf}U9ag0d}!sD zbBRzs-(owC3CU7C4}9up zv!}cx)=?#i2gGC0p*?z&bJ>P4kHjFUDT1F;F1^i60K+ufL1wHjVsH742!ib&vfVkJ zw#}7J50O5pdO~fi7M|spLS8~1fv#J!@L0RaE|s-xvoq3BbK8#ovbxpy1HY?&mIE{5 z%W$^nF*B&)ek#n zwuxq{7rco4Aiu}>o$DL)fqdJA{Z3Z!IeS8XqaWN6%h4yY2C$sXZ{o!nWgb7j(_dZ-mG@V@int9sH;}yc#DaxTb;$% z&g`!lyNcdAweF&ak6lI&?W_ zDMc$=gJZp%<~Rnk5zUvmCmgmS7$`rNH1~7PNz6;cEb`|x#q2T7vk>3-cSE>Git=0f z49>pf8m&96&DRRfrwp9+%9D_sKw1|2PdPJ?` z2SOOkX!LwI1))Ek=l)1|{c(urC;G%a^{0ck%E+0Jl$$JL*e28T6CqU=ZWVkSa&7Px z9r}S452UT~9R7RAafsh~3nI3FBwycaQqac@)$CSJ*UMwlOR)9I&ezZ6Txa!0|HC;0 z+THJWujef}J+U0z^Wda#TD?oaJ^BS}*$EUbBZg*39VGK{;7qy{gS9{j- zR`hj5dBP{I$REB#kzP>m`52G<67TQquDpd9kCQO3^xydkRqN^yoq7j}xEwx3mNvBK zwaLCu7Teg}AKN1XFFx@-hDfq?Dk92i6%p;46|wEgH6B~`m$Hv`6^pXj`mI_P@v)*s zOs%d(RIF|hGaRRJPOs8MbiLk1T)pbmaJAZJaq&d!8Q;3O_uNOm!)>H?alTU3GkTma zv316ms5;*xs>XIj`HCKUDyeav%Urp*`;fOXDl_&}Jt?TAu+F$UGOq{LwCj5P?Fjd^ zbL#fWdoZqnxRK|#OXVy*dDuvnGu@aD6Kg}tOTJylyGK;bHAOLc_}Y4S--z*HB<_z_ zr1>pLlJ}3jojeozim*7Dw*4m>gNgjk5pSk8G=tx*l)LtC9}wwL0%tA0TRUdu9j*E+ z?eaK%aog}p+K!ut7`e>%qI?tiGHNxMg|%=uP`+EScDSS!mg(pHts{JkTZw1~&xW!q zj_j4UAaMkDE_^B~tB`OPkta86k=y(>ML8=g=@THVzIdmt%oV&oVTqoxtb=_fdRwM4 zN}sT#7CRYTAFb)ENXyYuijIkfI!`%T&XSQ*W6RGtN4Q(lR#*q_Am4$jEFq4FrZS>T z^)uwT;OlJVIkmBO(qYW`3%3TEfBk99XLf(LSB}Z4&$18pK)m$chm~@?HonWl`v4y~ z$ebnPt%P_+#|>L41(gQ(fmV0mG_J}Kji7SG#!We<(Nc~mZ*5j@qp$w1)-Olfn#N^7yeV_H0zQ&g07IO-&r78B-F$z!dxa`derDzv=~ z`9Iv-vrdse_48o=4xeR#vAr`P%NTbmWbC+eVIS*HhPsb&XTxE9O@9A;$TEjch>Yr= z5gBvbDN*FMzaL~d%xJ_XzJFMM7ogrBJ}a_3#1v$$sA}mqfn;61MdT-VpT5mCxAsO1 a7(R9J_X+TAHa^o}1@z_dEg0tTD*ploS;evd literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql new file mode 100644 index 0000000..9bc59f9 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/Columns.sql @@ -0,0 +1,9 @@ +ALTER TABLE TBPMO_FORM +ADD SINGLE_RECORD BIT NOT NULL DEFAULT 0 +ALTER TABLE TBPMO_KONFIGURATION +ADD FOLLOW_UP_LOG_ERR_ONLY BIT NOT NULL DEFAULT 1 + +ALTER TABLE TBPMO_KONFIGURATION +ADD FOLLOW_UP_EMAIL_PROFILE INTEGER NOT NULL DEFAULT 99 +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD NAME VARCHAR(100) NOT NULL DEFAULT 'DESCRIPTION FOLLOW UP' \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql new file mode 100644 index 0000000..8b753f7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.5/VWPMO_CONSTRUCTOR_FORMS.sql @@ -0,0 +1,44 @@ +USE [DD_ECM] +GO + +/****** Object: View [dbo].[VWPMO_CONSTRUCTOR_FORMS] Script Date: 28.08.2015 13:22:17 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + + + + +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T1.SCREEN_ID = 1 AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE + + + + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql new file mode 100644 index 0000000..84b9071 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/ALTER_COLUMNS.sql @@ -0,0 +1,2 @@ +ALTER TABLE TBPMO_CONTROL +ADD STATIC_LIST VARCHAR(2000) NOT NULL DEFAULT '' \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_SQL.sql new file mode 100644 index 0000000000000000000000000000000000000000..35410078e13759621cd4b8c8c2850b4dc28bcb6b GIT binary patch literal 8052 zcmeI1(Qg|?5XSd4Nc<1?W|yXE9B4oYP#nh%5s97JmjbFPtE7D>s+tOwe;@dMJD%+A z-8!)!T16c^HQ(ya-47EcAO6&ce&^W%wc-hiN=N4qr7s zm9G8~{tR!zW%wArmuw{+AH!AnOV?h9bDghrkKcdCYiNHhnJekt(eLvx({Uy}3(Ypu zoWoG-dm%l~!l_1~)AU|S!`tvd`YYM@O6NCm&b_cNUAy6lzV~z<=vSrhZ*=$T_&o^U z>Ppk{$8j~Rx7M9um}tHe%{mDen)OuwSlc99yN`aRG1F)zUOJI2V~wo!>#2^hR?(Fm zN+;{$9&4UzwPQ(M#5Hg3m3}yoC!R{rOx`mqD$R}^52DpWt%1m4-AJck-VggCN_QamrU%DF6ZgiW-5i|a%ZqlmD1#7VWp3pqO0jNk(F*UFn?jl);l zp{K0ug@^HK8z~QU=cNuZh79R-u+)W^EOI752$b7|{J~$n$UfG}ox9#==%0>_WCPt8su^1t(z{vwB}-{FY>`vfeJYCu_@``%BCuIv5Zz(~9V5 z$gZ3lb9@Y9U3wHAEm>wL8}SX6!l+Yatnp9#4i=|cVV%cBbLX)SSQ!yP^;kG4v%#>zxtSVkAf%NLc=NXJBfV)bKxDg8x$g63n}ygWZLd^ z)okM(Mo!Ub*9nvE#-}}w2))zJ;hoN2Tg*=M(|cFZ)^2t3Si2O}Bexh0C99L>+6r-LE`&U=Hxrs?io{Gh&h(po zhX1bPo`~L_PGuacv9BIpVtm&;U zb?r_!yAleCaPpgBvV@HNwQmfDi-kEO*!eTlJ;+Kiq~vBlXnv9MJta@UTe#U&C%y}Qc=nlwwbocBW($CfV$X4 zhjDP8tK`h>)_At|rP(vez2-Y%&%jM%PWHi5xfPy~`PJ22+|4yk^H}~;ASys z`@iJ-RXJvSNpIHdRSYlGTDaJ%?W!?@0s_kw*OBgQzkOeU?<=rymsrzq*TqSf9jJtN zp(20o{%A91Sg$j>ugLwZvv>S?m+|Q;vd@$l@vc_rlBKYG>do5wp8JZOzwv2yLhXv3 z?xp?yU3*Sp`z-JD%wpbgO_w{?o1UOB+Mjdqq>8;UlI*d0LwEC&9Hec&)K}0Q`zRx)O48sMs-^r f=Pk6o?MeGNI?=Qrm@6_}pYepDxi;Gy<#GNGxZuZ} literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/PRPMO_CREATE_TEMP_VIEWS.sql new file mode 100644 index 0000000000000000000000000000000000000000..64020cceca6148d82af9f135a680443292a7fa8d GIT binary patch literal 1864 zcmcgt+iuf96r5Kh@eli!6r!l8yjDt@I3=RFG&T(qLKc)rAeC|nh4S;znX}n=*SJW$ zpq1lf_uOXAoXziFL!6;Rjujl1{9ItfUt_%B_ndpL@D6YB39r%TcUdekqg6#aSq#m) zvdaBdD4MJ!XtGH=hfOI>Ix1ckvX5whj{SP-{i6A-!|U*7QB1XX>ZQmDOig z)pOz&jymI$mV7B^A$yy5U9Y0o%d?a+=WxkdO6D){oScuWdxf#+c5M1iC{AIui}{ka zDc8Lnq9&iAHxnWh&yKz)dnME{JRc4}@E#j{<>T&&=IbQBig*sDTucHNHHdWT+PP>-Ud}}Id%HC@>1{Njcmm1WA zlI#~eJ?3+`S87xHp%d!CU_Udp4!wVeCu>H`$+>1L%wAx;L+{6Yq<$$-(@~=PhZc`a zzfH^s`|2`cnlO&|n;MRSQMT;g6`xD%&?BDL{ompz&-?h!K5p1=^)l}IHQwN(^f6o literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_INS.sql new file mode 100644 index 0000000000000000000000000000000000000000..75b808922a4f3913f44399701a965d96169d08f6 GIT binary patch literal 2210 zcmb7FO>Y`85S=TP`X78FC{Q(2xm1djWicPp64GTM(5gbJdhaEN{`$7>&8)G#N@&n( zzwGgRy!Sl*`=^jf8u3z#!@HKH%yHTOPx&FgFVstkcZG`?(B9&?HVQ`@9j7(tC$OCBtmS{u z(Vk4zcLi^?dZ%p<*L_mK5>^~z1DZUqK+W^Ulvhtv++`mCxIU|gJ zqrT27%%LyQ)}CXbCb^QmYKV7K5U~nf!0-?KJe~oMKsB5jhH!zJJSwp+nfC-%e7Pt3 zTj_4u0W**D#m)uGFFg}tZ{hA|ChW%Sl&+1-eC;f7*oiZETYxcY$@W6`g#3*0KJIJW z#{5pL8>qh9??1KOp5C~_YoNe*)C2qF7T+H02Ffix((?%SSBx(;k4xf_GoCJKyh^JJ rQ4H%eQd;pyyW0k67SN@a5SyzEv$xe9&$%=ccFySAs;1|_TIA;+C-4oZ literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/TBPMO_FORM_AFT_UPD.sql new file mode 100644 index 0000000000000000000000000000000000000000..28cc550cd7ff647e0bbb00ce12467a6326daa799 GIT binary patch literal 2176 zcmcIlO>5gg6ns||`XBaIwV03uatuVV*Resi5?f9jN)eRad+8y+zU|C=+U~9-oa9i1 zt&e@5GxK);{H~;yR=n)Q;l7i#+~ErEw{kBVX{3`S{&#rpq{4HH`vGeUcr~)c{}1^t zKjjQ7W1o-mq4#&aSEV`my^_7~ULf-laV)B>J1LXAtvn;6N9Hy1eul0270BpO^BQ%8 zF9j^T%+Xtgs(oTxAk$3}m9hAZ-o(LrpCyrU`%uN$C+6NGPObS{jpLA?_PmCa%mKIdz61qI-^oplfi-*ns?lmFK79QK zn>`R}fK%769$>#!9AczBB2CphL~kaSi1-QmBmSJd4o{pMPWu8YT>T|4_?@;nwR(Z- zqA~*q!wJ1XR_cKL8sGU$jw9rX8~ali8{l~a7Gc7um;a;0aeb`+eJblSY87OZ;PC*`EYJEOKh^;UV>s-BN;)?dys zV_j&((;9SgrB?QTsj8*tIj$M*rmrCb#4z3Os62L0ea92)9(adS&ak)Bhg>`WA2-^w z^E~f~$P;FxQ}zfvJ*GIEel`_p#XL25*|%`oS?>IlOn0rYXHpLyJaI=_fvqjL^gyHQ ncUY>+P99n4t literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql new file mode 100644 index 0000000..7ad9162 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.6/VWPMO_CONTROL_SCREEN.sql @@ -0,0 +1,71 @@ +USE [DD_ECM] +GO + +/****** Object: View [dbo].[VWPMO_CONTROL_SCREEN] Script Date: 03.02.2015 10:27:53 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP + + + + + + + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql new file mode 100644 index 0000000..69526f8 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Columns.sql @@ -0,0 +1,15 @@ +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD LOAD_DIRECT BIT NOT NULL DEFAULT 0 + +ALTER TABLE TBDD_MODULES +ADD BACKGROUND_IMAGE VARBINARY(MAX) +GO +ALTER TABLE TBDD_MODULES +ADD PRODUCT_NAME1 VARCHAR(200) NOT NULL DEFAULT 'RECORD-ORGANIZER' +GO +ALTER TABLE TBDD_MODULES +ADD PRODUCT_NAME2 VARCHAR(200) +GO +ALTER TABLE TBDD_INDEX_AUTOM +ADD [ENTITY_ID] INTEGER NOT NULL DEFAULT 0 +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql new file mode 100644 index 0000000..147ff8f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/Update_2015_05_25.sql @@ -0,0 +1,3 @@ +INSERT INTO TBPMO_FORM_TYPE(FORM_TYPE) +VALUES + ('GROUP ENTITY') \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql new file mode 100644 index 0000000..c310004 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.7/VWPMO_TEMPLATE_ENTITY.sql @@ -0,0 +1,16 @@ +CREATE VIEW VWPMO_TEMPLATE_ENTITY AS +SELECT + T.GUID AS TEMPLATE_ID, + T.NAME AS TEMPLATE_NAME, + T.TEMPLATE_PATH AS TEMPLATE_PATH, + T1.GUID AS TEMPLATE_ENTITY_ID, + T2.GUID AS ENTITY_ID, + T2.NAME +FROM + TBPMO_TEMPLATE T, + TBPMO_TEMPLATE_ENTITY T1, + TBPMO_FORM T2 +WHERE + T.ACTIVE = 1 AND + T.GUID = T1.TEMPLATE_ID AND + T1.ENTITY_ID = T2.GUID \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql new file mode 100644 index 0000000..a059572 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/39-TBPMO_TEMPLATE.sql @@ -0,0 +1,21 @@ +CREATE TABLE TBPMO_TEMPLATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL UNIQUE, + TEMPLATE_PATH VARCHAR(1000) NOT NULL, + DOCTYPE_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_AFT_UPD ON TBPMO_TEMPLATE +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE.GUID = INSERTED.GUID +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql new file mode 100644 index 0000000..ca0e727 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/40-TBPMO_TEMPLATE_ENTITY.sql @@ -0,0 +1,19 @@ +CREATE TABLE TBPMO_TEMPLATE_ENTITY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + TEMPLATE_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_ENTITY_ENTITY_ID FOREIGN KEY(ENTITY_ID) REFERENCES TBPMO_FORM(GUID) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_ENTITY_AFT_UPD ON TBPMO_TEMPLATE_ENTITY +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_ENTITY.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql new file mode 100644 index 0000000..17eaf76 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/41-TBPMO_TEMPLATE_PATTERN.sql @@ -0,0 +1,23 @@ +CREATE TABLE TBPMO_TEMPLATE_PATTERN +( + GUID INTEGER NOT NULL IDENTITY(1,1), + TEMPLATE_ID INTEGER NOT NULL, + NAME_PATTERN VARCHAR(100) NOT NULL, + FIXED_VALUE VARCHAR(100), + CONNECTION_ID INTEGER, + SQL_COMMAND VARCHAR(2000), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_TEMPLATE_PATTERN PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_TEMPLATE_PATTERN_TEMPLATE_ID FOREIGN KEY(TEMPLATE_ID) REFERENCES TBPMO_TEMPLATE(GUID), + CONSTRAINT UQ_TBPMO_TEMPLATE_PATTERN UNIQUE (TEMPLATE_ID, NAME_PATTERN) +) +GO + +CREATE TRIGGER TBPMO_TEMPLATE_PATTERN_AFT_UPD ON TBPMO_TEMPLATE_PATTERN +FOR UPDATE +AS + UPDATE TBPMO_TEMPLATE_PATTERN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_TEMPLATE_PATTERN.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql new file mode 100644 index 0000000..74cb340 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/Columns.sql @@ -0,0 +1,5 @@ +ALTER TABLE TBPMO_CONTROL_VALUE +ALTER COLUMN VALUE NVARCHAR(MAX) NOT NULL + +ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES +ADD NAME_CONVENTION VARCHAR(100) NOT NULL DEFAULT '' \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql new file mode 100644 index 0000000..74ae1a6 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/DROP_TEMPLATE_STRUCTURE.sql @@ -0,0 +1,3 @@ +DROP TABLE TBPMO_TEMPLATE_ENTITY_PATTERN +DROP TABLE TBPMO_TEMPLATE_ENTITY +DROP TABLE TBPMO_TEMPLATE \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql new file mode 100644 index 0000000..298af26 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.8/PRPMO_CREATE_TEMP_VIEWS.sql @@ -0,0 +1,36 @@ +ALTER PROCEDURE [dbo].[PRPMO_CREATE_TEMP_VIEWS] +AS +BEGIN + DECLARE + @FORM_ID INTEGER, + @SQL_COMMAND nvarchar(MAX), + @VIEW_NAME nvarchar(30), + @DEL_SQL NVARCHAR(100), + @CREATE_VIEW NVARCHAR(MAX) + DECLARE c_TASK CURSOR FOR + SELECT FORM_ID,SQL_COMMAND + FROM TBPMO_FORM_SQL where SQL_COMMAND is not null + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @VIEW_NAME = 'VWTEMP_PMO_FORM' + CONVERT(VARCHAR(3),@FORM_ID) + IF EXISTS(select * FROM sys.views where name = @VIEW_NAME) + BEGIN + SET @DEL_SQL = 'DROP VIEW dbo.' + QUOTENAME(@VIEW_NAME) + '' + EXEC sp_executesql @DEL_SQL + END + SELECT @SQL_COMMAND = SQL_COMMAND FROM TBPMO_FORM_SQL where FORM_ID = @FORM_ID + SET @CREATE_VIEW = 'CREATE VIEW ' + @VIEW_NAME + ' AS ' + @SQL_COMMAND + + EXEC sp_executesql @CREATE_VIEW + + FETCH NEXT FROM c_TASK INTO @FORM_ID,@SQL_COMMAND + END + CLOSE c_TASK + DEALLOCATE c_TASK + END + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql new file mode 100644 index 0000000..e3a2fa2 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/19-TBPMO_FORM_CONSTR_QUICK_DISPLAY.sql @@ -0,0 +1,102 @@ +CREATE TABLE TBPMO_FORM_CONSTR_QUICK_DISPLAY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONSTRUCT_ID INTEGER NOT NULL, + CONTROL_ID INTEGER NOT NULL, + HEADLINE BIT NOT NULL DEFAULT 0, + PICTURE BIT NOT NULL DEFAULT 0, + SEQUENCE INTEGER NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'Digital Data', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FORM_CONSTR_QUICK_DISPLAY PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONSTRUCTID_CONTROL_ID UNIQUE(CONSTRUCT_ID,CONTROL_ID), + CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONSTRUCT_ID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), + CONSTRAINT FK_TBPMO_FORM_CONSTR_QUICK_DISPLAY_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO + +CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTR_QUICK_DISPLAY] +FOR UPDATE +AS + DECLARE + @GUID INTEGER, + @CONSTRUCT_ID INTEGER, + @HEADLINE BIT + SELECT + @GUID = GUID, + @CONSTRUCT_ID = CONSTRUCT_ID, + @HEADLINE = HEADLINE + FROM INSERTED + + IF @HEADLINE = 1 + BEGIN + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 0 WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PICTURE = 0 AND GUID <> @GUID + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + END + + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID +GO +--Insert trigger +CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_INS ON TBPMO_FORM_CONSTR_QUICK_DISPLAY +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @CONSTRUCT_ID INTEGER, + @SEQUENCE INTEGER, + @COUNT INT + + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID + FROM INSERTED + + SELECT + @SEQUENCE = MAX(SEQUENCE), + @COUNT = COUNT(*) + FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE HEADLINE = 0 AND PICTURE = 0 AND CONSTRUCT_ID = @CONSTRUCT_ID + + IF @COUNT = 1 + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET HEADLINE = 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID + + IF @COUNT > 1 + UPDATE TBPMO_FORM_CONSTR_QUICK_DISPLAY SET SEQUENCE = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_FORM_CONSTR_QUICK_DISPLAY.GUID = INSERTED.GUID + + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER TBPMO_FORM_CONSTR_QUICK_DISPLAY_AFT_DEL ON TBPMO_FORM_CONSTR_QUICK_DISPLAY +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @CONSTRUCT_ID INTEGER, + @COUNT INT + + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID + FROM deleted + SELECT + @COUNT = COUNT(*) + FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID = @CONSTRUCT_ID + + IF @COUNT >= 2 + EXEC dbo.PRPMO_CREATE_QUICK_SQL @CONSTRUCT_ID + ELSE + UPDATE TBPMO_FORM_CONSTRUCTOR_DETAIL SET SQL_QUICK_VIEW = '' WHERE GUID = @CONSTRUCT_ID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql new file mode 100644 index 0000000..31c3db5 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/22-1-TBPMO_CONTROL_HINT.sql @@ -0,0 +1,21 @@ +CREATE TABLE TBPMO_CONTROL_HINT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + HINT_COMMENT VARCHAR(500) NOT NULL, + LANGUAGE_CODE VARCHAR(10) NOT NULL DEFAULT 'de-DE', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_HINT PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONTROL_ID_LANGUAGE_CODE_CONTROL_ID UNIQUE(CONTROL_ID,LANGUAGE_CODE), + CONSTRAINT FK_TBPMO_CONTROL_HINT_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO + +CREATE TRIGGER TBPMO_CONTROL_HINT_AFT_UPD ON TBPMO_CONTROL_HINT +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_HINT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_HINT.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql new file mode 100644 index 0000000..7ac8b85 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/Columns.sql @@ -0,0 +1,2 @@ +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD SQL_QUICK_VIEW NVARCHAR(MAX) DEFAULT '' NOT NULL \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/PRPMO_CREATE_QUICK_SQL.sql new file mode 100644 index 0000000000000000000000000000000000000000..4d3640efc7055c6ba0b6b38310011053b51b72bb GIT binary patch literal 10554 zcmeHN+ioI95bakY6aRQ`H6k{C(qAZsMBmy&L1T#{I}$xjXlz`@&tig?zqpUj?rwMt^m` zyAST(eRSVrZ4-NZbdT;&j6Jw(d_LkC@Bfl9?*4!^kJz`1`)jwvb%lM_ptc0ffh+L7 zc0airH^tZ++^_I$h85gjY20JC-`pRd)da7<;PZpf@3|iK)%P=Zio0(xqvyWH)6>oS zcNht!cqNii_5x1^ZVq}=P@RK=8D1-lF7PeXgUu$F3*nd=n}U}KW)`@+z%_wH<+TIs zNg4T!@-HCe1S@Yu{-(EEV64HkFG6vU_o-y!F*7r*Lq<&*oCe1UfG3}}^Hr&sM6vj9awGdR|_W`ss z6T5T#2VAGPh&ki!ylXtCP7M$8vqEWZWWL2X=hvfvr{`^^+$g81th8y!Wmhcb^}YtT z>hmEFsRdIF(TnK)^rhie?_KdLT8CIbWaK)JDY}c{Zw_@-l2(m>n&-U-ZRRfKs|R-? zzI!L$TSZ0j$tYBLC9O^!QocH$RL^K8zS7-9n8kf)8H=#k8s5j%QtAQmXlvu4Cy+Ca z+-e;fwuJInHr5F7YeUV{tz)d@WBCmbSVLY1l(Q$8Myb@_7-94( z=3~a-Vv8l|6LPF*L8Q^lHV5r^t;To$Id|}$;<2!wwP0+IDlPa~Qf>M+1_P3+EFkycksWE8TpFuSU)iSntWMDBDasw<MQRgpe6 zd0ONNnl)k{@#Rle>Xkg{`+cf0hV{Lj=i7+VxB?mhJ2+yf!HVMsSjbb{60;fEOTm~n zvX#Fta0>29#LuK&Jwg;SjujtTGLv;|OVFYa-{;;vTs%7|O-iT{wJX~3EUpxZcI;=EW01(5k0)t>U_p~1lKf5rw1aaK2eVeD>tig>^x0d+8Cw3 zl1#(%+FIr7$zfWnh2Cp;Z!4IMShrT8=kzGnLf>p z`FvYEop~{(YT0Ign>RMm;khs`@FQjYc#h&&PhYa3Q{(i&?Aj!pWF_+Mt~qcXLIua5i){Bw2*6gSvsBxlMU|E0CSsh+)px?TlmTbF^qg|l1C zmF#o#pJ$(5t@M2Lz?#|q3l-N8@h?wd=g+Xwx~E>_x;uN6<1I%8P9FA8zH2(q(sqz^B literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql new file mode 100644 index 0000000..da210e7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_CONSTR_VIEW_TYPE.sql @@ -0,0 +1,25 @@ +CREATE TABLE TBPMO_USER_CONSTR_VIEW_TYPE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, + [ENTITY_ID] INTEGER NOT NULL, + VIEW_ID INTEGER NOT NULL DEFAULT 1, --1=TileView,2=Carousel,3=GridView + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_CONSTR_VIEW_TYPE PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_CONSTRUCTOR_ID_VIEW_ID UNIQUE(CONSTRUCTOR_DETAIL_ID,VIEW_ID,[USER_ID]), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_CONSTRUCTOR_ID FOREIGN KEY (CONSTRUCTOR_DETAIL_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL (GUID), + CONSTRAINT FK_TBPMO_USER_CONSTR_VIEW_TYPE_ENTITY_ID FOREIGN KEY ([ENTITY_ID]) REFERENCES TBPMO_FORM (GUID), +) +GO + +CREATE TRIGGER TBPMO_USER_CONSTR_VIEW_TYPE_AFT_UPD ON TBPMO_USER_CONSTR_VIEW_TYPE +FOR UPDATE +AS + UPDATE TBPMO_USER_CONSTR_VIEW_TYPE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_CONSTR_VIEW_TYPE.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql new file mode 100644 index 0000000..1a4ab0f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.sql @@ -0,0 +1,32 @@ +CREATE TABLE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + CONSTRUCTOR_DETAIL_ID INTEGER NOT NULL, + COLUMN1 VARCHAR(50) NOT NULL, + COLUMN1_WIDTH INTEGER NOT NULL, + COLUMN2 VARCHAR(50) NOT NULL, + COLUMN2_WIDTH INTEGER NOT NULL, + COLUMN3 VARCHAR(50) NOT NULL, + COLUMN3_WIDTH INTEGER NOT NULL, + COLUMN4 VARCHAR(50), + COLUMN4_WIDTH INTEGER, + COLUMN5 VARCHAR(50), + COLUMN5_WIDTH INTEGER, + COLUMN6 VARCHAR(50), + COLUMN6_WIDTH INTEGER, + COLUMN7 VARCHAR(50), + COLUMN7_WIDTH INTEGER, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_WINDREAM_RESULTLIST_CONFIG PRIMARY KEY (GUID), +) +GO + +CREATE TRIGGER TBPMO_USER_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_USER_WINDREAM_RESULTLIST_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql new file mode 100644 index 0000000..c740005 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/1.9/TBPMO_WINDREAM_RESULTLIST_CONFIG.sql @@ -0,0 +1,33 @@ +DROP TABLE TBPMO_WINDREAM_RESULTLIST_CONFIG + +CREATE TABLE TBPMO_WINDREAM_RESULTLIST_CONFIG +( + GUID TINYINT, + COLUMN1 VARCHAR(50) NOT NULL, + COLUMN1_WIDTH INTEGER NOT NULL, + COLUMN2 VARCHAR(50) NOT NULL, + COLUMN2_WIDTH INTEGER NOT NULL, + COLUMN3 VARCHAR(50) NOT NULL, + COLUMN3_WIDTH INTEGER NOT NULL, + COLUMN4 VARCHAR(50), + COLUMN4_WIDTH INTEGER, + COLUMN5 VARCHAR(50), + COLUMN5_WIDTH INTEGER, + COLUMN6 VARCHAR(50), + COLUMN6_WIDTH INTEGER, + COLUMN7 VARCHAR(50), + COLUMN7_WIDTH INTEGER, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WINDREAM_RESULTLIST_CONFIG_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBPMO_WINDREAM_RESULTLIST_CONFIG_GUID CHECK(GUID = 1), +) +GO + +CREATE TRIGGER TBPMO_WINDREAM_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_WINDREAM_RESULTLIST_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_WINDREAM_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WINDREAM_RESULTLIST_CONFIG.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql new file mode 100644 index 0000000..56228d8 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/columns.sql @@ -0,0 +1,2 @@ +ALTER TABLE TBPMO_FORM +ADD POS_ENTITY INTEGER DEFAULT '0' NOT NULL \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql new file mode 100644 index 0000000..79662ba --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.0/procedure_TempViews.sql @@ -0,0 +1,22 @@ +UPDATE TBPMO_KONFIGURATION SET SQL_RECORD_SQL1 = 'SELECT T.GUID AS [Record-ID],T.FORM_ID AS [Form-ID],' where GUID = 1 + +DECLARE @FORM_ID INT + +DECLARE c_FORM CURSOR FOR SELECT GUID FROM TBPMO_FORM +OPEN c_FORM + FETCH NEXT FROM c_FORM INTO @FORM_ID + + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_CREATE_SQL @FORM_ID + + FETCH NEXT FROM c_FORM INTO @FORM_ID + END + + CLOSE c_FORM + DEALLOCATE c_FORM + + +GO + +EXEC [dbo].[PRPMO_CREATE_TEMP_VIEWS] \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql new file mode 100644 index 0000000..3645559 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/DROP UQ_USER_FOLLUP_ID.sql @@ -0,0 +1,8 @@ +USE [DD_ECM] +GO + +/****** Object: Index [UQ_USER_FOLLUP_ID] Script Date: 07.12.2015 11:47:08 ******/ +ALTER TABLE [dbo].[TBPMO_FOLLUPEMAIL_RECORD] DROP CONSTRAINT [UQ_USER_FOLLUP_ID] +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql new file mode 100644 index 0000000..d55c083 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.1/Trigger.sql @@ -0,0 +1,31 @@ +--Insert trigger +CREATE TRIGGER [dbo].[TBPMO_CONTROL_SCREEN_AFT_INS] ON [dbo].[TBPMO_CONTROL_SCREEN] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @GUID INTEGER, + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @SEQUENCE INTEGER + SELECT + @GUID = GUID, + @CONTROL_ID = CONTROL_ID + FROM INSERTED + + SELECT + @ENTITY_ID = FORM_ID + FROM TBPMO_CONTROL WHERE [GUID] = @CONTROL_ID + + SELECT @SEQUENCE = MAX(TAB_INDEX) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @ENTITY_ID) + + UPDATE TBPMO_CONTROL_SCREEN SET TAB_INDEX = @SEQUENCE + 1 FROM INSERTED WHERE TBPMO_CONTROL_SCREEN.GUID = INSERTED.GUID + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql new file mode 100644 index 0000000..1079a00 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/2-TBPMO_FOLDERWATCH_USER.sql @@ -0,0 +1,21 @@ +CREATE TABLE TBPMO_FOLDERWATCH_USER +( + GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel + [USER_ID] INT NOT NULL, + FOLDER_PATH VARCHAR(800) NOT NULL, + FOLDER_TYPE VARCHAR(20) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FOLDERWATCH_USER PRIMARY KEY (GUID), + CONSTRAINT UQ_TBPMO_FOLDERWATCH_USER UNIQUE([USER_ID],FOLDER_PATH), + CONSTRAINT FK_TBPMO_FOLDERWATCH_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER TBPMO_FOLDERWATCH_USER_AFT_UPD ON TBPMO_FOLDERWATCH_USER +FOR UPDATE +AS + UPDATE TBPMO_FOLDERWATCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_FOLDERWATCH_USER.GUID = INSERTED.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/TBPMO_CONTROL_SCREEN_AFT_INS.sql new file mode 100644 index 0000000000000000000000000000000000000000..bef6ccf882b434e2f56a380bce66c6e8dbc19a31 GIT binary patch literal 1834 zcmbVMVQU&e6r8UH`XBaNl*W({`lV3N=$Z%`)ALMBMTF82`lW@mzrV@MzT4dGokwk1 z?(}xwzIiimc3=MV(Z>`&@C%Q4#&0-2&-jif4$Zv75r&u{heyWMobM^FIP80aZ}^Iz z*y0o$u3q96b1bmKi0_*azu^8ImYm7B%X4p zX7O0_8DYh5&+j2I9KXe6#+fX{Plzc_R)c2qg6}f?UNZ73tQzl!Fx$a6hBfhP!G+rI9^{BE!FNvFLp)4R1p27IaFgzNdCtZ`M>*xv7JpSwH86HgQLZ)b37) zd-_HWP(L?sEagkF9#Fm1&FWWMrGubmRd>rWr(@RWQsE)biFsdMTBApdL+VUVQCjuB z3Qb){%xZtjE*^%O;?z|(eVRS#RrFc$Rv44DoyPV))cL9EoZ2)Mi+!m(+~Gar&l5f6 zcg5*^%V8;>L#sJ`bA@5ovzF`87t%y%x-;$WsNN{LjdJ=*_mzfu{+6+JJ{^wf3D0%A zv0^XN8~7u49`g}vbHH7}w2M0;WC20HU0mRdPCE(fI(->ED7*z@q|1u`J>z=8kIJab zeLi0}KMi&K3*Px2yjfruQH*mHsmi#|`@yqwOY+bS8nLy@G&_v<2iDPKp5`{z${f2^ H_D8d?NmAx@ literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql new file mode 100644 index 0000000..c2b9611 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL.sql @@ -0,0 +1,54 @@ +ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS +SELECT + T1.GUID FOLLOW_UP_ID, + T1.NAME, + T1.FOLLOW_UP_SEQUENCE, + T1.FOLLOW_UP_DAYS, + T1.FOLLOW_UP_TIME_SPAN, + CONVERT(CHAR(5),GETDATE(),108) NOW_TIME, + T.RECORD_ID, + CONVERT(DATE,T.VALUE) VALUE, + T1.EMAIL_SUBJECT, + T1.EMAIL_BODY, + T1.PROCESS_SELECT1, + T1.PROCESS_SELECT2, + T1.PROCESS_SELECT3, + T1.PROCESS_SELECT4, + T1.PROCESS_SELECT5, + T1.PROCESS_SELECT6, + T1.PROCESS_SELECT7, + T1.PROCESS_SELECT8, + T1.PROCESS_SELECT9, + T1.PROCESS_SELECT10, + T1.TIME_UNITY, + T1.TIME_DIST, + CASE T1.TIME_UNITY + WHEN 'Month' THEN + DATEDIFF(month, getdate(),convert(Date,T.value)) + WHEN 'Week' THEN + DATEDIFF(week, getdate(),convert(Date,T.value)) + END TIME_SPAN, + T1.DEPENDENT_DATE_CTRL_ID, + T1.DEPENDENT_DONE_CTRL_ID, + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE, + T2.GUID AS CONSTRUCTOR_ID, + T2.FORM_TITLE AS CONSTRUCTOR_TITLE +FROM + VWPMO_VALUES T, + TBPMO_FOLLOW_UP_EMAIL T1, + TBPMO_FORM_CONSTRUCTOR T2 +WHERE + T1.ACTIVE = 1 AND + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And + T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND + T1.CONSTRUCTOR_ID = T2.GUID AND + T1.TIME_SPAN = + CASE T1.TIME_UNITY + WHEN 'Month' THEN + DATEDIFF(month, getdate(),convert(Date,T.value)) + WHEN 'Week' THEN + DATEDIFF(week, getdate(),convert(Date,T.value)) + END +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql new file mode 100644 index 0000000..922d0ab --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD.sql @@ -0,0 +1,27 @@ +ALTER VIEW VWPMO_FOLLOW_UP_EMAIL_ENTITY_RECORD AS +SELECT + T.GUID FOLLOW_UP_ID, + T1.RECORD_ID, + T2.GUID AS ENTITY_ID, + T.NAME, + T.FOLLOW_UP_SEQUENCE, + T.FOLLOW_UP_DAYS, + T.FOLLOW_UP_TIME_SPAN, + CONVERT(DATE,T1.VALUE) RECORD_VALUE, + T.EMAIL_SUBJECT, + T.EMAIL_BODY, + T.DEPENDENT_DATE_CTRL_ID, + T.DEPENDENT_DONE_CTRL_ID, + T3.GUID AS CONSTRUCTOR_ID, + T3.FORM_TITLE AS CONSTRUCTOR_TITLE +FROM + TBPMO_FOLLOW_UP_EMAIL T, + VWPMO_VALUES T1, + TBPMO_FORM T2, + TBPMO_FORM_CONSTRUCTOR T3 +WHERE + T.ACTIVE = 1 AND + T.DEPENDENT_DATE_CTRL_ID = T1.CONTROL_ID AND + T1.FORM_ID = T2.GUID AND + T.CONSTRUCTOR_ID = T3.GUID + \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql new file mode 100644 index 0000000..3dc969e --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.2/colums.sql @@ -0,0 +1,10 @@ + +ALTER TABLE TBPMO_FILES_USER +ADD FILENAME_ONLY VARCHAR(100) DEFAULT '' NOT NULL +GO +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD CONSTRUCTOR_ID INTEGER DEFAULT '1' NOT NULL +GO +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD CONSTRAINT FK_TBPMO_FOLLOW_UP_EMAIL_CONSTR_ID FOREIGN KEY (CONSTRUCTOR_ID) + REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql new file mode 100644 index 0000000..dd81f52 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/IDX.sql @@ -0,0 +1,4 @@ +CREATE NONCLUSTERED INDEX [IDXTBPMO_CONTROL_VALUE_RECID_VALUE] +ON [dbo].[TBPMO_CONTROL_VALUE] ([CONTROL_ID]) +INCLUDE ([RECORD_ID],[VALUE]) +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql new file mode 100644 index 0000000..f36129f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/PRDD_COPY_RECORD.sql @@ -0,0 +1,27 @@ +CREATE PROCEDURE [dbo].[PRDD_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50)) --,@pMODULE_ID INT) +AS +DECLARE @NEW_RECORD_ID INT + +BEGIN TRY + INSERT INTO TBPMO_RECORD ( + FORM_ID,ADDED_WHO) + SELECT FORM_ID,@WHO FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD + + INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT + RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID + + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + + INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql new file mode 100644 index 0000000..e13267d --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.2/Update Skript.sql @@ -0,0 +1,69 @@ +ALTER TABLE TBPMO_RECORD +ADD RECORD_ENTITY_ID INTEGER NOT NULL DEFAULT 0 +GO + +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + SELECT + @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID + + UPDATE TBPMO_RECORD SET + RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + --Überprüfen ob dieser Rec + IF EXISTS( + SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_ID = @FORM_ID + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + + --EXEC DBO.PRPMO_CREATE_RECORD_CONNECTIONS @FORM_ID,@RECORD_ID + --SELECT @PARENT_ID = PARENT_ID FROM TBPMO_FORM WHERE GUID = @FORM_ID + --IF @PARENT_ID > 0 + -- INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID) VALUES (@PARENT_ID,@RECORD_ID) + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DECLARE + @GUID INTEGER, + @FORM_ID INTEGER , + @MAX_ID INTEGER + DECLARE c_RECORD CURSOR FOR + SELECT GUID,FORM_ID FROM TBPMO_RECORD ORDER BY GUID + OPEN c_RECORD + FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT + @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID + + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID WHERE GUID = @GUID + + FETCH NEXT FROM c_RECORD INTO @GUID,@FORM_ID + END + CLOSE c_RECORD + DEALLOCATE c_RECORD +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql new file mode 100644 index 0000000..fe819a4 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.3/2.4.3.sql @@ -0,0 +1,103 @@ +ALTER TABLE TBPMO_FORM_CONSTRUCTOR +ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE' +GO +DROP TABLE TBPMO_CONTROL_LANGUAGE +CREATE TABLE TBPMO_CONTROL_LANGUAGE +( + GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + LANGUAGE_TYPE VARCHAR(5) NOT NULL, + CONTROL_SCREEN_ID INTEGER NOT NULL, + CAPTION VARCHAR(100) NOT NULL, + HINT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_LANGUAGE PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_CONTROL_LANGUAGE_CTRLSCR_ID FOREIGN KEY(CONTROL_SCREEN_ID) REFERENCES TBPMO_CONTROL_SCREEN(GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBPMO_CONTROL_LANGUAGE_AFT_UPD ON TBPMO_CONTROL_LANGUAGE +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID +END +GO + +CREATE TABLE TBPMO_LANGUAGE_OBJECT +( + GUID INT IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + LANGUAGE_TYPE VARCHAR(5) NOT NULL, + SCREEN_ID INTEGER NOT NULL, + PMO_OBJECT_NAME VARCHAR(100) NOT NULL, + CAPTION VARCHAR(100) NOT NULL, + HINT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_LANGUAGE_OBJECT PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_LANGUAGE_OBJECT_SCREEN_ID FOREIGN KEY(SCREEN_ID) REFERENCES TBPMO_SCREEN(GUID) +) +GO +------------------------------------------------------------------------------ + +CREATE TRIGGER TBPMO_LANGUAGE_OBJECT_AFT_UPD ON TBPMO_LANGUAGE_OBJECT +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_LANGUAGE_OBJECT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_LANGUAGE_OBJECT.GUID = INSERTED.GUID +END +GO + +CREATE FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT) +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @PMOOBJ_CAPTION VARCHAR(100) + + SELECT @PMOOBJ_CAPTION = CAPTION FROM + TBPMO_LANGUAGE_OBJECT AS T + WHERE + T.LANGUAGE_TYPE = @pLANG_TYPE AND + T.SCREEN_ID = @pSCREEN_ID AND + T.PMO_OBJECT_NAME = @pOBJ_NAME + + RETURN(ISNULL(@PMOOBJ_CAPTION,'')) +END +GO + +ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +FOR UPDATE +AS +BEGIN + DECLARE @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE() + FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1 + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE) +END +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql new file mode 100644 index 0000000..2daf2fd --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/1.Update 2.4.4.1.sql @@ -0,0 +1,250 @@ +ALTER TABLE TBPMO_FORM_VIEW +ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE' +GO + +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @SCREEN_ID = SCREEN_ID, + @ADDED_WHO = CHANGED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @ADDED_WHO = CHANGED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO + + +DECLARE @ID INTEGER, + @SCREEN_ID INT, + @FORM_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100) + +DECLARE c_FORM_VIEW CURSOR FOR +SELECT GUID ,SCREEN_ID, FORM_TITLE, LANGUAGE FROM TBPMO_FORM_VIEW + + +BEGIN + OPEN c_FORM_VIEW + FETCH NEXT FROM c_FORM_VIEW INTO @ID, @SCREEN_ID,@FORM_TITLE,@LANGUAGE + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@ID) + + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + + FETCH NEXT FROM c_FORM_VIEW INTO @ID, @SCREEN_ID,@FORM_TITLE,@LANGUAGE + END + CLOSE c_FORM_VIEW + DEALLOCATE c_FORM_VIEW + +END +GO +--############## DOKUMENTART ##################### +ALTER TABLE TBDD_DOKUMENTART +ADD LANGUAGE VARCHAR(5) NOT NULL DEFAULT 'de-DE' +GO + +ALTER TRIGGER [dbo].[TBDD_DOKUMENTART_AFT_UPD] ON [dbo].[TBDD_DOKUMENTART] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @DA_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @DA_TITLE = BEZEICHNUNG, + @LANGUAGE = [LANGUAGE], + @SCREEN_ID = 1, + @CHANGED_WHO = GEANDERTWER + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBDD_DOKUMENTART SET GEAENDERTWANN = GETDATE() FROM INSERTED + WHERE TBDD_DOKUMENTART.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @DA_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TRIGGER [dbo].[TBDD_DOKUMENTART_AFT_INS] ON [dbo].[TBDD_DOKUMENTART] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @DA_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @DA_TITLE = BEZEICHNUNG, + @LANGUAGE = [LANGUAGE], + @SCREEN_ID = 1, + @ADDED_WHO = ERSTELLTWER + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql new file mode 100644 index 0000000..41b5c5c --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.4.6.1.sql @@ -0,0 +1,572 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.1' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_FORM +ADD REDUNDANT_ENTITY INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG +ADD EDITABLE BIT NOT NULL DEFAULT 0 +GO +ALTER PROCEDURE PRPMO_COPY_ENTITY (@pFORM_ID INT, @pADDEDWHO VARCHAR(50)) +AS +DECLARE + @NEW_FORM_ID INT, + @PARENT_ID INT, + @NAME VARCHAR(100), + @LEVEL VARCHAR(10), + @SHOW_FORM_CONSTR BIT, + @FORM_TYPE_ID INT, + @CONTROL_GUID INTEGER, + @CONTROL_TYPE_ID INT, + @CONTROL_NAME VARCHAR(100) + ,@COL_NAME VARCHAR(100) + ,@REQUIRED BIT + ,@DEFAULT_VALUE VARCHAR(100) + ,@SQL_COMMAND_1 VARCHAR(2000) + ,@SQL_COMMAND_2 VARCHAR(2000) + ,@CONNECTION_ID_1 SMALLINT + ,@CONNECTION_ID_2 SMALLINT + ,@READ_ONLY BIT + ,@VALIDATION BIT + ,@MULTILINE BIT + ,@PARENT_CONTROL_ID INT + ,@MASTER_DATA_ID INT + ,@FORMAT_TYPE VARCHAR(50) + ,@SHOW_COLUMN BIT + ,@STATIC_LIST VARCHAR(2000) + + SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID + + INSERT INTO TBPMO_FORM ( + PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES ( + @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID) + + SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM + INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES + (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO) + +DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID] + ,'COPY_' + [NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID + + +BEGIN + OPEN c_CONTROL + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @PARENT_CONTROL_ID > 0 + BEGIN + DECLARE @CTRLNAME VARCHAR(100) + SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID + PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + PRINT '@CTRLNAME = ' + @CTRLNAME + SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID + PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + END + + INSERT INTO TBPMO_CONTROL ( + FORM_ID + ,[CONTROL_TYPE_ID] + ,[NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN] + ,[STATIC_LIST] + ,ADDED_WHO + ) VALUES ( + @NEW_FORM_ID + ,@CONTROL_TYPE_ID + ,@CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + ,@pADDEDWHO + ) + DECLARE @NEW_CONTROLID INTEGER + SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL + + DECLARE + @SCREEN_ID INTEGER + ,@CONTROL_TEXT VARCHAR(100) + ,@X_LOC FLOAT + ,@Y_LOC FLOAT + ,@HEIGHT INTEGER + ,@WIDTH INTEGER + ,@FONT_FAMILY VARCHAR(50) + ,@FONT_COLOR INTEGER + ,@FONT_SIZE INTEGER + ,@FONT_STYLE INTEGER + ,@TAB_INDEX INTEGER + ,@TAB_STOP BIT + ,@BACK_COLOR INTEGER + + SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC], + @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY], + @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE], + @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, + SCREEN_ID + ,CONTROL_TEXT + ,X_LOC + ,Y_LOC + ,HEIGHT + ,WIDTH + ,FONT_FAMILY + ,FONT_COLOR + ,FONT_SIZE + ,FONT_STYLE + ,TAB_INDEX + ,TAB_STOP + ,BACK_COLOR + ,ADDED_WHO) + VALUES( + @NEW_CONTROLID + ,@SCREEN_ID + ,@CONTROL_TEXT + ,@X_LOC + ,@Y_LOC + ,@HEIGHT + ,@WIDTH + ,@FONT_FAMILY + ,@FONT_COLOR + ,@FONT_SIZE + ,@FONT_STYLE + ,@TAB_INDEX + ,@TAB_STOP + ,@BACK_COLOR + ,@pADDEDWHO + ) + DECLARE @NEW_ID INT + SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT + + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'en-EN',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + END + + CLOSE c_CONTROL + DEALLOCATE c_CONTROL +END + +ALTER FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250), @REDUNDANT_ID INTEGER + SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX + IF @HEADER_CAPTION IS NULL + BEGIN + SELECT @REDUNDANT_ID = REDUNDANT_ENTITY FROM TBPMO_FORM WHERE GUID = @pENTITY + IF @REDUNDANT_ID <> 0 + SELECT @RESULT = dbo.FNPMO_DOC_GET_IDX(@pDOCID,@REDUNDANT_ID,@DOCIDX) + ELSE + SET @RESULT = 'NO CONFIGURATION' + END + ELSE + BEGIN + SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + --Den Defaultvalue der DropdownListe eintragen + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4 + END + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + --DECLARE + -- @NODE_CONFIG_ID INTEGER, + -- @MATERIAL VARCHAR(50) + + --IF @ADDED_WHO <> 'ZSG-IMPORT' + -- BEGIN + -- SELECT @NODE_CONFIG_ID = NODE_CONFIG_ID FROM TBPMO_STRUCTURE_NODES WHERE GUID = (SELECT NODE_GUID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID ) + -- IF @NODE_CONFIG_ID IN (7,8,14) + + -- IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND RECORD_ID = @RECORD_ID) + -- BEGIN + -- DECLARE @RECID_LINK INTEGER + -- SELECT @MATERIAL = UPPER(LTRIM(RTRIM(VALUE))) FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND RECORD_ID = @RECORD_ID + -- DECLARE curs_RECORD CURSOR LOCAL FOR + -- SELECT RECORD_ID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 14 AND UPPER(LTRIM(RTRIM(VALUE))) = @MATERIAL AND RECORD_ID <> @RECORD_ID + -- OPEN curs_RECORD + -- FETCH NEXT FROM curs_RECORD INTO @RECID_LINK + -- WHILE @@FETCH_STATUS = 0 + -- BEGIN + -- IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECID_LINK) + -- INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT, ADDED_WHO) VALUES + -- (@RECID_LINK,@DOC_ID,'MATERIAL INSERT',@ADDED_WHO) + -- FETCH NEXT FROM curs_RECORD INTO @RECID_LINK + -- END + + -- CLOSE curs_RECORD + -- DEALLOCATE curs_RECORD + -- END + -- END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TABLE TBPMO_RIGHT_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + USER_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + EDIT_REC BIT NOT NULL DEFAULT 1, + ADD_REC BIT NOT NULL DEFAULT 0, + DELETE_REC BIT NOT NULL DEFAULT 0, + ADD_DOC BIT NOT NULL DEFAULT 0, + READ_ONLY_DOC BIT NOT NULL DEFAULT 0, + DELETE_DOC BIT NOT NULL DEFAULT 0, + FILES_VISIBLE BIT NOT NULL DEFAULT 1, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_RIGHT_USER PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER +FOR UPDATE +AS + UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID +GO +ALTER TABLE TBPMO_KONFIGURATION +ADD WIKI_STRING VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT) +AS +BEGIN TRY + DECLARE @COUNT INT + SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID + IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1) + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END + ELSE IF @COUNT > 1 and @DELETE_FILE = 0 + BEGIN + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID + END + ELSE IF @DELETE_FILE = 1 + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_DEL ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG +FOR DELETE +AS +BEGIN TRY + DECLARE + @CONFIG_ID INTEGER, + @LANGUAGE VARCHAR(5) + + SELECT + @CONFIG_ID = deleted.GUID, + @LANGUAGE = deleted.LANGUAGE + FROM deleted + + DELETE FROM TBPMO_DOC_VALUES WHERE CONFIG_ID = @CONFIG_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DROP TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS +CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,CONFIG_ID INTEGER NOT NULL + ,VALUE VARCHAR(100) NOT NULL + ,SEQUENCE TINYINT NOT NULL DEFAULT 0 + ,[DEFAULT] BIT NOT NULL DEFAULT 0 + ,COLOR VARCHAR(50) NOT NULL DEFAULT '' + ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' + ,ADDED_WHEN DATETIME DEFAULT GETDATE() + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID), + CONSTRAINT UQ_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,VALUE), + CONSTRAINT UQ2_TBPMO_DOCRESULT_DROPDOWN_ITEMS UNIQUE (CONFIG_ID,[DEFAULT]), +) +GO +CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS +FOR UPDATE +AS + UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID +GO + +ALTER FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), + @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT + @HEADER_CAPTION = HEADER_CAPTION, + @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE + ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE + + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO DROP-DOWN CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +CREATE TABLE TBPMO_CONTROL_ENTITY_LINK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ORIGIN_CTRL_ID INTEGER NOT NULL, + LINKED_CTRL_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_ENTITY_LINK PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_ORIGIN_CTRL_ID_LINKED_CONTROL_ID UNIQUE(ORIGIN_CTRL_ID,LINKED_CTRL_ID), + CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINK_ORIGIN_CTRL_ID FOREIGN KEY (ORIGIN_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_CONTROL_ENTITY_LINKED_CONTROL_ID FOREIGN KEY (LINKED_CTRL_ID) REFERENCES TBPMO_CONTROL (GUID), +) +GO +CREATE TRIGGER TBPMO_CONTROL_ENTITY_LINK_AFT_UPD ON TBPMO_CONTROL_ENTITY_LINK +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_ENTITY_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_ENTITY_LINK.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPMO_CHART_ENTITY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + GROUP_ID VARCHAR(50) NOT NULL DEFAULT '', + SQL_COMMAND VARCHAR(MAX) NOT NULL, + TYPE_CHART VARCHAR(30) NOT NULL, + ARGUMENT VARCHAR(30) NOT NULL, + VALUE VARCHAR(30) NOT NULL, + TITLE VARCHAR(30) NOT NULL DEFAULT '', + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CHART_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CHART_ENTITY_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), +) +GO +CREATE TRIGGER TBPMO_CHART_ENTITY_AFT_UPD ON TBPMO_CHART_ENTITY +FOR UPDATE +AS + UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID +GO +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + W_T.GUID AS WF_TASK_ID + ,R.GUID AS WF_ID + ,W_T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,R.DESCRIPTION + ,R.MANUALLY + ,R.CREATE_ON_REC_CREATE + ,R.CREATE_ON_FOLL_UP + ,W_T.COMMENT + ,W_T.DUE_DATE + ,W_T.ADDED_WHEN + ,W_T.CHANGED_WHO + ,W_T.CHANGED_WHEN + ,W_T.TASK_DATE + ,T.FINAL + ,T.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION + ,FINISHED +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_WORKFLOW_TASK W_T + ,TBPMO_WORKFLOW R + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 + ,TBPMO_RECORD REC +WHERE + --W_T.RECORD_ID = 95 AND + --TBPMO_WORKFLOW_ENTITY_STATE + T.WF_ID = R.GUID AND + T.ENTITY_ID = T3.GUID AND + T.STATE_ID = T5.GUID AND + W_T.RECORD_ID = REC.GUID AND + T.ENTITY_ID = REC.FORM_ID AND + W_T.WF_ID = R.GUID AND + R.GUID = R.GUID AND + T3.GUID = T4.FORM_ID AND + W_T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND + W_T.ACTIVE = 1 +ORDER BY W_T.RECORD_ID,W_T.GUID + +GO + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql new file mode 100644 index 0000000..325c20f --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/2.CAPTION_DOCTYPES.sql @@ -0,0 +1,57 @@ +DECLARE @ID INTEGER, + @SCREEN_ID INT, + @DT_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100) + +DECLARE c_DOKART CURSOR FOR +SELECT GUID,BEZEICHNUNG, 'de-DE' FROM TBDD_DOKUMENTART + +BEGIN + OPEN c_DOKART + FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@ID) + + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@DT_TITLE) + + FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE + END + CLOSE c_DOKART + DEALLOCATE c_DOKART + +END +GO +DECLARE @ID INTEGER, + @SCREEN_ID INT, + @DT_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100) + +DECLARE c_DOKART CURSOR FOR +SELECT GUID,BEZEICHNUNG, 'en-US' FROM TBDD_DOKUMENTART + +BEGIN + OPEN c_DOKART + FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@ID) + SET @DT_TITLE = 'Object ' +@PMO_OBJECT_NAME + ' not translated' + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@DT_TITLE) + + FETCH NEXT FROM c_DOKART INTO @ID, @DT_TITLE,@LANGUAGE + END + CLOSE c_DOKART + DEALLOCATE c_DOKART + +END diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql new file mode 100644 index 0000000..6b3a32b --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/3.INSERT_US_FORM_VIEW_CAPTIONS.sql @@ -0,0 +1,44 @@ +DECLARE @SCREEN_ID INT, + @FORM_VIEW_ID INTEGER, + @FORM_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION_TEMP VARCHAR(100) + +DECLARE c_FORM_VIEW CURSOR FOR +SELECT GUID,SCREEN_ID,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,'en-US' +from TBPMO_FORM_VIEW --WHERE GUID +--[dbo].[FNPMO_GETOBJECTCAPTION]('en-US','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), SCREEN_ID) = 'CAPTION (OBJ) NOT TRANSLATED' + + + +BEGIN + OPEN c_FORM_VIEW + FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE) + BEGIN + --SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID + PRINT 'UPDATE: ' + @CAPTION_TEMP + --UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @CAPTION_TEMP WHERE GUID = ( + --SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + --LANGUAGE_TYPE = 'de-DE' + --) + END + ELSE + BEGIN + SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID + PRINT 'INSERT: ' + @CAPTION_TEMP + '#' + CONVERT(VARCHAR(5),@FORM_VIEW_ID) + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION_TEMP) + END + FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE + END + CLOSE c_FORM_VIEW + DEALLOCATE c_FORM_VIEW + +END \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql new file mode 100644 index 0000000..89f866a --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.1/4.INSERT_DE_FORM_VIEW_CAPTIONS.sql @@ -0,0 +1,48 @@ +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @FORM_VIEW_ID INTEGER, + @FORM_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION_TEMP VARCHAR(100) + +DECLARE c_FORM_VIEW CURSOR FOR +SELECT GUID,SCREEN_ID,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,'de-DE' +from TBPMO_FORM_VIEW --WHERE GUID --WHERE GUID = 3 +--[dbo].[FNPMO_GETOBJECTCAPTION]('en-US','FORMVIEW_TITLE' + CONVERT(VARCHAR(5), FORM_VIEW_ID), SCREEN_ID) = 'CAPTION (OBJ) NOT TRANSLATED' + +BEGIN + OPEN c_FORM_VIEW + FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE + + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @CAPTION VARCHAR(50) + IF EXISTS(SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE) + BEGIN + --SELECT @CAPTION = CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + --LANGUAGE_TYPE = @LANGUAGE + + --PRINT 'SELECT CAPTION FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = ' + @PMO_OBJECT_NAME + ' AND LANGUAGE_TYPE = ' + @LANGUAGE + --SELECT @CAPTION_TEMP = 'Not translated ' + FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID + PRINT 'UPDATE: ' + @CAPTION_TEMP + --UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @CAPTION_TEMP WHERE GUID = ( + --SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + --LANGUAGE_TYPE = 'de-DE' + --) + END + ELSE + BEGIN + SELECT @CAPTION_TEMP = FORM_TITLE FROM TBPMO_FORM_VIEW WHERE GUID = @FORM_VIEW_ID + PRINT 'INSERT: ' + @CAPTION_TEMP + '#' + CONVERT(VARCHAR(5),@FORM_VIEW_ID) + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION_TEMP) + END + FETCH NEXT FROM c_FORM_VIEW INTO @FORM_VIEW_ID,@SCREEN_ID,@PMO_OBJECT_NAME,@LANGUAGE + END + CLOSE c_FORM_VIEW + DEALLOCATE c_FORM_VIEW + +END \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql new file mode 100644 index 0000000..da3f9de --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/2.4.4.2_Update.sql @@ -0,0 +1,13 @@ +/*#################### Update 2.4.4.2 #########################*/ +CREATE TABLE TBPMO_CONSTRUCTOR_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONSTRUCT_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), + CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.2/CONTROLS_LANGUAGE_US.sql new file mode 100644 index 0000000000000000000000000000000000000000..d6838d21697b57bd5027576d36a97ddeba135ff8 GIT binary patch literal 1328 zcmbtUO-sW-5S?oT|HIzWVuX5ENt>h}5EDt(uTu{q=%s=P{(JSkS(7H4Mg$4loo?pi zy_vW9`b;I0L~@x+1uKwPHj-iwuoq%+w!*3;l4Cj2^H^#`&^v?2w)Jl!x}J%Ynx(>? z!| z7N?L>D-`e=&dX?&!8<-nL|W8Z!!BSuW$c+Big&6k5#f{?sWpa|h?;5+-5siJR2R$; zcQ9}c79FtK57(htt4E(@b3>@I3Nc1IV4;}b)#J~E>hRC@a~i63c=zZtN6#$~@V0S| zyj?kXWZ=XKjyo~;XCAd(3=vr>4+}ojL9Mtrc`72rI>CxZwXwguL8q(#ne2G2h7Z3$ gX{$tj4RWyHOb)59s|J2s*dzM0f8;q9!#G#z8}u2f1^@s6 literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql new file mode 100644 index 0000000..864bf24 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.3/2.4.4.3 - Update.sql @@ -0,0 +1,30 @@ +CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS](@RECORD_ID INTEGER) +AS +BEGIN TRY + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID + INSERT INTO TBPMO_WORKFLOW_TASK (RECORD_ID,WF_ID,STATE_ID,ACTIVE) + SELECT @RECORD_ID, T.WF_ID,1,1 FROM TBPMO_WORKFLOW_FORM T, TBPMO_RECORD T1 WHERE T.FORM_ID = T1.FORM_ID AND T1.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Brainpool/Update.sql new file mode 100644 index 0000000000000000000000000000000000000000..c59c05df1ccbc5bd00967c8eb36545a5e6a24186 GIT binary patch literal 3742 zcmcIn(N5by5ZqT+>Oc66paKe@N>$ZLgv2CBNsJPcQV_CQ$}6o}zQ66vZZ>yk#}po_ zD2eUcyWO3c-8=vJJ(PtMGLQQsOhkvw@spts1j0utqH_JelIIkR?{=$%*`cMTwa+jGn_L*A*(+(=kRf)N#&^ z$9LtmyuxZr{U52_6!)BwVQ%o0;Xc#*1=gCVO-~M`kIydra2;BlAo4;!!B5+3wvMWh zF>Dr_Ih@<{Jyfig8g-5AOIVcfm%%$xw2^$BcaHl4m@v-@+22Hw-{SrZGfJStkr6(% zTF%z^$6TxsyK@n;C(b!WCK@+c^?VJNtcCwa*lgov0DQ;~`IsYC#zl^e70x=sr;mTP zY~z@VuihSGT>d>pv}46QS5KeUQJ2WDfOkd_u#8c*{Bl_Ea|Y`Qwi8^F-7Cd7VA{P3 zbxiJvML?7B`Pzmfkv&)bXn7KOtifyrEGk60#4Kjs-=H5dv~|cvswA#QB(L#1frq#< zR)}nYr-rm4ViAYcQe82N_8i7UJ}))f9%5xxFXUeCP~$&Q>-);@Eh@$EbTv|K>=H9D zQg3wUwQM?I6<6pBuF8~i(-B!Qge34)Bs9iNE zmeol0Sq{6(V~9BeJ6>t=(+r%&dB@&TyL~7m)(bs7AdY*e=MldTNfy>esmukG;Zd>5 zx^&V*{Oo(&gK9;ggsQxI`mRBBhMbvi4-7EpC1wqvZ`LxcsnDr*@i{EG618f(iFZU} zEcE23b_P@83_h;la|}=Hhm0q5nXcSYwR`QP9kma9_pw?V1@ruzEK|k|l{N$29Msw) z=0MYHwFmw})p_o>j>LcVqe&aqU2pJ>#FhUiG8?h@VS8e00vgL>pSnzM$uveSCkS%x$DHLvk`D)fH(9oDy}hUXIIe`_^?94)JVh+fjk$jMhS5{Sn%cQC zd!N-O`|(Ts@r2Lwee7?ldqRQeLS0Y~?kUc2Upv+kybN@|aNjW#ocpi5-y)87Bay+=9Yam6mQb8SPEyP?+yPr&Tk+z$)j&)C_SSs^^zTjy~rdjs^- e+e_c?c-~3(G*)`M%M<(f{lxcBi^fht%>OUZlh1kp literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql new file mode 100644 index 0000000..7bde31a --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.4/Update_2.4.4.4.sql @@ -0,0 +1,588 @@ +ALTER TABLE TBDD_MODULES +ADD PRODUCT_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0' +GO +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.4' where NAME = 'Record-Organizer' +GO +ALTER VIEW [dbo].[VWPMO_GUI_ENTITY] AS +SELECT TOP 100 PERCENT + TBPMO_FORM.GUID AS ID, + TBPMO_FORM.PARENT_ID, + TBPMO_FORM.LEVEL, + TBPMO_FORM.FORM_TYPE_ID, + TBPMO_FORM.NAME AS Name, + TBPMO_FORM_VIEW.GUID As FormViewID, + TBPMO_FORM_VIEW.FORM_TITLE AS Title +FROM + TBPMO_FORM INNER JOIN + TBPMO_FORM_VIEW ON TBPMO_FORM.GUID = TBPMO_FORM_VIEW.FORM_ID +WHERE + (TBPMO_FORM.FORM_TYPE_ID IN (1, 2, 3, 5)) +ORDER BY + TBPMO_FORM.PARENT_ID, Title +GO + +CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + WF_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + STATE_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_ENTITY_ID_STATE_ID UNIQUE(WF_ID,ENTITY_ID,STATE_ID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_TASK_STATE_DELETE +ON TBPMO_WORKFLOW_TASK_STATE +FOR DELETE +AS + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE STATE_ID = ( + SELECT GUID FROM DELETED) +GO + +CREATE TABLE TBPMO_WORKFLOW_TASK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER NOT NULL, + WF_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + DUE_DATE DATE, + TASK_DATE DATE, + STATE_ID INTEGER NOT NULL DEFAULT 1, + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_TASK PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_ENTITY_STATE (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK +FOR UPDATE +AS + UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID +GO +--############################################################################### +CREATE TABLE TBPMO_WORKFLOW_TASK_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + WF_TASK_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO + +ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER) +AS +BEGIN + DECLARE + @WF_ID INTEGER, + @TITLE VARCHAR(50), + @SEQUENCE INTEGER, + @MELDUNG VARCHAR(250)--, + --@STATE_ID INTEGER + + DECLARE c_TASK CURSOR FOR + SELECT T.WF_ID + FROM TBPMO_WORKFLOW_FORM T, TBPMO_WORKFLOW T1 + WHERE T.WF_ID = T1.GUID AND + T.FORM_ID = @FORM_ID ORDER BY T.SEQUENCE + + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @WF_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + --SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID + --IF @STATE_ID IS NOT NULL + BEGIN + --INSERT DES TASKS + INSERT INTO TBPMO_WORKFLOW_TASK( + RECORD_ID, + WF_ID, + ACTIVE, + STATE_ID) + VALUES ( + @RECORD_ID, + @WF_ID, + 1, + 1) + END + + FETCH NEXT FROM c_TASK INTO @WF_ID + END + CLOSE c_TASK + DEALLOCATE c_TASK + END + + +GO + + +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @STATE_DESC VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @STATE_DESC = STATE_DESC, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW_TASK_STATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK_STATE.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @STATE_DESC,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @STATE_DESC VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @STATE_DESC = STATE_DESC, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @FORM_VIEW_ID INTEGER, + @FORM_TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION VARCHAR(100) + +DECLARE c_STATE CURSOR FOR +SELECT GUID,1,'en-US','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC +from TBPMO_WORKFLOW_TASK_STATE +UNION +SELECT GUID,1,'de-DE','WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC +from TBPMO_WORKFLOW_TASK_STATE ORDER BY GUID + + +BEGIN + OPEN c_STATE + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE) + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION + END + CLOSE c_STATE + DEALLOCATE c_STATE + +END +GO +--'##################################################### +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION VARCHAR(100) + +DECLARE c_STATE CURSOR FOR +SELECT GUID,1,'en-US','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE +from TBPMO_WORKFLOW +UNION +SELECT GUID,1,'de-DE','TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,TITLE +from TBPMO_WORKFLOW ORDER BY GUID + + +BEGIN + OPEN c_STATE + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = @LANGUAGE) + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@LANGUAGE,@PMO_OBJECT_NAME,@CAPTION + END + CLOSE c_STATE + DEALLOCATE c_STATE + +END +GO +--################################## +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID) + SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID + ELSE + SET @MAX_ID = 1 + + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + --Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT * FROM TBPMO_WORKFLOW_FORM where FORM_ID = @FORM_ID + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + T.GUID AS WF_TASK_ID, + T.WF_ID , + T1.TITLE, + T.RECORD_ID, + T.STATE_ID, + T2.STATE_DESC, + T2.COLOR, + T.COMMENT, + T.DUE_DATE, + T.TASK_DATE, + '' AS USERNAME, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBPMO_WORKFLOW_TASK AS T, + TBPMO_WORKFLOW AS T1, + TBPMO_WORKFLOW_TASK_STATE T2 +WHERE + T.WF_ID = T1.GUID AND + T.STATE_ID = T2.GUID +ORDER BY T.GUID +GO + +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + + IF @LANGUAGE is not null + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_AFT_UPD] ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +FOR UPDATE +AS +BEGIN + DECLARE @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @LANGUAGE = [LANGUAGE], + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + UPDATE TBPMO_FORM_CONSTRUCTOR SET CHANGED_WHEN = GETDATE() + FROM INSERTED WHERE TBPMO_FORM_CONSTRUCTOR.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = 1 + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE) +END +GO + +ALTER TABLE TBPMO_CONSTRUCTOR_USER +ADD HOME_MENUE BIT NOT NULL DEFAULT 1 +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL_AFT_INS] ON [dbo].[TBPMO_FORM_CONSTRUCTOR_DETAIL] +FOR INSERT +AS +DECLARE @CONSTRUCT_ID INTEGER, + @PARENT_ID INTEGER, + @EXISTS as INTEGER +BEGIN + SELECT @CONSTRUCT_ID = CONSTRUCT_ID, @PARENT_ID = PARENT_ID FROM INSERTED + IF @PARENT_ID = 0 + BEGIN + SELECT @EXISTS = COUNT(*) FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @CONSTRUCT_ID AND PARENT_ID = @PARENT_ID + IF @EXISTS > 1 + BEGIN + ROLLBACK TRANSACTION + RAISERROR('ONLY ONE FORM WITH PARENT_ID 0 IS ALLOWED WITHIN CONSTRUCT-ID',16,10) + END + END +END +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql new file mode 100644 index 0000000..3d2a531 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5.sql @@ -0,0 +1,1049 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.5' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_USER_GROUPS +ADD COMMENT VARCHAR(200) +GO +ALTER VIEW [dbo].[VWDD_USER2GROUP] AS +SELECT TOP 100 PERCENT T.GUID, T.USERNAME, T2.GUID as GROUP_ID, T2.NAME, T2.COMMENT +FROM TBDD_USER T, TBDD_GROUPS_USER T1, TBDD_USER_GROUPS T2 +WHERE + T.GUID = T1.USER_ID AND + T1.GROUP_ID = T2.GUID +ORDER BY T.USERNAME + +GO +IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM +IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK_USER', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK_USER +IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_TASK', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_TASK +CREATE TABLE TBPMO_WORKFLOW_TASK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER NOT NULL, + WF_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + DUE_DATE DATE, + TASK_DATE DATE, + STATE_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_TASK PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_TASK_AFT_UPD ON TBPMO_WORKFLOW_TASK +FOR UPDATE +AS + UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID +GO +--############################################################################### +CREATE TABLE TBPMO_WORKFLOW_TASK_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + WF_TASK_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_WF_TASK_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_WF_TASK_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID), + CONSTRAINT FK_TBPMO_WF_TASK_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TABLE TBPMO_WORKFLOW_ENTITY_STATE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + WF_ID INTEGER NOT NULL, + STATE_ID INTEGER NOT NULL, + FINAL BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_WORKFLOW_ENTITY_STATE PRIMARY KEY (GUID), + CONSTRAINT UNIQUE_ENTITY_ID_WF_ID_STATE_ID UNIQUE(ENTITY_ID,WF_ID,STATE_ID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_STATE_ID FOREIGN KEY (STATE_ID) REFERENCES TBPMO_WORKFLOW_TASK_STATE (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_ENTITY_STATE_WF_ID FOREIGN KEY (WF_ID) REFERENCES TBPMO_WORKFLOW (GUID) +) +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID + + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS +SELECT + T.GUID, + T.ENTITY_ID, + T3.GUID as FV_ID, + T3.FORM_TITLE, + T.WF_ID, + T4.TITLE AS WF_TITLE, + T2.GUID AS STATE_ID, + T2.STATE_DESC, + T.FINAL +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_FORM T1, + TBPMO_WORKFLOW_TASK_STATE T2, + TBPMO_FORM_VIEW T3, + TBPMO_WORKFLOW T4 +WHERE + T.ENTITY_ID = T1.GUID AND + T.STATE_ID = T2.GUID AND + T1.GUID = T3.FORM_ID AND + T.WF_ID = T4.GUID AND + T3.SCREEN_ID = 1 +GO +CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + IF @CLIENT_COUNT = 1 + BEGIN + SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBPMO_CONSTRUCTOR_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONSTRUCT_ID INTEGER NOT NULL, + [USER_ID] INTEGER NOT NULL, + HOME_MENUE BIT NOT NULL DEFAULT 1, + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_CID FOREIGN KEY (CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR (GUID), + CONSTRAINT FK_TTBPMO_CONSTRUCTOR_USER_UID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TABLE TBPMO_CLIENT_ENTITY +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID) +) +GO +CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + CONSTRUCT_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) +) +GO +CREATE TABLE TBPMO_CLIENT_DOCTYPE +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + DOCTYPE_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO +CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER) +RETURNS VARCHAR(1000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @TEMP_VALUE VARCHAR(MAX) + + + DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ';' + @TEMP_VALUE + ELSE + SET @RESULT = @TEMP_VALUE + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END +GO +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + T.GUID AS WF_TASK_ID, + T2.GUID AS WF_ENT_GUID, + T.WF_ID , + T1.TITLE, + T.RECORD_ID, + T.STATE_ID, + T2.STATE_DESC, + T2.COLOR, + T.COMMENT, + T.DUE_DATE, + T.TASK_DATE, + '' AS USERNAME, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN +FROM + TBPMO_WORKFLOW_TASK AS T, + TBPMO_WORKFLOW AS T1, + TBPMO_WORKFLOW_TASK_STATE T2 +WHERE + T.WF_ID = T1.GUID AND + T.STATE_ID = T2.GUID +ORDER BY T.GUID +GO + +ALTER PROCEDURE PRPMO_CREATE_SQL(@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(1000), + @SQL_END VARCHAR(2000), + @SQL VARCHAR(5000), + @CONTROL_ID INT, + @RESULT VARCHAR(8000), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(2000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION + SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX + + +BEGIN + SELECT @SQL_BEGIN = SQL_RECORD_SQL1, @SQL_END = SQL_RECORD_SQL2 FROM TBPMO_KONFIGURATION WHERE GUID = 1 --T2.ADDED_WHO,T2.ADDED_WHEN, T2.CHANGED_WHO, T2.CHANGED_WHEN + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + PRINT 'SQL für Label: ' + @SQL_LBL + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 + SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + ELSE + BEGIN + IF (@TYPEID = 10) OR (@TYPEID = 11) + SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + PRINT 'SQL1 für Label: ' + @SQL_LBL + PRINT @SQL + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 + SET @SQL = @SQL + '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER) +AS +BEGIN + DECLARE + @WF_ID INTEGER, + @TITLE VARCHAR(50), + @SEQUENCE INTEGER, + @MELDUNG VARCHAR(250), + @STATE_ID INTEGER + + DECLARE c_TASK CURSOR FOR + SELECT DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @WF_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID) + --IF @STATE_ID IS NOT NULL + BEGIN + --INSERT DES TASKS + INSERT INTO TBPMO_WORKFLOW_TASK( + RECORD_ID, + WF_ID, + ACTIVE, + STATE_ID) + VALUES ( + @RECORD_ID, + @WF_ID, + 1, + @STATE_ID) + END + + FETCH NEXT FROM c_TASK INTO @WF_ID + END + CLOSE c_TASK + DEALLOCATE c_TASK + END +GO + +DELETE FROM TBPMO_WORKFLOW_TASK_USER +GO +DELETE FROM TBPMO_WORKFLOW_TASK +GO + +BEGIN + DECLARE + @REC_ID INTEGER, + @ENT_ID INTEGER + + + DECLARE c_RECTASKS CURSOR FOR + SELECT GUID,FORM_ID FROM TBPMO_RECORD WHERE FORM_ID IN (SELECT DISTINCT ENTITY_ID FROM TBPMO_WORKFLOW_ENTITY_STATE) + OPEN c_RECTASKS + FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @return_value int + EXEC @return_value = [dbo].[PRPMO_CREATE_WF_TASKS] + @FORM_ID = @ENT_ID, + @RECORD_ID = @REC_ID + --SELECT 'Return Value' = @return_value + + FETCH NEXT FROM c_RECTASKS INTO @REC_ID,@ENT_ID + END + CLOSE c_RECTASKS + DEALLOCATE c_RECTASKS + END + GO +CREATE VIEW VWPMO_WORKFLOW_ENTITY_STATE AS +SELECT + T.GUID, + T.ENTITY_ID, + T3.GUID as FV_ID, + T3.FORM_TITLE, + T.WF_ID, + T4.TITLE AS WF_TITLE, + T2.GUID AS STATE_ID, + T2.STATE_DESC, + T.FINAL +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_FORM T1, + TBPMO_WORKFLOW_TASK_STATE T2, + TBPMO_FORM_VIEW T3, + TBPMO_WORKFLOW T4 +WHERE + T.ENTITY_ID = T1.GUID AND + T.STATE_ID = T2.GUID AND + T1.GUID = T3.FORM_ID AND + T.WF_ID = T4.GUID AND + T3.SCREEN_ID = 1 +GO +CREATE TABLE TBDD_CLIENT +( + GUID INTEGER IDENTITY(0,1), + CLIENT_NAME VARCHAR(50) NOT NULL UNIQUE, + SHORTNAME VARCHAR(30), + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_CLIENT PRIMARY KEY (GUID) +) +GO +INSERT INTO TBDD_CLIENT(CLIENT_NAME,SHORTNAME) VALUES +('DEFAULT','DEF') +GO + +CREATE TRIGGER TBDD_CLIENT_AFT_UPD ON TBDD_CLIENT +FOR UPDATE +AS +BEGIN + UPDATE TBDD_CLIENT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_CLIENT.GUID = INSERTED.GUID +END +GO +CREATE TABLE TBDD_CLIENT_USER +( + GUID INTEGER IDENTITY(0,1), + [USER_ID] INT NOT NULL, + CLIENT_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBDD_CLIENT_USER PRIMARY KEY (GUID), + CONSTRAINT FK_TBDD_CLIENT_USER_GROUP_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBDD_CLIENT_USER_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +CREATE TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + IF @CLIENT_COUNT = 1 + BEGIN + SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DROP VIEW VWPMO_WORKFLOW_FORM +GO + +IF OBJECT_ID(N'dbo.TBPMO_WORKFLOW_FORM', N'U') IS NOT NULL DROP TABLE TBPMO_WORKFLOW_FORM +GO + +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID) + SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID + ELSE + SET @MAX_ID = 1 + + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + --Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT GUID FROM TBPMO_WORKFLOW_ENTITY_STATE where ENTITY_ID = @FORM_ID + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE FUNCTION FNPMO_GET_CONTROL_VALUES (@pCONTROL_ID INTEGER, @pRECORD_ID INTEGER) +RETURNS VARCHAR(1000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @TEMP_VALUE VARCHAR(MAX) + + + DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID = @pRECORD_ID + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ';' + @TEMP_VALUE + ELSE + SET @RESULT = @TEMP_VALUE + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END +GO +ALTER TABLE TBDD_GROUPS_USER +ADD CONSTRAINT UC_USER_GROUP UNIQUE (USER_ID,GROUP_ID) +GO +CREATE TABLE TBPMO_CLIENT_ENTITY +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_ENTITY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_ENTITY_ENTITY_ID FOREIGN KEY([ENTITY_ID]) REFERENCES TBPMO_FORM(GUID) +) +GO +CREATE TABLE TBPMO_CLIENT_CONSTRUCTOR +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + CONSTRUCT_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_CONSTRUCTOR PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONSTRUCTOR_CONSTRUCT_ID FOREIGN KEY(CONSTRUCT_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR(GUID) +) +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_ID INTEGER, + @FORM_TYPE INTEGER, + @ADDED_WHO VARCHAR(50) + --@SQL_RECORD1 VARCHAR(500), + --@SQL_RECORD2 VARCHAR(500) + SELECT + @FORM_ID = GUID, + @FORM_TYPE = FORM_TYPE_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_TYPE = 5 + BEGIN + INSERT INTO TBPMO_CONTROL ( + FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES ( + @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD') + DECLARE @CTRL_ID INTEGER + SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES ( + @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1) + END + + EXEC dbo.PRPMO_CREATE_SQL @FORM_ID + EXEC dbo.PRPMO_CREATE_TEMP_VIEWS + + INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) + SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER TBPMO_FORM_CONSTRUCTOR_AFT_INS ON [dbo].[TBPMO_FORM_CONSTRUCTOR] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + + SET @PMO_OBJECT_NAME = 'CONSTR_MENUE' + CONVERT(VARCHAR(5),@GUID) + IF @LANGUAGE is not null + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + (@LANGUAGE,1,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) + + INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID) + SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) + SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID +GO +INSERT INTO TBPMO_CLIENT_CONSTRUCTOR (CLIENT_ID,CONSTRUCT_ID) + SELECT T.GUID,T2.GUID FROM TBDD_CLIENT T, TBPMO_FORM_CONSTRUCTOR T2 WHERE T.GUID = 1 ORDER BY T2.GUID,T.GUID +GO +CREATE TABLE TBPMO_CONSTRUCTOR_USER_SQL +( + GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel, + CONSTR_DET_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + SQL_COMMAND VARCHAR(4000), + SQL_COMMAND1 VARCHAR(4000), + SQL_COMMAND2 VARCHAR(4000), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONSTRUCTOR_USER_SQL_USER PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_CONSTR_DET_ID FOREIGN KEY(CONSTR_DET_ID) REFERENCES TBPMO_FORM_CONSTRUCTOR_DETAIL(GUID), + CONSTRAINT FK_TBPMO_CONSTRUCTOR_USER_SQL_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID) +) +GO +ALTER PROCEDURE PRPMO_COPY_ENTITY(@pFORM_ID INT, @pADDEDWHO VARCHAR(50)) +AS +DECLARE + @NEW_FORM_ID INT, + @PARENT_ID INT, + @NAME VARCHAR(100), + @LEVEL VARCHAR(10), + @SHOW_FORM_CONSTR BIT, + @FORM_TYPE_ID INT, + @CONTROL_GUID INTEGER, + @CONTROL_TYPE_ID INT, + @CONTROL_NAME VARCHAR(100) + ,@COL_NAME VARCHAR(100) + ,@REQUIRED BIT + ,@DEFAULT_VALUE VARCHAR(100) + ,@SQL_COMMAND_1 VARCHAR(2000) + ,@SQL_COMMAND_2 VARCHAR(2000) + ,@CONNECTION_ID_1 SMALLINT + ,@CONNECTION_ID_2 SMALLINT + ,@READ_ONLY BIT + ,@VALIDATION BIT + ,@MULTILINE BIT + ,@PARENT_CONTROL_ID INT + ,@MASTER_DATA_ID INT + ,@FORMAT_TYPE VARCHAR(50) + ,@SHOW_COLUMN BIT + ,@STATIC_LIST VARCHAR(2000) + + SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID + + INSERT INTO TBPMO_FORM ( + PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES ( + @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID) + + SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM + INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES + (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO) + +DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID] + ,'COPY_' + [NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID + + +BEGIN + OPEN c_CONTROL + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @PARENT_CONTROL_ID > 0 + BEGIN + DECLARE @CTRLNAME VARCHAR(100) + SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID + PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + PRINT '@CTRLNAME = ' + @CTRLNAME + SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID + PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + END + + INSERT INTO TBPMO_CONTROL ( + FORM_ID + ,[CONTROL_TYPE_ID] + ,[NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN] + ,[STATIC_LIST] + ,ADDED_WHO + ) VALUES ( + @NEW_FORM_ID + ,@CONTROL_TYPE_ID + ,@CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + ,@pADDEDWHO + ) + DECLARE @NEW_CONTROLID INTEGER + SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL + + DECLARE + @SCREEN_ID INTEGER + ,@CONTROL_TEXT VARCHAR(100) + ,@X_LOC FLOAT + ,@Y_LOC FLOAT + ,@HEIGHT INTEGER + ,@WIDTH INTEGER + ,@FONT_FAMILY VARCHAR(50) + ,@FONT_COLOR INTEGER + ,@FONT_SIZE INTEGER + ,@FONT_STYLE INTEGER + ,@TAB_INDEX INTEGER + ,@TAB_STOP BIT + ,@BACK_COLOR INTEGER + + SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC], + @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY], + @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE], + @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, + SCREEN_ID + ,CONTROL_TEXT + ,X_LOC + ,Y_LOC + ,HEIGHT + ,WIDTH + ,FONT_FAMILY + ,FONT_COLOR + ,FONT_SIZE + ,FONT_STYLE + ,TAB_INDEX + ,TAB_STOP + ,BACK_COLOR + ,ADDED_WHO) + VALUES( + @NEW_CONTROLID + ,@SCREEN_ID + ,@CONTROL_TEXT + ,@X_LOC + ,@Y_LOC + ,@HEIGHT + ,@WIDTH + ,@FONT_FAMILY + ,@FONT_COLOR + ,@FONT_SIZE + ,@FONT_STYLE + ,@TAB_INDEX + ,@TAB_STOP + ,@BACK_COLOR + ,@pADDEDWHO + ) + + + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + END + + CLOSE c_CONTROL + DEALLOCATE c_CONTROL +END +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_CONSTRUCTOR_USER_SQL_AFT_UPD ON TBPMO_CONSTRUCTOR_USER_SQL +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_CONSTRUCTOR_USER_SQL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONSTRUCTOR_USER_SQL.GUID = INSERTED.GUID +END +GO +GRANT EXECUTE ON [dbo].[PRDD_COPY_RECORD] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_AFTER_UPDATE_VALUES] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_COPY_ENTITY] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_CONSTRUCTOR] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_QUICK_SQL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_SQL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_CREATE_TEMP_VIEWS] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_DELETE_CONTROL] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[PRPMO_RECORD_CREATE_WORKFLOWTASKS] TO [DD_ECM] +GO +GRANT EXECUTE ON [dbo].[FNPMO_GET_CONTROL_VALUES] TO [DD_ECM] +GO +CREATE FUNCTION [dbo].[FN_SPLIT_STRING] +( + @Input NVARCHAR(MAX), + @Character CHAR(1) +) +RETURNS @Output TABLE ( + Item NVARCHAR(1000) +) +AS +BEGIN + DECLARE @StartIndex INT, @EndIndex INT + + SET @StartIndex = 1 + IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character + BEGIN + SET @Input = @Input + @Character + END + + WHILE CHARINDEX(@Character, @Input) > 0 + BEGIN + SET @EndIndex = CHARINDEX(@Character, @Input) + + INSERT INTO @Output(Item) + SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + + SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) + END + + RETURN +END +GO +ALTER TABLE [dbo].[TBPMO_CONTROL_VALUE] DROP CONSTRAINT [UQ_CONTROLID_RECORDID] +GO +CREATE TABLE TBPMO_CLIENT_DOCTYPE +( + GUID INTEGER IDENTITY(0,1), + CLIENT_ID INTEGER NOT NULL, + DOCTYPE_ID INTEGER NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_CLIENT_DOCTYPE PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_CLIENT_ID FOREIGN KEY(CLIENT_ID) REFERENCES TBDD_CLIENT(GUID), + CONSTRAINT FK_TBPMO_CLIENT_DOCTYPE_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID) +) +GO + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql new file mode 100644 index 0000000..c5906fd --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.5_Split_String.sql @@ -0,0 +1,78 @@ +CREATE FUNCTION [dbo].[FN_SPLIT_STRING] +( + @Input NVARCHAR(MAX), + @Character CHAR(1) +) +RETURNS @Output TABLE ( + Item NVARCHAR(1000) +) +AS +BEGIN + DECLARE @StartIndex INT, @EndIndex INT + + SET @StartIndex = 1 + IF SUBSTRING(@Input, LEN(@Input) - 1, LEN(@Input)) <> @Character + BEGIN + SET @Input = @Input + @Character + END + + WHILE CHARINDEX(@Character, @Input) > 0 + BEGIN + SET @EndIndex = CHARINDEX(@Character, @Input) + + INSERT INTO @Output(Item) + SELECT SUBSTRING(@Input, @StartIndex, @EndIndex - 1) + + SET @Input = SUBSTRING(@Input, @EndIndex + 1, LEN(@Input)) + END + + RETURN +END + +GO + +--FUNKTION ZUR AKTUALISIERUNG der DATEN + + +BEGIN + DECLARE + @GUID INTEGER, + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE VARCHAR(MAX), + @NEW_VALUE VARCHAR(MAX), + @INDEX INTEGER, + @ADDED_WHO VARCHAR(50) + + DECLARE c_Values CURSOR FOR + SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO FROM TBPMO_CONTROL_VALUE WHERE VALUE LIKE '%;%' AND CONTROL_ID NOT IN (SELECT GUID FROM TBPMO_CONTROL WHERE CONTROL_TYPE_ID = 2) ORDER BY RECORD_ID,CONTROL_ID + OPEN c_Values + FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @INDEX = 0 + --##### + DECLARE c_NEWVALUES CURSOR FOR + SELECT Item FROM dbo.FN_SPLIT_STRING(@VALUE, ';') + OPEN c_NEWVALUES + FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @NEW_VALUE = LTRIM(@NEW_VALUE) + IF @INDEX = 0 + UPDATE TBPMO_CONTROL_VALUE SET VALUE = @NEW_VALUE WHERE GUID = @GUID + ELSE + INSERT INTO TBPMO_CONTROL_VALUE (CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES + (@CONTROL_ID,@RECORD_ID,@NEW_VALUE,@ADDED_WHO) + PRINT CONVERT(VARCHAR(5),@CONTROL_ID) + '#' + CONVERT(VARCHAR(5),@INDEX) + '-' + @NEW_VALUE + SET @INDEX = @INDEX + 1 + FETCH NEXT FROM c_NEWVALUES INTO @NEW_VALUE + END + CLOSE c_NEWVALUES + DEALLOCATE c_NEWVALUES + --##### + FETCH NEXT FROM c_Values INTO @GUID,@CONTROL_ID,@RECORD_ID,@VALUE,@ADDED_WHO + END + CLOSE c_Values + DEALLOCATE c_Values + END \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql new file mode 100644 index 0000000..e079d8c --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.6.sql @@ -0,0 +1,606 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.6' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_WD_OBJECTTYPE +ADD IDXNAME_RECORDID VARCHAR(100) +GO +ALTER TABLE TBPMO_WD_OBJECTTYPE +ADD IDXNAME_DOCTYPE VARCHAR(100) +GO +CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER) +RETURNS VARCHAR(2500) +AS +BEGIN + DECLARE + @COLUMN1 VARCHAR(100), + @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500) + + SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY + SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1 + SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID + RETURN(@RESULT) +END + +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER FUNCTION [dbo].[FNPMO_GETOBJECTCAPTION](@pLANG_TYPE VARCHAR(5), @pOBJ_NAME VARCHAR(100), @pSCREEN_ID INT) +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @PMOOBJ_CAPTION VARCHAR(100) + + SELECT @PMOOBJ_CAPTION = CAPTION FROM + TBPMO_LANGUAGE_OBJECT AS T + WHERE + T.LANGUAGE_TYPE = @pLANG_TYPE AND + T.SCREEN_ID = @pSCREEN_ID AND + T.PMO_OBJECT_NAME = @pOBJ_NAME + + IF @PMOOBJ_CAPTION is null AND @pLANG_TYPE <> 'de-DE' + SELECT @PMOOBJ_CAPTION = CAPTION FROM + TBPMO_LANGUAGE_OBJECT AS T + WHERE + T.LANGUAGE_TYPE = 'de-DE' AND + T.SCREEN_ID = @pSCREEN_ID AND + T.PMO_OBJECT_NAME = @pOBJ_NAME + + + RETURN(ISNULL(@PMOOBJ_CAPTION,'CAPTION (OBJ) NOT TRANSLATED')) +END +GO + +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_STATE_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_STATE] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @STATE_DESC VARCHAR(50), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @STATE_DESC = STATE_DESC, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SET @PMO_OBJECT_NAME = 'WF_STATE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@STATE_DESC,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_INS] ON [dbo].[TBPMO_WORKFLOW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @ADDED_WHO + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION VARCHAR(100) + +DECLARE c_STATE CURSOR FOR +SELECT GUID,1,'WF_STATE_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME,STATE_DESC +from TBPMO_WORKFLOW_TASK_STATE + +BEGIN + OPEN c_STATE + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + END + CLOSE c_STATE + DEALLOCATE c_STATE + +END +GO +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION VARCHAR(100) + +DECLARE c_STATE CURSOR FOR +SELECT GUID,1,'FORMVIEW_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME, FORM_TITLE +from TBPMO_FORM_VIEW +SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + +BEGIN + OPEN c_STATE + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + END + CLOSE c_STATE + DEALLOCATE c_STATE +END +GO +DECLARE @GUID INTEGER, + @SCREEN_ID INT, + @TITLE VARCHAR(100), + @LANGUAGE VARCHAR(5), + @PMO_OBJECT_NAME VARCHAR(100), + @CAPTION VARCHAR(100) + +DECLARE c_STATE CURSOR FOR +SELECT GUID,1,'TASK_TITLE' + CONVERT(VARCHAR(5), GUID) as OBJ_NAME, TITLE FROM TBPMO_WORKFLOW + +BEGIN + OPEN c_STATE + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'de-DE') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + IF NOT EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND LANGUAGE_TYPE = 'en-US') + INSERT INTO TBPMO_LANGUAGE_OBJECT + (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME, @CAPTION) + + FETCH NEXT FROM c_STATE INTO @GUID, @SCREEN_ID,@PMO_OBJECT_NAME,@CAPTION + END + CLOSE c_STATE + DEALLOCATE c_STATE +END +GO +CREATE TABLE TBPMO_WD_IMPORT_PROFILE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + WD_SEARCH VARCHAR(1000) NOT NULL, + UNIQUE_DOC_SQL VARCHAR(5000), + SQL_DOCTYPE VARCHAR(5000) NOT NULL DEFAULT 'select GUID from TBDD_DOKUMENTART where BEZEICHNUNG = ''@DOKTYPE_STRING''', + SQL_PARENT_RECORD VARCHAR(5000) NOT NULL DEFAULT '', + NEW_OBJECTTYPE VARCHAR(100) NOT NULL, + OLD_OBJECTTYPE VARCHAR(100) NOT NULL, + IDX_FILE_WORKED VARCHAR(100) NOT NULL DEFAULT '', + ONLY_RECORD_CREATING BIT NOT NULL DEFAULT 0, + ENTITY_ID INTEGER NOT NULL, + CONNECTION_ID INTEGER, + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE +FOR UPDATE +AS + UPDATE TBPMO_WD_IMPORT_PROFILE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPMO_WD_IMPORT_PROFILE_IDX +( + GUID INTEGER NOT NULL IDENTITY(1,1), + PROFILE_ID INTEGER NOT NULL, + STRING1 VARCHAR(200) NOT NULL, + STRING2 VARCHAR(200) NOT NULL, + SQL1 VARCHAR(5000), + SQL2 VARCHAR(5000), + ADDED_WHO VARCHAR(50) DEFAULT 'Digital Data', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_IMPORT_PROFILE_IDX PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WD_IMPORT_PROFILE_IDX_1 FOREIGN KEY (PROFILE_ID) REFERENCES TBPMO_WD_IMPORT_PROFILE (GUID), +) +GO +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_IDX_AFT_UPD ON TBPMO_WD_IMPORT_PROFILE_IDX +FOR UPDATE +AS + UPDATE TBPMO_WD_IMPORT_PROFILE_IDX SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_IMPORT_PROFILE_IDX.GUID = INSERTED.GUID +GO + +CREATE TRIGGER TBPMO_WD_IMPORT_PROFILE_AFT_INS ON TBPMO_WD_IMPORT_PROFILE +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @GUID INTEGER,@ADDED_WHO VARCHAR(50) + SELECT + @GUID = GUID,@ADDED_WHO = ADDED_WHO + FROM INSERTED + + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'DOCTYPE_ORIGIN','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_DOCTYPE','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_RECORD_ID','SET INDEXNAME',@ADDED_WHO) + INSERT INTO TBPMO_WD_IMPORT_PROFILE_IDX (PROFILE_ID,STRING1,STRING2,ADDED_WHO) VALUES + (@GUID,'INDEX_ENTITY_ID','SET INDEXNAME',@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER TBDD_DOKUMENTART_AFT_INS2 ON TBDD_DOKUMENTART +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @ADDED_WHO VARCHAR(50), + @OBJEKTTYP VARCHAR(50), + @GUID INTEGER + SELECT + @GUID = GUID, + @ADDED_WHO = ERSTELLTWER, + @OBJEKTTYP = OBJEKTTYP + FROM INSERTED + + INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID) + SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) + + IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL + IF @OBJEKTTYP IS NOT NULL + IF @OBJEKTTYP <> '' + BEGIN + DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50) + SELECT @IDX_DOC = IDXNAME_DOCTYPE, + @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP + IF @IDX_REC IS NOT NULL + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO) + IF @IDX_DOC IS NOT NULL + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO) + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER TBDD_DOKUMENTART_AFT_UPD ON TBDD_DOKUMENTART +FOR UPDATE +AS +BEGIN TRY + DECLARE + @DA_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @DA_TITLE = BEZEICHNUNG, + @SCREEN_ID = 1, + @CHANGED_WHO = GEANDERTWER + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'DOCTYPE_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBDD_DOKUMENTART SET GEAENDERTWANN = GETDATE() FROM INSERTED + WHERE TBDD_DOKUMENTART.GUID = INSERTED.GUID + IF UPDATE (BEZEICHNUNG) + BEGIN + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @DA_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@DA_TITLE) + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER TBPMO_FORM_VIEW_AFT_UPD ON TBPMO_FORM_VIEW +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + IF UPDATE (FORM_TITLE) + BEGIN + IF @LANGUAGE is not null + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT](@pRECORD_ID INTEGER) +RETURNS VARCHAR(2500) +AS +BEGIN + DECLARE + @COLUMN1 VARCHAR(100), + @ENTITY INTEGER, @CONTROL_ID INTEGER, @RESULT VARCHAR(2500) + + SELECT @ENTITY = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @COLUMN1 = COLUMN_NAME1 FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @ENTITY + SELECT @CONTROL_ID = GUID FROm TBPMO_CONTROL WHERE COL_NAME = @COLUMN1 + SELECT @RESULT = VALUE FROM VWPMO_VALUES WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @CONTROL_ID + RETURN(@RESULT) +END +GO +GRANT EXECUTE ON [dbo].[FNPMO_GET_ENTITY_COLUMN_CONTENT] TO [DD_ECM] WITH GRANT OPTION +GO +ALTER VIEW VWPMO_WF_ACTIVE AS +SELECT + T.GUID AS WF_TASK_ID + ,T1.GUID AS WF_ID + ,T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,T.COMMENT + ,T.DUE_DATE + ,T.ADDED_WHEN + ,T.CHANGED_WHO + ,T.CHANGED_WHEN + ,T.TASK_DATE + ,T2.FINAL + ,T2.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(T.RECORD_ID) AS RECORD_DESCRIPTION + --,(SELECT COLUMN_NAME1 FROM )) + --, @USER AS USERNAME +FROM + TBPMO_WORKFLOW_TASK T + ,TBPMO_WORKFLOW T1 + ,TBPMO_WORKFLOW_ENTITY_STATE T2 + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 +WHERE + T.WF_ID = T1.GUID AND + T1.GUID = T1.GUID AND + T2.WF_ID = t1.GUID AND + T2.ENTITY_ID = T3.GUID AND + T2.STATE_ID = T.STATE_ID AND + T3.GUID = T4.FORM_ID AND + T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T2.FINAL = 1 AND T.DUE_DATE IS NULL) OR T2.FINAL = 0) AND + T.ACTIVE = 1 +GO +CREATE PROCEDURE PRPMO_DELETE_RECORD(@pRECORD_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +GRANT EXECUTE ON [dbo].[PRPMO_DELETE_RECORD] TO [DD_ECM] +GO +CREATE TABLE TBPMO_RIGHT_GROUP +( + GUID INTEGER IDENTITY(1,1), -- Eindeutiger Tabellenschlüssel + ENTITY_ID INTEGER NOT NULL, + GROUP_ID INTEGER NOT NULL, + EDIT_REC BIT NOT NULL DEFAULT 1, + ADD_REC BIT NOT NULL DEFAULT 1, + DELETE_REC BIT NOT NULL DEFAULT 0, + ADD_DOC BIT NOT NULL DEFAULT 1, + VIEW_DOC BIT NOT NULL DEFAULT 1, + DELETE_DOC BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_RIGHT_GROUP PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_RIGHT_GROUP_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_RIGHT_GROUP_GROUP_ID FOREIGN KEY (GROUP_ID) REFERENCES TBDD_USER_GROUPS (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHT_GROUP_AFT_UPD ON TBPMO_RIGHT_GROUP +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_RIGHT_GROUP SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_RIGHT_GROUP.GUID = INSERTED.GUID +END +GO + +--DECLARE @GROUPID INT + +--DECLARE c_GROUPS CURSOR FOR SELECT GUID FROM TBDD_USER_GROUPS + +--BEGIN +-- OPEN c_GROUPS +-- FETCH NEXT FROM c_GROUPS INTO @GROUPID + +-- WHILE @@FETCH_STATUS = 0 +-- BEGIN +-- IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = 93 AND GROUP_ID = @GROUPID) +-- INSERT INTO TBPMO_RIGHT_GROUP (ENTITY_ID,GROUP_ID,ADDED_WHO) VALUES (93,@GROUPID,'Digital Data') + +-- FETCH NEXT FROM c_GROUPS INTO @GROUPID +-- END + +-- CLOSE c_GROUPS +-- DEALLOCATE c_GROUPS +--END diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql new file mode 100644 index 0000000..ff7181a --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.7.sql @@ -0,0 +1,52 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.7' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD CONTROL_DOCTYPE_MATCH INTEGER NOT NULL DEFAULT '0' +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD SQL_RIGHT_READ_AND_VIEW_ONLY VARCHAR(5000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD SQL_QUICK_VIEW VARCHAR(MAX) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD LOAD_DIRECT BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW VWPMO_CONSTRUCTOR_FORMS AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO +ALTER TABLE TBPMO_RECORD +ADD IN_WORK BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_RECORD +ADD IN_WORK_WHO VARCHAR(100) +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql new file mode 100644 index 0000000..74a458c --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.8.sql @@ -0,0 +1,90 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.8' where NAME = 'Record-Organizer' +GO +ALTER VIEW VWPMO_CONTROL_SCREEN AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD SQL_RIGHT_WINDREAM_VIEW VARCHAR(5000) NOT NULL DEFAULT '' +GO +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql new file mode 100644 index 0000000..3a4e420 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4.9.sql @@ -0,0 +1,373 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.4.9' where NAME = 'Record-Organizer' +GO +CREATE TABLE TBPMO_SAP_FUBA +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + Method VARCHAR(50) NOT NULL DEFAULT 'TABLE', + TableName VARCHAR(100) NOT NULL, + Host VARCHAR(100) NOT NULL, + SystemNumber VARCHAR(30) NOT NULL, + UserName VARCHAR(50) NOT NULL, + [Password] VARCHAR(100) NOT NULL, + Client VARCHAR(100) NOT NULL, + [Language] VARCHAR(20) NOT NULL, + TempTableName VARCHAR(100) NOT NULL, + FuBa_SplitCharacter VARCHAR(1) NOT NULL DEFAULT ';', + WHERE_CLAUSE VARCHAR(500), + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SAP_FUBA PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA +FOR UPDATE +AS + UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID +GO +INSERT INTO TBPMO_CONTROL_TYPE (TYPE_NAME) VALUES ('DatagridviewCheckable') +GO +CREATE TRIGGER TBPMO_SAP_FUBA_AFT_UPD ON TBPMO_SAP_FUBA +FOR UPDATE +AS + UPDATE TBPMO_SAP_FUBA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SAP_FUBA.GUID = INSERTED.GUID +GO + + +ALTER VIEW VWPMO_CONTROL_HINT AS +SELECT + T2.FORM_ID, + T1.CONTROL_ID, + T.HINT +FROM + TBPMO_CONTROL_LANGUAGE T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_CONTROL T2 +WHERE + T.CONTROL_SCREEN_ID = T1.GUID + AND T1.CONTROL_ID = T2.GUID + AND T1.SCREEN_ID = 1 + AND (HINT IS NOT NULL AND HINT <> '') +GO + +ALTER TABLE TBDD_USER +ADD WAN_ENVIRONMENT BIT NOT NULL DEFAULT 0 +GO +UPDATE TBDD_USER SET WAN_ENVIRONMENT = 1 + +GO +--RENAME TBDD_EMAIL_ACCOUNT in OLD +CREATE TABLE TBDD_EMAIL_ACCOUNT +( + GUID INTEGER IDENTITY(0,1), + NAME VARCHAR(50), + EMAIL_FROM VARCHAR(100) NOT NULL, + EMAIL_SMTP VARCHAR(100) NOT NULL, + EMAIL_USER VARCHAR(100) NOT NULL, + EMAIL_PW VARCHAR(100) NOT NULL DEFAULT '', + PORT INTEGER NOT NULL DEFAULT '25', + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBDD_EMAIL_ACCOUNT PRIMARY KEY (GUID) +) +GO +DROP TRIGGER TBDD_EMAIL_ACCOUNT_AFT_UPD +GO +CREATE TRIGGER TBDD_EMAIL_ACCOUNT_AFT_UPD ON TBDD_EMAIL_ACCOUNT +FOR UPDATE +AS +BEGIN + UPDATE TBDD_EMAIL_ACCOUNT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_EMAIL_ACCOUNT.GUID = INSERTED.GUID +END +GO + +INSERT INTO TBDD_EMAIL_ACCOUNT (NAME, + EMAIL_FROM, + EMAIL_SMTP , + EMAIL_USER, + EMAIL_PW, + ACTIVE) SELECT NAME, + EMAIL_FROM, + EMAIL_SMTP , + EMAIL_USER, + EMAIL_PW, + ACTIVE FROM TBDD_EMAIL_ACCOUNT_OLD + +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD CTRL_USER_DIRECT INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD CTRL_GROUP_DIRECT INTEGER NOT NULL DEFAULT 0 +GO +ALTER VIEW VWPMO_FOLLOW_UP_EMAIL AS +SELECT + T1.GUID FOLLOW_UP_ID, + T1.NAME, + T1.FOLLOW_UP_SEQUENCE, + T1.FOLLOW_UP_DAYS, + T1.FOLLOW_UP_TIME_SPAN, + CONVERT(CHAR(5),GETDATE(),108) NOW_TIME, + T.RECORD_ID, + CONVERT(DATE,T.VALUE) VALUE, + T1.EMAIL_SUBJECT, + T1.EMAIL_BODY, + T1.PROCESS_SELECT1, + T1.PROCESS_SELECT2, + T1.PROCESS_SELECT3, + T1.PROCESS_SELECT4, + T1.PROCESS_SELECT5, + T1.PROCESS_SELECT6, + T1.PROCESS_SELECT7, + T1.PROCESS_SELECT8, + T1.PROCESS_SELECT9, + T1.PROCESS_SELECT10, + T1.TIME_UNITY, + T1.TIME_DIST, + CASE T1.TIME_UNITY + WHEN 'Month' THEN + DATEDIFF(month, getdate(),convert(Date,T.value)) + WHEN 'Week' THEN + DATEDIFF(week, getdate(),convert(Date,T.value)) + END TIME_SPAN, + T1.DEPENDENT_DATE_CTRL_ID, + T1.DEPENDENT_DONE_CTRL_ID, + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE, + T2.GUID AS CONSTRUCTOR_ID, + T2.FORM_TITLE AS CONSTRUCTOR_TITLE, + T1.CTRL_USER_DIRECT, + T1.CTRL_GROUP_DIRECT +FROM + VWPMO_VALUES T, + TBPMO_FOLLOW_UP_EMAIL T1, + TBPMO_FORM_CONSTRUCTOR T2 +WHERE + T1.ACTIVE = 1 AND + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And + T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND + T1.CONSTRUCTOR_ID = T2.GUID AND + T1.TIME_SPAN = + CASE T1.TIME_UNITY + WHEN 'Month' THEN + DATEDIFF(month, getdate(),convert(Date,T.value)) + WHEN 'Week' THEN + DATEDIFF(week, getdate(),convert(Date,T.value)) + END + +GO +ALTER TABLE TBPMO_CONTROL_VALUE +ADD CHANGE_STEP INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_CONTROL_VALUE +ADD REDO BIT NOT NULL DEFAULT 0 +GO +CREATE TABLE TBPMO_CONTROL_VALUE_CHANGE_HISTORY +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER, + CONTROL_ID INTEGER, + VALUE VARCHAR(MAX), + CHANGE_STEP INTEGER, + ADDED_WHO VARCHAR(50) NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_CONTROL_VALUE_CHANGE_HISTORY_CHANGE_HISTORY_UPD ON TBPMO_CONTROL_VALUE_CHANGE_HISTORY +FOR UPDATE +AS + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE_CHANGE_HISTORY.GUID = INSERTED.GUID +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE + FROM DELETED + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + + IF @REDO = 0 + IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + BEGIN + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + END + END + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_REDO_RECORD_CHANGES] (@RECORD_ID INTEGER) +AS +BEGIN + DECLARE + @CHANGE_STEP INTEGER, + @CONTROL_ID INTEGER, + @GUID INTEGER, + @VALUE VARCHAR(MAX) + + DECLARE c_REDO CURSOR FOR + SELECT MAX(GUID),CONTROL_ID, CHANGE_STEP FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID GROUP BY CONTROL_ID, CHANGE_STEP, RECORD_ID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@CONTROL_ID,@CHANGE_STEP + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE GUID = @GUID + UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE, REDO = 1 WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID + DELETE FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE GUID = @GUID + UPDATE TBPMO_CONTROL_VALUE SET REDO = 0 WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID + FETCH NEXT FROM c_REDO INTO @GUID,@CONTROL_ID,@CHANGE_STEP + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + GO +ALTER TABLE TBPMO_RECORD +ADD COLOR VARCHAR(50) NOT NULL DEFAULT '' +GO + + +ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(1000), + @SQL_END VARCHAR(2000), + @SQL VARCHAR(5000), + @CONTROL_ID INT, + @RESULT VARCHAR(8000), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(2000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION + SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],' + SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + ELSE + BEGIN + IF (@TYPEID = 10) OR (@TYPEID = 11) + SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO +/*UPDATE DER SQLS*/ +BEGIN + DECLARE + @ENTITY_ID INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBPMO_FORM + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC DBO.PRPMO_CREATE_SQL @ENTITY_ID + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + END + CLOSE c_REDO + DEALLOCATE c_REDO + END +GO +EXEC PRPMO_CREATE_TEMP_VIEWS +GO + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql new file mode 100644 index 0000000..c8e6ce9 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/FNPMO_GET_CONTROL_CAPTION.sql @@ -0,0 +1,15 @@ +CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_CAPTION](@pLANG_TYPE VARCHAR(5), @pSCREEN_ID INTEGER,@pCONTROL_ID INTEGER ) +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @CAPTION VARCHAR(100), + @CTRL_SCREEN_ID INTEGER + + SELECT @CTRL_SCREEN_ID = GUID FROM TBPMO_CONTROL_SCREEN WHERE + CONTROL_ID = @pCONTROL_ID AND SCREEN_ID = @pSCREEN_ID + + SELECT @CAPTION = CAPTION FROM TBPMO_CONTROL_LANGUAGE WHERE LANGUAGE_TYPE = @pLANG_TYPE AND + CONTROL_SCREEN_ID = @CTRL_SCREEN_ID + + RETURN(ISNULL(@CAPTION,'')) +END diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.4/Insert Controls language.sql new file mode 100644 index 0000000000000000000000000000000000000000..49827d16133afc68b8e322860854b7a2beccb79e GIT binary patch literal 1194 zcmbtU+e*Vg6r9%;{D*yO3l-`I2x-$R#H1wg_S6Rz^hH4g|6ZLrYtmd=5hQH)WOFVv z=gju&bB+aKB$y(nk=bq44 z`EL2^acvc2tZg6S91}jHx{9iGvE4I6JEP zx76xRZBC(oVy`tL`<2a6Z;ouXJV}YD-$`!~p5OE==~uE-YuYL8Fta_TL-9c`86$#* z#%6W7RtgZJs#-vI!)hCwm@-5S4C+uxrX~AZFzSM9QY)p)veK^RpEJf=2THR4eXiYJ zYHr;#spZbP*w<12R>)^c?~({~4@N{F-6!O+FebyAg~I?3RMDBKen6d8U5t(@c7I!3 uqg(%(*zsCnMvk~sBGg+r(SJu~`aYy8`BYQZZ5DU=t1nW*u^7d*D}4iRC6==Q literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql new file mode 100644 index 0000000..0e869d2 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.0.sql @@ -0,0 +1,39 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.0' where NAME = 'Record-Organizer' +GO + +CREATE TABLE TBPMO_WD_NAMECONVENTION_FORMAT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ID INTEGER NOT NULL, + PATTERN VARCHAR(50) NOT NULL, + FORMAT_RULE VARCHAR(100) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WD_NAMECONVENTION_FORMAT PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_WD_NAMECONVENTION_FORMAT_UPD ON TBPMO_WD_NAMECONVENTION_FORMAT +FOR UPDATE +AS + UPDATE TBPMO_WD_NAMECONVENTION_FORMAT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WD_NAMECONVENTION_FORMAT.GUID = INSERTED.GUID +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql new file mode 100644 index 0000000..71e4e6d --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.1.sql @@ -0,0 +1,38 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.1' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_INDEX_MAN +ADD SAVE_VALUE BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW VWDDINDEX_MAN +AS +SELECT TOP 2000 + T.GUID, + T.NAME INDEXNAME, + T.WD_INDEX, + T.COMMENT, + T.DATATYPE, + T.DOK_ID, + T1.BEZEICHNUNG DOKUMENTART, + T1.KURZNAME, + T.SUGGESTION, + T.CONNECTION_ID, + T2.BEZEICHNUNG CONNECTION, + T2.SQL_PROVIDER, + T2.SERVER, + T2.DATENBANK, + T2.USERNAME, + T2.PASSWORD, + T.SQL_RESULT, + T.SQL_CHECK, + T.OPTIONAL, + T.SAVE_VALUE +FROM + TBDD_INDEX_MAN T + INNER JOIN TBDD_DOKUMENTART T1 ON T.DOK_ID = T1.GUID AND T1.AKTIV = 1 + LEFT JOIN TBDD_CONNECTION T2 ON T.CONNECTION_ID = T2.GUID AND T2.AKTIV = 1 +WHERE + T.ACTIVE = 1 +ORDER BY + T.DOK_ID, + T.GUID +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql new file mode 100644 index 0000000..ca89e00 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.2.sql @@ -0,0 +1,182 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.2' where NAME = 'Record-Organizer' +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_CONTROL +ADD VISIBLE BIT NOT NULL DEFAULT 1 +GO +ALTER TABLE TBPMO_CONTROL +ADD TREE_VIEW BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW VWPMO_CONTROL_SCREEN AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + W_T.GUID AS WF_TASK_ID + ,R.GUID AS WF_ID + ,W_T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,W_T.COMMENT + ,W_T.DUE_DATE + ,W_T.ADDED_WHEN + ,W_T.CHANGED_WHO + ,W_T.CHANGED_WHEN + ,W_T.TASK_DATE + ,T.FINAL + ,T.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_WORKFLOW_TASK W_T + ,TBPMO_WORKFLOW R + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 + ,TBPMO_RECORD REC +WHERE + --W_T.RECORD_ID = 95 AND + --TBPMO_WORKFLOW_ENTITY_STATE + T.WF_ID = R.GUID AND + T.ENTITY_ID = T3.GUID AND + T.STATE_ID = T5.GUID AND + W_T.RECORD_ID = REC.GUID AND + T.ENTITY_ID = REC.FORM_ID AND + + + W_T.WF_ID = R.GUID AND + R.GUID = R.GUID AND + + + + T3.GUID = T4.FORM_ID AND + W_T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND + W_T.ACTIVE = 1 +ORDER BY W_T.RECORD_ID,W_T.GUID + +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_ID INTEGER, + @FORM_TYPE INTEGER, + @ADDED_WHO VARCHAR(50) + --@SQL_RECORD1 VARCHAR(500), + --@SQL_RECORD2 VARCHAR(500) + SELECT + @FORM_ID = GUID, + @FORM_TYPE = FORM_TYPE_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_TYPE = 5 + BEGIN + INSERT INTO TBPMO_CONTROL ( + FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES ( + @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD') + DECLARE @CTRL_ID INTEGER + SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES ( + @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1) + END + + --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID + --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +BEGIN TRY + INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) + SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + + + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql new file mode 100644 index 0000000..f4412ea --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3.sql @@ -0,0 +1,240 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.3' where NAME = 'Record-Organizer' +GO + +ALTER TABLE TBPMO_FORM +ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT'dd-MM-yyyy' +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(1000), + @SQL_END VARCHAR(2000), + @SQL VARCHAR(5000), + @CONTROL_ID INT, + @RESULT VARCHAR(8000), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(2000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION + SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],' + SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + ELSE + BEGIN + IF (@TYPEID = 10) OR (@TYPEID = 11) + SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONSTRUCTOR](@pFORM_ID INT, @pNAME VARCHAR(50)) +AS +DECLARE + @NEW_CONSTR_ID INTEGER, + @FORM_ID INTEGER, + @PARENT_ID INTEGER, + @PARENT_ID2 INTEGER, + @LEVEL1_SELECT INTEGER, + @SEQUENCE INTEGER, + @SEQUENCE2 INTEGER, + @SQL_SELECT_EBENE1 VARCHAR(4000) + + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME)) + INSERT INTO TBPMO_FORM_CONSTRUCTOR (FORM_TITLE,SEQUENCE_MENU,ADDED_WHO, SHORT_TITLE) VALUES + (@pNAME,1, 'CREATE_ROUTINE','SHORT-TITLE') + + SELECT @NEW_CONSTR_ID = MAX(GUID) FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME) + + PRINT 'INSERT1 DURCH' + + + PRINT 'INSERT2 DURCH' +DECLARE c_ENTITY1 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @pFORM_ID ORDER BY T.LEVEL +BEGIN + OPEN c_ENTITY1 + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = @PARENT_ID) + BEGIN + PRINT 'c_ENTITY1: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @' + CONVERT(VARCHAR(3),@FORM_ID) + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID + ,0 + ,@SEQUENCE + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE2' + ) + END + + If EXISTS(SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @FORM_ID) + BEGIN + PRINT 'c_ENTITY2: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = ' + CONVERT(VARCHAR(3),@FORM_ID) + --############### + DECLARE c_ENTITY2 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL + BEGIN + OPEN c_ENTITY2 + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID2 + ,0 + ,@SEQUENCE2 + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID2) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE3' + ) + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + END + CLOSE c_ENTITY2 + DEALLOCATE c_ENTITY2 + END + END + --############### + + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + END + + CLOSE c_ENTITY1 + DEALLOCATE c_ENTITY1 +END +GO +CREATE VIEW [dbo].[VWPMO_CONTROL_HINT] AS +SELECT + T2.FORM_ID, + T1.CONTROL_ID, + T.HINT +FROM + TBPMO_CONTROL_LANGUAGE T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_CONTROL T2 +WHERE + T.CONTROL_SCREEN_ID = T1.GUID + AND T1.CONTROL_ID = T2.GUID + AND T1.SCREEN_ID = 1 + AND (HINT IS NOT NULL AND HINT <> '') +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql new file mode 100644 index 0000000..5251672 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.3_RENOLIT.sql @@ -0,0 +1,60 @@ +ALTER VIEW [dbo].[VWPMO_WD_DOC_SEARCH] AS +SELECT + T.dwDocID as DocID + ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,20006) AS [ENTITY_ID] + ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,20005) AS [RECORD_ID] + ,T.dwInteger24 AS [PARENT_ID] + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME + ,szLongName as [Filename], + T.szText39 AS Doctype + ,T.dwVersionNumber AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Creation_DateTime + ,T1.szDocTypeName AS OBJECTTYPE +FROM + [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T + ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1 +WHERE + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.dwInteger23 is not null + +GO + +USE [DD_ECM] +GO +ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_VKT_INT](@pdwDocID INTEGER,@pdwAttributID INTEGER) +RETURNS VARCHAR(4000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(4000), + @VALUE INTEGER + + + + DECLARE c_RESULT CURSOR FOR SELECT [dwValue] FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[Vector] + where dwDocID = @pdwDocID and dwAttrID = @pdwAttributID + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + '#' + CONVERT(VARCHAR(30),@VALUE) + ELSE + SET @RESULT = '#' + CONVERT(VARCHAR(30),@VALUE) + FETCH NEXT FROM c_RESULT INTO @VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql new file mode 100644 index 0000000..e8e7061 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.4.sql @@ -0,0 +1,340 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.4' where NAME = 'Record-Organizer' +GO +CREATE TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [ENTITY_ID] INTEGER NOT NULL, + [LANGUAGE] VARCHAR(5) NOT NULL DEFAULT 'de-DE', + COLUMN_VIEW VARCHAR(100) NOT NULL, + HEADER_CAPTION VARCHAR(100) NOT NULL, + WIDTH INTEGER NOT NULL DEFAULT 250, + [TYPE_ID] TINYINT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_UPD ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_RESULTLIST_CONFIG.GUID = INSERTED.GUID +GO +CREATE TABLE TBPMO_DOCSEARCH_VARIABLE_CONTROLS ( + GUID INT IDENTITY(1,1) NOT NULL, + [ENTITY_ID] INT NOT NULL, + OPTION1_CTRL INT NOT NULL DEFAULT 0, + OPTION2_CTRL INT NOT NULL DEFAULT 0, + OPTION3_CTRL INT NOT NULL DEFAULT 0, + PTION4_CTRL INT NOT NULL DEFAULT 0, + OPTION5_CTRL INT NOT NULL DEFAULT 0, + OPTION6_CTRL INT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME NULL DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50) NULL, + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCSEARCH_VARIABLE_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_DOCSEARCH_VARIABLE_CONTROLS_AFT_UPD ON TBPMO_DOCSEARCH_VARIABLE_CONTROLS +FOR UPDATE +AS + UPDATE TBPMO_DOCSEARCH_VARIABLE_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCSEARCH_VARIABLE_CONTROLS.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPMO_STRUCTURE_NODES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [ENTITY_ID] INTEGER NOT NULL, + RECORD_ID INTEGER, + ID1 VARCHAR(100) NOT NULL, + ID2 VARCHAR(100), + ID3 VARCHAR(100), + ID4 VARCHAR(100), + [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, + CONTROL_ID INTEGER NOT NULL DEFAULT 0, + PARENT_GUID INTEGER NOT NULL DEFAULT 0, + BOOL1 BIT NOT NULL DEFAULT 0, + BOOL2 BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODESG_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID +GO +CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(50) NOT NULL, + [ENTITY_ID] INTEGER NOT NULL, + [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, + NODE_IMAGE VARBINARY(MAX), + CREATE_RECORD BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.GUID = INSERTED.GUID +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + IF OBJECT_ID (N'TBPMO_STRUCTURE_NODES', N'U') IS NOT NULL + DELETE FROM TBPMO_STRUCTURE_NODES WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +USE [DD_ECM] +GO +/****** Object: StoredProcedure [dbo].[PRPMO_CREATE_CONSTRUCTOR] Script Date: 30.06.2016 15:01:24 ******/ +SET ANSI_NULLS ON +GO +SET QUOTED_IDENTIFIER ON +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONSTRUCTOR](@pFORM_ID INT, @pNAME VARCHAR(50)) +AS +DECLARE + @NEW_CONSTR_ID INTEGER, + @FORM_ID INTEGER, + @PARENT_ID INTEGER, + @PARENT_ID2 INTEGER, + @LEVEL1_SELECT INTEGER, + @SEQUENCE INTEGER, + @SEQUENCE2 INTEGER, + @SQL_SELECT_EBENE1 VARCHAR(4000) + + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME)) + INSERT INTO TBPMO_FORM_CONSTRUCTOR (FORM_TITLE,SEQUENCE_MENU,ADDED_WHO, SHORT_TITLE) VALUES + (@pNAME,1, 'CREATE_ROUTINE','SHORT-TITLE') + + SELECT @NEW_CONSTR_ID = MAX(GUID) FROM TBPMO_FORM_CONSTRUCTOR WHERE UPPER(FORM_TITLE) = UPPER(@pNAME) + + DECLARE c_ENTITY0 CURSOR FOR + SELECT T.GUID,T.LEVEL FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE + T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = 0 AND T.GUID = @pFORM_ID ORDER BY T.LEVEL + BEGIN + OPEN c_ENTITY0 + FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = 0) + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,0 + ,0 + ,0 + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'' + ,'CREATE_ROUTINE2' + ) + FETCH NEXT FROM c_ENTITY0 INTO @FORM_ID,@SEQUENCE + END + END + CLOSE c_ENTITY0 + DEALLOCATE c_ENTITY0 + +DECLARE c_ENTITY1 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL +BEGIN + OPEN c_ENTITY1 + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @NEW_CONSTR_ID AND FORM_ID = @FORM_ID AND PARENT_ID = @PARENT_ID) + BEGIN + PRINT 'c_ENTITY1: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @' + CONVERT(VARCHAR(3),@FORM_ID) + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID + ,0 + ,@SEQUENCE + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE2' + ) + END + + If EXISTS(SELECT * FROM TBPMO_FORM WHERE PARENT_ID = @FORM_ID) + BEGIN + PRINT 'c_ENTITY2: SELECT * FROM TBPMO_FORM WHERE PARENT_ID = ' + CONVERT(VARCHAR(3),@FORM_ID) + --############### + DECLARE c_ENTITY2 CURSOR FOR + SELECT + T.GUID, T.PARENT_ID, T.LEVEL + FROM TBPMO_FORM T, TBPMO_FORM_VIEW T1 WHERE T.GUID = T1.FORM_ID AND T.SHOW_FORM_CONSTRUCT = 1 AND T1.SCREEN_ID = 1 AND T.PARENT_ID = @FORM_ID ORDER BY T.LEVEL + BEGIN + OPEN c_ENTITY2 + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_FORM_CONSTRUCTOR_DETAIL ( + CONSTRUCT_ID + ,FORM_ID + ,PARENT_ID + ,LEVEL1_SELECT + ,SEQUENCE + ,SQL_SELECT_EBENE1 + ,SQL_SELECT_EBENE2 + ,ADDED_WHO + ) VALUES ( + @NEW_CONSTR_ID + ,@FORM_ID + ,@PARENT_ID2 + ,0 + ,@SEQUENCE2 + ,'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@FORM_ID) + ,'SELECT T.* FROM VWTEMP_PMO_FORM' + CONVERT(VARCHAR(5),@PARENT_ID2) + ' AS T, TBPMO_RECORD_CONNECT T1 WHERE T.[Record-ID] = T1.RECORD2_ID AND T1.RECORD1_ID = @RecordID' + ,'CREATE_ROUTINE3' + ) + FETCH NEXT FROM c_ENTITY2 INTO @FORM_ID,@PARENT_ID2,@SEQUENCE2 + END + CLOSE c_ENTITY2 + DEALLOCATE c_ENTITY2 + END + END + --############### + + FETCH NEXT FROM c_ENTITY1 INTO @FORM_ID,@PARENT_ID,@SEQUENCE + END + + CLOSE c_ENTITY1 + DEALLOCATE c_ENTITY1 +END +GO +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO +ALTER TABLE TBPMO_RECORD +ADD NODE_GUID INTEGER +GO +ALTER TABLE TBPMO_WORKFLOW +ADD MANUALLY BIT NOT NULL DEFAULT 0 +GO + +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID) + SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID + ELSE + SET @MAX_ID = 1 + + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql new file mode 100644 index 0000000..cb1bf86 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.5.sql @@ -0,0 +1,348 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.5' where NAME = 'Record-Organizer' +GO +Create FUNCTION [dbo].[FNPMO_GET_WINDREAM_VKT_INT](@pdwDocID INTEGER,@pdwAttributID INTEGER) +RETURNS VARCHAR(4000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(4000), + @VALUE INTEGER + + + + DECLARE c_RESULT CURSOR FOR SELECT [dwValue] FROM [172.24.12.41\BRAINPOOL].[windream60].[dbo].[Vector] + where dwDocID = @pdwDocID and dwAttrID = @pdwAttributID + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + CONVERT(VARCHAR(30),@VALUE) + '#' + ELSE + SET @RESULT = '#' + CONVERT(VARCHAR(30),@VALUE) + '#' + FETCH NEXT FROM c_RESULT INTO @VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END + + +CREATE TABLE TBPMO_INDEX_MAN +( + GUID INT IDENTITY(1,1), + DOCTYPE_ID INT NOT NULL, + [ENTITY_ID] INT NOT NULL, + NAME VARCHAR(50) NOT NULL, + COL_VISIBLE BIT DEFAULT 1 NOT NULL, + COLUMN_CAPTION VARCHAR(50) DEFAULT '' NOT NULL, + ECM_INDEX VARCHAR(50) DEFAULT '' NOT NULL, + COMMENT VARCHAR(250), + DATATYPE VARCHAR(50), + SUGGESTION BIT DEFAULT 0 NOT NULL, -- 1 - Es wird Eingabe vorgeschlagen, bei 0 - manuelle Eingabe. + DEFAULT_VALUE VARCHAR(100) NOT NULL DEFAULT '', + CONNECTION_ID SMALLINT DEFAULT 0, + SEQUENCE INTEGER NOT NULL DEFAULT 1, + SQL_RESULT VARCHAR(2000) NOT NULL DEFAULT '', + SQL_CHECK VARCHAR(2000) NOT NULL DEFAULT '', + OPTIONAL BIT DEFAULT 0 NOT NULL, + SAVE_VALUE BIT DEFAULT 0 NOT NULL, + ACTIVE BIT DEFAULT 1 NOT NULL, -- 1 - Index aktiv, bei 0 - inaktiv. + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_INDEX_MAN PRIMARY KEY(GUID), + CONSTRAINT FK_TBPMO_INDEX_MAN_DOCTYPE_ID FOREIGN KEY(DOCTYPE_ID) REFERENCES TBDD_DOKUMENTART(GUID), + CONSTRAINT FK_TBPMO_INDEX_MAN_CID FOREIGN KEY(CONNECTION_ID) REFERENCES TBDD_CONNECTION(GUID) +) +GO +------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_INDEX_MAN_AFT_UPD ON TBPMO_INDEX_MAN +FOR UPDATE +AS +BEGIN + UPDATE TBPMO_INDEX_MAN SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_INDEX_MAN.GUID = INSERTED.GUID +END +GO +CREATE TABLE TBPMO_DOC_INDICES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [DocID] INTEGER NOT NULL, + [INDEX_ID] INTEGER NOT NULL, + [VALUE] VARCHAR(MAX) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_INDICES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOC_INDICES_INDEX_ID FOREIGN KEY([INDEX_ID]) REFERENCES TBPMO_INDEX_MAN(GUID), +) +GO + +CREATE TRIGGER TBPMO_DOC_INDICES_AFT_UPD ON TBPMO_DOC_INDICES +FOR UPDATE +AS + UPDATE TBPMO_DOC_INDICES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_INDICES.[DocID] = INSERTED.[DocID] +GO +ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG +ADD VISIBLE BIT NOT NULL DEFAULT 1 +CREATE TABLE TBPMO_DOCRESULT_LIST +( + [DocID] INTEGER NOT NULL, + [ENTITY_ID] VARCHAR(500) NOT NULL, + [RECORD_ID] VARCHAR(500) NOT NULL, + [PARENT_ID] VARCHAR(500) NOT NULL, + [DISPLAY_NAME] VARCHAR(250) NOT NULL, + [FULL_FILENAME] VARCHAR(5000) NOT NULL, + [Filename] VARCHAR(500) NOT NULL, + [Doctype] VARCHAR(250) NOT NULL, + [Version] SMALLINT NOT NULL DEFAULT 0, + [Objecttype] VARCHAR(250) NOT NULL, + Creation_DateTime DATETIME NOT NULL, + Change_DateTime DATETIME, + STRING1 VARCHAR(500), + STRING2 VARCHAR(500), + STRING3 VARCHAR(500), + STRING4 VARCHAR(500), + STRING5 VARCHAR(500), + STRING6 VARCHAR(500), + STRING7 VARCHAR(500), + STRING8 VARCHAR(500), + STRING9 VARCHAR(500), + STRING10 VARCHAR(500), + IN_WORK BIT NOT NULL DEFAULT 0, + IN_WORK_USER VARCHAR(250), + IN_WORK_COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCRESULT_LIST PRIMARY KEY ([DocID]) +) +GO + +CREATE TRIGGER TBPMO_DOCRESULT_LIST_AFT_UPD ON TBPMO_DOCRESULT_LIST +FOR UPDATE +AS + UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID] +GO +USE [DD_ECM_RENOLIT] +GO + +CREATE VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS +SELECT + T.dwDocID as DocID + ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,339) AS [ENTITY_ID] + ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,338) AS [RECORD_ID] + ,[dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,340) AS [PARENT_ID] + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME + ,szLongName as [Filename], + T.szText39 AS Doctype + ,T.dwVersionNumber AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Creation_DateTime + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE +FROM + [172.24.12.41\SDD_VMX02_APS02].windream60.dbo.BaseAttributes T + ,[172.24.12.41\SDD_VMX02_APS02].windream60.dbo.ObjectType T1 +WHERE + --T.dwObjectTypeID > 23 AND + T.dwObjectTypeID = T1.dwObjectTypeID + AND [dbo].[FNPMO_GET_WINDREAM_VKT_INT](T.dwDocID,338) is not null + +GO + + +--- + +CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CREATE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @ENTITY_ID VARCHAR(500), + @RECORD_ID VARCHAR(500), + @PARENT_ID VARCHAR(500), + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID,ISNULL([ENTITY_ID],0),RECORD_ID,ISNULL(PARENT_ID,0),[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'),[Filename],[Doctype],[Version],Objecttype, + Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SEARCH --WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [ENTITY_ID], + [RECORD_ID], + [PARENT_ID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @ENTITY_ID, + @RECORD_ID, + @PARENT_ID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + --##### + FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @ENTITY_ID VARCHAR(500), + @RECORD_ID VARCHAR(500), + @PARENT_ID VARCHAR(500), + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID,ISNULL([ENTITY_ID],0),RECORD_ID,ISNULL(PARENT_ID,0),[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), + [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, + Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [ENTITY_ID], + [RECORD_ID], + [PARENT_ID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @ENTITY_ID, + @RECORD_ID, + @PARENT_ID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [ENTITY_ID] = @ENTITY_ID, + [RECORD_ID] = @RECORD_ID, + [PARENT_ID] = @PARENT_ID, + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@ENTITY_ID,@RECORD_ID,@PARENT_ID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_INDEX_MAN WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +CREATE VIEW VWPMO_DOC_INDICES AS +SELECT + T.DocID, + T.VALUE, + T1.COLUMN_CAPTION, + T1.GUID AS INDEX_ID, + T1.NAME AS INDEX_NAME +FROM + TBPMO_DOC_INDICES T, + TBPMO_INDEX_MAN T1 +WHERE + T.INDEX_ID = T1.GUID AND + T1.COL_VISIBLE = 1 \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql new file mode 100644 index 0000000..be72975 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.6.sql @@ -0,0 +1,48 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.6' where NAME = 'Record-Organizer' +GO + +CREATE TABLE TBPMO_DOC_USER_VIEW +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + [FILE_EXTENSION] VARCHAR(10) NOT NULL, + [VIEWER] VARCHAR(100) NOT NULL DEFAULT 'DOC_VIEW', + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_USER_VIEW PRIMARY KEY ([GUID]), + CONSTRAINT FK_PK_TBPMO_DOC_USER_VIEW_USER_ID FOREIGN KEY(USER_ID) REFERENCES TBDD_USER(GUID) +) +GO + +CREATE TRIGGER TBPMO_DOC_USER_VIEW_UPD ON TBPMO_DOC_USER_VIEW +FOR UPDATE +AS + UPDATE TBPMO_DOC_USER_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_USER_VIEW.GUID = INSERTED.GUID +GO + +ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES +ADD MANUAL_SUBFOLDER BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE [dbo].[TBPMO_INDEX_MAN] DROP CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] +GO +ALTER TABLE [dbo].[TBPMO_INDEX_MAN] WITH CHECK ADD CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] FOREIGN KEY([DOCTYPE_ID]) +REFERENCES [dbo].[TBDD_DOKUMENTART] ([GUID]) +GO +ALTER TABLE [dbo].[TBPMO_INDEX_MAN] CHECK CONSTRAINT [FK_TBPMO_INDEX_MAN_DOCTYPE_ID] +GO + +ALTER TABLE [dbo].[TBPMO_DOC_INDICES] DROP CONSTRAINT [PK_TBPMO_DOC_INDICES] +GO +ALTER TABLE [dbo].[TBPMO_DOC_INDICES] +ADD GUID INTEGER NOT NULL IDENTITY(1,1) +GO +ALTER TABLE [dbo].[TBPMO_DOC_INDICES] ADD CONSTRAINT [PK_TBPMO_DOC_INDICES] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql new file mode 100644 index 0000000..f1dfba1 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.7.sql @@ -0,0 +1,1836 @@ +SELECT PRODUCT_VERSION FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer') +GO +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.7' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_FORM +ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.YYYY' +GO +USE [DD_ECM] +GO + +/****** Object: StoredProcedure [dbo].[PRPMO_DOCRESULT_CHANGE] Script Date: 10.08.2016 11:12:11 ******/ +SET ANSI_NULLS ON +GO + +SET QUOTED_IDENTIFIER ON +GO + +ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), + [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, + Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE + CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +ALTER TABLE TBPMO_FORM_SQL +ALTER COLUMN SQL_COMMAND VARCHAR(8000) +GO +ALTER TABLE TBPMO_FOLLOW_UP_EMAIL +ADD CTRL_USER_DIRECT INTEGER +GO + +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP + +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE + FROM DELETED + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + + + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + BEGIN + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + END + END + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_INS] ON [dbo].[TBPMO_FORM_VIEW] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @ADDED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100), + @ENTITY_ID INTEGER, + @DOC_VIEW BIT + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @ADDED_WHO = ADDED_WHO, + @ENTITY_ID = FORM_ID, + @DOC_VIEW = DOCUMENT_VIEW + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@ADDED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('de-DE',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION,ADDED_WHO) VALUES + ('en-US',@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE,@ADDED_WHO) + + IF @DOC_VIEW = 1 + BEGIN + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Filename','Dateiname') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Doctype','Dokumentart') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'IN_WORK','in work?',50,2) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Change_DateTime','Geändert',100,3) + --#### + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Filename','Filename') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Doctype','Doctype') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3) + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3) + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100), + @ENTITY_ID INTEGER, + @DOC_VIEW BIT + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO, + @ENTITY_ID = FORM_ID, + @DOC_VIEW = DOCUMENT_VIEW + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + IF UPDATE (FORM_TITLE) + BEGIN + IF @LANGUAGE is not null + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END + IF UPDATE(DOCUMENT_VIEW) + IF @DOC_VIEW = 1 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Filename','Dateiname') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Doctype','Dokumentart') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'IN_WORK','in work?',50) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'Creation_DateTime','Erstellt',100) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'de-DE' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'Change_DateTime','Geändert',100) + + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Filename','Filename') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Doctype','Doctype') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'en-US','IN_WORK','in work?',50) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'en-US','Creation_DateTime','Created',100) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE LANGUAGE = 'en-US' AND ENTITY_ID = @ENTITY_ID AND + COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH) VALUES + (@ENTITY_ID,'en-US','Change_DateTime','Changed',100) + END + ELSE + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO +--##################### NOT +ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE +ADD COMMENT VARCHAR(1000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_WORKFLOW_TASK +ADD STATE_DESCRIPTION VARCHAR(1000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE +ADD INACTIVE BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW_TASK +ADD USER_SELECT VARCHAR(3000) DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' +GO +ALTER TABLE TBPMO_WORKFLOW_TASK +ADD FINISHED BIT NOT NULL DEFAULT 0 +GO +UPDATE TBPMO_WORKFLOW_TASK SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' +GO +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + W_T.GUID AS WF_TASK_ID + ,R.GUID AS WF_ID + ,W_T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,R.DESCRIPTION + ,W_T.COMMENT + ,W_T.DUE_DATE + ,W_T.ADDED_WHEN + ,W_T.CHANGED_WHO + ,W_T.CHANGED_WHEN + ,W_T.TASK_DATE + ,T.FINAL + ,T.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION + ,FINISHED +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_WORKFLOW_TASK W_T + ,TBPMO_WORKFLOW R + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 + ,TBPMO_RECORD REC +WHERE + --W_T.RECORD_ID = 95 AND + --TBPMO_WORKFLOW_ENTITY_STATE + T.WF_ID = R.GUID AND + T.ENTITY_ID = T3.GUID AND + T.STATE_ID = T5.GUID AND + W_T.RECORD_ID = REC.GUID AND + T.ENTITY_ID = REC.FORM_ID AND + W_T.WF_ID = R.GUID AND + R.GUID = R.GUID AND + T3.GUID = T4.FORM_ID AND + W_T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND + W_T.ACTIVE = 1 +ORDER BY W_T.RECORD_ID,W_T.GUID +GO + +CREATE TABLE TBPMO_WORKFLOW_REMINDER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + REMINDER_TYPE_ID INTEGER NOT NULL DEFAULT '1', + RECORD_ID INTEGER NOT NULL, + ENTITY_ID INTEGER, + WF_ID INTEGER NOT NULL, + EMAIL_ADRESS VARCHAR(100) NOT NULL, + EMAIL_SUBJ VARCHAR(500) NOT NULL, + EMAIL_BODY VARCHAR(500) NOT NULL, + EMAIL_SENT DATETIME, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_WORKFLOW_REMINDER PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_REMINDER_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID) +) +GO +CREATE TRIGGER TBPMO_WORKFLOW_REMINDER_AFT_UPD ON TBPMO_WORKFLOW_REMINDER +FOR UPDATE +AS + UPDATE TBPMO_WORKFLOW_REMINDER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_REMINDER.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPMO_WORKFLOW_TASK_HISTORY( + GUID INTEGER IDENTITY(1,1) NOT NULL, + WF_TASK_ID INTEGER NOT NULL, + STATE_ID INTEGER, + STATE_DESC VARCHAR(500) NOT NULL, + COMMENT VARCHAR(1000) NOT NULL, + ADDED_WHO VARCHAR(100) NOT NULL, + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CONSTRAINT PK_TBPMO_WORKFLOW_TASK_HISTORY PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_WORKFLOW_TASK_HISTORY_RECORD_ID FOREIGN KEY (WF_TASK_ID) REFERENCES TBPMO_WORKFLOW_TASK (GUID) +) +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW_TASK] +FOR UPDATE +AS +BEGIN +DECLARE + @GUID INTEGER, + @STATE_ID INTEGER, + @WF_ID INTEGER, + @STATE VARCHAR(200), + @COMMENT VARCHAR(500), + @CHANGED_WHO VARCHAR(50), + @BUDGET_RESP VARCHAR(50), + @RECORD_ID INTEGER, + @ENTITY_ID INTEGER, + @EMAIL VARCHAR(250), + @SUBJECT VARCHAR(250), + @BODY VARCHAR(500), + @USER_ID INTEGER + SELECT + @GUID = GUID, + @WF_ID = WF_ID, + @STATE_ID = STATE_ID, + @COMMENT = COMMENT, + @CHANGED_WHO = CHANGED_WHO, + @RECORD_ID = RECORD_ID + FROM INSERTED + + UPDATE TBPMO_WORKFLOW_TASK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID + + /*######## KUNDEN INDIVIDUELL ########*/ + SELECT @STATE = STATE_DESC FROM TBPMO_WORKFLOW_TASK_STATE WHERE GUID = @STATE_ID + IF NOT EXISTS(SELECT GUID FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID = @GUID AND STATE_ID = @STATE_ID AND + STATE_DESC = @STATE AND COMMENT = COMMENT) + INSERT INTO TBPMO_WORKFLOW_TASK_HISTORY (WF_TASK_ID,STATE_ID,STATE_DESC,COMMENT,ADDED_WHO) VALUES + (@GUID,@STATE_ID,@STATE,@COMMENT,@CHANGED_WHO) + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + /*WORKFLOW PURCHASE CONTRACTS*/ + IF @WF_ID = 1 AND @STATE_ID = 10 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 11 + END + IF @WF_ID = 1 AND @STATE_ID = 11 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 10 + END + IF @STATE_ID IN (14,15) + BEGIN + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID = @GUID + SELECT @BUDGET_RESP = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = 103 AND RECORD_ID = @RECORD_ID + SELECT @USER_ID = GUID FROM TBDD_USER WHERE PRENAME + ' ' + NAME = @BUDGET_RESP + SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID + INSERT INTO TBPMO_WORKFLOW_TASK_USER (WF_TASK_ID,USER_ID,ADDED_WHO) VALUES (@GUID,@USER_ID,'WORKFOW_ROUTER') + END + IF @WF_ID = 1 AND @STATE_ID = 14 + BEGIN + + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 15 + + SET @SUBJECT = 'Workflow - Renewal of Contract' + SET @BODY = 'A purchase contract needs approval for renewing!
' + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) + END + IF @WF_ID = 1 AND @STATE_ID = 15 + BEGIN + UPDATE TBPMO_WORKFLOW_ENTITY_STATE SET INACTIVE = 1 WHERE WF_ID = @WF_ID AND ENTITY_ID = 13 AND STATE_ID = 14 + SET @SUBJECT = 'Workflow - Purchase Contract cancelled' + SET @BODY = 'A purchase contract was cancelled - Please add some more information!
' + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@GUID,@EMAIL,@SUBJECT,@BODY,@CHANGED_WHO) + END + IF @WF_ID = 1 AND @STATE_ID = 16 + BEGIN + UPDATE TBPMO_WORKFLOW_TASK SET FINISHED = 1 FROM INSERTED WHERE TBPMO_WORKFLOW_TASK.GUID = INSERTED.GUID + END + /*######## ENDE KUNDEN_INDIVIDUELL ########*/ +END +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_TASK_USER_AFT_INS] ON [dbo].[TBPMO_WORKFLOW_TASK_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @STATE_ID INTEGER, + @ENTITY_ID INTEGER, + @EMAIL VARCHAR(100), + @MSG VARCHAR(100), + @ADDED_WHO VARCHAR(50), + @WF_TASK_ID INTEGER, + @USER_ID INTEGER, + @SUBJECT VARCHAR(300), + @BODY VARCHAR(100) + SELECT + @WF_TASK_ID = GUID, + @USER_ID = USER_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + /*######## KUNDEN INDIVIDUELL ########*/ + IF @ADDED_WHO <> 'WORKFOW_ROUTER' + BEGIN + SELECT @EMAIL = EMAIL FROM TBDD_USER WHERE GUID = @USER_ID + SELECT @RECORD_ID = RECORD_ID, @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_TASK WHERE GUID = @WF_TASK_ID + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + SET @MSG = '@ENTITY_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) + ' - STATE-ID: ' + CONVERT(VARCHAR(10),@STATE_ID) + IF @ENTITY_ID = 13 AND @STATE_ID = 10 + BEGIN + SET @SUBJECT = 'PURCHASE CONTRACTS RENEWAL PROCESS' + SET @BODY = 'Workflow Purchasing Contracts
Please check wether contract needs to be renewed!' + END + IF @ENTITY_ID = 13 AND @STATE_ID = 11 + BEGIN + SET @SUBJECT = 'PURCHASE CONTRACTS PROJECT NEEDED' + SET @BODY = 'Workflow Purchasing Contracts
Please advice system with information about project setup!' + END + + IF @ENTITY_ID = 13 AND @STATE_ID in (10,11) + BEGIN + INSERT INTO TBPMO_WORKFLOW_REMINDER (RECORD_ID,REMINDER_TYPE_ID,ENTITY_ID,WF_ID,EMAIL_ADRESS,EMAIL_SUBJ,EMAIL_BODY,ADDED_WHO) VALUES + (@RECORD_ID,2,@ENTITY_ID,@WF_TASK_ID,@EMAIL,@SUBJECT,@BODY,@ADDED_WHO) + --RAISERROR ('IF', 16, 1) + END + --ELSE + --RAISERROR (@MSG, 16, 1) + END + /*######## ENDE ########*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_WORKFLOW_AFT_UPD] ON [dbo].[TBPMO_WORKFLOW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100) + SELECT + @GUID = GUID, + @TITLE = TITLE, + @SCREEN_ID = 1, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE USERNAME = @CHANGED_WHO + + SET @PMO_OBJECT_NAME = 'TASK_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_WORKFLOW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_WORKFLOW.GUID = INSERTED.GUID + + IF @CHANGED_WHO IS NOT NULL + BEGIN + If exists(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN Trigger: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_WORKFLOW +ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW +ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW +ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' +GO +UPDATE TBPMO_WORKFLOW SET USER_SELECT = 'SELECT GUID as [User-ID], NAME + '', '' + PRENAME AS [User],EMAIL FROM TBDD_USER WHERE MODULE_RECORD_ORG = 1' +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID) + SELECT @MAX_ID = MAX(RECORD_ENTITY_ID) + 1 + FROM TBPMO_RECORD WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID + ELSE + SET @MAX_ID = 1 + + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + AND T1.CREATE_ON_REC_CREATE = 1 + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER) +AS +BEGIN + DECLARE + @WF_ID INTEGER, + @TITLE VARCHAR(50), + @SEQUENCE INTEGER, + @MELDUNG VARCHAR(250), + @STATE_ID INTEGER, + @SELECT_USER VARCHAR(3000) + + DECLARE c_TASK CURSOR FOR + SELECT DISTINCT WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @WF_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID) + SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID + --IF @STATE_ID IS NOT NULL + BEGIN + --INSERT DES TASKS + INSERT INTO TBPMO_WORKFLOW_TASK( + RECORD_ID, + WF_ID, + ACTIVE, + STATE_ID, + USER_SELECT) + VALUES ( + @RECORD_ID, + @WF_ID, + 1, + @STATE_ID, + @SELECT_USER) + END + + FETCH NEXT FROM c_TASK INTO @WF_ID + END + CLOSE c_TASK + DEALLOCATE c_TASK + END +GO +--##### +DELETE FROM TBPMO_CONTROL_VALUE Where VALUE is null +GO +ALTER TABLE TBDD_USER +ADD DATE_FORMAT VARCHAR(10) NOT NULL DEFAULT 'dd.MM.yyyy' +GO +UPDATE TBDD_USER SET DATE_FORMAT = 'dd-MM-yyyy' where guid in( +Select GUID from TBDD_USER where USERNAME like 'NL%') +GO + +--###### +DECLARE @ID INTEGER, + @VALUE VARCHAR(30), + @VALUE_CONV VARCHAR(30) +DECLARE c_Values CURSOR FOR + SELECT T.[GUID] + ,T.[VALUE] + --,CONVERT(VARCHAR(30),CONVERT(DATE,T.[VALUE])) + FROM TBPMO_CONTROL_VALUE T, TBPMO_CONTROL T1 WHERE T.CONTROL_ID = T1.GUID AND T1.CONTROL_TYPE_ID = 4 +OPEN c_Values + FETCH NEXT FROM c_Values INTO @ID,@VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT @VALUE + SET @VALUE_CONV = CONVERT(VARCHAR(10),CONVERT(DATE,@VALUE)) + UPDATE TBPMO_CONTROL_VALUE SET VALUE = @VALUE_CONV,CHANGED_WHO = 'Digital Data Converter' WHERE GUID = @ID + --PRINT 'UPDATED' + --##### + FETCH NEXT FROM c_Values INTO @ID,@VALUE + END +CLOSE c_Values +DEALLOCATE c_Values + +--###### +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE + FROM DELETED + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + IF @CHANGED_WHO <> 'Digital Data Converter' + BEGIN + IF @REDO = 0 AND @CHANGED_WHO Is Not null + IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + BEGIN + If @VALUE_OLD <> @VALUE_NEW AND @CHANGED_WHO Is Not null + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + END + END + + END + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +DROP TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION +GO +CREATE TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION +( + GUID INTEGER NOT NULL IDENTITY(1,1), + PARENT_NODE INTEGER NOT NULL DEFAULT 0, + CONTROL_ID INTEGER NOT NULL, + NAME VARCHAR(50) NOT NULL, + [ENTITY_ID] INTEGER NOT NULL, + [TYPE_NODE] SMALLINT NOT NULL DEFAULT 1, + NODE_IMAGE VARBINARY(MAX), + CREATE_RECORD BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES_CONFIGURATION PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_CONFIGURATION_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_CONFIGURATION_AFT_UPD ON TBPMO_STRUCTURE_NODES_CONFIGURATION +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES_CONFIGURATION.GUID = INSERTED.GUID +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DROP TABLE TBPMO_STRUCTURE_NODES +GO +CREATE TABLE TBPMO_STRUCTURE_NODES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER, + NODE_CONFIG_ID INTEGER NOT NULL, + NODE_CAPTION VARCHAR(250) NOT NULL, + ID1 VARCHAR(100), + ID2 VARCHAR(100), + ID3 VARCHAR(100), + PARENT_GUID INTEGER NOT NULL DEFAULT 0, + BOOL1 BIT NOT NULL DEFAULT 0, + BOOL2 BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_STRUCTURE_NODES PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_STRUCTURE_NODES_NODE_CONFIG_ID FOREIGN KEY (NODE_CONFIG_ID) REFERENCES TBPMO_STRUCTURE_NODES_CONFIGURATION (GUID), +) +GO +CREATE TRIGGER TBPMO_STRUCTURE_NODES_AFT_UPD ON TBPMO_STRUCTURE_NODES +FOR UPDATE +AS + UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID +GO +CREATE VIEW VWPMO_STRUCTURE_NODES AS +select + T.*, + T1.CONTROL_ID, + T1.CREATE_RECORD, + T1.ENTITY_ID, + T1.NAME, + T1.TYPE_NODE + from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 +WHERE T.NODE_CONFIG_ID = T1.GUID + + +ALTER TABLE TBPMO_FOLDERWATCH_USER +ADD SUBDIRECTORIES BIT NOT NULL DEFAULT 0 +GO +DROP TABLE TBPMO_ENTITY_SUPERVISOR +GO +CREATE TABLE TBPMO_ENTITY_SUPERVISOR +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + RIGHT1 VARCHAR(100) NOT NULL DEFAULT '7', + RIGHT2 VARCHAR(100), + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_SUPERVISOR PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID), + CONSTRAINT FK_TBPMO_ENTITY_SUPERVISOR_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_SUPERVISOR_AFT_UPD ON TBPMO_ENTITY_SUPERVISOR +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_SUPERVISOR SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_SUPERVISOR.GUID = INSERTED.GUID +GO +DROP TABLE TBPMO_DOC_RECORD_LINK +GO +CREATE TABLE TBPMO_DOC_RECORD_LINK +( + GUID INTEGER NOT NULL IDENTITY(1,1), + RECORD_ID INTEGER NOT NULL, + DOC_ID INTEGER NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_RECORD_LINK PRIMARY KEY (GUID), + CONSTRAINT UQ_RECORD_ID_DOC_ID UNIQUE(RECORD_ID,DOC_ID), + --CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID), + CONSTRAINT FK_TBPMO_DOC_RECORD_LINK_DOC_ID FOREIGN KEY (DOC_ID) REFERENCES TBPMO_DOCRESULT_LIST (DocID) +) +GO +CREATE TRIGGER TBPMO_DOC_RECORD_LINK_AFT_UPD ON TBPMO_DOC_RECORD_LINK +FOR UPDATE +AS + UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_RECORD_LINK.GUID = INSERTED.GUID +GO + + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID + IF OBJECT_ID (N'TBPMO_DOCSEARCH_RESULTLIST_CONFIG', N'U') IS NOT NULL + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(1000), + @SQL_END VARCHAR(2000), + @SQL VARCHAR(8000), + @CONTROL_ID INT, + @RESULT VARCHAR(8000), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(2000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'['+T.COL_NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 and t.CONTROL_TYPE_ID not in (1,5) UNION + SELECT T.GUID,'['+T.NAME+']' AS 'COL_NAME', T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T, TBPMO_CONTROL_SCREEN T1, TBPMO_CONTROL_TYPE T2 WHERE + T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID and t.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(t.SQL_COMMAND_1,'')) > 0 ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID],T.COLOR AS ROW_COLOR, T.FORM_ID AS [Form-ID],' + SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID = 10 OR @TYPEID = 11 + SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + ELSE + BEGIN + IF (@TYPEID = 10) OR (@TYPEID = 11) + SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + ELSE IF @TYPEID = 6 + SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + END + ELSE IF @TYPEID = 12 OR @TYPEID = 7 OR @TYPEID = 14 + SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + ELSE + SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + --PRint '1' + SET @SQL = @SQL + ',(SELECT CASE COUNT(DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [files?]' + --PRint '2' + SET @SQL = @SQL + ',(SELECT COUNT(DocID) AS [files?] FROM VWPMO_WD_DOC_SEARCH WHERE RECORD_ID = T.GUID) AS [file count]' + --PRint '3' + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + --PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT)) + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END + +DELETE FROM TBPMO_DOC_RECORD_LINK +DELETE FROM TBPMO_DOCRESULT_LIST + +ALTER TABLE TBPMO_DOCRESULT_LIST +DROP COLUMN ENTITY_ID +GO +ALTER TABLE TBPMO_DOCRESULT_LIST +DROP COLUMN RECORD_ID +GO +ALTER TABLE TBPMO_DOCRESULT_LIST +DROP COLUMN PARENT_ID +GO + +ALTER VIEW [dbo].[VWPMO_WD_DOC_SYNC] AS +SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + T.szLongName AS FULL_FILENAME + ,szLongName as [Filename], + T.szText33 AS Doctype + ,T.dwVersionNumber AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE +FROM + windream60.dbo.BaseAttributes T + ,windream60.dbo.ObjectType T1 +WHERE + T1.szDocTypeName = 'DEMO - Geschäftsprozesse' + --T.dwObjectTypeID > 23 + --T.dwObjectTypeID > 23 AND + AND + T.dwObjectTypeID = T1.dwObjectTypeID +ORDER BY [Creation_DateTime] +GO + + +ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), + [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, + Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC WHERE + CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID) + + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +/* RENOLIT */ + +ALTER FUNCTION [dbo].[FNPMO_GET_DATEDIFF] (@pTIMESPAN VARCHAR(10),@pVALUE DATE) +RETURNS INTEGER +AS +BEGIN + DECLARE @RESULT AS INTEGER + If @pTIMESPAN = 'Day' + SELECT @RESULT = DATEDIFF(DAY, CONVERT(DATE,getdate()),@pVALUE) + ELSE IF @pTIMESPAN = 'Month' + SELECT @RESULT = DATEDIFF(MONTH, getdate(),@pVALUE) + ELSE IF @pTIMESPAN = 'Week' + SELECT @RESULT = DATEDIFF(WEEK, getdate(),@pVALUE) + --PRINT 'RESULT: W:\' + @RESULT + '\' + RETURN @RESULT +END +GO +ALTER VIEW [dbo].[VWPMO_FOLLOW_UP_EMAIL] AS +SELECT + T1.GUID FOLLOW_UP_ID, + T1.NAME, + T1.FOLLOW_UP_SEQUENCE, + T1.FOLLOW_UP_DAYS, + T1.FOLLOW_UP_TIME_SPAN, + CONVERT(CHAR(5),GETDATE(),108) NOW_TIME, + T.RECORD_ID, + CONVERT(DATE,T.VALUE) VALUE, + T1.EMAIL_SUBJECT, + T1.EMAIL_BODY, + T1.PROCESS_SELECT1, + T1.PROCESS_SELECT2, + T1.PROCESS_SELECT3, + T1.PROCESS_SELECT4, + T1.PROCESS_SELECT5, + T1.PROCESS_SELECT6, + T1.PROCESS_SELECT7, + T1.PROCESS_SELECT8, + T1.PROCESS_SELECT9, + T1.PROCESS_SELECT10, + T1.TIME_UNITY, + T1.TIME_DIST, + CONVERT(INT,T1.TIME_SPAN) TIME_SPAN + ,CONVERT(INT,[dbo].[FNPMO_GET_DATEDIFF] (T1.TIME_UNITY ,T.VALUE)) TODAY_TIME_SPAN + ,T.VALUE DATE_VALUE, + T1.DEPENDENT_DATE_CTRL_ID, + T1.DEPENDENT_DONE_CTRL_ID, + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) DONE_VALUE, + T2.GUID AS CONSTRUCTOR_ID, + T2.FORM_TITLE AS CONSTRUCTOR_TITLE, + T1.CTRL_USER_DIRECT, + T1.CTRL_GROUP_DIRECT +FROM + VWPMO_VALUES T, + TBPMO_FOLLOW_UP_EMAIL T1, + TBPMO_FORM_CONSTRUCTOR T2 +WHERE + T1.ACTIVE = 1 AND + (SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = T1.DEPENDENT_DONE_CTRL_ID AND RECORD_ID = T.RECORD_ID) = 'False' And + T.CONTROL_ID = T1.DEPENDENT_DATE_CTRL_ID AND + T1.CONSTRUCTOR_ID = T2.GUID +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBPMO_FILE_IMPORTER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + NAME VARCHAR(100) NOT NULL, + RUN_SEQUENCE VARCHAR(50) NOT NULL DEFAULT 'ONCE_DAILY', + RUN_DAYS VARCHAR(50) NOT NULL DEFAULT '1111100', + RUN_TIME_SPAN VARCHAR(50) NOT NULL DEFAULT '08:00', + HOT_FOLDER VARCHAR(2000) NOT NULL DEFAULT '', + ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '', + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FILE_IMPORTER PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBPMO_FILE_IMPORTER_AFT_UPD ON TBPMO_FOLLOW_UP_EMAIL +FOR UPDATE +AS + UPDATE TBPMO_FILE_IMPORTER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FILE_IMPORTER.GUID = INSERTED.GUID +GO + +ALTER TABLE TBPMO_FILE_IMPORTER +ADD ARCHIVE_FOLDER VARCHAR(2000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_USER +ADD USERID_FK_INT_ECM INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE TBDD_USER +ADD USERID_FK_VARCHAR_ECM VARCHAR(30) NOT NULL DEFAULT '' +GO + +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID,[Filename],REPLACE(REPLACE(FULL_FILENAME,'\\\','\'),'\\','\'), + [Filename],ISNULL([Doctype],'') as Doctype,ISNULL([Version],0) as [Version],Objecttype, + Creation_DateTime,Change_DateTime from VWPMO_WD_DOC_SYNC --WHERE + --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY: ' + CONVERT(VARCHAR(10),@DocID) + + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Filename,@Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +GO + +DECLARE + @DOC_ID INTEGER, + @RECORD_ID INTEGER +DECLARE c_INSERT CURSOR FOR +SELECT + T.dwDocID as DocID + ,T2.[dwValue] +FROM + windream60.[dbo].BaseAttributes T + ,windream60.[dbo].ObjectType T1 + ,windream60.[dbo].[Vector] T2 +WHERE + T.dwObjectTypeID = 6 AND + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.dwDocID = T2.dwDocID + AND T2.dwAttrID = 340 + AND T2.[dwValue] IS NOT NULL +ORDER BY T.dwDocID + OPEN c_INSERT + FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROm TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @DOC_ID AND RECORD_ID = @RECORD_ID) + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES + (@DOC_ID,@RECORD_ID,'SYNC DD') + + FETCH NEXT FROM c_INSERT INTO @DOC_ID,@RECORD_ID + END +CLOSE c_INSERT +DEALLOCATE c_INSERT +GO + +CREATE VIEW VWPMO_WD_OBJECT_RIGHTS AS +SELECT + [dwObjectID], + dwUserOrGroupID, + dwAccessRight, + dwObjectDBID +FROM + windream60.[dbo].[AccessRight] +GO + + +DECLARE + @ENTITY_ID INTEGER, + @CONTROL_ID INTEGER, + @GUID INTEGER, + @VALUE VARCHAR(MAX) + +DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBPMO_FORM + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS] +GO +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + T1.DOCUMENT_VIEW, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO + +CREATE TABLE TBPMO_USER_RIGHTS_JOBS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + USER_ID INTEGER NOT NULL, + ENTITY_ID INTEGER NOT NULL DEFAULT 0, + [COMMENT] VARCHAR(250) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_USER_RIGHTS_JOBS PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_USER_RIGHTS_JOBS_AFT_UPD ON TBPMO_USER_RIGHTS_JOBS +FOR UPDATE +AS + UPDATE TBPMO_USER_RIGHTS_JOBS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_USER_RIGHTS_JOBS.GUID = INSERTED.GUID +GO + + +ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER, + @ECM_USR_ID INTEGER, + @USRNAME VARCHAR(50) + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @USRNAME = USERNAME + FROM INSERTED + + + SELECT @ECM_USR_ID = [dwUserID] + FROM [windream60].[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + + SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + IF @CLIENT_COUNT = 1 + BEGIN + SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +DECLARE + @USERNAME_DD VARCHAR(50), + @USER_ID_WD INTEGER +DECLARE c_INSERT CURSOR FOR + SELECT + UPPER(USERNAME) +FROM + TBDD_USER +WHERE + MODULE_RECORD_ORG = 1 + + OPEN c_INSERT + FETCH NEXT FROM c_INSERT INTO @USERNAME_DD + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_WD = [dwUserID] FROM windream60.dbo.UserInfo WHERE UPPER(szUserName) = @USERNAME_DD AND szNTDomain = 'LOCAL.ZELLSTOFF-STENDAL.DE' + IF @USER_ID_WD IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @USER_ID_WD + WHERE UPPER(USERNAME) = @USERNAME_DD + + FETCH NEXT FROM c_INSERT INTO @USERNAME_DD + END +CLOSE c_INSERT +DEALLOCATE c_INSERT +GO + + +CREATE TABLE TBPMO_LOG_ESSENTIALS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + REFERENCE_KEY INTEGER NOT NULL DEFAULT '0', + REFERENCE_STRING VARCHAR(50) NOT NULL DEFAULT '', + COMMENT VARCHAR(500) NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_LOG_ESSENTIALS PRIMARY KEY (GUID) +) +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS +BEGIN TRY + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] +FOR DELETE +AS +BEGIN TRY + DECLARE @USER_ID INTEGER + SELECT @USER_ID = deleted.USER_ID FROM deleted + If @USER_ID IS NOT NULL + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TABLE TBPMO_SUPERVISOR_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONTROL_ID INTEGER NOT NULL, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBPMO_SUPERVISOR_CONTROLS PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_INS] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @USERSTRING VARCHAR(50), + @USER_ID INTEGER, + @ECM_USER_ID INTEGER, + @COUNT_FILES INTEGER + SELECT + @CONTROL_ID = CONTROL_ID + FROM INSERTED + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + + DECLARE c_USER CURSOR FOR + SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USERSTRING + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) + IF @USER_ID <> 0 + SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + IF @ECM_USER_ID > 0 + BEGIN + SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID + IF @COUNT_FILES > 0 + IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR ADDED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'SUPERVISOR ADDED','TBPMO_SUPERVISOR_CONTROLS_AFT_INS') + END + + FETCH NEXT FROM c_USER INTO @USERSTRING + END + CLOSE c_USER + DEALLOCATE c_USER +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + + +GO +CREATE TRIGGER [dbo].[TBPMO_SUPERVISOR_CONTROLS_AFT_DEL] ON [dbo].[TBPMO_SUPERVISOR_CONTROLS] +FOR DELETE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @ENTITY_ID INTEGER, + @USERSTRING VARCHAR(50), + @USER_ID INTEGER, + @ECM_USER_ID INTEGER, + @COUNT_FILES INTEGER + SELECT @CONTROL_ID = deleted.CONTROL_ID FROM deleted + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + + DECLARE c_USER CURSOR FOR + SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USERSTRING + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@USERSTRING) + + IF @USER_ID <> 0 + SELECT @ECM_USER_ID = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + IF @ECM_USER_ID > 0 + BEGIN + SELECT @COUNT_FILES = COUNT(DocID) FROM VWPMO_WD_DOC_SEARCH where DocID in (SELECT [dwObjectID] FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @ECM_USER_ID) AND ENTITY_ID = @ENTITY_ID + IF @COUNT_FILES > 0 + IF NOT EXISTS (SELECT GUID FROM TBPMO_USER_RIGHTS_JOBS WHERE COMMENT = 'SUPERVISOR DELETED' AND ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,ENTITY_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'SUPERVISOR DELETED','TBPMO_SUPERVISOR_CONTROLS_AFT_DEL') + END + FETCH NEXT FROM c_USER INTO @USERSTRING + END + CLOSE c_USER + DEALLOCATE c_USER +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE FUNCTION [dbo].[FNPMO_GET_USERID_FORSTRING](@USERSTRING VARCHAR(50)) +RETURNS INTEGER +AS +BEGIN + DECLARE @USER_ID AS INTEGER + SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@USERSTRING) + IF @USER_ID IS NULL + SELECT @USER_ID = GUID FROM TBDD_USER WHERE UPPER(PRENAME + NAME) = REPLACE(UPPER(@USERSTRING),' ','') + IF @USER_ID IS NULL + SELECT @USER_ID = GUID FROM TBDD_USER WHERE REPLACE(UPPER(NAME + ',' + PRENAME),' ','') = REPLACE(UPPER(@USERSTRING),' ','') + RETURN(ISNULL(@USER_ID,0)) +END +GO +CREATE VIEW VWPMO_SUPERVISOR_CONTROL AS +select + T1.RECORD_ID, + T.CONTROL_ID, + T2.[FORM_ID], + dbo.[FNPMO_GET_USERID_FORSTRING] (T1.VALUE) as [USER_ID] +FROM + TBPMO_SUPERVISOR_CONTROLS T, + TBPMO_CONTROL_VALUE T1, + TBPMO_CONTROL T2 +WHERE + T.CONTROL_ID = T1.CONTROL_ID + AND T.CONTROL_ID = T2.GUID +GO +DROP TRIGGER [dbo].[TBPM_USER_AFT_DEL] +GO +CREATE TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER] +FOR DELETE +AS +DECLARE @USER_ID INTEGER +BEGIN + SELECT @USER_ID = GUID FROM DELETED + IF @USER_ID IN (0,1) + BEGIN + ROLLBACK TRANSACTION + RAISERROR('THIS USER CAN NOT BE DELETED!',16,10) + END + ELSE + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER-ID','USER DELETED',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) + END +END +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql new file mode 100644 index 0000000..5920fb1 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.8.sql @@ -0,0 +1,394 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.8' where NAME = 'Record-Organizer' +GO +DROP TABLE TBPMO_RIGHTS_WORK_SERVICE +CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE +( + GUID INTEGER NOT NULL IDENTITY(1,1), + DOC_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + RIGHT_MODIFY VARCHAR(30) NOT NULL, + FILE_RIGHT VARCHAR(100) NOT NULL, + REASON VARCHAR(100) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + WORKING BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE +FOR UPDATE +AS + UPDATE TBPMO_RIGHTS_WORK_SERVICE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE.GUID = INSERTED.GUID +GO +--DROP TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +CREATE TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +( + GUID INTEGER NOT NULL IDENTITY(1,1), + DOC_ID INTEGER NOT NULL, + DOC_PATH VARCHAR(1000) NOT NULL, + USER_STRING VARCHAR(500) NOT NULL, + FILE_RIGHT INTEGER NOT NULL, + RIGHT_TYPE VARCHAR(100) NOT NULL, + WORKED BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'SERVICE', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME + CONSTRAINT PK_TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT_AFT_UPD ON TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT +FOR UPDATE +AS + UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT.GUID = INSERTED.GUID +GO +--DROP TABLE TBPMO_ENTITY_RIGHT_CONTROLS +CREATE TABLE TBPMO_ENTITY_RIGHT_CONTROLS +( + GUID INTEGER NOT NULL IDENTITY(1,1), + ENTITY_ID INTEGER NOT NULL, + CONTROL_ID INTEGER NOT NULL, + USED_FOR VARCHAR(50) NOT NULL DEFAULT '', + USER_GROUP VARCHAR(10) NOT NULL DEFAULT 'USER', + COMMENT VARCHAR(300), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_RIGHT_CONTROLS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_CONTROL_ID FOREIGN KEY (CONTROL_ID) REFERENCES TBPMO_CONTROL (GUID), + CONSTRAINT FK_TBPMO_ENTITY_RIGHT_CONTROLS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_RIGHT_CONTROLS_AFT_UPD ON TBPMO_ENTITY_RIGHT_CONTROLS +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_RIGHT_CONTROLS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_RIGHT_CONTROLS.GUID = INSERTED.GUID +GO +INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,29,'RIGHT READ/WRITE') +GO +INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,14,'RIGHT READ/WRITE') +GO +INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR) VALUES(1,272,'RIGHT READ/WRITE') +GO +INSERT INTO TBPMO_ENTITY_RIGHT_CONTROLS ([ENTITY_ID],CONTROL_ID,USED_FOR,USER_GROUP) VALUES(1,346,'RIGHT READ','GROUP') +GO + + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONTROL](@pCONTROL_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_FUNCTION_GENERAL WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_STRUCTURE_NODES_CONFIGURATION WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_ENTITY_RIGHT_CONTROLS WHERE CONTROL_ID = @pCONTROL_ID + DELETE FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @RIGHT INTEGER + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE + FROM DELETED + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + + + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + BEGIN + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + END + END + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 29 --Vertragseigner Person + BEGIN + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND WORKING = 0) + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND WORKING = 0 + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + -- ####### Vertragseigner Team ############### + ELSE IF @CONTROL_ID = 14 + BEGIN + DECLARE c_USER CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND WORKING = 0) + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND WORKING = 0 + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + END + FETCH NEXT FROM c_USER INTO @USER_ID + END + CLOSE c_USER + DEALLOCATE c_USER + END + -- ####### RecordSupervisor ############### + --ELSE IF @CONTROL_ID = 227 --RecordSupervisor + -- BEGIN + + -- END + --ELSE IF @CONTROL_ID = 346 --Leseberechtigung CheckableListbox + -- BEGIN + + -- END + + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_NEW VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @RIGHT INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @CONTROL_ID = CONTROL_ID, + @ADDED_WHO = ADDED_WHO, + @VALUE_NEW = VALUE + FROM INSERTED + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 346 + BEGIN + DECLARE c_USER CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND WORKED = 0 AND WORKING = 0) + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND WORKED = 0 AND WORKING = 0 + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'LESEBERECHTIGUNG TEAM' AND USER_ID = @USER_ID AND WORKED = 0) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT', 1,'LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS') + + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + END + FETCH NEXT FROM c_USER INTO @USER_ID + END + CLOSE c_USER + DEALLOCATE c_USER + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE VIEW VWPMO_RIGHTS_2B_WORKED AS +SELECT + T.GUID + ,T.DOC_ID + ,T.USER_ID + ,T1.USERNAME + ,T.RIGHT_MODIFY + ,T.FILE_RIGHT FILE_RIGHT_ID + ,CASE T.FILE_RIGHT + WHEN 3 THEN 'READ/WRITE' + WHEN 1 THEN 'READ' + ELSE T.FILE_RIGHT END AS FILE_RIGHT + ,T.WORKING + ,T.ADDED_WHO + ,T.ADDED_WHEN +FROM + TBPMO_RIGHTS_WORK_SERVICE T, + TBDD_USER T1 +WHERE + T.WORKED = 0 + AND T.USER_ID = T1.GUID +GO +DROP TABLE TBPMO_SERVICE_RIGHT_CONFIG +CREATE TABLE TBPMO_SERVICE_RIGHT_CONFIG +( + GUID TINYINT + ,LOG_ERR_ONLY BIT NOT NULL DEFAULT 1 + ,HOUR_BEGIN INTEGER NOT NULL DEFAULT 6 + ,HOUR_END INTEGER NOT NULL DEFAULT 18 + ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' + ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' + ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' + ,RUN_SERVICE BIT NOT NULL DEFAULT 0 + ,SERVICE_RUN DATETIME + ,SERVICE_FINISHED DATETIME + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SERVICE_RIGHT_CONFIG_GUID PRIMARY KEY(GUID), + CONSTRAINT CH_TBPMO_SERVICE_RIGHT_CONFIG_GUID CHECK(GUID = 1) +) +GO +INSERT INTO TBPMO_SERVICE_RIGHT_CONFIG (GUID,LOG_ERR_ONLY) VALUES (1,1) +GO +CREATE TRIGGER TBPMO_SERVICE_RIGHT_CONFIG_AFT_UPD ON TBPMO_SERVICE_RIGHT_CONFIG +FOR UPDATE +AS + UPDATE TBPMO_SERVICE_RIGHT_CONFIG SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_SERVICE_RIGHT_CONFIG.GUID = INSERTED.GUID +GO +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100)) +AS +BEGIN TRY + DECLARE @GUID INTEGER, + @RIGHT INTEGER + SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE + DOC_ID = @pDOC_ID + AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH) + AND UPPER(USER_STRING) = UPPER(@pUSERSTRING) + IF @GUID = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO) + VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT') + ELSE + BEGIN + SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID + IF @RIGHT <> @pRIGHT + IF @RIGHT < @pRIGHT + UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID + END +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBPMO_ENTITY_USERRIGHT_ADDING +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,ENTITY_ID INTEGER + ,AD_DOMAIN VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER VARCHAR(250) NOT NULL DEFAULT '' + ,AD_USER_PW VARCHAR(500) NOT NULL DEFAULT '' + ,AD_SERVER VARCHAR(250) NOT NULL DEFAULT '' + ,WD_RIGHT INTEGER NOT NULL DEFAULT '141' + ,ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' + ,ADDED_WHEN DATETIME DEFAULT GETDATE() + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_ENTITY_USERRIGHT_ADDING_GUID PRIMARY KEY(GUID), + CONSTRAINT UQ_TBPMO_ENTITY_USERRIGHT_ADDING_GUID UNIQUE(ENTITY_ID) +) +GO +CREATE TRIGGER TBPMO_ENTITY_USERRIGHT_ADDING_AFT_UPD ON TBPMO_ENTITY_USERRIGHT_ADDING +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_USERRIGHT_ADDING SET CHANGED_WHEN = GETDATE() FROM INSERTED + WHERE TBPMO_ENTITY_USERRIGHT_ADDING.GUID = INSERTED.GUID +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql new file mode 100644 index 0000000..925ad2a --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.5.9.sql @@ -0,0 +1,391 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.5.9' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_USER +ADD GENERAL_VIEWER VARCHAR(30) NOT NULL DEFAULT 'NONE' +GO +UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET TYPE_ID = 2 WHERE COLUMN_VIEW = 'IN_WORK' and TYPE_ID = 1 +GO +CREATE TABLE TBPMO_SELECTION_DATA +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,VALUE VARCHAR(250) NOT NULL + ,COMMENT VARCHAR(250) + ,ID_TYPE INTEGER NOT NULL + ,SEQUENCE TINYINT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_SELECTION_DATA PRIMARY KEY (GUID) +) +GO +CREATE TRIGGER TBPMO_SELECTION_DATA_AFT_UPD ON TBPMO_SELECTION_DATA +FOR UPDATE +AS + UPDATE TBPMO_SELECTION_DATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_SELECTION_DATA.GUID = INSERTED.GUID +GO +INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES +('NONE', 'GENERAL-VIEWER',1,0) +GO +INSERT INTO TBPMO_SELECTION_DATA (VALUE,COMMENT,ID_TYPE,SEQUENCE) VALUES +('DOC-VIEW', 'GENERAL-VIEWER',1,1) +GO +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_IDX](@pDOCID INTEGER, @pENTITY INTEGER, @DOCIDX VARCHAR(20)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT @HEADER_CAPTION = HEADER_CAPTION FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOCIDX + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM VWPMO_DOC_INDICES WHERE DocID = @pDOCID AND COLUMN_CAPTION = @HEADER_CAPTION + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = 'NO RESULT' + END + RETURN @RESULT +END +GO +DROP TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS +CREATE TABLE TBPMO_DOCRESULT_DROPDOWN_ITEMS +( + GUID INTEGER NOT NULL IDENTITY(1,1) + ,CONFIG_ID INTEGER NOT NULL + ,VALUE VARCHAR(100) NOT NULL + ,SEQUENCE TINYINT NOT NULL DEFAULT 0 + ,[DEFAULT] BIT NOT NULL DEFAULT 0 + ,ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT' + ,ADDED_WHEN DATETIME DEFAULT GETDATE() + ,CHANGED_WHO VARCHAR(50) + ,CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOCRESULT_DROPDOWN_ITEMS PRIMARY KEY (GUID), + CONSTRAINT FK_TBPMO_DOCRESULT_DROPDOWN_ITEMSCONFIG_ID FOREIGN KEY (CONFIG_ID) REFERENCES TBPMO_DOCSEARCH_RESULTLIST_CONFIG (GUID), +) +GO +CREATE TRIGGER TBPMO_DOCRESULT_DROPDOWN_ITEMS_AFT_UPD ON TBPMO_DOCRESULT_DROPDOWN_ITEMS +FOR UPDATE +AS + UPDATE TBPMO_DOCRESULT_DROPDOWN_ITEMS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_DROPDOWN_ITEMS.GUID = INSERTED.GUID +GO + + +ALTER TABLE TBDD_CLIENT +ADD LICENSE_PMO VARCHAR(5000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_USER_MODULE_LOG_IN +ADD CLIENT_ID INTEGER NOT NULL DEFAULT 99 +GO + +CREATE TABLE TBPMO_DOC_VALUES +( + GUID INTEGER NOT NULL IDENTITY(1,1), + [DocID] INTEGER NOT NULL, + [CONFIG_ID] INTEGER NOT NULL, + [VALUE] VARCHAR(MAX) NOT NULL, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_VALUES PRIMARY KEY (GUID) +) +GO + +CREATE TRIGGER TBPMO_DOC_VALUES_AFT_UPD ON TBPMO_DOC_VALUES +FOR UPDATE +AS + UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.[DocID] = INSERTED.[DocID] +GO + +CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4 + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @RIGHT INTEGER + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE + FROM DELETED + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + + + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + BEGIN + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + END + END + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 29 --Vertragseigner Person + BEGIN + /*Das Recht des alten Vertragseigners löschen*/ + IF @VALUE_OLD <> '' + BEGIN + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0) + BEGIN + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD') + END + ELSE + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + /*Das neue UserRecht hinzufügen*/ + BEGIN + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 AND RIGHT_MODIFY = 'ADD RIGHT') + BEGIN + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER USER' AND WORKED = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD') + END + ELSE + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY, FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER USER','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + END + -- ####### Vertragseigner Team ############### + ELSE IF @CONTROL_ID = 14 + /*Die Rechte des Teams Vertragseigner löschen*/ + IF @VALUE_OLD <> '' + BEGIN + DECLARE c_RIGHT2Delete CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_OLD) + OPEN c_RIGHT2Delete + FETCH NEXT FROM c_RIGHT2Delete INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V3 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V3 + FETCH NEXT FROM cursDOC_V3 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0) + BEGIN + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD') + END + ELSE + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'DELETE RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V3 INTO @DOC_ID + END + CLOSE cursDOC_V3 + DEALLOCATE cursDOC_V3 + END + FETCH NEXT FROM c_RIGHT2Delete INTO @USER_ID + END + CLOSE c_RIGHT2Delete + DEALLOCATE c_RIGHT2Delete + END + /*Die Rechte des Teams Vertragseigner hinzufügen*/ + BEGIN + DECLARE c_USER CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @USER_ID <> 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0 AND RIGHT_MODIFY = 'ADD RIGHT') + BEGIN + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @DOC_ID AND REASON = 'VERTRAGSEIGNER TEAM' AND WORKED = 0AND RIGHT_MODIFY = 'ADD RIGHT' + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD') + END + ELSE + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@USER_ID,'ADD RIGHT',3,'VERTRAGSEIGNER TEAM','TBPMO_CONTROL_VALUE_AFT_UPD') + + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + END + FETCH NEXT FROM c_USER INTO @USER_ID + END + CLOSE c_USER + DEALLOCATE c_USER + END + -- ####### RecordSupervisor ############### + --ELSE IF @CONTROL_ID = 227 --RecordSupervisor + -- BEGIN + + -- END + --ELSE IF @CONTROL_ID = 346 --Leseberechtigung CheckableListbox + -- BEGIN + + -- END + + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER VIEW [dbo].[VWPMO_WD_DOC_SEARCH] AS +SELECT + T.DocID + ,T2.[FORM_ID] AS [ENTITY_ID] + ,T1.[RECORD_ID] + ,(SELECT ISNULL(RECORD1_ID,0) FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = T1.[RECORD_ID]) AS PARENT_ID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.DocID) + T3.szLongName AS FULL_FILENAME--T.FULL_FILENAME + ,T3.szLongName AS [Filename]--,T.[Filename] + ,T.Doctype + ,T.[Version] + ,T.Creation_DateTime + ,T.Change_DateTime + ,T.OBJECTTYPE + ,T.DISPLAY_NAME + ,T.IN_WORK + ,T.IN_WORK_USER + ,T.IN_WORK_COMMENT +FROM + TBPMO_DOCRESULT_LIST T + ,TBPMO_DOC_RECORD_LINK T1 + ,TBPMO_RECORD T2 + ,windream.dbo.BaseAttributes T3 +WHERE + T.DocID = T1.DOC_ID AND + T1.RECORD_ID = T2.GUID + AND T.DocID = T3.dwDocID + + +GO + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql new file mode 100644 index 0000000..b19db80 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.0.sql @@ -0,0 +1,70 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.0' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_FORM +ADD LOCK_CONTROLS_BG_LOAD BIT NOT NULL DEFAULT 1 +GO +ALTER VIEW VWPMO_CONSTRUCTOR_FORMS AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + T1.DOCUMENT_VIEW, + T.DATE_FORMAT, + T.LOCK_CONTROLS_BG_LOAD, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5)) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), + @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT + @HEADER_CAPTION = HEADER_CAPTION, + @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE + ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE + + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO DROP-DOWN CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = 'NO RESULT' + END + RETURN @RESULT +END + +GO + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql new file mode 100644 index 0000000..93cc4d8 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.2.sql @@ -0,0 +1,124 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.2' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_CHART_ENTITY +ADD GROUP_ID VARCHAR(50) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT ADD + [SERVICE] bit NOT NULL DEFAULT 0 +GO +ALTER TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER] +FOR DELETE +AS +DECLARE @USER_ID INTEGER +BEGIN + SELECT @USER_ID = GUID FROM DELETED + IF @USER_ID IN (0,1) + BEGIN + ROLLBACK TRANSACTION + RAISERROR('THIS USER CAN NOT BE DELETED!',16,10) + END + ELSE + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER-ID','USER DELETED','TBDD_GROUPS_USER_AFT_DEL') + END +END +GO +ALTER TABLE TBPMO_KONFIGURATION ADD +SQL_FULLTEXT VARCHAR(5000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_FORM ADD +LOAD_ENT_SEARCH_AT_SU BIT NOT NULL DEFAULT 0 +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RESULTFILE](@pDOCID INT, @pRECORDID INT, @DELETE_FILE INT) +AS +BEGIN TRY + DECLARE @COUNT INT + SELECT @COUNT = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOCID + IF @COUNT = 1 OR (@DELETE_FILE = 1 AND @COUNT > 1) + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END + ELSE IF @COUNT > 1 and @DELETE_FILE = 0 + BEGIN + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID AND RECORD_ID = @pRECORDID + END + ELSE IF @DELETE_FILE = 1 + BEGIN + DELETE FROM TBPMO_DOC_INDICES WHERE DocID = @pDOCID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE Doc_ID = @pDOCID + DELETE FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOCID + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE FUNCTION [dbo].[FNPMO_GET_CONTROL_VALUES_DOC_ENTITY] (@pCONTROL_ID INTEGER,@pDOC_ID INTEGER, @pENTITY_ID INTEGER) +RETURNS VARCHAR(1000) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @TEMP_VALUE VARCHAR(MAX) + + + DECLARE c_RESULT CURSOR FOR SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @pCONTROL_ID AND RECORD_ID in (SELECT RECORD_ID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID + AND RECORD_ID IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID)) + + + BEGIN + OPEN c_RESULT + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF LEN(@RESULT) > 0 + SET @RESULT = @RESULT + ';' + @TEMP_VALUE + ELSE + SET @RESULT = @TEMP_VALUE + FETCH NEXT FROM c_RESULT INTO @TEMP_VALUE + END + + CLOSE c_RESULT + DEALLOCATE c_RESULT + + RETURN(@RESULT) + END +END + +GO +CREATE TABLE [dbo].[TBPMO_CHART_ENTITY]( + [GUID] INT IDENTITY(1,1) NOT NULL, + [ENTITY_ID] INT NOT NULL, + [SQL_COMMAND] VARCHAR(max) NOT NULL, + [TYPE_CHART] VARCHAR(30) NOT NULL, + [ARGUMENT] VARCHAR(30) NOT NULL, + [VALUE] VARCHAR(30) NOT NULL, + [TITLE] VARCHAR(30) NOT NULL DEFAULT (''), + [ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + [ADDED_WHEN] DATETIME DEFAULT (getdate()), + [CHANGED_WHO] VARCHAR(50), + [CHANGED_WHEN] DATETIME, + [GROUP_ID] VARCHAR(50) NOT NULL DEFAULT (''), +CONSTRAINT [PK_TBPMO_CHART_ENTITY] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_CHART_ENTITY_ENT_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)) +GO + +CREATE TRIGGER [dbo].[TBPMO_CHART_ENTITY_AFT_UPD] ON [dbo].[TBPMO_CHART_ENTITY] +FOR UPDATE +AS + UPDATE TBPMO_CHART_ENTITY SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CHART_ENTITY.GUID = INSERTED.GUID + + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql new file mode 100644 index 0000000..c9c16e1 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.3.sql @@ -0,0 +1,223 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.3' where NAME = 'Record-Organizer' +GO +ALTER TRIGGER [dbo].[TBDD_USER_AFT_DEL] ON [dbo].[TBDD_USER] +FOR DELETE +AS +DECLARE @USER_ID INTEGER +BEGIN + SELECT @USER_ID = GUID FROM DELETED + IF @USER_ID IN (0,1) + BEGIN + ROLLBACK TRANSACTION + RAISERROR('THIS USER CAN NOT BE DELETED!',16,10) + END + ELSE + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED','TBDD_GROUPS_USER_AFT_DEL') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER-ID','USER DELETED','TBDD_USER_AFT_DEL') + END +END +GO +ALTER TRIGGER [dbo].[TBDD_GROUPS_USER_AFT_DEL] ON [dbo].[TBDD_GROUPS_USER] +FOR DELETE +AS + DECLARE @USER_ID INTEGER + SELECT @USER_ID = deleted.USER_ID FROM deleted + IF @USER_ID IS NOT NULL + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,COMMENT,ADDED_WHO) VALUES + (@USER_ID,'USER DELETED FROM GROUP','TBDD_GROUPS_USER_AFT_DEL') + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@USER_ID,'USER-ID','USER DELETED FROM USER-GROUP',(SELECT USERNAME FROM TBDD_USER WHERE GUID = @USER_ID )) + END +GO + + + ALTER TABLE TBPMO_FORM_SQL + ALTER COLUMN SQL_COMMAND VARCHAR(MAX) + GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(4000), + @SQL_END VARCHAR(4000), + @SQL VARCHAR(MAX), + @CONTROL_ID INT, + @RESULT VARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @SQL_LBL VARCHAR(4000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ',' + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + CHAR(13) + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + SET @ZAEHLER = @ZAEHLER + 1 + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + ENd + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + --SET @SQL = '(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + ELSE + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + --SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + --PRint '1' + SET @SQL = @SQL + ',(SELECT CASE COUNT(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13) + --PRint '2' + SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13) + --PRint '3' + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + --PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT)) + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO +CREATE VIEW [dbo].[VWPMO_DOC_SEARCH] AS +SELECT + CONVERT(INTEGER,T.DocID) AS DocID + ,T.FULL_FILENAME AS FULL_FILENAME + ,T.[Filename] + ,T.Doctype + ,T.[Version] + ,T.Creation_DateTime + ,T.Change_DateTime + ,T.OBJECTTYPE + ,T.DISPLAY_NAME + ,T.IN_WORK + ,T.IN_WORK_USER + ,T.IN_WORK_COMMENT +FROM + TBPMO_DOCRESULT_LIST T + +GO + +DECLARE + @ENTITY_ID INTEGER, + @CONTROL_ID INTEGER, + @GUID INTEGER, + @VALUE VARCHAR(MAX) + +DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBPMO_FORM + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS] +GO +ALTER PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_ADD_RECORD](@pDOC_ID INT, @pDOC_PATH VARCHAR(1000), @pUSERSTRING VARCHAR(250), @pRIGHT INT, @pTYPE VARCHAR(100),@FROM_SERVICE INT) +AS +BEGIN TRY + DECLARE @GUID INTEGER, + @RIGHT INTEGER + SELECT @GUID = ISNULL(MAX(GUID),0) FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE + DOC_ID = @pDOC_ID + AND UPPER(DOC_PATH) = UPPER(@pDOC_PATH) + AND UPPER(USER_STRING) = UPPER(@pUSERSTRING) + IF @GUID = 0 + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT (DOC_ID,DOC_PATH,USER_STRING,FILE_RIGHT,RIGHT_TYPE,ADDED_WHO,[SERVICE]) + VALUES (@pDOC_ID,UPPER(@pDOC_PATH),UPPER(@pUSERSTRING),@pRIGHT,@pTYPE,'PRPMO_RIGHT_INSERT',@FROM_SERVICE) + ELSE + BEGIN + SELECT @RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT WHERE GUID = @GUID + IF @RIGHT <> @pRIGHT + IF @RIGHT < @pRIGHT + UPDATE TBPMO_RIGHTS_WORK_SERVICE_ADD_RIGHT SET FILE_RIGHT = @pRIGHT,RIGHT_TYPE = @pTYPE WHERE GUID = @GUID + END +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql new file mode 100644 index 0000000..03154c4 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.4.sql @@ -0,0 +1,613 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.4' where NAME = 'Record-Organizer' +GO + +DECLARE @DoctypeID INTEGER +DECLARE cursor_Doctype CURSOR LOCAL FOR + select GUID from TBDD_DOKUMENTART + OPEN cursor_Doctype + FETCH NEXT FROM cursor_Doctype INTO @DoctypeID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID, INDEXNAME,VALUE,ADDED_WHO) VALUES + (@DoctypeID,'String 36','ADDI-RELATION','Digital Data') + + --##### + FETCH NEXT FROM cursor_Doctype INTO @DoctypeID + END +CLOSE cursor_Doctype +DEALLOCATE cursor_Doctype +GO + + + +ALTER VIEW VWPMO_WD_OBJECT_RIGHTS +AS +SELECT dwObjectID, dwUserOrGroupID, dwAccessRight, dwObjectDBID +FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AS AccessRight_1 +WHERE dwUserOrGroupID IN (SELECT USERID_FK_INT_ECM FROM TBDD_USER WHERE USERID_FK_INT_ECM <> 0) +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_CONSTRUCTOR](@pCONSTR_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_CLIENT_CONSTRUCTOR WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTR_QUICK_DISPLAY WHERE CONSTRUCT_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE FOLLOW_UP_ID IN (SELECT GUID FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FOLLOW_UP_EMAIL WHERE CONSTRUCTOR_ID = @pCONSTR_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID in (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID IN (SELECT GUID FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID) + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE CONSTRUCT_ID = @pCONSTR_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR WHERE GUID = @pCONSTR_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_VALUES_AFT_UPD] ON [dbo].[TBPMO_DOC_VALUES] +FOR UPDATE +AS + UPDATE TBPMO_DOC_VALUES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOC_VALUES.GUID = INSERTED.GUID +GO + +ALTER TABLE TBPMO_RECORD +ADD PARENT_RECORD INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_RECORD +ADD [VERSION] INTEGER NOT NULL DEFAULT 1 +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_SQL](@pFORM_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN VARCHAR(4000), + @SQL_END VARCHAR(4000), + @SQL VARCHAR(MAX), + @CONTROL_ID INT, + @RESULT VARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @SQL_LBL VARCHAR(4000) + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pFORM_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @SQL_BEGIN = 'SELECT T.GUID AS [Record-ID]' + CHAR(13) + ',T.COLOR AS ROW_COLOR' + CHAR(13) + ',T.FORM_ID AS [Form-ID]' + CHAR(13) + ',' + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = ',T.ADDED_WHO AS AddedWho,' + CHAR(13) + 'T.ADDED_WHEN AS AddedWhen,' + CHAR(13) + 'T.CHANGED_WHO AS ChangedWho,' + CHAR(13) + 'T.CHANGED_WHEN AS ChangedWhen FROM TBPMO_RECORD T' + CHAR(13) + 'INNER JOIN TBPMO_FORM T1 ON T.FORM_ID = T1.GUID AND T.[PARENT_RECORD] = 0 AND T.FORM_ID = @FORM_ID' + CHAR(13) + + SET @SQL_END = REPLACE(@SQL_END,'@FORM_ID',@pFORM_ID) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + SET @ZAEHLER = @ZAEHLER + 1 + IF LEN(ISNULL(@SQL,'')) = 0 + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = 'ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = '(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + ENd + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = '(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SET @SQL = 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID) AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID = 4 + BEGIN + SET @SQL = 'T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = '(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = 'ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + ELSE + BEGIN + IF @TYPEID IN(10,11) + BEGIN + --SET @SQL = @SQL + ',ISNULL((SELECT CASE WHEN UPPER(RTRIM(LTRIM(T5.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + '),0) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 6 + BEGIN + --SET @SQL = @SQL + ',(SELECT T6.IMG FROM TBPMO_CONTROL_IMAGE T6 WHERE T6.RECORD_ID = T.GUID AND T6.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.IMG AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_IMAGE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE IF @TYPEID = 1 + BEGIN + SELECT @SQL_LBL = SQL_COMMAND_1 FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.GUID') + SET @SQL = @SQL + ',(' + @SQL_LBL + ') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + --SET @SQL = @SQL + ',(SELECT [dbo].[FNPMO_GET_CONTROL_VALUES](' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID)) AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.GUID),'''') AS ' + @COL_NAME + CHAR(13) + END + ELSE IF @TYPEID = 4 + BEGIN + SET @SQL = @SQL + ',T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + ELSE + BEGIN + --SET @SQL = @SQL + ',(SELECT T5.VALUE FROM TBPMO_CONTROL_VALUE T5 WHERE T5.RECORD_ID = T.GUID AND T5.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + ') AS ' + @COL_NAME + SET @SQL = @SQL + ',ISNULL(T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.VALUE,'''') AS ' + @COL_NAME + CHAR(13) + SET @SQL_END = @SQL_END + 'LEFT JOIN TBPMO_CONTROL_VALUE T' + CONVERT(VARCHAR(5),@ZAEHLER) + ' ON T.GUID = T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.RECORD_ID AND T' + CONVERT(VARCHAR(5),@ZAEHLER) + '.CONTROL_ID = ' + CONVERT(VARCHAR(20),@CONTROL_ID) + CHAR(13) + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + --PRint '1' + SET @SQL = @SQL + ',(SELECT CASE COUNT(TDS.DocID) WHEN 0 THEN 0 ELSE 1 END AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [files?]' + CHAR(13) + --PRint '2' + SET @SQL = @SQL + ',(SELECT COUNT(TDS.DocID) AS [files?] FROM VWPMO_DOC_SEARCH TDS, TBPMO_DOC_RECORD_LINK TRL WHERE TDS.DocID = TRL.DOC_ID AND TRL.RECORD_ID = T.GUID) AS [file count]' + CHAR(13) + --PRint '3' + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + --PRINT 'LEN: ' + CONVERT(VARCHAR(10),LEN(@RESULT)) + + IF EXISTS (SELECT FORM_ID FROM TBPMO_FORM_SQL WHERE FORM_ID = @pFORM_ID) + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND = @RESULT WHERE FORM_ID = @pFORM_ID + ELSE + INSERT INTO TBPMO_FORM_SQL(FORM_ID,SQL_COMMAND) VALUES(@pFORM_ID,@RESULT) +END +GO + +DECLARE + @ENTITY_ID INTEGER, + @CONTROL_ID INTEGER, + @GUID INTEGER, + @VALUE VARCHAR(MAX) + +DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBPMO_FORM + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC [dbo].[PRPMO_CREATE_SQL] @ENTITY_ID + FETCH NEXT FROM c_REDO INTO @ENTITY_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +EXECUTE [dbo].[PRPMO_CREATE_TEMP_VIEWS] +GO + +CREATE TABLE TBPMO_RECORD_VARIANT( + [GUID] INT IDENTITY(1,1) NOT NULL, + RECORD_ID INT NOT NULL, + REASON_CODE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_RECORD_VARIANT] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_RECORD_VARIANT_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) +GO + +CREATE TRIGGER TBPMO_RECORD_VARIANT_AFT_UPD ON TBPMO_RECORD_VARIANT +FOR UPDATE +AS + UPDATE TBPMO_RECORD_VARIANT SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_VARIANT.GUID = INSERTED.GUID +GO + +CREATE TABLE TBPMO_ENTITY_VARIANT_REASONS( + [GUID] INT IDENTITY(1,1) NOT NULL, + ENTITY_ID INT NOT NULL, + REASON_CODE VARCHAR(100) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_ENTITY_VARIANT_REASONS] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_ENTITY_VARIANT_REASONS_ENTITY_ID FOREIGN KEY (ENTITY_ID) REFERENCES TBPMO_FORM (GUID)) +GO + +CREATE TRIGGER TBPMO_ENTITY_VARIANT_REASONS_AFT_UPD ON TBPMO_ENTITY_VARIANT_REASONS +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_VARIANT_REASONS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_VARIANT_REASONS.GUID = INSERTED.GUID +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD [DOC_SEARCH_TAB1] BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL +ADD [ACTIVATE_DOC_SEARCH_ON_EDIT] BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + T2.DOC_SEARCH_TAB1, + T2.[ACTIVATE_DOC_SEARCH_ON_EDIT], + T1.DOCUMENT_VIEW, + T.DATE_FORMAT, + T.LOCK_CONTROLS_BG_LOAD, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE +GO +ALTER TABLE TBPMO_KONFIGURATION +ADD WM_LAUFWERKBUCHSTABE VARCHAR(1) NOT NULL DEFAULT 'W' +GO + +--CREATE FUNCTION FNPMO_GET_WINDREAM_FILE_PATH_NEU (@pDOCID BIGINT) +ALTER FUNCTION [dbo].[FNPMO_GET_WINDREAM_FILE_PATH] (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_LAUFWERKBUCHSTABE CHAR(1) + + SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SELECT @FSFLAGS = dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS = 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FILE!' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + + SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME + RETURN @RESULT +END +GO + +CREATE TABLE TBDD_USER_LOGIN_OUT( + [GUID] INT IDENTITY(1,1) NOT NULL, + [MODULE] VARCHAR(30) NOT NULL, + [USER_ID] INT NOT NULL, + [CLIENT_ID] INT NOT NULL, + [LOGIN] DATETIME DEFAULT (GETDATE()), + [LOGOUT] DATETIME, +CONSTRAINT [PK_TBDD_USER_LOGIN_OUT] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_USER_LOGIN_OUT_USER_ID FOREIGN KEY ([USER_ID]) REFERENCES TBDD_USER (GUID)) +GO + +CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_INS ON TBDD_USER_MODULE_LOG_IN +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID + FROM INSERTED + + INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID) VALUES (@MODULE,@USER_ID,@CLIENT_ID) + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE TRIGGER TBDD_USER_MODULE_LOG_IN_AFT_DEL ON TBDD_USER_MODULE_LOG_IN +FOR DELETE +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID + FROM DELETED + + UPDATE TBDD_USER_LOGIN_OUT SET LOGOUT = GETDATE() WHERE GUID = ( + SELECT MAX(GUID) FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @USER_ID AND MODULE = @MODULE AND CLIENT_ID = @CLIENT_ID) + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE CONSTRUCT_ID = 2 AND DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES + (@USER_ID,@ENTITY_ID,0,1) + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER](@pUSER_ID INT, @pCHECK_WHO VARCHAR(50)) +AS +BEGIN TRY + DECLARE + @CONSTR_DET_ID INTEGER, + @ENTITY_ID INTEGER, + @RECORD_ID INTEGER, + --@pUSER_ID INTEGER, + @RECORD_SELECT nvarchar (max), + @RECORD_WHERE AS nvarchar (max), + @CREATE_VIEW AS nvarchar (max), + @USER_RIGHTADMIN_ID_ECM INTEGER--, + --@pCHECK_WHO VARCHAR(50) + --SET @pUSER_ID = 2 + --SET @pCHECK_WHO = 'SchreiberM' + + SELECT @USER_RIGHTADMIN_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE UPPER(USERNAME) = ( + SELECT UPPER(AD_USER) FROM TBPMO_SERVICE_RIGHT_CONFIG WHERE GUID = 1) + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID + DECLARE Cursor_constructors CURSOR LOCAL FOR + select T1.GUID, T1.FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = @pUSER_ID AND T.CONSTRUCT_ID = T1.CONSTRUCT_ID + AND T1.FORM_ID IN (select DISTINCT TR.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) + --select FORM_ID from TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1 where T.USER_ID = 1 AND T.CONSTRUCT_ID = T1.GUID + OPEN cursor_constructors + FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER') + DROP VIEW VWTEMP_REC_USER + + DECLARE + @WD_RIGHT AS INTEGER + SET @WD_RIGHT = 3 + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + ELSE + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + BEGIN + DECLARE @CONFIG AS INT + SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + IF @CONFIG = 1 + BEGIN + SET @WD_RIGHT = 1 + Print 'User shall only read' + END + END + + + SET @RECORD_SELECT = N'SELECT * FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID AND SQL_COMMAND <> '') + BEGIN + + SELECT @RECORD_WHERE = SQL_COMMAND FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID + SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',@pUSER_ID) + SET @RECORD_SELECT = @RECORD_SELECT + ' ' + @RECORD_WHERE + END + SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT + --PRINT 'CREATE VIEW: ' + @CREATE_VIEW + + EXEC (@CREATE_VIEW) + + + DECLARE cursor_Records CURSOR FOR + SELECT [Record-ID] FROM VWTEMP_REC_USER + --select DocID from VWPMO_WD_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE @DOC_ID AS INTEGER + DECLARE cursor_Docs CURSOR FOR + SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE + T.RECORD_ID = @RECORD_ID + AND T.RECORD_ID = TR.GUID AND TR.FORM_ID = @ENTITY_ID AND T.DOC_ID IN ( + SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_RIGHTADMIN_ID_ECM) + + OPEN cursor_Docs + FETCH NEXT FROM cursor_Docs INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE (DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO) + + FETCH NEXT FROM cursor_Docs INTO @DOC_ID + END + CLOSE cursor_Docs + DEALLOCATE cursor_Docs + + + FETCH NEXT FROM cursor_Records INTO @RECORD_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records + DECLARE @DEL_SQL NVARCHAR(500) + SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER') + EXEC sp_executesql @DEL_SQL + END + FETCH NEXT FROM cursor_constructors INTO @CONSTR_DET_ID, @ENTITY_ID + END + CLOSE cursor_constructors + DEALLOCATE cursor_constructors +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBPMO_USER_GLOBAL_SEARCH( + [GUID] INT IDENTITY(1,1) NOT NULL, + USER_ID INT NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CONSTRAINT [PK_TBPMO_USER_GLOBAL_SEARCH] PRIMARY KEY(GUID), +CONSTRAINT FK_TBPMO_USER_GLOBAL_SEARCH_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID)) +GO + + + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql new file mode 100644 index 0000000..90765d4 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.5.sql @@ -0,0 +1,583 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.5' where NAME = 'Record-Organizer' +GO +CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS +SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME + ,szLongName as [Filename], + ISNULL(T.szText39, 'NO DOCTYPE') AS Doctype + ,T.dwVersionNumber AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE + ,T.dwObjectTypeID +FROM + [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T + ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1 +WHERE + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.szText36 = 'ADDI-RELATION' +ORDER BY [Creation_DateTime] + + + +GO + + + +ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + (@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES + (@USER_ID,@ENTITY_ID,0,1) + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE dbo.TBPMO_ENTITY_USER_RIGHTS( + GUID int IDENTITY(1,1) NOT NULL, + USER_ID int NOT NULL, + ENTITY_ID int NOT NULL, + READ_ONLY bit NOT NULL DEFAULT 0, + FILES_VISIBLE bit NOT NULL DEFAULT 1, + ADDED_WHEN datetime DEFAULT getdate(), + CHANGED_WHEN datetime, + CONSTRAINT PK_TBPMO_ENTITY_USER_RIGHTS PRIMARY KEY(GUID)) + +GO +CREATE TRIGGER [dbo].[TBPMO_ENTITY_USER_RIGHTS_AFT_UPD] ON [dbo].[TBPMO_ENTITY_USER_RIGHTS] +FOR UPDATE +AS + UPDATE TBPMO_ENTITY_USER_RIGHTS SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_ENTITY_USER_RIGHTS.GUID = INSERTED.GUID +GO +ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC + --WHERE + --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values + +DECLARE @DocID1 INTEGER +DECLARE c_2_Delete CURSOR LOCAL FOR + select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC) + OPEN c_2_Delete + FETCH NEXT FROM c_2_Delete INTO @DocID1 + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1 + + --##### + FETCH NEXT FROM c_2_Delete INTO @DocID1 + END +CLOSE c_2_Delete +DEALLOCATE c_2_Delete +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_WD_OBJECTTYPE +ADD IDXNAME_RELATION VARCHAR(100) NOT NULL DEFAULT 1 +GO + + +CREATE TABLE TBPMO_RIGHT_USER( + GUID int IDENTITY(1,1) NOT NULL, + USER_ID int NOT NULL, + ENTITY_ID int NOT NULL, + EDIT_REC bit NOT NULL DEFAULT 1, + ADD_REC bit NOT NULL DEFAULT 0, + DELETE_REC bit NOT NULL DEFAULT 0, + ADD_DOC bit NOT NULL DEFAULT 0, + READ_ONLY_DOC bit NOT NULL DEFAULT 0, + DELETE_DOC bit NOT NULL DEFAULT 0, + FILES_VISIBLE bit NOT NULL DEFAULT 1, + ADDED_WHEN datetime DEFAULT getdate(), + CHANGED_WHEN datetime, +CONSTRAINT [PK_TBPMO_RIGHT_USER] PRIMARY KEY(GUID)) +GO +ALTER TRIGGER TBPMO_RIGHT_USER_AFT_UPD ON TBPMO_RIGHT_USER +FOR UPDATE +AS + UPDATE TBPMO_RIGHT_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RIGHT_USER.GUID = INSERTED.GUID +GO + + +DECLARE @DoctypeID INTEGER +DECLARE cursor_Doctype CURSOR LOCAL FOR + select GUID from TBDD_DOKUMENTART + OPEN cursor_Doctype + FETCH NEXT FROM cursor_Doctype INTO @DoctypeID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID, INDEXNAME,VALUE,ADDED_WHO) VALUES + (@DoctypeID,'String 36','ADDI-RELATION','Digital Data') + + --##### + FETCH NEXT FROM cursor_Doctype INTO @DoctypeID + END +CLOSE cursor_Doctype +DEALLOCATE cursor_Doctype +GO +ALTER VIEW VWPMO_DOC_SEARCH AS +SELECT + CONVERT(INTEGER,T.DocID) AS DocID + ,T.FULL_FILENAME AS FULL_FILENAME + ,T.[Filename] + ,T.Doctype + ,T.[Version] + ,T.Creation_DateTime + ,T.Change_DateTime + ,T.OBJECTTYPE + ,T.DISPLAY_NAME + ,T.IN_WORK + ,T.IN_WORK_USER + ,T.IN_WORK_COMMENT +FROM + TBPMO_DOCRESULT_LIST T +GO +CREATE VIEW [dbo].[VWPMO_DOC_SYNC] AS +SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME + ,szLongName AS [Filename] + ,ISNULL(T.szText39,'NO DOCTYPE') AS Doctype + ,ISNULL(T.dwVersionNumber,'1') AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE + ,T.dwObjectTypeID +FROM + [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T + ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1 +WHERE + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.szText36 = 'ADDI-RELATION' +ORDER BY [Creation_DateTime] +GO +DROP VIEW VWPMO_WD_DOC_SYNC +GO +ALTER VIEW [dbo].[VWPMO_DOC_SEARCH] AS +SELECT + CONVERT(INTEGER,T.DocID) AS DocID + ,T.FULL_FILENAME AS FULL_FILENAME + ,T.[Filename] + ,T.Doctype + ,T.[Version] + ,T.Creation_DateTime + ,T.Change_DateTime + ,T.OBJECTTYPE + ,T.DISPLAY_NAME + ,T.IN_WORK + ,T.IN_WORK_USER + ,T.IN_WORK_COMMENT +FROM + TBPMO_DOCRESULT_LIST T +GO + +CREATE PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50)) +AS +BEGIN TRY + + DECLARE + --@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50), + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME + --SET @pDOC_ID = 260882 + --SET @pREC_ID = 4388 + --SET @WHO = 'SChreiberM' + SELECT @FULL_FILENAME = dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) + ,@DISPLAY_NAME = szLongName + ,@Filename = szLongName + ,@Doctype = ISNULL(T.szText39,'NO DOCTYPE') + ,@Version = T.dwVersionNumber + ,@Creation_DateTime = CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) + ,@Change_DateTime = CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) + ,@Objecttype = T1.szDocTypeName + FROM + [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes T + ,[172.24.12.41\BRAINPOOL].windream60.dbo.ObjectType T1 + WHERE + T.dwObjectTypeID = T1.dwObjectTypeID + AND T.dwDocID = @pDOC_ID + IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID) + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @pDOC_ID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime) + ELSE + PRINT 'NO INSERT 1' + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID) + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO) + ELSE + PRINT 'NO INSERT 2' + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBPMO_RECORD_GEODATA( + [GUID] INT IDENTITY(1,1) NOT NULL, + RECORD_ID INT NOT NULL, + LATITUDE Decimal(9,6), + LONGITUDE Decimal(9,6), + LOCATION VARCHAR(2000), + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, +CONSTRAINT [PK_TBPMO_RECORD_GEODATA] PRIMARY KEY(RECORD_ID), +CONSTRAINT FK_TBPMO_RECORD_GEODATA_RECORD_ID FOREIGN KEY (RECORD_ID) REFERENCES TBPMO_RECORD (GUID)) +GO +CREATE TRIGGER TBPMO_RECORD_GEODATA_AFT_UPD ON TBPMO_RECORD_GEODATA +FOR UPDATE +AS + UPDATE TBPMO_RECORD_GEODATA SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD_GEODATA.GUID = INSERTED.GUID +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS +BEGIN TRY + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DELETE FROM TBPMO_RIGHT_USER WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER) +GO +DELETE FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER) +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_RIGHT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +DECLARE + @USER_ID INTEGER, + @ENTITY_ID INTEGER, + @READ_ONLY BIT, + @FILES_VISIBLE BIT + +DECLARE c_REDO CURSOR FOR + SELECT USER_ID, ENTITY_ID, READ_ONLY,FILES_VISIBLE FROM TBPMO_ENTITY_USER_RIGHTS + OPEN c_REDO + + FETCH NEXT FROM c_REDO INTO @USER_ID,@ENTITY_ID,@READ_ONLY,@FILES_VISIBLE + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(select guid from TBPMO_RIGHT_USER where USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID) + BEGIN + INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID) + END + IF @READ_ONLY = 1 + UPDATE TBPMO_RIGHT_USER SET READ_ONLY_DOC = 1 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID + ELSE + UPDATE TBPMO_RIGHT_USER SET READ_ONLY_DOC = 0 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID + + IF @FILES_VISIBLE = 1 + UPDATE TBPMO_RIGHT_USER SET FILES_VISIBLE = 1 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID + ELSE + UPDATE TBPMO_RIGHT_USER SET FILES_VISIBLE = 0 WHERE USER_ID = @USER_ID AND ENTITY_ID = @ENTITY_ID + + FETCH NEXT FROM c_REDO INTO @USER_ID,@ENTITY_ID,@READ_ONLY,@FILES_VISIBLE + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO + +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100), + @ENTITY_ID INTEGER, + @DOC_VIEW BIT + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO, + @ENTITY_ID = FORM_ID, + @DOC_VIEW = DOCUMENT_VIEW + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + IF UPDATE (FORM_TITLE) + BEGIN + IF @LANGUAGE is not null + If EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE) + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END + IF UPDATE(DOCUMENT_VIEW) + IF @DOC_VIEW = 1 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Filename','Dateiname') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Doctype','Dokumentart') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'IN_WORK','in work?',50,2) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Creation_DateTime','Erstellt',100,3) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Change_DateTime','Geändert',100,3) + --#### + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Filename','Filename') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Doctype','Doctype') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,3) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,3) + END + ELSE + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE PROCEDURE PRPMO_CREATE_VARIANT(@pREC_ID INTEGER,@WHO VARCHAR(50), @REASON VARCHAR(50),@COMMENT VARCHAR(500),@LINKFILES BIT) +AS +BEGIN TRY + DECLARE @return_value int + EXEC @return_value = [dbo].[PRDD_COPY_RECORD] @pREC_ID,@WHO + IF @return_value = 0 + BEGIN + DECLARE @NEW_RECORD_ID INTEGER + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD WHERE UPPER(ADDED_WHO) = UPPER(@WHO) + UPDATE TBPMO_RECORD SET + PARENT_RECORD = @NEW_RECORD_ID + ,CHANGED_WHO = @WHO WHERE GUID = @pREC_ID + INSERT INTO TBPMO_RECORD_VARIANT (RECORD_ID,REASON_CODE,COMMENT,ADDED_WHO) VALUES + (@pREC_ID,@REASON,@COMMENT,@WHO) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = + (SELECT RECORD_ENTITY_ID FROM TBPMO_RECORD WHERE GUID = @pREC_ID) + ,CHANGED_WHO = @WHO WHERE GUID = @NEW_RECORD_ID + IF @LINKFILES = 1 + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID, COMMENT, ADDED_WHO) + SELECT @NEW_RECORD_ID, DOC_ID, 'NEW VARIANT LINK', @WHO FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pREC_ID + END + ELSE + RAISERROR ('ERROR WHILE COPYING RECORD', + 10, -- Severity. + 1, -- State. + '99', -- First substitution argument. + 'PRDD_COPY_RECORD'); -- Second substitution argument. +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +UPDATE TBPMO_DOCSEARCH_RESULTLIST_CONFIG SET VISIBLE = 0 WHERE ENTITY_ID = 1 AND COLUMN_VIEW = 'IN_WORK' +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql new file mode 100644 index 0000000..3ee8a69 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.6.sql @@ -0,0 +1,514 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.6' where NAME = 'Record-Organizer' +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_ENTITY](@pENTITY_ID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_FORM_SQL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CLIENT_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_TEMPLATE_ENTITY WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_CONSTRUCTOR_DETAIL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID IN (SELECT GUID FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID)) + DELETE FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID IN (SELECT GUID FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_CONTROL WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE [ENTITY_ID] = @pENTITY_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID in (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID) + DELETE FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_ENTITY_VARIANT_REASONS WHERE ENTITY_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM_VIEW WHERE FORM_ID = @pENTITY_ID + DELETE FROM TBPMO_FORM WHERE GUID = @pENTITY_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_COPY_ENTITY](@pFORM_ID INT, @pADDEDWHO VARCHAR(50)) +AS +DECLARE + @NEW_FORM_ID INT, + @PARENT_ID INT, + @NAME VARCHAR(100), + @LEVEL VARCHAR(10), + @SHOW_FORM_CONSTR BIT, + @FORM_TYPE_ID INT, + @CONTROL_GUID INTEGER, + @CONTROL_TYPE_ID INT, + @CONTROL_NAME VARCHAR(100) + ,@COL_NAME VARCHAR(100) + ,@REQUIRED BIT + ,@DEFAULT_VALUE VARCHAR(100) + ,@SQL_COMMAND_1 VARCHAR(2000) + ,@SQL_COMMAND_2 VARCHAR(2000) + ,@CONNECTION_ID_1 SMALLINT + ,@CONNECTION_ID_2 SMALLINT + ,@READ_ONLY BIT + ,@VALIDATION BIT + ,@MULTILINE BIT + ,@PARENT_CONTROL_ID INT + ,@MASTER_DATA_ID INT + ,@FORMAT_TYPE VARCHAR(50) + ,@SHOW_COLUMN BIT + ,@STATIC_LIST VARCHAR(2000) + + SELECT @PARENT_ID = PARENT_ID, @NAME = 'COPY_' + NAME,@LEVEL = [LEVEL],@SHOW_FORM_CONSTR = SHOW_FORM_CONSTRUCT, @FORM_TYPE_ID = FORM_TYPE_ID FROM TBPMO_FORM WHERE GUID = @pFORM_ID + + INSERT INTO TBPMO_FORM ( + PARENT_ID,NAME,LEVEL,ADDED_WHO,SHOW_FORM_CONSTRUCT,FORM_TYPE_ID) VALUES ( + @PARENT_ID,@NAME,@LEVEL,@pADDEDWHO,@SHOW_FORM_CONSTR,@FORM_TYPE_ID) + + SELECT @NEW_FORM_ID = MAX(GUID) FROM TBPMO_FORM + INSERT INTO TBPMO_FORM_VIEW (FORM_ID, SCREEN_ID, FORM_TITLE, DESCRIPTION, ADDED_WHO) VALUES + (@NEW_FORM_ID, 1, 'UNDEFINED_FORMTITLE', '', @pADDEDWHO) + +DECLARE c_CONTROL CURSOR FOR SELECT GUID,[CONTROL_TYPE_ID] + ,'COPY_' + [NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN],STATIC_LIST FROM TBPMO_CONTROL WHERE FORM_ID = @pFORM_ID ORDER BY PARENT_CONTROL_ID + + +BEGIN + OPEN c_CONTROL + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @PARENT_CONTROL_ID > 0 + BEGIN + DECLARE @CTRLNAME VARCHAR(100) + SELECT @CTRLNAME = 'COPY_' + [NAME] FROM TBPMO_CONTROL WHERE GUID = @PARENT_CONTROL_ID + PRINT 'PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + PRINT '@CTRLNAME = ' + @CTRLNAME + SELECT @PARENT_CONTROL_ID = GUID FROM TBPMO_CONTROL WHERE NAME = @CTRLNAME AND FORM_ID = @NEW_FORM_ID + PRINT 'NEW PCTRID = ' + CONVERT(VARCHAR(10),@PARENT_CONTROL_ID) + END + + INSERT INTO TBPMO_CONTROL ( + FORM_ID + ,[CONTROL_TYPE_ID] + ,[NAME] + ,[COL_NAME] + ,[REQUIRED] + ,[DEFAULT_VALUE] + ,[SQL_COMMAND_1] + ,[SQL_COMMAND_2] + ,[CONNECTION_ID_1] + ,[CONNECTION_ID_2] + ,[READ_ONLY] + ,[VALIDATION] + ,[MULTILINE] + ,[PARENT_CONTROL_ID] + ,[MASTER_DATA_ID] + ,[FORMAT_TYPE] + ,[SHOW_COLUMN] + ,[STATIC_LIST] + ,ADDED_WHO + ) VALUES ( + @NEW_FORM_ID + ,@CONTROL_TYPE_ID + ,@CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + ,@pADDEDWHO + ) + DECLARE @NEW_CONTROLID INTEGER + SELECT @NEW_CONTROLID = MAX(GUID) FROM TBPMO_CONTROL + + DECLARE + @SCREEN_ID INTEGER + ,@CONTROL_TEXT VARCHAR(100) + ,@X_LOC FLOAT + ,@Y_LOC FLOAT + ,@HEIGHT INTEGER + ,@WIDTH INTEGER + ,@FONT_FAMILY VARCHAR(50) + ,@FONT_COLOR INTEGER + ,@FONT_SIZE INTEGER + ,@FONT_STYLE INTEGER + ,@TAB_INDEX INTEGER + ,@TAB_STOP BIT + ,@BACK_COLOR INTEGER + + SELECT @SCREEN_ID = [SCREEN_ID], @CONTROL_TEXT = [CONTROL_TEXT],@X_LOC = [X_LOC], + @Y_LOC = [Y_LOC],@HEIGHT = [HEIGHT], @WIDTH = [WIDTH],@FONT_FAMILY = [FONT_FAMILY], + @FONT_COLOR = [FONT_COLOR], @FONT_SIZE = [FONT_SIZE],@FONT_STYLE = [FONT_STYLE], + @TAB_INDEX = [TAB_INDEX], @TAB_STOP = [TAB_STOP], @BACK_COLOR = [BACK_COLOR] FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_ID = @CONTROL_GUID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, + SCREEN_ID + ,CONTROL_TEXT + ,X_LOC + ,Y_LOC + ,HEIGHT + ,WIDTH + ,FONT_FAMILY + ,FONT_COLOR + ,FONT_SIZE + ,FONT_STYLE + ,TAB_INDEX + ,TAB_STOP + ,BACK_COLOR + ,ADDED_WHO) + VALUES( + @NEW_CONTROLID + ,@SCREEN_ID + ,@CONTROL_TEXT + ,@X_LOC + ,@Y_LOC + ,@HEIGHT + ,@WIDTH + ,@FONT_FAMILY + ,@FONT_COLOR + ,@FONT_SIZE + ,@FONT_STYLE + ,@TAB_INDEX + ,@TAB_STOP + ,@BACK_COLOR + ,@pADDEDWHO + ) + DECLARE @NEW_ID INT + SELECT @NEW_ID = MAX(GUID) FROM TBPMO_CONTROL_SCREEN WHERE CONTROL_TEXT = @CONTROL_TEXT + + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'de-DE',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + INSERT INTO TBPMO_CONTROL_LANGUAGE ([LANGUAGE_TYPE] ,[CONTROL_SCREEN_ID],[CAPTION],[ADDED_WHO]) VALUES ( + 'en-US',@NEW_ID,@CONTROL_TEXT,@pADDEDWHO) + + FETCH NEXT FROM c_CONTROL INTO @CONTROL_GUID,@CONTROL_TYPE_ID, + @CONTROL_NAME + ,@COL_NAME + ,@REQUIRED + ,@DEFAULT_VALUE + ,@SQL_COMMAND_1 + ,@SQL_COMMAND_2 + ,@CONNECTION_ID_1 + ,@CONNECTION_ID_2 + ,@READ_ONLY + ,@VALIDATION + ,@MULTILINE + ,@PARENT_CONTROL_ID + ,@MASTER_DATA_ID + ,@FORMAT_TYPE + ,@SHOW_COLUMN + ,@STATIC_LIST + END + + CLOSE c_CONTROL + DEALLOCATE c_CONTROL +END +GO + +CREATE TABLE TBPMO_STRUCTURE_NODES_USER_TEMP( + USER_ID int NOT NULL, + RECORD_ID int NOT NULL, + ADDED_WHEN datetime DEFAULT getdate(), +CONSTRAINT [PK_TBPMO_STRUCTURE_NODES_USER_TEMP] PRIMARY KEY(USER_ID,RECORD_ID)) +GO +CREATE PROCEDURE PRPMO_NODES_GET_CHILD_RECORDS (@USER_ID INTEGER, @NODE_ID INTEGER) +AS +BEGIN + DELETE FROM TBPMO_STRUCTURE_NODES_USER_TEMP WHERE USER_ID = @USER_ID; + WITH tblChild AS + ( + SELECT GUID,RECORD_ID FROM + TBPMO_STRUCTURE_NODES WHERE GUID = @NODE_ID + UNION ALL + SELECT TBPMO_STRUCTURE_NODES.GUID,TBPMO_STRUCTURE_NODES.RECORD_ID FROM TBPMO_STRUCTURE_NODES JOIN tblChild ON TBPMO_STRUCTURE_NODES.PARENT_GUID = tblChild.GUID + ) + INSERT INTO TBPMO_STRUCTURE_NODES_USER_TEMP (USER_ID,RECORD_ID) + SELECT @USER_ID,RECORD_ID FROM tblChild where RECORD_ID is not null + OPTION(MAXRECURSION 32767) +END +GO + +CREATE FUNCTION FNPMO_GET_WINDREAM_FOLDER_PATH (@pDOCID BIGINT) +RETURNS VARCHAR(MAX) +AS +BEGIN + DECLARE + @RESULT VARCHAR(MAX), + @DOCID BIGINT, + @a TINYINT = 1, + @i TINYINT = 0, + @PARENT_ID BIGINT, + @DATEINAME NVARCHAR(255), + @PARENTNAME NVARCHAR(255), + @FSFLAGS INT, + @WM_LAUFWERKBUCHSTABE CHAR(1) + + SELECT @WM_LAUFWERKBUCHSTABE = WM_LAUFWERKBUCHSTABE FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + IF EXISTS(SELECT dwDocID FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID) + BEGIN + --SELECT dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = 220733 + SELECT @FSFLAGS = dwFSFlags FROM [172.24.12.41\BRAINPOOL].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + IF @FSFLAGS <> 16 + BEGIN + SET @RESULT = 'THIS IS NOT A FOLDER (dwFSFlags <> 16)!' + SET @DATEINAME = '' + END + ELSE + BEGIN + SELECT @DATEINAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @pDOCID + WHILE @a > 0 + BEGIN + IF @i = 0 + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + END + END + ELSE + BEGIN + IF @PARENT_ID = 1 + BEGIN + SET @RESULT = '\' + @PARENTNAME + @RESULT + BREAK + END + ELSE + BEGIN + SET @DOCID = @PARENT_ID + SET @RESULT = '\' + @PARENTNAME + @RESULT + END + END + + SELECT @PARENTNAME = szLongName,@PARENT_ID = dwParentID FROM [172.24.12.41\brainpool].windream60.dbo.BaseAttributes WHERE dwDocID = @DOCID + SET @i = @i + 1 + END + END + END + ELSE + BEGIN + SET @RESULT = 'THIS DOC-ID DOES NOT EXIST!' + SET @DATEINAME = '' + END + + SET @RESULT = @WM_LAUFWERKBUCHSTABE +':' + @RESULT + @DATEINAME + --PRINT @RESULT + RETURN @RESULT +END + +GO +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP + + +GO +--CREATE PROCEDURE PRPMO_RIGHTS_SERVICE_CHECK_USER (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin') +ALTER PROCEDURE [dbo].[PRPMO_RIGHTS_SERVICE_CHECK_USER] (@pUSER_ID INT,@pCHECK_WHO VARCHAR(50) = 'DD-Admin') +AS +BEGIN TRY + DECLARE @CONSTR_DET_ID INT, + @ENTITY_ID INT, + @RECORD_ID INT, + @RECORD_SELECT NVARCHAR(MAX), + @RECORD_WHERE NVARCHAR(MAX), + @CREATE_VIEW NVARCHAR(MAX), + @USER_ID_ECM INT, + @WD_RIGHT INT, + @CONFIG INT, + @DOC_ID INT, + @DEL_SQL NVARCHAR(30) + + DECLARE Cursor_constructors CURSOR FOR SELECT T1.GUID, T1.FORM_ID FROM TBPMO_CONSTRUCTOR_USER T,TBPMO_FORM_CONSTRUCTOR_DETAIL T1,(SELECT DISTINCT TR.FORM_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD TR WHERE T.RECORD_ID = TR.GUID) T2 + WHERE T.CONSTRUCT_ID = T1.CONSTRUCT_ID AND T1.FORM_ID = T2.FORM_ID AND T.USER_ID = @pUSER_ID + + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @pUSER_ID + + DELETE FROM TBPMO_RIGHTS_WORK_SERVICE WHERE USER_ID = @pUSER_ID + + OPEN Cursor_constructors + FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(select * FROM sys.views where name = 'VWTEMP_REC_USER') + DROP VIEW VWTEMP_REC_USER + + SET @WD_RIGHT = 3 + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + SELECT @WD_RIGHT = RIGHT1 FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + ELSE + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID) + BEGIN + SELECT @CONFIG = [READ_ONLY] FROM TBPMO_ENTITY_USER_RIGHTS WHERE USER_ID = @pUSER_ID AND ENTITY_ID = @ENTITY_ID + IF @CONFIG = 1 + BEGIN + SET @WD_RIGHT = 1 + --Print 'User shall only read' + END + END + END + + IF EXISTS(SELECT GUID FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID) + BEGIN + SELECT @RECORD_WHERE = ISNULL(SQL_COMMAND1,'') FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE CONSTR_DET_ID = @CONSTR_DET_ID AND USER_ID = @pUSER_ID + IF LEN(@RECORD_WHERE) > 0 + BEGIN + SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@USER_ID',CONVERT(NVARCHAR(10),@pUSER_ID)) + SET @RECORD_WHERE = REPLACE(@RECORD_WHERE,'@NUMBER',CONVERT(NVARCHAR(3),@ENTITY_ID)) + SET @RECORD_SELECT = @RECORD_WHERE + END + ELSE + BEGIN + SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) + END + END + ELSE + BEGIN + SET @RECORD_SELECT = N'SELECT [Record-ID] FROM VWTEMP_PMO_FORM' + CONVERT(NVARCHAR(3),@ENTITY_ID) + END + + SET @CREATE_VIEW = N'CREATE VIEW VWTEMP_REC_USER AS ' + @RECORD_SELECT + EXEC (@CREATE_VIEW) + + DECLARE Cursor_Records CURSOR FOR SELECT [Record-ID] FROM VWTEMP_REC_USER + + OPEN Cursor_Records + FETCH NEXT FROM Cursor_Records INTO @RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE Cursor_Docs CURSOR FOR SELECT T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD TR,(SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE [dwUserOrGroupID] = @USER_ID_ECM) T1 + WHERE T.RECORD_ID = TR.GUID AND T.DOC_ID = T1.dwObjectID AND T.RECORD_ID = @RECORD_ID AND TR.FORM_ID = @ENTITY_ID + + OPEN Cursor_Docs + FETCH NEXT FROM Cursor_Docs INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES(@DOC_ID,@pUSER_ID,'ADD RIGHT', @WD_RIGHT,'USER_RIGHTS_RENEW',@pCHECK_WHO) + FETCH NEXT FROM Cursor_Docs INTO @DOC_ID + END + CLOSE Cursor_Docs + DEALLOCATE Cursor_Docs + + FETCH NEXT FROM Cursor_Records INTO @RECORD_ID + END + CLOSE Cursor_Records + DEALLOCATE Cursor_Records + + SET @DEL_SQL = CONVERT(NVARCHAR(30),N'DROP VIEW VWTEMP_REC_USER') + EXEC sp_executesql @DEL_SQL + + FETCH NEXT FROM Cursor_constructors INTO @CONSTR_DET_ID,@ENTITY_ID + END + CLOSE Cursor_constructors + DEALLOCATE Cursor_constructors +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql new file mode 100644 index 0000000..288e71b --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.7.sql @@ -0,0 +1,107 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.7' where NAME = 'Record-Organizer' +GO + +Change Trigger Suche nach VWPMO_WD_DOC_SEARCH und ersetze select +select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID +/* FULLTEXT SQL ERSETZEN*/ +SELECT DISTINCT [dwDocID] + FROM [dbo].FullText WHERE CONTAINS([Text], '"*@FULLTEXT*"') + --OR FREETEXT ([Text], '@FULLTEXT') + + +ALTER VIEW [dbo].[VWPMO_WD_OBJECT_RIGHTS] +AS +SELECT DISTINCT + AR.dwObjectID + ,AR.dwUserOrGroupID + ,AR.dwAccessRight + ,AR.dwObjectDBID +FROM + [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AS AR + INNER JOIN TBDD_USER T ON AR.dwUserOrGroupID = T.USERID_FK_INT_ECM + INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID +WHERE T.USERID_FK_INT_ECM <> 0 --ORDER BY dwObjectID +GO +CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_RECID_VALUE] +ON [dbo].[TBPMO_CONTROL_VALUE] ([RECORD_ID]) +INCLUDE ([VALUE]) +GO +DROP TABLE TBPMO_APPOINTMENT_CONTROLS +CREATE TABLE TBPMO_APPOINTMENT_CONTROLS( + CONTROL_ID INT NOT NULL, + APPT_SUBJECT VARCHAR(100) DEFAULT 'NO APPONTMENT-SUBJECT DEFINED', + APPT_LOCATION VARCHAR(100) DEFAULT '', + APPT_DESCRIPTION VARCHAR(100) DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBPMO_APPOINTMENT_CONTROLS] PRIMARY KEY(CONTROL_ID)) +GO + + ALTER TABLE TBPMO_CONTROL + ADD SELECT_ONLY BIT NOT NULL DEFAULT 0 + GO + ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.SELECT_ONLY CONTROL_SELECT_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO + + + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql new file mode 100644 index 0000000..d25d7c5 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.8.sql @@ -0,0 +1,346 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.8' where NAME = 'Record-Organizer' +GO +ALTEr TABLE TBPMO_WD_OBJECTTYPE +ADD IDXNAME_RELATION VARCHAR(50) NOT NULL DEFAULT '' +GO +UPDATE TBPMO_WD_OBJECTTYPE SET IDXNAME_RELATION = 'STRING34' +GO +DELETE FROM TBDD_INDEX_AUTOM WHERE INDEXNAME = 'STRING34' +ALTER TABLE TBPMO_CONTROL + ADD SELECT_ONLY BIT NOT NULL DEFAULT 0 + GO + +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.SELECT_ONLY CONTROL_SELECT_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO +CREATE TABLE TBPMO_AD_GROUP_EXCLUSIVE( + [GUID] INT IDENTITY(1,1) NOT NULL, + GROUP_NAME VARCHAR(200) NOT NULL, + COMMENT VARCHAR(500), + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + ADDED_WHEN DATETIME DEFAULT (GETDATE()), +CONSTRAINT [PK_TBPMO_AD_GROUP_EXCLUSIVE] PRIMARY KEY(GUID)) +GO +--Alle Einschränkungen bei TBPMO_RIGHT_USER lsöchen +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (getdate()) FOR [ADDED_WHEN] +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR EDIT_REC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_REC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_REC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR ADD_DOC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (0) FOR READ_ONLY_DOC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR DELETE_DOC +GO +ALTER TABLE TBPMO_RIGHT_USER ADD DEFAULT (1) FOR FILES_VISIBLE +GO + +CREATE PROCEDURE [dbo].[PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD](@pDOC_ID INT, @pUSER_ID INTEGER, @pUSER_ECM_ID INTEGER,@pWD_RIGHT INT, @pMETHOD VARCHAR(50),@pREASON VARCHAR(100),@pCHECK_WHO VARCHAR(50)) +AS +BEGIN TRY + IF NOT EXISTS(select dwObjectID from VWPMO_WD_OBJECT_RIGHTS where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID) + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID) + --PRINT 'INSERTING ENT_ID: ' + CONVERT(VARCHAR(10),@ENTITY_ID) +' - DOC_ID: ' + CONVERT(VARCHAR(10),@DOC_ID) + ' - RIGHT: '+ CONVERT(VARCHAR(10),@WD_RIGHT) + INSERT INTO TBPMO_RIGHTS_WORK_SERVICE(DOC_ID,USER_ID,RIGHT_MODIFY,FILE_RIGHT,REASON,ADDED_WHO) VALUES + (@pDOC_ID,@pUSER_ID,@pMETHOD, @pWD_RIGHT, @pREASON, @pCHECK_WHO) + ELSE + BEGIN + DECLARE @EX_RIGHT INT + SELECT @EX_RIGHT = FILE_RIGHT FROM TBPMO_RIGHTS_WORK_SERVICE WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID + IF @EX_RIGHT < @pWD_RIGHT + UPDATE TBPMO_RIGHTS_WORK_SERVICE SET FILE_RIGHT = @pWD_RIGHT WHERE DOC_ID = @pDOC_ID AND USER_ID = @pUSER_ID + END + END + ELSE + BEGIN + DECLARE @RIGHT_IN_WD INT + SELECT @RIGHT_IN_WD = dwAccessRight FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwObjectID = @pDOC_ID AND dwUserOrGroupID = @pUSER_ID + IF @RIGHT_IN_WD < @pWD_RIGHT + BEGIN + PRINT 'RIGHT IN WINDREAM LOWER THAN ADDI-RIGHT' + UPDATE [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight set dwAccessRight = @pWD_RIGHT where dwObjectID = @pDOC_ID and dwUserOrGroupID = @pUSER_ECM_ID + END + --ELSE + -- BEGIN + -- PRINT 'RIGHT IN WINDREAM GREATE THAN ADDI-RIGHT' + -- UPDATE windream.dbo.AccessRight set dwAccessRight = @WD_RIGHT where dwObjectID = @DOC_ID and dwUserOrGroupID = @USER_ID_ECM + -- END + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_INS] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --INSERT INTO TBPMO_USER_RIGHTS_JOBS (USER_ID,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES + --(@USER_ID,@ENTITY_ID,'USER ADDED TO CONSTRUCTOR','TBPMO_CONSTRUCTOR_USER_AFT_INS') + --INSERT INTO TBPMO_ENTITY_USER_RIGHTS (USER_ID,ENTITY_ID,READ_ONLY,FILES_VISIBLE) VALUES + --(@USER_ID,@ENTITY_ID,0,1) + INSERT INTO TBPMO_RIGHT_USER (USER_ID, ENTITY_ID) VALUES (@USER_ID,@ENTITY_ID) + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONSTRUCTOR_USER_AFT_DEL] ON [dbo].[TBPMO_CONSTRUCTOR_USER] +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CONSTRUCT_ID INTEGER, + @ADDED_WHO VARCHAR(50) + SELECT + @CONSTRUCT_ID = CONSTRUCT_ID, + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM DELETED + + DECLARE @ENTITY_ID INTEGER + + DECLARE c_USER CURSOR FOR + SELECT + FORM_ID FROM + VWPMO_CONSTRUCTOR_FORMS WHERE DOCUMENT_VIEW = 1 + OPEN c_USER + FETCH NEXT FROM c_USER INTO @ENTITY_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + DELETE FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENTITY_ID AND USER_ID = @USER_ID + + FETCH NEXT FROM c_USER INTO @ENTITY_ID + END + CLOSE c_USER + DEALLOCATE c_USER + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG + ADD CONFIG_COLUMNS BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_DOCSEARCH_RESULTLIST_CONFIG + ADD SEQUENCE INTEGER NOT NULL DEFAULT 0 +GO +ALTER TABLE dbo.TBPMO_DOC_VALUES ADD + RECORD_ID INTEGER NOT NULL CONSTRAINT DF_TBPMO_DOC_VALUES_RECORD_ID DEFAULT 0 +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS +BEGIN TRY + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +/* +DECLARE + @ID INTEGER, + @RECORD_ID INTEGER, + @DOC_ID INTEGER + +DECLARE c_REDO CURSOR FOR + SELECT TDV.GUID, TDV.DocID, TRL.RECORD_ID FROM + TBPMO_DOC_VALUES TDV, TBPMO_DOC_RECORD_LINK TRL WHERE TDV.DocID = TRL.DOC_ID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBPMO_DOC_VALUES SET RECORD_ID = @RECORD_ID WHERE GUID = @ID + + FETCH NEXT FROM c_REDO INTO @ID,@DOC_ID,@RECORD_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +*/ + +/* +--SELECT * +--FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND LANGUAGE = 'en-US' +--AND CONFIG_COLUMNS = 1 + +DECLARE + @ID INTEGER, + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50) + +DECLARE c_REDO CURSOR FOR + SELECT T.GUID, T1.GUID as RID, TRL.DOC_ID, TRL.ADDED_WHO, + (SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) AS CNT FROM + TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_RECORD T1, TBPMO_DOC_RECORD_LINK TRL WHERE + T.ENTITY_ID = T1.FORM_ID AND + T1.GUID = TRL.RECORD_ID AND + T.ENTITY_ID = 21 AND T.LANGUAGE = 'en-US' AND (SELECT COUNT(GUID) FROM TBPMO_DOC_VALUES WHERE DocID = TRL.DOC_ID AND RECORD_ID = T1.GUID AND CONFIG_ID = T.GUID) = 0 + --AND T1.GUID IN (388) + AND T.CONFIG_COLUMNS = 1 ORDER BY T1.GUID, T.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID AND CONFIG_ID = @ID) + INSERT INTO TBPMO_DOC_VALUES (DocID,CONFIG_ID,VALUE,RECORD_ID, ADDED_WHO) VALUES (@DOC_ID,@ID,'',@RECORD_ID,@ADDED_WHO) + FETCH NEXT FROM c_REDO INTO @ID,@RECORD_ID,@DOC_ID,@ADDED_WHO + END +CLOSE c_REDO +DEALLOCATE c_REDO +*/ +TBPMO_DOC_RECORD_LINK_AFT_INS ändern +--Den Defaultvalue der DropdownListe eintragen + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 4) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4 + END + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 4 AND CONFIG_COLUMNS = 1) >= 1 + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1 + +CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID + FROM DELETED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + + + + + + + + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql new file mode 100644 index 0000000..aeb9faa --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.6.9.sql @@ -0,0 +1,48 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.6.9' where NAME = 'Record-Organizer' +GO + +ALTER TABLE TBDD_USER_LOGIN_OUT + ADD VERSION_CLIENT VARCHAR(30) +GO + +ALTER TABLE TBDD_USER_MODULE_LOG_IN + ADD VERSION_CLIENT VARCHAR(30) +GO +ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER, + @VERSION_CLIENT VARCHAR(30) + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID, + @VERSION_CLIENT = VERSION_CLIENT + FROM INSERTED + + IF @VERSION_CLIENT IS NULL + SET @VERSION_CLIENT = '1.0.0.0' + INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE VIEW VWDD_LOGIN_USER_HISTORY AS +SELECT TOP (5000) + T.GUID, T.MODULE,T1.USERNAME, T1.NAME, T1.PRENAME, T1.GUID as USER_ID, T.CLIENT_ID,T2.CLIENT_NAME, T.LOGIN, T.LOGOUT, T.VERSION_CLIENT +FROM TBDD_USER_LOGIN_OUT T, +TBDD_USER T1, +TBDD_CLIENT T2 +WHERE + T.USER_ID = T1.GUID + AND T.CLIENT_ID = T2.GUID +ORDER BY GUID DESC +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql new file mode 100644 index 0000000..7a94871 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.0.sql @@ -0,0 +1,233 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.0' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_USER_LOGIN_OUT + ADD MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_USER_MODULE_LOG_IN + ADD MACHINE_NAME VARCHAR(250) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_MODULES + ADD VERSION_UPATE_PATH VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER, + @VERSION_CLIENT VARCHAR(30), + @MACHINE_NAME VARCHAR(50) + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID, + @VERSION_CLIENT = VERSION_CLIENT, + @MACHINE_NAME = MACHINE_NAME + FROM INSERTED + + IF @VERSION_CLIENT IS NULL + SET @VERSION_CLIENT = '1.0.0.0' + INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE TBDD_VERSION_USER_UPDATE_PATH( + GUID INTEGER NOT NULL IDENTITY(1,1), + USER_ID INT NOT NULL, + MODULE_NAME VARCHAR(30) NOT NULL, + UPDATE_PATH VARCHAR(500) NOT NULL DEFAULT '', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE_PATH] PRIMARY KEY(GUID)) +GO +CREATE TRIGGER TBDD_VERSION_USER_UPDATE_PATH_AFT_UPD ON TBDD_VERSION_USER_UPDATE_PATH +FOR UPDATE +AS + UPDATE TBDD_VERSION_USER_UPDATE_PATH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_USER_UPDATE_PATH.GUID = INSERTED.GUID + +GO +CREATE TABLE TBDD_VERSION_UPDATE( + GUID INTEGER NOT NULL IDENTITY(1,1), + MODULE_NAME VARCHAR(30) NOT NULL, + VERSION_NO VARCHAR(20) NOT NULL, + VERSION_FORCE_UPD VARCHAR(100) NOT NULL DEFAULT '', + FORCE_UPD BIT NOT NULL DEFAULT 0, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_UPDATE] PRIMARY KEY(GUID)) +GO +CREATE TABLE TBDD_VERSION_ITEMS( + GUID INTEGER NOT NULL IDENTITY(1,1), + UPDATE_ID INTEGER NOT NULL, + ITEM_INFO VARCHAR(100) NOT NULL, + INFO1 VARCHAR(100), + INFO2 VARCHAR(100), + INFO3 VARCHAR(100), + BIT1 BIT NOT NULL DEFAULT 0, + BIT2 BIT NOT NULL DEFAULT 0, + BIT3 BIT NOT NULL DEFAULT 0, + COMMENT VARCHAR(250), + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_ITEMS] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_VERSION_ITEMS_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID)) +GO +CREATE TABLE TBDD_USER_MODULES +( + GUID INTEGER IDENTITY(1,1), + [USER_ID] INT NOT NULL, + MODULE_ID INT NOT NULL, + COMMENT VARCHAR(200), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CONSTRAINT PK_TBDD_USER_MODULES PRIMARY KEY (GUID), + CONSTRAINT UQ_TBDD_USER_MODULES UNIQUE([USER_ID],MODULE_ID), + CONSTRAINT FK_TBDD_USER_MODULES_MODULE_ID FOREIGN KEY(MODULE_ID) REFERENCES TBDD_MODULES(GUID), + CONSTRAINT FK_TBDD_USER_MODULES2_USER_ID FOREIGN KEY([USER_ID]) REFERENCES TBDD_USER(GUID), +) +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +DECLARE + @USER_ID INTEGER + +DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBDD_USER where MODULE_RECORD_ORG = 1 + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0) + FETCH NEXT FROM c_REDO INTO @USER_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +DECLARE + @USER_ID INTEGER +DECLARE c_REDO CURSOR FOR + SELECT GUID FROM TBDD_USER where MODULE_RECORD_ORG = 1 + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @USER_ID AND MODULE_NAME = 'RECORD-ORGANIZER' ) + INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES (@USER_ID,'RECORD-ORGANIZER','P:\Projekte DIGITAL DATA\DIGITAL DATA - Entwicklung\TEST\TEST_UPDATE_RECORDGANIZER') + FETCH NEXT FROM c_REDO INTO @USER_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO + +--########aktualisiere Trigger after insert TBDD_USER To ADD USers to table! +ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER, + @ECM_USR_ID INTEGER, + @USRNAME VARCHAR(50), + @MODULE_RO BIT, + @UPDATE_PATH VARCHAR(500) + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @USRNAME = USERNAME, + @MODULE_RO = MODULE_RECORD_ORG + + FROM INSERTED + + IF @MODULE_RO = 1 + BEGIN + SELECT @UPDATE_PATH FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer') + INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES + (@USER_ID, 'Record-Organizer', @UPDATE_PATH) + SELECT @ECM_USR_ID = [dwUserID] + FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + + SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + IF @CLIENT_COUNT = 1 + BEGIN + SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + END + + INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0) + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER VIEW [dbo].[VWDD_LOGIN_USER_HISTORY] AS +SELECT TOP (5000) + T.GUID, + T.MODULE, + T1.USERNAME, + T1.NAME, + T1.PRENAME, + T1.GUID as USER_ID, + T.CLIENT_ID, + T2.CLIENT_NAME, + T.LOGIN, + T.LOGOUT, + T.VERSION_CLIENT, + T.MACHINE_NAME +FROM + TBDD_USER_LOGIN_OUT T, + TBDD_USER T1, + TBDD_CLIENT T2 +WHERE + T.USER_ID = T1.GUID + AND T.CLIENT_ID = T2.GUID +ORDER BY GUID DESC +GO + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql new file mode 100644 index 0000000..670d2c7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.1.sql @@ -0,0 +1,39 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.1' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_USER_LOGIN_OUT + ADD CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_USER_MODULE_LOG_IN + ADD CONNECTION_STRING VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TRIGGER [dbo].[TBDD_USER_MODULE_LOG_IN_AFT_INS] ON [dbo].[TBDD_USER_MODULE_LOG_IN] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @MODULE VARCHAR(50), + @CLIENT_ID INTEGER, + @VERSION_CLIENT VARCHAR(30), + @MACHINE_NAME VARCHAR(50), + @CONNECTION_STRING VARCHAR(500) + SELECT + @USER_ID = USER_ID, + @MODULE = MODULE, + @CLIENT_ID = CLIENT_ID, + @VERSION_CLIENT = VERSION_CLIENT, + @MACHINE_NAME = MACHINE_NAME, + @CONNECTION_STRING = CONNECTION_STRING + FROM INSERTED + + IF @VERSION_CLIENT IS NULL + SET @VERSION_CLIENT = '1.0.0.0' + INSERT INTO TBDD_USER_LOGIN_OUT (MODULE,USER_ID,CLIENT_ID,VERSION_CLIENT,MACHINE_NAME,CONNECTION_STRING) VALUES (@MODULE,@USER_ID,@CLIENT_ID,@VERSION_CLIENT,@MACHINE_NAME,@CONNECTION_STRING) +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql new file mode 100644 index 0000000..0232ce6 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.2.sql @@ -0,0 +1,61 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.2' where NAME = 'Record-Organizer' +GO +ALTER TRIGGER [dbo].[TBDD_USER_AFT_INS] ON [dbo].[TBDD_USER] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @USER_ID INTEGER, + @CLIENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @CLIENT_COUNT INTEGER, + @ECM_USR_ID INTEGER, + @USRNAME VARCHAR(50), + @MODULE_RO BIT, + @UPDATE_PATH VARCHAR(500) + SELECT + @USER_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @USRNAME = USERNAME, + @MODULE_RO = MODULE_RECORD_ORG + + FROM INSERTED + + IF @MODULE_RO = 1 + BEGIN + SELECT @UPDATE_PATH = VERSION_UPATE_PATH FROM TBDD_MODULES WHERE UPPER(NAME) = UPPER('Record-Organizer') + INSERT INTO TBDD_VERSION_USER_UPDATE_PATH (USER_ID,MODULE_NAME,UPDATE_PATH) VALUES + (@USER_ID, 'Record-Organizer', @UPDATE_PATH) + SELECT @ECM_USR_ID = [dwUserID] + FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + + SELECT @CLIENT_COUNT = COUNT(*) FROM TBDD_CLIENT + IF @CLIENT_COUNT = 1 + BEGIN + SELECT @CLIENT_COUNT = GUID FROM TBDD_CLIENT + INSERT INTO TBDD_CLIENT_USER (USER_ID,CLIENT_ID,ADDED_WHO) VALUES + (@USER_ID,@CLIENT_COUNT,@ADDED_WHO) + END + + INSERT INTO TBDD_USER_MODULES (USER_ID,MODULE_ID) VALUES (@USER_ID,0) + END + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBPMO_KONFIGURATION + ADD COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '1' +GO +ALTER TABLE TBPMO_RIGHTS_WORK_SERVICE + ADD COUNTER_CONTROL_UPDATE_ID INTEGER NOT NULL DEFAULT '0' +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql new file mode 100644 index 0000000..8158759 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.3.sql @@ -0,0 +1,404 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.3' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_WORKFLOW + ADD CREATE_ON_REC_CREATE BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW + ADD CREATE_ON_FOLL_UP BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW_ENTITY_STATE + ADD INACTIVE BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW_TASK + ADD FINISHED BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_WORKFLOW + ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_WORKFLOW_TASK + ADD USER_SELECT VARCHAR(3000) NOT NULL DEFAULT '' +GO + +CREATE VIEW VWPMO_DOC_USER_RELATION AS +SELECT DISTINCT + T1.DOC_ID, + T3.dwUserOrGroupID, + T2.FORM_ID AS ENTITY_ID +FROM TBPMO_DOC_RECORD_LINK T1, TBPMO_RECORD T2,VWPMO_WD_OBJECT_RIGHTS T3 +WHERE T1.RECORD_ID = T2.GUID +GO +ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER') + + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + /**/ + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM [DD_ECM].[dbo].[TBPMO_RIGHT_USER] T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END + +GO + +ALTER VIEW [dbo].[VWPMO_WF_ACTIVE] AS +SELECT TOP 100 PERCENT + W_T.GUID AS WF_TASK_ID + ,R.GUID AS WF_ID + ,W_T.RECORD_ID + ,T.STATE_ID + ,T4.GUID FORM_VIEW_ID + ,R.DESCRIPTION + ,R.MANUALLY + ,R.CREATE_ON_REC_CREATE + ,R.CREATE_ON_FOLL_UP + ,W_T.COMMENT + ,W_T.DUE_DATE + ,W_T.ADDED_WHEN + ,W_T.CHANGED_WHO + ,W_T.CHANGED_WHEN + ,W_T.TASK_DATE + ,T.FINAL + ,T.ENTITY_ID + ,T5.COLOR + ,dbo.FNPMO_GET_ENTITY_COLUMN_CONTENT(W_T.RECORD_ID) AS RECORD_DESCRIPTION + ,FINISHED +FROM + TBPMO_WORKFLOW_ENTITY_STATE T, + TBPMO_WORKFLOW_TASK W_T + ,TBPMO_WORKFLOW R + ,TBPMO_FORM T3 + ,TBPMO_FORM_VIEW T4 + ,TBPMO_WORKFLOW_TASK_STATE T5 + ,TBPMO_RECORD REC +WHERE + --W_T.RECORD_ID = 95 AND + --TBPMO_WORKFLOW_ENTITY_STATE + T.WF_ID = R.GUID AND + T.ENTITY_ID = T3.GUID AND + T.STATE_ID = T5.GUID AND + W_T.RECORD_ID = REC.GUID AND + T.ENTITY_ID = REC.FORM_ID AND + W_T.WF_ID = R.GUID AND + R.GUID = R.GUID AND + T3.GUID = T4.FORM_ID AND + W_T.STATE_ID = T5.GUID AND + T4.SCREEN_ID = 1 AND + ((T.FINAL = 1 AND W_T.DUE_DATE IS NULL) OR T.FINAL = 0) AND + W_T.ACTIVE = 1 AND + T.INACTIVE = 0 +ORDER BY W_T.RECORD_ID,W_T.GUID +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_WF_TASKS] (@FORM_ID INTEGER, @RECORD_ID INTEGER, @MAN_AUTO BIT = 1) +AS +BEGIN + DECLARE + @WF_ID INTEGER, + @TITLE VARCHAR(50), + @SEQUENCE INTEGER, + @MELDUNG VARCHAR(250), + @STATE_ID INTEGER, + @SELECT_USER VARCHAR(3000) + + DECLARE c_TASK CURSOR FOR + SELECT DISTINCT T.WF_ID FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 WHERE + T.WF_ID = T1.GUID AND T.ENTITY_ID = @FORM_ID AND T1.MANUALLY = @MAN_AUTO + OPEN c_TASK + FETCH NEXT FROM c_TASK INTO @WF_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + UPDATE TBPMO_WORKFLOW_TASK SET ACTIVE = 0 WHERE GUID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @RECORD_ID AND WF_ID = @WF_ID) + Print 'All data deleted' + SELECT @STATE_ID = STATE_ID FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID AND GUID = (SELECT MIN(GUID) FROM TBPMO_WORKFLOW_ENTITY_STATE WHERE ENTITY_ID = @FORM_ID and WF_ID = @WF_ID) + SELECT @SELECT_USER = USER_SELECT FROM TBPMO_WORKFLOW WHERE GUID = @WF_ID + --IF @STATE_ID IS NOT NULL + BEGIN + --INSERT DES TASKS + INSERT INTO TBPMO_WORKFLOW_TASK( + RECORD_ID, + WF_ID, + ACTIVE, + STATE_ID, + USER_SELECT) + VALUES ( + @RECORD_ID, + @WF_ID, + 1, + @STATE_ID, + @SELECT_USER) + END + + FETCH NEXT FROM c_TASK INTO @WF_ID + END + CLOSE c_TASK + DEALLOCATE c_TASK + END + GO + + DECLARE + @ENT_ID INTEGER, + @DET_ID INTEGER, + @USR_ID INTEGER +DECLARE c_REDO CURSOR FOR + select T.ENTITY_ID, T1.GUID, T.USER_ID from TBPMO_RIGHT_USER T, VWPMO_CONSTRUCTOR_FORMS T1 where T.ENTITY_ID = T1.FORM_ID + + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @ENT_ID,@DET_ID,@USR_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE CONSTRUCTOR_DETAIL_ID = @DET_ID AND [ENTITY_ID] = @ENT_ID AND USER_ID = @USR_ID) + BEGIN + PRINT 'USER_ID: ' + CONVERT(VARCHAR(10),@USR_ID) + ' - @DET_ID: ' + CONVERT(VARCHAR(10),@DET_ID)+ ' - @@ENT_ID: ' + CONVERT(VARCHAR(10),@ENT_ID) + INSERT INTO TBPMO_USER_CONSTR_VIEW_TYPE (USER_ID,CONSTRUCTOR_DETAIL_ID,ENTITY_ID, VIEW_ID,ADDED_WHO) VALUES ( + @USR_ID,@DET_ID,@ENT_ID,1,'DD') + END + FETCH NEXT FROM c_REDO INTO @ENT_ID,@DET_ID,@USR_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO + +DELETE FROm TBPMO_RIGHT_USER WHERE USER_ID NOT IN (SELECT GUID FROM TBDD_USER) + +ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER') + + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + /**/ + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END + + + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql new file mode 100644 index 0000000..a2c3611 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4.sql @@ -0,0 +1,339 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.4' where NAME = 'Record-Organizer' +GO +ALTER TRIGGER [dbo].[TBPMO_FORM_VIEW_AFT_UPD] ON [dbo].[TBPMO_FORM_VIEW] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @FORM_TITLE VARCHAR(50), + @LANGUAGE VARCHAR(5), + @CHANGED_WHO VARCHAR(50), + @GUID INTEGER, + @SCREEN_ID INTEGER, + @PMO_OBJECT_NAME VARCHAR(100), + @ENTITY_ID INTEGER, + @DOC_VIEW BIT + SELECT + @GUID = GUID, + @FORM_TITLE = FORM_TITLE, + @SCREEN_ID = SCREEN_ID, + @CHANGED_WHO = CHANGED_WHO, + @ENTITY_ID = FORM_ID, + @DOC_VIEW = DOCUMENT_VIEW + FROM INSERTED + SELECT @LANGUAGE = [LANGUAGE] FROM TBDD_USER WHERE UPPER(USERNAME) = UPPER(@CHANGED_WHO) + SET @PMO_OBJECT_NAME = 'FORMVIEW_TITLE' + CONVERT(VARCHAR(5),@GUID) + + UPDATE TBPMO_FORM_VIEW SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_FORM_VIEW.GUID = INSERTED.GUID + IF UPDATE (FORM_TITLE) + BEGIN + IF @LANGUAGE is not null + If EXISTS(SELECT * FROM TBPMO_LANGUAGE_OBJECT WHERE PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID) + UPDATE TBPMO_LANGUAGE_OBJECT SET CAPTION = @FORM_TITLE,CHANGED_WHO = @CHANGED_WHO WHERE + PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND + LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID + ELSE + IF NOT EXISTS(SELECT GUID FROM TBPMO_LANGUAGE_OBJECT WHERE LANGUAGE_TYPE = @LANGUAGE AND SCREEN_ID = @SCREEN_ID AND PMO_OBJECT_NAME = @PMO_OBJECT_NAME AND CAPTION = @FORM_TITLE) + BEGIN TRY + INSERT INTO TBPMO_LANGUAGE_OBJECT (LANGUAGE_TYPE,SCREEN_ID,PMO_OBJECT_NAME,CAPTION) VALUES + (@LANGUAGE,@SCREEN_ID,@PMO_OBJECT_NAME,@FORM_TITLE) + END TRY + BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 72' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) + END CATCH + END + IF UPDATE(DOCUMENT_VIEW) + IF @DOC_VIEW = 1 + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Dateiname' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Filename','Dateiname') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Dokumentart' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'Doctype','Dokumentart') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'IN_WORK','in work?',50,2) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Erstellt' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Creation_DateTime','Erstellt',100,4) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Geändert' AND LANGUAGE = 'de-DE') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'Change_DateTime','Geändert',100,4) + --#### + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Filename' AND HEADER_CAPTION = 'Filename' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Filename','Filename') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Doctype' AND HEADER_CAPTION = 'Doctype' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION) VALUES + (@ENTITY_ID,'en-US','Doctype','Doctype') + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK' AND HEADER_CAPTION = 'in work?' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','IN_WORK','in work?',50,2) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_USER' AND HEADER_CAPTION = 'IW_USER' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_USER','IW_USER',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'IN_WORK_COMMENT' AND HEADER_CAPTION = 'IW_COMMENT' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,VISIBLE) VALUES + (@ENTITY_ID,'en-US','IN_WORK_COMMENT','IW_COMMENT',0) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Creation_DateTime' AND HEADER_CAPTION = 'Created' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Creation_DateTime','Created',100,4) + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND COLUMN_VIEW = 'Change_DateTime' AND HEADER_CAPTION = 'Changed' AND LANGUAGE = 'en-US') + INSERT INTO TBPMO_DOCSEARCH_RESULTLIST_CONFIG (ENTITY_ID,LANGUAGE,COLUMN_VIEW,HEADER_CAPTION,WIDTH,TYPE_ID) VALUES + (@ENTITY_ID,'en-US','Change_DateTime','Changed',100,4) + END + ELSE + DELETE FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW 84' + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + --Den Defaultvalue der DropdownListe eintragen + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 4 + END + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1 + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1 + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + DECLARE + @ENITTY_ID INTEGER, + @DOCTYPE VARCHAR(250), + @SUPPLIER VARCHAR(250) + SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + + IF @ENITTY_ID = 21 + BEGIN + SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258 + SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID + IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA') + BEGIN + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER) + END + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER TRIGGER [dbo].[TBDD_USER_AFT_UPD] ON [dbo].[TBDD_USER] +FOR UPDATE +AS +BEGIN + DECLARE @USRNAME VARCHAR(50) + SELECT @USRNAME = USERNAME FROM inserted + IF UPDATE (USERNAME) + BEGIN + DECLARE @ECM_USR_ID INTEGER + SELECT @ECM_USR_ID = [dwUserID] + FROM [172.24.12.41\BRAINPOOL].windream60.[dbo].[UserInfo] where UPPER(szUserName) = UPPER(@USRNAME) + IF @ECM_USR_ID IS NOT NULL + UPDATE TBDD_USER SET USERID_FK_INT_ECM = @ECM_USR_ID + FROM INSERTED + WHERE TBDD_USER.GUID = INSERTED.GUID + END + UPDATE TBDD_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_USER.GUID = INSERTED.GUID +END +GO +ALTER PROCEDURE [dbo].[PRPMO_DOCRESULT_CHANGE] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime from VWPMO_DOC_SYNC + --WHERE + --CONVERT(DATE,Creation_DateTime) = CONVERT(DATE,GETDATE()) OR + --CONVERT(DATE,Change_DateTime) = CONVERT(DATE,GETDATE()) + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values + +DECLARE @DocID1 INTEGER +DECLARE c_2_Delete CURSOR LOCAL FOR + select DocID from TBPMO_DOCRESULT_LIST where DocID not in (SELECT DocID from VWPMO_DOC_SYNC) + OPEN c_2_Delete + FETCH NEXT FROM c_2_Delete INTO @DocID1 + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_DELETE_RESULTFILE @DocID1, 0, 1 + + --##### + FETCH NEXT FROM c_2_Delete INTO @DocID1 + END +CLOSE c_2_Delete +DEALLOCATE c_2_Delete + +DECLARE @RECID INTEGER +DECLARE cursor_RELINK CURSOR LOCAL FOR + select T.DocID,T1.dwValue from TBPMO_DOCRESULT_LIST T,[172.24.12.41\BRAINPOOL].windream60.dbo.Vector T1 + WHERE T.DocID = T1.dwDocID AND T1.dwAttrID = 20005 AND T1.dwValue NOT IN (SELECT RECORD_ID from TBPMO_DOC_RECORD_LINK) ORDER BY T.DocID +OPEN cursor_RELINK +FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID +WHILE @@FETCH_STATUS = 0 +BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECID) + BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECID AND DOC_ID = @DocID) + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,ADDED_WHO) VALUES + (@RECID,@DocID,'PRPMO_DOCRESULT_CHANGE') + END + + FETCH NEXT FROM cursor_RELINK INTO @DocID,@RECID +END +CLOSE cursor_RELINK +DEALLOCATE cursor_RELINK + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER VIEW [dbo].[VWPMO_DOKUMENTTYPES] +AS +SELECT TOP 2000 + T2.FORMVIEW_ID, + T3.FORM_ID, + T3.FORM_TITLE, + T.GUID DOKUMENTTYPE_ID, + T.BEZEICHNUNG DOKUMENTTYPE, + T.ZIEL_PFAD [PATH], + T.KURZNAME SHORTNAME, + T2.GUID FW_DOCTYPE_ID, + T2.OBJECT_TYPE, + T.SEQUENCE +FROM + TBDD_DOKUMENTART T, + TBDD_EINGANGSARTEN T1, + TBPMO_WD_FORMVIEW_DOKTYPES T2, + TBPMO_FORM_VIEW T3 +WHERE + T.AKTIV = 1 AND + T.EINGANGSART_ID = T1.GUID AND + T.GUID = T2.DOCTYPE_ID AND + T2.FORMVIEW_ID = T3.GUID +ORDER BY + T2.FORMVIEW_ID + +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql new file mode 100644 index 0000000..413b7d7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.4_ENTITY_TABLES.sql @@ -0,0 +1,1183 @@ + +----------------------------------------------------------------------------------------- +-- Nur bei der erste Ausführung !!! +ALTER TABLE TBPMO_KONFIGURATION + ADD ENTITY_TABLENAME VARCHAR(50) DEFAULT 'TBPMO_ENTITY_TABLE' NOT NULL +GO +----------------------------------------------------------------------------------------- +ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND NVARCHAR(MAX); +ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND1 NVARCHAR(MAX); +ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND2 NVARCHAR(MAX); +ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND3 NVARCHAR(MAX); +ALTER TABLE TBPMO_FORM_SQL ALTER COLUMN SQL_COMMAND4 NVARCHAR(MAX); +GO +CREATE PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) +AS +DECLARE @SQL_BEGIN NVARCHAR(MAX), + @SQL_END NVARCHAR(MAX), + @SQL NVARCHAR(MAX), + @SQL_DEF_CONSTR NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + + --select Top 10 * from VWTEMP_PMO_FORM1 +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + --UNION + --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3 + --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'') + drop table @TABLE@ENT' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL + SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) + + '[Record-ID] INT NOT NULL,' + CHAR(13) + + 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME) + + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ', ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13) + SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @ZAEHLER = @ZAEHLER + 1 + + BEGIN + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT = 'False' + SET @DEFAULT = '0' + ELSE + SET @DEFAULT = '1' + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13) + END + ELSE IF @TYPEID = 6 --Picturebox + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13) + ENd + ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 1 --Label + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 4 --DatePicker + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13) + END + ELSE + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + IF LEN(ISNULL(@DEFAULT,'')) > 0 + BEGIN + DECLARE @TEMP_COL_NAME VARCHAR(50) + SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','') + IF LEN(@SQL_DEF_CONSTR) > 0 + SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + ELSE + SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + BEGIN + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME) + END + END + + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END + --PRINT @RESULT + EXEC sp_executesql @RESULT + + IF LEN(@SQL_DEF_CONSTR) > 0 + BEGIN + --PRINT @SQL_DEF_CONSTR + EXEC sp_executesql @SQL_DEF_CONSTR + END +END +GO +----------------------------------------------------------------------------------------- + +CREATE PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) +--ALTER PROCEDURE PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE (@pRECID INT) +AS +DECLARE @SQL NVARCHAR(MAX), + @COUNT_DOCS INT, + @DOC_EXISTS TINYINT, + @ENT_ID INT, + @ENTITY_TABLENAME VARCHAR(50) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SELECT @ENT_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECID + SELECT @COUNT_DOCS = COUNT(GUID) FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECID + IF @COUNT_DOCS > 0 + SET @DOC_EXISTS = 1 + ELSE + SET @DOC_EXISTS = 0 + + SET @SQL = 'UPDATE @TABLE@ENT_ID SET [file_exists] = @DOC_EXISTS, [file_count] = @COUNT_DOCS WHERE [Record-ID] = @pRECID' + SET @SQL = REPLACE(@SQL,'@pRECID',CONVERT(VARCHAR(10),@pRECID)) + SET @SQL = REPLACE(@SQL,'@DOC_EXISTS',CONVERT(VARCHAR(1),@DOC_EXISTS)) + SET @SQL = REPLACE(@SQL,'@COUNT_DOCS',CONVERT(VARCHAR(10),@COUNT_DOCS)) + SET @SQL = REPLACE(@SQL,'@ENT_ID',CONVERT(VARCHAR(3),@ENT_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + + EXEC sp_executesql @SQL +END +GO +----------------------------------------------------------------------------------------- + +CREATE PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +----------------------------------------------------------------------------------------- + +CREATE PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @CONTROL_ID INTEGER, @COL_NAME VARCHAR(50), @CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_UPDATE_COLUMN(@ENTITY_ID INT,@RECORD_ID INT, @COL_NAME VARCHAR(50),@CHANGED_WHO VARCHAR(50),@VALUE_NEW VARCHAR(MAX) = NULL) +AS + DECLARE @SQL_UPDATE NVARCHAR(MAX), + @ENTITY_TABLENAME VARCHAR(50), + @TYPE_ID INT + +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SELECT @TYPE_ID = CONTROL_TYPE_ID FROM TBPMO_CONTROL WHERE GUID = @CONTROL_ID + IF @TYPE_ID IN(7,12,14) --DGV,CheckedListBox,ListBox + SELECT @VALUE_NEW = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID,@RECORD_ID) + + IF @VALUE_NEW IS NULL + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = NULL,ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' + ELSE + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT_ID SET [@COL_NAME] = ''@VALUE_NEW'',ChangedWho = ''@CHANGED_WHO'',ChangedWhen = ''@CHANGED_WHEN'' WHERE [Record-ID] = @RECORD_ID' + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT_ID',CONVERT(VARCHAR(3),@ENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE_NEW',@VALUE_NEW) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@RECORD_ID',CONVERT(VARCHAR(10),@RECORD_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHEN',CONVERT(VARCHAR(25),GETDATE())) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CHANGED_WHO',@CHANGED_WHO) + + EXEC sp_executesql @SQL_UPDATE +END +GO +----------------------------------------------------------------------------------------- + +--CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) +CREATE PROCEDURE PRPMO_ALTER_ENTITY_TABLE(@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) +AS +DECLARE @SQL NVARCHAR(MAX), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_TABLENAME VARCHAR(50), + @TEMP_COL_NAME VARCHAR(50), + @SQL_DEF NVARCHAR(MAX), + @DFNAME VARCHAR(50), + @DROP NVARCHAR(500) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @DEFAULT_VALUE = @pDEFAULT_VALUE + + IF @pACTION = 0 -- Für Insert + BEGIN + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + + SET @SQL = @SQL +' BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13) + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13) + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13) + ELSE + BEGIN + IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0 + BEGIN + SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE) + END + ELSE + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + END + --PRINT @SQL + + EXEC sp_executesql @SQL + END + ELSE IF @pACTION = 1 -- Für Update + BEGIN + IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0 + BEGIN + SET @SQL = '@TABLE@ENT.[@OLDNAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD) + + --PRINT @COL_NAME + --PRINT @TABLENAME_COL + + --Update des Columnnames + EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN' + + + SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN ' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = @SQL + '[' + @pCOL_NAME + '] ' + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + SET @SQL = @SQL +'BIT NOT NULL DEFAULT ' + @DEFAULT_VALUE + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +'VARBINARY(MAX)' + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + 'VARCHAR(MAX)' + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + 'VARCHAR(10)' + ELSE + BEGIN + SET @SQL = @SQL + 'VARCHAR(MAX)' + IF @DEFAULT_VALUE IS NOT NULL + BEGIN + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','') + SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']' + SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME) + END + END + + --PRINT '@ALTER SQL-COMMAND: ' + @SQL + EXEC sp_executesql @SQL + + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0 + BEGIN + --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF + EXEC sp_executesql @SQL_DEF + END + + END + END + ELSE IF @pACTION = 2 -- Für Delete + BEGIN + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + EXEC sp_executesql @DROP + END + EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID +END +GO + +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR INSERT +AS + DECLARE + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_NEW VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50) + SELECT + @RECORD_ID = INSERTED.RECORD_ID, + @CONTROL_ID = INSERTED.CONTROL_ID, + @ADDED_WHO = INSERTED.ADDED_WHO, + @VALUE_NEW = INSERTED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE INSERTED.RECORD_ID = T.GUID AND + INSERTED.CONTROL_ID = T1.GUID + + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + BEGIN + DECLARE @SUBJECT VARCHAR(100), + @LOCATION VARCHAR(100), + @DESCRIPTION VARCHAR(100) + SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID + + INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES + (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID) + END + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 346 + BEGIN + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + DECLARE cursor_DOCS CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN cursor_DOCS + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + DECLARE cursor_User CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursor_User + FETCH NEXT FROM cursor_User INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursor_User INTO @USER_ID + END + CLOSE cursor_User + DEALLOCATE cursor_User + END + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + END + CLOSE cursor_DOCS + DEALLOCATE cursor_DOCS + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @UPDATE_SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50) + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF @CONTROL_ID in (29,14,346) + BEGIN + PRINT 'CHANGE OF RIGHT RELEVANT CONTROL' + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + --PRINT 'OLD VALUE: ' + @VALUE_OLD + --PRINT 'NEW VALUE: ' + @VALUE_NEW + IF @CHANGED_WHO IS NULL + BEGIN + SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @CHANGED_WHO IS NULL + SET @CHANGED_WHO = 'TRIGGER DEFAULT' + END + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + ELSE + PRINT 'VALUES NOT DIFFERENT' + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 29 --Vertragseigner Person + BEGIN + --### Zuerst müssen die Rechte der geänderten Person gelöscht werden + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + --### Jetzt prüfen der neuen Rechte + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + -- ####### Vertragseigner Team ############### + ELSE IF @CONTROL_ID = 14 + BEGIN + /*Die Rechte des des alten Vertragseigner-Teams löschen*/ + DECLARE C_OLDUSER_CONTROWN CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD)) + OPEN C_OLDUSER_CONTROWN + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + END + CLOSE C_OLDUSER_CONTROWN + DEALLOCATE C_OLDUSER_CONTROWN + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + /*Die Rechte des Teams Vertragseigner hinzufügen*/ + DECLARE c_USER CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW)) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + END + CLOSE c_USER + DEALLOCATE c_USER + END + + END + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR DELETE +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_DEL VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COUNTER_CONTROL_UPDATE_ID INTEGER + SELECT + @RECORD_ID = DELETED.RECORD_ID, + @CONTROL_ID = DELETED.CONTROL_ID, + @VALUE_DEL = DELETED.VALUE, + @ENTITY_ID = T1.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,'' + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID in (29,14,346) + BEGIN + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + IF @CONTROL_ID = 346 + BEGIN + DECLARE cursor_DOCS CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN cursor_DOCS + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + DECLARE cursor_User CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL) + OPEN cursor_User + FETCH NEXT FROM cursor_User INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursor_User INTO @USER_ID + END + CLOSE cursor_User + DEALLOCATE cursor_User + END + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + END + CLOSE cursor_DOCS + DEALLOCATE cursor_DOCS + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) + +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_INS] ON [dbo].[TBPMO_CONTROL] +FOR INSERT +AS + DECLARE + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @TYP_ID INTEGER, + @SQL NVARCHAR(MAX) + SELECT + @CONTROL_ID = GUID, + @ADDED_WHO = ADDED_WHO, + @DEFAULT_VALUE = DEFAULT_VALUE, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME + FROM INSERTED + --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0 + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, '' ,@TYP_ID,@DEFAULT_VALUE,0 +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @TYP_ID INTEGER, + @TABLENAME_COL NVARCHAR(100), + @NEW_COL_NAME NVARCHAR(100), + @SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COL_NAME_OLD VARCHAR(50), + @DEFAULT_VALUE VARCHAR(MAX), + @SQL_DEF NVARCHAR(1000) + SELECT + @COL_NAME_OLD = COL_NAME + FROM DELETED + SELECT + @CONTROL_ID = GUID, + @TYP_ID = CONTROL_TYPE_ID, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME, + @DEFAULT_VALUE = DEFAULT_VALUE + FROM INSERTED + --@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0 + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1 + UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_CONTROL_AFT_DEL] ON [dbo].[TBPMO_CONTROL] +FOR DELETE +AS +DECLARE + @CONTROL_ID INTEGER, + @TYP_ID INTEGER, + @TABLENAME_COL NVARCHAR(100), + @NEW_COL_NAME NVARCHAR(100), + @SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COL_NAME_OLD VARCHAR(50), + @DEFAULT_VALUE VARCHAR(MAX), + @SQL_DEF NVARCHAR(1000) + SELECT + @CONTROL_ID = GUID, + @COL_NAME_OLD = COL_NAME, + @TYP_ID = CONTROL_TYPE_ID, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME, + @DEFAULT_VALUE = DEFAULT_VALUE + FROM DELETED + + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,2 + +GO +CREATE TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID + FROM DELETED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID + + EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE FUNCTION [dbo].[FNPMO_GETUSER_RECORDS_ENTITY_1] (@pUSER_ID INTEGER, @pENTITY_ID INTEGER) +RETURNS @Output TABLE ( + RECORD_ID INTEGER, + WDRIGHT INTEGER +) +AS +BEGIN + INSERT INTO @Output(RECORD_ID,WDRIGHT) + SELECT [Record-ID], 1 FROM VWRENOLIT_CONTRACTS_DE where UNSICHTBAR = 0 + INSERT INTO @Output(RECORD_ID,WDRIGHT) + SELECT [Record-ID], 3 FROM TBPMO_ENTITY_TABLE1 where Unsichtbar = 1 AND Team in + (SELECT T1.NAME FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1 WHERE T.GROUP_ID = T1.GUID AND USER_ID = @pUSER_ID AND T1.GUID IN (1,11)) + RETURN +END +GO +CREATE PROCEDURE [dbo].[PRPMO_COPY_RECORD](@pRECORD_ID INT,@WHO VARCHAR(50)) +AS +DECLARE @NEW_RECORD_ID INT + +BEGIN TRY + INSERT INTO TBPMO_RECORD ( + FORM_ID,ADDED_WHO,RECORD_ENTITY_ID) + SELECT FORM_ID,@WHO,4711 FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + SELECT @NEW_RECORD_ID = MAX(GUID) FROM TBPMO_RECORD + + INSERT INTO TBPMO_RECORD_CONNECT(RECORD1_ID,RECORD2_ID,COMMENT) SELECT + RECORD1_ID,@NEW_RECORD_ID,COMMENT FROM TBPMO_RECORD_CONNECT WHERE RECORD2_ID = @pRECORD_ID + + DECLARE @CONTROL_ID INT, + @REC_ID INT, + @VALUE VARCHAR(MAX), + @ADDED_WHO VARCHAR(50) + + DECLARE cursorControlValues CURSOR LOCAL FOR + SELECT CONTROL_ID,@NEW_RECORD_ID,VALUE,@WHO FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + OPEN cursorControlValues + FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES ( + @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO) + + FETCH NEXT FROM cursorControlValues INTO @CONTROL_ID,@REC_ID,@VALUE,@ADDED_WHO + END + CLOSE cursorControlValues + DEALLOCATE cursorControlValues + + INSERT INTO TBPMO_CONTROL_IMAGE(CONTROL_ID,RECORD_ID,IMG,ADDED_WHO) SELECT + CONTROL_ID,@NEW_RECORD_ID,IMG,@WHO FROM TBPMO_CONTROL_IMAGE WHERE RECORD_ID = @pRECORD_ID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @INSERT_SQL NVARCHAR(MAX) + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID + FROM INSERTED + + SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD + WHERE FORM_ID = @FORM_ID AND GUID <> @RECORD_ID + SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID' + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID)) + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID) + + PRINT @INSERT_SQL + EXEC sp_executesql @INSERT_SQL + --RAISERROR(@INSERT_SQL, 16, 1); + -- ROLLBACK; + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + AND T1.CREATE_ON_REC_CREATE = 1 + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN NVARCHAR(4000), + @SQL_END NVARCHAR(4000), + @SQL NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(4000), + @ENTITY_TABLENAME VARCHAR(50), + @VWPMO_ENTITY_TABLE VARCHAR(100) + +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, '' FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, T.SQL_COMMAND_1 FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID' + SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ',' + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + + SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T' + SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = '' + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + --PRINT @COL_NAME + IF @TYPEID IN(10,11) -- CheckBox,RadioBox + SET @SQL = @SQL + 'ISNULL(CASE WHEN UPPER(RTRIM(LTRIM(T.@COL_NAME))) = ''TRUE'' THEN 1 ELSE 0 END,0) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 6 --PictureBox + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13) + ELSE IF @TYPEID = 1 --Label mit SQL + BEGIN + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]') + SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13) + END + --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox + -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 4 --Datepicker + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE + SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13) + + SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME) + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + PRINT @RESULT + + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE) + BEGIN + SET @SQL = 'DROP VIEW [dbo].[@VIEW]' + SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE) + PRINT @SQL + EXEC sp_executesql @SQL + END + EXEC sp_executesql @RESULT + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID +END +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + --Den Defaultvalue der DropdownListe eintragen + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 + --SELECT T.* FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = 21 AND T.TYPE_ID = 3 + END + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1 + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 4 AND T.CONFIG_COLUMNS = 1 + --SELECT * FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = 21 AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1 + EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + DECLARE + @ENITTY_ID INTEGER, + @DOCTYPE VARCHAR(250), + @SUPPLIER VARCHAR(250) + SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + + IF @ENITTY_ID = 21 + BEGIN + SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258 + SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID + IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA') + BEGIN + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER) + END + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TRIGGER [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS] ON [dbo].[TBPMO_DOCSEARCH_RESULTLIST_CONFIG] +AFTER INSERT +AS +BEGIN + DECLARE + @CONFIG_ID INTEGER, + @ENTITY_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @TYPE_ID INTEGER, + @CONFIG_COLUMNS INTEGER, + @DOC_ID INT, + @REC_ID INT, + @VALUE VARCHAR(100) + SELECT + @CONFIG_ID = GUID, + @ENTITY_ID = [ENTITY_ID], + @TYPE_ID = [TYPE_ID], + @ADDED_WHO = ADDED_WHO, + @CONFIG_COLUMNS = CONFIG_COLUMNS + FROM INSERTED + --Den Defaultvalue eintragen + IF @CONFIG_COLUMNS = 1 + BEGIN + DECLARE cursorRecordDocs CURSOR LOCAL FOR + SELECT T.RECORD_ID, T.DOC_ID FROM TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID + OPEN cursorRecordDocs + FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) VALUES ( + @DOC_ID,@REC_ID,@CONFIG_ID,'',@ADDED_WHO) + FETCH NEXT FROM cursorRecordDocs INTO @REC_ID,@DOC_ID + END + CLOSE cursorRecordDocs + DEALLOCATE cursorRecordDocs + END +END +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql new file mode 100644 index 0000000..078c9b2 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.5.sql @@ -0,0 +1,554 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.5' where NAME = 'Record-Organizer' +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_INS] ON [dbo].[TBPMO_DOC_RECORD_LINK] +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + --Den Defaultvalue der DropdownListe eintragen + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID = 3 AND CONFIG_COLUMNS = 1) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,T1.VALUE,@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T, TBPMO_DOCRESULT_DROPDOWN_ITEMS T1 WHERE T.GUID = T1.CONFIG_ID AND T1.[DEFAULT] = 1 AND T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID = 3 AND T.CONFIG_COLUMNS = 1 + END + IF (SELECT COUNT(GUID) FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE ENTITY_ID = @ENTITY_ID AND TYPE_ID <> 3 AND CONFIG_COLUMNS = 1) >= 1 + BEGIN + INSERT INTO TBPMO_DOC_VALUES (DocID,RECORD_ID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT @DOC_ID,@RECORD_ID,T.GUID,'',@ADDED_WHO FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG T WHERE T.ENTITY_ID = @ENTITY_ID AND T.TYPE_ID <> 3 AND T.CONFIG_COLUMNS = 1 + END + + EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + DECLARE + @ENITTY_ID INTEGER, + @DOCTYPE VARCHAR(250), + @SUPPLIER VARCHAR(250) + SELECT @ENITTY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + + IF @ENITTY_ID = 21 + BEGIN + SELECT @SUPPLIER = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 258 + SELECT @DOCTYPE = T.Doctype FROM TBPMO_DOCRESULT_LIST T, TBPMO_DOC_RECORD_LINK T1 WHERE T.DocID = T1.DOC_ID AND T1.RECORD_ID = @RECORD_ID + IF @SUPPLIER <> '' and @DOCTYPE <> '' AND @DOCTYPE IN ('55.SA','23B.NDA/CA') + BEGIN + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID,RECORD_ID,ADDED_WHO) SELECT @DOC_ID,[Record-ID],'TBPMO_DOC_RECORD_LINK_AFT_INS' FROM VWTEMP_PMO_FORM19 where UPPER(Supplier_name) = UPPER(@SUPPLIER) + END + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE TABLE [dbo].[TBDD_LICENSE_ADD_ON]( + [GUID] INT IDENTITY(1,1) NOT NULL, + [CLIENT_ID] INT NOT NULL, + [MODULE] VARCHAR(100) NOT NULL, + [NAME] VARCHAR(100) NOT NULL, + [VALID_DATE] VARCHAR(2000) NOT NULL, + [ADDED_WHO] VARCHAR(50) NOT NULL DEFAULT ('DEFAULT'), + [ADDED_WHEN] DATETIME DEFAULT (getdate()), + [CHANGED_WHO] VARCHAR(50), + [CHANGED_WHEN] DATETIME +CONSTRAINT [PK_TBDD_LICENSE_ADD_ON] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_LICENSE_ADD_ON_CLIENT_ID FOREIGN KEY ([CLIENT_ID]) REFERENCES TBDD_CLIENT (GUID)) +GO +INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (0,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6') +GO +INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Proxy-Server', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6') +GO +INSERT INTO TBDD_LICENSE_ADD_ON (CLIENT_ID, MODULE, NAME, VALID_DATE) VALUES (1,'Record-Organizer', 'Site-AddOn', '+bk8oAbbQP1AzoHtvZUbd+Mbok2f8Fl4miEx1qssJ5yEaEWoQJ9prg4L14fURpPncZwT1S0JUXDWEzuCTBqgpd20QM74AAN6') +GO + +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DROPDOWN_VALUE](@pDOCID INTEGER, @pENTITY INTEGER, @DOC_DD VARCHAR(20), @LANGUAGE VARCHAR(5), @REC_ID INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @HEADER_CAPTION VARCHAR(30), + @CONFIG_ID INTEGER, @VALUE VARCHAR(250), @RESULT VARCHAR(250) + SELECT + @HEADER_CAPTION = HEADER_CAPTION, + @CONFIG_ID = GUID FROM TBPMO_DOCSEARCH_RESULTLIST_CONFIG WHERE + ENTITY_ID = @pENTITY AND COLUMN_VIEW = @DOC_DD AND LANGUAGE = @LANGUAGE + + IF @HEADER_CAPTION IS NULL + SET @RESULT = 'NO DROP-DOWN CONFIGURATION' + ELSE + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @CONFIG_ID AND RECORD_ID = @REC_ID + + IF @VALUE IS NOT NULL + SET @RESULT = @VALUE + ELSE + SET @RESULT = '' + END + RETURN @RESULT +END +GO +ALTER TABLE TBDD_VERSION_UPDATE ADD ALL_USERS BIT NOT NULL DEFAULT 0 +GO +CREATE TABLE TBDD_VERSION_USER_UPDATE( + GUID INTEGER NOT NULL IDENTITY(1,1), + [USER_ID] INTEGER NOT NULL, + UPDATE_ID INTEGER NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE(), + CHANGED_WHEN DATETIME DEFAULT GETDATE(), +CONSTRAINT [PK_TBDD_VERSION_USER_UPDATE] PRIMARY KEY(GUID), +CONSTRAINT FK_TBDD_VERSION_USER_UPDATE_UPDATE_ID FOREIGN KEY (UPDATE_ID) REFERENCES TBDD_VERSION_UPDATE (GUID)) +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR INSERT +AS + /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ + DECLARE + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_NEW VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + SELECT + @RECORD_ID = INSERTED.RECORD_ID, + @CONTROL_ID = INSERTED.CONTROL_ID, + @ADDED_WHO = INSERTED.ADDED_WHO, + @VALUE_NEW = INSERTED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE INSERTED.RECORD_ID = T.GUID AND + INSERTED.CONTROL_ID = T1.GUID + + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + BEGIN + DECLARE @SUBJECT VARCHAR(100), + @LOCATION VARCHAR(100), + @DESCRIPTION VARCHAR(100) + SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID + + INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES + (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID) + END + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 346 + BEGIN + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + DECLARE cursor_DOCS CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN cursor_DOCS + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + DECLARE cursor_User CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursor_User + FETCH NEXT FROM cursor_User INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursor_User INTO @USER_ID + END + CLOSE cursor_User + DEALLOCATE cursor_User + END + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + END + CLOSE cursor_DOCS + DEALLOCATE cursor_DOCS + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @UPDATE_SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF @CONTROL_ID in (29,14,346) + BEGIN + PRINT 'CHANGE OF RIGHT RELEVANT CONTROL' + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + --PRINT 'OLD VALUE: ' + @VALUE_OLD + --PRINT 'NEW VALUE: ' + @VALUE_NEW + IF @CHANGED_WHO IS NULL + BEGIN + SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @CHANGED_WHO IS NULL + SET @CHANGED_WHO = 'TRIGGER DEFAULT' + END + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD) + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET ADDED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + ELSE + PRINT 'VALUES NOT DIFFERENT' + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW + END + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 29 --Vertragseigner Person + BEGIN + --### Zuerst müssen die Rechte der geänderten Person gelöscht werden + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + --### Jetzt prüfen der neuen Rechte + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + -- ####### Vertragseigner Team ############### + ELSE IF @CONTROL_ID = 14 + BEGIN + /*Die Rechte des des alten Vertragseigner-Teams löschen*/ + DECLARE C_OLDUSER_CONTROWN CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD)) + OPEN C_OLDUSER_CONTROWN + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + END + CLOSE C_OLDUSER_CONTROWN + DEALLOCATE C_OLDUSER_CONTROWN + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + /*Die Rechte des Teams Vertragseigner hinzufügen*/ + DECLARE c_USER CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW)) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + END + CLOSE c_USER + DEALLOCATE c_USER + END + + END + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + + +ALTER TRIGGER [dbo].[TBDD_VERSION_UPDATE_AFT_UPD] ON [dbo].[TBDD_VERSION_UPDATE] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @UPDATE_ID INTEGER, + @USER_ID INTEGER, + @ALL_USERS INT + SELECT @UPDATE_ID = GUID FROM INSERTED + + IF UPDATE (ALL_USERS) + BEGIN + SELECT @ALL_USERS = ALL_USERS FROM INSERTED + DELETE FROM TBDD_VERSION_USER_UPDATE WHERE UPDATE_ID = @UPDATE_ID + IF @ALL_USERS = 1 + BEGIN + DECLARE cursorUsers CURSOR FOR + select GUID FROM TBDD_USER + OPEN cursorUsers + FETCH NEXT FROM cursorUsers INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBDD_VERSION_USER_UPDATE (USER_ID, UPDATE_ID) VALUES (@USER_ID,@UPDATE_ID) + + FETCH NEXT FROM cursorUsers INTO @USER_ID + END + CLOSE cursorUsers + DEALLOCATE cursorUsers + END + END + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBDD_VERSION_UPDATE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBDD_VERSION_UPDATE.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +--UPDATE TBDD_VERSION_UPDATE SET ALL_USERS = 0 where VERSION_NO = '2.4.8.7' +--GO +--UPDATE TBDD_USER_MODULE_LOG_IN SET VERSION_CLIENT = '2.4.8.5' where VERSION_CLIENT = '2.4.8.6' +--GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN NVARCHAR(4000), + @SQL_END NVARCHAR(4000), + @SQL NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(4000), + @ENTITY_TABLENAME VARCHAR(50), + @VWPMO_ENTITY_TABLE VARCHAR(100) + +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, '' FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, T.SQL_COMMAND_1 FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID' + SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ',' + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + + SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T' + SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = '' + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + --PRINT @COL_NAME + IF @TYPEID IN(10,11) -- CheckBox,RadioBox + SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 6 --PictureBox + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + CHAR(13) + ELSE IF @TYPEID = 1 --Label mit SQL + BEGIN + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]') + SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13) + END + --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox + -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 4 --Datepicker + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE + SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13) + + SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME) + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + PRINT @RESULT + + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE) + BEGIN + SET @SQL = 'DROP VIEW [dbo].[@VIEW]' + SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE) + PRINT @SQL + EXEC sp_executesql @SQL + END + EXEC sp_executesql @RESULT + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID +END +GO + +ALTER TRIGGER [dbo].[TBPMO_CONTROL_AFT_UPD] ON [dbo].[TBPMO_CONTROL] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @TYP_ID INTEGER, + @TABLENAME_COL NVARCHAR(100), + @NEW_COL_NAME NVARCHAR(100), + @SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COL_NAME_OLD VARCHAR(50), + @DEFAULT_VALUE VARCHAR(MAX), + @SQL_DEF NVARCHAR(1000), + @ENTITY_TABLENAME VARCHAR(50) + SELECT + @COL_NAME_OLD = COL_NAME + FROM DELETED + SELECT + @CONTROL_ID = GUID, + @TYP_ID = CONTROL_TYPE_ID, + @ENTITY_ID = FORM_ID, + @COL_NAME = COL_NAME, + @DEFAULT_VALUE = DEFAULT_VALUE + FROM INSERTED + UPDATE TBPMO_CONTROL SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL.GUID = INSERTED.GUID + + IF @TYP_ID NOT IN (1,5,8,9) + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF COL_LENGTH(@ENTITY_TABLENAME, @COL_NAME) IS NOT NULL + BEGIN + PRINT 'NOW EXECUTING PRPMO_ALTER_ENTITY_TABLE....' + EXEC PRPMO_ALTER_ENTITY_TABLE @ENTITY_ID, @COL_NAME, @COL_NAME_OLD ,@TYP_ID,@DEFAULT_VALUE,1 + END + ELSE + PRINT 'NO ALTER COLUMN: COLUMN NOT EXISTING!' + END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE TBPMO_CONTROL_AFT_UPD - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql new file mode 100644 index 0000000..0ecc29a --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.6.sql @@ -0,0 +1,80 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.6' where NAME = 'Record-Organizer' +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE_VIEW](@pENTITY_ID INT) +AS +DECLARE @COL_NAME VARCHAR(50), + @SQL_BEGIN NVARCHAR(4000), + @SQL_END NVARCHAR(4000), + @SQL NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @SQL_LBL VARCHAR(4000), + @ENTITY_TABLENAME VARCHAR(50), + @VWPMO_ENTITY_TABLE VARCHAR(100) + +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, '' FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + UNION + SELECT T.GUID,'[' + T.NAME + ']' AS 'COL_NAME',T2.GUID,T1.TAB_INDEX, T.SQL_COMMAND_1 FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SET @VWPMO_ENTITY_TABLE = 'VWPMO_ENTITY_TABLE@pENTITY_ID' + SET @SQL_BEGIN = 'CREATE VIEW @VIEW AS SELECT T.[Record-ID]' + CHAR(13) + ',T.ROW_COLOR' + CHAR(13) + ',@pENTITY_ID AS [Form-ID]' + CHAR(13) + ',' + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@VIEW',@VWPMO_ENTITY_TABLE) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + + SET @VWPMO_ENTITY_TABLE = REPLACE(@VWPMO_ENTITY_TABLE,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + + SET @SQL_END = 'T.file_exists as [files?],' + CHAR(13) + 'T.file_count as [file count],' + CHAR(13) + 'T.AddedWho,' + CHAR(13) + 'T.AddedWhen,' + CHAR(13) + 'T.ChangedWho,' + CHAR(13) + 'T.ChangedWhen FROM @TABLE@pENTITY_ID T' + SET @SQL_END = REPLACE(@SQL_END,'@pENTITY_ID',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = '' + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @COL_NAME = REPLACE(@COL_NAME,'lbl','') + --PRINT @COL_NAME + IF @TYPEID IN(10,11) -- CheckBox,RadioBox + SET @SQL = @SQL + 'CONVERT(BIT,T.@COL_NAME) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 6 --PictureBox + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 1 --Label mit SQL + BEGIN + SET @SQL_LBL = REPLACE(UPPER(@SQL_LBL),'@RECORD_ID','T.[Record-ID]') + SET @SQL = @SQL + '(' + @SQL_LBL + ') AS ' + @COL_NAME + ',' + CHAR(13) + END + --ELSE IF @TYPEID IN(7,12,14) --DGV,CheckedListBox,ListBox + -- SET @SQL = @SQL + 'dbo.FNPMO_GET_CONTROL_VALUES(' + CONVERT(VARCHAR(20),@CONTROL_ID) + ', T.[Record-ID]) AS ' + @COL_NAME + ',' + CHAR(13) + ELSE IF @TYPEID = 4 --Datepicker + SET @SQL = @SQL + 'T.@COL_NAME AS ' + @COL_NAME + ',' + CHAR(13) + ELSE + SET @SQL = @SQL + 'ISNULL(T.@COL_NAME,'''') AS ' + @COL_NAME + ',' + CHAR(13) + + SET @SQL = REPLACE(@SQL,'@COL_NAME',@COL_NAME) + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@SQL_LBL + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + SET @RESULT = @SQL_BEGIN + @SQL + @SQL_END + PRINT @RESULT + + IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.VIEWS WHERE TABLE_NAME = @VWPMO_ENTITY_TABLE) + BEGIN + SET @SQL = 'DROP VIEW [dbo].[@VIEW]' + SET @SQL = REPLACE(@SQL,'@VIEW',@VWPMO_ENTITY_TABLE) + PRINT @SQL + EXEC sp_executesql @SQL + END + EXEC sp_executesql @RESULT + UPDATE TBPMO_FORM_SQL SET SQL_COMMAND1 = @RESULT WHERE FORM_ID = @pENTITY_ID +END + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql new file mode 100644 index 0000000..e07cf74 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.7.sql @@ -0,0 +1,213 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.7' where NAME = 'Record-Organizer' +GO + +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD EXPAND BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS +select + T.*, + T1.CONTROL_ID, + T1.CREATE_RECORD, + T1.ENTITY_ID, + T1.NAME, + T1.TYPE_NODE, + T1.PARENT_NODE, + T1.EXPAND AS EXPAND_NODE +FROM TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 +WHERE T.NODE_CONFIG_ID = T1.GUID +GO +CREATE TABLE dbo.TBPMO_CONTROL_VALUE_HISTORY( + GUID INT, + CONTROL_ID INT, + RECORD_ID INT, + VALUE VARCHAR(max) , + ADDED_WHO VARCHAR(50), + ADDED_WHEN DATETIME, + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CHANGE_STEP INT, + REDO BIT, + CONSTRAINT PK_TBPMO_CONTROL_VALUE_HISTORY PRIMARY KEY (GUID) + ) + +GO +CREATE NONCLUSTERED INDEX [IDX_TBPMO_CONTROL_VALUE_HISTORY] +ON [dbo].[TBPMO_CONTROL_VALUE_HISTORY] ([RECORD_ID]) +INCLUDE ([VALUE]) +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_DEL] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR DELETE +AS +BEGIN TRY + DECLARE + @GUID INTEGER, + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @ADDED_WHEN DATETIME, + @CHANGED_WHO VARCHAR(50), + @CHANGED_WHEN DATETIME, + @VALUE_DEL VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @COUNTER_CONTROL_UPDATE_ID INTEGER + SELECT + @GUID = DELETED.GUID, + @RECORD_ID = DELETED.RECORD_ID, + @CONTROL_ID = DELETED.CONTROL_ID, + @VALUE_DEL = DELETED.VALUE, + @ENTITY_ID = T1.FORM_ID, + @COL_NAME = T1.COL_NAME , + @ADDED_WHO = DELETED.ADDED_WHO, + @ADDED_WHEN = DELETED.ADDED_WHEN, + @CHANGED_WHO = DELETED.CHANGED_WHO, + @CHANGED_WHEN = DELETED.CHANGED_WHEN + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + DELETE FROM TBPMO_APPOINTMENTS WHERE [CustomField1] = @RECORD_ID AND [CustomField2] = @CONTROL_ID + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,'' + + INSERT INTO TBPMO_CONTROL_VALUE_HISTORY(GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN) + SELECT GUID,CONTROL_ID,RECORD_ID,VALUE,CHANGE_STEP,REDO,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM DELETED + + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID in (29,14,346) + BEGIN + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + IF @CONTROL_ID = 346 + BEGIN + DECLARE cursor_DOCS CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN cursor_DOCS + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + DECLARE cursor_User CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_DEL) + OPEN cursor_User + FETCH NEXT FROM cursor_User INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'DELETE RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_DEL_346', @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursor_User INTO @USER_ID + END + CLOSE cursor_User + DEALLOCATE cursor_User + END + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + END + CLOSE cursor_DOCS + DEALLOCATE cursor_DOCS + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) +GO +ALTER TABLE TBPMO_CONTROL +ADD AUTO_SUGGEST BIT NOT NULL DEFAULT 0 +GO +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.SELECT_ONLY CONTROL_SELECT_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4 +WHERE + T.FORM_ID = T3.GUID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql new file mode 100644 index 0000000..38c2fd3 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.8.sql @@ -0,0 +1,367 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.8' where NAME = 'Record-Organizer' +GO + +--####################################################################################### +ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBDD_DOKUMENTART_AFT_INS2] ON [dbo].[TBDD_DOKUMENTART] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @ADDED_WHO VARCHAR(50), + @OBJEKTTYP VARCHAR(50), + @GUID INTEGER + SELECT + @GUID = GUID, + @ADDED_WHO = ERSTELLTWER, + @OBJEKTTYP = OBJEKTTYP + FROM INSERTED + + INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID) + SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) + + --IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL + -- IF @OBJEKTTYP IS NOT NULL + -- IF @OBJEKTTYP <> '' + -- BEGIN + -- DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50) + -- SELECT @IDX_DOC = IDXNAME_DOCTYPE, + -- @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP + -- IF @IDX_REC IS NOT NULL + -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + -- (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO) + -- IF @IDX_DOC IS NOT NULL + -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + -- (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO) + -- END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER PROCEDURE [dbo].[PRPMO_ALTER_ENTITY_TABLE](@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) +AS +DECLARE @SQL NVARCHAR(MAX), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_TABLENAME VARCHAR(50), + @TEMP_COL_NAME VARCHAR(50), + @SQL_DEF NVARCHAR(MAX), + @DFNAME VARCHAR(50), + @DROP NVARCHAR(500) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @DEFAULT_VALUE = @pDEFAULT_VALUE + + IF @pACTION = 0 -- Für Insert + BEGIN + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + + SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13) + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13) + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13) + ELSE + BEGIN + IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0 + BEGIN + SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE) + END + ELSE + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + END + --PRINT @SQL + + EXEC sp_executesql @SQL + PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED' + END + ELSE IF @pACTION = 1 -- Für Update + BEGIN + IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0 + BEGIN + SET @SQL = '@TABLE@ENT.[@OLDNAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD) + + --PRINT @COL_NAME + --PRINT @TABLENAME_COL + + --Update des Columnnames + EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN' + PRINT 'COLUMN WAS UPDATED' + + SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN ' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = @SQL + '[' + @pCOL_NAME + '] ' + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +'VARBINARY(MAX)' + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + 'VARCHAR(MAX)' + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + 'VARCHAR(10)' + ELSE + BEGIN + SET @SQL = @SQL + 'VARCHAR(MAX)' + IF @DEFAULT_VALUE IS NOT NULL + BEGIN + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','') + SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']' + SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME) + END + END + + --PRINT '@ALTER SQL-COMMAND: ' + @SQL + EXEC sp_executesql @SQL + PRINT 'ALTER TABLE was executed' + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0 + BEGIN + --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF + EXEC sp_executesql @SQL_DEF + END + + END + END + ELSE IF @pACTION = 2 -- Für Delete + BEGIN + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + EXEC sp_executesql @DROP + END + EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID +END +GO +ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER') + + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + /**/ + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql new file mode 100644 index 0000000..e6d1c72 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.7.9.sql @@ -0,0 +1,401 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.7.9' where NAME = 'Record-Organizer' +GO + +--####################################################################################### +ALTER PROCEDURE [dbo].[PRPMO_DELETE_DOCTYPE](@pDOCID INT) +AS +BEGIN TRY + DELETE FROM TBPMO_WD_NAMECONVENTION_FORMAT WHERE ID IN (SELECT GUID FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID) + DELETE FROM TBPMO_WD_FORMVIEW_DOKTYPES WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_INDEX_MAN WHERE DOK_ID = @pDOCID + DELETE FROM TBDD_INDEX_AUTOM WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_USRGRP_DOKTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_CLIENT_DOCTYPE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBPMO_TEMPLATE WHERE DOCTYPE_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART_MODULE WHERE DOKART_ID = @pDOCID + DELETE FROM TBDD_DOKUMENTART WHERE GUID = @pDOCID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBDD_DOKUMENTART_AFT_INS2] ON [dbo].[TBDD_DOKUMENTART] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @ADDED_WHO VARCHAR(50), + @OBJEKTTYP VARCHAR(50), + @GUID INTEGER + SELECT + @GUID = GUID, + @ADDED_WHO = ERSTELLTWER, + @OBJEKTTYP = OBJEKTTYP + FROM INSERTED + + INSERT INTO TBPMO_CLIENT_DOCTYPE (CLIENT_ID,DOCTYPE_ID) + SELECT T.CLIENT_ID,@GUID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) + + --IF OBJECT_ID(N'dbo.TBPMO_WD_OBJECTTYPE', N'U') IS NOT NULL + -- IF @OBJEKTTYP IS NOT NULL + -- IF @OBJEKTTYP <> '' + -- BEGIN + -- DECLARE @IDX_DOC VARCHAR(50),@IDX_REC VARCHAR(50) + -- SELECT @IDX_DOC = IDXNAME_DOCTYPE, + -- @IDX_REC = IDXNAME_RECORDID FROM TBPMO_WD_OBJECTTYPE WHERE OBJECT_TYPE = @OBJEKTTYP + -- IF @IDX_REC IS NOT NULL + -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + -- (@GUID,@IDX_REC,'@Record-ID',1,@ADDED_WHO) + -- IF @IDX_DOC IS NOT NULL + -- INSERT INTO TBDD_INDEX_AUTOM (DOCTYPE_ID,INDEXNAME,VALUE,ACTIVE,ADDED_WHO) VALUES + -- (@GUID,@IDX_DOC,'@Dokart',1,@ADDED_WHO) + -- END +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER PROCEDURE [dbo].[PRPMO_ALTER_ENTITY_TABLE](@pENTITY_ID INT,@pCOL_NAME VARCHAR(50),@pCOL_NAME_OLD VARCHAR(50),@pTYP_ID INT,@pDEFAULT_VALUE VARCHAR(100),@pACTION TINYINT = 0) +AS +DECLARE @SQL NVARCHAR(MAX), + @DEFAULT_VALUE VARCHAR(100), + @ENTITY_TABLENAME VARCHAR(50), + @TEMP_COL_NAME VARCHAR(50), + @SQL_DEF NVARCHAR(MAX), + @DFNAME VARCHAR(50), + @DROP NVARCHAR(500) +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @DEFAULT_VALUE = @pDEFAULT_VALUE + + IF @pACTION = 0 -- Für Insert + BEGIN + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + 'ADD [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + + SET @SQL = @SQL +' BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + CHAR(13) + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +' VARBINARY(MAX)' + CHAR(13) + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + ' VARCHAR(10)' + CHAR(13) + ELSE + BEGIN + IF LEN(ISNULL(@DEFAULT_VALUE,'')) > 0 + BEGIN + SET @SQL = @SQL + ' VARCHAR(MAX) DEFAULT ''@DEFAULT''' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@DEFAULT',@DEFAULT_VALUE) + END + ELSE + SET @SQL = @SQL + ' VARCHAR(MAX)' + CHAR(13) + END + --PRINT @SQL + + EXEC sp_executesql @SQL + PRINT 'COLUMN FOR ENTITY-TABLE WAS ADDED' + END + ELSE IF @pACTION = 1 -- Für Update + BEGIN + IF LEN(ISNULL(@pCOL_NAME_OLD,'')) > 0 + BEGIN + SET @SQL = '@TABLE@ENT.[@OLDNAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@OLDNAME',@pCOL_NAME_OLD) + + --PRINT @COL_NAME + --PRINT @TABLENAME_COL + + --Update des Columnnames + EXEC sp_RENAME @SQL, @pCOL_NAME, 'COLUMN' + PRINT 'COLUMN WAS UPDATED' + + SET @SQL = 'ALTER TABLE @TABLE@ENT ALTER COLUMN ' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = @SQL + '[' + @pCOL_NAME + '] ' + + IF @pTYP_ID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT_VALUE = 'False' + SET @DEFAULT_VALUE = '0' + ELSE + SET @DEFAULT_VALUE = '1' + SET @SQL = @SQL +'BIT'-- NOT NULL DEFAULT ' + @DEFAULT_VALUE + END + ELSE IF @pTYP_ID = 6 --Picturebox + SET @SQL = @SQL +'VARBINARY(MAX)' + ELSE IF @pTYP_ID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + SET @SQL = @SQL + 'VARCHAR(MAX)' + ELSE IF @pTYP_ID = 4 --DatePicker + SET @SQL = @SQL + 'VARCHAR(10)' + ELSE + BEGIN + SET @SQL = @SQL + 'VARCHAR(MAX)' + IF @DEFAULT_VALUE IS NOT NULL + BEGIN + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,' ','') + SET @SQL_DEF = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR [' + @pCOL_NAME + ']' + SET @SQL_DEF = REPLACE(@SQL_DEF,'@DEFAULT_VALUE',@DEFAULT_VALUE) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_DEF = REPLACE(@SQL_DEF,'@COL_NAME',@TEMP_COL_NAME) + END + END + + --PRINT '@ALTER SQL-COMMAND: ' + @SQL + EXEC sp_executesql @SQL + PRINT 'ALTER TABLE was executed' + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + IF LEN(@SQL_DEF) > 0 AND LEN(@DEFAULT_VALUE) > 0 + BEGIN + --PRINT '@SQL DEFAULT CONSTRAINT: ' + @SQL_DEF + EXEC sp_executesql @SQL_DEF + END + + END + END + ELSE IF @pACTION = 2 -- Für Delete + BEGIN + SET @DFNAME = 'DEF@TABLE@ENT_@COL_NAME' + SET @DFNAME = REPLACE(@DFNAME,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DFNAME = REPLACE(@DFNAME,'@TABLE',@ENTITY_TABLENAME) + SET @DFNAME = REPLACE(@DFNAME,'@COL_NAME',@TEMP_COL_NAME) + --PRINT '@DFNAME: ' + @DFNAME + IF EXISTS(SELECT * FROM sys.default_constraints WHERE name = @DFNAME) + BEGIN + --PRINT 'DEFAULT KEY EXISTS' + SET @DROP = 'ALTER TABLE @TABLE@ENT DROP CONSTRAINT DEF@TABLE@ENT_@COL_NAME' + SET @DROP = REPLACE(@DROP,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @DROP = REPLACE(@DROP,'@TABLE',@ENTITY_TABLENAME) + SET @DROP = REPLACE(@DROP,'@COL_NAME',@TEMP_COL_NAME) + --PRINT @DROP + EXEC sp_executesql @DROP + END + SET @SQL = 'ALTER TABLE @TABLE@ENT' + CHAR(13) + ' DROP COLUMN [@COL_NAME]' + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@COL_NAME',@pCOL_NAME) + EXEC sp_executesql @DROP + END + EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @pENTITY_ID +END +GO +ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER') + + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + /**/ + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_USER](@pUSER_ID INT) +AS +BEGIN TRY + IF OBJECT_ID(N'dbo.TBGI_FOLDERWATCH_USER', N'U') IS NOT NULL + DELETE FROM TBGI_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + IF OBJECT_ID(N'dbo.TBHOTKEY_USER_PROFILE', N'U') IS NOT NULL + DELETE FROM TBHOTKEY_USER_PROFILE WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_LOGIN_OUT WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_GLOBAL_SEARCH WHERE USER_ID = @pUSER_ID + + DELETE FROM TBDD_CLIENT_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_GROUPS_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER_SQL WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_CONSTRUCTOR_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLDERWATCH_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_USER WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_USER_CONSTR_VIEW_TYPE WHERE USER_ID = @pUSER_ID + DELETE FROM TBPMO_ENTITY_SUPERVISOR WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER_MODULES WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_VERSION_USER_UPDATE_PATH WHERE USER_ID = @pUSER_ID + DELETE FROM TBDD_USER WHERE GUID = @pUSER_ID +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +CREATE PROCEDURE [dbo].[PRPMO_DOC_VALUE_UPD_INS](@pDOCID INT, @pREC_ID INT, @pCONFIGID INT,@pVALUE VARCHAR(MAX),@pUSER VARCHAR(30)) +AS +BEGIN TRY + IF EXISTS(SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pREC_ID) + UPDATE TBPMO_DOC_VALUES SET VALUE = @pVALUE,CHANGED_WHO = @pUSER WHERE GUID = ( + SELECT GUID FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND RECORD_ID = @pREC_ID AND CONFIG_ID = @pCONFIGID) + ELSE + INSERT INTO TBPMO_DOC_VALUES (DocID, RECORD_ID, CONFIG_ID, VALUE, ADDED_WHO) VALUES (@pDOCID, @pREC_ID, @pCONFIGID, @pVALUE, @pUSER) +END TRY +BEGIN CATCH + PRINT 'ERROR IN [PRPMO_DOC_VALUE_UPD_INS] - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_LANGUAGE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_LANGUAGE] +FOR UPDATE +AS +BEGIN + DECLARE @CONTR_SCREEN_ID INTEGER, + @GUID INTEGER, + @CAPTION VARCHAR(100) + SELECT @CONTR_SCREEN_ID = CONTROL_SCREEN_ID, + @GUID = GUID, + @CAPTION = CAPTION + FROM inserted + UPDATE TBPMO_CONTROL_LANGUAGE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_LANGUAGE.GUID = INSERTED.GUID + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'de-DE') + INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('de-DE',@CONTR_SCREEN_ID,@CAPTION) + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_LANGUAGE WHERE CONTROL_SCREEN_ID = @CONTR_SCREEN_ID AND LANGUAGE_TYPE = 'en-US') + INSERT INTO TBPMO_CONTROL_LANGUAGE (LANGUAGE_TYPE,CONTROL_SCREEN_ID,CAPTION) VALUES ('en-US',@CONTR_SCREEN_ID,@CAPTION) +END +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql new file mode 100644 index 0000000..c9cf06c --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.0.sql @@ -0,0 +1,775 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.0' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBPMO_RECORD ADD DELETED BIT NOT NULL DEFAULT 0 +GO +ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_IMPORT_RECORDS](@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + --DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + --DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + --DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + -- DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + --DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD DELETED BY USER',@WHO) + +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO) + +GO +ALTER TABLE TBDD_MODULES ADD MIN_REQUIRED_VERSION VARCHAR(10) NOT NULL DEFAULT '1.0.0.0' +GO +ALTER PROCEDURE [dbo].[PRPMO_DOC_CREATE_NEW_DOC](@pDOC_ID INTEGER,@pREC_ID INTEGER,@WHO VARCHAR(50)) +AS +BEGIN TRY + + DECLARE + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME + + SELECT @FULL_FILENAME = FULL_FILENAME + ,@DISPLAY_NAME = [Filename] + ,@Filename = [Filename] + ,@Doctype = Doctype + ,@Version = [Version] + ,@Creation_DateTime = [Creation_DateTime] + ,@Change_DateTime = [Change_DateTime] + ,@Objecttype = OBJECTTYPE + FROM + VWPMO_DOC_SYNC + WHERE + DocID = @pDOC_ID + IF NOT EXISTS(SELECT DocID FROM TBPMO_DOCRESULT_LIST WHERE DocID = @pDOC_ID) + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @pDOC_ID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime) + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [DISPLAY_NAME] = @Filename, + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Creation_DateTime = @Creation_DateTime, + Change_DateTime = @Change_DateTime WHERE [DocID] = @pDOC_ID + + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE DOC_ID = @pDOC_ID AND RECORD_ID = @pREC_ID) + INSERT INTO TBPMO_DOC_RECORD_LINK (DOC_ID, RECORD_ID,ADDED_WHO) VALUES (@pDOC_ID,@pREC_ID,@WHO) + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD TEMPPATH VARCHAR(1000) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO1 VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO2 VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TABLE TBDD_VERSION_USER_UPDATE_PATH ADD INFO3 VARCHAR(500) NOT NULL DEFAULT '' +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @INSERT_SQL NVARCHAR(MAX) + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD + WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID + SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID' + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID)) + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID) + + PRINT @INSERT_SQL + EXEC sp_executesql @INSERT_SQL + --RAISERROR(@INSERT_SQL, 16, 1); + -- ROLLBACK; + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX) + + DECLARE cursInsertDefaultValues CURSOR FOR + select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> '' + OPEN cursInsertDefaultValues + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO) + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + END + CLOSE cursInsertDefaultValues + DEALLOCATE cursInsertDefaultValues + + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + AND T1.CREATE_ON_REC_CREATE = 1 + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_UPD] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR UPDATE +AS +/*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ +BEGIN TRY + DECLARE + @CONTROL_ID INTEGER, + @RECORD_ID INTEGER, + @VALUE_NEW VARCHAR(MAX), + @VALUE_OLD VARCHAR(MAX), + @CHANGED_WHO VARCHAR(50), + @CHANGE_STEP INTEGER, + @REDO BIT, + @CHANGE_ID INTEGER, + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @UPDATE_SQL NVARCHAR(MAX), + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + IF UPDATE (VALUE) + BEGIN + SELECT + @CONTROL_ID = DELETED.CONTROL_ID, + @RECORD_ID = DELETED.RECORD_ID, + @VALUE_OLD = DELETED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME + FROM DELETED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE DELETED.RECORD_ID = T.GUID AND + DELETED.CONTROL_ID = T1.GUID + + IF @CONTROL_ID in (29,14,346) + BEGIN + PRINT 'CHANGE OF RIGHT RELEVANT CONTROL' + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + END + --RAISERROR (@VALUE , 16, 1) + SELECT + @CHANGE_STEP = CHANGE_STEP, + @CHANGED_WHO = CHANGED_WHO, + @VALUE_NEW = VALUE, + @REDO = REDO + FROM INSERTED + --PRINT 'OLD VALUE: ' + @VALUE_OLD + --PRINT 'NEW VALUE: ' + @VALUE_NEW + IF @CHANGED_WHO IS NULL + BEGIN + SELECT @CHANGED_WHO = IN_WORK_WHO FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @CHANGED_WHO IS NULL + SET @CHANGED_WHO = 'TRIGGER DEFAULT' + END + -- Änderung Vladi ------ + --SET @VALUE_OLD = REPLACE(@VALUE_OLD,'''','''''') + ---------------------- + + SELECT @CHANGE_ID = ISNULL(MAX(GUID),0) FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD + IF @CHANGE_ID = 0 + INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + ELSE + UPDATE TBPMO_CONTROL_VALUE_CHANGE_HISTORY SET CHANGED_WHO = @CHANGED_WHO WHERE GUID = @CHANGE_ID + --IF @REDO = 0 + -- IF @VALUE_OLD <> @VALUE_NEW AND NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE_CHANGE_HISTORY WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_OLD AND CHANGE_STEP = @CHANGE_STEP) + -- INSERT INTO TBPMO_CONTROL_VALUE_CHANGE_HISTORY (RECORD_ID,CONTROL_ID,VALUE,CHANGE_STEP,ADDED_WHO) VALUES + -- (@RECORD_ID,@CONTROL_ID,@VALUE_OLD,@CHANGE_STEP,@CHANGED_WHO) + --Update des Logs für loggen von Datensatzänderungen + IF EXISTS(SELECT LOG_UPDATE FROM TBPMO_RECORD_LOG_CONFIG WHERE CONTROL_ID = @CONTROL_ID AND LOG_UPDATE = 1) + If @VALUE_OLD <> @VALUE_NEW + BEGIN + DECLARE @LOG VARCHAR(1000) + SET @LOG = 'Update of Value - OLD-VALUE: ' + @VALUE_OLD + ' / NEW VALUE: ' + @VALUE_NEW + INSERT INTO TBPMO_RECORD_LOG (RECORD_ID,CONTROL_ID,LOG_DESCRIPTION,ADDED_WHO) VALUES + (@RECORD_ID,@CONTROL_ID,@LOG,@CHANGED_WHO) + END + ELSE + PRINT 'VALUES NOT DIFFERENT' + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@CHANGED_WHO,@VALUE_NEW + END + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 29 --Vertragseigner Person + BEGIN + --### Zuerst müssen die Rechte der geänderten Person gelöscht werden + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_OLD) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','ContractOwner',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + --### Jetzt prüfen der neuen Rechte + select @USER_ID = dbo.FNPMO_GET_USERID_FORSTRING (@VALUE_NEW) + If @USER_ID IS NOT NULL AND @USER_ID <> 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + DECLARE cursDOC_V1 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V1 + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','VERTRAGSEIGNER USER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + + FETCH NEXT FROM cursDOC_V1 INTO @DOC_ID + END + CLOSE cursDOC_V1 + DEALLOCATE cursDOC_V1 + END + END + -- ####### Vertragseigner Team ############### + ELSE IF @CONTROL_ID = 14 + BEGIN + /*Die Rechte des des alten Vertragseigner-Teams löschen*/ + DECLARE C_OLDUSER_CONTROWN CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_OLD)) + OPEN C_OLDUSER_CONTROWN + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'DELETE RIGHT','CONTRACTOWNER',@CHANGED_WHO, @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM C_OLDUSER_CONTROWN INTO @USER_ID,@USER_ID_ECM + END + CLOSE C_OLDUSER_CONTROWN + DEALLOCATE C_OLDUSER_CONTROWN + SET @COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID + 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + /*Die Rechte des Teams Vertragseigner hinzufügen*/ + DECLARE c_USER CURSOR FOR + SELECT T.[USER_ID], T1.USERID_FK_INT_ECM FROM TBDD_GROUPS_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE UPPER(NAME) = UPPER(@VALUE_NEW)) + OPEN c_USER + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + WHILE @@FETCH_STATUS = 0 + BEGIN + DECLARE cursDOC_V2 CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + OPEN cursDOC_V2 + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,3,'ADD RIGHT','CONTRACTOWNER',@CHANGED_WHO,@COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursDOC_V2 INTO @DOC_ID + END + CLOSE cursDOC_V2 + DEALLOCATE cursDOC_V2 + + FETCH NEXT FROM c_USER INTO @USER_ID,@USER_ID_ECM + END + CLOSE c_USER + DEALLOCATE c_USER + END + END + /*###### KUNDEN-INDIVIDUELL - END ####################################################################*/ + --Generelle Updates (Datum und Recor-Änderungen) + UPDATE TBPMO_CONTROL_VALUE SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CONTROL_VALUE.GUID = INSERTED.GUID + UPDATE TBPMO_RECORD SET CHANGED_WHO = @CHANGED_WHO WHERE TBPMO_RECORD.GUID = @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_CONTROL_VALUE_AFT_INS] ON [dbo].[TBPMO_CONTROL_VALUE] +FOR INSERT +AS + /*###### BE AWARE THAT CHANGES ALSO MUST BE MADE IN PROXY-SERVER TRIGGER ######*/ + DECLARE + @COUNT_GUID INTEGER, + @RECORD_ID INTEGER, + @CONTROL_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @VALUE_NEW VARCHAR(MAX), + @DOC_ID INTEGER, + @USER_ID INTEGER, + @USER_ID_ECM INTEGER, + @RIGHT INTEGER, + @COUNTER_CONTROL_UPDATE_ID INTEGER, + @ENTITY_ID INTEGER, + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50), + @CONTROL_TYPE INTEGER + SELECT + @RECORD_ID = INSERTED.RECORD_ID, + @CONTROL_ID = INSERTED.CONTROL_ID, + @ADDED_WHO = INSERTED.ADDED_WHO, + @VALUE_NEW = INSERTED.VALUE, + @ENTITY_ID = T.FORM_ID, + @COL_NAME = T1.COL_NAME, + @CONTROL_TYPE = T1.CONTROL_TYPE_ID + FROM INSERTED, TBPMO_RECORD T,TBPMO_CONTROL T1 + WHERE INSERTED.RECORD_ID = T.GUID AND + INSERTED.CONTROL_ID = T1.GUID + + SELECT @COUNT_GUID = COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = @CONTROL_ID AND VALUE = @VALUE_NEW + IF @COUNT_GUID > 1 + BEGIN + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + @VALUE_NEW,@ADDED_WHO) + RAISERROR ('UNIQUE VIOLATION: THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!',16,1) + ROLLBACK TRANSACTION + END + + IF @CONTROL_TYPE = 4 + IF ISDATE(@VALUE_NEW) = 0 + BEGIN + declare @msg varchar(200) + SET @msg = 'INVALID INPUT: ' + @VALUE_NEW + ' - A DATE VALUE IS REQUIRED' + RAISERROR (@msg,16,1) + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','INVALID DATE-VALUE: ' + @VALUE_NEW,@ADDED_WHO) + ROLLBACK TRANSACTION + END + + -- Änderung Vladi ------ + --SET @VALUE_NEW = REPLACE(@VALUE_NEW,'''','''''') + ------------------------ + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + IF EXISTS(SELECT * FROM sys.columns WHERE Name = @COL_NAME AND Object_ID = Object_ID(@ENTITY_TABLENAME)) + EXEC PRPMO_ENTITY_TABLE_UPDATE_COLUMN @ENTITY_ID, @RECORD_ID,@CONTROL_ID, @COL_NAME,@ADDED_WHO,@VALUE_NEW + + IF EXISTS(SELECT CONTROL_ID FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID) + BEGIN + DECLARE @SUBJECT VARCHAR(100), + @LOCATION VARCHAR(100), + @DESCRIPTION VARCHAR(100) + SELECT @SUBJECT = APPT_SUBJECT, @LOCATION = APPT_LOCATION,@DESCRIPTION = APPT_DESCRIPTION FROM TBPMO_APPOINTMENT_CONTROLS WHERE CONTROL_ID = @CONTROL_ID + + INSERT INTO TBPMO_APPOINTMENTS (Type,[StartDate],[EndDate],[AllDay],[Subject],[Location],[Description],Status,Label,[CustomField1],[CustomField2]) VALUES + (0,CONVERT(DATE,@VALUE_NEW),CONVERT(DATE,@VALUE_NEW),1,@SUBJECT,@LOCATION,@DESCRIPTION,0,2,@RECORD_ID,@CONTROL_ID) + END + + /*###### KUNDEN-INDIVIDUELL - BEGIN ####################################################################*/ + IF @CONTROL_ID = 346 + BEGIN + SELECT @COUNTER_CONTROL_UPDATE_ID = COUNTER_CONTROL_UPDATE_ID + 1 FROM TBPMO_KONFIGURATION WHERE GUID = 1 + UPDATE TBPMO_KONFIGURATION SET COUNTER_CONTROL_UPDATE_ID = @COUNTER_CONTROL_UPDATE_ID WHERE GUID = 1 + DECLARE cursor_DOCS CURSOR FOR + select DocID from VWPMO_DOC_SEARCH T, TBPMO_DOC_RECORD_LINK TRL where T.DocID = TRL.DOC_ID AND + TRL.RECORD_ID = @RECORD_ID + --SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + OPEN cursor_DOCS + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + BEGIN + DECLARE cursor_User CURSOR FOR + SELECT [USER_ID] FROM TBDD_GROUPS_USER WHERE GROUP_ID = (SELECT GUID FROM TBDD_USER_GROUPS WHERE NAME = @VALUE_NEW) + --select DocID from VWPMO_DOC_SEARCH where RECORD_ID = @RECORD_ID + OPEN cursor_User + FETCH NEXT FROM cursor_User INTO @USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SELECT @USER_ID_ECM = USERID_FK_INT_ECM FROM TBDD_USER WHERE GUID = @USER_ID + EXEC PRPMO_RIGHTS_CHECK_RIGHT @DOC_ID,@USER_ID,@USER_ID_ECM,1,'ADD RIGHT','LESEBERECHTIGUNG TEAM','TBPMO_CONTROL_VALUE_AFT_INS_346', @COUNTER_CONTROL_UPDATE_ID + FETCH NEXT FROM cursor_User INTO @USER_ID + END + CLOSE cursor_User + DEALLOCATE cursor_User + END + FETCH NEXT FROM cursor_DOCS INTO @DOC_ID + END + CLOSE cursor_DOCS + DEALLOCATE cursor_DOCS + END + /*###### KUNDEN-INDIVIDUELL - ENDE ####################################################################*/ +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @OLD_ENTITY_ID INTEGER, + @ENTITY_ID INTEGER, + @PARENT_RECORD INTEGER, + @ENTITY_TABLENAME VARCHAR(50), + @SQL NVARCHAR(MAX), + @DELETED_OLD BIT, + @DELETED BIT, + @RECORD_ENTITY_ID BIGINT + SELECT @DELETED_OLD = [deleted] FROM deleted + SELECT @DELETED = [deleted],@RECORD_ENTITY_ID = RECORD_ENTITY_ID FROM inserted + PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + IF UPDATE(FORM_ID) + BEGIN + SELECT + @RECORD_ID = GUID + FROM INSERTED + SELECT @OLD_ENTITY_ID = FORM_ID FROM deleted + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@OLD_ENTITY_ID) + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID + END + IF UPDATE (PARENT_RECORD) + BEGIN + SELECT + @RECORD_ID = GUID, + @PARENT_RECORD = PARENT_RECORD, + @ENTITY_ID = FORM_ID + FROM INSERTED + IF @PARENT_RECORD > 0 + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + --RAISERROR(@SQL, 16, 1) + EXEC sp_executesql @SQL + END + END + IF UPDATE([DELETED]) + BEGIN + IF @DELETED_OLD = 0 and @DELETED = 1 + BEGIN + Print '@DELETED_OLD = 0 and @DELETED = 1' + SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID + Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + END + + UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + PRINT @SQL_DELETE + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql new file mode 100644 index 0000000..2ab5b86 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.1.sql @@ -0,0 +1,464 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.1' where NAME = 'Record-Organizer' +GO +ALTER TABLE TBDD_MODULES ADD AUTO_LOGOUT_USER INT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_CONTROL_VALUE_HISTORY ADD GUID INTEGER IDENTITY(0,1) +GO +ALTER TABLE TBPMO_RECORD ADD IN_WORK_WHEN DATETIME +GO +ALTER TABLE TBPMO_LOG_ESSENTIALS ADD [ENTITY_ID] INT +GO +ALTER TABLE TBPMO_FORM_CONSTRUCTOR_DETAIL ADD ADD_RECORDS BIT NOT NULL DEFAULT 1 +GO + +CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + PRINT @SQL_DELETE + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CHANGES BIT, + @RECORD_ID INTEGER, + @OLD_ENTITY_ID INTEGER, + @ENTITY_ID INTEGER, + @PARENT_RECORD INTEGER, + @ENTITY_TABLENAME VARCHAR(50), + @SQL NVARCHAR(MAX), + @DELETED_OLD BIT, + @DELETED BIT, + @RECORD_ENTITY_ID BIGINT, + @INWORK_OLD BIT, + @INWORK BIT, + @INWORK_WHO VARCHAR(50) + SELECT @DELETED_OLD = [deleted],@INWORK_OLD = IN_WORK FROM deleted + SELECT @RECORD_ID = GUID, @DELETED = [deleted],@RECORD_ENTITY_ID = RECORD_ENTITY_ID,@INWORK = IN_WORK , @INWORK_WHO = ISNULL(IN_WORK_WHO,'') FROM inserted + --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + SET @CHANGES = 0 + IF UPDATE(IN_WORK) + BEGIN + IF @INWORK_OLD = 0 and @INWORK = 1 + BEGIN + DECLARE @COMMENT VARCHAR(100) + SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO + PRINT @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + ELSE IF @INWORK_OLD = 1 and @INWORK = 0 + BEGIN + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE(VERSION) + BEGIN + SET @CHANGES = 1 + END + IF UPDATE(FORM_ID) + BEGIN + SELECT @OLD_ENTITY_ID = FORM_ID FROM deleted + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@OLD_ENTITY_ID) + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID + SET @CHANGES = 1 + END + IF UPDATE (PARENT_RECORD) + BEGIN + SELECT + @RECORD_ID = GUID, + @PARENT_RECORD = PARENT_RECORD, + @ENTITY_ID = FORM_ID + FROM INSERTED + SET @CHANGES = 1 + IF @PARENT_RECORD > 0 + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + --RAISERROR(@SQL, 16, 1) + EXEC sp_executesql @SQL + END + END + IF UPDATE([DELETED]) + BEGIN + IF @DELETED_OLD = 0 and @DELETED = 1 + BEGIN + Print '@DELETED_OLD = 0 and @DELETED = 1' + SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID + Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + SET @CHANGES = 1 + END + + IF @CHANGES = 1 + UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + + +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_INS] ON [dbo].[TBPMO_RECORD] +FOR INSERT +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @MAX_ID INTEGER, + @FORM_ID INTEGER, + @WF_ID INTEGER, + @PARENT_ID INTEGER, + @ADDED_WHO VARCHAR(50), + @INSERT_SQL NVARCHAR(MAX) + SELECT + @FORM_ID = FORM_ID, + @RECORD_ID = GUID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_ID = 32 + BEGIN + ROLLBACK TRANSACTION + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@FORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@FORM_ID),@ADDED_WHO) + RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + END + + SELECT @MAX_ID = ISNULL(MAX(RECORD_ENTITY_ID) + 1,0) FROM TBPMO_RECORD + WHERE FORM_ID = @FORM_ID AND DELETED = 0 AND GUID <> @RECORD_ID + SET @INSERT_SQL = 'INSERT INTO TBPMO_ENTITY_TABLE@ENT_ID ([Record-ID],AddedWho,AddedWhen) SELECT GUID,ADDED_WHO,ADDED_WHEN FROM TBPMO_RECORD WHERE GUID = @RECORD_ID' + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@ENT_ID',CONVERT(VARCHAR(10),@FORM_ID)) + SET @INSERT_SQL = REPLACE(@INSERT_SQL,'@RECORD_ID',@RECORD_ID) + + PRINT @INSERT_SQL + EXEC sp_executesql @INSERT_SQL + --RAISERROR(@INSERT_SQL, 16, 1); + -- ROLLBACK; + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @MAX_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + + DECLARE @CONTROL_ID INTEGER,@VALUE VARCHAR(MAX) + + DECLARE cursInsertDefaultValues CURSOR FOR + select GUID, DEFAULT_VALUE FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID AND DEFAULT_VALUE IS NOT NULL AND DEFAULT_VALUE <> '' + OPEN cursInsertDefaultValues + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + WHILE @@FETCH_STATUS = 0 + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE (RECORD_ID,CONTROL_ID,VALUE,ADDED_WHO) VALUES (@RECORD_ID,@CONTROL_ID,@VALUE,@ADDED_WHO) + FETCH NEXT FROM cursInsertDefaultValues INTO @CONTROL_ID,@VALUE + END + CLOSE cursInsertDefaultValues + DEALLOCATE cursInsertDefaultValues + + ----Überprüfen ob für die Entity_ID Workflows definiert sind? + IF EXISTS( + SELECT DISTINCT T.[ENTITY_ID] FROM TBPMO_WORKFLOW_ENTITY_STATE T,TBPMO_WORKFLOW T1 where T.WF_ID = T1.GUID AND T1.MANUALLY = 0 AND T.[ENTITY_ID] = @FORM_ID + AND T1.CREATE_ON_REC_CREATE = 1 + ) + BEGIN + EXECUTE dbo.PRPMO_CREATE_WF_TASKS @FORM_ID, @RECORD_ID + END + +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_CREATE_CONTROL_VALUE](@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +--ALTER PROCEDURE PRPMO_CREATE_CONTROL_VALUE(@pRESULT BIT OUTPUT,@pCONTROL_ID INT,@pRECORD_ID INT,@pVALUE VARCHAR(MAX),@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +AS +DECLARE @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +BEGIN TRY + -- DatensatzExistenz überprüfen + IF NOT EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID AND CONTROL_ID = @pCONTROL_ID AND UPPER(LTRIM(RTRIM(VALUE))) = UPPER(LTRIM(RTRIM(@pVALUE)))) + BEGIN + INSERT INTO TBPMO_CONTROL_VALUE(CONTROL_ID,RECORD_ID,VALUE,ADDED_WHO) VALUES(@pCONTROL_ID,@pRECORD_ID,LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) + SET @pRESULT = 1 + END + ELSE + BEGIN + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID','UNIQUE VIOLATION - VALUE ' + LTRIM(RTRIM(@pVALUE)),LTRIM(RTRIM(@pADDED_WHO))) + SET @pRESULT = 0 + DECLARE @CONTROL_CAPT VARCHAR(100), @ERROR_MSG VARCHAR(500) + SELECT @CONTROL_CAPT = [COL_NAME] FROM TBPMO_CONTROL WHERE GUID = @pCONTROL_ID + SET @ERROR_MSG = 'UNIQUE VIOLATION FOR CONTROL: ' + @CONTROL_CAPT + CHAR(13) + 'THE VALUE ALREADY EXISTS - MULTIPLE VALUES PER CONTROL NOT ALLOWED!' + RAISERROR(@ERROR_MSG,16,1) + END + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pRECORD_ID,'RECORD-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR(@FEHLER,16,1) +END CATCH +GO +--CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +AS +DECLARE @RECORD_ENTITY_ID BIGINT, + @RECORD_ID INT, + @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +DECLARE @OUTPUTDATA TABLE(RECORD_ID INT) + +BEGIN TRY +--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + IF @pFORM_ID = 32 + BEGIN + SET @pRESULT = 0 + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pFORM_ID,'FORM-ID','INSERT IN ARCHIVE ENTITY NOT ALLOWED ' + CONVERT(VARCHAR(10),@pFORM_ID),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + END + ELSE + BEGIN + SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0 + + INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO,IN_WORK,IN_WORK_WHO) + OUTPUT INSERTED.GUID INTO @OUTPUTDATA + VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO)),1,LTRIM(RTRIM(@pADDED_WHO))) + + SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA + END + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @pRESULT = 0 + + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR(@FEHLER,16,1) + + RETURN +END CATCH +GO +ALTER PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '') +AS + DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT + DECLARE @reas As VARCHAR(250) + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO) + END + + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + IF @ISINSERT = 1 + EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES' + ELSE + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO) +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '') +AS + DECLARE @DELETE_SQL NVARCHAR(MAX), + @ENTITY_ID INT, @COUNT_REQUIRED INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + --DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + DECLARE @reas As VARCHAR(250) + SET @reas = 'RECORD DELETED BY USER' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + END + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO) + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + BEGIN + PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES' + EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES' + END +GO +ALTER VIEW [dbo].[VWPMO_CONSTRUCTOR_FORMS] AS +SELECT TOP 100 PERCENT + T2.GUID, + T1.GUID FORM_VIEW_ID, + T1.SCREEN_ID, + T2.CONSTRUCT_ID, + T.PARENT_ID, + T2.SEQUENCE, + T2.LEVEL1_SELECT, + T.GUID AS FORM_ID, + T1.FORM_TITLE, + T2.SQL_SELECT_EBENE1, + T2.SQL_SELECT_EBENE2, + T2.SQL_QUICK_VIEW, + T2.COLUMN_NAME1, + T2.COLUMN_NAME2, + T2.ADD_RECORDS, + T.FORM_TYPE_ID, + T2.LOAD_DIRECT, + T2.CONTROL_DOCTYPE_MATCH, + T2.SQL_RIGHT_READ_AND_VIEW_ONLY, + T2.SQL_RIGHT_WINDREAM_VIEW, + T2.DOC_SEARCH_TAB1, + T2.[ACTIVATE_DOC_SEARCH_ON_EDIT], + T1.DOCUMENT_VIEW, + T.DATE_FORMAT, + T.LOCK_CONTROLS_BG_LOAD, + (SELECT COUNT(GUID) FROm TBPMO_CONTROL WHERE FORM_ID = T1.FORM_ID AND TREE_VIEW = 1) AS COUNT_TREEVIEW +FROM + tbpmo_form T, + TBPMO_FORM_VIEW T1, + TBPMO_FORM_CONSTRUCTOR_DETAIL T2 +where + T2.FORM_ID = T.GUID AND + T.GUID = T1.FORM_ID +ORDER BY + T2.CONSTRUCT_ID,T.PARENT_ID,T2.SEQUENCE + +GO +CREATE FUNCTION [dbo].[FNPMO_CUST_ALLOW_ENTITY_RELINK](@RECORD_ID INTEGER, @USER_ID INTEGER) +--PROXYRELEVANT COPY ON PROXY +RETURNS BIT +AS +BEGIN + DECLARE @RESULT BIT, @ENTITY_ID INTEGER + SET @RESULT = 1 + DECLARE @STATUS VARCHAR(50) + --##### RENOLIT INDIVIDUELL + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @ENTITY_ID = 1 + BEGIN + SELECT @STATUS = VALUE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @RECORD_ID AND CONTROL_ID = 745 + IF @STATUS <> 'Vertrag beendet' + SET @RESULT = 0 + ELSE + SET @RESULT = 1 + END + --#### ENDE + + RETURN @RESULT +END +GO + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql new file mode 100644 index 0000000..0e41ebf --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.2.sql @@ -0,0 +1,81 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.2' where NAME = 'Record-Organizer' +GO +CREATE PROCEDURE [dbo].[PRPMO_RECORD_CHECK_INTEGRITY] (@pRECORD_ID INT, @WHO VARCHAR(30),@ISINSERT BIT, @COMMENT VARCHAR(100) = '') +AS + DECLARE @COUNT_REQUIRED INT,@ENTITY_ID INT + DECLARE @reas As VARCHAR(250) + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @reas = 'PRPMO_RECORD_CHECK_INTEGRITY' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@reas,@WHO) + END + + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(*) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + IF @ISINSERT = 1 + EXEC PRPMO_DELETE_RECORD @pRECORD_ID,@WHO,'PRPMO_RECORD_CHECK_INTEGRITY-LESS REQUIRED VALUES' + ELSE + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','LESS REQUIRED CONTROLS',@WHO) + +GO +CREATE FUNCTION [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@pENTITY_ID INT) +-- ============================================= +-- Author: Digital Data - Schreiber, Marlon +-- Create date: 22.11.2017 +-- Description: Gets the temptablename for the entity +-- ============================================= +-- PROXY-RELEVANT +RETURNS VARCHAR(100) +AS +BEGIN + DECLARE @RESULT AS VARCHAR(100) + DECLARE @ENTITY_TABLENAME AS VARCHAR(100) + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@pENTITY_ID) + + RETURN @ENTITY_TABLENAME +END +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_RECORD_PMO_TABLE] (@ENTITY_ID INT, @RECORD_ID INT) +-- ============================================= +-- Author: Digital Data - Schreiber, Marlon +-- Create date: 22.11.2017 +-- Description: Deletes a record from the temptable +-- ============================================= +-- PROXY-RELEVANT +AS +BEGIN + --DECLARE @ENTITY_ID INT, @RECORD_ID INT + --SET @ENTITY_ID = 1 + --SET @RECORD_ID = 7801 + DECLARE @ENTITY_TABLENAME VARCHAR(100),@SQL VARCHAR(MAX) + + SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) + --PRINT @ENTITY_TABLENAME + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + PRINT @SQL + EXEC (@SQL) + --DELETE FROM TBPMO_ENTITY_TABLE1 WHERE [Record-ID] = 7801 +END +GO + +CREATE VIEW VWDD_LOGIN_MODULE_COUNT AS +SELECT TOP 100 PERCENT + MODULE, + COUNT(USER_ID) COUNT_LOGIN, + CONVERT(DATE, [LOGIN]) AS DATE +FROM TBDD_USER_LOGIN_OUT +GROUP BY MODULE, [USER_ID], CONVERT(DATE, [LOGIN]) +ORDER BY CONVERT(DATE, [LOGIN]) DESC +GO + + + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql new file mode 100644 index 0000000..8dbabe2 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.3.sql @@ -0,0 +1,37 @@ +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.3' where NAME = 'Record-Organizer' +GO + +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma' +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_COLOR BIGINT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_SIZE SMALLINT NOT NULL DEFAULT 10 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD FONT_STYLE SMALLINT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD BACK_COLOR BIGINT NOT NULL DEFAULT 15790320 +GO + +ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS +select + T.*, + T1.CONTROL_ID, + T1.CREATE_RECORD, + T1.ENTITY_ID, + T1.NAME, + T1.TYPE_NODE, + T1.FONT_FAMILY, + T1.FONT_COLOR, + T1.EXPAND AS EXPAND_NODE, +T1.FONT_SIZE, +T1.FONT_STYLE, +T1.BACK_COLOR + from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 +WHERE T.NODE_CONFIG_ID = T1.GUID +GO +ALTER TABLE tbpmo_Record ALTER COLUMN RECORD_ENTITY_ID bigint +ALTER TABLE [dbo].[TBPMO_RECORD] ADD DEFAULT ((0)) FOR RECORD_ENTITY_ID +GO + + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql new file mode 100644 index 0000000..c817dd7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.4.sql @@ -0,0 +1,437 @@ +--select PRODUCT_VERSION FROM TBDD_MODULES where NAME = 'Record-Organizer' +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.4' where NAME = 'Record-Organizer' +GO + + +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_USER AS +SELECT AR.dwObjectID, + AR.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AR LEFT JOIN [172.24.12.41\BRAINPOOL].windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID + INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID + INNER JOIN TBDD_USER TU ON AR.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NULL +GO +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS_GROUP AS +SELECT AR.dwObjectID, + UG.dwUserOrGROUPID, + AR.dwAccessRight, + AR.dwObjectDBID +FROM [172.24.12.41\BRAINPOOL].windream60.dbo.AccessRight AR LEFT JOIN [172.24.12.41\BRAINPOOL].windream60.dbo.UserGroup UG ON AR.dwUserOrGroupID = UG.dwGroupID + INNER JOIN TBPMO_DOC_RECORD_LINK RL ON AR.dwObjectID = RL.DOC_ID + INNER JOIN TBPMO_DOCRESULT_LIST DR ON AR.dwObjectID = DR.DocID + INNER JOIN TBDD_USER TU ON UG.dwUserOrGroupID = TU.USERID_FK_INT_ECM +WHERE UG.dwUserOrGroupID IS NOT NULL +GO +CREATE VIEW VWPMO_WM_ACCESS_RIGHTS AS +SELECT ARU.dwObjectID, + ARU.dwUserOrGROUPID, + ARU.dwAccessRight, + ARU.dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS_USER ARU UNION +SELECT ARG.dwObjectID, + ARG.dwUserOrGROUPID, + ARG.dwAccessRight, + ARG.dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS_GROUP ARG +GO +ALTER VIEW VWPMO_WD_OBJECT_RIGHTS AS +SELECT dwObjectID, + dwUserOrGROUPID, + MAX(dwAccessRight) AS dwAccessRight, + dwObjectDBID +FROM VWPMO_WM_ACCESS_RIGHTS +GROUP BY + dwObjectID, + dwUserOrGROUPID, + dwObjectDBID +GO +ALTER TABLE TBDD_USER_GROUPS ADD ECM_FK_ID INT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_RIGHT_GROUP ADD READ_ONLY_DOC BIT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_RECORD ADD IN_WORK_WHEN DATETIME +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CHANGES BIT, + @RECORD_ID INTEGER, + @OLD_ENTITY_ID INTEGER, + @ENTITY_ID INTEGER, + @PARENT_RECORD INTEGER, + @ENTITY_TABLENAME VARCHAR(50), + @SQL NVARCHAR(MAX), + @DELETED_OLD BIT, + @DELETED BIT, + @RECORD_ENTITY_ID BIGINT, + @INWORK_OLD BIT, + @INWORK BIT, + @INWORK_WHO VARCHAR(50), + @CHANGED_WHO VARCHAR(50) + SELECT + @DELETED_OLD = [deleted], + @INWORK_OLD = IN_WORK, + @OLD_ENTITY_ID = FORM_ID + FROM deleted + SELECT + @RECORD_ID = GUID, + @ENTITY_ID = FORM_ID, + @DELETED = [deleted], + @RECORD_ENTITY_ID = RECORD_ENTITY_ID, + @INWORK = IN_WORK , + @INWORK_WHO = ISNULL(IN_WORK_WHO,''), + @CHANGED_WHO = ISNULL(CHANGED_WHO,'') + FROM inserted + + --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + SET @CHANGES = 0 + IF UPDATE(IN_WORK) + BEGIN + IF @INWORK_OLD = 0 and @INWORK = 1 + BEGIN + DECLARE @COMMENT VARCHAR(100) + SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO + PRINT @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + ELSE IF @INWORK_OLD = 1 and @INWORK = 0 + BEGIN + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE(VERSION) + BEGIN + SET @CHANGES = 1 + END + IF UPDATE(FORM_ID) + BEGIN + --ROLLBACK TRANSACTION + --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1) + SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC sp_executesql @SQL + EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD') + SET @CHANGES = 1 + END + IF UPDATE (PARENT_RECORD) + BEGIN + SELECT + @RECORD_ID = GUID, + @PARENT_RECORD = PARENT_RECORD, + @ENTITY_ID = FORM_ID + FROM INSERTED + SET @CHANGES = 1 + IF @PARENT_RECORD > 0 + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + --RAISERROR(@SQL, 16, 1) + EXEC sp_executesql @SQL + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE([DELETED]) + BEGIN + IF @DELETED_OLD = 0 and @DELETED = 1 + BEGIN + Print '@DELETED_OLD = 0 and @DELETED = 1' + SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID + Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + SET @CHANGES = 1 + END + + IF @CHANGES = 1 + UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO +ALTER TABLE TBDD_CLIENT_USER +ADD CONSTRAINT UQ_CLIENT_USER UNIQUE (USER_ID, CLIENT_ID); +GO +CREATE PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_REFRESH_RECORDS](@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' +--DELETE ALL RECORDS WHICH ARE NOT ANY MORE PART OF ENTITY +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 +SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] NOT IN (SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @ENT)' +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) +EXEC sp_executesql @SQL_DELETE +--DELETE RECORDS WHICH HAVE BEEN MODIFIED IN THE LAST 5 DAYS +SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 +SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] IN (select GUID from TBPMO_RECORD where CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) AND FORM_ID = @ENT)' +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) +SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) +EXEC sp_executesql @SQL_DELETE + +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 AND CONVERT(DATE,CHANGED_WHEN) >= dateadd(dd,-5, cast(GETDATE() as date)) +BEGIN + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN FROM TBPMO_RECORD WHERE GUID = @REC_ID' + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +ALTER FUNCTION [dbo].[FNPMO_GET_RIGHTS_FOR_DOC] (@pDOC_ID INTEGER) +RETURNS @OUTPUT_RIGHTS TABLE (USR_ID INT,USR_NAME VARCHAR(50), USR_ECM_ID INT,USR_RIGHT INT, TYPE_WRIGHT VARCHAR(50),USER_OR_GROUP VARCHAR(20)) +AS +BEGIN + DECLARE + @RECID INTEGER, + @ENT_ID INTEGER, + @GUID INTEGER, + @RIGHT_USER VARCHAR(50), + @RIGHT_USER_INT INTEGER, + @RIGHT_USER_ECM_ID INTEGER, + @AD_DOMAIN VARCHAR(250) + SELECT @RIGHT_USER = T.AD_USER,@RIGHT_USER_INT = T1.GUID,@RIGHT_USER_ECM_ID = T1.USERID_FK_INT_ECM, @AD_DOMAIN = AD_DOMAIN FROM TBPMO_SERVICE_RIGHT_CONFIG T, TBDD_USER T1 WHERE T.GUID = 1 AND T.AD_USER = T1.USERNAME + + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (@RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,7,'MAIN RIGHTUSER','USER') + --INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES (1,'Digital Data - windream-Benutzer',2,1,'WM-GRUPPE','GROUP') + DECLARE cursorRecords CURSOR FOR + select T.RECORD_ID, T1.FORM_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 where T.DOC_ID = @pDOC_ID AND T.RECORD_ID = T1.GUID + OPEN cursorRecords + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'RECORD-ID: ' + CONVERT(VARCHAR(10),@RECID) + /*CURSOR 1 RECORDS BEGIN*/ + -- ENTITY-SUPERVISOR INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.USER_ID, T1.USERNAME, T1.USERID_FK_INT_ECM,T.RIGHT1, 'ENTITY_SUPERVISOR' FROM TBPMO_ENTITY_SUPERVISOR T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND T.ENTITY_ID = @ENT_ID + AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + -- SUPERVISOR RECORD INSERTEN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT T.[USER_ID], T1.USERNAME, T1.USERID_FK_INT_ECM,3,'SUPERVISOR_CONTROL' FROM [VWPMO_SUPERVISOR_CONTROL] T, TBDD_USER T1 where T.USER_ID = T1.GUID AND T.RECORD_ID = @RECID and T.FORM_ID = @ENT_ID AND + T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) ORDER BY T1.USERNAME + + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_GROUP WHERE ENTITY_ID = @ENT_ID) + BEGIN + DECLARE + @WD_RIGHT INTEGER + + DECLARE c_REDO CURSOR FOR + SELECT T.GROUP_ID ,T1.ECM_FK_ID, T1.NAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_GROUP T, TBDD_USER_GROUPS T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.GROUP_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + DECLARE @TEMP_RIGHT INT + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT,USER_OR_GROUP = 'GROUP' WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT,USER_OR_GROUP) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM TBPMO_RIGHT_GROUP','GROUP') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + + + /**/ + DECLARE + @VALUE VARCHAR(100), + @RIGHT INT, + @TYPE_VALUE VARCHAR(50), + @CONTR_TYPE_ID INT, + @CONTROL_ID INT + + DECLARE cursorRecordRightControls CURSOR FOR + SELECT T2.VALUE, CASE T.USED_FOR WHEN 'RIGHT READ/WRITE' THEN 3 ELSE 1 END, T.USER_GROUP, T1.CONTROL_TYPE_ID, T1.GUID + FROM TBPMO_ENTITY_RIGHT_CONTROLS T, TBPMO_CONTROL T1, TBPMO_CONTROL_VALUE T2 WHERE T.CONTROL_ID = T1.GUID AND + T.CONTROL_ID = T2.CONTROL_ID AND + T.ENTITY_ID = @ENT_ID AND T.USED_FOR <> '' AND T2.RECORD_ID = @RECID + OPEN cursorRecordRightControls + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF @TYPE_VALUE = 'USER' + BEGIN + DECLARE @TEMP_USRID INT + SELECT @TEMP_USRID = [dbo].[FNPMO_GET_USERID_FORSTRING] (@VALUE) + IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @TEMP_USRID + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @TEMP_USRID, USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL USER: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @TEMP_USRID + END + END + ELSE + BEGIN + DECLARE @GROUP_USER_ID INTEGER + DECLARE cursorUserGroup CURSOR FOR + SELECT DISTINCT T.USER_ID FROM TBDD_GROUPS_USER T,TBDD_USER_GROUPS T1, TBDD_USER T2 WHERE T.GROUP_ID = T1.GUID AND T.USER_ID = T2.GUID AND UPPER(T1.NAME) = UPPER(@VALUE) + AND T.USER_ID <> @RIGHT_USER_INT AND T.USER_ID NOT IN (SELECT USR_ID FROM @OUTPUT_RIGHTS) + OPEN cursorUserGroup + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --IF NOT EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @TEMP_USRID) + BEGIN + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) + SELECT @GROUP_USER_ID,USERNAME, USERID_FK_INT_ECM,@RIGHT,'ENTITY RIGHT CONTROL GROUP: ' + convert(Varchar(10),@CONTROL_ID) FROM TBDD_USER WHERE GUID = @GROUP_USER_ID + END + --UPDATE @USER_TABLE SET USR_RIGHT = @RIGHT WHERE USR_ID = @GROUP_USER_ID + FETCH NEXT FROM cursorUserGroup INTO @GROUP_USER_ID + END + CLOSE cursorUserGroup + DEALLOCATE cursorUserGroup + END + FETCH NEXT FROM cursorRecordRightControls INTO @VALUE,@RIGHT,@TYPE_VALUE,@CONTR_TYPE_ID,@CONTROL_ID + END + CLOSE cursorRecordRightControls + DEALLOCATE cursorRecordRightControls + /*CURSOR 2 RIGHT-CONTROLS END*/ + IF EXISTS(SELECT GUID FROM TBPMO_RIGHT_USER WHERE ENTITY_ID = @ENT_ID) + BEGIN + + DECLARE c_REDO CURSOR FOR + SELECT T.[USER_ID] ,T1.USERID_FK_INT_ECM, T1.USERNAME ,CASE WHEN T.[READ_ONLY_DOC] = 1 THEN 1 ELSE 3 END AS WD_RIGHT FROM TBPMO_RIGHT_USER T, TBDD_USER T1 WHERE + T.ENTITY_ID = @ENT_ID AND T.USER_ID = T1.GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + WHILE @@FETCH_STATUS = 0 + BEGIN + IF EXISTS(SELECT USR_ID FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT) + BEGIN + SELECT @TEMP_RIGHT = USR_RIGHT FROM @OUTPUT_RIGHTS WHERE USR_ID = @RIGHT_USER_INT + IF @TEMP_RIGHT < @WD_RIGHT + UPDATE @OUTPUT_RIGHTS SET USR_RIGHT = @WD_RIGHT WHERE USR_ID = @RIGHT_USER_INT + END + ELSE + INSERT INTO @OUTPUT_RIGHTS(USR_ID,USR_NAME,USR_ECM_ID,USR_RIGHT,TYPE_WRIGHT) VALUES ( + @RIGHT_USER_INT,@RIGHT_USER,@RIGHT_USER_ECM_ID,@WD_RIGHT,'RIGHT FROM USER_RIGHT') + + FETCH NEXT FROM c_REDO INTO @RIGHT_USER_INT,@RIGHT_USER_ECM_ID,@RIGHT_USER,@WD_RIGHT + END + CLOSE c_REDO + DEALLOCATE c_REDO + END + + FETCH NEXT FROM cursorRecords INTO @RECID,@ENT_ID + /*CURSOR 1 RECORDS END*/ + END +CLOSE cursorRecords +DEALLOCATE cursorRecords + +RETURN +END + +GO + + diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql new file mode 100644 index 0000000..7d25df3 --- /dev/null +++ b/08_ADDI/SQL/UPDATE Archiv (added to main script)/2.4.8.5.sql @@ -0,0 +1,109 @@ +--select PRODUCT_VERSION FROM TBDD_MODULES where NAME = 'Record-Organizer' +UPDATE TBDD_MODULES SET PRODUCT_VERSION = '2.4.8.5' where NAME = 'Record-Organizer' +GO +CREATE VIEW VWPMO_DOC_CHANGES_5MIN +AS +SELECT DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime,'CHANGE GENERAL' as CHANGE_TYPE +FROM VWPMO_DOC_SYNC +WHERE + Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) +UNION +SELECT T.DocID, T.[Filename], T.FULL_FILENAME, + T.Doctype, T.[Version] as [Version], T.Objecttype, + T.Creation_DateTime, T.Change_DateTime,'CHANGE PATHorFILE' as CHANGE_TYPE +FROM VWPMO_DOC_SYNC T, TBPMO_DOCRESULT_LIST T1 +WHERE + T.DocID = T1.DocID AND + T.Change_DateTime >= DATEADD(MINUTE , -5, GetDate()) + AND UPPER(T.FULL_FILENAME) <> UPPER(T1.FULL_FILENAME) +GO + +CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_06_12_18] +AS +BEGIN + --PROCEDURE1 + PRINT 'PROCEDURE1' + --EXEC PRPMO_ZSG_IN_COMOS_SAP; + +END +GO +CREATE PROCEDURE [dbo].[PRPMO_DOCSYNC_5min] +AS +BEGIN TRY +DECLARE @DocID INTEGER, + @DISPLAY_NAME VARCHAR(250), + @FULL_FILENAME VARCHAR(5000), + @Filename VARCHAR(500), + @Doctype VARCHAR(250), + @Version SMALLINT, + @Objecttype VARCHAR(250), + @Creation_DateTime DATETIME, + @Change_DateTime DATETIME +DECLARE c_Values CURSOR LOCAL FOR + select DocID, [Filename], FULL_FILENAME, + Doctype, [Version] as [Version], Objecttype, + Creation_DateTime, Change_DateTime from VWPMO_DOC_CHANGES_5MIN + OPEN c_Values + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype, + @Creation_DateTime,@Change_DateTime + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT [DocID] FROM TBPMO_DOCRESULT_LIST WHERE DocID = @DocID) + BEGIN + PRINT 'INSERT NECESSARY' + INSERT INTO TBPMO_DOCRESULT_LIST ( + [DocID], + [DISPLAY_NAME], + [FULL_FILENAME], + [Filename], + [Doctype], + [Version], + [Objecttype], + Creation_DateTime, + Change_DateTime) + VALUES ( + @DocID, + @Filename, + @FULL_FILENAME, + @Filename, + @Doctype, + @Version, + @Objecttype, + @Creation_DateTime, + @Change_DateTime + ) + END + ELSE + UPDATE TBPMO_DOCRESULT_LIST SET + [FULL_FILENAME] = @FULL_FILENAME, + [Filename] = @Filename, + [Doctype] = @Doctype, + [Version] = @Version, + [Objecttype] = @Objecttype, + Change_DateTime = @Change_DateTime + WHERE DocID = @DocID + + --##### + FETCH NEXT FROM c_Values INTO @DocID,@Filename,@FULL_FILENAME, + @Doctype,@Version,@Objecttype,@Creation_DateTime,@Change_DateTime + END +CLOSE c_Values +DEALLOCATE c_Values +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH + +GO + +CREATE PROCEDURE [dbo].[PRPMO_DAILY_JOB_5MIN] +AS +BEGIN + EXEC PRPMO_DOCSYNC_5min +END +GO diff --git a/08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql b/08_ADDI/SQL/UPDATE Archiv (added to main script)/PRPMO_AFTER_UPDATE_VALUES.sql new file mode 100644 index 0000000000000000000000000000000000000000..d2ac1536ad70a7d89bec1efa8dd910b52e92e2b1 GIT binary patch literal 3832 zcmcIn+ip@p6y2}K#D6$%g-S0_HQH!W3WrMqoXV}WO+&QpgFduI>+h>;?aeTAZf%V* z1USs>`&xU?@cY+7W|BxO7t+ORh3AfpO)~@9Q-*?#K^G{u)^=s(d!R{`ePh^Vs7zC@qJYB)&7x@N{F{D4?`$nT^$y-?8mli%-_-@K;NbF2}?W>`(}E3Af-{s5U&V`bfjh$VsK98W#GnNd-f8CkZmRv|^T6KF0V zZ7BR}ooaG~+Vl|F6cx6(V#LG98oEbM9o=_vyZyT6*+$mPm-%!MZ(C!Fpz9HdgfIS{ zLS~@fHB@{buR8otpAtv#o5(5RD0+?7Q6=CRtL1dce0Q`$GmUzMOj1Ob!e0dMtex$| z>%7Uw1d%g-;(8H8PA2uBk)k?9){~tf0!zg1nCi1PKAs|P#!cK@>{gekQ2+OkDZ_<~ z>tc_15Fy4j+Mq_Q)|$0WvRKDhob}=!<8tp~MB3My$Li_hI_eY|lDUk+*D|cK<;U*h zs|V>hWCwUAx@THrU(;$U#=;bOA(t4Rvu$-`WrvC%C65A+Dy3~>W~cCNVai0jDg5%!#mf@Hoe%zb2;AZW-&J&5fx+p96b`ls%L6-G*(S&>?*6> zjA(86=r~xEX>Md5=A!in=f73fn2@i#uXiZ9C0iS$BkgeZb{J&60}6F+G*k@q9NvI@wqZXYkpFC-w{D@l&QMw=CPU8JS(i#tIX~ zd=*UMDOqL_v#JyksK#KWGh(6>)OxiB{QSx6I;xRbb-mb7?J=rvcaAcwc;18-?JmGc zSA8Zoo`i57SynUT0QrB8_YhGI;Ej{8pW|$CE_<%={>58^>oe|@-7~TnxO-XHsooOj z!d4I^f5pO?5cYW3lU3eZU}C-kRrrT2&7bi;Uv^f0myFM1@9^__WvDmh4Q{)Sp6wrqI^P%MgYy(-xT6zm23*>DUO3+& Y64ZSx?^lSU7zwALx9#I`D0w{o0O4ucb^rhX literal 0 HcmV?d00001 diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql new file mode 100644 index 0000000..73f3bcb --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/1_windream_related_objects.sql @@ -0,0 +1,56 @@ +------------------------------------------------------------------------ +--Check Windream-Related Connections and parameters in following objects +------------------------------------------------------------------------ +/*TRIGGERS +--TBDD_USER_AFT_INS DatabaseLink und Domain-Einschränkung wenn vorhanden +--TBDD_USER_AFT_UPD DatabaseLink und Domain-Einschränkung wenn vorhanden +TABLES +--TBDD_CONNECTION LoginData if existing +--TBDD_DOKUMENTART Change name of objecttype + UPDATE TBDD_DOKUMENTART SET OBJEKTTYP = 'TestObjekttyp' WHERE OBJEKTTYP = 'YY' +--TBPMO_WD_OBJECTTYPE Change Indexnames +--TBDD_INDEX_AUTOM Change name of indices if automatic inices exist for DOKUMENTART +-- DELETE FROM TBDD_INDEX_AUTOM +--TB +FUNCTIONS +Table-Functions +--FNPMO_GET_WINDREAM_PATH_PART DatabaseLink +Scalar-Functions +--FNPMO_GET_WINDREAM_FILE_PATH DatabaseLink +--FNPMO_GET_WINDREAM_VKT_INT DatabaseLink +*/ +/*VIEWS +--VWPMO_DOC_SYNC DatabaseLink/Indexnames for Columns/ObjecttypeIds +--VWPMO_WM_ACCESS_RIGHTS_GROUP DatabaseLink +--VWPMO_WM_ACCESS_RIGHTS_USER DatabaseLink +*/ + +/*PROCEDURES +PRPMO_DOC_CREATE_NEW_DOC DatabaseLink +PRPMO_RIGHTS_CHECK_INSERT_WORK_RECORD DatabaseLink +PRPMO_RIGHTS_CHECK_RIGHT DatabaseLink +PRPMO_RIGHTS_SERVICE_CHECK_USER DatabaseLink +PRPMO_RIGHTS_SERVICE_CHECK_USER_ENT DatabaseLink +*/ + +--TBDD_USER bereinigen +--DocRecordLinks bereinigen +--User für Rechte-Setzen konfigurieren - basiseinstellungen +/* +DECLARE + @DOC_ID INTEGER, + @RECORD_ID INTEGER + +DECLARE c_REDO CURSOR FOR + select DOC_ID,RECORD_ID from TBPMO_DOC_RECORD_LINK + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC PRPMO_DELETE_RESULTFILE @DOC_ID, @RECORD_ID,1 + FETCH NEXT FROM c_REDO INTO @DOC_ID,@RECORD_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +*/ + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql new file mode 100644 index 0000000..3408637 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.6.sql @@ -0,0 +1,86 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.6' where NAME = 'Record-Organizer' +GO +CREATE PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] ( + @pRECORD_ID INTEGER, + @pDOC_ID INTEGER, + @pREASON_CODE VARCHAR(500), + @pWHO VARCHAR(50) + ) + AS +BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID) + BEGIN + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES + (@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO) + END + ELSE + UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID +END +GO +CREATE TABLE TBPMO_CLIENT_CONNECTION_SWITCH +( + GUID INTEGER IDENTITY(1,1), + [DESCRIPTION] VARCHAR(100), + SQL_CONNECTION VARCHAR(MAX) NOT NULL, + SQL_CONNECTION_PROXY VARCHAR(MAX) DEFAULT '', + WM_ALIAS VARCHAR(250) NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 1, + ADDED_WHO VARCHAR(50) NOT NULL DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CLIENT_CONNECTION_SWITCH PRIMARY KEY (GUID) +) +GO + ------------------------------------------------------------------------------ +CREATE TRIGGER TBPMO_CLIENT_CONNECTION_SWITCH_AFT_UPD ON TBPMO_CLIENT_CONNECTION_SWITCH +FOR UPDATE +AS + UPDATE TBPMO_CLIENT_CONNECTION_SWITCH SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONNECTION_SWITCH.GUID = INSERTED.GUID +GO + + +CREATE TABLE TBPMO_CLIENT_CONN_SWITCH_USER +( + GUID INTEGER NOT NULL IDENTITY(1,1), + CONN_SWITCH_ID INTEGER NOT NULL, + USER_ID INTEGER NOT NULL, + ACTIVE BIT NOT NULL DEFAULT 0, + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT', + ADDED_WHEN DATETIME NOT NULL DEFAULT GETDATE(), + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_CLIENT_CONN_SWITCH_USER PRIMARY KEY (GUID), + CONSTRAINT UQ_PK_TBPMO_CLIENT_CONN_SWITCH_USER UNIQUE([USER_ID],CONN_SWITCH_ID), + CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_SWITCH_ID FOREIGN KEY (CONN_SWITCH_ID) REFERENCES TBPMO_CLIENT_CONNECTION_SWITCH (GUID), + CONSTRAINT FK_TBPMO_CLIENT_CONN_SWITCH_USER_USER_ID FOREIGN KEY (USER_ID) REFERENCES TBDD_USER (GUID) +) +GO +CREATE TRIGGER TBPMO_CLIENT_CONN_SWITCH_USER_AFT_UPD ON TBPMO_CLIENT_CONN_SWITCH_USER +FOR UPDATE +AS + DECLARE + @GUID INTEGER, + @OLD_ACTIVE BIT, + @NEW_ACTIVE BIT, + --@IS_MAIN BIT, + @USER_ID INTEGER + SELECT + @NEW_ACTIVE = ACTIVE, + @USER_ID = USER_ID, + --@IS_MAIN = IS_MAIN, + @GUID = GUID + FROM INSERTED + IF UPDATE(ACTIVE) + BEGIN + SELECT + @OLD_ACTIVE = DELETED.ACTIVE + FROM DELETED + + IF @NEW_ACTIVE = 1 AND @OLD_ACTIVE = 0 + UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET ACTIVE = 0 WHERE USER_ID = @USER_ID AND GUID <> @GUID + END + + UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_CLIENT_CONN_SWITCH_USER.GUID = INSERTED.GUID +GO + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql new file mode 100644 index 0000000..90eec32 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.7.sql @@ -0,0 +1,468 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.7' where NAME = 'Record-Organizer' +GO +--########################################################################################## +ALTER PROCEDURE [dbo].[PRPMO_CREATE_ENTITY_TABLE](@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_CREATE_ENTITY_TABLE(@pENTITY_ID INT) +AS +DECLARE @SQL_BEGIN NVARCHAR(MAX), + @SQL_END NVARCHAR(MAX), + @SQL NVARCHAR(MAX), + @SQL_DEF_CONSTR NVARCHAR(MAX), + @CONTROL_ID INT, + @RESULT NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @ZAEHLER INT = 1, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) + + --select Top 10 * from VWTEMP_PMO_FORM1 +DECLARE c_SPALTENNAMEN CURSOR FOR SELECT T.GUID AS CONTROL_ID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.[COL_NAME] <> '' AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + --UNION + --SELECT T.GUID AS CONTROL_ID,'[' + T3.CAPTION + ']' AS 'COL_NAME',T2.GUID as TYP_ID,T1.TAB_INDEX, T.DEFAULT_VALUE FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2, TBPMO_CONTROL_LANGUAGE T3 + --WHERE T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T1.GUID = T3.CONTROL_SCREEN_ID AND T.FORM_ID = 13 AND T.CONTROL_TYPE_ID = 1 AND LEN(ISNULL(T.SQL_COMMAND_1,'')) > 0 + ORDER BY TAB_INDEX +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + SET @SQL = 'IF EXISTS (SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ''@TABLE@ENT'') + drop table @TABLE@ENT' + CHAR(13) + SET @SQL = REPLACE(@SQL,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + EXEC sp_executesql @SQL + SET @SQL_BEGIN = 'CREATE TABLE @TABLE@ENT(' + CHAR(13) + + '[Record-ID] INT NOT NULL,' + CHAR(13) + + 'ROW_COLOR VARCHAR(50) NOT NULL DEFAULT '''',' + CHAR(13) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_BEGIN = REPLACE(@SQL_BEGIN,'@TABLE',@ENTITY_TABLENAME) + + --SET @SQL_END = ',T.ADDED_WHO as AddedWho,T.ADDED_WHEN as AddedWhen, T.CHANGED_WHO As ChangedWho, T.CHANGED_WHEN As ChangedWhen FROM TBPMO_RECORD T, TBPMO_FORM T1 WHERE T.FORM_ID = T1.GUID AND T.FORM_ID = @FORM_ID' + SET @SQL_END = '[file_exists] BIT NOT NULL DEFAULT 0,' + CHAR(13) + '[file_count] INT NOT NULL DEFAULT 0,' + CHAR(13) + 'AddedWho VARCHAR(50)' + CHAR(13) + ',AddedWhen DATETIME' + CHAR(13) + ',ChangedWho VARCHAR(50)' + CHAR(13) + ',ChangedWhen DATETIME' + CHAR(13) + ',RecRefreshedWhen DATETIME,' + CHAR(13) + 'CONSTRAINT PK_@TABLE@ENT PRIMARY KEY([Record-ID]))' + CHAR(13) + SET @SQL_END = REPLACE(@SQL_END,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_END = REPLACE(@SQL_END,'@TABLE',@ENTITY_TABLENAME) + + OPEN c_SPALTENNAMEN + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @ZAEHLER = @ZAEHLER + 1 + + BEGIN + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + IF @DEFAULT = 'False' + SET @DEFAULT = '0' + ELSE + SET @DEFAULT = '1' + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' BIT NOT NULL DEFAULT ' + @DEFAULT + ',' + CHAR(13) + END + ELSE IF @TYPEID = 6 --Picturebox + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARBINARY(MAX),' + CHAR(13) + ENd + ELSE IF @TYPEID IN(7,12,14) --GridView,CheckedListBox,GridViewCheckable + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 1 --Label + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + END + ELSE IF @TYPEID = 4 --DatePicker + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(10),' + CHAR(13) + END + ELSE + BEGIN + SET @SQL_BEGIN = @SQL_BEGIN + @COL_NAME + ' VARCHAR(MAX),' + CHAR(13) + IF LEN(ISNULL(@DEFAULT,'')) > 0 + BEGIN + DECLARE @TEMP_COL_NAME VARCHAR(50) + SET @TEMP_COL_NAME = REPLACE(@COL_NAME,' ','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,'[','') + SET @TEMP_COL_NAME = REPLACE(@TEMP_COL_NAME,']','') + IF LEN(@SQL_DEF_CONSTR) > 0 + SET @SQL_DEF_CONSTR = @SQL_DEF_CONSTR + CHAR(13) + 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + ELSE + SET @SQL_DEF_CONSTR = 'ALTER TABLE @TABLE@ENT ADD CONSTRAINT DEF@TABLE@ENT_@COL_NAME DEFAULT N''@DEFAULT_VALUE'' FOR ' + @COL_NAME + ';' + BEGIN + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@DEFAULT_VALUE',@DEFAULT) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@COL_NAME',@TEMP_COL_NAME) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DEF_CONSTR = REPLACE(@SQL_DEF_CONSTR,'@TABLE',@ENTITY_TABLENAME) + END + END + + END + END + + FETCH NEXT FROM c_SPALTENNAMEN INTO @CONTROL_ID,@COL_NAME,@TYPEID,@TABINDEX,@DEFAULT + END + + CLOSE c_SPALTENNAMEN + DEALLOCATE c_SPALTENNAMEN + + SET @RESULT = @SQL + @SQL_BEGIN + @SQL_END + --PRINT @RESULT + EXEC sp_executesql @RESULT + + IF LEN(@SQL_DEF_CONSTR) > 0 + BEGIN + --PRINT @SQL_DEF_CONSTR + EXEC sp_executesql @SQL_DEF_CONSTR + END +END +GO +----------------------------------------------------------------------------------------- +--########################################################################################## +ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_IMPORT_RECORDS](@pENTITY_ID INT) +--ALTER PROCEDURE PRPMO_ENTITY_TABLE_IMPORT_RECORDS(@pENTITY_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON ENTITY ''' + CONVERT(VARCHAR(3),@pENTITY_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE FORM_ID = @pENTITY_ID and PARENT_RECORD = 0 AND DELETED = 0 +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + --SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT' + --SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + --SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + --EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + --DELETE the Record + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @REC_ID' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + EXEC sp_executesql @SQL_DELETE + + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + --PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +GO +--########################################################################################## +ALTER PROCEDURE [dbo].[PRPMO_ENTITY_TABLE_RENEW_RECORD](@pENTITY_ID INT,@pRECORD_ID INT) +AS +DECLARE @REC_ID INT, + @SQL_INSERT_REC NVARCHAR(MAX), + @SQL_DELETE NVARCHAR(MAX), + @SQL_UPDATE NVARCHAR(MAX), + @CONTROL_ID INT, + @INSERT_COMAMND NVARCHAR(MAX), + @TYPEID INT, + @TABINDEX INT, + @DEFAULT VARCHAR(50), + @COL_NAME VARCHAR(50), + @ENTITY_TABLENAME VARCHAR(50) +PRINT 'WORKING ON RECORD ''' + CONVERT(VARCHAR(10),@pRECORD_ID) + '''' +DECLARE cursor_Records CURSOR FOR SELECT GUID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID +BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + + + SET @SQL_DELETE = 'DELETE FROM @TABLE@ENT WHERE [Record-ID] = @RECORD_ID' + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@RECORD_ID',CONVERT(VARCHAR(10),@pRECORD_ID)) + SET @SQL_DELETE = REPLACE(@SQL_DELETE,'@TABLE',@ENTITY_TABLENAME) + PRINT @SQL_DELETE + EXEC sp_executesql @SQL_DELETE + + OPEN cursor_Records + FETCH NEXT FROM cursor_Records INTO @REC_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + SET @SQL_INSERT_REC = 'INSERT INTO @TABLE@ENT([Record-ID],ROW_COLOR, AddedWho, AddedWhen, ChangedWho, ChangedWhen,RecRefreshedWhen) SELECT GUID,COLOR,ADDED_WHO,ADDED_WHEN,CHANGED_WHO,CHANGED_WHEN,GETDATE() FROM TBPMO_RECORD WHERE GUID = @REC_ID' + + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@TABLE',@ENTITY_TABLENAME) + SET @SQL_INSERT_REC = REPLACE(@SQL_INSERT_REC,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + PRINT @SQL_INSERT_REC + EXEC sp_executesql @SQL_INSERT_REC + EXEC dbo.PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @REC_ID + + DECLARE cursor_Columns CURSOR FOR SELECT T.GUID,'[' + T.COL_NAME + ']' AS 'COL_NAME',T2.GUID AS TYP_ID FROM TBPMO_CONTROL T,TBPMO_CONTROL_SCREEN T1,TBPMO_CONTROL_TYPE T2 + WHERE T.SHOW_COLUMN = 1 AND T.GUID = T1.CONTROL_ID AND T.CONTROL_TYPE_ID = T2.GUID AND T.FORM_ID = @pENTITY_ID AND LEN(ISNULL(T.COL_NAME,'')) > 0 AND T.CONTROL_TYPE_ID NOT IN (1,5) + ORDER BY TAB_INDEX + + BEGIN + OPEN cursor_Columns + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + WHILE @@FETCH_STATUS = 0 + BEGIN + --PRINT 'CONTROL-ID: ' + CONVERT(VARCHAR(3),@CONTROL_ID) + ' - REC-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + SET @SQL_UPDATE = 'UPDATE @TABLE@ENT SET @COL_NAME = ''@VALUE'' WHERE [Record-ID] = @REC_ID' + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@COL_NAME',@COL_NAME) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@ENT',CONVERT(VARCHAR(3),@pENTITY_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@TABLE',@ENTITY_TABLENAME) + -- + IF @TYPEID = 6 --Picturebox + BEGIN + DECLARE @VALUE_VBM VARBINARY(MAX) + + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT IMG FROM TBPMO_CONTROL_IMAGE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + EXEC sp_executesql @SQL_UPDATE + END + END + ELSE + BEGIN + DECLARE @VALUE VARCHAR(MAX) + IF EXISTS(SELECT GUID FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID) + BEGIN TRY + IF @TYPEID IN(10,11) --CheckBox,RadioBox + BEGIN + SELECT @VALUE = VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE IF @TYPEID IN(7,12,14) + BEGIN + SELECT @VALUE = dbo.FNPMO_GET_CONTROL_VALUES(@CONTROL_ID, @REC_ID) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@VALUE',@VALUE) + END + ELSE + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'''@VALUE''','(SELECT DISTINCT VALUE FROM TBPMO_CONTROL_VALUE WHERE CONTROL_ID = @CONTROL_ID AND RECORD_ID = @REC_ID)') + + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@REC_ID',CONVERT(VARCHAR(10),@REC_ID)) + SET @SQL_UPDATE = REPLACE(@SQL_UPDATE,'@CONTROL_ID',CONVERT(VARCHAR(10),@CONTROL_ID)) + --PRINT @SQL_UPDATE + EXEC sp_executesql @SQL_UPDATE + END TRY + BEGIN CATCH + PRINT 'ERROR in HANDLING CONTROL-ID: ' + CONVERT(VARCHAR(30),@CONTROL_ID) + ' - RECORD-ID: ' + CONVERT(VARCHAR(10),@REC_ID) + END CATCH + END + + FETCH NEXT FROM cursor_Columns INTO @CONTROL_ID,@COL_NAME,@TYPEID + END + CLOSE cursor_Columns + DEALLOCATE cursor_Columns + END + + FETCH NEXT FROM cursor_Records INTO @REC_ID + END + CLOSE cursor_Records + DEALLOCATE cursor_Records +END +ALTER TABLE TBPMO_STRUCTURE_NODES ADD COLOR VARCHAR(50) NOT NULL DEFAULT '' +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ALTER COLUMN COLOR VARCHAR(50) NOT NULL +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD CONSTRAINT DF_COLOR DEFAULT '' FOR COLOR; +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ALTER COLUMN BACK_COLOR VARCHAR(50) NOT NULL +GO +ALTER TABLE TBPMO_STRUCTURE_NODES_CONFIGURATION ADD CONSTRAINT DF_BACK_COLOR DEFAULT N'' FOR BACK_COLOR; +GO +UPDATE TBPMO_STRUCTURE_NODES_CONFIGURATION SET BACK_COLOR = '' +GO +ALTER PROCEDURE [dbo].[PRPMO_CHECK_DOC_RECORD_LINK] ( + @pRECORD_ID INTEGER, + @pDOC_ID INTEGER, + @pREASON_CODE VARCHAR(500), + @pWHO VARCHAR(50) + ) + AS +BEGIN + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID) + BEGIN + INSERT INTO TBPMO_DOC_RECORD_LINK (RECORD_ID,DOC_ID,COMMENT,ADDED_WHO) VALUES + (@pRECORD_ID,@pDOC_ID,@pREASON_CODE,@pWHO) + END + ELSE + UPDATE TBPMO_DOC_RECORD_LINK SET CHANGED_WHO = @pWHO WHERE RECORD_ID = @pRECORD_ID AND DOC_ID = @pDOC_ID +END +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD ACTIVE BIT NOT NULL DEFAULT 1 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD SEQUENCE INTEGER NOT NULL DEFAULT '0' +GO +CREATE NONCLUSTERED INDEX [IDX_STRUCTURE_NODES1] +ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID],[ACTIVE]) +INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE]) +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD COMMENT VARCHAR(500) +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_FAMILY VARCHAR(50) NOT NULL DEFAULT 'Tahoma' +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_COLOR BIGINT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_SIZE SMALLINT NOT NULL DEFAULT 10 +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD FONT_STYLE SMALLINT NOT NULL DEFAULT 0 +GO +ALTER VIEW [dbo].[VWPMO_STRUCTURE_NODES] AS +select + T.GUID, + T.RECORD_ID, + T.NODE_CONFIG_ID, + T.NODE_CAPTION, + T.ID1, + T.ID2, + T.ID3, + T.PARENT_GUID, + T.BOOL1, + T.BOOL2, + T.ADDED_WHO, + T.ADDED_WHEN, + T.CHANGED_WHO, + T.CHANGED_WHEN, + T.SEQUENCE, + T1.CONTROL_ID, + T1.CREATE_RECORD, + T1.ENTITY_ID, + T1.NAME, + T1.TYPE_NODE, + CASE + WHEN T.FONT_FAMILY <> T1.FONT_FAMILY THEN T.FONT_FAMILY + ELSE T1.FONT_FAMILY END AS FONT_FAMILY, + CASE + WHEN T.FONT_COLOR <> T1.FONT_COLOR THEN T.FONT_COLOR + ELSE T1.FONT_COLOR END AS FONT_COLOR, + CASE + WHEN T.FONT_SIZE <> T1.FONT_SIZE THEN T.FONT_SIZE + ELSE T1.FONT_SIZE END AS FONT_SIZE, + CASE + WHEN T.FONT_STYLE <> T1.FONT_STYLE THEN T.FONT_STYLE + ELSE T1.FONT_STYLE END AS FONT_STYLE, + T1.EXPAND AS EXPAND_NODE, + CASE + WHEN T.COLOR <> '' THEN T.COLOR + ELSE T1.BACK_COLOR END AS BACK_COLOR + from TBPMO_STRUCTURE_NODES T, TBPMO_STRUCTURE_NODES_CONFIGURATION T1 +WHERE T.NODE_CONFIG_ID = T1.GUID +GO +CREATE NONCLUSTERED INDEX [IDX_PMO_STRUCTURE_NODES] +ON [dbo].[TBPMO_STRUCTURE_NODES] ([NODE_CONFIG_ID]) +INCLUDE ([GUID],[RECORD_ID],[NODE_CAPTION],[ID1],[ID2],[ID3],[PARENT_GUID],[BOOL1],[BOOL2],[ADDED_WHO],[ADDED_WHEN],[CHANGED_WHO],[CHANGED_WHEN],[SEQUENCE],[COLOR],[FONT_FAMILY],[FONT_COLOR],[FONT_SIZE],[FONT_STYLE]) +GO + +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD_FINALLY](@pRECORD_ID INT, @WHO VARCHAR(30)) +AS + DELETE FROM TBPMO_STRUCTURE_NODES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK_USER WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_CONNECT WHERE RECORD1_ID = @pRECORD_ID OR RECORD2_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_TASK_HISTORY WHERE WF_TASK_ID IN (SELECT GUID FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID) + DELETE FROM TBPMO_WORKFLOW_TASK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_WORKFLOW_REMINDER WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_FOLLUPEMAIL_RECORD WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_VARIANT WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_GEODATA WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_VALUES WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @pRECORD_ID + DELETE FROM TBPMO_RECORD_LOG WHERE RECORD_ID = @pRECORD_ID + + DECLARE @DELETE_SQL NVARCHAR(MAX),@ENTITY_ID INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + EXEC sp_executesql @DELETE_SQL + DELETE FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + --UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID','RECORD FINALLY DELETED BY USER',@WHO) +GO + + + + + + + + + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql new file mode 100644 index 0000000..6a3e2c7 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.8.sql @@ -0,0 +1,149 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.8' where NAME = 'Record-Organizer' +GO +CREATE PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50)) +AS +DECLARE + @SUBNODE_ID INTEGER, + @RECORD_ID INTEGER + + SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID + IF @RECORD_ID <> NULL + BEGIN + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID + EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE' + END + DELETE FROM TBPMO_STRUCTURE_NODES WHERE GUID = @SUBNODE_ID +GO + +--ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD TARGET_PATH VARCHAR(500) NOT NULL DEFAULT '' +--GO +ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD DYNAMIC_FOLDER VARCHAR(500) NOT NULL DEFAULT '' +GO +DECLARE + @GUID INTEGER, + @DOCTYPE_ID INTEGER, + @CAPTION VARCHAR(500) + +DECLARE c_REDO CURSOR FOR + select GUID, DOCTYPE_ID from TBPMO_WD_FORMVIEW_DOKTYPES + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + UPDATE TBPMO_WD_FORMVIEW_DOKTYPES SET DYNAMIC_FOLDER = (SELECT FOLDER_FOR_INDEX FROM TBDD_DOKUMENTART WHERE GUID = @DOCTYPE_ID) WHERE GUID = @GUID + FETCH NEXT FROM c_REDO INTO @GUID,@DOCTYPE_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +CREATE PROCEDURE [dbo].[PRPMO_CREATE_NODE](@pRESULT INT OUTPUT,@pRECORD_ID INT,@pNODE_CONFIG_ID INT, @pNODE_CAPTION VARCHAR(250), @pNODE_ID1 VARCHAR(1000) , @pNODE_PARENT_ID INT, @pADDED_WHO VARCHAR(50)) +AS +DECLARE @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +DECLARE @OUTPUTDATA TABLE(NODE_ID INT) + +BEGIN TRY +--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + INSERT INTO TBPMO_STRUCTURE_NODES (RECORD_ID,NODE_CONFIG_ID, NODE_CAPTION, ID1, PARENT_GUID, ADDED_WHO) + OUTPUT INSERTED.GUID INTO @OUTPUTDATA + VALUES (@pRECORD_ID,@pNODE_CONFIG_ID,@pNODE_CAPTION,@pNODE_ID1,@pNODE_PARENT_ID,@pADDED_WHO) + SELECT @pRESULT = NODE_ID FROM @OUTPUTDATA + --##### CUSTOMER ROUTINE ###################### + --IF @pRESULT > 0 + -- EXEC PRPMO_CUST_COMOS_CREATE_CONTROL_VALUES @pRESULT, @pNODE_CONFIG_ID, @pRECORD_ID,@pNODE_ID1,@pNODE_CAPTION,@pADDED_WHO + --##### END - CUSTOMER ######################### + + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @pRESULT = 0 + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + --INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES(@pFORM_ID,'FORM-ID',CONVERT(VARCHAR(4000),ERROR_MESSAGE()),LTRIM(RTRIM(@pADDED_WHO))) + RAISERROR(@FEHLER,16,1) + RETURN +END CATCH +GO +ALTER TABLE TBPMO_STRUCTURE_NODES ADD DEPTH INTEGER NOT NULL DEFAULT 0 +GO +CREATE FUNCTION [dbo].[FNPMO_CUST_NODE_EX_UP] +-- ============================================= +-- Author: DIGITAL DATA, MS +-- Create date: 24.07.2018 +-- Description: +-- ============================================= +(@NODE_CONFIG_ID INTEGER, + @TPLNR VARCHAR(100), + @NODE_CAPTION VARCHAR(250), + @PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50), + @SEQUENCE TINYINT,@DEPTH INT +) +RETURNS +@Table TABLE + (NODE_GUID INTEGER,CAPTION VARCHAR(250), RESULT VARCHAR(20),COLOR VARCHAR(50),SEQUENCE TINYINT, DEPTH INT, ID INT IDENTITY(1, 1)) +AS + BEGIN + INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH) + SELECT GUID,NODE_CAPTION,COLOR,SEQUENCE,DEPTH FROM TBPMO_STRUCTURE_NODES WHERE ID1 = @TPLNR AND PARENT_GUID = @PARENT_GUID + + IF (SELECT COUNT(*) FROM @TABLE) = 1 + IF (SELECT CAPTION FROM @TABLE WHERE ID = 1) = @NODE_CAPTION + IF (SELECT COLOR FROM @TABLE WHERE ID = 1) <> @NODE_COLOR + UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1 + ELSE IF (SELECT SEQUENCE FROM @TABLE WHERE ID = 1) <> @SEQUENCE + UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1 + ELSE IF (SELECT DEPTH FROM @TABLE WHERE ID = 1) <> @DEPTH + UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1 + ELSE + UPDATE @TABLE SET RESULT = 'OK' WHERE ID = 1 + ELSE + UPDATE @TABLE SET RESULT = 'UPDATE' WHERE ID = 1 + ELSE + INSERT INTO @TABLE (NODE_GUID,CAPTION,COLOR,SEQUENCE,DEPTH,RESULT) VALUES (0,'','',1,@DEPTH,'INSERT') + RETURN +END +GO +/****** Object: StoredProcedure [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE] Script Date: 09.11.2018 08:38:32 ******/ +CREATE PROCEDURE [dbo].[PRPMO_STRUCTURE_NODES_CHECK_NODE](@pNODEGUID INTEGER OUTPUT, + @NODE_CONFIG_ID INTEGER,@NODE_CAPTION VARCHAR(250),@TPLNR VARCHAR(1000),@PARENT_GUID INTEGER,@NODE_COLOR VARCHAR(50),@DEPTH INTEGER,@SEQUENCE TINYINT) +AS +DECLARE @FEHLER VARCHAR(4000), + @LINE VARCHAR(10), + @PRAEFIX VARCHAR(100), + @RESULT_CHECK VARCHAR(250), + @SEQUENCE_IST TINYINT, + @NC_IST VARCHAR(250) + +BEGIN TRY + SET @PRAEFIX = REPLICATE(' ', @DEPTH) + SELECT @pNODEGUID = NODE_GUID, @NC_IST = CAPTION, @RESULT_CHECK = RESULT,@SEQUENCE_IST = SEQUENCE FROM + [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH) + IF @NODE_COLOR = '0' + SET @NODE_COLOR = '' + IF @RESULT_CHECK = 'UPDATE' + BEGIN + --PRINT @PRAEFIX + '## UPDATE ' + CONVERT(VARCHAR(10),@pNODEGUID) + ' #' + @NC_IST + '#' + UPDATE TBPMO_STRUCTURE_NODES SET NODE_CAPTION = @NODE_CAPTION, ACTIVE = 1, + COLOR = @NODE_COLOR,SEQUENCE = @SEQUENCE,DEPTH = @DEPTH,CHANGED_WHO = 'DD PMO_CHECKNODE UPD' WHERE GUID = @pNODEGUID + END + ELSE IF @RESULT_CHECK = 'INSERT' + BEGIN + --PRINT @PRAEFIX + '## INSERT - NODE (' + @NODE_CAPTION + ') MUSS ANGELEGT WERDEN' + INSERT INTO TBPMO_STRUCTURE_NODES (NODE_CONFIG_ID,NODE_CAPTION,ID1,PARENT_GUID,COLOR,SEQUENCE,DEPTH, ADDED_WHO) VALUES ( + @NODE_CONFIG_ID,@NODE_CAPTION,@TPLNR,@PARENT_GUID,@NODE_COLOR,@SEQUENCE, @DEPTH, 'DD PMO_CHECKNODE INS') + SELECT @pNODEGUID = NODE_GUID, @RESULT_CHECK = RESULT FROM [dbo].[FNPMO_CUST_NODE_EX_UP] (@NODE_CONFIG_ID, @TPLNR,@NODE_CAPTION,@PARENT_GUID,@NODE_COLOR,@SEQUENCE,@DEPTH) + END + IF NOT EXISTS(SELECT NODE_GUID FROM TBPMO_CUST_CREATED_NODES_IN_RUN WHERE NODE_GUID = @pNODEGUID) + INSERT INTO TBPMO_CUST_CREATED_NODES_IN_RUN (NODE_GUID, ENTITY) VALUES (@pNODEGUID,'SAP') + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + RAISERROR(@FEHLER,16,1) +END CATCH +GO +ALTER TABLE TBPMO_WD_FORMVIEW_DOKTYPES ADD ROOT_FOLDER VARCHAR(1000) NOT NULL DEFAULT '' +GO + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql new file mode 100644 index 0000000..bb3bf46 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.8.9.sql @@ -0,0 +1,270 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.8.9' where NAME = 'Record-Organizer' +GO +CREATE PROCEDURE [dbo].[PRPMO_DOC_CHANGE_DOCID](@pOLD_DOCID INTEGER, @pNEW_DOCID INTEGER,@pWHO As VARCHAR(50)) +AS +BEGIN TRY + UPDATE TBPMO_DOCRESULT_LIST SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID + UPDATE TBPMO_DOC_RECORD_LINK SET DOC_ID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DOC_ID = @pOLD_DOCID + UPDATE TBPMO_DOC_INDICES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID + UPDATE TBPMO_DOC_VALUES SET DocID = @pNEW_DOCID,CHANGED_WHO = @pWHO WHERE DocID = @pOLD_DOCID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + +ALTER VIEW [dbo].[VWPMO_CONTROL_SCREEN] AS +SELECT TOP 100 PERCENT + T.GUID CONTROL_ID, + T.FORM_ID CONTROL_ENTITY_ID, + T.NAME CONTROL_NAME, + T.REQUIRED CONTROL_REQUIRED, + T.DEFAULT_VALUE CONTROL_DEF_VALUE, + T.READ_ONLY CONTROL_READ_ONLY, + T.SELECT_ONLY CONTROL_SELECT_ONLY, + T.MULTILINE CONTROL_MULTILINE, + T.PARENT_CONTROL_ID CONTROL_PARENT_ID, + T.COL_NAME CONTROL_COL_NAME, + T.SHOW_COLUMN CONTROL_SHOW_COLUMN, + T.CONNECTION_ID_1 CONTROL_CONNID_1, + T.SQL_COMMAND_1 CONTROL_SQLCOMMAND_1, + T.SQL_COMMAND_2 CONTROL_SQLCOMMAND_2, + T.VISIBLE CONTROL_VISIBLE, + T.TREE_VIEW CONTROL_TREE_VIEW, + T.STATIC_LIST CONTROL_STATIC_LIST, + T.AUTO_SUGGEST CONTROL_AUTO_SUGGEST, + T4.GUID CTRLTYPE_ID, + T4.TYPE_NAME CTRLTYPE_NAME, + T.FORMAT_TYPE CONTROL_FORMAT_TYPE, + T.FORM_ID, + T3.NAME FORM_NAME, + T5.GUID FORM_VIEW_ID, + T3.LEVEL FORM_LEVEL, + T1.SCREEN_ID SCREEN_ID, + T2.NAME SCREEN_NAME, + T1.GUID CTRLSCR_ID, + T1.CONTROL_TEXT CTRLSCR_CAPTION, + T1.X_LOC CTRLSCR_X_LOC, + T1.Y_LOC CTRLSCR_Y_LOC, + T1.HEIGHT CTRLSCR_HEIGHT, + T1.WIDTH CTRLSCR_WIDTH, + T1.FONT_FAMILY CTRLSCR_FONT_FAMILY, + T1.FONT_COLOR CTRLSCR_FONT_COLOR, + T1.FONT_SIZE CTRLSCR_FONT_SIZE, + T1.FONT_STYLE CTRLSCR_FONT_STYLE, + T1.TAB_INDEX CTRLSCR_TAB_INDEX, + T1.TAB_STOP CTRLSCR_TAB_STOP, + T1.BACK_COLOR CTRLSCR_BACK_COLOR, + T.MASTER_DATA_ID CTRLSCR_MASTER_DATA_ID +FROM + TBPMO_CONTROL T, + TBPMO_CONTROL_SCREEN T1, + TBPMO_SCREEN T2, + TBPMO_FORM T3, + TBPMO_CONTROL_TYPE T4, + TBPMO_FORM_VIEW T5 +WHERE + T.FORM_ID = T3.GUID AND + T3.GUID = T5.FORM_ID AND + T.GUID = T1.CONTROL_ID AND + T1.SCREEN_ID = T2.GUID AND + T.CONTROL_TYPE_ID = T4.GUID +ORDER BY + T1.SCREEN_ID, + T.FORM_ID, + T1.TAB_STOP +GO + +ALTER VIEW [dbo].[VWPMO_DOC_SYNC] AS +/*SELECT TOP 100 PERCENT + T.dwDocID as DocID + ,T.dwParentID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (T.dwDocID) AS FULL_FILENAME + ,szLongName AS [Filename] + ,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype + ,ISNULL(T.dwVersionNumber,'1') AS [Version] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwCreationDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwCreation_Time)) + convert(VARCHAR(6),T.dwCreation_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS [Creation_DateTime] + ,CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),T.dwChangeDate)) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(T.dwChange_Time)) + convert(VARCHAR(6),T.dwChange_Time),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE + ,T.dwObjectTypeID +FROM + DD_VMP01_APS01_windream60.dbo.BaseAttributes T + ,DD_VMP01_APS01_windream60.dbo.ObjectType T1 +WHERE + T.dwCatalogID = 1 + AND T.dwObjectTypeID = 10005 + AND T.dwObjectTypeID = T1.dwObjectTypeID + AND T.szText30 = 'ADDI-RELATION' + */ +SELECT TOP 100 PERCENT + MAX(T.dwDocID) as DocID + ,T.dwParentID + ,dbo.FNPMO_GET_WINDREAM_FILE_PATH (MAX(T.dwDocID)) AS FULL_FILENAME + ,(SELECT szLongName from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Filename] + + ,ISNULL(T.wmVar09,'NO DOCTYPE') AS Doctype + ,(SELECT MAX(ISNULL(T.dwVersionNumber,'1')) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Version] + ,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwCreationDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwCreation_Time))) + convert(VARCHAR(6),MAX(T.dwCreation_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS [Creation_DateTime] + ,(SELECT CAST(CAST(CONVERT(DATE,CONVERT(VARCHAR(10),MAX(T.dwChangeDate))) AS DATETIME) + CAST(STUFF(STUFF(REPLICATE('0',6-LEN(MAX(T.dwChange_Time))) + convert(VARCHAR(6),MAX(T.dwChange_Time)),3,0,':'),6,0,':') AS DATETIME) AS DATETIME) from DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwDocID = MAX(T.dwDocID)) AS Change_DateTime + ,T1.szDocTypeName AS OBJECTTYPE + ,T.dwObjectTypeID +FROM + DD_VMP01_APS01_windream60.dbo.BaseAttributes T + ,DD_VMP01_APS01_windream60.dbo.ObjectType T1 +WHERE + --T.dwParentID = 1896955 AND + T.dwCatalogID = 1 + AND T.dwObjectTypeID = 10005 + AND T.dwObjectTypeID = T1.dwObjectTypeID + AND T.szText30 = 'ADDI-RELATION' +GROUP BY + T.dwVersionID + ,T.dwParentID + --,T.szLongName + ,ISNULL(T.wmVar09,'NO DOCTYPE') + ,T1.szDocTypeName + ,T.dwObjectTypeID +ORDER BY [Creation_DateTime] +GO + +CREATE TABLE TBPMO_FILE_FORMATS_CHANGE +( + GUID INTEGER IDENTITY(0,1), -- Eindeutiger Tabellenschlüssel + FILE_EXT VARCHAR(50), + ADDED_WHO VARCHAR(50) DEFAULT 'DEFAULT' NOT NULL, + ADDED_WHEN DATETIME DEFAULT GETDATE() NOT NULL, + CHANGED_WHO VARCHAR(50), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_FILE_FORMATS_CHANGE PRIMARY KEY (FILE_EXT) +) +GO +INSERT INTO TBPMO_FILE_FORMATS_CHANGE(FILE_EXT) +SELECT '.xlsx' UNION +SELECT '.xls ' UNION +SELECT '.xlsb ' UNION +SELECT '.xla ' UNION +SELECT '.xlsm ' UNION +SELECT '.doc ' UNION +SELECT '.dot ' UNION +SELECT '.wbk ' UNION +SELECT '.docx ' UNION +SELECT '.docm ' UNION +SELECT '.dotm ' UNION +SELECT '.ppt ' UNION +SELECT '.pot ' UNION +SELECT '.pps ' UNION +SELECT '.pptx ' UNION +SELECT '.pptm ' UNION +SELECT '.potx ' UNION +SELECT '.dwg' + +GO +DROP TABLE TBPMO_DOC_ID_CHANGED +GO +CREATE TABLE [dbo].[TBPMO_DOC_ID_CHANGED]( + [GUID] INTEGER IDENTITY(1,1) NOT NULL, + [USER_ID] INTEGER NOT NULL, + [PROCESS_ID] VARCHAR(50) NOT NULL, + [OLD_DOC_ID] INTEGER NOT NULL, + VERSION_ID INTEGER NOT NULL, + DOC_PATH VARCHAR(500) NOT NULL, + [NEW_DOC_ID] INTEGER NULL, + [CREATED_WHEN] DATETIME NULL DEFAULT GETDATE(), + CHANGED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_ID_CHANGED PRIMARY KEY ([GUID]) +) ON [PRIMARY] +GO +DROP TABLE TBPMO_DOC_USER_REFRESH_VIEW +GO +CREATE TABLE [dbo].[TBPMO_DOC_USER_REFRESH_VIEW]( + GUID INTEGER IDENTITY(1,1) NOT NULL, + [USER_ID] INTEGER NOT NULL, + CREATED_WHEN DATETIME NULL DEFAULT GETDATE(), + REFRESHED_WHEN DATETIME, + CONSTRAINT PK_TBPMO_DOC_USER_REFRESH_VIEW PRIMARY KEY ([GUID]) +) ON [PRIMARY] +GO +CREATE PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS +DECLARE + @GUID INTEGER, + @OLD_DOC_ID INTEGER, + @VERSION_ID INTEGER, + @DOC_PATH VARCHAR(500), + @USER_ID INTEGER + +DECLARE c_REDO CURSOR FOR + SELECT GUID,OLD_DOC_ID,VERSION_ID,DOC_PATH,USER_ID FROM TBPMO_DOC_ID_CHANGED WHERE NEW_DOC_ID IS NULL + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + IF NOT EXISTS(SELECT DocID FROM VWPMO_DOC_SYNC WHERE DocID = @OLD_DOC_ID) + BEGIN + DECLARE @NEW_DOC_ID INTEGER + SELECT @NEW_DOC_ID = MAX(dwDocID) FROM DD_VMP01_APS01_windream60.dbo.BaseAttributes WHERE dwVersionID = @VERSION_ID + IF @NEW_DOC_ID > 0 + BEGIN + EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED' + UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL) + INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID) + END + END + FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@VERSION_ID,@DOC_PATH,@USER_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO + +ALTER TRIGGER [dbo].[TBPMO_FORM_AFT_INS] ON [dbo].[TBPMO_FORM] +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @FORM_ID INTEGER, + @FORM_TYPE INTEGER, + @ADDED_WHO VARCHAR(50) + --@SQL_RECORD1 VARCHAR(500), + --@SQL_RECORD2 VARCHAR(500) + SELECT + @FORM_ID = GUID, + @FORM_TYPE = FORM_TYPE_ID, + @ADDED_WHO = ADDED_WHO + FROM INSERTED + + IF @FORM_TYPE = 5 + BEGIN + INSERT INTO TBPMO_CONTROL ( + FORM_ID, CONTROL_TYPE_ID, DEFAULT_VALUE, NAME, [COL_NAME]) VALUES ( + @FORM_ID,2,'GROUP_RECORD','txtGROUP_RECORD','GROUP_RECORD') + DECLARE @CTRL_ID INTEGER + SELECT @CTRL_ID = MAX(GUID) FROM TBPMO_CONTROL WHERE FORM_ID = @FORM_ID + INSERT INTO TBPMO_CONTROL_SCREEN ( + CONTROL_ID, SCREEN_ID, CONTROL_TEXT, X_LOC, Y_LOC, HEIGHT, WIDTH, TAB_INDEX) VALUES ( + @CTRL_ID, 1, 'GROUP_RECORD', 5, 5, 22, 100,1) + END + EXEC PRPMO_CREATE_ENTITY_TABLE @FORM_ID + EXEC PRPMO_CREATE_ENTITY_TABLE_VIEW @FORM_ID + --EXEC dbo.PRPMO_CREATE_SQL @FORM_ID + --EXEC dbo.PRPMO_CREATE_TEMP_VIEWS +END TRY +BEGIN CATCH + PRINT 'FEHLER IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ZEILE: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - FEHLER-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +BEGIN TRY + INSERT INTO TBPMO_CLIENT_ENTITY (CLIENT_ID,ENTITY_ID) + SELECT T.CLIENT_ID,@FORM_ID FROM TBDD_CLIENT_USER T, TBDD_USER T1 WHERE T.USER_ID = T1.GUID AND UPPER(T1.USERNAME) = UPPER(@ADDED_WHO) +END TRY +BEGIN CATCH + PRINT 'ERROR INSERTING TBPMO_CLIENT_ENTITY-ERROR-MESSAGE: ' + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO + + + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql new file mode 100644 index 0000000..64e5a4f --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.4.9.sql @@ -0,0 +1,326 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.4.9.0' where NAME = 'Record-Organizer' +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_NODE](@pNODE_GUID INT,@WHO VARCHAR(50)) +AS +DECLARE + @SUBNODE_ID INTEGER, + @RECORD_ID INTEGER + + SELECT @RECORD_ID = RECORD_ID from TBPMO_STRUCTURE_NODES where GUID = @pNODE_GUID + IF @RECORD_ID <> NULL + BEGIN + DELETE FROM TBPMO_DOC_RECORD_LINK WHERE RECORD_ID = @RECORD_ID + EXEC PRPMO_DELETE_RECORD @RECORD_ID, @WHO, 'DELETE NODE' + END + UPDATE TBPMO_STRUCTURE_NODES SET ACTIVE = 0, COMMENT = 'DELETED [PRPMO_DELETE_NODE]', CHANGED_WHO = @WHO WHERE GUID = @pNODE_GUID + DECLARE c_REDO CURSOR LOCAL FOR + select GUID FROM TBPMO_STRUCTURE_NODES WHERE PARENT_GUID = @pNODE_GUID + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @SUBNODE_ID + WHILE @@FETCH_STATUS = 0 + BEGIN + EXEC [dbo].[PRPMO_DELETE_NODE] @SUBNODE_ID,@WHO + FETCH NEXT FROM c_REDO INTO @SUBNODE_ID + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO +ALTER TRIGGER [dbo].[TBPMO_RECORD_AFT_UPD] ON [dbo].[TBPMO_RECORD] +FOR UPDATE +AS +BEGIN TRY + DECLARE + @CHANGES BIT, + @RECORD_ID INTEGER, + @OLD_ENTITY_ID INTEGER, + @ENTITY_ID INTEGER, + @PARENT_RECORD INTEGER, + @ENTITY_TABLENAME VARCHAR(50), + @SQL NVARCHAR(MAX), + @DELETED_OLD BIT, + @DELETED BIT, + @RECORD_ENTITY_ID BIGINT, + @INWORK_OLD BIT, + @INWORK BIT, + @INWORK_WHO VARCHAR(50), + @CHANGED_WHO VARCHAR(50) + + SELECT + @RECORD_ID = GUID, + @ENTITY_ID = FORM_ID, + @DELETED = [deleted], + @RECORD_ENTITY_ID = RECORD_ENTITY_ID, + @INWORK = IN_WORK , + @INWORK_WHO = ISNULL(IN_WORK_WHO,''), + @CHANGED_WHO = ISNULL(CHANGED_WHO,'') + FROM inserted + + --PRINT '@RECORD_ENTITY_ID: ' + CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + SET @CHANGES = 0 + IF UPDATE(IN_WORK) + BEGIN + IF @INWORK_OLD = 0 and @INWORK = 1 + BEGIN + DECLARE @COMMENT VARCHAR(100) + SET @COMMENT = 'RECORD IN_WORK BY: ' + @INWORK_WHO + PRINT @COMMENT + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD IN_WORK BY: ' + @INWORK_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + END + ELSE IF @INWORK_OLD = 1 and @INWORK = 0 + BEGIN + UPDATE TBPMO_RECORD SET IN_WORK_WHEN = NULL FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','RECORD UNLOCKED', 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE(VERSION) + BEGIN + SET @CHANGES = 1 + END + IF UPDATE(FORM_ID) + BEGIN + --ROLLBACK TRANSACTION + --RAISERROR('NOT ALLOWED TEMPORARILY', 16, 1) + SELECT @ENTITY_TABLENAME = [dbo].[FNPMO_GET_ENTITY_TABLENAME] (@ENTITY_ID) + --ERST DEN RECORD IN DER AKTUELLEN ENTITÄT LÖSCHEN + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC sp_executesql @SQL + EXEC PRPMO_ENTITY_TABLE_RENEW_RECORD @ENTITY_ID,@RECORD_ID + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED AND RENEWED ENTITY: ' + CONVERT(VARCHAR(3),@ENTITY_ID), 'TRIGGER TBPMO_RECORD_AFT_UPD') + SET @CHANGES = 1 + END + IF UPDATE (PARENT_RECORD) + BEGIN + SELECT + @RECORD_ID = GUID, + @PARENT_RECORD = PARENT_RECORD, + @ENTITY_ID = FORM_ID + FROM INSERTED + SET @CHANGES = 1 + IF @PARENT_RECORD > 0 + BEGIN + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + --RAISERROR(@SQL, 16, 1) + EXEC sp_executesql @SQL + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','CHANGED THE PARENT_ID (VARIETY?): ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + END + IF UPDATE([DELETED]) + BEGIN + IF @DELETED_OLD = 0 and @DELETED = 1 + BEGIN + Print '@DELETED_OLD = 0 and @DELETED = 1' + SET @RECORD_ENTITY_ID = 9999000000 + @RECORD_ENTITY_ID + Print '@RECORD_ENTITY_ID: '+ CONVERT(VARCHAR(100),@RECORD_ENTITY_ID) + UPDATE TBPMO_RECORD SET RECORD_ENTITY_ID = @RECORD_ENTITY_ID FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID + SELECT @ENTITY_TABLENAME = ENTITY_TABLENAME FROM TBPMO_KONFIGURATION WHERE GUID = 1 + SET @ENTITY_TABLENAME = @ENTITY_TABLENAME + CONVERT(VARCHAR(3),@ENTITY_ID) + SET @SQL = 'DELETE FROM @TABLE WHERE [Record-ID] = @RECORD_ID' + SET @SQL = REPLACE(@SQL,'@TABLE',@ENTITY_TABLENAME) + SET @SQL = REPLACE(@SQL,'@RECORD_ID',@RECORD_ID) + EXEC sp_executesql @SQL + INSERT INTO TBPMO_LOG_ESSENTIALS(REFERENCE_KEY,REFERENCE_STRING,COMMENT,ADDED_WHO) VALUES (@RECORD_ID,'RECORD-ID','Mark Record as deleted: ' + @CHANGED_WHO, 'TRIGGER TBPMO_RECORD_AFT_UPD') + END + SET @CHANGES = 1 + END + + IF @CHANGES = 1 + UPDATE TBPMO_RECORD SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_RECORD.GUID = INSERTED.GUID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_STRUCTURE_NODES_AFT_UPD] ON [dbo].[TBPMO_STRUCTURE_NODES] +FOR UPDATE +AS + DECLARE + @ACTIVE_OLD BIT, + @ACTIVE BIT, + @RECORD_ID INTEGER, + @CHANGED_WHO VARCHAR(50) + + SELECT + @ACTIVE_OLD = [ACTIVE] + FROM deleted + SELECT + @RECORD_ID = GUID, + @ACTIVE = ACTIVE, + @CHANGED_WHO = CHANGED_WHO + FROM INSERTED + + IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0 + BEGIN + EXEC PRPMO_DELETE_RECORD @RECORD_ID,@CHANGED_WHO,'TBPMO_STRUCTURE_NODES_AFT_UPD ACTIVE = 0' + END + ELSE IF @RECORD_ID IS NOT NULL AND @ACTIVE_OLD = 1 AND @ACTIVE = 0 + BEGIN + IF EXISTS(SELECT GUID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID) + UPDATE TBPMO_RECORD SET DELETED = 0, CHANGED_WHO = @CHANGED_WHO WHERE GUID = @RECORD_ID AND DELETED = 1 + END + + UPDATE TBPMO_STRUCTURE_NODES SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_STRUCTURE_NODES.GUID = INSERTED.GUID + +GO +ALTER PROCEDURE [dbo].[PRPMO_DELETE_RECORD](@pRECORD_ID INT, @WHO VARCHAR(30),@COMMENT VARCHAR(100) = '') +AS + DECLARE @ENTITY_ID INT, @COUNT_REQUIRED INT + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @pRECORD_ID + --SET @DELETE_SQL = 'DELETE FROM TBPMO_ENTITY_TABLE@ENT_ID WHERE [Record-ID] = @RECORD_ID' + --SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@ENT_ID',@ENTITY_ID) + --SET @DELETE_SQL = REPLACE(@DELETE_SQL,'@RECORD_ID',@pRECORD_ID) + --EXEC sp_executesql @DELETE_SQL + UPDATE TBPMO_RECORD SET DELETED = 1 WHERE GUID = @pRECORD_ID + DECLARE @reas As VARCHAR(250) + SET @reas = 'RECORD DELETED BY USER' + IF @COMMENT <> '' + BEGIN + SET @reas = @reas + ' - ' + @COMMENT + END + IF @pRECORD_ID <> NULL + INSERT INTO TBPMO_LOG_ESSENTIALS (REFERENCE_KEY,REFERENCE_STRING,[ENTITY_ID],COMMENT,ADDED_WHO) VALUES (@pRECORD_ID,'RECORD-ID',@ENTITY_ID, @reas, @WHO) + + SELECT @COUNT_REQUIRED = COUNT(GUID) FROM TBPMO_CONTROL WHERE REQUIRED = 1 AND FORM_ID = @ENTITY_ID + IF @COUNT_REQUIRED > (SELECT COUNT(GUID) FROM TBPMO_CONTROL_VALUE WHERE RECORD_ID = @pRECORD_ID) + BEGIN + PRINT 'EXEC PRPMO_DELETE_RECORD_FINALLY - PRE INSERT - LESS REQUIRED VALUES' + EXEC PRPMO_DELETE_RECORD_FINALLY @pRECORD_ID,'PRE INSERT - LESS REQUIRED VALUES' + END +GO +CREATE FUNCTION [dbo].[FNPMO_DOC_GET_DOC_VALUE](@pDOCID INTEGER, @pRECORDID INTEGER, @pCONFIGID INTEGER) +RETURNS VARCHAR(250) +AS +BEGIN + DECLARE @RESULT VARCHAR(250) + SELECT DISTINCT @RESULT = ISNULL(VALUE,'NO DATA') + FROM TBPMO_DOC_VALUES WHERE DocID = @pDOCID AND CONFIG_ID = @pCONFIGID AND RECORD_ID = @pRECORDID + + RETURN @RESULT +END +GO +ALTER TABLE TBPMO_FORM ADD ENTITY_DOC_SEARCH VARCHAR(MAX) NOT NULL DEFAULT '' +GO +UPDATE TBPMO_FORM SET ENTITY_DOC_SEARCH = +'SELECT DISTINCT T.* FROM VWPMO_DOC_SEARCH T WHERE T.DocID IN (select DISTINCT T.DOC_ID from TBPMO_DOC_RECORD_LINK T, TBPMO_RECORD T1 WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = @ENTITY_ID) AND T.DocID IN (SELECT dwObjectID FROM VWPMO_WD_OBJECT_RIGHTS WHERE dwUserOrGroupID = @USER_ECM_ID AND dwObjectID = T.DocID)' +GO +--CREATE PROCEDURE PRPMO_CREATE_RECORD(@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +ALTER PROCEDURE [dbo].[PRPMO_CREATE_RECORD](@pRESULT INT OUTPUT,@pFORM_ID INT,@pADDED_WHO VARCHAR(50) = NULL,@pPARAMETER_1 VARCHAR(100) = NULL,@pPARAMETER_2 VARCHAR(100) = NULL,@pPARAMETER_3 VARCHAR(250) = NULL,@pPARAMETER_4 VARCHAR(250) = NULL,@pPARAMETER_5 VARCHAR(500) = NULL) +AS +DECLARE @RECORD_ENTITY_ID BIGINT, + @RECORD_ID INT, + @FEHLER VARCHAR(4000), + @LINE VARCHAR(10) + +DECLARE @OUTPUTDATA TABLE(RECORD_ID INT) + +BEGIN TRY +--RAISERROR ('ENTITY IS LOCKED - NO INSERT ALLOWED!',16,1) + + SELECT @RECORD_ENTITY_ID = ISNULL(MAX(RECORD_ENTITY_ID),0) + 1 FROM TBPMO_RECORD WHERE FORM_ID = @pFORM_ID AND DELETED = 0 + + INSERT INTO TBPMO_RECORD(FORM_ID,RECORD_ENTITY_ID,ADDED_WHO) + OUTPUT INSERTED.GUID INTO @OUTPUTDATA + VALUES (@pFORM_ID,@RECORD_ENTITY_ID,LTRIM(RTRIM(@pADDED_WHO))) + + SELECT @pRESULT = RECORD_ID FROM @OUTPUTDATA + + RETURN +END TRY +BEGIN CATCH --Fehlerbehandlung + SET @pRESULT = 0 + + SET @LINE = CONVERT(VARCHAR(10),ERROR_LINE()) + SET @FEHLER = CONVERT(VARCHAR(4000),ERROR_MESSAGE()) + CHAR(13) + CHAR(10) + 'ERROR-LINE: ' + @LINE + RAISERROR(@FEHLER,16,1) + + RETURN +END CATCH +GO +ALTER TABLE TBPMO_CLIENT_CONN_SWITCH_USER ADD [CONN_NAME] VARCHAR(100) NOT NULL DEFAULT '' +GO +CREATE TRIGGER [dbo].[TBPMO_CLIENT_CONN_SWITCH_USER_AFT_INS] ON TBPMO_CLIENT_CONN_SWITCH_USER +WITH EXECUTE AS CALLER +FOR INSERT +AS +BEGIN TRY + DECLARE + @CONN_ID INTEGER, + @GUID INTEGER + SELECT + @GUID = GUID, + @CONN_ID = CONN_SWITCH_ID + + FROM INSERTED + + UPDATE TBPMO_CLIENT_CONN_SWITCH_USER SET CONN_NAME = (SELECT DESCRIPTION FROM TBPMO_CLIENT_CONNECTION_SWITCH WHERE GUID = @CONN_ID) + FROM INSERTED + WHERE TBPMO_CLIENT_CONN_SWITCH_USER.GUID = INSERTED.GUID + +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +ALTER TRIGGER [dbo].[TBPMO_DOC_RECORD_LINK_AFT_DEL] ON [dbo].[TBPMO_DOC_RECORD_LINK] +WITH EXECUTE AS CALLER +FOR DELETE +AS +BEGIN TRY + DECLARE + @RECORD_ID INTEGER, + @DOC_ID INTEGER, + @ENTITY_ID INTEGER + SELECT + @RECORD_ID = RECORD_ID, + @DOC_ID = DOC_ID + FROM DELETED + + SELECT @ENTITY_ID = FORM_ID FROM TBPMO_RECORD WHERE GUID = @RECORD_ID + IF @RECORD_ID IS NOT NULL + INSERT INTO [dbo].[TBPMO_LOG_ESSENTIALS] + ([REFERENCE_KEY] + ,[REFERENCE_STRING] + ,[COMMENT] + ,[ADDED_WHO] + + ,[ENTITY_ID]) + VALUES + (@RECORD_ID, + 'RECORD-ID' + ,'DocRecord-Link deleted' + ,'TBPMO_DOC_RECORD_LINK_AFT_DEL' + ,@ENTITY_ID) + + DELETE FROM TBPMO_DOC_VALUES WHERE DocID = @DOC_ID AND RECORD_ID = @RECORD_ID + + EXEC PRPMO_DOC_RECORD_LINK_UPD_ENTITY_TABLE @RECORD_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN TRIGGER: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + ' - ROW: ' + CONVERT(VARCHAR(10),ERROR_LINE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH +GO +-- ============================================= +-- Author: DD-MS +-- Create date: 25.06.2019 +-- Description: releases inwork-records which are in use more than (check code) +-- ============================================= +CREATE PROCEDURE PRMO_CUST_RELEASE_IN_WORK_RECORDS + +AS +BEGIN + UPDATE TBPMO_RECORD SET IN_WORK = 0, IN_WORK_WHEN = NULL, IN_WORK_WHO = NULL + WHERE GUID IN (select GUID from TBPMO_RECORD where IN_WORK = 1 AND (DATEDIFF(MINUTE,IN_WORK_WHEN, GETDATE()) >= 10 OR IN_WORK_WHEN IS NULL )) +END +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql new file mode 100644 index 0000000..62b4cef --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.0.sql @@ -0,0 +1,50 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.0' where NAME = 'Record-Organizer' +GO +CREATE TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY]( + [GUID] [bigint] IDENTITY(1,1) NOT NULL, + [DOCID] [bigint] NOT NULL, + [COMMENT] [varchar](500) NULL, + [IN_WORK_WHO] [varchar](50) NOT NULL, + [IN_WORK_WHEN] [datetime] NOT NULL, + [FREE_WHO] [varchar](50) NULL, + [FREE_WHEN] [datetime] NULL, + CONSTRAINT [PK_TBPMO_DOC_IN_WORK_HISTORY] PRIMARY KEY CLUSTERED +( + [GUID] ASC +)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY] + +GO +ALTER TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT ('DEFAULT') FOR [IN_WORK_WHO] +GO +ALTER TABLE [dbo].[TBPMO_DOC_IN_WORK_HISTORY] ADD DEFAULT (getdate()) FOR [IN_WORK_WHEN] +GO + +ALTER TRIGGER [dbo].[TBPMO_DOCRESULT_LIST_AFT_UPD] ON [dbo].[TBPMO_DOCRESULT_LIST] +FOR UPDATE +AS + IF UPDATE (IN_WORK) + BEGIN + DECLARE @IN_WORK BIT, + @IN_WORK_USER VARCHAR(50), + @IN_WORK_COMMENT VARCHAR(500), + @DocID BIGINT + + SELECT + @DocID = DocID, + @IN_WORK = IN_WORK, + @IN_WORK_USER = IN_WORK_USER, + @IN_WORK_COMMENT = IN_WORK_COMMENT + FROM INSERTED + IF @IN_WORK = 1 + INSERT INTO TBPMO_DOC_IN_WORK_HISTORY (DOCID,COMMENT,IN_WORK_WHO) VALUES (@DocID,@IN_WORK_COMMENT,@IN_WORK_USER) + ELSE + BEGIN + UPDATE TBPMO_DOC_IN_WORK_HISTORY SET FREE_WHO = @IN_WORK_USER, FREE_WHEN = GETDATE() WHERE DOCID = @DocID AND FREE_WHEN IS NULL + UPDATE TBPMO_DOCRESULT_LIST SET IN_WORK_COMMENT = NULL FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID] + END + + END + UPDATE TBPMO_DOCRESULT_LIST SET CHANGED_WHEN = GETDATE() FROM INSERTED WHERE TBPMO_DOCRESULT_LIST.[DocID] = INSERTED.[DocID] + + diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql new file mode 100644 index 0000000..2cbf652 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/2.5.0.1.sql @@ -0,0 +1,68 @@ +UPDATE TBDD_MODULES SET DB_VERSION = '2.5.0.2' where NAME = 'Record-Organizer' +GO + +ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [PARENT_ID] BIGINT NOT NULL DEFAULT 0 +GO +ALTER TABLE TBPMO_DOC_ID_CHANGED ADD [FILENAME] VARCHAR(200) NOT NULL DEFAULT '' +GO +CREATE TRIGGER [dbo].[TBPMO_DOC_ID_CHANGED_UPD] ON [dbo].TBPMO_DOC_ID_CHANGED +FOR INSERT +AS +BEGIN + DECLARE @DocID BIGINT, @PARENT_ID BIGINT, @FILENAME VARCHAR(200) + SELECT @DocID = OLD_DOC_ID FROM inserted + + DECLARE @ECM_USR_ID INTEGER + SELECT @PARENT_ID = dwParentID,@FILENAME = szLongName + FROM [DD_VMP01_APS01_windream60].[dbo].BaseAttributes where dwDocID = @DocID + + UPDATE TBPMO_DOC_ID_CHANGED SET [FILENAME] = @FILENAME,[PARENT_ID] = @PARENT_ID + FROM INSERTED + WHERE TBPMO_DOC_ID_CHANGED.GUID = INSERTED.GUID +END +GO + +ALTER PROCEDURE [dbo].[PRPMO_DOC_HANDLE_DOCID_CHANGED] AS +DECLARE + @GUID INTEGER, + @OLD_DOC_ID INTEGER, + @PARENT_ID BIGINT, + @FILENAME VARCHAR(200), + @DOC_PATH VARCHAR(500), + @USER_ID INTEGER, + @HOUR_EXIST INTEGER + --select * from TBPMO_DOC_ID_CHANGED +DECLARE c_REDO CURSOR FOR + SELECT GUID,OLD_DOC_ID,PARENT_ID,USER_ID,UPPER(FILENAME),DATEDIFF(HOUR,CREATED_WHEN,GETDATE()) + FROM TBPMO_DOC_ID_CHANGED WHERE + NEW_DOC_ID IS NULL --AND PARENT_ID > 0 + OPEN c_REDO + FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST + WHILE @@FETCH_STATUS = 0 + BEGIN + PRINT CONVERT(VARCHAR(10),@PARENT_ID) + PRINT CONVERT(VARCHAR(100),@FILENAME) + DECLARE @NEW_DOC_ID INTEGER + SELECT @NEW_DOC_ID = DocID FROM VWPMO_DOC_SYNC + WHERE UPPER(Filename) = @FILENAME AND dwParentID = @PARENT_ID + + + IF @NEW_DOC_ID > 0 + BEGIN + PRINT CONVERT(VARCHAR(10),@NEW_DOC_ID) + EXEC PRPMO_DOC_CHANGE_DOCID @OLD_DOC_ID,@NEW_DOC_ID,'DD_HANDLE_DOC_CHANGED' + + UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = @NEW_DOC_ID, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID + IF NOT EXISTS(SELECT GUID FROM TBPMO_DOC_USER_REFRESH_VIEW WHERE USER_ID = @USER_ID AND REFRESHED_WHEN IS NULL) + INSERT INTO TBPMO_DOC_USER_REFRESH_VIEW (USER_ID) VALUES (@USER_ID) + ELSE + UPDATE TBPMO_DOC_USER_REFRESH_VIEW SET REFRESHED_WHEN = NULL WHERE USER_ID = @USER_ID + END + ELSE + IF @HOUR_EXIST > 48 + UPDATE TBPMO_DOC_ID_CHANGED SET NEW_DOC_ID = 9999, CHANGED_WHEN = GETDATE() WHERE GUID = @GUID + FETCH NEXT FROM c_REDO INTO @GUID,@OLD_DOC_ID,@PARENT_ID,@USER_ID,@FILENAME,@HOUR_EXIST + END +CLOSE c_REDO +DEALLOCATE c_REDO +GO \ No newline at end of file diff --git a/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt b/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt new file mode 100644 index 0000000..abfc992 --- /dev/null +++ b/08_ADDI/SQL/UPDATE_SCRIPTS/trigger_vladimir_TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS.txt @@ -0,0 +1,14 @@ +--CREATE TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS +ALTER TRIGGER TBPMO_DOCSEARCH_RESULTLIST_CONFIG_AFT_INS +ON TBPMO_DOCSEARCH_RESULTLIST_CONFIG +FOR INSERT +AS +BEGIN TRY + INSERT INTO TBPMO_DOC_VALUES(DocID,CONFIG_ID,VALUE,ADDED_WHO) + SELECT T.DOC_ID,I.GUID,'',I.ADDED_WHO FROM TBPMO_DOC_RECORD_LINK T,TBPMO_RECORD T1,INSERTED I WHERE T.RECORD_ID = T1.GUID AND T1.FORM_ID = I.ENTITY_ID +END TRY +BEGIN CATCH + PRINT 'ERROR IN PROCEDURE: ' + CONVERT(VARCHAR(30),ERROR_PROCEDURE()) + + ' - ERROR-MESSAGE: ' + + CONVERT(VARCHAR(500),ERROR_MESSAGE()) +END CATCH \ No newline at end of file diff --git a/08_ADDI/SQL/Weiterentwicklung.xlsx b/08_ADDI/SQL/Weiterentwicklung.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..61ffab3c31d1d9655f0ddbb82afa20b823f281a9 GIT binary patch literal 6333 zcmeHMg5^tBX=$WeK~frlp}s+X zUgNv>dF~%@_dMt9Q){1R*8A?Y)_#w=3KB8_02y!#U~1Ydm0NUjrH23j@F4>LKmY)s zFYD+4v2cJGKkxusxEOM}+uIe#sj9u_#tk|V4_f6=o~x9)#rQQKgAt;E{dil+Y`lUa zN`I!RVoA~9nG&L+wDuG2N<{+s!-Yd3E^5c!PP^GhHP1r38e{Jt@K`OyPj+#rTs67( zl#0A(NK2d$WjVu+9?Hu$t+?$U8BCejqz0P1^{g;h!E^^n7^ZnP)gxEt1PXY-R*&o? zLS>A;YKZu%@}te(M(BvPm`12Ie|df6hKAq@V~q|&Y~YnduTp%~tZxIBx-)5jfHIRZ zm!R5p<)F7VDauTdt8B0bv)f2v==;(nH=;c|Nld()E;1Sc!CiT@Z%@^Gt5vssRit2q za^>zbv@KI#_@|$>&LCfW_`=;sj|+v>dG7ljFGlM<@}Pe~p8D8W)Vkzw9SMWAZ5ot0 z?~j^>5*wI=iHWy!Tk6;j1UZ)<5g*)LFXxklb&sh_v~LJEt9(@3HBk@U3CZw91OTqD zkpSv{K=Edpv-}zkff4-fZFq0&Y+>iZ#d))jjQtk`0_T>abhLr75G`8Q5Ov|!$M=2X zJItn0N54aWP$h+nKI18rzIM_~diMD%bZTJitIZz$CG_I2tBV)X zJ7yvh`@Mm|N%_-H7;ul=G+OwT>uWAJWp6fI_!WJKvx$qfAs08iahjVzZtj17^nbhm z#sj}d7zB?8jB}8zEx4H^oP=cX-rbJt2M?b*I@_8$I@;bugzuazj#0Jw9u`D`l6=J7 zFmee#Ob5!;bc*{&cT09823p2WSZ%$zyGh7uph(6tz@&%SM0&KqJTTd9Rqv6Z;F{C( z{3%&DJDU6;%o3ayJPAA7!6S%pdO-@M$KvC$E7U%d$&P`9oYR&oGrbfzqFY9fvA-X; z+>hq`WE3V$s>JI?5;>pp5}dY%L*nNpRjs*UKvHCwO}q2jOZ}Ka6Lt((ta+YWQX3MM zdJ*%S{V<6t%LXWlk0p6WCDZ?!yV$XpX5;yKWVxb&jT2!`9b->Ql-Ew!3Z{z<4`&=u zBaB$3tQpR*pZxm~GH+a@fs5yZcnbg!;{6da;Vyz$Ti9Ft*z?>tXj}ijBe^_5%ZXOx zH#H!$+Up0d8egY4-eqaqg?m!Wn(Yc!`SFXY?O`R*1LnU+PAs6ncIomstx!dNc zbEzG5%*4Wg0y$g%hMF>$=MWjAou%+Qgrth9Yn z3DaPG;RyJN%cE||bNH0UJRB8(d)1EA?U>1xJW< z`FP|b2rF$w$LH3oQ8iek7%4CI52ctQMPR?DZoC*Ajb>ALSz zQHr~JA1$qAM@dR}?wR%4kd0!IMII^+HD7LLlu6S0T^|ipg&03V?C|iH^gUfUF_x^& z3EUPZ{dO0KedA%q)$zP6Im|ZT+u@P;kQI+d6lE-Q810f^Q_2R%&~t*A3w^|; zAYWRYSf^IEiNo;40Ti^V6R4UuyItyUV=eFD<7^yPyA>XGWS0cpfRU{_kQ`XDY=86y zPJhsC5JK-tya-oH2S<$}vAOB<4>whchh-kJU}+A3^f<@lpzoj1Y$T!F!>71?LRzIU zEj~21-MED%M-oD>wBwPZBre){($q}E=n_w!j)Tott;yhCVEJsmF^ANdO?#&tDUE;^ zbyW~!ou^cH_fDGPras3^w!{$m6;VQILgst{$qM>x1u`=wA64wP=*|kl9(x46fwL`D z42!-&v!`btCzXPZzLn@e<==DPZvgJp8f@Ox=`iF1A9n0^oa1K2&!OiMUOK#8Be=lE zmO=8m58dJ!&@!f>ZrOby0Qxfck{)RC*>zI)ZII*BzPs@p@kn++Q<@=^_k)~*pW$q#QjwBeb+2J-qdPX7sYUZ)c z?WF<ve*DbHKJ!X_X5)-@9>i^^{!Oz(bxa1Fy_$R~-4V4;40xb}>IF&B5@ z(P)EtTV&Nomt`5gcS#Gp;r-AxQnT4U-*WX*kGE}n-K$yVCSZZw%IOF>_NUg{OdF~j z9R%&Sx}M9|CzK46*pe?Tm35H?>*e(OL&pnxTbfZeR<0TSJ^{Z-p|m{C#v@le1d}n< zgCa_E2SD}@Ms=6vct>1ALUM+fO`~L}S_5wrk$UooB|f0U^nLb(yY*QiK{$i5U&^Sxyl>Fs*xn2d7!H|SxA|41I=Sw!h zL{6SKmTueR7Z0w%Om+_veEE*^%RVF##;M+^)%b$E87_a!@M#@$T2YtG3&kD3QNrL8 z*4`CbQzjEjTjeZRhISqoTZwLx9D+=75f5QYzLIi{u3D<*%?$d8S~grz^cc;Zqu_bC zNDoqPpGxxQJrLNksS~A#+-_(v)&v3L;99+gXT?k0`V0NpePJK?BVQ6~zik=9 zCfPN4Um3>Ci0xE0ksByfU5MxUi!H1_NA5|lsWOV?y{17#D zoRM&m#)n99noyi^(xHg2DtAAwbNJr8CGkL>Zu&UmMWQT7_#WG-&8CaJv}WHKkL5g* zzU9`cAlEF>fU<%cD!*r;J}f8S+xMydY&lPG_*DPFszkt8-y8?2evh~{*M$^;+};63 zn`HUJZyo+tjw;N+qZV$;lWiy%XT}rJ@lG~Dv~(5`G=YK-&#p8s#YdRooN>!z8AWQ^)_4BqjAu7q(75NknZ>L!yc-m}jGyqj-MEczsYP6?=S zL^{1tU?gk&yJF(Dis`s+IbC;^OC8y3MwBVK?ZuG(a-?0V`*o38*vk?Z1TyL@#)b(4 zG?Z<_n5&yXet(n<0Qf5FGVn->+G7zT4}RwW>851m1(-XUsXIG@UARoZ;G22@1HK-+ zX=>U`@J;p+F2Ee%2rvVv1DxSK7~ldh0GPmgFn|-_4zLH<0n)TSILvb6HWBwo-fHTO zAI)UJ43}Q!U(b@ql2aPQtgZ}IXOMP4Zfu#5l`Lpc*W+p|IFRz7vr2qF-?n!$WV~%U zyPktW9WNl#O9WDCRn%v#>g`o^a)re(AOwMeYEYdkpG$F`_KMbgn|O8?g*FVIX(dMi zqN4n~I1A4N?+Gxu52o-~42D&$oy%aLcQ)lO?U|TI&0>dl4}G;D1zD-A&TijNUWM)C zGHBLx?Tyj4P*{YIvl<(Sd$6wsv|(RP$dplw&!64BqE0PeCN1F^B%03a=}o~}nmb$` zet%zi9S}+7pY`c>C^XqN%bTPe+tFz{KyE88(^t-HNYR-KahrTliLD7AwRa?FL-W44 ziGog}fBK^CHLeW+Gg55{2!a()Y?ZxrNq0qbI%Jxr+UcV7$>QrOm&pp=gX-Om;%Z2s zY#bjDTGN(vr`?gZ?XiR=ZP}IHuBm(hwCpCOe2TQMog4!GjNt{s?IO9rdTCM+6vCTl zjqw3F(j@HA9oo`Z7&I*$wHov>EjfcAT&!S>RY?-J4_#Epz|sq{G{-8AXY36}U8WQ(au z4m;Jzb{y?FXlZg?gUu8TJH5X$5I5_a^Q-6-N%n(L`1fM=a&u9Ra>}tDC#@R19A=T6 zxFDW(p}aF0KTy$bvvn(2!~AY_>ofA{GT$$Ht7;tj$`0`k=XvJn)IRCLk%(JN93XPl zIcABO2YPo?dOuqFe~}Tm8;>oBK$q`6JJCiI2uzMpo4k%Jb8a$Ze) zRAV`X_t5phJ&Is^;UIDQjB*x1OKP^OHzXqQiv@$oQL+ZZk-{4evI>h0MTKalu|mq( z0TEx`#0q0JE2Q-t?kU`3x>YQb*fdi2;;}-=sW!%V5`!DG2->MNiF;z`7o`j$Pk+;W z{bOnM6Ml#?eVQp8esB2F3J1V_1OM-fs$VgH;X46v{vp6qcm!|;*aA%9y(7H;NrD$K z0}k!nxPiL~Fzm!##xO!$8Fa-BS2IKCiE}U?)c=6KW<>-N!!2eN0P^GfiRS3Z99C0 zSdm%Ry>G}!e%DDbfSD~fV1SW$S@p2ZHuWlpMPu%am{vSAHIGFVO(@ttrCX=aDDpGU z3)CfCcMJ4N@u`G_yGE%_w(+-EJc=&J(5M^U3~6>TJ(Mwq#thd}e@2~^j2_dmF=ZlI~rJjF(}iEmuAiGeeExAa80`^G&l}pk3-UkVE4JX5rGdkD z0^djgGC$#Sv9_>)xNv>%zOVg$;VAeWN0PsAbOBhyC$j~7THi$VUuQhOA**`-JvV0X zuHr>V&(qh~{8Czt=uciR`3IghSe1+^sC;7GC%Nz%O~ghZcCIv@jWQDL+??0l52htM zVC=7?K!%0ed``hPN*A)4q@iOoW>cY3Ic>dFw7Q|>lvy6ZK^GynR}q+4udhg2M3fdz z>bkBauLTa*A|oSh^e?0ePEA}x_)6(XMT=1KX+^RoFCw}> z>?nLD=cO+Pp86{=ACgD{>g_UAoPCwE0t}s5=68>HCN`L8V1~7Fjm_?_axTajuget% zE%z>PMf{~$+{i&Y>Q+s6;Fu`ErxhMNhyE+KnmIaK+(g!# zn1LJpGH_S1>G`VHr$A*wIVI1`%`jy}f@gK4UMYGVl9gCb7SmNngLS~N2c7BDLsgBd zre*pEC=x8TtgrJ)86O8G^zjq=EELD;E6c1X988eCT}MDP{5bhA7aUYhMFn+T$_|i< zHkY9_kblb45Kuwmmg%85Vxm5$SLV@C;rbJ4)vnU5Q3t_})(a6Y zLrF2L5~jYRDtxIe&2Sm_r4g8C0U4o(O5zl~QqOCzRK_-ZoJ~sauz`C<#pI?hacIze z4I+8&_kGy*t=AoC$S{nZXFT(cv*-jbcuvUsP@8)X*L^I3q3t8TRrzLnb}R&U;}6{f z0g(gnL;1LI_1|LgP08}B{Tu06UFFXK{+2j@8Areo{7vxuVfddlzh8z`aM=G=0RMjN z-=fwpYg~9L{?8KE-{btP{QMe+59Rwff9pU$2e?TAHxB%>4*X>f09a!E#@v6Z!oRKm ztRH^2w!``U`d`(=-==@&p5IMv;dAD%O!T+$pONo(V^;VlgMWYEm ejnhu>+kgK#Yt>ayP;VZ=fd6hXCL7Vs+5Z6xQVBi) literal 0 HcmV?d00001