HE - Helproutine

#### Search Results

Search

# HE - Helproutine

Mit diesem Session-Parameter können Sie den Namen einer Helproutine oder einer Hilfe-Maske angeben, die einem Feld zugewiesen werden soll.

Mögliche Werte |  | Siehe HE-Parameter-Syntax weiter unten.
Standard-Einstellung | keine |
Angabe innerhalb der Session | ja |
Gültige Statements | `INPUT` |
Gültiges Kommando | keines |

Helproutinen können mit dem Natural-Programm-Editor erstellt werden, Hilfe-Maske (Help Maps) mit dem Natural-Masken-Editor (Map Editor).

Um die zugewiesene Helproutine oder Hilfe-Maske dann bei der Verarbeitung des betreffenden `INPUT`-Statements oder der betreffenden Maske aufzurufen, können Sie eine der folgenden Vorgehensweisen benutzen:

- Geben Sie in das Feld, für das die Hilfe angefordert werden soll, das Hilfe-Aufrufzeichen an der ersten Stelle links im Feld ein und drücken Sie ENTER. Das Standard-Hilfe-Aufrufzeichen ist ein Fragezeichen (?).

  Wenn Sie das Hilfe-Aufrufzeichen an einer anderen Stelle im Feld eingeben oder wenn Sie mehr als ein Zeichen eingeben, wird diese Zeichenkette als Benutzereingabe übernommen, d.h. es wird keine Hilfe aufgerufen. Wenn das Feld Nullen im Hexadezimalformat enthält, hängt es von der verwendeten Terminal-Emulation ab, ob Natural die Werte als Hilfe-Anforderung interpretieren kann.

  Oder:

- Stellen Sie den Cursor in das Feld und drücken Sie die mit dem `SET KEY`-Statement als Hilfe-Funktionstaste definierte PF-Taste.

Die folgenden Themen werden nachfolgend erörtert:

- HE-Parameter-Syntax

- Ausführung von Helproutinen

- Beispiele

## HE-Parameter-Syntax

Der Parameter hat die folgende Syntax:

`HE`=operand1 |  | , |  | operand2 |  |  | ...20
=
n X

Operanden-Definitionstabelle:

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

Syntax-Element-Beschreibung:

Syntax-Element | Beschreibung
--- | ---
`operand1` | `operand1` ist der Name der Helproutine oder Hilfe-Maske (Help Map), die aufgerufen werden soll. Der Name kann eine 1 bis 8 Zeichen umfassende alphanumerische Konstante oder Benutzervariable sein. Wenn eine Variable verwendet wird, muss sie vorher definiert worden sein. Die Groß-/Kleinschreibung des Namens wird nicht verändert. Der Name kann ein Kaufmännisches Und (&) enthalten; zur Ausführungszeit wird dieses Zeichen durch den aus einem Zeichen bestehenden Code ersetzt, der dem aktuellen Wert der Systemvariablen `*LANGUAGE` entspricht. Diese Funktion ermöglicht die Verwendung von mehrsprachigen Helproutinen oder Hilfe-Masken. Weitere Informationen zum operand1 in einer Maske siehe `HE` Helproutine-Option im Abschnitt Erweiterte Feld-Bearbeitung in Masken-Editor (Map Editor) in der Editoren-Dokumentation.
`operand2` | Sie können 1 bis 20 Parameter (operand2) angeben, die an die Helproutine oder Hilfe-Maske übergeben werden. Diese können als Konstanten oder Benutzervariablen angegeben werden, die die Parameterwerte enthalten. Weitere Informationen zum operand2 in einer Maske siehe `HE` Helproutine-Option im Abschnitt Erweiterte Feld-Bearbeitung in Masken-Editor (Map Editor) in der Editoren-Dokumentation.
`=` | Das Gleichheitszeichen (`=`) wird verwendet, um den Namen eines Objekts oder Feldes an die Helproutine oder Hilfe-Maske zu übergeben. Wird das Gleichheitszeichen in der `HE=`-Angabe auf Statement-Ebene eingegeben, wird der Name des zurzeit ausgeführten Objekts (so wie er in der Systemvariablen `*PROGRAM` enthalten ist) an die Helproutine oder Hilfe-Maske übergeben. In Beispiel 3 lautet der übergebene Objektname `PROGRAM1`. Wird das Gleichheitszeichen in der `HE=`-Angabe auf Feldebene eingegeben, wird der Name des Feldes an die Helproutine oder Hilfe-Maske übergeben. In Beispiel 3 lautet der übergebene Feldname `#PARM1`. Wird mit dem Gleichheitszeichen (`=`) ein Feld- bzw. Masken-Name übergeben, so muss der entsprechende Parameter in der Helproutine mit Format/Länge A65 definiert werden.
`n`X | Die Notation `nX` können Sie verwenden, um wegzulassende Parameter anzugeben, das heisst, Parameter, für die keine Werte übergeben werden sollen. Die enstprechenden empfangsseitigen Parameter im `DEFINE DATA PARAMETER`-Statement der aufgerufenen Helproutine müssen als `OPTIONAL` definiert werden.

