Verarbeitungsregeln und Helproutinen

#### Search Results

Search

# Verarbeitungsregeln und Helproutinen

Verarbeitungsregeln und Helproutinen werden für die Felder in einer Map definiert.

Wenn Sie mit den Übungen in diesem Abschnitt fertig sind, wird Ihre Beispielanwendung aus den folgenden Modulen bestehen (eine Verarbeitungsregel kann nicht als separates Modul definiert werden; sie ist immer Teil einer Map):

- Verarbeitungsregel definieren

- Helproutine definieren

## Verarbeitungsregel definieren

Sie werden jetzt die Meldung definieren, die angezeigt werden soll, wenn der Benutzer EINGABE drückt ohne vorher einen Startnamen anzugeben.

Verarbeitungsregel definieren

1. Kehren Sie zum Map-Editor zurück, indem Sie Folgendes im Menü Development Functions eingeben.

            Code .. E    Type .. _   Name .. MAP01___________________________

       Command ===>
       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Menu  Exit                                                  Canc

2. Geben Sie Folgendes ab der ersten Position des Datenfeldes für den Startnamen ein:

       .P

   Beispiel:

                                 Start .PXXXXXXXXXXXXXXXXXXX

                                   End :XXXXXXXXXXXXXXXXXXXX

3. Drücken Sie EINGABE

   Für das markierte Feld wird der folgende Bildschirm angezeigt:

        Variables used in current map                                               Mod
        #NAME-START(A20)                                                              U
        #NAME-END(A20)                                                                U

        Rule ________________________________ Field #NAME-START
        >                                      > + Rank 0    S      L 1     Struct Mode
        ALL    ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.
          0010
          0020
          0030
          0040
          0050
          0060
          0070
          0080
          0090
          0100
        Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
              Help  Mset  Exit  Test        --    -     +     Full  Sc=         Let

4. Geben Sie die folgende Verarbeitungsregel ein:

       IF & = ' ' THEN
         REINPUT 'Please enter a starting name.'
         MARK *&
       END-IF

   Das Kaufmanns-Und (&) in der Verarbeitungsregel wird bei der Ausführung des Programms dynamisch mit dem Namen des Feldes ersetzt. In diesem Fall wird es mit `#NAME-START` ersetzt. Wenn `#NAME-START` leer ist, wird die Meldung angezeigt, die mit dem `REINPUT`-Statement definiert wurde.

   `MARK` ist eine Option des `REINPUT`-Statements. Die Syntax ist `MARK *fieldname`.

   `MARK` definiert das Feld, in das der Cursor gestellt werden soll, wenn das `REINPUT`-Statement ausgeführt wird. In diesem Fall wird der Cursor in das Feld `#NAME-START` gestellt.

5. Geben Sie im Feld Rank (Rang) den Wert "1" ein.

       Rule ________________________________ Field #NAME-START
       >                                      > + Rank 1    S 2    L 1     Struct Mode
       ALL    ....+....10...+....+....+....30...+....+....+....50...+....+....+....70.
         0010 IF & = ' ' THEN
         0020   REINPUT 'Please enter a starting name.'
         0030   MARK *&
         0040 END-IF
         0050

   Mit dem Rang wird die Reihenfolge definiert, in der die Regeln für die verschiedenen Felder verarbeitet werden. Alle Regeln mit Rang 1 werden zuerst verarbeitet, gefolgt von denen mit Rang 2, usw.

6. Drücken Sie EINGABE, um Ihre Eingabe zu speichern. Drücken Sie dann PF3, um zur Map zurückzukehren.

   Anmerkung
   Wenn Sie Ihre Verarbeitungsregel noch einmal anzeigen möchten, müssen Sie eines der folgenden Kommandos benutzen: `.P1` (zeigt alle Regeln mit Rang 1) oder `.P*` (zeigt eine Liste mit allen Regeln für dieses Feld).

7. Testen Sie die Map.

