GET SAME

#### Search Results

Search

# GET SAME

#### Structured Mode-Syntax

`GET SAME` [(r)]

#### Reporting Mode-Syntax

`GET SAME` [(r)] [operand1 ]

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` | `GET TRANSACTION DATA` | `HISTOGRAM` | `LIMIT` | `PASSW` | `PERFORM BREAK PROCESSING` | `READ` | `RETRY` | `STORE` | `UPDATE`

Gehört zur Funktionsgruppe: Datenbankzugriffe und Datenbankänderungen

## Funktion

Das Statement `GET SAME` dient dazu, einen Datensatz, der gerade verarbeitet wird, erneut zu lesen. Das Statement wird in der Regel dazu verwendet, Werte von Datenbank-Arrays (Periodengruppen oder multiplen Feldern) zu erhalten, falls die Nummer(n) und der Bereich der vorhandenen bzw. gewünschten Ausprägung(en) nicht bekannt war, als der Datensatz zum erstenmal gelesen wurde.

## Einschränkungen

- Das Statement `GET SAME` ist nur beim Zugriff auf Adabas- oder VSAM-Datenbanken gültig.

- Mit Entire System Server ist dieses Statement nicht verfügbar.

- Bei VSAM-Datenbanken gilt `GET SAME` nur für ESDS und RRDS. Für ESDS muss die RBA in einer numerischen Benutzervariablen enthalten sein oder als Ganzzahl-Konstante angegeben werden. Dasselbe gilt für RRDS, außer dass hier statt der RBA die RRN angegeben werden muss.

- Bei einem `UPDATE`- oder `DELETE`-Statement darf keine Referenzierung auf ein `GET SAME`-Statement erfolgen; vielmehr sollten diese Statements das `FIND`-, `READ`- oder `GET`-Statement referenzieren, mit dem der betreffende Datensatz ursprünglich gelesen wurde.

## Syntax-Beschreibung

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 |  | S | A |  |  | A | U | N | P |  |  | B |  |  |  |  |  |  | nein | ja

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`(r)` | Statement-Referenz: Die Notation `(r)` wird benutzt, um das Statement anzugeben, das das `FIND`- oder `READ`-Statement enthält, mit dem der Datensatz zum erstenmal gelesen wurde. Falls keine Referenzierung erfolgt, bezieht sich das `GET SAME`-Statement auf die innerste aktive Verarbeitungsschleife. `(r)` kann als ein Statement-Label oder eine Quellcode- Zeilennummer angegeben werden.
`operand1` | Angabe der Felder: Als operand1 geben Sie das Feld bzw. die Felder an, deren Werte Sie mit dem `GET SAME`-Statement erhalten wollen. Anmerkung operand1 kann nicht angegeben werden, wenn das Feld in einem `DEFINE DATA`-Statement definiert ist.

## Beispiel

    ** Example 'GSAEX1': GET SAME
    ************************************************************************
    DEFINE DATA LOCAL
    1 I                (P3)
    1 POST-ADDRESS VIEW OF EMPLOYEES
      2 FIRST-NAME
      2 NAME
      2 ADDRESS-LINE   (I:I)
      2 C*ADDRESS-LINE
      2 POST-CODE
      2 CITY
    *
    1 #NAME            (A30)
    END-DEFINE
    *
    FORMAT PS=20
    MOVE 1 TO I
    *
    READ (10) POST-ADDRESS BY NAME
      COMPRESS NAME FIRST-NAME INTO #NAME WITH DELIMITER ','
      WRITE // 12T #NAME
      WRITE /  12T ADDRESS-LINE (I.1)
      /*
      IF C*ADDRESS-LINE > 1
        FOR I = 2 TO C*ADDRESS-LINE
          GET SAME                      /* READ NEXT OCCURRENCE
          WRITE 12T ADDRESS-LINE (I.1)
        END-FOR
      END-IF
      WRITE / POST-CODE CITY
      SKIP 3
    END-READ
    END

Ausgabe des Programms `GSAEX1`:

    Page      1                                                  05-01-13  13:23:36

               ABELLAN,KEPA

               CASTELAN 23-C

    28014      MADRID

               ACHIESON,ROBERT

               144 ALLESTREE LANE
               DERBY
               DERBYSHIRE

    DE3 4TR    DERBY

### On this page

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