Für Syntax siehe hier.
Mehrere Argumente einfach konkateniert:
STRING K-MAX-ANZ-UEBERSCHRITTEN-1 L-OM-CMD-N2 ' Verträgen' K-MAX-ANZ-UEBERSCHRITTEN-4 DELIMITED BY SIZE INTO L-OM-CND-ARG-1 END-STRING
LOmCndArg1 = $@"{KMaxAnzUeberschritten1}{LOmCmdN2} Verträgen{KMaxAnzUeberschritten4}";
Argumente, die mit einem Delimiter (in diesem Fall SPACE
) begrenzt werden:
STRING ZW-LBZ-ZUSATZ DELIMITED BY SPACE, SPACE DELIMITED BY SIZE, LRPPME1-PME-PRAE-LBZ DELIMITED BY SIZE, INTO SNLPPME-PME-PRAE-LBZ END-STRING
Snlppme.PmePraeLbz = $@"{ZwLbzZusatz.Upto(" ")} {Lrppme1.PmePraeLbz}";
Wenn Literale durch Literale begrenzt werden (in diesem Fall '.
' durch SPACE
), wird diese Begrenzung bereits bei der C#-Generierung aufgelöst:
STRING L-OM-CND-NUM '.' ZW-SUCH-PT '.' ZW-SUCH-VEIN-KNOT DELIMITED BY SPACE ' fehlt!' DELIMITED BY SIZE INTO L-OM-CND-ARG END-STRING
LOmCndArg = $@"{LOmCndNum.Upto(" ")}.{ZwSuchPt.Upto(" ")}.{ZwSuchVeinKnot.Upto(" ")} fehlt!";
Wenn nur Literale konkateniert werden, wird keine zu interpolierende String-Anweisung erzeugt, sondern eine direkte String-Zuweisung:
STRING 'Evtl. Anpassungen wurden ' 'nicht berücksichtigt!' DELIMITED BY SIZE INTO KOMMR-KOM-KOMM-TXT END-STRING
Kommr.KomKommTxt = @"Evtl. Anpassungen wurden nicht berücksichtigt!";
Wenn eine STRING-Anweisung in Wirklichkeit nur eine Variable konkateniert, wird hierfür eine direkte Zuweisung erzeugt:
STRING K-KOMMR-TXT-KEINABR DELIMITED BY SIZE INTO KOMMR-KOM-KOMM-TXT END-STRING
Kommr.KomKommTxt = KKommrTxtKeinabr;
Syntaktisch erkannt, aber von den Generatoren derzeit nicht unterstützt sind folgende Bestandteile: