GET

#### Search Results

Search

# GET

Im Structured Mode sowie im Reporting Mode mit einem `DEFINE DATA LOCAL`-Statement gilt die folgende Syntax:

`GET` | [`IN`] [`FILE`] view-name |  |
| [`PASSWORD``=`operand1] |  |
| [`CIPHER``=`operand2] |  |
|  |  | [`RECORD`] |  |  |  | operand3 |  |
| [`RECORDS`] | *`ISN` [(r) ]

Im Reporting Mode ohne `DEFINE DATA LOCAL`-Statement gilt die folgende Syntax:

`GET` | [`IN`] [`FILE`] ddm-name |  |
| [`PASSWORD``=`operand1] |  |
| [`CIPHER``=`operand2] |  |
|  |  | [`RECORD`] |  |  |  | operand3 |  | operand4
| [`RECORDS`] | *`ISN` [(r) ]

Dieses Dokument behandelt folgende Themen:

- Funktion

- Einschränkungen

- Syntax-Beschreibung

- Beispiel

Eine Erläuterung der in dem Syntax-Diagramm verwendeten Symbole entnehmen Sie dem Abschnitt Syntax-Symbole.

Verwandte Statements: `ACCEPT/REJECT` | `AT BREAK` | `AT START OF DATA` | `AT END OF DATA` | `BACKOUT TRANSACTION` | `BEFORE BREAK PROCESSING` | `DELETE` | `END TRANSACTION` | `FIND` | `GET SAME` | `GET TRANSACTION` | `HISTOGRAM` | `LIMIT` | `PASSW` | `PERFORM BREAK PROCESSING` | `READ` | `RETRY` | `STORE` | `UPDATE`

Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen

## Funktion

Das Statement `GET` dient dazu, einen Datensatz mit einer bestimmten Adabas-ISN (Interne Satz-Nummer) zu lesen.

Das `GET`-Statement löst keine Verarbeitungsschleife aus.

## Einschränkungen

- Das `GET`-Statement kann nicht für SQL-Datenbanken verwendet werden.

- Mit Entire System Server kann das `GET`-Statement nicht verwendet werden.

## Syntax-Beschreibung

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 | C | S |  |  |  | A |  |  |  |  |  |  |  |  |  |  |  | ja | nein
operand2 | C | S |  |  |  |  | N |  |  |  |  |  |  |  |  |  |  | nein | nein
operand3 | C | S |  |  | N |  | N | P | I |  | B * |  |  |  |  |  |  | ja | nein
operand4 |  | S | A |  |  | A | N | P | I | F | B | D | T | L |  |  |  | ja | ja

* Format B von operand3 kann nur mit einer Länge von kleiner als oder gleich 4 benutzt werden.

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`view-name` | View-Name: Im Structured Mode sowie im Reporting Mode mit einem `DEFINE DATA LOCAL`-Statement ist `view-name` der Name eines Views, der entweder direkt in einem `DEFINE DATA`-Statement oder in einer separaten Global oder Local Data Area definiert ist.
`ddm-name` | DDM-Name: Im Reporting Mode ohne `DEFINE DATA LOCAL`-Statement ist `ddm-name` der Name eines DDMs.
`PASSWORD=operand1` | PASSWORD-Klausel/CIPHER-Klausel: Diese beiden Klauseln sind nur auf Adabas- und VSAM-Datenbanken anwendbar. Die `PASSWORD`-Klausel dient dazu, ein Passwort anzugeben, um auf Daten einer passwort-geschützten Adabas-Datei zugreifen zu können. Die `CIPHER`-Klausel dient dazu, einen Cipher-Code (Chiffrierschlüssel) anzugeben, um in chiffrierter Form gespeicherte Adabas-Daten in entschlüsselter Form zu erhalten. Näheres hierzu siehe `FIND`- und `PASSW`-Statement.
`CIPHER=operand2`
`*ISN / operand3` | Interne Sequenz-Nummer: Die ISN kann als numerische Konstante oder Benutzervariable (operand3) oder über die Natural-Systemvariable `*ISN` angegeben werden. Anmerkung Bei VSAM-Datenbanken: Für VSAM-ESDS muss die RBA in einer numerischen Benutzervariablen enthalten sein oder als Ganzzahl-Konstante angegeben werden. Dasselbe gilt für VSAM-RRDS, außer dass hier statt der RBA die RRN angegeben werden muss.
`(r)` | Statement-Referenz: Die Notation `(r)` wird benutzt, um das Statement anzugeben, welches das zum ersten Lesen des Datensatzes benutzte `FIND`- oder `READ`-Statement enthält. Wenn `(r)` nicht angegeben wird, bezieht sich das `GET`-Statement auf die innerste aktive Verarbeitungsschleife. `(r)` kann als Statement-Label oder Sourcecode- Zeilennummer angegeben werden.
`operand4` | Referenz auf Datenbank-Felder: Eine spätere Referenzierung von Datenbankfeldern, die mit einem `GET`-Statement gelesen wurden, kann entweder unter Angabe eines Statement-Labels oder über die Sourcecode-Zeilennummer des `GET`-Statements erfolgen.

## Beispiel

    ** Example 'GETEX1': GET
    ************************************************************************
    DEFINE DATA LOCAL
    1 PERSONS VIEW OF EMPLOYEES
      2 PERSONNEL-ID
      2 NAME
      2 FIRST-NAME
    1 SALARY-INFO VIEW OF EMPLOYEES
      2 NAME
      2 CURR-CODE (1:1)
      2 SALARY    (1:1)
    *
    1 #ISN-ARRAY  (B4/1:10)
    1 #LINE-NR    (N2)
    END-DEFINE
    *
    FORMAT PS=16
    LIMIT 10
    READ PERSONS BY NAME
      MOVE *COUNTER TO #LINE-NR
      MOVE *ISN     TO #ISN-ARRAY (#LINE-NR)
      DISPLAY #LINE-NR PERSONNEL-ID NAME FIRST-NAME
      /*
      AT END OF PAGE
        INPUT / 'PLEASE SELECT LINE-NR FOR SALARY INFORMATION:' #LINE-NR
        IF #LINE-NR = 1 THRU 10
          GET SALARY-INFO #ISN-ARRAY (#LINE-NR)
          WRITE / SALARY-INFO.NAME
                  SALARY-INFO.SALARY    (1)
                  SALARY-INFO.CURR-CODE (1)
        END-IF
      END-ENDPAGE
      /*
    END-READ
    END

Ausgabe des Programms `GETEX1`:

    Page      1                                                  05-01-13  13:17:42

    #LINE-NR PERSONNEL         NAME              FIRST-NAME
                ID
    -------- --------- -------------------- --------------------

      1      60008339  ABELLAN              KEPA
      2      30000231  ACHIESON             ROBERT
      3      50005800  ADAM                 SIMONE
      4      20008800  ADKINSON             JEFF
      5      20009800  ADKINSON             PHYLLIS
      6      20012700  ADKINSON             HAZEL
      7      20013800  ADKINSON             DAVID
      8      20019600  ADKINSON             CHARLIE
      9      20008600  ADKINSON             MARTHA
     10      20005700  ADKINSON             TIMMIE

    PLEASE SELECT LINE-NR FOR SALARY INFORMATION: 1

    ABELLAN                 1450000 PTA

### On this page

- Funktion
- Einschränkungen
- Syntax-Beschreibung
- Beispiel