PERFORM procedure-name-1 THROUGH procedure-name-2
      VARYING identifier-2 FROM identifier-3
            BY identifier-4 UNTIL condition-1
          AFTER identifier-5 FROM identifier-6
            BY identifier-7 UNTIL condition-2
          AFTER identifier-8 FROM identifier-9
            BY identifier-10 UNTIL condition-3

処理は、次の点を除いては 2 つの ID を変更する場合と同じです。 つまり、ID-5 が ID-7 だけ増やされるたびに ID-8 が完全なサイクルを通過し、 次に ID-2 が変更されるたびに ID-5 が完全なサイクルを通過します。

PERFORM ステートメントの実行終了時には、次のようになります。

図 1 は、3 つの ID を変更する場合の PERFORM ステートメントの論理を示したものです。

図 1. 形式 4 の PERFORM ステートメントの論理 - 3 つの ID を変更する場合
この図は 3 つの ID を変更する場合の PERFORM ステートメントの論理を示したものです

上の図では、ID-5 と ID-2 が関係をもたないことを想定してします。 一方が他方に依存している場合 (例えば添え字を介して)、結果は予測できますが、一般的に望ましいものではありません。

上の図では、さらに、ID-8 と ID-5 が関係をもたないことも想定しています。 一方が他方に依存している場合 (例えば添え字を介して)、結果は予測できますが、一般的に望ましいものではありません。