1.3.7 StpDBcreate – Anlegen einer Datenbankdatei
StpDBcreateEx(strBufName,nRecords,nUserAlarm,nUserAlarmOpen,nUserIncrement, nIndexCount,_
nIndxAlarm,nIndxIncrement[,nStationCopy,nNumCopies],bDoneAutoCreate);
StpDBcreate(strBufName,nRecords,nIndexCount[,nStationCopy,nNumCopies], bDoneAutoCreate);
|
Beschreibung
|
Hinweis: Die Stationsnummer des Setups ist 0. D.h. stationsabhängiges Erstellen von Tabellen beginnt grundsätzlich mit Index 0.
| ||||
|
Argumente
|
strBufName:
Datenbankdatei, die reorganisiert werden soll.
nRecords:
Anzahl leerer Sätze, die in der Datenbankdatei erstellt werden. Ist nRecords < 20 wird diese Variable auf 20 gesetzt, d.h. es werden Minimum 20 leere Benutzersätze erstellt.
nUserAlarm:
Angabe, bei welcher Anzahl freier Datensätze die Warnung ausgegeben werden soll, dass die Datei (fast) voll ist. Die Prüfung auf freie Datensätze erfolgt immer beim Schreiben in eine Datei. Bei der zeichenorientierten Version erfolgt die Warnung immer. Bei dieser Version erfolgt die Warnung nur dann, wenn auf der Festplatte nicht mehr genügend Platz für eine automatische Vergrößerung vorhanden ist. Default: 10
nUserAlarmOpen:
Angabe, bei welcher Anzahl freier Datensätze die Warnung ausgegeben werden soll, dass die Datei (fast) voll ist. Die Prüfung auf freie Datensätze erfolgt nur beim ersten Öffnen einer Datei durch ein Programm, die Tagesklingel warnt je Programm nur einmal. Default: 0
nUserIncrement:
Angabe, um welche Anzahl Datensätze die Datei bei automatischer Vergrößerung erweitert wird. Falls hier "0" eingegeben wird, entspricht dies dem Wert "100". Default: 10
nIndexCount:
Anzahl der leeren IndexSätze, die im Indexteil der Datenbankdatei erstellt werden.
nIndxAlarm:
Angabe, bei welcher Anzahl freier Indexsätze die Warnung ausgegeben werden soll, dass die Datei (fast) voll ist. Die Prüfung auf freie Indexsätze erfolgt immer beim Schreiben in eine Datei. Bei der zeichenorientierten Version erfolgt die Warnung immer. Bei dieser Version erfolgt die Warnung nur dann, wenn auf der Festplatte nicht mehr genügend Platz für eine automatische Vergrößerung vorhanden ist. Default: 20
nIndxIncrement:
Angabe, um welche Anzahl Indexsätze die Datei bei automatischer Vergrößerung erweitert wird. Default: 100:
NStationCopy
Ohne Bedeutung
NnumCopies
Mit Hilfe dieses Arguments kann die Anzahl der Kopien für stationsabhängige Tabellen angegeben werden.
Der Index beginnt bei 01.
Beispiel: Sei nNumCopies == 2 so sind nach der Ausführung von StpDBcreate die Dateien MENGU01.DAT und MENGU02.DAT erstellt worden.
Das Argument ‚ nNumCopies ist ein optionales Argument, es gibt keine Fehlermeldung, auch wenn das Argument leer oder gar nicht übergeben wird. Es werden dann keine Tabellen geklont.
BDoneAutoCreate
| ||||
|
Rückgabewert:
|
StpRc:
| ||||
|
Fehlerarten:
|
| ||||
|
Beschreibung
|
Der Funktion StpDBcreateEx können die beschriebenen Parameter übergeben werden. Wird StpDDBcreate aufgerufen, werden die Parameter mit den Defaultwerten vorbelegt.
Die Funktion benutzt die interne Datenbankfunktion HndCreateTable zum Anlegen einer infra-Datenbank. Die restlichen Parameter, die hier nicht beschrieben sind, wie z.B. die Satzlänge, werden aus dem Data-Dictionary gelesen.
WICHTIG: Die Beschreibung der Datei muss im DataDictionary eingetragen sein.
Die Berechnung des DatenPfades wird mit Hilfe von Paramet.dat,
lTableIdent 1, vorgenommen.
Existiert Paramet.dat nicht im Datenverzeichnis, kann mit StpDBCreateEx keine Datei angelegt werden (analog infra SYS920).
Eine Datei wird von infra:NET automatisch vergrößert, wenn kein freier Datensatz mehr in ihr vorhanden ist. infra:NET vergrößert die Datei während des Betriebs selbständig um die in diesem Programm als Inkrement definierte Anzahl Datensätze.
Um anzuzeigen, dass eine Datei bald voll sein wird, gibt es zwei Klingeln:
Tagesklingel
Die Tagesklingel wird beim Öffnen einer Datei durch ein Programm geprüft. Sie warnt, wenn nur noch die als Tagesklingel definierte Anzahl Datensätze in einer Datei frei ist. Die Tagesklingel warnt je Datei nur einmal innerhalb eines Programms.
Die automatische Vergrößerung des Indexteils nimmt nur wenig Zeit in Anspruch, deshalb ist beim Indexteil keine Tagesklingel notwendig.
Normale Klingel
Die normale Klingel wird beim Schreiben in eine Datei geprüft. Sie warnt, wenn nur noch die als Klingel definierte Anzahl Datensätze bzw. Indexsätze in einer Datei frei ist und wenn auf der Festplatte nicht mehr genügend Platz für eine automatische Vergrößerung vorhanden ist.
Bei der zeichenorientierten Version von infra:NET erfolgt die Warnung unabhängig vom freien Speicherplatz auf der Festplatte.
| ||||
|
Beispiel
|
SdShowMsg( "Erstellt stationsab. Dateien der Tabelle 80", 1 );
Delay( 2 );
StpDBcreate( strMBVor, 21, 144, 9, 2 );
if( StpRc != 0 )
MessageBoxError( "\nRun_StpDBcreate\n", 67, n$SEVERE );
StpDBcreate( strMBVor, 23, 179, 99, 2 );
if( StpRc != 0 )
MessageBoxError( "\nRun_StpDBcreate\n", 67, n$SEVERE );
StpDBcreate( strMBVor, 27, 233, 999, 2 );
if( StpRc != 0 )
MessageBoxError( "\nRun_StpDBcreate\n", 67, n$SEVERE );
SdShowMsg( "Erstellt stationsab. Dateien der Tabelle 80", 0 );
| ||||
|
Funktionsart
|
STPFunktion
|
