Это потому, что переменная «dummy» не является глобальной переменной. Это локальная переменная в функции generateTable.
let dummy;
generateTable();
function generateTable() {
dummy = [{ key: "value", key1: "value1" }]; //created by some other fnction;
}
function generatePDF() {
if (dummy.length) {
//do sone thing
alert("hello");
}
}
<button onclick="generatePDF()">Make PDF</button>
здесь превратить пустышку в глобальную переменную