Inhaltsverzeichnis

PERFORM Statement

Für Syntax siehe hier.

Beispiele

Perform mit Aufruf einer Methode:

  1. PERFORM SNLPME1-GET-INDEX

Der generierte Code ist abhängig davon, ob die Methode Anweisungen enthält, die zum Beenden des Programms führen, z.B. EXEC TAA UNREGISTER oder Goback.
Wenn die Anweisung in der Einstiegsmethode steht, entfällt der Rückkehrwert in der return-Anweisung.
Wenn die Anweisung in der Einstiegsmethode steht und die letzte in der Methode ist oder nur durch eine Exit-Anweisung gefolgt wird, entfällt der return vollständig.

// ohne Anweisungen, die zum Beenden des Programms führen:
Snlpme1GetIndex();
 
// mit Anweisungen, die immer zum Beenden des Programms führen:
Snlpme1GetIndex();
return false;
 
// mit Anweisungen, die möglicherweise zum Beenden des Programms führen:
if (!Snlpme1GetIndex())
   return false;
}
 
// in der Einstiegsmethode, mit Anweisungen, die möglicherweise zum Beenden des Programms führen:
if (!Snlpme1GetIndex())
   return;
}

Perform mit Times:

  1. PERFORM GET-INFO 2 TIMES
for (var i = 0; i < 2; i++) {
   GetInfo();
}

PERFORM mit UNTIL:

  1. PERFORM UNTIL B-BEENDEN-JA
do { 
    _
}while(!BBeendenJa);

PERFORM mit VARYING und UNTIL:

  1. PERFORM VARYING L-PRAE-IND-IND FROM 1 BY 1
  2. UNTIL L-PRAE-IND-IND > PRAE-NR-ANZ
  3. OR ZW-PRE-NR NOT = K-DUMMY-NR
for (LPraeIndInd = 1; !(LPraeIndInd > SnstrPraeNrSkzRs.PraeNrAnz || 
			ZwPreNr != SnstrPraeNrSkzRs.KDummyNr);
		    LPraeIndInd += 1)
  {

TODO Liste

Syntaktisch erkannt, aber von den Generatoren derzeit nicht unterstützt sind folgende Bestandteile: