Bezeichnung des Algorithmus | XEN_Schuldner_Einlagenhoehenklasse |
Kurzbezeichnung | Schuldner Einlagenhöhenklasse Algorithmus |
Verbale Beschreibung/Beispiele | Der Algorithmus XEN_Schuldner_Einlagenhoehenklasse ermittelt aus den Geschäftsfällen der betrachteten Einheit den gesamten "gedeckten Betrag ohne zeitliche Begrenzung (GBOZ)" und ordnet diesen anschließend einem Element der Codeliste Einlagenhoehenklasse_CL zu. |
Kommt vor in/wird verwendet für | EMA45_Schuldner_Einlagenhoehenklasse_Code |
Formale Beschreibung | FUNKTION XEN_Schuldner_Einlagenhoehenklasse (AI_Mandant MA, AI_Einheitennummer_ID einheitenId, AI_Stichtag_Datum repDate) tValue = 0 relevante_zusammenfassung = SELEKTIERE EZ.AI_Gruppen_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT EZ.AI_Zusammenfassungstyp_Code ENTHAELT ("Natürliche Person - Einzelunternehmen (NPE)", "Identer Kunde (IDK)", "Hauptanstalt-Zweiganstalt (HZ)") UND EZ.AI_Einheitennummer_ID ISTGLEICH einheitenId relevante_unterliegende_einheiten = SELEKTIERE ALLE EZ.AI_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT EZ.AI_Zusammenfassungstyp_Code ENTHAELT ("Natürliche Person - Einzelunternehmen (NPE)", "Identer Kunde (IDK)", "Hauptanstalt-Zweiganstalt (HZ)") UND EZ.AI_Gruppen_Einheitennummer_ID ISTGLEICH einheitenId WENN(NICHT(ISTLEER(relevante_unterliegende_einheiten)) DANN //GF ist selbst die relevante Einheitenzusammenfassung //Zuerst werden alle Geschäftsfälle betrachtet, die dem Geschäftsfall selbst (dem Hauptkundenstamm etc.) zugewiesen sind ... gf = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID VON GF_Geschaeftsfall MIT (GF.GF138_VERA_A1c_relevant_Kennzeichen ISTGLEICH WAHR UND GFW.Wert MIT (GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") > 0) VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" UND KR.AI_Einheitennummer_ID ISTGLEICH einheitenId ITERIERE gf_id VON 0, Max(gf) gfValue = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gf_id UND GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") tValue = tValue + gfValue ITERATION ENDE //... danach alle Geschäftsfälle, die Nebenkundenstämme, Filialen, etc. des betrachteten Geschäftsfalls sind. ITERIERE unterliegendeEinheitenId VON 0, Max(relevante_unterliegende_einheiten) gf_unterliegendeEinheiten = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID VON GF_Geschaeftsfall MIT (GF.GF138_VERA_A1c_relevant_Kennzeichen ISTGLEICH WAHR UND GFW.Wert MIT (GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") > 0) VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" UND KR.AI_Einheitennummer_ID ISTGLEICH unterliegendeEinheitenId ITERIERE gf_unterliegendeEinheitenId VON 0, Max(gf_unterliegendeEinheiten) gfValue = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gf_unterliegendeEinheitenId UND GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") tValue = tValue + gfValue ITERATION ENDE ITERATION ENDE SONST WENN(NICHT(ISTLEER(relevante_zusammenfassung)) //GF ist unter einer relevanten Einheitenzusammenfassung gf_relevante_zusammenfassung = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID VON GF_Geschaeftsfall MIT (GF.GF138_VERA_A1c_relevant_Kennzeichen ISTGLEICH WAHR UND GFW.Wert MIT (GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") > 0) VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" UND KR.AI_Einheitennummer_ID ISTGLEICH relevante_zusammenfassung ITERIERE gf VON 0, Max(gf_relevante_zusammenfassung) gfValue = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gf UND GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") tValue = tValue + gfValue ITERATION ENDE relevante_unterliegende_einheiten_der_zusammenfassung = SELEKTIERE ALLE EZ.AI_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT EZ.AI_Zusammenfassungstyp_Code ENTHAELT ("Natürliche Person - Einzelunternehmen (NPE)", "Identer Kunde (IDK)", "Hauptanstalt-Zweiganstalt (HZ)") UND EZ.AI_Gruppen_Einheitennummer_ID ISTGLEICH relevante_zusammenfassung gf_unterliegendeEinheiten_der_zusammenfassung = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID VON GF_Geschaeftsfall MIT (GF.GF138_VERA_A1c_relevant_Kennzeichen ISTGLEICH WAHR UND GFW.Wert MIT (GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") > 0) VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" UND KR.AI_Einheitennummer_ID ENTHAELT relevante_unterliegende_einheiten_der_zusammenfassung ITERIERE gf_unterliegendeEinheitenId VON 0, Max(gf_unterliegendeEinheiten_der_zusammenfassung) gfValue = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gf_unterliegendeEinheitenId UND GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") tValue = tValue + gfValue ITERATION ENDE SONST //GF ist nicht Teil einer relevanten Einheitenzusammenfassung gf = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID VON GF_Geschaeftsfall MIT (GF.GF138_VERA_A1c_relevant_Kennzeichen ISTGLEICH WAHR UND GFW.Wert MIT (GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") > 0) VON KR_Kundenrollen MIT KR.AI_Rolle_Code ISTGLEICH "Inhaber (IH)" UND KR.AI_Einheitennummer_ID ISTGLEICH einheitenId ITERIERE gf_id VON 0, Max(gf) gfValue = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT (GFW.AI_Geschaeftsfall_ID ISTGLEICH gf_id UND GFW.AI_Wertart_Code ISTGLEICH "gedeckter Betrag ohne zeitliche Begrenzung (GBOZ)") tValue = tValue + gfValue ITERATION ENDE ENDE //Ermittlung der Einlagenhöhenklasse WENN (tValue <= 10.000) DANN rValue = "0 bis 10.000 EUR (0)" SONST WENN (tValue <= 20.000) DANN rValue = "> 10.000 bis 20.000 EUR (1)" SONST WENN (tValue <= 50.000) DANN rValue = "> 20.000 bis 50.000 EUR (2)" SONST rValue = "> 50.000 (3)" ENDE ENDE ENDE RUECKGABE rValue FUNKTIONSENDE |