Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Anweisungen für BALTER

BALTER kennt die folgenden Anweisungen:

Anweisung

Standardwert

Bedeutung

[ SORTCORE IS nnn. ]

150

Größe des Sortierpuffers festlegen

EXECUTION IS { YES | NO }.

-

Umstrukturierungsphase starten/nicht starten

REPORT IS { YES | NO }.

-

Protokollierung anfordern/unterbinden

[ FILL feld name OF satz name WITH wert . ]

 -

Initialisiert den Feldnamen feldname von satzname  in allen existierenden Sätzen mit dem
benutzerdefinierten Wert anstatt mit Nullen oder Leerzeichen.

[ FILLING IS nnn PERCENT
  [ IN SET NAME IS
    {setname,... | *ALL[ EXCEPT setname,..]}]. ]  


Füllgrad von Tabellen festlegen
(Format 1)

[ FILLING WITH POPULATION
  [ IN SET NAME IS
    {setname,... | *ALL[ EXCEPT setname,..]}]. ]   


Füllgrad von Tabellen festlegen
(Format 2)

END .

-

beendet die Eingabe der Anweisungen

Table 42: Anweisungen für BALTER

Die Anweisungen werden nachfolgend im Detail beschrieben.

SORTCORE (Größe des Sortierpuffers festlegen)

