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

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

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 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 3x 1x 1x
import {IStatement} from "./_statement";
import {verNot, str, seq, opt, per} from "../combi";
import {Target, Source} from "../expressions";
import {Version} from "../../../version";
import {IStatementRunnable} from "../statement_runnable";
 
export class GenerateReport implements IStatement {
 
  public getMatcher(): IStatementRunnable {
 
    const without = str("WITHOUT SELECTION-SCREEN");
    const message = seq("MESSAGE", Target);
    const include = seq("INCLUDE", Target);
    const line = seq("LINE", Target);
    const word = seq("WORD", Target);
    const offset = seq("OFFSET", Target);
    const headers = str("WITH PRECOMPILED HEADERS");
    const test = str("WITH TEST CODE");
    const messageid = seq("MESSAGE-ID", Target);
    const trace = seq("TRACE-FILE", Target);
    const shortdumpid = seq("SHORTDUMP-ID", Target);
    const directory = seq("DIRECTORY ENTRY", Target);
 
    const options = per(without, message, include, trace, line, word, offset, headers, test, messageid, shortdumpid, directory);
 
    const ret = seq("GENERATE REPORT",
                    Source,
                    opt(options));
 
    return verNot(Version.Cloud, ret);
  }
 
}