IF Statement

Beispiele

Einfacher IF:

  1. IF (Z0AAPRM-VEG-VEIN-ID-1 = H-VEIN-ID-1)
  2. THEN
  3. PERFORM M13-1-BETRAEGE-UEBERNEHMEN
  4. ELSE
  5. PERFORM M13-1-GET-FIRST-GEVOR
  6. PERFORM M13-1-SNLPMEE-VEV-ANLEGEN
  7. PERFORM M13-1-MITV-TYP-BESTIMMEN
  8. PERFORM M13-1-BETRAEGE-UEBERNEHMEN
  9. END-IF
if (Z0aaprm.VegVeinId1 == HVeinId1) {
    M131BetraegeUebernehmen();
}
else {
    M131GetFirstGevor();
    M131SnlpmeeVevAnlegen(); 
    M131MitvTypBestimmen();
    M131BetraegeUebernehmen();
}

Sonderfälle

NEXT SENTENCE in THEN-Pfad

Falls die NEXT SENTENCE Anweisung im THEN-Pfad gegeben wird, wird die Bedingung negiert und die Ausführung des ELSE-Pfades generiert:

  1. IF B-GEFUNDEN
  2. THEN
  3. IF (SNLPPME-000-CTV-VAR-NAME = K-ERSTATTUNG)
  4. THEN
  5. NEXT SENTENCE
  6. ELSE
  7. SUBTRACT ZW-JNETPRAERZ-ALT
  8. FROM SNLPPME-PME-PRAE-BT
  9. GIVING SNLPPME-PME-PRAE-BT
  10. END-IF
  11. ELSE
  12. IF (SNLPPME-000-CTV-VAR-NAME = K-ERSTATTUNG)
  13. THEN
  14. MOVE ZERO TO SNLPPME-PME-PRAE-BT
  15. END-IF
  16. END-IF
if (BGefunden) {
   if (!(Snlppme._000CtvVarName == PraeKonstanten.KErstattung)) {
      Snlppme.PmePraeBt = Snlppme.PmePraeBt - (ZwJnetpraerzAlt);
   }
}
else {
   if (Snlppme._000CtvVarName == PraeKonstanten.KErstattung) {
      Snlppme.PmePraeBt = 0;
   }
}

SET auf boolesche Bedingung

Falls erkannt wird, dass in der IF-Anweisung sowohl im THEN- als auch im ELSE-Pfad jeweils nur ein einzelnes SET Statement steht, welches auf dieselbe boolesche Bedingung operiert, wird eine direkte Zuweisung erzeugt.

  1. IF OM-RC-EOL
  2. THEN
  3. SET B-NICHT-GEFUNDEN TO TRUE
  4. ELSE
  5. SET B-GEFUNDEN TO TRUE
  6. END-IF
BGefunden  = !(this.LastOmOperation.IsEOL);

Verkettete Bedingung ohne Operator

  1. IF L0AADUL-P0G-DUB-VARB-STAT-K = 2 OR 3 OR 6
  2. THEN
  3. ...
  4. END-IF
if (L0aadul.P0gDubVarbStatK == 2 || L0aadul.P0gDubVarbStatK == 3 || L0aadul.P0gDubVarbStatK == 6) {
...
}
cobmig:cs:procdiv:stmt:if · Zuletzt geändert: 12.11.2021 13:14

Copyright © 1992-2024 TeamWiSE Gesellschaft für Softwaretechnik mbH         Adressen |  Kontakt |  AGB |  Datenschutzerklärung |  Impressum