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 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x 1x | const {cx_root} = await import("./cx_root.clas.mjs");
// kernel_call.clas.abap
class kernel_call {
static STATIC_SUPER = undefined;
static INTERNAL_TYPE = 'CLAS';
static INTERNAL_NAME = 'KERNEL_CALL';
static IMPLEMENTED_INTERFACES = [];
static ATTRIBUTES = {};
static METHODS = {"CALL": {"visibility": "U", "parameters": {"INPUT": {"type": () => {return new abap.types.Character(4);}, "is_optional": " ", "parm_kind": "I", "type_name": "AnyType"}}}};
constructor() {
this.me = new abap.types.ABAPObject();
this.me.set(this);
this.INTERNAL_ID = abap.internalIdCounter++;
this.FRIENDS_ACCESS_INSTANCE = {
};
}
async constructor_(INPUT) {
if (super.constructor_) { await super.constructor_(INPUT); }
return this;
}
async call(INPUT) {
return kernel_call.call(INPUT);
}
static async call(INPUT) {
let input = INPUT?.input;
let uuid = new abap.types.Hex({length: 16});
let name = new abap.types.String({qualifiedName: "STRING"});
let magic = new abap.types.Date({qualifiedName: "D"});
name.set(INPUT.name);
if (abap.compare.eq(name, abap.CharacterFactory.get(10, 'RFCControl'))) {
uuid.set((await abap.Classes['CL_SYSTEM_UUID'].if_system_uuid_static$create_uuid_x16()));
INPUT.uuid.set(uuid);
} else if (abap.compare.eq(name, abap.CharacterFactory.get(27, 'CONVERSION_EXIT_ALPHA_INPUT'))) {
magic = INPUT.output
if (abap.FunctionModules['CONVERSION_EXIT_ALPHA_INPUT'] === undefined) { if (abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()] === undefined) { throw "CX_SY_DYN_CALL_ILLEGAL_FUNC not found"; } else { throw new abap.Classes['CX_SY_DYN_CALL_ILLEGAL_FUNC'.trimEnd()]();} }
await abap.FunctionModules['CONVERSION_EXIT_ALPHA_INPUT']({exporting: {input: input}, importing: {output: magic}});
} else if (abap.compare.eq(name, abap.CharacterFactory.get(24, 'zcsa/installed_languages'))) {
return;
} else {
abap.statements.write(new abap.types.String().set(`Unknown kernel function: ${abap.templateFormatting(name)}`),{newLine: true});
abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.IntegerFactory.get(2)));
}
}
}
abap.Classes['KERNEL_CALL'] = kernel_call;
export {kernel_call}; |