} else {
     $sp_detail = $class_sp->retrieveDetail($spid);
 }
 if (!is_array($products)) {
     $products = explode(',', $products);
 }
 $ajaxResult = array();
 $ajaxResult['period'] = 'p-' . $period;
 $ajaxResult['period_text'] = $sp_detail['package_prefix'] . '<br />' . substr($period_start_raw, 0, 5) . ' - ' . substr($period_end_raw, 0, 5);
 if ($level == 'p') {
     $cogs_result = ReportCOGS::retrieveSummaryByProducts($products, $spid, $period_start, $period_end);
     foreach ($products as $pid) {
         $ajaxResult['row-' . $pid] = intval($cogs_result[$pid]['total_quantity']);
     }
 } else {
     $cogs_result = ReportCOGS::retrieveSummaryByArticles($products, $spid, $period_start, $period_end);
     $palist = $class_pa->retrieveAllArticlesByProducts($products);
     foreach ($palist as $pid => $pdata) {
         $row_content = '<table align="center" border="0"' . ' cellpadding="0" cellspacing="0">';
         foreach ($pdata as $aid => $adata) {
             if ($level == 'l') {
                 $left = $adata['length'] == 0 ? '<span class="notice">None</span>' : textLength($adata['length']);
             } else {
                 $left = $adata['ean'];
             }
             $row_content .= '<tr><td>' . $left . '</td><td>=</td><td>' . intval($cogs_result[$adata['ean']]['total_quantity']) . '</td></tr>';
         }
         $row_content .= '</table>';
         $ajaxResult['row-' . $pid] = $row_content;
     }
 }
 if ($show_minimum_data) {
     $price_uvp = 'N/A';
     $price_default = 'N/A';
     $price_selling_old_amazon = 'N/A';
     $price_selling_amazon = 'N/A';
     $mat_exp = $p->material_expense;
     $cogs = 'N/A';
 } else {
     $price_uvp = $p->getPriceUVP();
     $price_default = $p->getPriceDefault();
     $price_selling_old_amazon = $p->getPriceSellingOld($sp_id_amazon);
     $price_selling_amazon = $p->getPriceSelling($sp_id_amazon);
     $mat_exp = $p->material_expense;
     $cogs = $p->getProductCOGSValue();
     $report_cogs_lastyear = ReportCOGS::retrieveSummaryByArticles($pids, '*', $last_year_start, $last_year_end);
     $report_cogs_thisyear = ReportCOGS::retrieveSummaryByArticles($pids, '*', $this_year_start, $this_year_end);
 }
 foreach ($p->articles as $aid => $a) {
     if ($p->isArticleKilled($aid)) {
         continue;
     }
     $article_counter++;
     $ean = $p->getEAN($aid);
     $size = $p->getLengthOrSizeAsText($aid);
     if ($show_minimum_data) {
         $stock_available = 'N/A';
         $booked = 'N/A';
         $last_year_sold_qty = 'N/A';
         $last_year_net_sales = 'N/A';
         $last_year_gross_profit = 'N/A';
         $this_year_sold_qty = 'N/A';