SWB 7.11 - Memo und Kartei Korrekturprogramm
LDS Zusatzprogramm 7.11
-----------------------
1. Memo-Korrekturprogramm
2. Kartei-Korrekturprogramm
---------------------------
1. Memo-Korrekturprogramm
-------------------------
Neues Programm : LDCHKM
Geänderte Dateien : LDCHKM.FRW
ACHTUNG: Bevor Sie das Programm einsetzen lesen Sie diese
Anleitung KOMPLETT durch, insbesondere auch die
Hinweise am Ende des Textes.
Führen Sie in JEDEM Fall eine Datensicherung durch
BEVOR Sie das Programm einsetzen!
Das Memo-Korrekturprogramm kann verschiedene Memo-Dateien
reparieren. Hierfür wird das Programm mit unterschiedlichen
Steuerzeichen aufgerufen:
Stz. Modus
------------------------------------------------------------
00000 Prüfung und Korrektur Artikelzusatztexte
08001 Prüfung gemäß der Einstellungen in der Datei
LdChkM1.INI im Mandantenpfad, Abschnitt [LdChkM_08001]
09001 Prüfung gemäß der Einstellungen in der Datei
LdChkM0.INI im RES-Pfad, Abschnitt [LdChkM_09001]
Es wird zunächst ein Prüflauf durchgeführt, dann ein Protokoll
ausgedruckt und schließlich wird die Memodatei neu aufgebaut,
sofern Fehler entdeckt wurden. Optional kann auch der Neuaufbau
ausgeführt werden, wenn keine Fehler entdeckt wurden.
Im Fehlerprotokoll werden alle Schlüsseleinträge aus der
Kopfdatei aufgelistet in deren Memos Fehler festgestellt wurden.
Das Protokoll wird über das Formular 1 der Formularbibliothek
LdChkM "LDS SWB Memo-Korrekturprogramm" ausgedruckt und kann
mit dem Reportdesigner angepaßt werden.
Anhand des Fehlerprotokolls müssen dann alle Memos zu den
aufgelisteten Schlüsseln manuell überprüft und ggf. korrigiert
werden.
WICHTIGE HINWEISE
-----------------
1. Während des Programmlaufes darf kein KHK-Teilnehmer in dem
entsprechenden Mandanten mit den Programmen arbeiten, die
die Memodatei oder die Kopfdatei verwenden! Auch dann, wenn
diese Programme nur lesend auf die Daten zugreifen.
2. Das Programm kann aufgrund der Datenstrukturen in den Memo-
Dateien jedoch NICHT festestellen, welche Memozeilen
URSPRÜNGLICH zu einem bestimmten Satz gehört haben! Es werden
also lediglich physikalische Fehler in der Memo-Datei
behoben.
3. Sollte das Programm einmal abstürzen, so sind die
Originaldateien noch unverändert, da der komplette
Korrekturlauf in temporären Dateien durchgeführt wird:
Kopfdatei:
Memodatei:
z.B. A10130.Stand vor Memokorrektur vom 21.02.2007 14.45.21
A10135.VDT.Stand vor Memokorrektur vom 21.02.2007 14.45.21
4. Das Programm benötigt im Sessionpfad temporär
Plattenspeicher abhängig von der Größe der Kopfdatei, der
Memodatei und den Fehlverkettungen in der Memodatei.
5. Das Programm kann setzt voraus, daß der Schlüssel in der
Kopfdatei auf Offset 1 (am Anfang des Datensatzes) beginnt.
Dies ist bei den meisten KHK-Dateien gegeben.
6. In der vorliegenden Version kann das Programm eine maximale
Schlüssellänge von 70 Bytes bearbeiten! Bei längeren
Schlüsseln werden diese nicht mehr korrekt im Protokoll
ausgewiesen
7. Eigene Einstellungen zur Memokorrektur
Normalerweise ist es nicht erforderlich, dass Sie selbst
Einstellungen in den INI-Dateien ändern oder hinzufügen.
Wenn Sie dies dennoch tun, dann tun Sie dies auf eigene
Gefahr!
Falsche Angaben für "Schlüssellänge" und/oder "Offset des
Memo-Ankers" führen zur Zerstörung der Memo-Datei! Für diesen
Fall stehen die unangetasteten Dateien auch nach beendetem
Programmlauf im Mandanten-Datenpfad zur Verfügung:
Kopfdatei:
Memodatei:
z.B. A10130.Stand vor Memokorrektur vom
A10135.VDT.Stand vor Memokorrektur vom
Ändern Sie bitte ausschlisslich die Einstellungen in der
Datei LdChkM1.INI im Mandantenpfad!
Als Information benötigt das Programm mehrere Angaben in der
INI-Datei:
Titel - Bezeichnung der Korrektur
FuerClassicLineVersion - Version der Classic Line, für die diese Einstellungen
konzipiert sind
Kopfdatei - Name der Kopfdatei
Schluessellaenge - Schlüssellänge in dieser Datei (der Schlüssel muß im
Datensatz an Offset 1 beginnen)
AnkerOffset_1 - Offset der Memo-Anker 1 in der Kopfdatei
AnkerOffset_2 - Offset der Memo-Anker 2 in der Kopfdatei
... (usw. bis zu 10)
Memodatei - Name der Memo-Datei
2. Kartei-Korrekturprogramm
---------------------------
Das Programm KaCheck dient zum Prüfen, Korrigieren und ggf. Verkleinern
der Kunden-, Lieferanten- und Artikelkartei. Je nachdem, welche Kartei
geprüft werden soll, wird ein eigenes Steuerzeichen verwendet:
Aufruf Funktion
---------------------------------------------------------------------
KaCheck /00000 Prüfung und Neuaufbau der Kundenkartei
KaCheck /01000 Prüfung und Neuaufbau der Lieferantenkartei
KaCheck /02000 Prüfung und Neuaufbau der Artikel-/Stücklistenkartei
Nach Start des Programms kann eingestellt werden, ob der Neuaufbau
nur dann ausgeführt werden soll, wenn Fehler entdeckt wurden, oder
ob er in jedem Fall erfolgen soll. Außerdem kann zur Verkleinerung
der Kartei eine Selektion nach Datum erfolgen (Eingabefelder
von/bis Datum).
Die Prüfung erfolgt in mehreren Schritten
Schritt 1: Initialisierung: Erstellen der Arbeits- und Sicherungsdateien
Schritt 2: Prüfung der Integrität der Verweise
Markieren aller Sätze mit dem Kennzeichen "0" (Löschkette
mit "D") und Löschen ungültiger Verweise innerhalb der Kartei
Kennzeichnen der Datensätze, die außerhalb der Datumsselektion
liegen.
Schritt 3: Bearbeitung der bekannten Karteieinträge
Markieren aller Sätze, die Bestandteil einer bekannten Kette
sind mit "1" und Löschen ungültiger Verweise innerhalb der
Kopfdatei
Schritt 4: Suche nach verlorenen Ketten
Alle Sätze, die nicht im vorigen Schritt als Bestandteil einer
Kette erkannt wurden, werden mit "2" gekennzeichnet.
Alle Anfänge von verlorenen Ketten werden zwischengespeichert
Schritt 5: Bearbeitung der bekannten Kett-Anfänge
Schreiben aller normalen Kett-Anfänge in eine Arbeitsdatei
Schritt 6: Bearbeitung der verlorenen Ketten
Schreiben aller Anfänge der verlorenen Ketten in die gleiche
Arbeitsdatei
Schritt 7: Sortieren der Arbeitsdatei
Schritt 8: Neuaufbau der Kartei aus den ermittelten Kett-Anfängen und
den verlorenen Ketten
Schritt 9: Rückkopieren der Kartei und Aktualisieren der korrigierten
Kett-Anfänge
Die Schritte 5 bis 9 werden nur dann ausgeführt, wenn tatsächlich Fehler
gefunden wurden, oder wenn eingestellt wurde, dass der Neuaufbau in jedem
Fall ausgeführt werden soll. Eine Verkleinerung der Kartei kann nur dann
erfolgen, wenn auch der Neuaufbau durchgeführt wird.
Besonderheiten
--------------
- Prüfung der Verkettungen
Während des Programmlaufes werden alle Vor- und Rückwärtsverkettungen
innerhalb der Kartei überprüft. Wenn hier eine Unsimmigkeit festgestellt
wird, also z.B. die Rückverkettung im nächsten Datensatz auf einen
anderen Datensatz verweist, als den von dem ausgegangen wurde, dann
wird die Kette aufgetrennt und er verbleibende Rest der Kette wie
eine verlorene Kette behandelt. Diese wird dann später wieder in die
Kartei einsortiert.
- Einsortierung der verlorenen Ketten
Verlorene Ketten werden anhand des Datums in den Karteipositionen
in die bekannten Ketten einsortiert. Dabei wird die bekannte Kette
und jede einzelne verlorene Kette jeweils als ganzes betrachtet;
verlorene Ketten werden entweder vor oder hinter der vorhandenen
Kette einsortiert.
- Verlorene Ketten für nicht mehr vorhandene Kopfsätze
Diese werden bei dem Neuaufbau aus der Kartei entfernt.
- Textpositionen
Normalerweise steht jeweils am Anfang einer Textposition ein Datum,
sofern diese automatisch von einem Programm eingetragen wurde. Bei
manuell erfasssten Textpositionen kann dieses evtl. fehlen. Falls
an dieser Stelle kein gültiges Datum steht dann wird die entsprechende
Textposition aus der Kartei entfernt.
Sicherungsdateien
-----------------
Im Schritt 1 werden automatisch Sicherungen der ursprünglichen Kartei
und der Kopfdateien erstellt. Im Dateinamen sind jeweils Datum und
Uhrzeit des Prüflaufs enthalten, z.B. bei Prüfung des Kundenstamms:
A10110.Stand vor Korrektur vom 23.04.2008 10.14.55
A10119K.Stand vor Korrektur vom 23.04.2008 10.14.55
Diese können, falls ggf. für eine Rücksichrung verwendet werden.
Dauer der Prüfung
-----------------
Je nach Größe der zu prüfenden Kartei kann das Programm wenige
Minuten oder mehrere Stunden benötigen, um die Kartei zu prüfen
und ggf. neu aufzubauen.
Jeweils ab Schritt 2 zeigt das Programm in der Statuszeile
die voraussichtliche verbleibende Dauer für den aktuellen
Verarbeitungsschritt an und die Uhrzeit wann dieser voraussichtlich
beendet sein wird. Ab Schritt 3 wird zusätzlich dahinter in
Klammern das voraussichtliche Ende des gesamten Prüflaufs
angezeigt.
Diese Werte sind jedoch lediglich eine Abschätzung des verbleibenden
Aufwandes und dienen nur der ungefähren Orientierung. Tests während
der Programmentwicklung haben gezeigt, dass die verbleibende Dauer
z.B. unter folgenden Bedingungen erheblich zu hoch angesetzt wird:
- die Kartei wird umgekehrt chronologisch geführt (neue Datensaätze
am Anfang der Kartei)
- es sollen sehr viele alte Positionen durch die Selektion nach Datum
aus der Kartei entfernt werden.
Dies liegt daran, dass das Programm beim Prüfen der bekannten Ketten
bei Auftreten eines Datensatzes außerhalb der Selektion die Verarbeitung
der aktuellen Kette zunächst beendet. Die restlichen Datensätze in der
Kette (die wahrscheinlich alle außerhalb der Selektion liegen) werden
nicht in die Berechnung der Restdauer einbezogen, obwohl sie für diesenm
Schritt als erledigt betrachtet werden. Wenn diese Datensätze in die
Berechnung einbezogen werden würden, dann würde sich die Programmlaufzeit
bei großen Karteien erheblich erhöhen.
Einschränkungen während des Prüflaufs
-------------------------------------
Während das Programm eine Kartei bearbeitet, dürfen keine neuen
Einträge in die Kartei vorgenommen werden, da diese nach dem Neuaufbau
nicht mehr vorhanden sind. Dies gilt insbesondere für die Programme,
die normalerweise Karteieinträge schreiben, wie z.B. der Statistiklauf
der Auftragsbearbeitung. Während des Prüflaufs wird der Aufruf folgender
Programme explizit verhindert:
- Auftragseingangsbuch
- Rechnungsausgangsbuch
- Statistiklauf ABF
- Statistiklauf Bestellwesen
- Wareneingangsbuch
- Lagerbewegungsprotokoll
Ansonsten kann während des Programmlaufes normal mit der Classic Line
gearbeitet werden.
Um die Arbeit der übrigen User möglichst wenig zu beeinträchtigen,
wird empfohlen, das Programm auf einer normalen Arbeitsstation laufen
zu lassen (nicht auf dem Server) und für die Arbeitsdateien die
lokale Platte zu verwenden. Das Verzeichnis für die Arbeitsdateien
wird in der Datei KaCheck.INI im Mandantenpfad hinterlegt und ist
normalerweise auf C:\KaCheck eingestellt (Details: siehe unten).
Beeinträchtigung durch Sperren
------------------------------
An bestimmten Stellen werden die Kopfdateien komplett gesperrt, so dass
in dieser Zeit keine Schlüsselsperre gesetzt werden kann, das bedeutet,
dass keine Daten verändert werden können. Dies betrifft z.B.
Adressänderungen im Kundenstamm bei Prüfung der Kundenkartei oder
Bestandsänderungen im Artikelstmm (z.B. durch Erfassung eines Lieferscheins)
bei Prüfung der Artikelkartei.
Dies erfolgt jedoch nur ganz am Anfang und ganz am Ende:
- Bei Schritt 1 während die Arbeitskopien der Kartei und der Kopfdateien
erstellt werden
- Bei Schritt 9 während alte Kartei durch die neu aufgebaute Kartei
ersetzt wird.
Protokoll
---------
Zwischen Schritt 8 und 9 wird ein Protokoll mit den gefundenen Fehlern
gedruckt. Dieses sollte möglichst in eine PDF-Datei gedruckt werden,
damit bei Bedarf später einzelne Seiten selektiv gedruckt werden
können.
Unterbrechen des laufenden Programms
------------------------------------
Während der Schritte 2 bis 8 kann das Programm jederzeit durch Klicken
auf den "Abbrechen"-Button unterbrochen werden. Änderungen an den
Karteien sind bis zu diesem Zeitpunk noch nicht erfolgt, so dass
keine Rücksicherungen oder ähnliches notwendig sind.
Programmabstürze und Programmfehler
-----------------------------------
Sollte einmal ein Programmabsturz vorkommen, so ist normalerweise
keine Datenrücksicherung erforderlich. Nur wenn der Programmabbruch
nach Ausdruck des Protokolls erfolgt, dann ist eine Datenrücksicherung
erforderlich, da dann die entsprechende Kartei höchstwahrscheinlich
beschädigt ist.
Falls beim Ersetzen der alten Kartei durch die neu aufgebaute Kartei
ein Problem auftritt (kein Programmabsturz), dann meldet das Programm
dies entsprechend und es ist eine Datenrücksicherung erforderlich.
Dies wird auch im Logbuch vermerkt.
Siehe auch unten: "Platzbedarf für Arbeits- und Sicherungsdateien".
Einstellungen
-------------
- Arbeitsverzeichnis
Um die Arbeitsgeschwindigkeit des Programms zu erhöhen, werden die
Arbeitsdateien normalerweise auf einer lokalen Festplatte abgelegt
(Voreinstellung C:\KaCheck).
Prinzipiell kann das Verezichnis in dem die Dateien abgelegt werden
jedoch frei gewählt werden. Die Lage wird über die Datei KaCheck.INI
(im Mandatenpfad) festgelegt:
Abschnitt: [AllgemeineEinstellungen]
Eintrag : WorkPath
Beispiel: Datei KaCheck.INI (im Mandantenpfad)
[AllgemeineEinstellungen]
WorkPath = c:\KaCheck
Hier wird das Arbeitsverzeichnis auf C:\KaCheck eingestellt.
Wenn das Arbeitsverzeichnis unterhalb des DAT-Verzeichnisses der
Classic Line liegt, dann werden die Dateioperationen in den
Arbeitsdateien automatisch vom Classic Line Dienst übernommen.
Bitte beachen Sie, dass dies zum einen die Arbeitsgeschwindigkeit
des Programms erheblich verringert und zum anderen das Arbeiten
anderer an der Classic Line angemeldeter User verlangsamt!
Platzbedarf für Arbeits- und Sicherungsdateien
----------------------------------------------
Sollte ein Fehler beim Anlegen der Arbeits- und Sicherungdateien
auftreten, dann liegt dies wahrscheinlich an fehlednen Zugriffsrechten
oder fehlendem Festplattenplatz.
- Benötigter Platz für Arbeitsdateien
Bitte beachten Sie, dass auf dem Laufwerk mit den Arbeitsdateien
genügend Platz zur Verfügung stehen muss. Es wird die dreifache
Größe der zu prüfenden Kartei benötigt, plus je einmal die Größe
der zugehörigen Kopfdateien (z.B. bei Prüdung der Artikelkartei
gibt es mehrere Kopfdateien).
Zusätzlich wird noch Platz im Session-Verzeichnis benötigt; die
benötigte Größe hängt davon ab, wieviele Fehler in der Kartei
gefunden werden. Maximal wird nochmals die doppelte Größe der zu
prüfenden Kartei an Platz benötigt.
- Benötigter Platz im Mandantenverzeichnis
Bei Programmstart legt das Programm Sicherungskopien der Kartei und
der zugehörigen Kopfdatei(en) unterhalb des Mandantenverzeichnisses
im Verzeichnis "KaCheck" an, die entsprechend der ursprünglichen
Größe Platz benötigen.