All files / output cl_sql_result_set.clas.mjs

91.17% Statements 62/68
80% Branches 8/10
46.66% Functions 7/15
91.17% Lines 62/68

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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 681x 1x 6x 6x 6x 6x 6x 6x 6x 6x 1x 1x 1x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x 6x         6x     6x 1x 1x
const {cx_root} = await import("./cx_root.clas.mjs");
// cl_sql_result_set.clas.abap
class cl_sql_result_set {
  static INTERNAL_TYPE = 'CLAS';
  static INTERNAL_NAME = 'CL_SQL_RESULT_SET';
  static IMPLEMENTED_INTERFACES = [];
  static ATTRIBUTES = {"MV_MAGIC": {"type": () => {return new abap.types.Hex();}, "visibility": "U", "is_constant": " ", "is_class": " "},
  "MV_INDEX": {"type": () => {return new abap.types.Integer({qualifiedName: "I"});}, "visibility": "U", "is_constant": " ", "is_class": " "},
  "MV_REF": {"type": () => {return new abap.types.DataReference(new abap.types.Character(4));}, "visibility": "I", "is_constant": " ", "is_class": " "}};
  static METHODS = {"SET_PARAM": {"visibility": "U", "parameters": {"DATA_REF": {"type": () => {return new abap.types.DataReference(new abap.types.Character(4));}, "is_optional": " "}}},
  "SET_PARAM_TABLE": {"visibility": "U", "parameters": {"ITAB_REF": {"type": () => {return new abap.types.DataReference(new abap.types.Character(4));}, "is_optional": " "}}},
  "NEXT": {"visibility": "U", "parameters": {"ROWS_RET": {"type": () => {return new abap.types.Integer({qualifiedName: "I"});}, "is_optional": " "}}},
  "CLOSE": {"visibility": "U", "parameters": {}},
  "NEXT_PACKAGE": {"visibility": "U", "parameters": {}}};
  #mv_ref;
  constructor() {
    this.me = new abap.types.ABAPObject();
    this.me.set(this);
    this.INTERNAL_ID = abap.internalIdCounter++;
    this.FRIENDS_ACCESS_INSTANCE = {
      "set_param": this.set_param.bind(this),
      "set_param_table": this.set_param_table.bind(this),
      "next": this.next.bind(this),
      "close": this.close.bind(this),
      "next_package": this.next_package.bind(this),
    };
    this.mv_magic = new abap.types.Hex();
    this.mv_index = new abap.types.Integer({qualifiedName: "I"});
    this.#mv_ref = new abap.types.DataReference(new abap.types.Character(4));
    this.FRIENDS_ACCESS_INSTANCE["mv_ref"] = this.#mv_ref;
  }
  async constructor_(INPUT) {
    if (super.constructor_) { await super.constructor_(INPUT); }
    return this;
  }
  async set_param(INPUT) {
    let data_ref = INPUT?.data_ref;
    if (data_ref === undefined) { data_ref = new abap.types.DataReference(new abap.types.Character(4)).set(INPUT.data_ref); }
    this.#mv_ref.set(data_ref);
  }
  async next() {
    let rows_ret = new abap.types.Integer({qualifiedName: "I"});
    let lv_total = new abap.types.Integer({qualifiedName: "I"});
    let lv_value = new abap.types.String({qualifiedName: "STRING"});
    lv_total.set(this.mv_magic.length);
    const current = this.mv_magic[this.mv_index.get()];
    lv_value.set(Object.values(current)[0]);
    if (abap.compare.initial(this.#mv_ref) === false) {
      this.#mv_ref.dereference().set(lv_value);
    }
    rows_ret.set(abap.operators.minus(lv_total,this.mv_index));
    this.mv_index.set(abap.operators.add(this.mv_index,abap.IntegerFactory.get(1)));
    return rows_ret;
  }
  async close() {
    return;
  }
  async set_param_table(INPUT) {
    let itab_ref = INPUT?.itab_ref;
    if (itab_ref === undefined) { itab_ref = new abap.types.DataReference(new abap.types.Character(4)).set(INPUT.itab_ref); }
    abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.CharacterFactory.get(4, 'todo')));
  }
  async next_package() {
    abap.statements.assert(abap.compare.eq(abap.IntegerFactory.get(1), abap.CharacterFactory.get(4, 'todo')));
  }
}
abap.Classes['CL_SQL_RESULT_SET'] = cl_sql_result_set;
export {cl_sql_result_set};