Statements nach Funktionen

#### Search Results

Search

# Statements nach Funktionen

Dieses Dokument liefert eine Übersicht über die nach Funktionen eingeteilten Statements:

- Datenbankzugriffe und Datenbankänderungen

- Arithmetische Funktionen und Datenzuweisungen

- Schleifenverarbeitung

- Erstellen von Ausgabe-Reports

- Bildschirmgenerierung für interaktive Verarbeitung

- Verarbeitung logischer Bedingungen

- Aufrufen von Programmen und Subprogrammen

- Functions

- Beenden von Programmen und Sessions

- Verarbeitung von Arbeitsdateien/PC-Dateien

- Komponentenbasierte Programmierung

- Speicherverwaltung für dynamische Variablen/X-Arrays

- Natural Remote Procedure Call

- Internet und Parsing

- Sonstige Statements

- Reporting Mode-Statements

- Statements für Predict Case und Entire DB

Anmerkungen:

1. Manche Statements können sowohl im Structured Mode als auch im Reporting Mode verwendet werden, während andere nur im Reporting Mode verwendet werden können. Siehe auch Natural-Programmiermodi im Leitfaden zur Programmierung
2. Die Statements `DLOGOFF`, `DLOGON`, `SHOW`, `IMPORT` und `EXPORT` sind nur verfügbar, wenn Entire DB installiert ist. Eine Beschreibung dieser Statements finden Sie in der Entire DB-Dokumentation.

## Datenbankzugriffe und Datenbankänderungen

### Natural-DML-Statements

Die folgenden Natural Data Manipulation Language-Statements (DML) dienen zum Zugriff auf und zum Ändern von in einer Datenbank gespeicherten Daten:

`READ` | Lesen einer Datei in physischer oder logischer Reihenfolge der Datensätze.
`READLOB` | Lesen eines LOB-Feldes (Large OBject) in Segmenten feststehender Länge unter Verwendung mehrerer Datenbankaufrufe.
`FIND` | Auswählen von Datensätzen aufgrund bestimmter Kriterien.
`HISTOGRAM` | Lesen von Werten eines Datenbankfeldes.
`GET` | Lesen eines Datensatzes mit einer bestimmten ISN (Internal Sequence Number) bzw. SNR (Record Number).
`GET SAME` | Erneutes Lesen des gerade verarbeiteten Datensatzes.
`ACCEPT/REJECT` | Annehmen/Ablehnen von Datensätzen aufgrund bestimmter Kriterien.
`PASSW` | Angabe eines Passworts zur Zugriffsberechtigung auf eine passwortgeschützte Datei.
`LIMIT` | Begrenzen der Anzahl der Ausführungen einer `READ`-, `FIND`- oder `HISTOGRAM`-Schleife.
`STORE` | Anlegen eines neuen Datensatzes in der Datenbank.
`UPDATE` | Ändern eines Datensatzes in der Datenbank.
`DELETE` | Löschen eines Datensatzes von der Datenbank.
`END TRANSACTION` | Festlegen des Endes einer logischen Transaktion.
`BACKOUT TRANSACTION` | Abbrechen einer nicht vollständig abgeschlossenen logischen Transaktion.
`GET TRANSACTION DATA` | Lesen von Transaktionsdaten, die mit einem vorhergegangenen `END TRANSACTION`-Statement gespeichert wurden.
`RETRY` | Erneuter Versuch, einen Datensatz zu lesen, der vorher von einem anderen Benutzer benutzt wurde.
`AT START OF DATA` | Ausführen von Statements, wenn in einer Schleife der erste Datensatz verarbeitet wird.
`AT END OF DATA` | Ausführen von Statements, nachdem in einer Schleife der letzte Datensatz verarbeitet wurde.
`AT BREAK` | Ausführen von Statements bei einem Wertwechsel in einem bestimmten Feld (Gruppenwechsel).
`BEFORE BREAK PROCESSING` | Ausführen von Statements vor einer Gruppenwechsel-Verarbeitung.
`PERFORM BREAK PROCESSING` | Sofortiges Ausführen einer Gruppenwechsel-Verarbeitung.

