firma:compas:compass
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
firma:compas:compass [2025/10/17 09:43] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | firma:compas:compass [2025/10/17 11:55] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden 47.128.31.176 | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | =====Compass===== | ||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ====DEX==== | ||
+ | |||
+ | Ablage Ort fürs DEX Log : | ||
+ | |||
+ | C: | ||
+ | |||
+ | ----- | ||
+ | |||
+ | Filelinkname mit Pad belegen | ||
+ | |||
+ | < | ||
+ | ___Selection ( enumerate __MARK__ ___XdwCmd " | ||
+ | |||
+ | ___read() #DOCNAME0 | ||
+ | </ | ||
+ | |||
+ | Seletierte Daten ins DEX | ||
+ | |||
+ | ---- | ||
+ | |||
+ | < | ||
+ | ___Selection ( enumerate __MARK__ ___XdwCmd " | ||
+ | |||
+ | |||
+ | CREATE TABLE [dbo].[PSP2VLT]( | ||
+ | [AIMKEY] [numeric](17, | ||
+ | [ID] [numeric](18, | ||
+ | ) ON [PRIMARY] | ||
+ | GO | ||
+ | |||
+ | |||
+ | SELECT * FROM VIEW_ALL_DOCUMENT WHERE AIMKEY IN ( SELECT AIMKEY FROM PSP2VLT ) | ||
+ | SELECT * FROM VIEW_ALL_PROJECT WHERE AIMKEY IN ( SELECT AIMKEY FROM PSP2VLT ) | ||
+ | |||
+ | |||
+ | DELETE FROM PSP2VLT | ||
+ | WHERE ID NOT IN | ||
+ | (SELECT min(ID) | ||
+ | FROM PSP2VLTxx Tab1 | ||
+ | GROUP BY AIMKEY) | ||
+ | |||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | =====COMPASS JObserver ===== | ||
+ | |||
+ | ====Allgemeines==== | ||
+ | |||
+ | Der Compass Jobserver stellt für die Bearbeitung von Inventor Dateien nur rudimentäre Funktionen zur Verfügung. | ||
+ | Mit dem Tools INVEXP.EXE werden diese etwas erweitert. | ||
+ | Damit ist eine wesentlich bessere Kontrolle der Konvertierung / Druck Vorgänge möglich. | ||
+ | |||
+ | Die aktuelle Version unterstützt | ||
+ | |||
+ | Inventor 2012 - 2018 | ||
+ | AutoCAD 2012 - 2016 | ||
+ | .Net Version : 4.0 | ||
+ | |||
+ | Der aktuelle Stand ist 4.7.40.1134 | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Parameter==== | ||
+ | |||
+ | INVEXP.EXE ist eine Kommandozeilen Applikation, | ||
+ | |||
+ | Die Parameter sind: | ||
+ | Befehl <- Was soll gemacht werden | ||
+ | Eingabe Datei <- Quell Datei | ||
+ | Ausgabe Datei ( wenn Notwendig ) | ||
+ | Parameter Datei ( wenn Notwendig ) | ||
+ | |||
+ | Zur Übergabe stehen zwei Verfahren zur Verfügung : | ||
+ | |||
+ | Jeder Parameter einzeln | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.stp | ||
+ | Invexp PARAMETER | ||
+ | Invexp STP | ||
+ | </ | ||
+ | |||
+ | Alle Parameter gleichzeitig | ||
+ | |||
+ | InvExp MODUS QUELLE ZIEL INI | ||
+ | |||
+ | z.b. | ||
+ | |||
+ | Invexp STP xzy.ipt xzy.stp stp.ini | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Einstellungen==== | ||
+ | |||
+ | Die Einstellung erfolgen in der Datei **InvExp.exe.config** | ||
+ | Hierbei handelt es sich im eine XML Datei. | ||
+ | Bitte nur mit dem Notepad bearbeiten. | ||
+ | Bei Änderungen eine Sicherung der Ausgangsdatei anlegen ! | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Inventor==== | ||
+ | |||
+ | Gibt die Anzahl der Inventor Verwendungen an. | ||
+ | Nach x Benutzungen wird der Inventor beendet, aus dem Speicher entfernt und neu gestartet. | ||
+ | Defaultwert = 100, | ||
+ | 0 - Inventor läuft ständig ( nicht empfohlen ) | ||
+ | |||
+ | < | ||
+ | <setting name=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ====Log Datei ==== | ||
+ | |||
+ | Bei der INVEXE.EXE wird eine Logdatei erstellt, in der alle Bildschirmausgaben geschrieben werden. | ||
+ | z.b. **Log-10_01_2014.txt** \\ | ||
+ | Werte sind true / false | ||
+ | |||
+ | < | ||
+ | <setting name=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Debug===== | ||
+ | |||
+ | Im Debug Mode wird nach Ausführung eines Befehls auf ein **RETURN** des Anwenders gewartet. | ||
+ | Damit kann der Ablauf besser verfolgt werden. | ||
+ | |||
+ | Werte sind true / false | ||
+ | |||
+ | < | ||
+ | <setting name=" | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Beispiel Batchdatei===== | ||
+ | |||
+ | < | ||
+ | SET PRG=d: | ||
+ | SET DATA_IN=d: | ||
+ | SET DATA_OUT=d: | ||
+ | cls | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | =====Kommandos für die Ausführung===== | ||
+ | |||
+ | Es stehen die folgenden Befehle zur Verfügung : | ||
+ | |||
+ | ====PRT==== | ||
+ | |||
+ | drucken einer IDW | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp PARAMETER | ||
+ | Invexp PRT | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====PDF===== | ||
+ | |||
+ | Export einer PDF aus einer IDW. Die Parameter kommen aus der INI Datei | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.pdf | ||
+ | Invexp PARAMETER | ||
+ | Invexp PDF | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====DWG==== | ||
+ | |||
+ | Export einer DWG aus einer IDW. Die Parameter kommen aus der INI Datei | ||
+ | Exportiert eine IDW als DWG | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.dwg | ||
+ | Invexp PARAMETER | ||
+ | Invexp DWG | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====DXF==== | ||
+ | |||
+ | Export einer DXF aus einer IDW. Die Parameter kommen aus der INI Datei | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.dxf | ||
+ | Invexp PARAMETER | ||
+ | Invexp DXF | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | |||
+ | ====STP==== | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.stp / ...xzy.zip | ||
+ | Invexp PARAMETER | ||
+ | Invexp STP | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====STL==== | ||
+ | |||
+ | Export einer IPT oder IAM in STL Format. Empfehlung : immer nur IPTs ! | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.stl / ...xzy.zip | ||
+ | Invexp PARAMETER | ||
+ | Invexp STL | ||
+ | |||
+ | Die Parameter für den Export liegen in der myStl.ini | ||
+ | |||
+ | [STL] | ||
+ | ; ============================================ | ||
+ | ; 0 = Binär | ||
+ | OutputFileType=0 | ||
+ | ; 2 = INCH | ||
+ | ; 3 = FOOT | ||
+ | ; 4 = CENTIMETER | ||
+ | ; 5 = MILLIMETER | ||
+ | ; 6 = METER | ||
+ | ; 7 = MICRON | ||
+ | ExportUnits=5 | ||
+ | ; 0 = ONE FILE | ||
+ | ; 1 = ONE FILE PER PART INSTANCE | ||
+ | ExportFileStructure=0 | ||
+ | ; 0 = HIGH | ||
+ | ; 1 = MEDIUM | ||
+ | ; 2 = LOW | ||
+ | ; 3 = CUSTOM | ||
+ | Resolution=1 | ||
+ | ; Range 1 to 100. Value is used if Resolution is CUSTOM (3), otherwise value is ignored. | ||
+ | ; | ||
+ | ; Range 1 to 100. Value is used if Resolution is CUSTOM (3), otherwise value is ignored. | ||
+ | ; | ||
+ | ; Range 1 to 100. Value is used if Resolution is CUSTOM (3), otherwise value is ignored. | ||
+ | ; | ||
+ | ; Range 1 to 100. Value is used if Resolution is CUSTOM (3), otherwise value is ignored. | ||
+ | ; | ||
+ | ; nicht in der Hilfe .... | ||
+ | AllowMoveMeshNode=False | ||
+ | ExportColor = Wahr | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====IGS==== | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.igs / ...xzy.zip | ||
+ | Invexp PARAMETER | ||
+ | Invexp IGS | ||
+ | |||
+ | ---- | ||
+ | | ||
+ | ====DWF==== | ||
+ | |||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.dwf | ||
+ | Invexp PARAMETER | ||
+ | Invexp DWF | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====DWFX==== | ||
+ | |||
+ | Wie DWF | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====SAT==== | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xzy.sat / ...xzy.zip | ||
+ | Invexp PARAMETER | ||
+ | Invexp SAT | ||
+ | </ | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====JT==== | ||
+ | | ||
+ | ---- | ||
+ | |||
+ | ==== JPG==== | ||
+ | | ||
+ | ----- | ||
+ | |||
+ | ====BMP==== | ||
+ | | ||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ====PNG==== | ||
+ | | ||
+ | ---- | ||
+ | |||
+ | ====TIFF==== | ||
+ | | ||
+ | ---- | ||
+ | |||
+ | ====XLS==== | ||
+ | |||
+ | |||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ====CSV==== | ||
+ | | ||
+ | | ||
+ | ---- | ||
+ | |||
+ | |||
+ | ====ERSATZ==== | ||
+ | |||
+ | Erzeugen eines Ersatzmodels | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp DESTINATION ...xyz.ipt | ||
+ | Invexp PARAMETER | ||
+ | Invexp ERSATZ | ||
+ | </ | ||
+ | |||
+ | Aufbau der INI Datei | ||
+ | |||
+ | [ERSATZ] | ||
+ | ; Steuerdatei für die erstellung eines Ersatzmodells | ||
+ | ; Stand 28.08.2012 | ||
+ | ; ============================================ | ||
+ | ; IncludeAllSketches | ||
+ | ; Method that includes all sketches from the source assembly. | ||
+ | ; This includes top level sketches in the source assembly as well as sketches in sub-assemblies and parts. | ||
+ | IncludeAllSketches=False | ||
+ | ; ============================================ | ||
+ | ; DeriveStyle | ||
+ | ; kDeriveAsMultipleBodies | ||
+ | ; kDeriveAsSingleBodyNoSeams | ||
+ | ; kDeriveAsSingleBodyWithSeams = 80641 - as a single body with seams | ||
+ | ; kDeriveAsWorkSurface | ||
+ | DeriveStyle=kDeriveAsSingleBodyNoSeams | ||
+ | ; ============================================ | ||
+ | ; IncludeAllTopLeveliMateDefinitions | ||
+ | ; IncludeAllTopLevelWorkFeatures | ||
+ | ; IncludeAllTopLevelSketches | ||
+ | ; IncludeAllTopLevelParameters | ||
+ | ; | ||
+ | ; kDerivedBoundingBox = 27141 - the bounding box of the component will be used for the derivation | ||
+ | ; die Bounding Box der Komponente wird für die Ableitung verwendet | ||
+ | ; | ||
+ | ; kDerivedExcludeAll = 27138 | ||
+ | ; alle Vorkommen in der Baugruppe werden ignoriert | ||
+ | ; | ||
+ | ; kDerivedIncludeAll = 27137 | ||
+ | ; add material to the solid body | ||
+ | ; alle Vorkommen in der Baugruppe werden verwendet | ||
+ | ; und wird zum Material des Festkörpers hinzufügen | ||
+ | ; | ||
+ | ; kDerivedIndividualDefined = 27140 - the suboccurrences define their behavior | ||
+ | ; die sub Vorkommen definieren ihr Verhalten | ||
+ | ; | ||
+ | ; kDerivedIntersect = 27142 - the intersection of the component will be used for the derivation | ||
+ | ; | ||
+ | ; | ||
+ | ; kDerivedSubtractAll = 27139 - all occurrences in the assembly will be used and will | ||
+ | ; | ||
+ | ; | ||
+ | IncludeAllTopLeveliMateDefinitions=kDerivedIndividualDefined | ||
+ | IncludeAllTopLevelWorkFeatures=kDerivedIncludeAll | ||
+ | IncludeAllTopLevelSketches=kDerivedIncludeAll | ||
+ | IncludeAllTopLevelParameters=kDerivedExcludeAll | ||
+ | ; ============================================ | ||
+ | ; ReducedMemoryMode | ||
+ | ; Beim Erstellen eines Bauteils weniger Speicher verbraucht, | ||
+ | ; indem Quellkörper aus dem Cache ausgeschlossen werden. Es werden | ||
+ | ; keine Quellkörper im Browser angezeigt. Beim Auflösen oder Unterdrücken | ||
+ | ; der Verknüpfung entfallen die Speichereinsparungen. | ||
+ | ReducedMemoryMode=True | ||
+ | ; ============================================ | ||
+ | ; SetHolePatchingOptions | ||
+ | ; kDerivedPatchAll = 88322 - all holes will be patched | ||
+ | ; kDerivedPatchNone = 88321 - no holes will be patched | ||
+ | ; kDerivedPatchRange = 88323 - holes within specified range will be patched ( Wird nicht unterstützt ) | ||
+ | SetHolePatchingOptions=kDerivedPatchAll | ||
+ | ; ============================================ | ||
+ | ; SetHolePatchingOptions | ||
+ | ; kDerivedRemoveNone = 88577 - no geometry will be removed | ||
+ | ; kDerivedRemovePartsAndFaces = 88579 - invisible parts and faces will be removed | ||
+ | ; kDerivedRemovePartsOnly = 88578 - whole invisible parts will be removed only | ||
+ | ; | ||
+ | ; Zahlenwert fest auf 25 | ||
+ | ; Call oDerivedAssemblyDef. | ||
+ | ; | ||
+ | ; | ||
+ | SetRemoveByVisibilityOptions=kDerivedRemovePartsAndFaces | ||
+ | |||
+ | | ||
+ | | ||
+ | ----- | ||
+ | |||
+ | |||
+ | ====ERSUPD==== | ||
+ | |||
+ | Update eines Ersatzmodels | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp ERSUPD | ||
+ | </ | ||
+ | | ||
+ | | ||
+ | | ||
+ | ----- | ||
+ | |||
+ | |||
+ | ====MIG==== | ||
+ | |||
+ | Die angegeben Datei wird migriert, wenn notwendig ( needsmigration = true ) | ||
+ | |||
+ | Ein ev. vorhandener Schreibschutz wird für die Migration entfernt und im Anschluss wieder gesetzt | ||
+ | |||
+ | < | ||
+ | Invexp SOURCE | ||
+ | Invexp MIG | ||
+ | </ | ||
+ | | ||
+ | ----- | ||
+ | |||
+ | ====Kundenspezifische Befehl==== | ||
+ | |||
+ | Mit dem Befehl DLL wird die INVEXP.EXE um Kundenspezifische Befehle erweitert. | ||
+ | |||
+ | Replikator | ||
+ | |||
+ | ----- | ||
+ | |||
+ | =====Compass Replikator===== | ||
+ | |||
+ | ==== START.CMD ==== | ||
+ | |||
+ | NET STOP "SQL Server-Agent (MSSQLSERVER)" | ||
+ | PING 127.0.0.1 > NUL | ||
+ | REM | ||
+ | NET START "SQL Server-Agent (MSSQLSERVER)" | ||
+ | PING 127.0.0.1 > NUL | ||
+ | REM | ||
+ | NET START " | ||
+ | PING 127.0.0.1 > NUL | ||
+ | |||
+ | ==== STOP.CMD ==== | ||
+ | |||
+ | NET STOP " | ||
+ | REM | ||
+ | PING 127.0.0.1 > NUL | ||
+ | PING 127.0.0.1 > NUL | ||
+ | PING 127.0.0.1 > NUL | ||
+ | REM | ||
+ | KILL /IM /F COMPASS.EXE | ||
+ | REM | ||
+ | PING 127.0.0.1 > NUL | ||
+ | REM | ||
+ | NET STOP "SQL Server-Agent (MSSQLSERVER)" | ||
+ | REM | ||
+ | PING 127.0.0.1 > NUL | ||
+ | PING 127.0.0.1 > NUL | ||
+ | |||
+ | |||
+ | ====== RESTART.CMD ====== | ||
+ | |||
+ | REM ###### | ||
+ | REM | ||
+ | REM Alles Stoppen | ||
+ | REM | ||
+ | REM ###### | ||
+ | REM | ||
+ | cd \ | ||
+ | REM | ||
+ | NET STOP " | ||
+ | PING 127.0.0.1 | ||
+ | REM | ||
+ | NET STOP "SQL Server-Agent (MSSQLSERVER)" | ||
+ | PING 127.0.0.1 | ||
+ | REM | ||
+ | KILL /IM /F COMPASS.EXE | ||
+ | REM | ||
+ | REM ###### | ||
+ | REM | ||
+ | REM repl Logs Speichern | ||
+ | REM | ||
+ | REM ###### | ||
+ | REM | ||
+ | DEL " | ||
+ | DEL " | ||
+ | DEL " | ||
+ | REM | ||
+ | REM ###### | ||
+ | REM | ||
+ | REM Alles wieder speichern | ||
+ | REM | ||
+ | REM ###### | ||
+ | REM | ||
+ | NET START "SQL Server-Agent (MSSQLSERVER)" | ||
+ | PING 127.0.0.1 | ||
+ | REM | ||
+ | NET START " | ||
+ | PING 127.0.0.1 | ||
+ | PING 127.0.0.1 | ||
+ | PING 127.0.0.1 | ||
+ | |||
+ | ------ | ||
+ | |||
+ | |||
+ | =====Compass SQL - Scripte===== | ||
+ | |||
+ | Anbei eine Auflistung nützlicher SQL Scripte im Compass Umfeld. | ||
+ | Die Scripte sind als Beispiel anzusehen ! | ||
+ | Der Einsatz erfolgt aus eigenen Gefahr !! | ||
+ | |||
+ | |||
+ | ====Papierkorb löschen==== | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | select ENTITY_TYPE, | ||
+ | where DELETE_DATE is not null | ||
+ | group by ENTITY_TYPE | ||
+ | -- | ||
+ | -- | ||
+ | -- purge all deleted document | ||
+ | -- | ||
+ | delete from HISTORY_DOCUMENT | ||
+ | where PARENT_AIMKEY in | ||
+ | | ||
+ | where DELETE_DATE is not null | ||
+ | and ENTITY_TYPE in (' | ||
+ | GO | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | delete from XREF_ELEMENT | ||
+ | where PARENT_AIMKEY in | ||
+ | (select AIMKEY from ELEMENT | ||
+ | where DELETE_DATE is not null | ||
+ | and ENTITY_TYPE in (' | ||
+ | GO | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | delete from XREF_ELEMENT | ||
+ | where CHILD_AIMKEY in | ||
+ | | ||
+ | where DELETE_DATE is not null | ||
+ | and ENTITY_TYPE in (' | ||
+ | GO | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | delete from DOCUMENT | ||
+ | where AIMKEY in | ||
+ | | ||
+ | where DELETE_DATE is not null | ||
+ | and ENTITY_TYPE in (' | ||
+ | GO | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | delete from ELEMENT | ||
+ | where DELETE_DATE is not null | ||
+ | and ENTITY_TYPE in (' | ||
+ | |||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Finden doppelter Datensätze: | ||
+ | |||
+ | < | ||
+ | |||
+ | select ident, | ||
+ | group by ident, | ||
+ | having count(*)> | ||
+ | </ | ||
+ | |||
+ | ------ | ||
+ | |||
+ | |||
+ | |||
+ | ==== ????==== | ||
+ | |||
+ | SQL Script | ||
+ | |||
+ | < | ||
+ | |||
+ | select * from VIEW_DOCUMENT_ENGINEERING d | ||
+ | where PART_NUMBER like ' | ||
+ | and FILE_TYPE=' | ||
+ | and FILE_UTC> | ||
+ | and CUSTOM_1_SHORT like ' | ||
+ | and d.CUSTOM_1_SHORT in (select CUSTOM_1_SHORT from VIEW_DOCUMENT_ENGINEERING group by CUSTOM_1_SHORT having count(*) >1) | ||
+ | order by d.CUSTOM_1_SHORT | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== ????==== | ||
+ | |||
+ | |||
+ | select count(*) from (select count(*) num from part group by ident) | ||
+ | where num > 1 | ||
+ | |||
+ | --- | ||
+ | |||
+ | |||
+ | ==== ????==== | ||
+ | |||
+ | |||
+ | < | ||
+ | select sum(num-1) from (select count(*) num from part group by ident) where num > 1 | ||
+ | </ | ||
+ | |||
+ | --- | ||
+ | |||
+ | |||
+ | ====alles übertragen von ALT nach NEU (gleiche Struktur)==== | ||
+ | |||
+ | < | ||
+ | INSERT into NEU select * from ALT | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ==== ???? ==== | ||
+ | |||
+ | </ | ||
+ | exec sp_changeobjectowner ' | ||
+ | exec sp_changeobjectowner ' | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ====Finden aller (mehrfachen) IDENT mit REVISION = 1 oder 01==== | ||
+ | |||
+ | < | ||
+ | |||
+ | SELECT * FROM | ||
+ | DOCUMENT | ||
+ | WHERE | ||
+ | IDENT IN ( | ||
+ | SELECT d.IDENT | ||
+ | FROM DOCUMENT d | ||
+ | WHERE ISNUMERIC(d.REVISION)=1 | ||
+ | AND IDENT IN ( | ||
+ | SELECT IDENT | ||
+ | FROM DOCUMENT | ||
+ | GROUP BY IDENT | ||
+ | HAVING COUNT(1)> | ||
+ | ) | ||
+ | GROUP BY IDENT, CAST(d.REVISION AS NUMERIC) | ||
+ | HAVING count(1)> | ||
+ | ) | ||
+ | |||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | ==== Liste aller Komponenten die in einer Baugruppe verbaut sind mit Statuskey00003: | ||
+ | |||
+ | < | ||
+ | |||
+ | select * from VIEW_DOCUMENT_ENGINEERING where STATUSKEY<>' | ||
+ | |||
+ | select PART_NUMBER, | ||
+ | from VIEW_DOCUMENT_ENGINEERING | ||
+ | where STATUSKEY<>' | ||
+ | from VIEW_XREF_PARENT_DOCUMENT | ||
+ | where X_RELATIONSHIP_ID=' | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ====Alles was NULL (Leer) Ist aus der REVISION Aufliste==== | ||
+ | |||
+ | < | ||
+ | | ||
+ | WHERE REVISION IS NULL | ||
+ | ORDER BY REVISION | ||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ==== Und auf Startwert 00 setzen ==== | ||
+ | |||
+ | < | ||
+ | | ||
+ | SET REVISION = ' | ||
+ | WHERE REVISION IS NULL | ||
+ | </ | ||
+ | |||
+ | ------ | ||
+ | |||
+ | |||
+ | ==== Datenbak reparieren ==== | ||
+ | |||
+ | Folgenden Script ermitteln Sie die fehlerverdächtige Datenbank(en) auf dem Server: | ||
+ | |||
+ | SELECT DBName=NAME, | ||
+ | FROM master.sys.databases | ||
+ | WHERE state_desc=' | ||
+ | |||
+ | Im nächsten Schritt setzen Sie bringen Sie die Datenbank in den Notfallmodus, | ||
+ | Zugriff auf EInzelbenutzermodus und führen ein Prüfung der Datenbank durch: | ||
+ | |||
+ | |||
+ | USE master; | ||
+ | GO | ||
+ | | ||
+ | ALTER DATABASE [DATABASENAME] SET EMERGENCY | ||
+ | GO | ||
+ | | ||
+ | ALTER DATABASE [DATABASENAME] SET SINGLE_USER | ||
+ | GO | ||
+ | | ||
+ | DBCC CHECKDB ([DATABASENAME], | ||
+ | GO | ||
+ | |||
+ | Anschließend wird nochmals eine Prüfung der Datenbank durchgeführt: | ||
+ | |||
+ | |||
+ | USE [DATABASENAME] | ||
+ | GO | ||
+ | | ||
+ | DBCC CHECKDB WITH NO_INFOMSGS; | ||
+ | GO | ||
+ | |||
+ | Wenn diese letzte Prüfung fehlerfrei ausgeführt wurde, befindet sich die Datenbank immer | ||
+ | noch im Einzelbenutzermodus. Die Modus Umschaltung auf den Mehrfachbenutzermodus wird mit | ||
+ | folgendem Script durchgeführt: | ||
+ | |||
+ | |||
+ | USE master; | ||
+ | GO | ||
+ | | ||
+ | ALTER DATABASE [DATABASENAME] SET MULTI_USER | ||
+ | GO | ||
+ | |||
+ | --- | ||
+ | |||
+ | |||
+ | ==== ????==== | ||
+ | |||
+ | < | ||
+ | update ELEMENT set ENTITY_TYPE=' | ||
+ | select AIMKEY from DOCUMENT where upper(FILE_LINKNAME) like ' | ||
+ | update DOCUMENT set FILE_LINKNAME = replace(upper(FILE_LINKNAME),' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ----- | ||
+ | |||
+ | |||
+ | |||
+ | ====CheckCompass==== | ||
+ | |||
+ | Check aller Tabellen gegen die ELEMENT | ||
+ | |||
+ | Für alle Tabellen ( DOCUMENT / PART /.... ) muss es einen Eintrag auf in der ELEMENT geben | ||
+ | oder | ||
+ | Für alle Einträge in ELEMENT mit AIM.XXX.* muß es einen Eintrag in der entsprechenden Tabelle geben | ||
+ | Die gelistet Einträge müssen aus der ELEMENT, XREF_ELEMENT, | ||
+ | |||
+ | Wenn Replikator auch REPL prüfen !! | ||
+ | |||
+ | < | ||
+ | -- (c) CAD Team Handzik | ||
+ | -- | ||
+ | -- COMPASS Integritäs Check | ||
+ | -- | ||
+ | -- V 0.9 Stand 13.02.2008 Hz - Start Version | ||
+ | -- V 0.91 Stand 22.02.2008 Hz - Prüfen, was in der DOCUEMNT und nicht in der ELELEMT | ||
+ | -- | ||
+ | -- Name der Kundeumgebung | ||
+ | -- | ||
+ | |||
+ | USE compass_pro_cth | ||
+ | -- | ||
+ | -- Check aller Tabellen gegen die ELEMENT | ||
+ | -- | ||
+ | -- Für alle Tabellen ( DOCUMENT / PART /.... ) muss es einen Eintrag auf in der ELEMENT geben | ||
+ | -- oder | ||
+ | -- Für alle Einträge in ELEMENT mit AIM.XXX.* muß es einen Eintrag in der entsfile___chenden Tabelle geben | ||
+ | -- | ||
+ | -- Die gelistet Einträge müssen aus der ELEMENT | ||
+ | -- XREF_ELEMENT | ||
+ | -- DOCUMENT | ||
+ | -- HISTORY_DOCUMENT raus ( AIM_SAVE Error ) | ||
+ | -- Wenn Replikator auch REPL prüfen !! | ||
+ | -- | ||
+ | -- | ||
+ | DECLARE @DEL AS INTEGER | ||
+ | DECLARE @REPL AS INTEGER | ||
+ | |||
+ | SET @REPL = 0 | ||
+ | -------------------ACHTUNG | ||
+ | SET @DEL = 0 --- ACHTUNG Bei 1 wird gelöscht | ||
+ | -------------------ACHTUNG | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY, T.AIMKEY FROM ELEMENT AS E RIGHT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.AIMKEY IS NULL | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM XREF_ELEMENT WHERE PARENT_AIMKEY | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE PARENT_AIMKEY | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT CHILD_AIMKEY FROM XREF_ELEMENT | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM HISTORY_DOCUMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM HISTORY_DOCUMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | IF @REPL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | SELECT AIMKEY FROM REPL_DOCUMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT AIMKEY FROM REPLICATORQ WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT '' | ||
+ | END | ||
+ | |||
+ | |||
+ | |||
+ | -- Zuletzt alles aus der ELEMENT raus | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | DELETE FROM ELEMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | |||
+ | PRINT ' | ||
+ | DELETE FROM DOCUMENT WHERE AIMKEY IN ( SELECT T.AIMKEY FROM ELEMENT AS E RIGHT OUTER JOIN DOCUMENT AS T ON E.AIMKEY = T.AIMKEY WHERE E.AIMKEY IS NULL ) | ||
+ | |||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN ADDRESS AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN ADDRESS AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN ADDRESS AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT CHILD_AIMKEY FROM XREF_ELEMENT WHERE CHILD_AIMKEY | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | -- Zuletzt alles aus der ELEMENT raus | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | DELETE FROM ELEMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN ADDRESS AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN CONTACT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN CONTACT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN CONTACT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT CHILD_AIMKEY FROM XREF_ELEMENT | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE CHILD_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN CONTACT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | -- Zuletzt alles aus der ELEMENT raus | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | DELETE FROM ELEMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN CONTACT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT CHILD_AIMKEY FROM XREF_ELEMENT | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE CHILD_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM HISTORY_PART WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM HISTORY_PART WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | -- Zuletzt alles aus der ELEMENT raus | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | DELETE FROM ELEMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PART AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | |||
+ | |||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PROJECT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT PARENT_AIMKEY FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PROJECT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE PARENT_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PROJECT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT ' | ||
+ | SELECT CHILD_AIMKEY FROM XREF_ELEMENT | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | DELETE FROM XREF_ELEMENT WHERE CHILD_AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PROJECT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | </ | ||
+ | < | ||
+ | |||
+ | -- Zuletzt alles aus der ELEMENT raus | ||
+ | IF @DEL = 1 | ||
+ | BEGIN | ||
+ | PRINT ' | ||
+ | DELETE FROM ELEMENT WHERE AIMKEY IN ( SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN PROJECT AS T ON E.AIMKEY = T.AIMKEY WHERE E.ENTITY_TYPE LIKE ' | ||
+ | END | ||
+ | PRINT ''; | ||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | -- | ||
+ | -- | ||
+ | --############################################################################################# | ||
+ | --############################################################################################# | ||
+ | -- | ||
+ | -- Hier ist der Ausgangswert REVISION wichtig | ||
+ | -- Im Standard ist der Wert leer | ||
+ | -- | ||
+ | PRINT ' | ||
+ | SELECT E.AIMKEY FROM ELEMENT AS E LEFT OUTER JOIN HISTORY_DOCUMENT AS T ON E.AIMKEY = T.PARENT_AIMKEY | ||
+ | PRINT ''; | ||
+ | |||
+ | PRINT '#######################################################################################################################################################################################' | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ====Tabelle erweitern==== | ||
+ | |||
+ | < | ||
+ | |||
+ | -- Tabelle DOCUMENT | ||
+ | BEGIN TRANSACTION | ||
+ | ALTER TABLE dbo.DOCUMENT ADD | ||
+ | TEMPKOMNR | ||
+ | TEMPGETRTYP | ||
+ | |||
+ | |||
+ | GO | ||
+ | COMMIT | ||
+ | GO | ||
+ | |||
+ | |||
+ | -- Erweiterung der Sichten | ||
+ | IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID(' | ||
+ | CREATE TABLE #tmpErrors (ERROR INT, MODULE VARCHAR(30), | ||
+ | SET XACT_ABORT ON | ||
+ | IF EXISTS (SELECT * FROM sysobjects WHERE id=object_id(' | ||
+ | BEGIN | ||
+ | IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID(' | ||
+ | ELSE | ||
+ | CREATE TABLE # | ||
+ | INSERT INTO # | ||
+ | INSERT INTO # | ||
+ | |||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | | ||
+ | END | ||
+ | GO | ||
+ | |||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Abgleich IDW in DOCUMENT===== | ||
+ | |||
+ | |||
+ | < | ||
+ | USE [compass_pro] | ||
+ | GO | ||
+ | /****** Objekt: | ||
+ | SET ANSI_NULLS ON | ||
+ | GO | ||
+ | SET QUOTED_IDENTIFIER ON | ||
+ | GO | ||
+ | -- ============================================= | ||
+ | -- Author: | ||
+ | -- Create date: 14.08.2007 | ||
+ | -- Description: | ||
+ | -- ============================================= | ||
+ | |||
+ | ALTER TRIGGER [dbo].[CTH_UpdateDocumentIdw] ON [dbo].[DOCUMENT] FOR UPDATE NOT FOR REPLICATION | ||
+ | |||
+ | AS | ||
+ | |||
+ | BEGIN | ||
+ | |||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | |||
+ | -- Alles über den AIMKEY | ||
+ | DECLARE @newAIMKEY | ||
+ | -- Ist das Doument eine IDW | ||
+ | DECLARE @newIDW | ||
+ | |||
+ | -- Abzugleichenden WERTE Start | ||
+ | DECLARE @newCPR_ZEICHNR | ||
+ | DECLARE @newCPR_ARTIKEL | ||
+ | DECLARE @newCPR_ANLAGE | ||
+ | DECLARE @newCPR_AUFTRAG | ||
+ | DECLARE @newCPR_VTEIL | ||
+ | DECLARE @newCPR_ERS_DURCH nvarchar(255) | ||
+ | DECLARE @newMATERIAL | ||
+ | DECLARE @newCPR_CFELD_11 | ||
+ | DECLARE @newCPR_LOGOCAD | ||
+ | DECLARE @newCPR_FARBE | ||
+ | DECLARE @newCPR_FTEIL | ||
+ | DECLARE @newCPR_ERS_FUER | ||
+ | DECLARE @newCPR_MSTAB | ||
+ | DECLARE @newCPR_TOLERANZ | ||
+ | |||
+ | -- Die Englische Einträge | ||
+ | DECLARE @newCPR_SHORT_ENU nvarchar(255) | ||
+ | DECLARE @newCPR_LONG_ENU | ||
+ | DECLARE @newCPR_MAT_ENU | ||
+ | DECLARE @newCPR_STICH_ENU nvarchar(255) | ||
+ | DECLARE @newCPR_FARBE_ENU nvarchar(255) | ||
+ | DECLARE @newCPR_CFELD_19 | ||
+ | |||
+ | -- Abzugleichenden WERTE Start | ||
+ | |||
+ | SELECT @newAIMKEY | ||
+ | |||
+ | SELECT @newCPR_ZEICHNR | ||
+ | SELECT @newCPR_ARTIKEL | ||
+ | SELECT @newCPR_ANLAGE | ||
+ | SELECT @newCPR_AUFTRAG | ||
+ | SELECT @newCPR_VTEIL | ||
+ | SELECT @newCPR_ERS_DURCH = CPR_ERS_DURCH FROM Inserted | ||
+ | SELECT @newMATERIAL | ||
+ | SELECT @newCPR_CFELD_11 | ||
+ | SELECT @newCPR_LOGOCAD | ||
+ | SELECT @newCPR_FARBE | ||
+ | SELECT @newCPR_FTEIL | ||
+ | SELECT @newCPR_ERS_FUER | ||
+ | SELECT @newCPR_MSTAB | ||
+ | SELECT @newCPR_TOLERANZ | ||
+ | |||
+ | -- Die Englische Einträge | ||
+ | SELECT @newCPR_SHORT_ENU = CPR_SHORT_ENU FROM Inserted | ||
+ | SELECT @newCPR_LONG_ENU | ||
+ | SELECT @newCPR_MAT_ENU | ||
+ | SELECT @newCPR_STICH_ENU = CPR_STICH_ENU FROM Inserted | ||
+ | SELECT @newCPR_FARBE_ENU = CPR_FARBE_ENU FROM Inserted | ||
+ | SELECT @newCPR_CFELD_19 | ||
+ | | ||
+ | IF @newAIMKEY | ||
+ | IF @newCPR_ZEICHNR | ||
+ | IF @newCPR_ARTIKEL | ||
+ | IF @newCPR_ANLAGE | ||
+ | IF @newCPR_AUFTRAG | ||
+ | IF @newCPR_VTEIL | ||
+ | IF @newCPR_ERS_DURCH | ||
+ | IF @newMATERIAL | ||
+ | IF @newCPR_CFELD_11 | ||
+ | IF @newCPR_LOGOCAD | ||
+ | IF @newCPR_FARBE | ||
+ | IF @newCPR_FTEIL | ||
+ | IF @newCPR_ERS_FUER | ||
+ | IF @newCPR_MSTAB | ||
+ | IF @newCPR_TOLERANZ | ||
+ | |||
+ | -- Die Englische Einträge | ||
+ | IF @newCPR_SHORT_ENU | ||
+ | IF @newCPR_LONG_ENU | ||
+ | IF @newCPR_MAT_ENU | ||
+ | IF @newCPR_STICH_ENU | ||
+ | IF @newCPR_FARBE_ENU | ||
+ | IF @newCPR_CFELD_19 | ||
+ | |||
+ | --- | ||
+ | --- AIMKEY ermittelt, - In XREF_ELEMENT Child(er) Suchen | ||
+ | --- | ||
+ | |||
+ | declare @ChildAimKey | ||
+ | declare @ParentAimKey | ||
+ | |||
+ | DECLARE Document_Cursor CURSOR FOR | ||
+ | SELECT PARENT_AIMKEY, | ||
+ | FROM XREF_ELEMENT WHERE CHILD_AIMKEY = @newAIMKEY | ||
+ | |||
+ | OPEN Document_Cursor | ||
+ | |||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | |||
+ | WHILE @@FETCH_STATUS = 0 | ||
+ | |||
+ | BEGIN | ||
+ | -- Nachschauen ob IDW | ||
+ | SELECT @newIDW | ||
+ | |||
+ | IF upper(@newIDW) = ' | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | WHERE AIMKEY = @ChildAimKey | ||
+ | |||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | |||
+ | END | ||
+ | |||
+ | CLOSE Document_Cursor | ||
+ | DEALLOCATE Document_Cursor | ||
+ | |||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | |||
+ | INSERT dbo.cth_errorlog ( ERRORNUMBER, | ||
+ | ERRORSEVERITY, | ||
+ | ERRORSTATE, | ||
+ | ERRORPROCEDURE, | ||
+ | ERRORLINE, | ||
+ | ERRORMESSAGE | ||
+ | VALUES | ||
+ | CAST ( Error_SEVERITY() as VARCHAR(2)) , | ||
+ | CAST ( Error_STATE() | ||
+ | Error_PROCEDURE(), | ||
+ | CAST ( Error_LINE() | ||
+ | Error_MESSAGE() ); | ||
+ | END CATCH | ||
+ | |||
+ | END | ||
+ | |||
+ | --USE [compass_pro] | ||
+ | --GO | ||
+ | --/****** Objekt: | ||
+ | --SET ANSI_NULLS ON | ||
+ | --GO | ||
+ | --SET QUOTED_IDENTIFIER ON | ||
+ | --GO | ||
+ | --CREATE TABLE [dbo].[cth_errorlog]( | ||
+ | -- [ERRORNUMBER] [nvarchar](50) NULL, | ||
+ | -- [ERRORSEVERITY] [nchar](10) NULL, | ||
+ | -- [ERRORSTATE] [nchar](10) NULL, | ||
+ | -- [ERRORPROCEDURE] [nchar](255) NULL, | ||
+ | -- [ERRORLINE] [nchar](10) NULL, | ||
+ | -- [ERRORMESSAGE] [nchar](255) NULL | ||
+ | --) ON [PRIMARY] | ||
+ | |||
+ | </ | ||
+ | |||
+ | ----- | ||
+ | |||
+ | ====Abgleich IDW in ELEMENT==== | ||
+ | |||
+ | |||
+ | < | ||
+ | USE [compass_pro] | ||
+ | GO | ||
+ | /****** Objekt: | ||
+ | SET ANSI_NULLS ON | ||
+ | GO | ||
+ | SET QUOTED_IDENTIFIER ON | ||
+ | GO | ||
+ | |||
+ | -- ============================================= | ||
+ | -- Author: | ||
+ | -- Create date: 14.08.2007 | ||
+ | -- Description: | ||
+ | -- ============================================= | ||
+ | |||
+ | ALTER TRIGGER [dbo].[CTH_UpdateElementIdw] ON [dbo].[ELEMENT] FOR UPDATE NOT FOR REPLICATION | ||
+ | |||
+ | AS | ||
+ | |||
+ | BEGIN | ||
+ | |||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | |||
+ | -- Alles über den AIMKEY | ||
+ | DECLARE @newAIMKEY | ||
+ | -- Ist das Doument eine IDW | ||
+ | DECLARE @newIDW | ||
+ | |||
+ | -- Abzugleichenden WERTE Start | ||
+ | DECLARE @newSHORT_DESC | ||
+ | DECLARE @newLONG_DESC | ||
+ | DECLARE @newCATEGORY | ||
+ | DECLARE @newCUSTOM_1_SHORT | ||
+ | -- Abzugleichenden WERTE Start | ||
+ | |||
+ | SELECT @newAIMKEY | ||
+ | |||
+ | SELECT @newSHORT_DESC | ||
+ | SELECT @newLONG_DESC | ||
+ | SELECT @newCATEGORY | ||
+ | SELECT @newCUSTOM_1_SHORT | ||
+ | | ||
+ | IF @newAIMKEY | ||
+ | IF @newSHORT_DESC | ||
+ | IF @newLONG_DESC | ||
+ | IF @newCATEGORY | ||
+ | IF @newCUSTOM_1_SHORT IS NULL | ||
+ | --- | ||
+ | --- AIMKEY ermittelt, - In XREF_ELEMENT Child(er) Suchen | ||
+ | --- | ||
+ | |||
+ | declare @ChildAimKey | ||
+ | declare @ParentAimKey | ||
+ | |||
+ | DECLARE Document_Cursor CURSOR FOR | ||
+ | SELECT PARENT_AIMKEY, | ||
+ | FROM XREF_ELEMENT WHERE CHILD_AIMKEY = @newAIMKEY | ||
+ | |||
+ | OPEN Document_Cursor | ||
+ | |||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | |||
+ | WHILE @@FETCH_STATUS = 0 | ||
+ | |||
+ | BEGIN | ||
+ | -- Nachschauen ob IDW | ||
+ | SELECT @newIDW | ||
+ | |||
+ | IF upper(@newIDW) = ' | ||
+ | | ||
+ | SHORT_DESC | ||
+ | LONG_DESC | ||
+ | CATEGORY | ||
+ | CUSTOM_1_SHORT = @newCUSTOM_1_SHORT | ||
+ | WHERE AIMKEY = @ChildAimKey | ||
+ | |||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | |||
+ | END | ||
+ | |||
+ | CLOSE Document_Cursor | ||
+ | DEALLOCATE Document_Cursor | ||
+ | |||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | |||
+ | INSERT dbo.cth_errorlog ( ERRORNUMBER, | ||
+ | ERRORSEVERITY, | ||
+ | ERRORSTATE, | ||
+ | ERRORPROCEDURE, | ||
+ | ERRORLINE, | ||
+ | ERRORMESSAGE | ||
+ | VALUES | ||
+ | CAST ( Error_SEVERITY() as VARCHAR(2)) , | ||
+ | CAST ( Error_STATE() | ||
+ | Error_PROCEDURE(), | ||
+ | CAST ( Error_LINE() | ||
+ | Error_MESSAGE() ); | ||
+ | END CATCH | ||
+ | |||
+ | END | ||
+ | |||
+ | --USE [compass_pro] | ||
+ | --GO | ||
+ | --/****** Objekt: | ||
+ | --SET ANSI_NULLS ON | ||
+ | --GO | ||
+ | --SET QUOTED_IDENTIFIER ON | ||
+ | --GO | ||
+ | --CREATE TABLE [dbo].[cth_errorlog]( | ||
+ | -- [ERRORNUMBER] [nvarchar](50) NULL, | ||
+ | -- [ERRORSEVERITY] [nchar](10) NULL, | ||
+ | -- [ERRORSTATE] [nchar](10) NULL, | ||
+ | -- [ERRORPROCEDURE] [nchar](255) NULL, | ||
+ | -- [ERRORLINE] [nchar](10) NULL, | ||
+ | -- [ERRORMESSAGE] [nchar](255) NULL | ||
+ | --) ON [PRIMARY] | ||
+ | |||
+ | </ | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | --- | ||
+ | |||
+ | ====Trigger Update Status | ||
+ | |||
+ | {{collapse(SQL Script ...) | ||
+ | |||
+ | < | ||
+ | USE [professional_easy] | ||
+ | GO | ||
+ | /****** Objekt: | ||
+ | SET ANSI_NULLS ON | ||
+ | GO | ||
+ | SET QUOTED_IDENTIFIER ON | ||
+ | GO | ||
+ | CREATE TRIGGER [dbo].[CTH_UpdateStatus] ON [dbo].[ELEMENT] FOR UPDATE NOT FOR REPLICATION | ||
+ | |||
+ | AS | ||
+ | |||
+ | DECLARE @oldStatus VARCHAR(5) | ||
+ | DECLARE @newStatus VARCHAR(5) | ||
+ | |||
+ | declare @keySec numeric (17,5) | ||
+ | declare @keyDoc numeric (17,5) | ||
+ | |||
+ | declare @IDENT Varchar(50) | ||
+ | declare @FILE Varchar(50) | ||
+ | |||
+ | declare @IDENT_SEC Varchar(50) | ||
+ | declare @FILE_SEC Varchar(50) | ||
+ | |||
+ | declare @CREATE_DATE datetime | ||
+ | declare @CREATE_USER varchar(30) | ||
+ | |||
+ | declare @CMP_ROOT | ||
+ | declare @MONAT | ||
+ | declare @JAHR | ||
+ | declare @DOCNAME | ||
+ | declare @DOCNAME_SEC | ||
+ | declare @ANZ varchar(3) | ||
+ | |||
+ | declare @OWNER varchar(255) | ||
+ | declare @OWNER_GROUP varchar(255) | ||
+ | |||
+ | declare @SHORT_DESC | ||
+ | |||
+ | |||
+ | BEGIN | ||
+ | |||
+ | -- Keinerlei Rückgabe von Resultsets | ||
+ | SET NOCOUNT ON | ||
+ | |||
+ | BEGIN TRY | ||
+ | | ||
+ | IF NOT UPDATE(STATUSKEY) | ||
+ | BEGIN | ||
+ | RETURN | ||
+ | END | ||
+ | ELSE | ||
+ | BEGIN | ||
+ | |||
+ | SELECT @oldStatus | ||
+ | SELECT @newStatus = (SELECT STATUSKEY FROM Inserted) | ||
+ | | ||
+ | |||
+ | IF @oldStatus IS NULL | ||
+ | IF @newStatus IS NULL | ||
+ | IF @KeyDoc IS NULL | ||
+ | -- | ||
+ | -- Status auf zum Prüfen | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | -- | ||
+ | -- Status auf zum Prüfen | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | -- | ||
+ | -- Status auf Freigegeben | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | -- | ||
+ | -- Status auf | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | -- | ||
+ | -- Status auf | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | | ||
+ | END | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | IF @newStatus = ' | ||
+ | BEGIN | ||
+ | |||
+ | UPDATE ELEMENT SET RIGHTS = 15375 WHERE AIMKEY = @KeyDoc | ||
+ | |||
+ | SELECT @CMP_ROOT | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | SELECT @OWNER | ||
+ | SELECT @OWNER_GROUP = (SELECT OWNER_GROUP FROM ELEMENT WHERE AIMKEY = @KeyDoc) | ||
+ | SELECT @CREATE_DATE | ||
+ | SELECT @CREATE_USER = (SELECT CREATE_USER FROM ELEMENT WHERE AIMKEY = @KeyDoc) | ||
+ | SELECT @SHORT_DESC | ||
+ | |||
+ | SELECT @JAHR = ( SUBSTRING | ||
+ | SELECT @MONAT | ||
+ | |||
+ | SELECT @FILE = (SELECT FILE_NAME | ||
+ | SELECT @IDENT | ||
+ | |||
+ | select @ANZ = (SELECT COUNT(*) FROM DOCUMENT WHERE FILE_NAME LIKE ' | ||
+ | |||
+ | SELECT @FILE_SEC | ||
+ | SELECT @IDENT_SEC | ||
+ | |||
+ | SELECT @DOCNAME | ||
+ | SELECT @DOCNAME_SEC | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | -- | ||
+ | -- 00004 - in Änderung | ||
+ | -- | ||
+ | |||
+ | exec aim_generate_aimkey @keySec OUTPUT | ||
+ | -- | ||
+ | -- Einfügen in Tabelle ELEMENT | ||
+ | -- | ||
+ | INSERT into ELEMENT | ||
+ | ( | ||
+ | AIMKEY, | ||
+ | ENTITY_TYPE, | ||
+ | STATUSKEY, | ||
+ | CREATE_DATE, | ||
+ | CREATE_USER, | ||
+ | CHANGE_DATE, | ||
+ | CHANGE_USER, | ||
+ | OWNER, | ||
+ | OWNER_GROUP, | ||
+ | RIGHTS, | ||
+ | SHORT_DESC | ||
+ | ) | ||
+ | VALUES | ||
+ | ( | ||
+ | @keySec, | ||
+ | ' | ||
+ | ' | ||
+ | @CREATE_DATE, | ||
+ | @CREATE_USER, | ||
+ | @CREATE_DATE, | ||
+ | @CREATE_USER, | ||
+ | @OWNER, | ||
+ | @OWNER_GROUP, | ||
+ | ' | ||
+ | @SHORT_DESC | ||
+ | ) | ||
+ | -- | ||
+ | -- Einfügen in Tabelle DOCUMENT | ||
+ | -- | ||
+ | INSERT into DOCUMENT | ||
+ | ( | ||
+ | AIMKEY, | ||
+ | IDENT, | ||
+ | FILE_NAME, | ||
+ | FILE_EXT, | ||
+ | FILE_TYPE | ||
+ | ) | ||
+ | VALUES | ||
+ | ( | ||
+ | @keySec, | ||
+ | @IDENT_SEC, | ||
+ | @FILE_SEC, | ||
+ | ' | ||
+ | ' | ||
+ | ) | ||
+ | -- | ||
+ | -- Verknüpfung erstellen | ||
+ | -- | ||
+ | INSERT into XREF_ELEMENT | ||
+ | ( | ||
+ | PARENT_AIMKEY, | ||
+ | CHILD_AIMKEY, | ||
+ | RELATIONSHIP_ID, | ||
+ | OWNER, | ||
+ | OWNER_GROUP | ||
+ | ) | ||
+ | VALUES | ||
+ | ( | ||
+ | @keyDoc, | ||
+ | @keySec, | ||
+ | ' | ||
+ | @CREATE_USER, | ||
+ | ' | ||
+ | ) | ||
+ | |||
+ | DECLARE @Mach | ||
+ | SELECT @MACH = 'copy ' + @DOCNAME + ' ' + @DOCNAME_SEC | ||
+ | |||
+ | EXEC xp_cmdshell @MACH ; | ||
+ | |||
+ | RETURN | ||
+ | END | ||
+ | END | ||
+ | |||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | ROLLBACK TRANSACTION | ||
+ | INSERT dbo.cth_errorlog ( ERRORNUMBER, | ||
+ | ERRORSEVERITY, | ||
+ | ERRORSTATE, | ||
+ | ERRORPROCEDURE, | ||
+ | ERRORLINE, | ||
+ | ERRORMESSAGE | ||
+ | VALUES | ||
+ | CAST ( Error_SEVERITY() as VARCHAR(2)) , | ||
+ | CAST ( Error_STATE() | ||
+ | Error_PROCEDURE(), | ||
+ | CAST ( Error_LINE() | ||
+ | Error_MESSAGE() ); | ||
+ | END CATCH | ||
+ | |||
+ | END | ||
+ | -- | ||
+ | --######################################################################## | ||
+ | -- | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | </ | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | --- | ||
+ | |||
+ | ====SET_FILE_SHARE_WITH | ||
+ | |||
+ | {{collapse(SQL Script ...) | ||
+ | |||
+ | < | ||
+ | UPDATE DOCUMENT set FILE_SHARE_WITH=DATEDIFF(s, | ||
+ | </ | ||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | --- | ||
+ | |||
+ | ====InsertDocumentsIntoAllLocations | ||
+ | |||
+ | {{tipps: | ||
+ | |||
+ | |||
+ | }} | ||
+ | |||
+ | |||
+ | |||
+ | --- | ||
+ | |||
+ | ====Repl Status | ||
+ | |||
+ | {{tipps: | ||
+ | |||
+ | }} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Einsame IPTs | ||
+ | |||
+ | {{tipps: | ||
+ | |||
+ | }} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Aufheben der Replikation | ||
+ | |||
+ | {{tipps: | ||
+ | |||
+ | }} | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Abgleich Karten 1.1 | ||
+ | |||
+ | {{collapse(SQL Script ...) | ||
+ | |||
+ | < | ||
+ | |||
+ | -- | ||
+ | -- Installation für Kartenabgleich IPT / IAM /IPN mit IDW | ||
+ | -- | ||
+ | -- (C) by CAD Team Handzik - Dipl. Ing. Uwe Handzik | ||
+ | -- | ||
+ | -- Version 2.1 Stand 30.04.2011 | ||
+ | -- | ||
+ | |||
+ | USE compass_easy | ||
+ | GO | ||
+ | |||
+ | SET ANSI_NULLS ON | ||
+ | GO | ||
+ | |||
+ | SET QUOTED_IDENTIFIER ON | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Error Tabelle anlegen | ||
+ | -- | ||
+ | |||
+ | IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ' | ||
+ | GO | ||
+ | |||
+ | CREATE TABLE [dbo].cth_errorlog( | ||
+ | [pkErrorHandlingID] [int] IDENTITY(1, | ||
+ | [Error_Number] [int] NOT NULL, | ||
+ | [Error_Message] [varchar](4000) COLLATE Latin1_General_BIN NULL, | ||
+ | [Error_Severity] [smallint] NOT NULL, | ||
+ | [Error_State] [smallint] NOT NULL DEFAULT ((1)), | ||
+ | [Error_Procedure] [varchar](200) COLLATE Latin1_General_BIN NOT NULL, | ||
+ | [Error_Line] [int] NOT NULL DEFAULT ((0)), | ||
+ | [UserName] [varchar](128) COLLATE Latin1_General_BIN NOT NULL DEFAULT ('' | ||
+ | [HostName] [varchar](128) COLLATE Latin1_General_BIN NOT NULL DEFAULT ('' | ||
+ | [Time_Stamp] datetime NOT NULL, | ||
+ | PRIMARY KEY CLUSTERED | ||
+ | ( | ||
+ | [pkErrorHandlingID] ASC | ||
+ | )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] | ||
+ | ) ON [PRIMARY] | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- Store Procedure | ||
+ | |||
+ | IF OBJECT_ID (' | ||
+ | DROP PROCEDURE CthErrorHandling | ||
+ | GO | ||
+ | |||
+ | Print 'DROP PROCEDURE CthErrorHandling' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- ============================================= | ||
+ | -- Author | ||
+ | -- Ersellt am : 24.09.2009 | ||
+ | -- Version | ||
+ | -- Description : Error Handling für den Rest | ||
+ | -- Aufruf mit EXEC dbo.CthErrorHandling | ||
+ | -- ============================================= | ||
+ | |||
+ | CREATE procedure dbo.CthErrorHandling AS | ||
+ | |||
+ | BEGIN | ||
+ | -- Declaration statements | ||
+ | DECLARE @Error_Number int | ||
+ | DECLARE @Error_Message varchar(4000) | ||
+ | DECLARE @Error_Severity int | ||
+ | DECLARE @Error_State int | ||
+ | DECLARE @Error_Procedure varchar(200) | ||
+ | DECLARE @Error_Line int | ||
+ | DECLARE @UserName varchar(200) | ||
+ | DECLARE @HostName varchar(200) | ||
+ | DECLARE @Time_Stamp datetime | ||
+ | |||
+ | -- Initialize variables | ||
+ | SELECT @Error_Number = isnull(error_number(), | ||
+ | @Error_Message = isnull(error_message(),' | ||
+ | @Error_Severity = isnull(error_severity(), | ||
+ | @Error_State = isnull(error_state(), | ||
+ | @Error_Line = isnull(error_line(), | ||
+ | @Error_Procedure = isnull(error_procedure(),'' | ||
+ | @UserName = SUSER_SNAME(), | ||
+ | @HostName = HOST_NAME(), | ||
+ | @Time_Stamp = GETDATE(); | ||
+ | |||
+ | -- Insert into the dbo.ErrorHandling table | ||
+ | INSERT INTO dbo.cth_errorlog (Error_Number, | ||
+ | |||
+ | SELECT @Error_Number, | ||
+ | END | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- LOG Tabelle anlegen | ||
+ | -- | ||
+ | -- Handhabung : INSERT dbo.cth_log ( POS, MESSAGE | ||
+ | -- | ||
+ | IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ' | ||
+ | GO | ||
+ | |||
+ | Print 'DROP TABLE cth_log' | ||
+ | GO | ||
+ | |||
+ | CREATE TABLE [dbo].[cth_log]( | ||
+ | [POS] [nVARCHAR] (50) NULL, | ||
+ | [MESSAGE] [nchar] (255) NULL | ||
+ | ) ON [PRIMARY] | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Sync Felder in der DOCUMENT anlegen | ||
+ | |||
+ | if not exists (select * from syscolumns | ||
+ | if not exists (select * from syscolumns | ||
+ | if not exists (select * from syscolumns | ||
+ | GO | ||
+ | |||
+ | Print 'Sync Felder in der DOCUMENT anlegen' | ||
+ | GO | ||
+ | |||
+ | -- Erweiterung der Sichten | ||
+ | |||
+ | IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID(' | ||
+ | CREATE TABLE #tmpErrors (ERROR INT, MODULE VARCHAR(30), | ||
+ | SET XACT_ABORT ON | ||
+ | |||
+ | IF EXISTS (SELECT * FROM sysobjects WHERE id=object_id(' | ||
+ | BEGIN | ||
+ | IF EXISTS (SELECT * FROM tempdb..sysobjects WHERE id=OBJECT_ID(' | ||
+ | ELSE | ||
+ | CREATE TABLE # | ||
+ | |||
+ | INSERT INTO # | ||
+ | INSERT INTO # | ||
+ | INSERT INTO # | ||
+ | |||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | EXECUTE aim_update_view ' | ||
+ | | ||
+ | END | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- Store Procedure | ||
+ | |||
+ | IF OBJECT_ID (' | ||
+ | DROP PROCEDURE CTH_Sync_IDW | ||
+ | GO | ||
+ | |||
+ | Print 'DROP PROCEDURE CTH_Sync_IDW' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- ============================================= | ||
+ | -- Author | ||
+ | -- Ersellt am : 24.09.2009 | ||
+ | -- Version | ||
+ | -- Description : | ||
+ | -- Trigger für die DOCUMENT | ||
+ | -- Gleicht IDW ab wenn änderung in DOCUMENT | ||
+ | -- | ||
+ | -- 1.1 Alter Tabel raus | ||
+ | -- ============================================= | ||
+ | |||
+ | CREATE PROCEDURE [dbo].[CTH_Sync_IDW] @argAIMKEY NUMERIC(17, | ||
+ | |||
+ | AS | ||
+ | |||
+ | DECLARE @newAIMKEY | ||
+ | DECLARE @ChildAimKey | ||
+ | DECLARE @ParentAimKey | ||
+ | DECLARE @newIDW | ||
+ | | ||
+ | BEGIN | ||
+ | |||
+ | SET @newAIMKEY = @argAIMKEY | ||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | |||
+ | --- AIMKEY ermittelt, - In XREF_ELEMENT Child(er) Suchen | ||
+ | |||
+ | DECLARE Document_Cursor CURSOR FOR | ||
+ | SELECT PARENT_AIMKEY, | ||
+ | FROM XREF_ELEMENT WHERE CHILD_AIMKEY = @newAIMKEY AND RELATIONSHIP_ID = ' | ||
+ | |||
+ | OPEN Document_Cursor | ||
+ | |||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | |||
+ | WHILE @@FETCH_STATUS = 0 | ||
+ | BEGIN | ||
+ | -- Nachschauen ob IDW | ||
+ | SELECT @newIDW | ||
+ | |||
+ | IF upper(@newIDW) = ' | ||
+ | BEGIN | ||
+ | -- | ||
+ | -- Debug Info | ||
+ | -- | ||
+ | --INSERT dbo.cth_log ( POS, MESSAGE | ||
+ | |||
+ | -- Sync Flag setzen | ||
+ | UPDATE DOCUMENT SET CTH_SYNC = ' | ||
+ | CTH_SYNC_AT = CONVERT(varchar(20), | ||
+ | WHERE AIMKEY = @ChildAimKey | ||
+ | |||
+ | -- Stored Proc ist Kundenabhängig | ||
+ | EXECUTE | ||
+ | |||
+ | END -- IS IDW | ||
+ | FETCH NEXT FROM Document_Cursor INTO @ChildAimKey, | ||
+ | END -- WHILE | ||
+ | CLOSE Document_Cursor | ||
+ | DEALLOCATE Document_Cursor | ||
+ | |||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | ROLLBACK TRANSACTION | ||
+ | EXEC dbo.CthErrorHandling | ||
+ | END CATCH | ||
+ | RETURN | ||
+ | END | ||
+ | |||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Trigger für XREF löschen | ||
+ | |||
+ | IF OBJECT_ID (' | ||
+ | DROP TRIGGER CTH_InsertDocIdw | ||
+ | GO | ||
+ | |||
+ | Print 'DROP TRIGGER CTH_InsertDocIdw' | ||
+ | GO | ||
+ | |||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Author | ||
+ | -- Ersellt am : 24.09.2009 | ||
+ | -- Version | ||
+ | -- Description : | ||
+ | -- Trigger für die XREF_ELEMENT | ||
+ | -- Gleicht IDW ab, die mit kopiert wird | ||
+ | -- | ||
+ | |||
+ | CREATE TRIGGER [dbo].[CTH_InsertDocIdw] ON [dbo].[XREF_ELEMENT] FOR INSERT NOT FOR REPLICATION | ||
+ | AS | ||
+ | BEGIN | ||
+ | |||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | DECLARE @PARENT_AIMKEY | ||
+ | DECLARE @CHILD_AIMKEY | ||
+ | DECLARE @FILE_TYPE | ||
+ | | ||
+ | SELECT | ||
+ | SELECT | ||
+ | SELECT | ||
+ | |||
+ | IF UPPER( @FILE_TYPE ) = ' | ||
+ | BEGIN | ||
+ | -- | ||
+ | -- Debug Info | ||
+ | -- | ||
+ | --INSERT dbo.cth_log ( POS, MESSAGE | ||
+ | EXECUTE CTH_Sync_IDW @CHILD_AIMKEY | ||
+ | | ||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | ROLLBACK TRANSACTION | ||
+ | EXEC dbo.CthErrorHandling | ||
+ | END CATCH | ||
+ | END | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- Trigger für ELEMENT löschen | ||
+ | |||
+ | IF OBJECT_ID (' | ||
+ | DROP TRIGGER CTH_UpdateEleIdw | ||
+ | GO | ||
+ | |||
+ | Print 'DROP TRIGGER CTH_UpdateEleIdw' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Author | ||
+ | -- Ersellt am : 24.09.2009 | ||
+ | -- Version | ||
+ | -- Description : | ||
+ | -- Trigger für die ELEMENT | ||
+ | -- Gleicht IDW ab wenn änderung in ELEMENT | ||
+ | -- | ||
+ | |||
+ | CREATE TRIGGER [dbo].[CTH_UpdateEleIdw] ON [dbo].[ELEMENT] FOR UPDATE NOT FOR REPLICATION | ||
+ | AS | ||
+ | BEGIN | ||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | DECLARE @AIMKEY | ||
+ | DECLARE @FILE_TYPE | ||
+ | |||
+ | SELECT | ||
+ | SELECT | ||
+ | |||
+ | IF @FILE_TYPE IS NOT NULL | ||
+ | BEGIN | ||
+ | IF UPPER(@FILE_TYPE) = ' | ||
+ | BEGIN | ||
+ | -- | ||
+ | -- Debug Info | ||
+ | -- | ||
+ | --INSERT dbo.cth_log ( POS, MESSAGE | ||
+ | EXECUTE CTH_Sync_IDW @AIMKEY | ||
+ | END | ||
+ | | ||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | ROLLBACK TRANSACTION | ||
+ | EXEC dbo.CthErrorHandling | ||
+ | END CATCH | ||
+ | |||
+ | END | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- Trigger für DOCUMENT löschen | ||
+ | |||
+ | IF OBJECT_ID (' | ||
+ | DROP TRIGGER CTH_UpdateDocIdw | ||
+ | GO | ||
+ | |||
+ | Print 'DROP TRIGGER CTH_UpdateDocIdw' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | -- | ||
+ | -- Author | ||
+ | -- Ersellt am : 24.09.2009 | ||
+ | -- Version | ||
+ | -- Description : | ||
+ | -- Trigger für die DOCUMENT | ||
+ | -- Gleicht IDW ab wenn änderung in DOCUMENT | ||
+ | -- | ||
+ | |||
+ | CREATE TRIGGER [dbo].[CTH_UpdateDocIdw] ON [dbo].[DOCUMENT] FOR UPDATE NOT FOR REPLICATION | ||
+ | AS | ||
+ | BEGIN | ||
+ | |||
+ | SET NOCOUNT ON; | ||
+ | |||
+ | BEGIN TRY | ||
+ | DECLARE @AIMKEY | ||
+ | DECLARE @FILE_TYPE | ||
+ | |||
+ | SELECT | ||
+ | SELECT | ||
+ | |||
+ | IF UPPER(@FILE_TYPE) = ' | ||
+ | BEGIN | ||
+ | -- | ||
+ | -- Debug Info | ||
+ | -- | ||
+ | --INSERT dbo.cth_log ( POS, MESSAGE | ||
+ | EXECUTE CTH_Sync_IDW @AIMKEY | ||
+ | END | ||
+ | END TRY | ||
+ | |||
+ | BEGIN CATCH | ||
+ | ROLLBACK TRANSACTION | ||
+ | EXEC dbo.CthErrorHandling | ||
+ | END CATCH | ||
+ | |||
+ | END | ||
+ | GO | ||
+ | |||
+ | Print ' | ||
+ | GO | ||
+ | |||
+ | --############################################################################################################################## | ||
+ | |||
+ | |||
+ | }} | ||
+ | |||
+ | < | ||
+ | |||
+ | ---- | ||
+ | |||
+ | =====Compass Tipps und Tricks===== | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Compass Password==== | ||
+ | |||
+ | bis 2009 | ||
+ | |||
+ | EASYcompass | ||
+ | | ||
+ | DBPASSWORD=CCRY00104709B69CDE85DB8529EC0312D5C5B30EC9 | ||
+ | |||
+ | ab 2009 | ||
+ | |||
+ | ADSKpspro5! | ||
+ | |||
+ | DBPASSWORD=CCRY001015CE7934194891D6D49B8EC529380A33FA | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====Compass Inventor ADDin==== | ||
+ | |||
+ | Die ClsId für das Compass Inventor ADDin: | ||
+ | |||
+ | < | ||
+ | |||
+ | 2008 | ||
+ | {A8EE8583-8E6D-4042-9A89-1015560D3331} ? | ||
+ | |||
+ | 2011 | ||
+ | {02CCE528-B046-49BA-96F9-F6CDCF5F9B07} | ||
+ | |||
+ | 2012 | ||
+ | {0B874991-1A5B-4D21-B156-DF288BD8424A} | ||
+ | |||
+ | 2013 | ||
+ | {DFDECA20-9329-4E10-97E6-FF7AF0AD942E} | ||
+ | |||
+ | 2014 | ||
+ | {DFDECA20-9329-4E10-97E6-FF7AF0AD942E} | ||
+ | | ||
+ | 2015 | ||
+ | {DFDECA20-9329-4E10-97E6-FF7AF0AD942E} | ||
+ | | ||
+ | 2015 | ||
+ | {DFDECA20-9329-4E10-97E6-FF7AF0AD942E} | ||
+ | </ | ||
+ | |||
+ | | ||
+ | ===== Compass Jobserver ===== | ||
+ | |||
+ | ==== VBA ==== | ||
+ | |||
+ | < | ||
+ | ApplCall AIMDOpenVBAProject " | ||
+ | ApplCall AIMDExecuteVBAMacro Export mod_STP PublishSTP | ||
+ | |||
+ | </ | ||
+ | |||
+ | ====Property Update==== | ||
+ | |||
+ | Mit Inventor : | ||
+ | |||
+ | JBSPropUpdate; | ||
+ | |||
+ | Mit Apfile___ntice | ||
+ | |||
+ | < | ||
+ | ___forceunlock; | ||
+ | ApplCall AIMDUpdateProps2 #DOCNAME0 2; | ||
+ | ___forceunlock; | ||
+ | |||
+ | </ | ||
+ | |||
+ | Wenn Dirty Steuerung | ||
+ | |||
+ | ___XDWCMD(" | ||
+ | |||
+ | ==== User Name bei der Ausführung ==== | ||
+ | Unter Befehle bei der Anlage: | ||
+ | |||
+ | set MY_USER=$USERID; | ||
+ | JBSSubstJobField (CMD_file____JOB); | ||
+ | .... | ||
+ | |||
+ | Unter Befehle vor der Ausführung: | ||
+ | ... | ||
+ | ___SHELL( md(" | ||
+ | ... | ||
+ | |||
+ | ==== Anbindung INVEXP ==== | ||
+ | |||
+ | |||
+ | in der Compass INI | ||
+ | |||
+ | ;;; | ||
+ | ;;; Einstellungen CTH für JobServer | ||
+ | ;;; | ||
+ | ;;; CTH_INVEXP : Kompletter Pfad incl. name der EXE Datei | ||
+ | ;;; CTH_INVINI : Verzeichnis mit den INI Dateien | ||
+ | ;;; | ||
+ | CTH_INVEXP=D: | ||
+ | CTH_INVINI=D: | ||
+ | CTH_INVDST=C: | ||
+ | |||
+ | |||
+ | systemx( | ||
+ | systemx( | ||
+ | systemx( | ||
+ | systemx( | ||
+ | |||