Eigenständige Funktionsabschnitte

Eigenständige Funktionsabschnitte unterstützen die Migration von Sprachen, die keine Bibliotheken verwenden.

Jede Funktion, die nicht in einem anderen Abschnitt enthalten ist, wird als eigenständige Funktion bezeichnet. Eigenständige Funktionsabschnitte zeichnen sich durch folgende Merkmale aus:

Beispiel

Das folgende Beispiel zeigt eine eigenständige Funktion:
package com.CompanyB.CustomerPackage;

// eigenständige Funktion - außerhalb eines Programms
function printBalance (pBal DECIMAL(7,2) in)
  writeStdOut (strLib.formatNumber(pBal)); 
end

program BalanceCheck type BasicProgram {
  includeReferencedFunctions = YES // ohne diese Eigenschaft
  }                                // kann 'printBalance()' nicht gefunden werden
  customer INT = 1;
  balance DECIMAL(7,2) = 0;

  function main()
    while (balance >= 0)
      balance = getCustomerBalance(customer);   // Rückgabe: -1
      printBalance (balance);
    end  // Ende von 'while'
  end // Ende von 'main'

  function getCustomerBalance (custNo INT in) returns (DECIMAL(7,2))
    ...
  end // Ende von 'function'
end  // Ende von 'program'

Kompatibilität

Tabelle 1. Hinweise zur Kompatibilität für eigenständige Funktionen
Plattform Problem
VisualAge Generator-Kompatibilitätsmodus Die Eigenschaft 'containerContextDependent' stellt im Hinblick auf das Auflösen von Verweisen von eigenständigen Funktionen Leistungsmerkmale bereit, die in VisualAge Generator verfügbar waren. Sämtliche Verweise auf Funktionen und Abschnitte werden so aufgelöst, als wäre die Funktion in den Logikabschnitt eingebettet, der sie aufruft. Siehe 'containerContextDependent'.

Feedback