### Natural-SQL-Statements

Zusätzlich zu den Natural-DML-Statements bietet Natural auch SQL-Statements zur Benutzung in Natural-Programmen, so dass SQL unmittelbar verwendet werden kann.

Folgende SQL-Statements sind verfügbar:

`CALLDBPROC` | Dient dazu, eine "Stored Procedure" des SQL-Datenbanksystems, mit dem Natural verbunden ist, aufzurufen.
`COMMIT` | Entspricht dem `END TRANSACTION`-Statement. Es markiert das Ende einer logischen Transaktion und bewirkt, dass alle während der Transaktion gesperrten Daten freigegeben werden. Alle Datenänderungen werden gespeichert und sind damit definitiv.
`DELETE` | Löscht Zeilen aus einer Tabelle, ohne einen Cursor zu verwenden ("searched" `DELETE`), oder löscht Zeilen aus einer Tabelle, auf die der Cursor zeigt ("positioned" `DELETE`).
`INSERT` | Fügt einer Tabelle eine oder mehrere neue Reihen hinzu.
`MERGE` | Aktualisiert eine Tabelle mit den angebenen Eingabedaten. Diejenigen Zeilen in der Zieltabelle, die zu den Eingabedaten passen, werden gemäß den Angaben aktualisiert, und Zeilen, welche in der Zieltabelle nicht vorhanden sind, werden eingefügt.
`PROCESS SQL` | Dient dazu, mit SQL-Statements auf eine Datenbank zuzugreifen.
`READ RESULT SET` | Liest eine Ergebnismenge, die von einer mit einem vorhergehenden `CALLDBPROC`-Statement aufgerufenen "Stored Procedure" erzeugt wurde.
`ROLLBACK` | Entspricht dem Natural-DML-Statement `BACKOUT TRANSACTION`. Es macht alle seit dem Beginn der letzten Recovery Unit ausgeführten Datenbankänderungen rückgängig.
`SELECT` | Gemäß der Standard-SQL-Funktionalität unterstützt Natural sowohl das cursor-orientierte `SELECT`, mit dem eine beliebige Anzahl von Tabellenzeilen gelesen werden kann, als auch das nicht cursor-orientierte "singleton" `SELECT`, das maximal eine Zeile liest.
`UPDATE` | Führt `UPDATE`-Operationen auf Zeilen in einer Tabelle aus, ohne einen Cursor zu verwenden ("searched" `UPDATE`), oder auf Spalten in einer Zeile, in der ein Cursor positioniert ist ("positioned" `UPDATE`).

## Arithmetische Funktionen und Datenzuweisungen

Die folgenden Statements werden verwendet, um arithmetische Operationen sowie Datenzuweisungen durchzuführen:

`COMPUTE` | Rechenoperationen ausführen oder Feldern Werte zuweisen.
`ADD` | Addieren von Operanden.
`SUBTRACT` | Subtrahieren von Operanden.
`MULTIPLY` | Multiplizieren von Operanden.
`DIVIDE` | Dividieren eines Operanden durch einen anderen.
`EXAMINE TRANSLATE` | Konvertiert die in einem Feld enthaltenen Zeichen in Groß- oder Kleinbuchstaben oder in andere Zeichen.
`MOVE` | Übertragen eines Operandenwertes in ein Feld oder mehrere Felder.
`MOVE ALL` | Übertragen sämtlicher Werte einer bestimmten Größe in ein anderes Feld.
`COMPRESS` | Aneinanderreihen mehrerer Feldwerte in einem Feld.
`SEPARATE` | Aufteilen eines Feldwertes in zwei oder mehr Felder.
`EXAMINE` | Absuchen eines Feldes nach einem bestimmten Wert und anschließend Ersetzen des Wertes und/oder Zählen, wie oft der Wert vorkommt.
`RESET` | Zurücksetzen eines Feldwertes auf Null (numerisches Feld) bzw. Leerwert (alphanumerisches Feld) oder auf einen Ausgangswert.

