Modified lead time calculations to cope with boundary cases. Addresses #506.

git-svn-id: http://locode01.ad.dom/svn/WEBMIP/trunk@4823 248e525c-4dfb-0310-94bc-949c084e9493
This commit is contained in:
hardya
2008-04-17 13:52:20 +00:00
parent 600e12a712
commit cf4e7ff452

View File

@@ -2156,11 +2156,17 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
,p_svcp_code service_pressures.code%TYPE ,p_svcp_code service_pressures.code%TYPE
,p_qmax NUMBER) RETURN NUMBER IS ,p_qmax NUMBER) RETURN NUMBER IS
l_days NUMBER; l_days NUMBER;
l_qmax NUMBER;
BEGIN BEGIN
pl('get_lead_time:' || p_enty_code || ':' || p_mety_code || ':' || pl('get_lead_time:' || p_enty_code || ':' || p_mety_code || ':' ||
p_svcp_code || ':' || p_qmax p_svcp_code || ':' || p_qmax
,$$PLSQL_LINE); ,$$PLSQL_LINE);
l_qmax := greatest(nvl(p_qmax
,1)
,1);
SELECT days SELECT days
INTO l_days INTO l_days
FROM (SELECT enty_code FROM (SELECT enty_code
@@ -2172,14 +2178,12 @@ RECEIVED AT THIS ADDRESS CANNOT BE RESPONDED TO.');
FROM v_lead_times v FROM v_lead_times v
,service_pressures svcp ,service_pressures svcp
WHERE v.svcpt_code = svcp.svcpt_code(+)) v WHERE v.svcpt_code = svcp.svcpt_code(+)) v
WHERE nvl(p_qmax WHERE l_qmax > v.from_qmax
,0) >= v.from_qmax AND l_qmax <= v.to_qmax
AND nvl(p_qmax
,0) <= v.to_qmax
AND v.enty_code = p_enty_code AND v.enty_code = p_enty_code
AND v.mety_code = p_mety_code AND v.mety_code = p_mety_code
AND ((v.svcp_code = p_svcp_code) OR AND ((v.svcp_code = p_svcp_code) OR
(v.svcp_code IS NULL AND p_svcp_code IS NULL)); (v.svcp_code IS NULL AND p_svcp_code IS NULL));
pl('get_lead_time:exit:' || l_days pl('get_lead_time:exit:' || l_days
,$$PLSQL_LINE); ,$$PLSQL_LINE);