diff --git a/YASK/yask.sql b/YASK/yask.sql index d5957bfc7..8ace358d3 100644 --- a/YASK/yask.sql +++ b/YASK/yask.sql @@ -363,13 +363,30 @@ AS AS v_gebouw_key NUMBER; BEGIN - SELECT alg_gebouw_key + SELECT MAX(alg_gebouw_key) INTO v_gebouw_key FROM fin_factuur f, mld_opdr o, mld_melding m, alg_v_onroerendgoed aog WHERE f.fin_factuur_key = p_fin_key AND f.mld_opdr_key = o.mld_opdr_key AND o.mld_melding_key = m.mld_melding_key AND m.mld_alg_onroerendgoed_keys = aog.alg_onroerendgoed_keys; + + IF v_gebouw_key IS NOT NULL + THEN + RETURN v_gebouw_key; + END IF; + + SELECT MIN (alg_gebouw_key) + INTO v_gebouw_key + FROM fin_factuur f, + cnt_contract_plaats cp, + alg_gebouw g + WHERE f.fin_factuur_key = p_fin_key + AND f.cnt_contract_key = cp.cnt_contract_key + AND ( (cp.cnt_alg_plaats_code = 'G' AND cp.cnt_alg_plaats_key = g.alg_gebouw_key) + OR + (cp.cnt_alg_plaats_code = 'L' AND cp.cnt_alg_plaats_key = g.alg_locatie_key) + ); RETURN v_gebouw_key; END;