Bezeichnung des Algorithmus | XEN_Kreditnehmer_GKE |
Kurzbezeichnung | Algorithmus zur Ermittlung des Kreditnehmers lt. GKE eines Geschäftsfalls. |
Verbale Beschreibung/Beispiele | Technisch: In diesem Algorithmus wird pro Geschäftsfall der/die Kreditnehmer lt. GKE des Geschäftsfalls aus den bestehenden Rollen abgeleitet. Dadurch wird ein oder mehrere neue Datensätze auf der Entität KR_Kundenrollen mit AI_Rolle_Code "Kreditnehmer lt. GKE (KN)" geschaffen. Inhaltlich: Im Fall eines Factoring-Geschäfts mit Regress wird der "Forderungsverkäufer (FV)" als Kreditnehmer lt. GKE abgeleitet. Sonst wird der "Inhaber (IH)" und (im Fall eines Kredits einer Schuldnergemeinschaft, z.B. eines Solidarkredits) zusätzlich alle "Co-Inhaber (CI)" des Geschäfts als "Kreditnehmer lt. GKE (KN)" hinterlegt. Im Fall, dass es sich beim Kreditnehmer um eine natürliche Person handelt, gleichzeitig ein Einzelunternehmen darstellt, eine Inlandsfiliale oder einen identen Kunden handelt, so wird die ID des "Hauptkunden" (=natürliche Person bei Einzelunternehmen, Zentrale im Inland bzw. Hauptkundenstamm) verwendet. Anmerkung: Hinsichtlich der Ausprägungen die sich nach Rechnungslegungsstandard unterscheiden können ist der Algorithmus basierend auf dem Rechnungslegungsstandard auszuführen der für die Meldung der GKE relevant ist. |
Kommt vor in/wird verwendet für | Rolle_CL |
Formale Beschreibung | FUNKTION XEN_Kreditnehmer_GKE (AI_Mandant MA, AI_Geschaeftsfall_ID gfId, AI_Stichtag_Datum repDate) //(I) Selektion der Input-Parameter kredituebertragung = SELEKTIERE GK.GKA18_Kredituebertragung_An_Verkauf_Code VON GK_Geschaeftsfall_Konsolidierungssicht factoringKennzeichen = SELEKTIERE GF.GF159_Factoring_Forfaitierung_Kennzeichen VON GF_Geschaeftsfall regressKennzeichen = SELEKTIERE GF.GF151_Rueckgriff_Kennzeichen VON GF_Geschaeftsfall einheitennummern = SELEKTIERE ALLE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT AI_Rolle_Code ENTHAELT ("Inhaber (IH)", "Co-Inhaber (CI)") VON GF_Geschaeftsfall instrumentart = SELEKTIERE GK.GKA21_Art_des_Instruments_Code VON GK_Geschaeftsfall_Konsolidierungssicht //(II) Verarbeitung der Parameter WENN(instrumentart UNGLEICH "Nicht relevant für GKE (NR)") WENN(kredituebertragung ENTHAELT ("Ankauf mit Einfluss auf die Bilanz (AM)", "Ankauf ohne Einfluss auf die Bilanz (AO)") UND factoringKennzeichen ISTGLEICH WAHR UND regressKennzeichen ISTGLEICH WAHR) DANN rValue = SELEKTIERE KR.AI_Einheitennummer_ID VON KR_Kundenrollen MIT AI_Rolle_Code ISTGLEICH "Forderungsverkäufer (FV)" id_identerkunde = SELEKTIERE EZ.AI_Gruppen_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT (AI_Einheitennummer_ID ISTGLEICH rValue UND AI_Zusammenfassungstyp_Code ENTHAELT ("natürliche Person - Einzelunternehmen (NPE)", "Identer Kunde (IDK)")) id_hauptanstalt = SELEKTIERE EZ.AI_Gruppen_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT (AI_Einheitennummer_ID ISTGLEICH rValue UND AI_Zusammenfassungstyp_Code ENTHAELT ("Hauptanstalt-Zweiganstalt (HZ)")) sitzland_za = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS sitzland_ha = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH id_hauptanstalt WENN(sitzland_za ISTGLEICH sitzland_ha) DANN id_identerkunde = id_hauptanstalt ENDE WENN(NICHT(ISTLEER(id_identerkunde))) DANN rValue = id_identerkunde ENDE RUECKGABE rValue SONST ITERIERE rValue VON 0, Max(einheitennnummern) id_identerkunde = SELEKTIERE EZ.AI_Gruppen_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT (AI_Einheitennummer_ID ISTGLEICH rValue UND AI_Zusammenfassungstyp_Code ENTHAELT ("natürliche Person - Einzelunternehmen (NPE)", "Identer Kunde (IDK)")) id_hauptanstalt = SELEKTIERE EZ.AI_Gruppen_Einheitennummer_ID VON EZ_Einheiten_Zusammenfassung_MS MIT (AI_Einheitennummer_ID ISTGLEICH rValue UND AI_Zusammenfassungstyp_Code ENTHAELT ("Hauptanstalt-Zweiganstalt (HZ)")) sitzland_za = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS sitzland_ha = SELEKTIERE EM.EMA48_Land_fuer_Meldezwecke_Code VON EM_Einheit_MS MIT EM.AI_Einheitennummer_ID ISTGLEICH id_hauptanstalt WENN(sitzland_za ISTGLEICH sitzland_ha) DANN id_identerkunde = id_hauptanstalt ENDE WENN(NICHT(ISTLEER(id_identerkunde))) DANN rValue = id_identerkunde ENDE RUECKGABE rValue ENDE ITERATION ENDE ENDE FUNKTIONSENDE |