INSPECT Statement

Beispiele

Tallying mit Before:

  1. INSPECT Z0AAX50-X50-PRAE-TYP-LBZ TALLYING L-BUF-ANZ
  2. FOR CHARACTERS BEFORE INITIAL K-LBZ-EBEI-JAHRES
LBufAnz += Z0aax50.X50PraeTypLbz.Upto(KLbzEbeiJahres).Length;

Replacing:

  1. INSPECT L-BT-NK-9 REPLACING ALL ' ' BY '0'
LBtVk9.Replace(" ", "0");

Converting:

  1. INSPECT L-VSN CONVERTING ' ' TO '0'
LVsn = LVsn.Replace(" ", "0");

Sonderfälle

Inspect für einzelne Character

Tallying mit Literal:

  1. INSPECT SNLPPME-PME-PRAE-LBZ TALLYING H-ANZAHL FOR ALL '2'
HAnzahl += Snlppme.PmePraeLbz.Count(c => c == '2');

Tallying mit Leading:

  1. INSPECT L-BT-1-STR TALLYING L-LEN FOR LEADING SPACE
LLen += LBt1Str.TakeWhile(c => c == ' ').Count()

Replacing mit Literal:

  1. INSPECT DS-RESULTS-TEXT-1 REPLACING
  2. ALL X"25" BY X"40"
  3. ALL X"0D" BY X"40"
DsResultsText1 = DsResultsText1.ToString().Select(r => r == '%' ||  r == '\r' ? '@' : r).ToString();

Die Replacings werden wen möglich als Lamda Expression erzeugt da sie schneller sind als eine Kette aus Replaces.

TODO Liste

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

  • REPLACING mit Mehrfachangaben
  • CONVERTING mit BEFORE AFTER
  • TALLYING and REPLACING
cobmig:cs:procdiv:stmt:inspect · Zuletzt geändert: 18.11.2021 12:05

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