Bezeichnung des AlgorithmusXEN_Instrument_Art
KurzbezeichnungArt des Instruments
Verbale Beschreibung/Beispiele

Der Algorithmus klassifiziert Geschäftsfälle in unterschiedliche Kategorien für Zwecke der GKE.

Geschäftsfallkategorien, die für die GKE nicht relevant sind (z.B. Einlagen), fallen in die Kategorie "Nicht relevant (NR)".

Kommt vor in/wird verwendet für

GKA21_Art_des_Instruments_Code

Formale Beschreibung

FUNKTION XEN_Instrument_Art (AI_Mandant MAAI_Geschaeftsfall_ID gfIdAI_Stichtag_Datum repDate)

//(I) Identifikation der Input-Parameter

geschaeftsfallkategorie = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall

bilanzseite = SELEKTIERE GK.GKA01_Bilanzseite_Code VON GF_Geschaeftsfall

esvgCode = SELEKTIERE EM.EMA49_Sektor_fuer_Meldezwecke_Code VON EM_Einheit_MS VON (KR_Kundenrollen MIT AI_Rolle_Code ISTGLEICH "Inhaber (IH)")

repoKZ = SELEKTIERE ST.ST04_Repo_Sicherheit_Kennzeichen VON ST_Sicherheiten_Stammdaten VON SZ_Sicherheiten_Zerlegung MIT SZ.AI_Zerlegungsansatz_Code ISTGLEICH "Internes Risikomanagement (INT)" VON GE_Geschaeftsfall_Exposure MIT GE.AI_Zerlegungsansatz_Code ISTGLEICH "Internes Risikomanagement (INT)" VON GF_Geschaeftsfall

forderungsAnVerkauf = SELEKTIERE GF.GKA18_Kredituebertragung_An_Verkauf_Code VON GF_Geschaeftsfall

factoringKennzeichen = SELEKTIERE GF.GF159_Factoring_Forfaitierung_Kennzeichen VON GF_Geschaeftsfall

wertpapierklassifikation = SELEKTIERE WM.WMA28_Wertpapierklassifikation_Code VON WM_Wertpapier_MS VON GF_Geschaeftsfall

typAusserbilanziell = SELEKTIERE GF.GF114_Ausserbilanzielle_Geschaefte_Code VON GF_Geschaeftsfall

allgemGBfixiert = SELEKTIERE GF.GF116_Allgemeine_Geschaeftsbedingungen_fixiert_Kennzeichen VON GF_Geschaeftsfall

derivattyp = SELEKTIERE GF.GF42_Derivattyp_Code VON GF_Geschaeftsfall

underlyingKlasse = SELEKTIERE GF.GF43_Underlying_Klasse_Code VON GF_Geschaeftsfall

shortKZ = SELEKTIERE GF.GF40_Short_Position_Kennzeichen VON GF_Geschaeftsfall

underlyingKZ = SELEKTIERE GF.GF112_Zerlegung_Underlying_Kennzeichen VON GF_Geschaeftsfall

treuhandKZ = SELEKTIERE GF.GF15_Treuhandvermoegen_Code VON GF_Geschaeftsfall

