Sie sind auf Seite 1von 29

Betriebshandbuch Auftragsverfolgung

Version: 6.01

Certas AG
Kalkbreitestrasse 51
CH-8003 Zürich
Telefon +41 (0)44 637 37 37
Verteiler Fax +41 (0)44 450 36 37
Technische Abteilung

Verwaltungskontrolle

Thema / Projekt:

Dokumenttitel:

Dokumenttyp:

Dateiname: 43397626.doc

Version:

Erstellungsdatum: 22.06.2006

Verantwortlicher:

Klassifikation:

Gedruckt am: 18.05.2005

Gespeichert am: 22.06.2006

Änderungskontrolle

Version Status Name Datum Bemerkungen *


1.0 B Gan 2.3.05

Mitgeltende / referenzierte Dokumente

Dokumentname Datum * Version * Bemerkungen / Autor *

Legende zu den Verwaltungstabellen


Status G Geplant, B in Bearbeitung, R Reviewbereit, F Freigegeben, A Abgenommen, Z Zurückgewiesen
Visum (H) Handschriftliches Visum verlangt, (E) Elektronisches Visum erlaubt
Art R Review, F Freigabe (durch interne Stelle), A Abnahme (durch externe Stelle resp. Kunde)
Version Die Referenz gilt nur für die genannte Dokumentenversion. Ist die Version leer, so gilt die letzte freigegebene
Dokumentenversion.
* optionale Information

Gedruckt: 18.05.2005 Seite 2/29


Version: 6.01
Technische Abteilung

INHALTSVERZEICHNIS

1 Einleitung ..........................................................................................................................4
1.1 Zweck des Dokumentes.................................................................................................4
1.2 Referenzierte Dokumente..............................................................................................4
2 Systemübersicht
................................................................................................................................................5
3 Aufnahme des Betriebes .....................................................................................................7
4 Durchführung und Überwachung des Betriebes.................................................................16
5 Unterbrechung oder Beendigung des Betriebes.................................................................20
6 Sicherheitsbestimmungen..................................................................................................21
7 Ergänzende Angaben.........................................................................................................22
8 Anhang...............................................................................................................................29
8.1 Stichwortverzeichnis....................................................................................................29

Gedruckt: 18.05.2005 Seite 3/29


Version: 6.01
Technische Abteilung

1 Einleitung...................................................................................................................................................................
.....................................................................................................................................................................................

Tailoring:
Das Betriebshandbuch kann nach Bedarf aufgeteilt werden, zum Beispiel in Bände pro Funktionseinheit oder Rolle

1.1 Zweck des Dokumentes

Das Betriebshandbuch liefert alle Informationen, die der Betreiber eines Systems benötigt, um das System ordnungsgemäss
zu betreiben und im Falle von Problemen richtig reagieren zu können.

1.2 Referenzierte Dokumente


[]

Gedruckt: 18.05.2005 Seite 4/29


Version: 6.01
Technische Abteilung

2 Systemübersicht

Beschreibt die technischen Gesamtzusammenhänge des Systems und vermittelt dem Betreiber einen Überblick. Dazu gehören
zum Beispiel:
- technische Struktur des Systems und die externen Schnittstellen,
- Ziele und Hauptfunktionen des Systems,
- Allgemeines zur Sicherheit, zum Datenschutz und über Betreiberrollen.

Die AV ist eine Datenbank Version Access XP, die in vier Frontends (Anwendung) und zwei Backends (Reine Daten +
Archiv) aufgeteilt ist (Siehe Abbildung1).

Export Import mit


TAS per Excel Files Export via
David Fax
Import Berichte
Mutationen AutoExport
Export Statistiken

Frontend

Backend

Archiv:
Easy+ Offene Archiv < = 2Mt.
erledigte
Aufträge Prozess
Aufträge

Abbildung1
Die Kundendaten werden vom Easy+ Importiert und in der AV eingefügt.
Die AV gibt die Internen Abläufe der Mutationen, Neuaufschaltungen, Kündigungen und Kundereaktionen vor und dient als
Werkzeug für den Auftragsstatus. Weiter bietet sie auch die Möglichkeit die Daten für Statistikzwecke zu nutzten.

Gedruckt: 18.05.2005 Seite 5/29


Version: 6.01
Technische Abteilung

Im Frontendbereich wird zwischen vier verschiedene Anwendungen:


• Mutationen

• Berichte / Statistik
• Import / Export

• Auto Export

Im Backendbereich wird zwischen zwei Arten von Daten unterschieden:


• Offene Aufträge
• Erledigte Archivierte Aufträge

Auf diese obig aufgeführten Anwendungen wird später Im Dokument eingegangen.

2.1 Sicherheit:
Die Datenbank ist mit einer mdw Datei geschützt.
In dieser Datei (kleine Datenbank) sind die Zugriffsrechte geregelt.
Die Benutzer sind Gruppen zugeordnet und können in der Benutzerverwaltung konfiguriert werden.

Gedruckt: 18.05.2005 Seite 6/29


Version: 6.01
Technische Abteilung

3 Aufnahme des Betriebes

- Voraussetzungen zur Aufnahme bzw. Wiederaufnahme des Betriebes,


- Massnahmen zur Aufnahme des Betriebes,
- Massnahmen zur Wiederaufnahme des Betriebes.

