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 32 331x 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 {verNotLang, seq, alt, opt} from "../combi";
import {FieldSub, Field, BlockName} from "../expressions";
import {LanguageVersion} 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", BlockName);
 
    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 verNotLang(LanguageVersion.Cloud, ret);
  }
 
}