## Schleifenverarbeitung

Die folgenden Statements werden in Verbindung mit der Ausführung von Verarbeitungsschleifen verwendet:

`ESCAPE` | Ausführung einer Verarbeitungsschleife abbrechen.
`FOR` | Initiieren einer Verarbeitungsschleife und Steuerung der Anzahl der Schleifendurchläufe.
`REPEAT` | Initiieren einer Verarbeitungsschleife (und Beenden in Abhängigkeit von einer bestimmten Bedingung).
`SORT` | Sortieren von Datensätzen.

## Erstellen von Ausgabe-Reports

Die folgenden Statements werden bei der Erzeugung von Ausgabe-Reports verwendet:

`FORMAT` | Spezifizieren von Ausgabe-Parametern.
`DISPLAY` | Ausgabe von Feldwerten in Spalten untereinander.
`WRITE` / `PRINT` | Ausgabe von Feldwerten ohne Spalteneinteilung.
`WRITE TITLE` | Überschreiben einer Standard-Seitenüberschrift mit einer eigenen Seitenüberschrift.
`WRITE TRAILER` | Ausgabe eines Fußzeilentextes, der auf jeder Ausgabeseite erscheinen soll.
`AT TOP OF PAGE` | Spezifizieren der Verarbeitung, die beim Beginn einer neuen Ausgabeseite ausgeführt werden soll.
`AT END OF PAGE` | Spezifizieren der Verarbeitung, die beim Erreichen des Endes einer Ausgabeseite ausgeführt werden soll.
`SKIP` | Generieren von Leerzeilen in der Ausgabe.
`EJECT` | Seitenvorschub ohne Titel und Überschriften.
`NEWPAGE` | Seitenvorschub mit Titel und Überschriften.
`SUSPEND IDENTICAL SUPPRESS` | Aussetzen der "Identical Suppress"-Bedingung für einen einzelnen Datensatz.
`DEFINE PRINTER` | Bestimmen des Druckers oder logischen Zielorts, an dem ein Report ausgegeben werden soll.
`CLOSE PRINTER` | Schließen eines Druckers.

## Bildschirmgenerierung für interaktive Verarbeitung

Die folgenden Statements werden in Verbindung mit der Verwendung von Bildschirmmasken (Maps) bei interaktiver Datenverarbeitung benutzt:

`INPUT` | Erstellen einer formatierten Map zur Datenausgabe/-eingabe.
`REINPUT` | Erneutes Ausführen eines `INPUT`-Statements (falls die auf das `INPUT`-Statement erfolgte Dateneingabe fehlerhaft war).
`DEFINE WINDOW` | Größe, Position und Attribute eines Windows festlegen.
`SET WINDOW` | Aktivieren und Deaktivieren eines Windows.
`PROCESS PAGE` | Erstellen eines Daten-Mappings auf einen Web Rich GUI-Schirm.
`PROCESS PAGE USING` | Ausführen einer GUI I/O-Verarbeitung unter Verwendung eines aus einem Seiten-Layout erzeugten Objekts vom Typ Adapter.
`PROCESS PAGE UPDATE` | Erneutes Ausführen eines `PROCESS PAGE`-Statements.
`PROCESS PAGE MODAL` | Initiieren eines Verarbeitungsblocks und Kontrolle des Lebenszyklus eines Rich GUI Window.

## Verarbeitung logischer Bedingungen

Mit den folgenden Statements wird die Ausführung von Statements in Abhängigkeit von Bedingungen gesteuert, die während der Ausführung eines Natural-Programms auftreten:

`IF` | Ausführen von Statements aufgrund einer logischen Bedingung.
`IF SELECTION` | Prüfen, ob in einer Reihe von alphanumerischen Feldern genau eins einen Wert enthält.
`DECIDE FOR` | Ausführen von Statements aufgrund von logischen Bedingungen.
`DECIDE ON` | Ausführen von Statements aufgrund des Inhaltes einer Variablen.

## Aufrufen von Programmen und Subprogrammen

Die folgenden Statements werden zum Aufrufen von Programmen und Subprogrammen verwendet:

`CALL` | Aufrufen eines Nicht-Natural-Programms von einem Natural-Programm aus.
`CALLNAT` | Aufrufen eines Natural-Subprogramms.
`CALL FILE` | Aufrufen eines Nicht-Natural-Programms, um einen Datensatz von einer Nicht-Adabas-Datei zu lesen.
`CALL LOOP` | Generieren einer Verarbeitungsschleife, die den Aufruf eines Nicht-Natural-Programms beinhaltet.
`DEFINE SUBROUTINE` | Definieren einer Natural-Subroutine.
`ESCAPE` | Abbrechen eines Subprogramms.
`FETCH` | Aufrufen eines Natural-Programms.
`PERFORM` | Aufrufen einer Natural-Subroutine.
`PROCESS COMMAND` | Aufrufen eines Kommando-Prozessors.
`RUN` | Kompilieren und Ausführen eines Source-Programms.
Function Call | Aufrufen eines Natural-Objekts vom Typ Function.

## Functions

Folgende Natural-Statements dienen zum Erstellen von Functions:

`DEFINE FUNCTION` | Dient zum Erstellen neuer benutzerdefinierter Functions, die anstelle von Operanden in Natural-Statements aufgerufen werden können. Functions werden in Objekten des Typs Function definiert.
`DEFINE PROTOTYPE` | Dient zum Angeben der Eigenschaften, die bei einem Function Call verwendet werden sollen.
Function Call | Dient zum Aufrufen von Natural-Objekten des Typs Function.

## Beenden von Programmen und Sessions

Die folgenden Natural-Statements dienen zum Beenden der Ausführung einer Anwendung oder der Natural-Session.

`STOP` | Beendet die Ausführung einer Anwendung.
`TERMINATE` | Beendet die Natural-Session.

## Verarbeitung von Arbeitsdateien/PC-Dateien

Die folgenden Natural-Statements werden verwendet, um Daten auf eine physisch-sequentielle (nicht-Adabas) Arbeitsdatei zu schreiben bzw. von dieser zu lesen:

`WRITE WORK FILE` | Schreibt Daten auf eine Arbeitsdatei.
`DOWNLOAD PC FILE` | Ermöglicht die Übertragung von Daten von einem Großrechner oder einer UNIX-Plattform auf den PC.
`READ WORK FILE` | Liest Daten von einer Arbeitsdatei.
`UPLOAD PC FILE` | Ermöglicht die Übertragung von Daten von einem PC auf einen Großrechner oder eine UNIX-Plattform.
`CLOSE WORK FILE` | Schließt eine Arbeitsdatei.
`CLOSE PC FILE` | Schließt eine spezifische PC-Arbeitsdatei.
`DEFINE WORK FILE` | Weist einer Arbeitsdatei einen Dateinamen zu.

## Komponentenbasierte Programmierung

Folgende Natural-Statements werden zur komponentenbasierten Programmierung verwendet:

`DEFINE CLASS` | Gibt innerhalb eines Natural-Klassenmoduls eine Klasse an.
`CREATE OBJECT` | Erstellt ein Objekt (auch bekannt als “Instanz”) einer gegebenen Klasse.
`SEND METHOD` | Ruft eine Methode eines Objekts auf.
`INTERFACE` | Definiert eine Schnittstelle (eine Sammlung von Methoden und Eigenschaften) für eine bestimmte Funktion einer Klasse.
`METHOD` | Weist außerhalb einer Schnittstellendefinition ein Subprogramm als Implementierung einer Methode zu.
`PROPERTY` | Weist außerhalb einer Schnittstellendefinition eine Objektdaten-Variable als Implementierung einer Eigenschaft zu.