3.1 Vorraussetzungen für die Aufnahme des Betriebes sind folgende:


• MS Access Version 2002 oder 2003.
• Netzwerkumgebung 100Mb Switched.

• Fileserver Nt4 2000 oder 2003 mit Backup Tool das offene Files zu sichern vermag.

• Lokale Easy+ Version muss für die Import funktion installiert werden

• Easy DLL :
3.2 Massnahmen zur Aufnahme des Betriebes

3.2.1 Einrichten der Netzwerkshare und Folders auf dem Server für den gemeinsamen Zugriff
• Für ZH \\Scezurap1\db-zh$ Mit folgendem Folder: DB\AV

• Für LS \\Scelauap1\db-ls$\ Mit folgendem Folder: DB\AV

3.2.2 Kopieren der SW- Komponenten ab der Source CD AV V-6.06 ins erstellte Share für ZH oder LS
• D:\AV\daten\MutVerf50.mdb ZH & LS
D:\AV\daten\Archiv\ MutVerf50_Arch.mdb ZH & LS
D:\AV\Kompilate\AutoExport\AutoExport.mde ZH
D:\AV\Kompilate\ImportExport\ImportExport.mde ZH
D:\AV\Kompilate\Berichte\DrawerFull.ico ZH & LS
MutVerfolg_BER.bmp ZH & LS
MutVerfolg_BER.mde ZH & LS

D:\AV\Kompilate\Mutationen\MouseHook.dll ZH & LS
MutVerfolg_MUT.bmp ZH & LS
MutVerfolg_MUT.mde ZH & LS
Propeller.ico ZH & LS

D:\AV\Originale\AutoExport.mdb ZH oder LS
ImportExport.mdb ZH oder LS Entwicklungs
MutVerfolg_BER.mdb ZH oder LS umgebung
MutVerfolg_MUT.mdb ZH oder LS

D:\DBs\AV\Users\Auftrverf.mdw ZH und LS
3.2.3 Verknüpfen des Backends mit dem Archiv

Gedruckt: 18.05.2005 Seite 7/29


Version: 6.01
Technische Abteilung

• Tabellenverknüpfungsmanager auswählen.

• Alle Auswählen und wichtig „Neuen Standort immer bestätigen lassen“ aktivieren -> ok.

• Archiv mit Doppelklick auswählen (diese Aktion kann bis 2 Min. dauern)

