Quantcast
Channel: SCN: Message List - SAP HANA Developer Center
Viewing all articles
Browse latest Browse all 9165

Re: Split work in procedure to different threads

$
0
0

Hi Fernando,

 

sorry for the delay.

 

Please find attached my current Cursor code. The problem is that the included Select took a lot of time.

 

/*
    * Loop over change ids and retrieve valid values for this time
   */
  FOR change_record as c_change_id DO  
  
   IF change_record.CHANGEID = -1 THEN
   
    lv_stmt :=  'INSERT INTO "SAPSOPG"."GT_' || IV_PLAREA || '_PLANDATA_INT" (' || IV_FILTER || ', ' || IV_ATTRIBUTE || ', PERIODID0, CHANGEID) ' ||
       'SELECT ' || IV_FILTER || ', ' || IV_ATTRIBUTE || ',PERIODID0, ' || change_record.CHANGEID || ' AS CHANGEID ' ||
       'FROM ' || :lv_calc_scenario_name ||
       'WHERE PERIODID0 = ' || change_record.PERIODID || ' ' ||
       'ORDER BY ' || IV_FILTER || ' ' ||
       'with parameters(''placeholder''=(''$$sqlselect$$'',''select ' || IV_FILTER || ', ' || IV_ATTRIBUTE || ',PERIODID0 from ''))';

   ELSE
    /* query calc for changed values */
    lv_stmt :=  'INSERT INTO "SAPSOPG"."GT_' || IV_PLAREA || '_PLANDATA_INT" (' || IV_FILTER || ', ' || IV_ATTRIBUTE || ', PERIODID0, CHANGEID) ' ||
       'SELECT ' || IV_FILTER || ', ' || IV_ATTRIBUTE || ', PERIODID0, ' || change_record.CHANGEID || ' AS CHANGEID ' ||
       'FROM ' || :lv_calc_scenario_name || ' ' ||
       'WHERE PERIODID0 = ' || change_record.PERIODID || ' ' ||
       'ORDER BY ' || IV_FILTER || ' ' ||
       'with parameters(''placeholder''=(''$$sqlselect$$'',''select ' || IV_FILTER || ', ' || IV_ATTRIBUTE || ' ,PERIODID0, PERIODID from ''),''placeholder''=(''$$CHANGEID$$'',''' || change_record.CHANGEID || '''))';
  
   END IF;
  
  
   EXEC :lv_stmt;
  
  END FOR;

 

Is a While loop handled like a cursor or is it parallelized by the optimizer?

 

Thanks,

Max


Viewing all articles
Browse latest Browse all 9165

Trending Articles