Show TOC

Syntax*SUB( ) / *ENDSUB Dieses Dokument in der Navigationsstruktur finden

In einer SUB-Struktur können Sie wiederverwendbare Logik-Abschnitte erstellen. Diese können an jeder Stelle im Logik-Textkörper aufgerufen werden, wodurch die Logik besser lesbar und einfacher zu pflegen ist.

Eine *SUB( )-Struktur wird, wie eine mehrzeilige *FUNCTION( )-Struktur, mit folgender Syntax deklariert:

*SUB {SubName}({Param1,[,{Param2}…])

{body text}

{body text}

{body text}

[…]

*ENDSUB

Wenn ein SUB dann an einer anderen Stelle innerhalb der Logik verwendet wird, werden die definierten Zeilen in die Logik eingefügt und alle an ihre Parameter übergebenen Werte entsprechend ersetzt.

Ein SUB verhält sich ähnlich wie eingebundene Dateien, an die beliebig viele Parameter übergeben werden können. Wenn die Logik validiert wird, werden die aufgerufenen SUBs wie von einer *INCLUDE-Anweisung eingebundene Dateien in den Textkörper der Logik eingefügt. Für die Verwendung einer SUB-Struktur ist jedoch kein besonderes Schlüsselwort erforderlich. Ein SUB wird aufgerufen, indem eine Zeile mit der Bezeichnung des SUB eingefügt wird, gefolgt von den seinem Parameter zugewiesen Werten (in Klammern). Der andere wichtige Unterschied gegenüber eingebundenen Dateien ist, dass ein SUB nicht in eine eigene Datei geschrieben werden muss, sondern in einen beliebigen Teil der Logik geschrieben werden kann, also eher wie bei einer FUNCTION.

Beispiel Beispiel

Hier wird das SUB definiert:

*SUB MYSUB(Param1,Param2,Param3,Param4)

[%ACCOUNT_DIM%].[#Param1]=[%ACCOUNT_DIM%].[Param2]+[%ACCOUNT_DIM%].[Param3]

[%ACCOUNT_DIM%].[#Param4]=[%ACCOUNT_DIM%].[#Param1]*[%ACCOUNT_DIM%].[Factor_Param4]

*ENDSUB

Hier wird das SUB verwendet:

MySub(A1,B1,C1,D1)

MySub(A2,B2,C2,D2)

MySub(A3,B3,C3,D3)

Ende des Beispiels.

Ähnlich wie bei einer FUNCTION spielt für ein SUB die Position keine Rolle, und es kann an beliebiger Stelle in einer Logik definiert, und, falls gewünscht, in separaten Bibliothekdateien abgelegt werden, die dann mithilfe einer INCLUDE-Anweisung mit der Logik zusammengeführt werden müssen.

Ein SUB kann in jedem Commit-Abschnitt der Logik verwendet werden, ohne in jedem Abschnitt neu definiert werden zu müssen. Wenn allerdings ein SUB in einer Logikdatei neu definiert wird, gilt diese Neudefinition für alle darauffolgenden Zeilen.

Ein SUB ohne Parameter wird unterstützt, muss aber immer durch Klammern abgeschlossen werden.

Alle in dieser Dokumentation enthaltenen Software-Quelltextzeilen oder -Strings („Code“) dienen nur als Beispiele und sind nicht für die Anwendung in einem Produktivsystem vorgesehen. Der angegebene Quelltext soll lediglich die Syntax und die Ausdrucksregeln bestimmter Softwarecodes erläutern. SAP übernimmt keine Verantwortung für die Richtigkeit und Vollständigkeit des angegebenen Quelltextes und übernimmt keine Haftung für Fehler oder Schäden, die aus dessen Anwendung entstehen könnten; es sei denn, derartige Schäden wurden von SAP vorsätzlich oder fahrlässig hervorgerufen.