## Speicherverwaltung für dynamische Variablen/X-Arrays

`EXPAND` | Erweitert den zugewiesenen Speicher für dynamische Variablen auf eine gegebene Größe.
`REDUCE` | Reduziert die Größe einer dynamischen Variablen.
`RESIZE` | Passt die Größe einer dynamischen Variablen an.

## Natural Remote Procedure Call

`OPEN CONVERSATION` | Ermöglicht dem Client, eine Konversation zu öffnen und die Remote-Subprogramme anzugeben, die an der Konversation beteiligt sein sollen.
`CLOSE CONVERSATION` | Ermöglicht dem Client, eine Konversation zu schließen. Sie können die aktuelle Konversation, eine andere offene Konversation oder alle offenen Konversationen schließen.
`DEFINE DATA CONTEXT` | Dient zur Definition von als Kontext-Variablen bekannte Variablen, die für mehrere Subprogramme auf einem externen (Remote-)Rechner innerhalb einer Konversation zur Verfügung stehen sollen, ohne dass Sie die Variablen explizit als Parameter mit den entsprechenden `CALLNAT`-Statements übergeben müssen.

## Internet und Parsing

`PARSE JSON` | Gestattet es, JSON-Dokumente von einem Natural-Programm aus zu parsen.
`PARSE XML` | Gestattet es, XML-Dokumente von einem Natural-Programm aus zu parsen.
`REQUEST DOCUMENT` | Ermöglicht den Zugang zu einem externen System.

## Sonstige Statements

`DEFINE DATA` | Definiert die Datenelemente, die in einem Natural-Programm oder -Subprogramm verwendet werden sollen.
`END` | Zeigt das Ende des Quellcodes eines Natural-Programms bzw. -Subprogramms an.
`INCLUDE` | Einfügen von Natural-Copycode während der Kompilierung.
`ON ERROR` | Abfangen von Laufzeitfehlern, die normalerweise eine Fehlermeldung und den Abbruch des ausgeführten Programms bewirken würden.
`RELEASE` | Löschen aller auf dem Natural-Stack abgelegten Daten; Freigabe aller Daten, die über eine `RETAIN`-Klausel in einem `FIND`-Statement gehalten wurden; Zurücksetzen von globalen Variablen auf die ursprünglichen Werte.
`SET CONTROL` | Ausführen eines Natural-Terminalkommandos aus einem Natural-Programm heraus.
`SET KEY` | Zuweisen von Funktionen zu Funktionstasten.
`SET TIME` | Setzen eines zeitlichen Bezugspunkts für eine `*TIMD`-Systemvariable.
`STACK` | Zwischenlagern von Daten bzw. Kommandos auf dem Natural-Stack.

## Reporting Mode-Statements

Die folgenden Statements gelten nur für den Reporting Mode:

`CLOSE LOOP` | Schließt eine Verarbeitungsschleife.
`DO/DOEND` | Spezifikation einer Gruppe von Statements, die auf der Grundlage einer logischen Bedingung ausgeführt werden sollen.
`OBTAIN` | Bewirkt, dass ein Feld oder mehrere Felder von einer Datei gelesen werden.
`REDEFINE` | Redefiniert ein Feld.

Die folgenden Statements können sowohl im Structured Mode als auch im Reporting Mode benutzt werden, allerdings ist die Statement-Struktur und bei einigen Statements auch die Funktionalität anders:

