Beruflich Dokumente
Kultur Dokumente
AbgabePL - SQL 2
AbgabePL - SQL 2
-- Prueft Alter des Kunden, wenn Deckungsart 1 oder 2 darf es nicht unter
18 sein
if v_alter_vorzeichen = '<' then
if v_alterKunde < v_alter_ablr then
v_resultAlter := true;
return (v_resultAlter);
end if;
elsif v_alter_vorzeichen = '>' then
if v_alterKunde > v_alter_ablr then
v_resultAlter := true;
return (v_resultAlter);
end if;
end if;
v_resultAlter := false;
return(v_resultAlter);
end istAlterRegelkonform;
begin
--Pruefen, ob minus in der Betragszeile, wenn ja dann Abbruch
if v_betrag_ablr_mit_minus = '-' then
v_nichtRegelbasiert := true;
return (v_nichtRegelbasiert);
else
v_betrag_ablr := cast(v_betrag_ablr_mit_minus as integer);
-- Prueft Betrag, ob stimmig mit der Ablehnungsregeltabelle
if v_betrag_vorzeichen = '=' then
if p_deckungsbetrag = v_betrag_ablr then
return (true);
end if;
elsif v_betrag_vorzeichen = '<' then
if p_deckungsbetrag < v_betrag_ablr then
return (true);
end if;
elsif v_betrag_vorzeichen = '<=' then
if p_deckungsbetrag <= v_betrag_ablr then
return (true);
end if;
elsif v_betrag_vorzeichen = '>' then
if p_deckungsbetrag > v_betrag_ablr then
return (true);
end if;
elsif v_betrag_vorzeichen = '>=' then
if p_deckungsbetrag >= v_betrag_ablr then
return (true);
end if;
end if;
end if;
return(v_nichtRegelbasiert);
end istBetragRegelkonform;
-----------------------------------------------------------------------------
-- transfer_sample
-----------------------------------------------------------------------------
procedure create_deckung (
p_vertrags_id vertrag.id%type,
p_deckungsart_id deckungsart.id%type,
p_deckungsbetrag deckung.deckungsbetrag%type
) as
v_vertrag_id_c vertrag.id%type;
v_deckungsart_id_c deckungsart.id%type;
v_deckung_c deckung.vertrag_fk%type;
v_deckungsbetrag_c deckungsbetrag.deckungsart_fk%type;
v_deckungspreis_vorh deckungsbetrag.id%type;
v_alterNichtRegelbasiert boolean;
v_betragNichtRegelbasiert boolean;
begin
--Check, ob der Vertrag existiert
v_vertrag_id_c := checkNichtExistierenderVertrag(p_vertrags_id);
for i in 1..v_alter_ablr.count
loop
--Check Alter deklarieren
v_alterNichtRegelbasiert := istAlterRegelkonform(p_vertrags_id,
p_deckungsart_id, v_alter_vorzeichen(i), v_alter_ablr(i));
--Check Amount deklarieren
v_betragNichtRegelbasiert := istBetragRegelkonform(p_deckungsart_id,
p_deckungsbetrag, v_betrag_vorzeichen(i), v_betrag_ablr_mit_minus(i));
end loop;
end create_deckung;
end versicherungsservice;