Mit der Option "-useolddb" steht eine Möglichkeit zur Verfügung, Programme zu starten, auch wenn die genutzte Datenbank nicht vollständig zum Programmstand passt.
Achtung: Diese Möglichkeit sollte keinesfalls auf Produktionsdatenbanken angewendet werden, sondern nur in Sondersituationen zur Fehleranalyse oder um Aktionen durchzuführen die keine weiteren Veränderungen der Datenbank nach sich ziehen. (z.B. Scriptompile o.Ä.)
Die Option wirkt nur auf SOG ERP Datenobjekte (Kundenstamm, Aufgaben, usw.)
Ist die Option gesetzt, wird beim ersten Zugriff auf ein Datenobjekt die tatsächliche Struktur der Datenbank analysiert.
Geht das Datenobjekt davon aus, dass es Datenfelder gibt, die jedoch nicht in der tatsächliche Struktur enthalten sind, wird die Feldliste der bei einem Select gelieferten Datenwerte so geändert, dass an Stelle des fehlenden Datenfeldes ein Initialwert (0 oder Space) geliefert wird.
Bei Update oder Insert werden die fehlenden Datenfelder ignoriert.
Fehlende Tabellen liefern bei einem Leseversuch immer eine leere Datenmenge.
Werden die fehlenden Datenfelder in dynamischen Selects (where-Klauseln) verwendet, scheitert die Anforderung.
Daher ist die Option nur bedingt verwendbar.
Dies gilt generell. Die Option kann z.B. eingesetzt werden, um mit Quellen aus dem Projekt „HDL“ mit Datenbanken aus der letzten Freigabe zu arbeiten (z.B. SOGI) auch wenn sich HDL bereits geringfügig weiterentwickelt hat.
Die Option wird sicher keinen Erfolg haben, wenn man versucht auf eine bedeutend ältere Datenbank zuzugreifen.
Da mit dieser Option Teile der Programmlogik ausgeschaltet und umgangen werden gilt:
DIE FUNKTION SOLLTE NUR MIT BEDACHT UND NUR IN BESTIMMTEN SONDERSITUATIONEN UND NIEMALS AUF PRODUKTIONSDATENBANKEN ANGEWENDET WERDEN!