GET

#### Search Results

Search

# GET

In structured mode and in reporting mode using a `DEFINE DATA LOCAL` statement, the following syntax applies:

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

In reporting mode using no `DEFINE DATA LOCAL` statement, the following syntax applies:

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

This document covers the following topics:

- Function

- Restrictions

- Syntax Description

- Example

For an explanation of the symbols used in the syntax diagram, see Syntax Symbols.

Related 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` | `READLOB` | `RETRY` | `STORE` | `UPDATE` |`UPDATELOB`

Belongs to Function Group: Database Access and Update

## Function

The `GET` statement is used to read a record with a given Adabas Internal Sequence Number (ISN).

The `GET` statement does not cause a processing loop to be initiated.

## Restrictions

- The `GET` statement cannot be used for SQL databases.

- The `GET` statement cannot be used with Entire System Server.

## Syntax Description

Operand Definition Table:

Operand | Possible Structure | Possible Formats | Referencing Permitted | Dynamic Definition
--- | --- | --- | --- | ---
`operand1` | C | S |  |  |  | A |  |  |  |  |  |  |  |  |  |  |  | yes | no
`operand2` | C | S |  |  |  |  | N |  |  |  |  |  |  |  |  |  |  | no | no
`operand3` | C | S |  |  | N |  | N | P | I |  | B * |  |  |  |  |  |  | yes | no
`operand4` |  | S | A |  |  | A | N | P | I | F | B | D | T | L |  |  |  | yes | yes

* Format B of `operand3` may be used only with a length of less than or equal to 4.

Syntax Element Description:

Syntax Element | Description
--- | ---
`view-name` | View Name: In structured mode and in reporting mode using a `DEFINE DATA LOCAL` statement, the name of a view as defined either directly within a `DEFINE DATA` statement or in a separate global or local data area.
`ddm-name` | DDM Name: In reporting mode using no `DEFINE DATA LOCAL` statement, the name of the data definition module (DDM) is referenced.
`PASSWORD=operand1` | PASSWORD Clause/CIPHER Clause: These clauses are applicable only to Adabas and VSAM databases. The `PASSWORD` clause is used to provide a password when retrieving data from an Adabas file which is password protected. The `CIPHER` clause is used to provide a cipher key when retrieving data from an Adabas file which is enciphered. See the statements `FIND` and `PASSW` for further information.
`CIPHER=operand2`
`*ISN / operand3` | Internal Sequence Number: The ISN must be provided either in the form of a numeric constant or user-defined variable (`operand3` in the range from `1` to `4294967295`), or via the Natural system variable `*ISN`. Note For VSAM databases: For VSAM ESDS, the RBA must be contained in a user-defined variable (numeric format) or must be specified as an integer constant. The same rules apply to VSAM RRDS with the exception that the RRN must be provided instead of the RBA.
`(r)` | Statement Reference: The notation `(r)` is used to specify the statement which contains the `FIND` or `READ` statement used to initially read the record. If `(r)` is not specified, the `GET` statement will be related to the innermost active processing loop. `(r)` may be specified as a reference statement number or as a statement label.
`operand4` | Reference to Database Fields: In reporting mode, subsequent references to database fields that have been read with a `GET` statement can contain the label or line number of the `GET` statement.

## Example

    ** 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

#### Output of Program 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

- Function
- Restrictions
- Syntax Description
- Example