INPUT-Syntax 1 — Dynamisch generierter Eingabeschirm

#### Search Results

Search

# INPUT-Syntax 1 — Dynamisch generierter Eingabeschirm

Diese Form des `INPUT`-Statements wird dazu verwendet, entweder einen Eingabe-Schirm zu generieren oder ein Eingabedaten-Layout zu erstellen, das (auf Großrechnern) im Batch-Betrieb von einer sequentiellen Eingabedatei gelesen werden kann.

`INPUT` | [`WINDOW=`'window-name'] [`NO ERASE`]
| [(statement-parameters)]
| [WITH-TEXT-option]
| [MARK-option]
| [ALARM-option]
|  | n `X` n `T` x/y / |  |  |  |  | 'text' 'c' (n) |  | [(attributes)] |  |  |  |
| '-' '=' |  |  | `*IN` `*OUT` `*OUTIN` |  | {operand1 [(parameter)]}

Dieses Dokument behandelt folgende Themen:

- INPUT Syntax 1 — Beschreibung

- Beispiele — Verwendung von Syntax 1

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

## INPUT Syntax 1 — Beschreibung

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand1 |  | S | A | G | N | A | U | N | P | I | F | B | D | T | L |  | G |  | ja | ja

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`INPUT WINDOW='window-name'` | Eingabe-Fenster: Mit der Option `WINDOW='window-name'` bewirken Sie, dass das `INPUT`-Statement für das angegebene Fenster (Window) ausgeführt werden soll. Das angegebene Fenster muss in einem `DEFINE WINDOW`-Statement definiert sein; siehe Beispiel 2 — INPUT-Statement mit DEFINE WINDOW-Statement weiter unten. Das angegebene Fenster ist nur für die Dauer des betreffenden `INPUT`-Statements aktiv und wird nach Ausführung des `INPUT`-Statements automatisch deaktiviert. Siehe auch die Statements `DEFINE WINDOW` und `SET WINDOW`.
`NO ERASE` | Überlagerte Anzeige: `NO ERASE` bewirkt, dass die vom `INPUT`-Statement ausgegebene Schirmanzeige eine bereits vorhandene Anzeige überlagern kann, ohne letztere zu löschen. Schirm bezieht sich in diesem Zusammenhang auf die logische Ausgabe und nicht auf den physischen Bildschirm. Alle ungeschützten Felder auf dem alten Schirm werden geschützt, so dass keine Eingaben mehr in sie gemacht werden können. Die alten Daten bleiben auf dem Schirm, bis der neue Schirm angezeigt wird. Überlagert ein Feld des neuen Schirms teilweise ein altes, so werden das Zeichen vor dem neuen Feld und das nächste Zeichen im alten Feld durch ein Leerzeichen ersetzt.
`statement-parameters` | Parameter auf Statement-/Feldebene: Unmittelbar nach dem Schlüsselwort `INPUT` oder nach einem der auszugebenden Felder können Sie in Klammern einen oder mehrere Session-Parameter setzen. Eine Liste der mit dem INPUT-Statement anzugebenden Parameter finden Sie im Abschnitt Statement-Parameter weiter unten. Diese Parameter haben dann für das jeweilige Statement oder Feld Gültigkeit statt der betreffenden mit einem `GLOBALS`-Kommando, `SET GLOBALS`- oder `FORMAT`-Statement gesetzten Parameter. Werden mehrere Parameter angegeben, müssen sie jeweils durch ein oder mehrere Leerzeichen voneinander getrennt werden. Die Angabe eines Parameters darf sich nicht über zwei Sourcecode-Zeilen erstrecken. Die hier gültigen Parameter-Einstellungen kommen nur für Variablen-Felder in Betracht, haben aber keine Auswirkungen auf Text-Konstanten. Wenn Sie Feldattribute für eine Text-Konstante setzen möchten, dann müssen Sie explizit für dieses Element gesetzt werden. Beispiel:
    DEFINE DATA LOCAL
    1 VARI (A4)     INIT <'1234'>                  /*    Displays
    END-DEFINE                                     /*       as
    FORMAT AD=M                                    /*    ---------
    INPUT           'Text'           VARI          /*    Text 1234
    INPUT (PM=I)    'Text'           VARI          /*    Text 4321
    INPUT           'Text' (PM=I)    VARI (PM=I)   /*    txeT 4321
    INPUT           'Text' (PM=I)    VARI          /*    txeT 1234
    END
Beispiele für den Einsatz von Parametern auf Statement- und Element-Ebene finden Sie auf den folgenden Seiten.
`WITH TEXT-option` | Textausgabe in Meldungszeile: Diese Option dient dazu, Text anzugeben, der in der Meldungszeile ausgegeben werden soll (siehe den ensprechenden Abschnitt weiter unten).
`MARK-option` | Cursorposition im Feld: Siehe Abschnitt MARK-Option weiter unten.
`ALARM-option` | Warntonausgabe: Siehe Abschnitt Alarm-Option weiter unten.
`Other syntax elements (nX, nT, x/y, operand1 usw.)` | Sonstige Syntax-Elemente: Siehe Abschnitt Feldpositionierung, Text, Attributzuweisung weiter unten.

### Statement-Parameter

Parameter, die mit dem INPUT-Statement angegeben werden können: | Spezifikation
--- | ---
S=auf Statement-Ebene
E=auf Element-Ebene
AD | Attribute Definition | SE
AL | Alphanumeric Length for Output | SE
BX | Box Definition | SE
CD | Color Definition | SE
CV | Control Variable | SE
DF | Date Format | SE
DL | Display Length for Output | SE
DY | Dynamic Attributes | SE
EM | Edit Mask | SE
EMU | Unicode Edit Mask | E
FL | Floating Point Mantissa Length | SE
HE | Helproutine | SE
IP | Input Prompting Text | SE
LS | Line Size | S
MC | Multiple-Value Field Count | S
MS | Manual Skip | S
NL | Numeric Length for Output | SE
PC | Periodic Group Count | S
PM | Print Mode | SE
PS | Page Size * | S
SB | Selection Box | E
SG | Sign Position | SE
ZP | Zero Printing | SE

* Wenn die Anzahl der Ausprägungen eines Arrays den `PS`-Wert überschreitet, wird ein NAT0303-Fehler ausgegeben.

Beschreibungen der einzelnen Session-Parameter sind in der Parameter-Referenz enthalten.

### WITH TEXT-Option

[`WITH`] `TEXT` |  | `*` operand1 operand2 |  | [(attributes)][,operand3] 7

Operanden-Definitionstabelle:

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

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

Diese Option dient dazu, Text anzugeben, der in der Meldungszeile ausgegeben werden soll. In der Regel handelt es sich dabei um eine Meldung, was auf dem jeweiligen Schirm getan werden soll bzw. wie eine falsche Eingabe korrigiert werden soll.

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`operand1` | Meldungstext aus der Natural-Fehlermeldungsdatei: Als operand1 geben Sie eine Natural-Fehlernummer an. Natural liest dann die entsprechende Fehlermeldung von der Natural- Fehlermeldungsdatei. Es können entweder benutzerdefinierte Meldungen oder Natural-Systemmeldungen gelesen werden. Wenn Sie einen positiven Wert von bis zu vier Ziffern (zum Beispiel: `0954`) angeben, werden benutzerdefinierte Meldungen gelesen. Wenn Sie einen negativen Wert von bis zu vier Ziffern (zum Beispiel `−0954`) angeben, werden Natural-Systemmeldungen gelesen. Siehe auch `REINPUT`-Statement, Beispiel 4 − WITH TEXT-Optionen. Natural-Fehlermeldungsdateien werden mit der `SYSERR`-Utility erstellt und gepflegt. Die Natural-Fehlermeldungen sind in der Messages and Codes-Dokumentation enthalten.
`operand2` | Eigener Meldungstext: Als operand2 geben Sie den Text an, der in der Meldungszeile ausgegeben werden soll. Siehe `REINPUT`-Statement, Beispiel 4 − WITH TEXT-Optionen.
`attributes` | Ausgabeattribute: Als attributes können Sie operand1 oder operand2 bestimmte Anzeige- und Farbattribute zuordnen. Diese Attribute und die benutzbare Syntax sind im Abschnitt Ausgabeattribute weiter unten beschrieben.
`operand3` | Dynamische Meldungstext-Komponente: operand3 kann in Form einer numerischen Konstanten oder Textkonstanten oder als Name einer Variablen angegeben werden. Der entweder mit operand1 oder operand2 angegebene Wert dient dazu, einen Teil der Meldung zu ersetzen und dynamisch zu generieren. Innerhalb der Fehlermeldung dient die Notation `:n:` zur Referenzierung von operand3, wobei n die Ausprägung (`1 − 7`) von operand3 darstellt. Siehe REINPUT-Statement, Beispiel 4 - WITH TEXT-Optionen. Anmerkungen: Wird operand3 mehrmals angegeben, müssen diese Operanden mit einem Komma voneinander getrennt werden. Falls das Komma als Dezimalzeichen verwendet wird (wie mit dem Session-Parameter `DC` definiert) und es sich bei operand3 um numerische Konstanten handelt, setzen Sie Leerzeichen vor und nach dem Komma, damit es nicht als Dezimalkomma missinterpretiert wird. Alternativ können mehrere Ausprägungen von operand3 auch mit dem Input-Delimiterzeichen (wie mit dem Session-Parameter `ID` definiert) voneinander getrennt werden; dies geht jedoch nicht bei `ID=/` (Schrägstrich), da der Schrägstrich in der Syntax des `INPUT`-Statements eine andere Bedeutung hat. Nicht signifikante Nullen oder Leerzeichen werden aus dem Feldwert entfernt, bevor er in einer Meldung angezeigt wird.

#### Ausgabeattribute

attributes gibt die für die Text-Anzeige zu benutzenden Ausgabe-Attribute an. Es gibt die folgenden Attribute:

|  | `AD`=AD-value `BX`=BX-value `CD`=CD-value `PM`=PM-value |  |
| AD-value CD-value |

Die möglichen Parameterwerte sind in der Parameter-Referenz aufgeführt.

- AD - Attribute Definition, Abschnitt Feldanzeige

- CD - Color Definition

- BX - Box Definition

- PM - Print Mode

Anmerkung
Der Compiler akzeptiert tatsächlich mehr als einen Attributwert für ein Ausgabefeld. Zum Beispiel können Sie Folgendes angeben: `AD=BDI`. In solch einem Fall gilt allerdings nur der letzte Wert. Im hier gezeigten Beispiel erhält nur der Wert `I` Gültigkeit, und das Ausgabefeld wird intensiviert (hell hervorgehoben) angezeigt.

### MARK-Option

Mit `MARK POSITION` können Sie bewirken, dass der Cursor in einem beliebigen, nicht geschützten Feld auf dem Bildschirm platziert wird. Zusätzlich können Sie die Position des Cursors innerhalb dieses Feldes bestimmen.

Standardmäßig, das heisst, wenn Sie die `MARK POSITION` weglassen, wird der Cursor an den Anfang des ersten, nicht geschützten Feldes positioniert.

`MARK` [`POSITION` operand4 [`IN`]] [`FIELD`] |  | operand1 *fieldname |

Operanden-Definitionstabelle:

Operand | Mögliche Struktur | Mögliche Formate | Referenzierung erlaubt | Dynam. Definition
--- | --- | --- | --- | ---
operand4 | C | S |  |  |  |  | N | P | I |  |  |  |  |  |  |  |  | ja | ja
operand1 | C | S | A |  |  |  | N | P | I |  |  |  |  |  |  |  |  | ja | ja

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`operand1` | Feldnummer für Referenzierung: operand1 gibt die Nummer des Feldes an, in dem der Cursor platziert werden soll: Jedem in einem `INPUT`-Statement angegebenen Feldattribut `AD=A` oder `AD=M` (d.h. ein ungeschütztes Feld) wird eine Feldreferenz- Nummer zugewiesen. Der Startwert ist 1.
`*fieldname` | Feldname für Referenzierung: Anstelle der Feldnummer können Sie den Feldnamen angeben, um den Cursor in ein bestimmtes Feld zu platzieren. Dazu verwenden Sie die Notation `*fieldname`.
`operand4` | Cursorposition im referenzierten Feld: Mit `MARK POSITION` können Sie den Cursor an eine bestimmte Stelle — die Sie mit operand4 angeben — innerhalb des mit operand1 oder `*fieldname` angegebenen Feldes platzieren. operand4 darf keine Dezimalstellen enthalten.

#### Beispiele:

    MARK #NUMBER               /* Field number
    MARK 3                     /* Third map field
    MARK *#FIELD1              /* Map field
    MARK POSITION 3 IN #NUMBER /* Third character in field number

Siehe auch Beispiel 3 — INPUT-Statement mit MARK POSITION-Option weiter unten.

### ALARM-Option

Diese Option bewirkt, dass der Warnton des Terminals ausgelöst wird, wenn das `INPUT`-Statement ausgeführt wird. Voraussetzung ist, dass die verwendete Terminal-Hardware dies ermöglicht.

[[`AND`] [`SOUND`] `ALARM`]

#### Text vor einem Feld

Ist der Session-Parameter `IP` nicht auf `IP=OFF` gesetzt, so wird der jeweilige Feldname vor dem Feldwert (Forms-Modus) oder als Aufforderung, ein Feld auszuwählen, (Keyword/Delimiter-Modus) angezeigt. Wenn Sie vor dem Feld `'-'` angeben, wird der Feldname nicht angezeigt; wenn Sie einen `'text'` angeben, wird dieser statt des Feldnamens angezeigt.

### Feldpositionierung, Text, Attributzuweisung

|  |  |  | 'text' [(attributes)] |  |  |  |  |
| n `X` |  | 'c' (n) [(attributes)] |  | `*IN` |  | {operand1 [(parameter(s))]}
n `T` | `'-'` | `*OUT`
x /y | `'='` | `*OUTIN`
|  |  | `/` |  |  |  |

Verschiedene Notationen stehen zur Feldpositionierung, Texterstellung und Attributzuweisung zur Verfügung.

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`nX` | Leerstellen zwischen Spalten: Fügt zwischen den Feldern n Leerstellen ein. Anmerkung Diese Notation fügt zwischen den Spalten n Leerstellen ein. n darf nicht `0` sein.
`nT` | Tabulator für Feldausgabe: Setzt einen Tabulator, d.h. die Ausgabe eines Feldes beginnt ab Spalte n.
`x/y` | Ausgabeposition für nächstes Feld: Gibt das nachfolgende Element in Zeile x ab Spalte y aus. y darf nicht `0` sein. Rückwärtspositionierung in derselben Zeile ist nicht möglich.
`'text'` | Textausgabe: In Apostrophen angegebener Text wird schreibgeschützt ausgegeben. Siehe auch den Abschnitt Text-Notation, Unterabschnitt Mit einem Statement zu benutzenden Text definieren.
`'c' (n)` | Wiederholungszeichen: Wie `'text'`. Aber das Zeichen c (character) wird n-mal ausgegeben. n darf `1 − 132` sein. Siehe auch den Abschnitt Text-Notation, Unterabschnitt Vor einem Feldwert n mal anzuzeigendes Zeichen definieren..
`attributes` | Ausgabeattribute: Dient zum Setzen der Anzeigeattribute. Siehe Attribute weiter unten.
`'-'` | Unterdrückung des Feldnamens: Die Notation `'-'` unmittelbar vor einem Feld bewirkt, dass die Anzeige des Feldnamens vor dem Feld unterdrückt wird. Anmerkung Eine Textkette vor einem Feld ersetzt den Feldnamen als Eingabeaufforderungstext.
`'='` | Feldüberschrift-Ausgabe: Die Notation `'='` unmittelbar vor einem Feld bewirkt, dass unmittelbar vor dem Feldwert die Feldüberschrift ausgegeben wird.
`'/'` | Zeilenvorschub: Ein Schrägstrich `'/'` zwischen zwei Feldern oder Textelementen bewirkt einen Zeilenvorschub, d.h. das nachfolgende Element wird in der nächsten Zeile ausgegeben. Felder können als reine Eingabefelder (Session-Parameter `AD=A`), reine Ausgabefelder (`AD=O`) oder als modifizierbare Ausgabefelder (`AD=M`) definiert werden. Standardmäßig gilt `AD=A`. Felder, die mit `AD=A` oder `AD=M` definiert sind, werden als ungeschützte Felder ausgegeben, d.h. der Benutzer hat die Möglichkeit, Daten in diese Felder einzugeben. Bei TTY-Geräten beansprucht die Ausgabe modifizierbarer Felder die doppelte Feldgröße (einmal für Ausgabe und einmal für Eingabe), damit ein neuer Wert eingegeben werden kann. Bei TTY-Bildschirmen beginnt ein Eingabefeld (`AD=A` oder `AD=M`), dessen Wert bei der Eingabe nicht angezeigt wird (Feldattribut `N`), immer in einer neuen Zeile. Beispiel:
    INPUT #A (AD=A) #B (AD=O) #C (AD=M)
`#A` ist ein Eingabefeld (ungeschützt), in das ein Wert eingegeben werden kann. `#B` ist ein Ausgabefeld (schreibgeschützt), dessen angezeigter Wert nicht überschrieben werden kann. `#C` ist ein Feld, dessen ausgegebener Wert verändert werden kann, indem er durch einen neuen Wert überschrieben wird.
`*IN, *OUT und *OUTIN` | Feldattribute: Entspricht den Feldattributen, die mit dem Session-Parameter `AD` gesetzt werden können: `AD=A`, `AD=O` bzw. `AD=M`. Anmerkung Wenn eine nicht änderbare Systemvariable in einem `INPUT`-Statement benutzt wird, wird der Wert als ein reines Ausgabefeld `AD=O` oder `*OUT`-Attribut anzeigt.
`operand1` | Zu verwendende Felder: Als operand1 geben Sie das zu verwendende Feld an. Sie können Datenbankfelder oder Benutzervariablen angeben. Natural überträgt den Inhalt eines Feldes direkt vom Datenbereich an das `INPUT`-Statement; eine `MOVE`-Operation ist hierzu nicht erforderlich. Ändert sich der Wert eines Datenbankfeldes aufgrund einer `INPUT`-Verarbeitung, so betrifft dies nur den Feldwert im Datenbereich. Um den Wert eines Feldes auf der Datenbank zu ändern, sind entsprechende `UPDATE`- bzw. `STORE`-Statements erforderlich. Wird in einem `INPUT`-Statement der Name einer Gruppe von Datenbankfeldern referenziert, so werden alle in der Gruppe enthaltenen Felder einzeln als Eingabefelder verwendet. Wird ein Bereich von Ausprägungen eines Arrays referenziert, so wird jede Ausprägung einzeln als Eingabefeld verarbeitet; allerdings wird nur der ersten Ausprägung ein Text oder der Feldname vorangestellt. Auf Großrechnern können keine Arrays mit Bereichen angegeben werden, die es ermöglichen, zur Ausführungszeit die Anzahl der Ausprägungen zu variieren.
`parameter(s)` | Statement-Parameter: Unmittelbar nach operand1 können Sie in Klammern einen oder mehrere Parameter angeben (siehe Tabelle Statement-Parameter und folgendes Beispiel). Diese Parameter haben dann für das jeweilige Feld Gültigkeit statt der betreffenden mit einem `GLOBALS`-Kommando, `SET GLOBALS`- (im Reporting Mode) oder `FORMAT`-Statement gesetzten Parameter. Werden mehrere Parameter angegeben, müssen sie jeweils durch ein oder mehrere Leerzeichen voneinander getrennt werden. Die Angabe eines Parameters darf sich nicht über zwei Sourcecode-Zeilen erstrecken. Die hier gültigen Parameter-Einstellungen kommen nur für Variablenfelder in Betracht, haben aber keine Auswirkung auf Textkonstanten. Wenn Sie Feldattribute für eine Textkonstante setzen möchten, müssen Sie explizit für dieses Element gesetzt werden. Informationen zu den einzelnen Parametern entnehmen Sie der Tabelle im Abschnitt Statement-Parameter. Anmerkung Ist für ein Datenbankfeld eine Editiermaske definiert, so wird der Editiermasken-Parameter `EM` dynamisch im entsprechenden DDM referenziert. Editiermasken können für Eingabe- wie für Ausgabefelder angegeben werden. Wird für ein Eingabefeld eine Editiermaske definiert, müssen die Daten in Einklang mit der Editiermasken-Definition eingegeben werden.

#### Ausgabeattribute

Die folgenden Attribute können verwendet werden:

|  |  | `B` |  |  |  |  |  |  | `BL` |  |  |  |  |  | `T` |  |  |  |  |  |  |  |
| `C` |  |  | `GR` |  | `B` |  | `C`
| `D` |  |  | `NE` |  | `L` |  | `D`
[`AD=`] | `I` |  | [`CD=`] | `PI` | [`BX=`] | `R` | [`PM=`] | `I`
| `N` |  |  | `RE` |  | `ON` |  | `N`
| `U` |  |  | `TU` |  | `OFF` |  |
| `V` |  |  | `YE` |  |  |  |
|  |  | 1 |  |  |  |  |  |  | 2 |  |  |  |  |  | 3 |  |  |  |  |  | 4 |  |

1. Anzeigeattribute - siehe Session-Parameter `AD` in der Parameter-Referenz.

2. Farbattribute - siehe Session-Parameter `CD` in der Parameter-Referenz.

3. Umrandungen (Box Definition) - siehe Session-Parameter `BX` in der Parameter-Referenz.

4. Print-Modus - siehe Session-Parameter `PM` in der Parameter-Referenz.

## Beispiele — Verwendung von Syntax 1

- Beispiel 1 — INPUT-Statement

- Beispiel 2 — INPUT-Statement mit DEFINE WINDOW-Statement

- Beispiel 3 — INPUT-Statement mit MARK POSITION-Option

### Beispiel 1 — INPUT-Statement

    ** Example 'IPTEX1': INPUT
    ************************************************************************
    DEFINE DATA LOCAL
    1 #FNC  (A1)
    END-DEFINE
    *
    INPUT 10X 'SELECTION MENU FOR EMPLOYEES SYSTEM' /
          10X '-' (35) //
          10X 'ADD      (A)' /
          10X 'UPDATE   (U)' /
          10X 'DELETE   (D)' /
          10X 'STOP     (.)' //
          10X 'PLEASE ENTER FUNCTION: ' #FNC
    *
    DECIDE ON EVERY VALUE OF #FNC
      VALUE 'A'   /* invoke the object containing the add function here
        WRITE 'Add function selected.'
      VALUE 'U'   /* invoke the object containing the update function here
        WRITE 'Update function selected.'
      VALUE 'D'   /* invoke the object containing the delete function here
        WRITE 'Delete function selected.'
      VALUE '.'
        STOP
      NONE
        REINPUT 'Please enter a valid function.' MARK *#FNC
    END-DECIDE
    *
    END

Ausgabe des Programms `IPTEX1`:

    SELECTION MENU FOR EMPLOYEES SYSTEM
    -----------------------------------

    ADD      (A)
    UPDATE   (U)
    DELETE   (D)
    STOP     (.)

    PLEASE ENTER FUNCTION:

### Beispiel 2 — INPUT-Statement mit DEFINE WINDOW-Statement

    ** Example 'INPEX1': INPUT (with DEFINE WINDOW statement)
    ************************************************************************
    DEFINE DATA LOCAL
    1 #STRING (A15)
    END-DEFINE
    *
    DEFINE WINDOW WIND1
      SIZE 10 * 40
      BASE 5 / 10
      FRAMED ON POSITION TEXT
    *
    INPUT WINDOW='WIND1'
          'PLEASE ENTER HERE:' / #STRING
    *
    END

Ausgabe des Programms `INPEX1`:

    +----------------------------------Top+
    ! PLEASE ENTER HERE:                  !
    ! #STRING                             !
    !                                     !
    !                                     !
    !                                     !
    !                                     !
    !                                     !
    !                                     !
    +-------------------------------Bottom+

### Beispiel 3 — INPUT-Statement mit MARK POSITION-Option

    ** Example 'INPEX2': INPUT (with POSITION)
    ************************************************************************
    DEFINE DATA LOCAL
    1 #START (A30)
    END-DEFINE
    *
    ASSIGN #START = 'EXAM_'
    *
    INPUT (AD=M) MARK POSITION 5 IN *#START
         / 'PLEASE COMPLETE START VALUE FOR SEARCH'
         / 5X #START
    END

Ausgabe des Programms `INPEX2`:

    PLEASE COMPLETE START VALUE FOR SEARCH
           #START EXAM[]

### On this page

- INPUT Syntax 1 — Beschreibung
- Beispiele — Verwendung von Syntax 1