8. Geben Sie in der daraufhin erscheinenden Ausgabe einen beliebigen Startnamen ein und drücken Sie EINGABE.

   Der Ausgabebildschirm wird geschlossen.

9. Testen Sie die Map noch einmal. Geben Sie dieses Mal keinen Namen ein und drücken Sie EINGABE.

   Die Meldung, die mit der Verarbeitungsregel definiert wurde, sollte jetzt in der Map erscheinen.

10. Geben Sie einen Punkt (.) in dem Feld für den Startnamen ein und drücken Sie EINGABE, um den Ausgabebildschirm zu verlassen.

11. Speichern Sie die Map mit `STOW` (drücken Sie PF3, um zum Menü Edit Map zurückzukehren und geben Sie "W" im Feld Code ein).

## Helproutine definieren

Eine Helproutine wird ausgeführt, wenn der Benutzer die Hilfetaste drückt, während der Cursor in dem Eingabefeld für den Startnamen steht.

Sie werden zuerst die Helproutine definieren und sie dann mit einem bestimmten Feld verknüpfen.

Helproutine definieren

1. Drücken Sie PF3 im Menü Edit Map, um zum Menü Development Functions zurückzukehren.

2. Geben Sie unten im Menü Development Functions die folgenden Informationen ein und drücken Sie EINGABE:

            Code .. C    Type .. H   Name .. HLP01___________________________

       Command ===>
       Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
             Help  Menu  Exit                                                  Canc

   "C" steht für die Funktion Create Object (Objekt erstellen), "H" steht für den Objekttyp Helproutine, und "HLP01" ist der Name für Ihre neue Helproutine.

   Ein leerer Editor erscheint.

3. Geben Sie Folgendes ein:

       WRITE 'Type the name of an employee'
       END

4. Speichern Sie die Helproutine mit `STOW`.

Helproutine mit einem Feld in der Map verknüpfen

1. Kehren Sie zurück zum Map-Editor, indem Sie Folgendes in der Kommandozeile des Bildschirms eingeben, in dem Sie eben die Helproutine eingegeben haben.

       E MAP01

2. Geben Sie Folgendes ab der ersten Position des Datenfeldes für den Startnamen ein und drücken Sie EINGABE:

       .E

   Oder:
   Stellen Sie den Cursor an eine beliebige Stelle im Datenfeld und drücken Sie PF5.

   Erweiterte Feldinformationen werden für das Feld angezeigt.

3. Geben Sie im Feld HE den Namen "'HLP01'" ein (einschließlich der einfachen Anführungszeichen).

   Dies ist der Name, unter dem Sie die Helproutine gespeichert haben.

       Fld #NAME-START                                                 Fmt A20
       -------------------------------------------------------------------------------
       AD= MIT'_'____     ZP=         SG=        HE= 'HLP01'______________   Rls 2
       AL= _____          CD= __      CV= ________________________________   Mod User
       PM= __  DF=                    DY= ______________________________
       EM= __________________________ SB= ________________________________

4. Drücken Sie PF3, um die erweiterten Feldinformationen zu verlassen.

5. Testen Sie die Map.

6. Geben Sie in der daraufhin erscheinenden Ausgabe ein Fragezeichen (?) im Eingabefeld für den Startnamen ein und drücken Sie EINGABE.

   Der von Ihnen definierte Hilfetext wird jetzt angezeigt.

7. Drücken Sie EINGABE, um zur Map zurückzukehren.

8. Geben Sie einen Punkt (.) in dem Feld für den Startnamen ein und drücken Sie EINGABE, um die Map zu verlassen.

9. Speichern Sie die Map mit `STOW` (drücken Sie PF3, um zum Menü Edit Map zurückzukehren und geben Sie "W" im Feld Code ein).

10. Drücken Sie PF3, um zum Menü Development Functions zurückzukehren.

Sie können nun mit den nächsten Übungen fortfahren: Local Data Areas.

### On this page

- Verarbeitungsregel definieren
- Helproutine definieren