Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Find This API finds an element in a table array . You can also use pjs.equal() to determine the result of pjs.tableLookup().and positions the table to that element.

An optional resulting indicators object can specify if any elements in the flags array should be set. The resulting indicators object can have these properties:

  • equal (Number) - identifies the flag number to set if an exact match is found
  • low (Number) - identifies the flag number to set if the nearest lower entry is found
  • high (Number) - identifies the flag number to set if the nearest higher entry is found

Parameters

  1. Search argument
  2. Table array
  3. Alternate table array OR resulting indicators object (optional)
  4. resulting indicators (if alternate table array has been passed in) OR nullobject (optional)
  5. Search type (optional) -  String value of "LE", "LT". , "GE", or "GT" . Can be null.
Example

 

  1. can specify a less than or equal to, a less than, a greater than or equal to, or a greater than search instead of an exact match search

Examples


Code Block
languagejavascript
titleExample 1
  pjs.define("tab1", { type: 'char', length: 2, dim: 5, table: true, initValue: [ '01', '02', '03', '04', '05' ] });
  pjs.define("output", { type: 'char', length: 52, varying: true });

  if (pjs.tableLookup('02', tab1)) {
    pjs.clear(tab1);
    output = 'Cleared. ';

    if (pjs.tableLookup('03', tab1)) {
      output += 'Other entries still there.';
    }
  }


Code Block
languagejavascript
titleExample 2
  pjs.define("var1", { type: 'decimal', length: 2, decimals: 0, initValue: 4 });
  pjs.define("var2", { type: 'decimal', length: 2, decimals: 0, initValue: 20 });
  pjs.define("tabsearch", { type: 'decimal', length: 2, decimals: 0, dim: 10, table: true, initValue: [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 ] });
 
  pjs.tableLookup(var1, tabsearch, { equal: 71 });
  pjs.tableLookup(var2, tabsearch, { equal: 72 });
 
  if (flags[71] && !flags[72]) {
    //var1 value found, var2 value not found
  }


Code Block
languagejavascript
titleExample 3
pjs.define("var1", { type: 'decimal', length: 2, decimals: 0, initValue: 4 });
pjs.define("tabsearch", { 
  type: 'decimal',
  length: 2,
  decimals: 0,
  dim: 10,
  table: true,
  orderby: 'ASCEND', initValue: [ 0, 2, 4, 6, 8, 10, 12, 14, 16, 18 ] 
});

pjs.tableLookup(var1, tabsearch, { equal: 66 });
console.log(pjs.equal());
 


RPG Equivalent

%TLOOKUP()