Inhaltsverzeichnis

INSPECT Statement

Für Syntax siehe hier.

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: