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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 8x 1x 1x | import {IStatement} from "./_statement";
import {verNot, str, seq, opt, altPrio, per, regex as reg, optPrio} from "../combi";
import {Source, Constant, FieldChain, Dynamic, Field, FieldSub, RadioGroupName, Modif, TypeName, SimpleSource1, DatabaseTable, ConstantFieldLength, FieldOffset, FieldLength} from "../expressions";
import {Version} from "../../../version";
import {IStatementRunnable} from "../statement_runnable";
export class Parameter implements IStatement {
public getMatcher(): IStatementRunnable {
const para = altPrio("PARAMETER", "PARAMETERS");
const def = seq("DEFAULT", altPrio(Constant, FieldChain));
const radio = seq("RADIOBUTTON GROUP", RadioGroupName);
const type = seq(altPrio("TYPE", "LIKE"), altPrio(TypeName, Dynamic), optPrio(FieldOffset), optPrio(FieldLength));
const memory = seq("MEMORY ID", SimpleSource1);
const listbox = str("AS LISTBOX");
const cmd = seq("USER-COMMAND", reg(/^[\w\?\/]+$/));
const modif = seq("MODIF ID", Modif);
const visible = seq("VISIBLE LENGTH", Constant);
const length = seq("LENGTH", Constant);
const match = seq("MATCHCODE OBJECT", Field);
const decimals = seq("DECIMALS", Source);
const forTable = seq("FOR TABLE", DatabaseTable, opt("VALUE-REQUEST"));
const perm = per(type,
def,
"OBLIGATORY",
match,
cmd,
length,
decimals,
radio,
memory,
modif,
listbox,
visible,
forTable,
"VALUE CHECK",
"NO-DISPLAY",
"AS CHECKBOX",
"LOWER CASE");
const ret = seq(para,
FieldSub,
opt(ConstantFieldLength),
opt(perm));
return verNot(Version.Cloud, ret);
}
} |