// //! Bewirkt das automatische Ausführen des folgenden Codes beim Öffnen des Skript's /* Live-Demonstration des "Trend-Information-System" auf dem am JMP-UsergroupDay bei Procter & Gamble in Schwalbach bei Frankfurt am Main am 9.7.2016, 12:00 - 12:30 Uhr Autor: Michael Kerler, Bosch Solar CISTech GmbH, Münstersche Str. 24 14772 Brandenburg an der Havel GERMANY Stand: 06.06.2016 Struktur: 0 Initialisierungen 0.1 Festlegen von Variablen und allgemeinen Parametern 0.2 Laden von praktischen Funktionen 0.3 Log-Datei 1 Ausführen der Datenkollektoren 2 Erstellung der Mastertabelle 3 Trendgraphen Deinitialisierung ("Ende") */ //---------------------------------------------------------------------------------- // 0 Initialisierungen //---------------------------------------------------------------------------------- // Speicher initieren Delete Globals(); Delete Symbols(); Clear Log(); // Beginn Stoppuhr start = Today(); // Auslesen des aktuellen Verzeichnisses OrdnerFuerSkripte = Get Default Directory(); // Bestimmung der JMP- und ODBC-Treiber Version (32 bit / 64 bit-Version) If( Host is( bits32 ), JMP_Version = "32", Host is( bits64 ), JMP_Version = "64" ); // Bestimmung des Dezimaltrenners und der Spracheinstellung If( Num( "1,5" ) > 0, Dezimaltrenner = ",", Dezimaltrenner = "." ); // Bestimmung der Spracheinstellung //----------------------------------------------------- // 0.1 Festlegen von Variablen und allgemeinen Parametern //----------------------------------------------------- Include( OrdnerFuerSkripte || "01_Initialisierung.jsl" ); //----------------------------------------------------- // 0.2 Laden von zusätzlichen Funktionen //----------------------------------------------------- Include( OrdnerFuerSkripte || "02_Functions.jsl" ); //----------------------------------------------------- // 0.2 Log-Datei //----------------------------------------------------- Script = Current Window() << get window title; Script_Datei = Script || ".jsl"; log_Datei = Script || ".log"; log_Datei_JMPLogWindow = Script || "_JMP.log"; // Allgemeine Informationen Rechnername = Get Environment Variable( "COMPUTERNAME" ); Username = Get Environment Variable( "USERNAME" ); // Speicherort für Log-File Ord_Log = OrdnerFuerLogdatei || Rechnername || "\"; If( !Directory Exists( Ord_Log ), Create Directory( Ord_Log ) ); // Löschen der vorhanden Log-Datei, wenn diese größer als 1 MB ist If( File Size( Ord_Log || log_Datei ) > 1000000, Delete File( Ord_Log || log_Datei ) ); // Laden oder Erstellen des Log-Files Try( log = Load Text File( Ord_Log || log_Datei ); log = log || "\!n\!n" || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t " || Script_Datei || " wird auf '" || Rechnername || "' von User '" || Username || "' ausgeführt... \!n"; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Initialisierung abgeschlossen \!n"; Save Text File( Ord_Log || log_Datei, log ); , log = "\!n" || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t '" || log_Datei || "' WIRD NEU ERSTELLT \!n"; log = log || "\!n\!n" || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t " || Script_Datei || " wird auf '" || Rechnername || "' von User '" || Username || "' ausgeführt... \!n"; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Initialisierung abgeschlossen \!n"; Save Text File( Ord_Log || log_Datei, log ); ); //---------------------------------------------------------------------------------- // 1 Datenkollektoren //---------------------------------------------------------------------------------- log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Ausführen der DatenKollektoren \!n"; // Datenkollektor für JMP-Food bei JMP-Veranstaltungen DC_name = "Datacollector_JMPFood()"; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t\!t " || DC_name || ": Beginn \!n"; Try( Datacollector_JMPFood(); log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t\!t " || DC_name || ": Ende \!n"; Save Text File( Ord_Log || log_Datei, log ); , log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t\!t Datenkollektor '" || DC_name || "' wurde nicht ordnungsgemäß beendet \!n"; Save Text File( Ord_Log || log_Datei, log ); ); //---------------------------------------------------------------------------------- // 2 Erstellung der Mastertabelle //---------------------------------------------------------------------------------- // Datenaggregation Mastertabelle log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Erstellen der 'Mastertabelle' ... \!n"; Include( OrdnerFuerSkripte || "03_Datenaggregation.jsl" ); log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Erstellen der 'Mastertabelle' abgeschlossen \!n"; Save Text File( Ord_Log || log_Datei, log ); // Layout Mastertabelle log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Layout der 'Mastertabelle' ... \!n"; Include( OrdnerFuerSkripte || "04_Layout.jsl" ); log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Layout der 'Mastertabelle' angewendet \!n"; Save Text File( Ord_Log || log_Datei, log ); // Speichern der Mastertabelle Try( Mastertabelle << save( OrdnerFuerTabellen || "Mastertabelle.jmp" ); log = log || Char( MDYHMS( Today() ) ) || "\!t\!t " || OrdnerFuerTabellen || "Mastertabelle.JMP gespeichert \!n"; Save Text File( Ord_Log || log_Datei, log ); , log = log || Char( MDYHMS( Today() ) ) || "\!t\!t " || OrdnerFuerTabellen || "Mastertabelle.JMP konnte NICHT gespeichert werden \!n"; Save Text File( Ord_Log || log_Datei, log ); ); //---------------------------------------------------------------------------------- // 3 Graphen //---------------------------------------------------------------------------------- log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t ------------------------------------------------------------------------------\!n"; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Erstellen der Graphen ... \!n"; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t ------------------------------------------------------------------------------\!n"; // Modusauswahl: // Modus 1 -> Erstellen, Speichern und Schliesen aller Graphen (keine Benutzerinteraktivität möglich) // Modus 2 -> Interaktive Graphen (Graphen werden nicht gespeichert und bleiben nach dem Erstellen für Benutzerinteraktivität geöffnet) Modus = 1; // Erstellen der Graphen log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Erstellen der Graphen \!n"; Include( OrdnerFuerSkripte || "05_Graphen.jsl" ); log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t Erstellen der Graphen abgeschlossen \!n"; Save Text File( Ord_Log || log_Datei, log ); //---------------------------------------------------------------------------------- // Deinitialisierung ("Ende") //---------------------------------------------------------------------------------- // Schliessen aller geöffneten Tabellen Close( Mastertabelle, nosave ); // Schreiben des Log-Files stop = Today(); dauer = (stop - start) / 60; log = log || Char( Format( Today(), "d/m/y h:m:s" ) ) || "\!t " || Script_Datei || " erfolgreich ausgeführt :) \!n"; log = log || "Dauer: " || Char( dauer ) || " min \!n"; Save Text File( Ord_Log || log_Datei, log ); Save Log( Ord_Log || log_Datei_JMPLogWindow ); // Löschen des Speichers/Logs und Beenden von JMP // Delete Globals(); // Delete Symbols(); // Clear Log(); // Beep(); // Exit( nosave );