`AT START OF DATA` | Gibt Statements an, die ausgeführt werden sollen, wenn der erste in einer Reihe von Datensätzen in einer Verarbeitungsschleife verarbeitet wird.
`AT END OF DATA` | Gibt Statements an, die ausgeführt werden sollen, nachdem der letzte einer Reihe von Datensätzen in einer Verarbeitungsschleife verarbeitet wurde.
`AT BREAK` | Gibt Statements an, die ausgeführt werden sollen, wenn sich der Wert eines Kontrollfeldes ändert (Gruppenwechselverarbeitung).
`AT TOP OF PAGE` | Gibt eine Verarbeitung an, die ausgeführt werden soll, wenn eine neue Ausgabeseite gestartet wird.
`AT END OF PAGE` | Gibt eine Verarbeitung an, die ausgeführt werden soll, wenn das Ende einer Ausgabeseite erreicht ist.
`BEFORE BREAK PROCESSING` | Gibt Statements an, die vor Durchführung des Gruppenwechsels ausgeführt werden sollen.
`CALL LOOP` | Erzeugt eine Verarbeitungsschleife, die einen Aufruf an ein Nicht-Natural-Programm enthält.
`CALL FILE` | Ruft ein Nicht-Natural-Programm auf, um einen Datensatz aus einer Nicht-Adabas-Datei zu lesen.
`COMPUTE` | Führt arithmetische Operationen durch oder weist Feldern Werte zu.
`DEFINE SUBROUTINE` | Definiert eine Natural-Subroutine.
`ESCAPE` | Hält die Ausführung einer Verarbeitungsschleife an.
`FIND` | Wählt nach Benutzerkriterien Datensätze aus einer Datenbank- Datei aus.
`GET SAME` | Liest den gerade verarbeiteten Datensatz wieder ein.
`HISTOGRAM` | Liest die Werte eines Datenbankfeldes.
`IF` | Führt Statements in Abhängigkeit von einer logischen Bedingung aus.
`IF SELECTION` | Prüft, ob in einer Reihe von alphanumerischen Feldern wirklich nur einen Wert enthält.
`ON ERROR` | Fängt Laufzeitfehler ab, die ansonsten zu einer Natural-Fehlermeldung führen würden und beendet dann das Natural-Programm.
`READ` | Liest eine Datenbank-Datei in physischer oder logischer Reihenfolge der Datensätze.
`READ WORK FILE` | Liest Daten aus einer Arbeitsdatei.
`REPEAT` | Initiiert eine Verarbeitungsschleife (und beendet sie abhängig von einer angegebenen Bedingung).
`SORT` | Sortiert Datensätze.
`STORE` | Fügt der Datenbank einen neuen Datensatz hinzu.
`UPDATE` | Aktualisiert einen Datensatz in der Datenbank.
`UPLOAD PC FILE` | Ermöglicht die Übertragung von Daten von einem PC auf einen Großrechner oder eine UNIX-Plattform.

## Statements für Predict Case und Entire DB

Die folgenden Natural-Statements können in Verbindung mit Predict Case und Entire DB Engine verwendet werden:

- `DLOGOFF/DLOGON`

- `IMPORT`

- `EXPORT`

- `SHOW`

Weitere Informationen zu diesen Statements entnehmen Sie der Predict Case Documentation.

### On this page

- Datenbankzugriffe und Datenbankänderungen
- Arithmetische Funktionen und Datenzuweisungen
- Schleifenverarbeitung
- Erstellen von Ausgabe-Reports
- Bildschirmgenerierung für interaktive Verarbeitung
- Verarbeitung logischer Bedingungen
- Aufrufen von Programmen und Subprogrammen
- Functions
- Beenden von Programmen und Sessions
- Verarbeitung von Arbeitsdateien/PC-Dateien
- Komponentenbasierte Programmierung
- Speicherverwaltung für dynamische Variablen/X-Arrays
- Natural Remote Procedure Call
- Internet und Parsing
- Sonstige Statements
- Reporting Mode-Statements
- Statements für Predict Case und Entire DB