für LS: (\\Scelauap1\db-ls$\DB\AV\Daten\Archiv\MutVerf50_Arch.mdb


für ZH: (\\Scezurap1\db-zh$\DB\AV\Daten\Archiv\MutVerf50_Arch.mdb

folgende Meldung sollte angezeigt werden:

3.2.4 Verknüpfen der Frontends mit dem Backend.


Gleiche Vorgehensweise wie in 3.2.3 ausser beim Frontend für die Mutationen.

Frontends Für ZH:

Gedruckt: 18.05.2005 Seite 8/29


Version: 6.01
Technische Abteilung

• Mutationen
• Berichte

• ImportExport
• AutoExport
Frontends Für LS:
• Mutationen

• Berichte

Verknüpfen des Frontends Mutationen mit dem Backend (Daten):

• Tabellenverknüpfungsmanager auswählen.

• Alle Auswählen und alle „DSN=FoxPro“ deselektieren. Wichtig „Neuen Standort immer bestätigen lassen“
aktivieren -> ok.

• Archiv mit doppelklick auswählen (diese Aktion kann bis 15Min. dauern)

für LS: (\\Scelauap1\db-ls$\DB\AV\Daten\ MutVerf50.mdb


für ZH: (\\Scezurap1\db-zh$\DB\AV\Daten \MutVerf50.mdb

Gedruckt: 18.05.2005 Seite 9/29


Version: 6.01
Technische Abteilung

folgende Meldung sollte angezeigt werden:

3.2.5 Konfiguration für die Frontends Mutationen und Berichte


Die Konfiguration wird auf dem Backend gemacht im Formular FRMMain.
Dort muss folgendes eingestellt werden für:
• Zeitfenster in dem das Login sämtlicher Clients gesperrt wird. „Zeitfenster Clients“ = 00:30 – 04:00
• Spracheinstellung „Language“ = DE für Deutsch oder FR für Französisch.

• Version des Fontendes Mutationen „Version_Mut“ = V6_06.


Muss identisch sein mit dem Eintrag in der lokalen Tabelle „tbl_Version“ des Frontends.

• Speicherort für Update funktion des Frontends Mutationen „ UpdatePath_Mut“ = \\Scezurap1\db-


zh$\db\av\Kompilate\Mutationen

• Version des Fontendes Mutationen, diese Einstellung wird für den Client update verwendet. „Version_Ber“ =
V6_06.
Muss identisch sein mit dem Eintrag in der lokalen Tabelle „tbl_Version“ des Frontends.

• Speicherort für Update funktion des Frontends Mutationen „ UpdatePath_Ber“ = \\Scezurap1\db-


zh$\db\av\Kompilate\Berichte

• Speicherort wo die Verknüpfgungen (ShortCuts) abgelegt sind. „Path_ShortCuts“ = \\Scezurap1\db-


zh$\db\av\Users\ShortCuts

• Drucker für das Frontend Autoexport festlegen „Printer_AutoExport“ = Tobit FaxWare (Entspricht dem
Druckernamen den man auf dem Client vergibt)

Gedruckt: 18.05.2005 Seite 10/29


Version: 6.01
Technische Abteilung

Sämtliche Änderungen müssen mit der Taste Refresh gespeichert werden


3.2.6 Konfiguration für die Archivierungsfunktion vom Backend
Die Konfiguration wird auf dem Backend gemacht im Formular FRMMain.
Dort muss folgendes eingestellt werden für:

• Zeit wann der Archivierungsprozess gestartet werden soll „Zeit Kopiervorgang“ = 04:00

• Pfad und Name des Archivs „Path_Archiv“ = \\scezurfs1\db-zh$\DV\AV\Daten\Archiv\MutVerf50_Arch.mdb

• folgende Angaben sind rein Informativ.

“Aktueller TAG“-> zeigt das aktuelle Datum des laufenden Monats an.
“Datumsbereich für Kopiervorgang“-> Zeigt den Bericht an der Archiviert wird.

3.2.7 Kontrollieren der Verweise


Falls ein Verweis den Eintrag „nicht vorhanden“ enthält, diesen entfernen und den richtigen aktivieren, die
Reihenfolge der Selektierten Verweise muss auch stimmen.

Verweise die für das Frontend Mutationen, Berichte und AutoExport gesetzt sein müssen.

Gedruckt: 18.05.2005 Seite 11/29


Version: 6.01
Technische Abteilung

Verweise die für das Frontend ImportExport gesetzt sein müssen:

3.2.8 Client Installation.


Zuerst müssen die Verknüpfungen für den Client erstellt werden.
Die Verknüpfung ist folgendermassen zusammengestellt:
• Access Programm Pfad.

• Frontend Pfad.

• Pfad für die Benutzer Berechtigungsgruppe. Mit „Schalter“ /wrkgrp

Dies kann folgendermassen aussehen:


"C:\Programm Files\Microsoft Office\Office10\MSACCESS.EXE" c:\
AuftrVerf\Mutationen\MutVerfolgV5_10_MUT_acc97.mde /wrkgrp \\Scezurap1\db-
zh$\db\av\Users\ShortCuts\AV.MDW

Für die Client erst Installation kann ein Batch File erstellt werden das folgendes macht:
• Erstellen der lokalen Verzeichnisse.

• Kopie der Kompilate ins lokale Verzeichnis.

• Erstellen des Verzeichnisses im Corporate.

• Kopie der Verknüpfungen in Corporate.

Anbei noch ein Beispiel wie das BatchFile aussehen könnte.

@Echo off
cd %userprofile%\startM~1\Programs\Corporate\
md av
md c:\Auftrverf\Berichte
md c:\Auftrverf\Mutationen
Copy \\scezurfs1\db-zh$\DB\AV\Users\ShortCuts\*.* "%userprofile%\startM~1\Programs\Corporate\AV"
Copy \\scezurfs1\db-zh$\DB\AV\Kompilate\Berichte c:\Auftrverf\Berichte

Gedruckt: 18.05.2005 Seite 12/29


Version: 6.01
Technische Abteilung

Copy \\scezurfs1\db-zh$\DB\AV\Kompilate\Mutationen c:\Auftrverf\Mutationen

Jetzt das Batch-File an alle Benutzter verteilen und ausführen lassen.

3.2.9 Einrichten der Benutzer.


Die Benutzer können im Frontend Mutationen bearbeitet und eingerichtet werden.
Nur den Benutzer mit PowerUser Berechtigung Zeigt es die Schaltfläche *Benutzerverwaltung* an.

Gedruckt: 18.05.2005 Seite 13/29


Version: 6.01
Technische Abteilung

Benutzer erfassen:

• Benutzerdaten eintragen.

Konto: Bestimmt die Berechtigungen Es gibt vier Berechtigungsstufen (gilt nur für Power User
und Super User):

• Administration Berechtigt zum löschen der Datensätze im Formular Mutationen und


Neuaufschaltungen.

• Aufschaltservice Berechtigt zum löschen der Datensätze im Formular Neuaufschaltungen.

• Alarmzentrale Berechtigt zum löschen der Datensätze im Formular Kundenreaktion.

• Verwalter hat alle Rechte.

Es muss jedes Feld ausgefüllt werden


Danach auf die Schaltfläche „Benutzer erfassen“ klicken -> Benutzerkonto wir erstellt und die Daten in die
Mitarbeitertabelle eingetragen. Siehe Abbildung unten.

• Schaltfläche _ anklicken um den Benutzer einzufügen. -> Jetzt läuf ein Makro ab das das Benutzerkonto automatisch
erstellt (Eintrag in die Mitarbeiter Tabelle (Tbl_Mitarbeiter), und erstellen des Kontos in der Arbitsgruppendatenbank
„Auftrverf.mdw“
• Nun noch die Berechtigungen Superuser und PowerUser entsprechen der Funktion des Mitarbeiters zuteilen.
Benutzer löschen:
Achtung!!! Visum In sämtlich erfassten Daten vom gelöschten Benutzer sind leer bzw. nur noch sein Index
wird angezeigt
• Benutzer auswählen.

• Schaltfläche „Benutzer löschen“ anklicken um de Benutzer zu löschen.

Benutzer kontrollieren:
Wenn es keine Fehlermeldungen beim ausführen des Makros gegeben hat kann davon ausgegangen werden, dass
alles korrekt eingetragen worden ist.
• Kontrolle ob der Benutzer in der Tabelle „Tbl_Mitarbeiter“ eingetragen worden ist

Gedruckt: 18.05.2005 Seite 14/29


Version: 6.01
Technische Abteilung

• Mit der Schalfläche „User Management“ kontrollieren ob der Benutzer in die richtige Benutzergruppe eingeragen
worden ist.
Jeder Benutzer muss in die Gruppe Benutzer aufgenommen werden, ansonsten kommt es bei der Ausführung
gewisser aktionen unter diesem Benutzerkonto zu Fehlermeldungen.

3.2.10 Archivierungsprozess starten.


• Kontrolle ob das Datenbackend mit dem Archiv verknüpft ist. Siehe Punkt 3.2.3
• Das Datenbackend starten und das Formular FrmMain öffnen.

• Wenn das Certas Symbol im 10 Sekundentakt blinkt funktioniert der Archivierungsprozess.

3.2.11 Archivmanagement.
Um die Performance der Datenbankengine nicht allzu sehr zu belasten, empfiehlt es sich die Daten Jährlich zu
Archivieren, das hat den unangenehmen Nebeneffekt, dass gewisse abfragen auf mehreren Archiven ausgeführt
werden müssen um ein gültiges Ergebnis zu erzielen.

Einmal im Monat immer am ersten zum einstellbaren Zeitpunk (Siehe 3.2.6) werden alle erledigten Datensätze -1
Monat von der Hauptdatenbank in das Archiv verschoben. Diese Einstellung kann in der Hauptdatenbank angepasst
werden, im Formular „FrmMain“-> entwurfsanscht im Feld „Datum kopiervorgang“ Eigenschaft „Daten
Steuerelemntinhalt“ =DatAdd("m";-1;Datum()).

das Jahresarchiv kann bei der Einstellung -1 Monat frühestens am 1.2.xxxx erstellt werden.

3.2.12 Shifttaste deaktivieren um das Datenbankfenster anzuzeigen.


• Die Shifttasenfunktion wird in der Benutzerverwaltung mit der Schaltfläche „Shifttaste deaktivieren“ ein oder
ausgeschaltet.

Gedruckt: 18.05.2005 Seite 15/29


Version: 6.01
Technische Abteilung

4 Durchführung und Überwachung des Betriebes

Beschreibt Massnahmen zur Aufrechterhaltung und Überwachung des Betriebes:


− Störmerkmale, die einen Fehlerfall beschreiben oder auf eine Störung System hindeuten
− Massnahmen zur Umgehung von Fehlern,
− Massnahmen zur Lokalisierung von Fehlern und zur Behebung von Fehlern.
− Vorfallprotokolle müssen erstellt und archiviert werden, in denen Ausnahmefälle und andere sicherheitsrelevante Vorfälle
festgehalten werden

4.1 Störmerkmale

4.1.1 Performance Probleme


4.1.2 Fehlermeldungen
• Objekt nicht gefunden
Verweise sind nicht korrekt, oder der PC hat eine andere Office Version.
Öffne ein Modul oder ein Formular in der Code Ansicht und gehe dann auf Extras verweise, wenn dort ein verweis
„nicht vorhanden“ ist, muss dieser neu gesetzt werden.

• No current Record
Vermutlich sind beim Easy Import im Easy nicht alle notwendigen Daten erfasst worden, meistens fehlt die
Kundenorganisation.

4.2 Massnahmen zu Umgehung von Fehlern

• Gleiche HW und SW-Versionen(Vor allem Office) auf allen Clients.


4.2.1 Archivierung der erledigten Mutationen einmal im Monat

• Die Erledigten Datensätze > 1 Monat werden am ersten Tag jeden neuen Monates an der eingestellten Zeit siehe Punkt
3.2.6
4.2.2 Maximale Anzahl der Benutzer kontrollieren (ab 30 wird es kritisch)
4.3 Update
4.3.1 Neue Version erstellen
• Alle Anpassungen werden In den MDB Frontends im Verzeichnis Originale gemacht.
Zuerst jedoch eine Kopie der Originaldatei erstellen und die Änderungen an dieser vornehmen.

• Nach Abschluss der Anpassungen, das Frontend in eine MDE Datei umwandeln.

• Wenn das Frontend mit den neuen Anpassungen getestet ist und einwandfrei funktioniert, kann die MDE im Verzeichnis
Kompilate abgespeichert werden (die bestehende Datei überschreiben)

Gedruckt: 18.05.2005 Seite 16/29


Version: 6.01
Technische Abteilung

• Die MDE direkt aus diesem Verzeichnis öffnen und mit der Shifttaste gedrückt aufstarten, so dass das Datenbankfenster
sichtbar wird.

• Die Versionsnummer in der lokalen Tabelle des geänderten Frontendes um eins erhöhen. Z.B. V6_07 -> V6_08

• Die Versionsnummer in der Verküpften Tabelle Shutdown auch um eins erhöhen. V6_07 -> V6_08

• Für die Verteilung der neuen Version nach Lausanne muss nur noch das Frontend direkt mit dem Backend verknüpft
werden (Siehe 3.2.3) und die Versionsnummer auf dem Backend (Tabelle „Shutdown“) angepasst werden. Dann kann
man das MDE direkt ins entsprechende Verzeichnis nach Lausanne überschrieben werden

4.4 Abfrage erstellen

Um eine Abfrage für einen Bericht erstellen zu können müssen folgende Punkte beachtet werden.

- der Betrieb die genauen Definitionen bekannt geben, was wie ausgewertet werden soll.

- MaAuswahl (Mitarbeiterbezogene Abfrage)


In der Abfrage muss folgende verknüpfung zum Formular Frmrea_Berichte gemacht werden :
[Forms]![frmrea_Berichte]![Gehört wem ?]

- Datumsbereich (Datumsbereich Abfrage von bis)


In der Abfrage muss folgende verknüpfung zum Formular Frmrea_Berichte gemacht werden :
Zwischen [Forms]![frmrea_Berichte]![Startdatum] Und [Forms]![frmrea_Berichte]![Enddatum]

- Anhand dem Bezeichnungsfeld kann in den meisten Fällen direkt das in der Tabelle zugehörige Feld gefunden
werden, aber zur Sicherheit immer in der Formular entwurfsansicht die Feldzuordnung folgenderrmassen
kontrollieren:
- Formulareigenschaften Datenquelle (für die Tabelle oder Abfrage)
- Feldeigenschaften Steuerquelle (für das Feld der Tabelle oder Abfrage)

4.5 Bericht erstellen

• Um einen neuen Bericht zu entwerfen müssen folgende Bedingungen erfüllt sein:


- Abfrage die die gewünschten daten für den Bericht bereitstellt.

Gedruckt: 18.05.2005 Seite 17/29


Version: 6.01
Technische Abteilung

- Berichtstyp.
- Zuordnung des Berichtes (Mutationen, Neuaufschaltungen, Spezial usw.)
- Beschreibung Deutsch und Französisch.

Berichtstyp:
Es gibt vier verschiedene Berichtstypen die in der Tabelle Tbl_Berichte mittels Kontrollkästchen aktiviert werden
müssen (Ist nötig für die Eingabekontrolle beim ausführen des Berichtes im Haupformular der Berichte):
- MaAuswahl (Mitarbeiterbezogene Abfrage)
In der Abfrage muss folgende verknüpfung zum Formular Frmrea_Berichte gemacht werden :
[Forms]![frmrea_Berichte]![Gehört wem ?]

- Datumsbereich (Datumsbereich Abfrage von bis)


In der Abfrage muss folgende verknüpfung zum Formular Frmrea_Berichte gemacht werden :
Zwischen [Forms]![frmrea_Berichte]![Startdatum] Und [Forms]![frmrea_Berichte]![Enddatum]

- Diagramm (Bericht mit Diagramm)


Muss angegeben werden damit der Bericht er in der richtigen Auswahl angezeigt wird

- Reporting (Bericht mit der Option einen Reporting text dazuzufügen im unteren Berich des Hauptformulares
Berichte ersichtlich)

Zuordnung:
- Nun muss die Zuordnung noch ausgewählt werden damit der Bericht in der richtigen Gruppe im Hauptformular
der Berichte angezeigt wird. (Siehe untestehende Tabelle)

Zuordnungen
Mutationen
Neuaufschaltungen
Kundenreaktionen
Spezial
Verkauf
Bezeichnung (wird im Formular Berichte angezeigt):
- Jetzt noch die Bezeichnung für den Bericht angeben, in der Spalte Beschreibung in Deutsch und in der Spalte
Beschreibung_FR in Franzöisch.
- nun in der Spalte Bericht von der Tabelle „tbl_Berichte“ den Namen des Berichtes oder des Macros usw.
angeben wie er original im Datenbakfenster abgespeichert wird (der Bericht wird direkt per Code anhand
diesem Wert gestartet).

Jetzt kann der Bericht folgendermassen erstellt werden:

• Wenn möglich Kopie eines bestehenden Berichtes erstellen und dort die neu erstellte oder abgeänderte Abfrage als
Datenquelle einbimden.
• Bestehende Datenfelder anhand der Feldliste Anpassen, neu einfügen oder löschen.

• Für die Sprachfunktion müssen die Bezeichnungsfelder durchnummeriert werden.Wenn es zum Beispiel 30
Bezeichnungsfelder gibt, von B1 – B30.

• Folgender Code muss beim öffnen des Berichtes ausgeführt werden :


Private Sub Report_Open(Cancel As Integer)
Call SpracheBer(Me.FormName)
End Sub

• Der Bericht muss nun noch in die Tabelle „tbl_DB_Objekte“ eingetragen werden.
In dieser Tabelle werden alle Datenbankobjekte eingetragen die Sprachabhängig sind, beim klicken auf das + am
Tabellenanfang sieht man alle dazugehörigen Bezeichnungsfelder.

Gedruckt: 18.05.2005 Seite 18/29


Version: 6.01
Technische Abteilung

Je
tzt können dort für alle Bezeichnungsfelder die Feldbezeichnungen in Deutsch oder Französisch eingetragen
werden.
ACHTUNG es müssen hier gleich viele Bezeichnungsfelder eingetragen werden wie im Bericht.
Z.B. Wenn im Bericht 30 Bezeichnungsfelder existieren (B1-B30) müssen in der Tabelle TBL_Sprache (das
ist die die eingeblendet wird mit dem +) in der Spalte Feldname 30 Einträge gemacht werden von 1-30
Durchnummereiert (Reihenfolge spielt keine rolle).

Gedruckt: 18.05.2005 Seite 19/29


Version: 6.01
Technische Abteilung

5 Unterbrechung oder Beendigung des Betriebes

Beschreibt Massnahmen für die ordnungsgemässe Beendigung des Betriebes und für eine gegebenenfalls erforderliche
Unterbrechung des Betriebes:
- Voraussetzungen sowohl für eine ausserordentliche wie reguläre Unterbrechung des
Betriebes,
- Massnahmen zur Unterbrechung des Betriebes,
- Massnahmen zur Beendigung des Betriebes,
- Nachbehandlung und Abschlussarbeiten.

Für die Unterbrechung des Betriebes kann im Backend im Formular FrmMain die Auswahl „shutdown all Clients“ aktiviert
werden.
Nach fünf Minuten werden alle angemeldeten Clients automatisch beendet und kein anmelden ist mehr möglich.
Wichtig !!! Nach der Aktivierung die Schaltfläche „Refresh“ betätigen.

Gedruckt: 18.05.2005 Seite 20/29


Version: 6.01
Technische Abteilung

6 Sicherheitsbestimmungen

Beschreibt Bestimmungen und Massnahmen zur Gewährleistung der erforderlichen Sicherheit. Diese umfassen die Bereiche
Infrastruktur, Organisation und Personal sowie Katastrophenvorsorge und Versicherungen.

Die wichtigsten dieser Anforderungen sind:


− Entwicklungsumgebung.

6.1 Entwicklungsumgebung

•Die Entwicklungsumgebung besteht aus den Frontend Datenbanken im Verzeiichnis Originale Siehe 3.2.2
• Es empfielt sich bei Änderungen an diesen Originaldateien jeweils mindestens eine Kopie zu behalten, so
dass jederzeit auf eine oder mehrere alte Versionen zurückgegriffen werden kann.
• Für einen Test mit den Daten muss eine Kopie vom Datenbank backend gemacht werden, und mit dem
entsprechend zu testenden Fronted verknüpft werde.
• Danach mit dem getesteten Frontend eine MDE Datei erstellen und ins Verzeichnis Kompilate ablegen.
ACHTUNG !!!!!! vor dem Kompilieren wieder mit den richtigen Backend verknüpfen. Siehe 3.2.2

Gedruckt: 18.05.2005 Seite 21/29


Version: 6.01
Technische Abteilung

7 Ergänzende Angaben

- technische Erläuterungen und Übersichten


- Fehlermeldungen (inkl. Ursachen und Lösungsmassnahmen)
- Glossar
- Index

7.1 Datenbankmodell
Hauptmodell

Gedruckt: 18.05.2005 Seite 22/29


Version: 6.01
Technische Abteilung

Zuordnung der Berichte im Formular Berichte

Sprachzuordnung

7.2 Erklärungen Code

• Easy Import

Gedruckt: 18.05.2005 Seite 23/29


Version: 6.01
Technische Abteilung

'********************************************************************************
'* Erstellt am 21.12.2002 Andreas Graf *
'* letzte Änderung 22.4.2005 *
'* Import von den lokalen Easy Tabellen die im Easy+ beim anklicken der *
'* Schaltfläche Dokumente erstellt werden. *
'* Die lokalen Easy* (FoxPro) Tabellen sind wiederum mit der Aftragsverfolgung *
'* verknüpft und die zu Importierenden Felder in drei Abfragen zusammengefasst *
'* (qryimpEasy,qryimpEasy2,qryimpEasy3, qryimpEasyLS *
'********************************************************************************

On Error GoTo ErrorHandler Sprungmarke bei Fehler


Dim Artikel As String
Dim rs As Recordset
Dim db As Database
Dim counter As Integer
Dim KdgId
Dim CertasId, VtrNr, ObjektName, ObjektName2, Objektstrasse, ObjektPLZ, ObjektOrt,
AufName, AufName2, AufStrasse, AufPLZ, _
AufOrt, VkName, VkOrt, FEName, FEStrasse, FEPLZ, FEOrt, KAM1, KAM2, IvName, IvName2,
IvStrasse, IvPLZ, IvOrt, Datum, KorrName, KorrName2, KorrStrasse, KorrPLZ, KorrOrt, VKID,
Objekttyp

Dim InsertAnschlussnummer As String


Dim DSvorhanden As Double
Dim SchlaufeDurchgeführt As Integer
Dim StrKriterien
Dim Mldg, Stil, titel, Ktxt, Antwort, text1
Dim Zähler As Integer

Dim DS_Id
Dim DSNEUID
Dim LS

Set db = Application.CurrentDb
LS = 0
Set rs = db.OpenRecordset("qryimpEasy", , dbAppendOnly) Import Abfrage öffnen
If LS = 0 Then GoTo OhneLS Wenn FoxPro Tabelle “ADR015”
Set rs = db.OpenRecordset("qryimpEasyLS", , dbAppendOnly) fehlt wird qryimpEasyLS für
OhneLS: Lausanne geöffnet
DSvorhanden = rs.RecordCount
If DSvorhanden = 0 Then GoSub SetNewQuery1 Wenn kein Datensatz
DSvorhanden = rs.RecordCount vorhanden ist wird die
If DSvorhanden = 0 Then GoSub SetNewQuery2 nächste Abfrage geöffnet
SchlaufeDurchgeführt = 1
DSvorhanden = 1
rs.MoveFirst
Do
'alle Felder der Abfrage in die Variablen Einlesen
CertasId = rs.Fields("certid"): VtrNr = rs.Fields("Vtrnr"): ObjektName =
rs.Fields("ObjektName"): ObjektName2 = rs.Fields("ObjektName2")
Objektstrasse = rs.Fields("ObjektStrasse"): ObjektPLZ = rs.Fields("ObjektPLZ"):
ObjektOrt = rs.Fields("ObjektOrt")

Gedruckt: 18.05.2005 Seite 24/29


Version: 6.01
Technische Abteilung

AufName = rs.Fields("AufName"): AufName2 = rs.Fields("AufName2"): AufStrasse =


rs.Fields("AufStrasse")
AufPLZ = rs.Fields("AufPLZ"): AufOrt = rs.Fields("AufOrt"): VkName =
rs.Fields("VkName")
VkOrt = rs.Fields("VkOrt"): FEName = rs.Fields("FeName"): FEStrasse =
rs.Fields("FeStrasse")
FEPLZ = rs.Fields("FePLZ"): FEOrt = rs.Fields("FeOrt"): KAM1 = rs.Fields("KAM1"): KAM2
= rs.Fields("KAM2")
IvName = rs.Fields("IvName"): IvName2 = rs.Fields("IvName2"): IvStrasse =
rs.Fields("IvStrasse")
IvPLZ = rs.Fields("IvPLZ"): IvOrt = rs.Fields("IvOrt"): Datum = rs.Fields("Datum")
KorrName = rs.Fields("korrName"): KorrName2 = rs.Fields("korrName2"): KorrStrasse =
rs.Fields("KorrStrasse")
KorrPLZ = rs.Fields("KorrPLZ"): KorrOrt = rs.Fields("KorrOrt"): VKID =
rs.Fields("VKID")
Objekttyp = rs.Fields("Objekttyp")

InsertAnschlussnummer = CertasId Certas ID einlesen

rs.MoveNext
Loop Until rs.EOF = True gehe bis zu letzten Datensatz (RS)
CertasId = "[CertasId] = " & "'" & CertasId & "'" Daten mit einem STRING ergänzen
Set rs = Nothing
Set rs = db.OpenRecordset("_tbl_Auftraege", dbOpenDynaset) Tabelle öffnen
rs.FindFirst CertasId Certas ID finden
If rs.NoMatch Then wenn kein DS gefunden
DSvorhanden = 0 dann Wert für Variable
End If Dsvorhanden = 0

If DSvorhanden = 0 Then GoSub AddDS Else GoSub EditDS wenn Certas ID existiert
DS aktualisieren (EditDS)
EditDS:
rs.FindFirst CertasId
rs.Edit Editieren der bestehenden Daten

rs.Fields("certasid") = InsertAnschlussnummer: rs.Fields("Vtrnr") = VtrNr:


rs.Fields("ObjektName") = ObjektName: rs.Fields("ObjektName2") = ObjektName2
rs.Fields("Objektstrasse") = Objektstrasse: rs.Fields("ObjektPLZ") = ObjektPLZ:
rs.Fields("ObjektOrt") = ObjektOrt
rs.Fields("AufName") = AufName: rs.Fields("AufName2") = AufName2: rs.Fields("AufStrasse")
= AufStrasse
rs.Fields("AufPLZ") = AufPLZ: rs.Fields("AufOrt") = AufOrt: rs.Fields("VkName") = VkName
rs.Fields("VkOrt") = VkOrt: rs.Fields("FeName") = FEName: rs.Fields("FEStrasse") =
FEStrasse
rs.Fields("FEPLZ") = FEPLZ: rs.Fields("FEOrt") = FEOrt: rs.Fields("KAM1") = KAM1
rs.Fields("KAM2") = KAM2: rs.Fields("IvName") = IvName: rs.Fields("IvName2") = IvName2
rs.Fields("IvStrasse") = IvStrasse: rs.Fields("IvPLZ") = IvPLZ: rs.Fields("IvOrt") = IvOrt
rs.Fields("Datum") = Datum: rs.Fields("KorrName") = KorrName: rs.Fields("KorrName2") =
KorrName2
rs.Fields("KorrStrasse") = KorrStrasse: rs.Fields("KorrPLZ") = KorrPLZ:
rs.Fields("KorrOrt") = KorrOrt: rs.Fields("VKID") = VKID
rs.Fields("Objekttyp") = Objekttyp
rs.Update Aktuelle Daten in DS schreiben
rs.Requery
rs.FindFirst CertasId

Gedruckt: 18.05.2005 Seite 25/29


Version: 6.01
Technische Abteilung

DS_Id = rs.Fields("id_auftraege") Index in Variable einlesen (wird weiter unten


wieder verwendet um die Daten zu verknüpfen)
GoTo Weiter Sprung

AddDS:
rs.MoveLast
rs.AddNew Neuer Datensatz erstellen
Do
rs.Fields("certasid") = InsertAnschlussnummer: rs.Fields("vtrnr") = VtrNr:
rs.Fields("ObjektName") = ObjektName: rs.Fields("ObjektName2") = ObjektName2
rs.Fields("Objektstrasse") = Objektstrasse: rs.Fields("ObjektPLZ") = ObjektPLZ:
rs.Fields("ObjektOrt") = ObjektOrt
rs.Fields("AufName") = AufName: rs.Fields("AufName2") = AufName2: rs.Fields("AufStrasse")
= AufStrasse
rs.Fields("AufPLZ") = AufPLZ: rs.Fields("AufOrt") = AufOrt: rs.Fields("VkName") = VkName
rs.Fields("VkOrt") = VkOrt: rs.Fields("FeName") = FEName: rs.Fields("FEStrasse") =
FEStrasse
rs.Fields("FEPLZ") = FEPLZ: rs.Fields("FEOrt") = FEOrt: rs.Fields("KAM1") = KAM1
rs.Fields("KAM2") = KAM2: rs.Fields("IvName") = IvName: rs.Fields("IvName2") = IvName2
rs.Fields("IvStrasse") = IvStrasse: rs.Fields("IvPLZ") = IvPLZ: rs.Fields("IvOrt") = IvOrt
rs.Fields("Datum") = Datum: rs.Fields("KorrName") = KorrName: rs.Fields("KorrName2") =
KorrName2
rs.Fields("KorrStrasse") = KorrStrasse: rs.Fields("KorrPLZ") = KorrPLZ:
rs.Fields("KorrOrt") = KorrOrt: rs.Fields("VKID") = VKID
rs.Fields("Objekttyp") = Objekttyp
rs.Update DS erstellen
rs.Requery
rs.MoveLast
DS_Id = rs.Fields("id_auftraege")
Weiter:

DS_Id = rs.Fields("id_auftraege")
Loop Until rs.AbsolutePosition

Set rs = Nothing
Set rs = db.OpenRecordset("SELECT * FROM " & Abfrage & " WHERE [" & Feld & "] = 0", ,
dbAppendOnly) Tabelle öffnen (Tabellenname wir mit einer Globalen Variable mitgegeben)

StrKriterien = "[CertasID] = " & DS_Id & ""


' Recordset-Objekt vom Typ Dynaset erstellen
' Ersten übereinstimmenden Datensatz suchen.
rs.FindFirst StrKriterien
Zähler = 0
' Prüfen, ob der Datensatz gefunden wurde.
If rs.NoMatch Then
Zähler = 0
Else
' Andere passende Datensätze suchen.
Do Until rs.NoMatch
rs.FindNext StrKriterien
Zähler = Zähler + 1
Loop
End If
If Zähler = 0 Then GoTo Sprung Wenn kein DS vorhanden Gehe zu Marke „Sprung“

Mldg = "Objekt " & CertasId & " " & Zähler & " " & Meldung13 ' Meldung definieren.

Gedruckt: 18.05.2005 Seite 26/29


Version: 6.01
Technische Abteilung

Stil = vbYesNo + vbInformation + vbDefaultButton2 ' Schaltflächen


' definieren.
titel = Meldung14 ' Titel definieren.
Ktxt = 1000 ' Kontext für Thema
' definieren.
Antwort = MsgBox(Mldg, Stil, titel) ' Meldung anzeigen.
If Antwort = vbYes Then ' Benutzer hat "Ja" gewählt.
text1 = "Ja" ' Operation ausführen.
'Refresh

Else ' Benutzer hat "Nein"


' gewählt.
text1 = "Nein" ' Operation ausführen.
Exit Function

End If

Gedruckt: 18.05.2005 Seite 27/29


Version: 6.01
Technische Abteilung

Sprung:
rs.MoveLast
rs.AddNew Neuer Datenastz hinzufügen
KdgId = rs.Fields("id")
rs.Fields("certasid") = DS_Id
DSNEUID = rs.Fields("id")
rs.Update Daten schreiben

DoCmd.Requery Formular updaten


DoCmd.GoToControl "NeuId"
DoCmd.FindRecord DSNEUID, acStart, , acDown, , acCurrent
DoCmd.GoToControl "CertasId" Cursor positioniern

ErrorHandler:

If Err = 3078 Or 3184 Then LS = 1: Resume Next Fehlerroutine für Easy LS speziell
If Err = 0 Then MsgBox "Easy Import No. " & counter & " i.o.", vbInformation, "Import" Else
MsgBox Error: Exit Function

SetNewQuery1: Auswahlroutine für die Korrekten


counter = 1 Easy Daten
If SchlaufeDurchgeführt = 1 Then Exit Function
Set rs = Nothing
Set rs = db.OpenRecordset("qryimpEasy2", , dbAppendOnly)
Return
SetNewQuery2:
counter = 2
If SchlaufeDurchgeführt = 1 Then Exit Function
Set rs = Nothing
Set rs = db.OpenRecordset("qryimpEasy3", , dbAppendOnly)
Return
End Function

Gedruckt: 18.05.2005 Seite 28/29


Version: 6.01
Technische Abteilung

8 Anhang

8.1 Stichwortverzeichnis
mdw = Arbeitsgruppeninformation

AV = Auftragsverfolgung

8.1 Datenbankdiagramm

Gedruckt: 18.05.2005 Seite 29/29


Version: 6.01