[Stackoverflow] [Progress OpenEdge ABL] Adding more "AND" conditions to FOR LAST causing performance issue

Status
Not open for further replies.
T

Thiru

Guest
I'm new to progress 4GL. I'm trying to find last record from a table. But its causing performance issue. I directly copied my query here so it should be syntax error. Please help me to modify the logic or give me suggestion.

Note - Syntax(USE-SYNTAX) available only for following fields but not sure adding this to for last is good idea.

pc_domain, pc_list_classification, pc_list, pc_curr, pc_prod_line, pc_part, pc_um, pc_start

Code:
                for last pc_mstr no-lock   
                    where pc_domain   = global_domain   
                    and pc_list_classification = 1
                    and pc_curr     <> ""
                    and pc_part     = b_ps_mstr.ps_comp
                    and pc_um       <> ""   
                    and (pc_start  <= v_end[v_i]
                    or  pc_start   = ?) 
                    and (pc_expire >= v_end[v_i]
                    or  pc_expire  = ?) 
                    and (pc_amt_type = "L"   
                    or  pc_amt_type = "P"):             
                end.
                if not available pc_mstr then
                do:
                   for last pc_mstr no-lock   
                       where pc_domain   = global_domain    
                       and pc_list_classification = 1
                       and pc_curr     <> ""
                       and pc_part     = b_ps_mstr.ps_comp
                       and pc_um       <> ""
                       and (pc_amt_type = "L"   
                       or  pc_amt_type = "P"):             
                   end.
                end.

Continue reading...
 
Status
Not open for further replies.
Top