Net.Data Verwaltung und Programmierung für OS/2, Windows NT und UNIX

MESSAGE-Blöcke

Anhand des MESSAGE-Blocks können Sie die weitere Vorgehensweise festlegen, nachdem ein Funktionsaufruf erfolgreich ausgeführt wurde bzw. fehlgeschlagen ist, und Informationen für den Aufrufenden der Funktion anzeigen. Net.Data verwendet den folgenden MESSAGE-Blockprozeß:

  1. Net.Data setzt die Variable RETURN_CODE, eine Sprachumgebungsvariable, für jeden Funktionsaufruf an einen FUNCTION-Block. RETURN_CODE wird nicht bei einem Funktionsaufruf an einen MACRO_FUNCTION-Block gesetzt.

  2. Wenn eine Sprachumgebung einen Rückkehrcodewert an Net.Data zurückgibt, setzt Net.Data den Wert von RETURN_CODE auf den Wert des Rückkehrcodes.

  3. Nach Beendigung des Funktionsaufrufs bestimmt der MESSAGE-Block anhand des Werts von RETURN_CODE die weitere Vorgehensweise.

Ein MESSAGE-Block besteht aus einer Reihe von Nachrichtenanweisungen, von denen jede einen Rückkehrcodewert, einen Nachrichtentext und eine durchzuführende Aktion definiert. Die Syntax eines MESSAGE-Blocks wird im Kapitel über die Sprachkonstrukte im Handbuch Net.Data Reference gezeigt.

Ein MESSAGE-Block kann für einen globalen oder lokalen Bereich gelten. Wenn der MESSAGE-Block in einem FUNCTION-Block definiert ist, ist sein Geltungsbereich für diesen FUNCTION-Block lokal. Wenn er in der äußeren Makroebene angegeben wird, besitzt der MESSAGE-Block einen globalen Geltungsbereich und ist für alle im Net.Data-Makro ausgeführten Funktionsaufrufe aktiv. Wenn Sie mehrere globale MESSAGE-Blöcke definieren, ist der zuletzt definierte Block aktiv.

Net.Data verwendet die folgenden Regeln zur Verarbeitung des Werts der Variablen RETURN_CODE von einem Funktionsaufruf:

  1. Ein lokaler MESSAGE-Block wird auf eine exakte Übereinstimmung hin überprüft, und die Verarbeitung wird je nach Angabe beendet (exit) oder fortgesetzt (continue).

  2. Wenn RETURN_CODE ungleich 0 ist, wird ein lokaler MESSAGE-Block auf +default bzw. -default hin überprüft, und die Verarbeitung wird abhängig vom Vorzeichen von RETURN_CODE je nach Angabe beendet oder fortgesetzt.

  3. Wenn RETURN_CODE ungleich 0 ist, wird ein lokaler MESSAGE-Block auf default hin überprüft, und die Verarbeitung je nach Angabe beendet oder fortgesetzt.

  4. Ein globaler MESSAGE-Block wird auf eine exakte Übereinstimmung hin überprüft, und die Verarbeitung wird je nach Angabe beendet oder fortgesetzt.

  5. Wenn RETURN_CODE ungleich 0 ist, wird ein globaler MESSAGE-Block auf +default bzw. -default hin überprüft, und die Verarbeitung wird abhängig vom Vorzeichen von RETURN_CODE je nach Angabe beendet oder fortgesetzt.

  6. Wenn RETURN_CODE ungleich 0 ist, wird ein globaler MESSAGE-Block auf default hin überprüft, und die Verarbeitung je nach Angabe beendet oder fortgesetzt.

  7. Wenn RETURN_CODE ungleich 0 ist, gibt Net.Data die interne Standardnachricht aus und beendet die Verarbeitung.

Das folgende Beispiel zeigt einen Teil eines Net.Data-Makros mit einem globalen MESSAGE-Block und einem MESSAGE-Block für eine Funktion:

%{ global message block %}
%MESSAGE {
     -100     : "Return code -100 message"   : exit
      100     : "Return code 100 message"    : continue
   +default : {
This is a long message that spans more
than one line. You can use HTML tags, including
links and forms, in this message. %}   : continue
%}

%{ local message block inside a FUNCTION block %}
%FUNCTION(DTW_REXX) my_function() {
  %EXEC { my_command.cmd %}
%MESSAGE {
     -100     : "Return code -100 message"   : exit
      100     : "Return code 100 message"    : continue
     -default : {
This is a long message that spans more
than one line. You can use HTML tags, including
links and forms, in this message. %}   : exit
  %}

Wenn my_function() mit einem RETURN_CODE-Wert von 50 beendet wird, verarbeitet Net.Data den Fehler in folgender Reihenfolge:

  1. Es wird überprüft, ob es eine exakte Übereinstimmung im lokalen MESSAGE-Block vorhanden ist.

  2. Es wird überprüft, ob +default im lokalen MESSAGE-Block vorhanden ist.

  3. Es wird überprüft, ob default im lokalen MESSAGE-Block vorhanden ist.

  4. Es wird überprüft, ob eine exakte Übereinstimmung im globalen MESSAGE-Block vorhanden ist.

  5. Es wird überprüft, ob +default im globalen MESSAGE-Block vorhanden ist.

Wird eine Übereinstimmung gefunden, sendet Net.Data den Nachrichtentext an den Web-Browser und überprüft die angeforderte Aktion.

Wenn Sie continue angeben, setzt Net.Data die Verarbeitung des Net.Data-Makros fort, nachdem der Nachrichtentext angezeigt wurde. Angenommen, ein Makro ruft my_functions() fünf Mal auf und bei der Verarbeitung mit dem MESSAGE-Block aus obigem Beispiel wird der Fehler 100 gefunden. In diesem Fall könnte die Ausgabe des Programms folgendermaßen aussehen:

.
.
.
11 May 1997                  $245.45
13 May 1997                  $623.23
19 May 1997                  $ 83.02
   return code 100 message
22 May 1997                  $ 42.67

   Total:                            $994.37


[ Seitenanfang | Vorherige Seite | Nächste Seite | Inhaltsverzeichnis | Index ]