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

100% Statements 14/14
100% Branches 0/0
100% Functions 1/1
100% Lines 14/14

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  1x 1x 1x     1x     23x   23x   23x   23x   23x   23x   23x   23x   23x     23x      
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);
  }
 
}