All files / src/abap/2_statements/statements at_selection_screen.ts

100% Statements 32/32
100% Branches 1/1
100% Functions 1/1
100% Lines 32/32

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 321x 1x 1x 1x 1x 1x 1x 1x 1x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 7x 1x 1x
import {IStatement} from "./_statement";
import {verNot, seq, alt, opt, regex as reg} from "../combi";
import {FieldSub, Field} from "../expressions";
import {Version} from "../../../version";
import {IStatementRunnable} from "../statement_runnable";
 
export class AtSelectionScreen implements IStatement {
 
  public getMatcher(): IStatementRunnable {
    const output = "OUTPUT";
 
    const value = seq("ON VALUE-REQUEST FOR", FieldSub);
 
    const exit = "ON EXIT-COMMAND";
 
    const field = seq("ON", FieldSub);
 
    const end = seq("ON END OF", Field);
 
    const radio = seq("ON RADIOBUTTON GROUP", Field);
 
    const block = seq("ON BLOCK", reg(/^\w+$/));
 
    const help = seq("ON HELP-REQUEST FOR", FieldSub);
 
    const ret = seq("AT SELECTION-SCREEN",
                    opt(alt(output, value, radio, exit, field, end, help, block)));
 
    return verNot(Version.Cloud, ret);
  }
 
}