Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 22x 1x 1x | import {IStatement} from "./_statement";
import {verNot, seq, opt, alt, per} from "../combi";
import {Source, FieldChain, Constant, Field, Modif, Dynamic, SimpleSource1, FieldSub, SimpleFieldChain} from "../expressions";
import {Version} from "../../../version";
import {IStatementRunnable} from "../statement_runnable";
export class SelectOption implements IStatement {
public getMatcher(): IStatementRunnable {
const sourc = alt(Constant, FieldChain);
const to = seq("TO", sourc);
const def = seq("DEFAULT",
sourc,
opt(to));
const option = seq("OPTION", alt("CP", Field));
const sign = seq("SIGN", Field);
const memory = seq("MEMORY ID", SimpleSource1);
const match = seq("MATCHCODE OBJECT", SimpleFieldChain);
const modif = seq("MODIF ID", Modif);
const visible = seq("VISIBLE LENGTH", Source);
const options = per(def,
option,
sign,
memory,
match,
visible,
modif,
"NO DATABASE SELECTION",
"LOWER CASE",
"NO-EXTENSION",
"NO INTERVALS",
"NO-DISPLAY",
"OBLIGATORY");
const ret = seq("SELECT-OPTIONS",
FieldSub,
"FOR",
alt(FieldChain, Dynamic),
opt(options));
return verNot(Version.Cloud, ret);
}
} |