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 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | import {CDSAs, CDSParametersSelect} from ".";
import {Expression, opt, altPrio, regex, seq, stopBefore1} from "../../abap/2_statements/combi";
import {IStatementRunnable} from "../../abap/2_statements/statement_runnable";
const KEYWORDS = ["AS", "ON", "WHERE", "WITH", "UNION", "GROUP", "HAVING",
"AND", "OR", "BETWEEN", "LIKE", "IN", "EXISTS",
"WHEN", "THEN", "ELSE", "END", "CASE", "CAST"];
export class CDSRelation extends Expression {
public getRunnable(): IStatementRunnable {
const word = regex(/^[\w_]+$/);
const slashName = seq("/", regex(/^[\w]+$/), "/", stopBefore1(...KEYWORDS), regex(/^[\w_]+$/));
const name = altPrio(slashName, word);
return seq(name, opt(CDSParametersSelect), opt(CDSAs));
}
}
|