I have two Global Variables catDeb and catCred
The values are defined in a func loadCategories and should be, I think, accessible every where.
But its not updated out of funcs.
var catDeb  ;  // line 26 of code  
var catCred ;  // line 27 of code
they are initialized on the opening the spreadsheet onOpen(a)
It's seems to be ok.
the program begins here:
function onOpen(e) {  // line 40 of code
  loadCategories(wsCredit);  
  loadCategories(wsDebit);  
}  
function loadCategories(ws){  
  if (ws === wsCredit) {  
      var col   = 1 ; // Credit  
      var lines = par.getRange(2,col,par.getLastRow(), 4).getValues();  
      catCred   = lines.filter(function(r){return r[0].length>0});  
  } else {  
    col    = 10 ; // Debit  
    lines  = par.getRange(2,col,par.getLastRow(), 4).getValues();  
    catDeb = lines.filter(function(r){return r[0].length>0});  
  }  
}  
But when tried to acess the global variables catDeb or catCred it doesn't
function onEdit(e) {  
  var chosenCell = e.range;  
  
  var value = chosenCell.getValue();  
  var r     = chosenCell.getRow();  
  var c     = chosenCell.getColumn();  
  var p     = chosenCell.getSheet().getName();  
    
  if (p === wsDebit && r > 1) {  
    // altered Debit  
    if (c === coLevel1 ){  
        applyLevel1(value, r, deb);  
    } // shorter version
  }
}
function applyLevel1(value, r, db){  
  db.getRange(r , coLevel2).clearContent();  
  db.getRange(r , coLevel2).clearDataValidations();  
  db.getRange(r , coLevel3).clearContent();  
  db.getRange(r , coLevel3).clearDataValidations();  
    console.log("level 1 ="+db.getName());
    console.log(catCred);
  if (value != ""){
    if (db.getName() == 'Crédit'){
       var level   = catCred.filter(function (o) {return o[0] === value});
    } else {
       var level   = catDeb.filter(function (o) {return o[0] === value});
    };
    console.log(level);
    var options = level.map(function (o) {return o[1]});
    var cell    = db.getRange(r , coLevel2);
    applyValidation(options, cell);
  }
  leaveBlank(r, db);
}
If I use de Débit sheet, get an error:
2 lug 2021, 20:11:26 Errore ReferenceError: catDeb is not defined at unknown function
if I go the Crédit sheet the error catCred
What am I doing wrong.
TIA (aka Thanks in advance)
 
    