Während eine Variable bei jedem Ansprechen den zuletzt abgespeicherten Wert unverändert wieder zurückliefert, läuft beim Aufruf einer Funktion ein SDF-P-interner Algorithmus ab, der schließlich einen Ergebniswert bereitstellt. Je nach Verwendungszweck der Funktion wird dabei auf unterschiedliche Informationen zurückgegriffen: Die Funktionen zur Stringbearbeitung und zur Datenkonvertierung berechnen einen Ergebniswert aus den beim Aufruf mitgegebenen Parametern; andere Funktionen liefern Informationen über die Ablaufumgebung (z.B. Benutzerkennung, Name der Datenstation, Datum, Uhrzeit, Eigenschaften von Dateien) oder die Returncodes vorangegangener Kommandoaufrufe, die sie intern mithilfe von Betriebssystemaufrufen ermitteln.
Innerhalb eines Ausdrucks wird eine Funktion über ihren Namen angesprochen, dem eine in Klammern eingeschlossene Parameterliste folgt. Diese kann leer sein, wenn die Funktion keine Parameter benötigt (wie z.B. die Funktion TSN( ), die die TSN des aktuellen Auftrags liefert) oder wenn die voreingestellten Parameterwerte benutzt werden. Beispielsweise liefert der Aufruf DATE( ) ebenso wie DATE(FORMAT=*ISO) das Tagesdatum im ISO-Format; wird das deutsche Datumsformat gewünscht, so kann dies im Aufruf DATE( ) mit FORMAT= *GERMAN explizit verlangt werden. Im Falle einer leeren Parameterliste können auch die Klammern weggelassen werden, sofern der Funktionsname nicht mit einem Variablennamen kollidiert.
Die Funktionsparameter werden in ähnlicher Weise spezifiziert wie die Operanden in SDF-Kommandos: Sie können wahlweise durch ihre Reihenfolge oder durch ihren Namen angesprochen werden, und die Namen sind abkürzbar, solange die Eindeutigkeit gewahrt bleibt. Die Parameterwerte können Schlüsselwörter sein (mit vorangestelltem Stern) oder Ausdrücke vom Typ STRING, INTEGER oder BOOLEAN. Dabei ist zu beachten, dass Variablennamen bei der Übergabe an die Funktion durch ihre Werte ersetzt werden; soll die Funktion auf den „Namen“ der Variablen zugreifen (um z.B. zu ermitteln, ob die Variable definiert ist), muss der Name als String-Konstante in Hochkommata eingeschlossen werden. Beispiel:
/ I = INDEX(DATEI,'(') / B = IS-INITIALIZED('AUSGABE')
Der erste Aufruf greift auf den Inhalt der Stringvariablen DATEI zu und sucht nach dem ersten Auftreten einer öffnenden Klammer; deren Position wird der Variablen I zugewiesen (oder Null, wenn keine gefunden wurde). Das zweite Kommando prüft, ob die Variable AUSGABE überhaupt einen gültigen Wert enthält und weist in Abhängigkeit davon der Variablen B den Wert TRUE oder FALSE zu.
Neben den vordefinierten Funktionen, die zum Lieferumfang von SDF-P gehören, gibt es Systemverwalter-Funktionen, die bei Bedarf von der Systembetreuung implementiert und allen Anwendern bereitgestellt werden können.
Die Beschreibung aller vordefinierten Funktionen und ihrer Parameter findet sich ab "Vordefinierte Funktionen ". Eine detaillierte Darstellung der Schreibweise von Funktionsparametern enthält der Abschnitt „Eingabeparameter beim Funktionsaufruf“.