gegenparteiausfallsrisiken = SELEKTIERE ALLE GE.AI_Exposure_ID VON GE_Geschaeftsfall_Exposure MIT (AI_Zerlegungsansatz_Code ISTGLEICH "CoRep (COR)" UND GE02_Forderungskategorie_Code ENTHAELT ("Wertpapierfinanzierungsgeschäft (WPFI)", "Derivat bzw. Geschäft mit langer Abwicklungsfrist (DGLA)", "Exposure aus produktübergreifender vertraglicher Nettingvereinbarung (PUVN)") VON GF_Geschaeftsfall

summeRisikopositionswert = 0

ITERIERE exposureId VON 0, MAX(gegenparteiausfallsrisiken)

risikopositionswert = SELEKTIERE GEW.Wert VON GEW_Geschaeftsfall_Exposure_Wert MIT AI_Wertart_Code ISTGLEICH "Risikopositionswert (RP)" UND AI_Exposure_ID ISTGLEICH exposureId

summeRisikopositionswert = summeRisikopositionswert + risikopositionswert

ENDE ITERATION

regulatorischerNettingsatz = SELEKTIERE GB.AI_Geschaeftsfall_ID VON GB_Geschaeftsfall_Sachkonto_Sicherheiten_Beziehung MIT (GB.GB01_Beziehungsart_Code ISTGLEICH "Regulatorisches Netting (NE)" UND GB.AI_Geschaeftsfall_ID2 ISTGLEICH gfId)

mehrzweckrahmenKZ = SELEKTIERE GF.GF196_Mehrzweckrahmen_Kennzeichen VON GF_Geschaeftsfall

ona = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT GFW.AI_Wertart_Code ISTGLEICH "ausstehender Nominalwert (ONA)" VON GF_Geschaeftsfall

nar = SELEKTIERE GFW.Wert VON GFW_Geschaeftsfall_Wert MIT GFW.AI_Wertart_Code ISTGLEICH "Nicht ausgenutzter Rahmen (NAR)" VON GF_Geschaeftsfall

kapitalbeginn SELEKTIERE GF.GF18_Kapitalbeginn_Datum VON GF_Geschaeftsfall

existiertRevolvierendeAusnutzungOhneSublimit = FALSCH

zugrundeliegendeGF = SELEKTIERE ALLE GF.AI_Geschaeftsfall_ID2 VON GB_Geschaeftsfall_Sachkonto_Sicherheiten_Beziehung MIT ((GB.GB01_Beziehungsart_Code ISTGLEICH "Rahmengeschäftsfall Beziehung (RB)") UND (GB.AI_Geschaeftsfall_ID ISTGLEICH gfId))

ITERIERE zugrundeliegenderGF VON (0, Max(zugrundeliegendeGF))

gfkategorie_zugrundeliegenderGF = SELEKTIERE GF.GF00_Geschaeftsfallkategorie_Code VON GF_Geschaeftsfall MIT GF.AI_Geschaeftsfall_ID ISTGLEICH zugrundeliegenderGF

sublimit_kennzeichen = SELEKTIERE GF.GF211_Sublimit_Kennzeichen VON GF_Geschaeftsfall MIT GF.AI_Geschaeftsfall_ID ISTGLEICH zugrundeliegenderGF

WENN (gfkategorie_zugrundeliegenderGF ENTHAELT ("Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Überziehungskredit (W)") UND sublimit_kennzeichen ISTGLEICH FALSCH) DANN

existiertRevolvierendeAusnutzungOhneSublimit = WAHR

ENDE

ITERATION ENDE

//(II) Verarbeitung der Parameter

WENN(underlyingKZ ISTGLEICH FALSCH) DANN

WENN(geschaeftsfallkategorie ENTHAELT ("Wertpapiere (H)", "Investmentfonds (I)" UND bilanzseite ENTHAELT ("Aktiv in der Bilanz (AKT)") UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN

WENN(wertpapierklassifikation ENTHAELT ("Schuldverschreibungen (SCHV)", "Credit Linked Note (CLN)", "Sonstige Wertpapiere (SONS)") DANN

rValue = "Schuldverschreibungen (SC)"

SONST

rValue = "Verbriefte Anteilsrechte (VA)"

ENDE

SONST WENN(geschaeftsfallkategorie ENTHAELT ("Verbriefung (J)") UND bilanzseite ENTHAELT ("Aktiv in der Bilanz (AKT)", "Nicht in der Bilanz (NIB)") UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN

rValue = "Verbriefungstranche (VB)"

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Anteilsrechte nicht in Form von Wertpapieren (K)") DANN

rValue = "Nicht verbriefte Anteilsrechte (NV)"

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Derivate (Q)" UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN

WENN(shortKZ ISTGLEICH WAHR UND ((derivattyp ISTGLEICH "Swap (SWAP)" UND underlyingKlasse ISTGLEICH "Credit Default (CD)") ODER (derivattyp ISTGLEICH "Option (OPT)" UND underlyingKlasse ISTGLEICH "Credit Spread (CS)") ODER (derivattyp ISTGLEICH "Swap (SWAP)" UND underlyingKlasse ISTGLEICH "Total Return (TR)"))) DANN

 rValue = "Begebene unfunded Kreditderivate (KD)"

SONST WENN(summeRisikopositionswert > 0 UND ISTLEER(regulatorischerNettingsatz))

rValue = "Regulatorischer Netting-Satz (RN)"

ENDE

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Regulatorischer Netting-Satz (Z)") DANN

//Ein regulatorischer Netting-Satz ist dann zu melden, sofern daraus ein Gegenparteiausfallsrisiko entsteht

WENN(summeRisikopositionswert > 0) DANN

 rValue = "Regulatorischer Netting-Satz (RN)"  

SONST

rValue = "Nicht relevant (NR)"

ENDE

//Die außerbilanzmäßigen Geschäfte gem. Anhang I der CRR werden nach den FinRep-Kategorien aufgegliedert

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Außerbilanzielle Geschaefte gem. Anhang I CRR (exkl. Kreditderivate, Kreditzusagen) (P)" UND treuhandKZ ISTGLEICH "Kein Treuhandvermögen (A)") DANN

WENN((typAusserbilanziell ISTGLEICH "Einlagentermingeschäfte ("Forward Deposits") (EL)") ODER (typAusserbilanziell ISTGLEICH "Akzepte (AZ)" UND allgemGBfixiert ISTGLEICH WAHR)) DANN

rValue = "Einlagentermingeschäfte (EL)"

SONST WENN(typAusserbilanziell ENTHAELT ("Sonstige Garantien,die den Charakter eines Kreditsubstituts haben (XG)", "Unwiderrufliche Kreditsicherungsgarantien“ (standby letters of credit), die den Charakter eines Kreditsubstituts haben (UK)")) DANN

rValue = "Finanzgarantien (exklusive Kreditderivate) (FG)"

SONST

rValue = "Sonstige Zusagen (SZ)"

ENDE

SONST WENN(geschaeftsfallkategorie ENTHAELT ("Wechselkredit (B)", "Barvorlagen (E)", "Einmalkredit (exkl. Kreditlinie) (X)", "Kreditlinie (Y)", "Überziehungskredit (W)", "Kreditkartenkredit (C)", "Revolvierender Kredit (exkl. Überziehungskredit) (V)", "Operating Leasing (F)", "Finance Leasing (G)") DANN

//Kreditzusagen, deren allgemeine Geschäftsbedingungen nicht fixiert sind, werden als Sonstige Zusagen klassifiziert. Insbesondere stellen sie keine Instrumente gem. AnaCredit dar. Als einzige Ausnahme sind Mehrzweckrahmen-Geschäftsfälle keine Sonstigen Zusagen, wenn unter ihnen eine revolvierende Ausnutzung ohne Sublimit existiert und sie einen NAR > 0 haben.

WENN(allgemGBfixiert ISTGLEICH FALSCH UND NICHT(mehrzweckrahmenKZ ISTGLEICH WAHR UND existiertRevolvierendeAusnutzungOhneSublimit ISTGLEICH WAHR UND nar > 0)) DANN

rValue = "Sonstige Zusagen (SZ)"

SONST WENN(repoKZ) DANN

rValue = "Umgekehrte Pensionsgeschäfte (UP)"

SONST WENN(esvgCode ENTHAELT ("Zentralbank (1210)", "MFIs - CRD - MiRe-pflichtig (1220A)", "MFIs - Nicht-CRD, other MFIs (1220B)", "MFIs - CRD - nicht MiRe-pflichtig (1220C)", "Kreditinstitute (MFI) nicht zuordenbar (1220Z)") DANN

rValue = "Einlagen bei anderen Instituten, außer umgekehrte Pensionsgeschäfte (EI)"

SONST WENN(forderungsAnVerkauf ENTHAELT ("Ankauf ohne Einfluss auf die Bilanz (AO)", "Ankauf mit Einfluss auf die Bilanz (AM)")  UND factoringKennzeichen ISTGLEICH WAHR) DANN

rValue = "Forderungen aus Warenlieferungen und Dienstleistungen (FW)"

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Kreditlinie (Y)") DANN

rValue = "Kreditlinien ohne revolvierende Kredite (KL)"

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Überziehungskredit (W)") DANN

rValue = "Überziehung (UE)"

SONST WENN(geschaeftsfallkategorie ISTGLEICH "Kreditkartenkredit (C)") DANN

rValue = "Kreditkartenforderung (KK)"

SONST WENN( "Revolvierender Kredit (exkl. Überziehungskredit) (V)") DANN

rValue = "Revolvierende Kredite (ohne Überziehungs- und Kreditkartenkredite) (RK)"

SONST WENN( "Operating Leasing (F)", "Finance Leasing (G)") DANN

rValue = "Finanzierungsleasings (FL)"

//Noch nicht gezogene Einmalkredite und Barvorlagen mit nicht ausgenutztem Rahmen werden als sonstige Zusagen kategorisiert, wenn sie keinen ONA haben oder dieser im Verhältnis zum NAR sehr klein ist z.B. durch Gebühren.

SONST WENN[(ona <= (nar * 0,03) ODER ISTNULL(ona)) UND kapitalbeginn ISTGLEICH "99991231" UND nar > 0] DANN

rValue = "Sonstige Zusagen (SZ)"

SONST

 rValue = "Andere Kredite (AK)"

ENDE

SONST

rValue = "Nicht relevant (NR)"

ENDE

SONST

rValue = "Nicht relevant (NR)"

ENDE

//(III) Rückgabe

RUECKGABE rValue

FUNKTIONSENDE

  • No labels