Anmerkungen:

1. Die Operanden müssen entweder mit dem Eingabe-Begrenzungszeichen (Input-Delimiter, wie mit dem Session-Parameter `ID` definiert) oder mit einem Komma voneinander getrennt werden. Ein Komma darf hierzu allerdings nicht verwendet werden, falls das Komma als Dezimalkomma (Decimal Character, wie mit dem Session-Parameter `DC` definiert) verwendet wird.
2. Wenn Parameter angegeben werden, so muss die Helproutine mit einem `DEFINE DATA PARAMETER`-Statement beginnen, in dem Felder definiert werden, die in Format und Länge den übergebenen Parametern entsprechen.
3. Der Wert des Feldes, dem die Helproutine zugeordnet ist, kann in der Helproutine referenziert werden. Hierzu muss im `DEFINE DATA PARAMETER`-Statement der Helproutine ein Feld definiert werden, das in Format und Länge dem ursprünglichen Feld entspricht. Werden in dem `DEFINE DATA PARAMETER`-Statement noch andere Felder definiert, so muss dieses Feld in dem Felder-Block immer zuletzt nach den Parametern definiert werden.
4. Ist das Feld, für das eine Helproutine angegeben wird, ein Element eines Arrays, so können die Ausprägungen dieses Feldes von der Helproutine referenziert werden. Hierzu müssen Sie Index-Parameter mit Format I (Integer), N (numerisch ungepackt) oder P (gepackt numerisch) zum Schluss des `DEFINE DATA PARAMETER`-Statements definieren. Entsprechend der Array-Dimensionen können Sie bis zu drei Index-Parameter angeben.

## Ausführung von Helproutinen

Wenn eine Helproutine — durch Eingabe des Hilfe-Aufrufzeichens, d.h. standardmäßig eines Fragezeichens (?), in das Feld oder durch Drücken der (mit einem `SET KEY`-Statement definierten) Hilfe-Funktionstaste, oder über ein `REINPUT` `USING HELP`-Statement — aufgerufen wird, werden alle Werte, die bereits in andere Felder eingegebenen worden sind, erst dann verarbeitet, nachdem die Verarbeitung aller Hilfe-Anforderungen beendet ist.

Anmerkung
Pro `INPUT`-Statement ist jeweils nur eine Hilfe-Anforderung möglich. Wenn für mehrere Felder gleichzeitig Hilfe angefordert wird (z.B. durch Eingabe von Fragezeichen in mehrere Felder), wird nur die erste Hilfe-Anforderung ausgeführt.

## Beispiele

#### Beispiel 1:

    /* MAIN PROGRAM
    DEFINE DATA
    1 #A(A20/1:3)
    END-DEFINE
    ...
    SET KEY PF1=HELP
    ...
    INPUT #A (2) (HE='HELPA',=)
    ...
    END

#### Beispiel 2:

    /* HELP-ROUTINE 'HELPA'
    DEFINE DATA PARAMETER
    1 #VARNAME  (A65)
    1 #PARM1    (A20)
    1 #VARINDEX (I2)
    END-DEFINE
       ...

#### Beispiel 3:

    * Program 'PROGRAM1'
    *
    DEFINE DATA LOCAL
    1 #PARM1 (A65) INIT <'valueparm1'>
    END-DEFINE
    SET KEY PF1 = HELP
    FORMAT KD=ON
    *
    INPUT (AD=M HE='HELP1',=)
      'Enter ? for name of executed object:'
      / #PARM1
    *
    INPUT (AD=M)
      'Enter ? for field name:'
      / #PARM1 (HE='HELP1',=)
    *
    END

Parameter Data Area in Beispiel-Helproutine `HELP1`:

    * Helproutine 'HELP1'
    *
    DEFINE DATA PARAMETER
    1 #FLD1 (A65)
    END-DEFINE
       ...

### On this page

- HE-Parameter-Syntax
- Ausführung von Helproutinen
- Beispiele