Zum Sortieren von Elementen (Datensätze/Tabellenzeilen) verwendet BALTER das BS2000-Dienstprogramm SORT. Mit der Anweisung SORTCORE bestimmen Sie die Größe des Hauptspeicherplatzes für den von SORT genutzten Sortierbereich (siehe Handbuch „SORT (BS2000)" , ALLOC-Anweisung).

[SORTCORE IS nnn.]

nnn

Sie legen die Größe des Speicherplatzes in Einheiten von 4-Kbyte für den Sortierpuffer fest, der dem Dienstprogramm SORT des BS2000 zur Verfügung gestellt wird (siehe Handbuch „SORT (BS2000)" , ALLOC-Anweisung).
Standardwert:150

Das Mengengerüst der zu sortierenden Daten ist das gleiche, das der Größe der Arbeitsdatei-2 zugrunde liegt (siehe "Systemumgebung in der Umstrukturierungsphase" ).

EXECUTION (Umstrukturierungsphase starten/nicht starten)

Mit der Anweisung EXECUTION legen Sie fest, ob BALTER die Änderungen am Schema und an der Speicherstruktur nur in der Analysephase analysieren oder auch bereits den Datenbestand in der Umstrukturierungsphase an die Änderungen anpassen soll.

Diese Anweisung müssen Sie angeben.

EXECUTION IS {YES | NO}.

NO

YES

nur Analysephase

Analysephase und Umstrukturierungsphase

REPORT (Protokollierung anfordern/unterbinden)

Mit der Anweisung REPORT legen Sie fest, ob BALTER ein Analyseprotokoll ausdrucken soll oder nicht (s. Abschnitt Beschreibung des Analyseprotokolls (REPORT-Phase) ).

Diese Anweisung müssen Sie angeben.

REPORT IS {YES | NO}.

YES

NO

BALTER druckt ein Analyseprotokoll aus

BALTER protokolliert nichts

FILL (Felder mit benutzerdefiniertem Wert initialisieren)

Die FILL-Anweisung kann verwendet werden, um neue Felder mit einem benutzerdefinierten Wert zu initialisieren anstatt mit Nullen oder Leerzeichen.

[FILL feldname OF satzname WITH wert.]

Dabei sind feldname und satzname Bezeichner für den Satz und das Feld in dem Satz. Bei feldname muss es sich um ein neues Feld handeln.

Folgende Werte sind möglich:

  • [+,-]n[,n für numerische Werte, wobei n eine Folge von Dezimalzahlen (0-9) ist. Als Trennzeichen für den Integer-Teil und den Nachkomma-Teil wird das Komma (‘,’) verwendet.
  • ‘Z’  für alphanumerische Werte, wobei Z eine Folge von Characterzeichen ist.
  • X’n’  für alle Typen; der Wert wird in Hexadezimaldarstellung eingegeben, wobei n eine gerade Anzahl vonbvHexadezimalzeichen (0-F) ist.

Hinweise für Binärtypen und ungepackte Typen:

Der Wert darf nur ‘+’, ‘-’, Komma und Zahlen von 0 bis 9 enthalten und der ersten Ziffer muss ‘+’ bzw. ‘-’ vorangestellt sein. Die Ziffern müssen rechtsbündig angeordnet sein. Ist dem Wert kein Vorzeichen vorangestellt, so hat er einen positiven Wert. Der Wert darf nicht mehr als ein Komma enthalten.

Hinweise für Datenbankschlüssel:

Der Wert darf nur im Binärformat in Hexadezimaldarstellung eingegeben werden.


Beispiel 1: 

Die Datenbank hat die folgende Struktur (nach der Restrukturierung):

...

RECORD NAME IS

EMPLOYEE .

01 ID1

TYPE IS DATABASE-KEY-LONG.

01 FIRSTNAME

TYPE IS CHARACTER 6.

01 SALARY

TYPE IS FIXED REAL DECIMAL 7,3.

01 DEBT

TYPE IS BINARY 31.



RECORD NAME IS

IMPORTANT-DATA .

01 ID2

TYPE IS DATABASE-KEY-LONG.

01 DATA

PICTURE IS X(200).

...

Kommando zum Starten von BALTER

01

/START-UDS-BALTER

02

REPORT IS YES.

03

EXECUTION IS YES.

04

FILL FIRSTNAME OF EMPLOYEE WITH ‘JOHN’.

05

FILL SALARY OF EMPLOYEE WITH 1535,89.

06

FILL DEBT OF EMPLOYEE WITH -120000.

07

FILL DATA OF IMPORTANT-DATA WITH X’A1B2C3’.

08

END

Der Wert wird in den Datentyp des Feldes feldname konvertiert. Ist dies nicht möglich, so wird die Ausführung von BALTER beendet.
Die maximale Länge des eingegebenen Wertes beträgt 255 Zeichen.

Falls der Wert so lang ist, dass die Länge der FILL Anweisung länger als 72 Zeichen wird, so können Sie die Anweisungen wie im nachfolgenden Beispiel 2 angeben.
BALTER liest jeweils 72 Zeilen bis ein abschliessendes Hochkomma gefunden wird.


Beispiel 2:

FILL DATA OF IMPORTANT-DATA WITH 'DataDataDataDataDataDataDataDataDataDa

taDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDataDa

taData'


Beispiel 3:

Wenn die Datenbank die gleiche Struktur hat und die FILL-Anweisung wie im obigen Beispiel eingegeben wird, dann werden alle Datensätze folgendermaßen aufgefüllt:

FIRSTNAME

‘JOHN ’

SALARY

+1535,890

DEBT

-120 000

DATA

X’A1B2C3’

Wenn ungültige Zeichen für den Wert eingegeben werden oder der Wert nicht in den zugehörigen Typ konvertiert werden kann, dann wird die Ausführung von BALTER beendet und eine Fehlermeldung ausgegeben.

Es wird empfohlen, BALTER zuerst mit der Anweisung ”EXECUTION IS NO” auszuführen und die Fehlermeldungen zu analysieren.

FILLING (Füllgrad von Tabellenseiten festlegen)

Mit der Anweisung FILLING legen Sie den Füllgrad neu aufgebauter Tabellen fest.

Format 1

legt einen prozentualen Füllgrad der neu aufgebauten Tabellen fest.

Format 2

legt eine Mindestgröße für neu aufgebaute Tabellen fest.
Die tatsächlich genutzte Mindestgröße wird jedoch durch die Anzahl der Tabelleneinträge begrenzt, die in eine Datenbankseite passen. Deshalb wirkt Format 2 nur auf kleine Tabellen, also solche die in eine Seite passen.

Format 1

[FILLING IS nnn PERCENT
[ IN SET NAME IS {setname,... | *ALL[ EXCEPT setname,..]}].]

Format 2

[FILLING WITH POPULATION
[ IN SET NAME IS {setname,... | *ALL[ EXCEPT setname,..]}].]

nnn

legt fest, zu wie viel Prozent neu aufzubauende Tabellenseiten gefüllt werden

nnn = 1 ... 100

POPULATION

legt fest, dass zur Bestimmung der Größe neu aufzubauender Tabellen die POPULATION-Klausel in der SSL herangezogen wird.

IN SET NAME IS ...

legt fest, in welchen Sets für neu aufzubauende Tabellen angegebene Füllgrad gilt.Wenn Sie IN SET NAME IS weglassen, wirkt FILLING auf alle neu aufzubauenden Tabellenseiten.

setname,...

der angegebene Füllgrad gilt für neu aufzubauende Tabellen der angegebenen Sets.

*ALL

Der angegebene Füllgrad gilt für alle neu aufzubauenden Tabellen.

*ALL EXCEPT setname,...

Der angegebene Füllgrad gilt für alle neu aufzubauenden Tabellen, außer in den nach EXCEPT angegebenen Sets.


  • Format 1 der Anweisung wirkt auf einstufige Tabellen und auf die Stufe 0 aller mehrstufigen Tabellen, die BALTER neu aufbaut, außer auf Listen.
    Der Standard-Füllgrad für Tabellenseiten auf Stufe 1 beträgt 95%, auf allen darüberliegenden Stufen bleibt jeweils ein Tabelleneintrag frei.
    Geben Sie nnn zu niedrig an, stellt BALTER sicher, dass mindestens ein Eintrag möglich ist.
  • Format 2 der Anweisung wirkt auf einstufige Tabellen die BALTER neu aufbaut, einschließlich Listen.
  • Falls Sie FILLING nicht angeben, bleibt auch auf Stufe 0 ein Eintrag frei.
  • Sie können beide Formate gleichzeitig für denselben Setnamen angeben. Dabei können ggf. mehr freie Tabelleneinträge entstehen, als mit Format 1 angegeben.
  • Sie können die Anweisungen wiederholen und damit vorangegangene Anweisungen desselben Formats ergänzen und korrigieren.
    Es gilt also jeweils für jeden Setnamen die letzte Eingabe.