Для этой проверки можно использовать сокращенный троичный оператор.
Итак, измените ваш код, как показано ниже:
$(xData.responseXML).SPFilterNode("z:row").each(function()
{
var Subdomain = $(this).attr("ows_Subdomain") ? $(this).attr("ows_Subdomain") : "";
var Product = $(this).attr("ows_Product") ? $(this).attr("ows_Product") : "";
var Ver = $(this).attr("ows_Ver") ? $(this).attr("ows_Ver") : "";
var EOS = $(this).attr("ows_EOS") ? $(this).attr("ows_EOS") : "";
var EOL = $(this).attr("ows_EOL") ? $(this).attr("ows_EOL") : "";
var SunsetYear = $(this).attr("ows_SunsetYear") ? $(this).attr("ows_SunsetYear") : "";
var Year18 = $(this).attr("ows_Year18") : $(this).attr("ows_Year18") : "";
// rest of your existing code
По сути, этот код делает то, что он проверяет, имеет ли текущий столбец значение, использует ли он это значение, иначе присваивает переменной пустую строку, что-то вроде:
var Subdomain;
if($(this).attr("ows_Subdomain") != undefined){
Subdomain = $(this).attr("ows_Subdomain")
}else{
Subdomain = "" ; // this is empty string
}