[gelöst] Mehrteiliger Schlüssel

27. November 2014 11:37

Hallo zusammen,

und hier noch ein Problem, bei dem ich nicht weiterkomme.

Basis ist eine Tabelle (Vertrag) die einen dreifachschlüssel besitzt (Vertrag-Kontakt Nr., Vertrag Nr., Vertragsart).

Aufgabe ist es nun eine Verbindung zum Vorvertrag zu schaffen.

Ich habe eine Zuordnungstabelle erstellt, die zum einen die oben erwähnten Felder beinhaltet (Hier sage ich, zu welchem Vertrag ich einen Vorvertrag zuordnen möchte) und zum anderen die drei Felder nochmals beinhaltet, die den Vorvertrag definieren. Ich kann hier eine 1 zu n Beziehung darstellen. Ein Vertrag kann also mehrere Vorverträge haben. Es handelt sich also um einen Sechsfachschlüssel.

Ich möchte nun die Eingabe erleichtern. D.h. User ist auf einem Vertrag und gibt an, einen Vorvertrag eintragen zu wollen. Es öfnnet sich die Zuordnungstabelle. Dort gehe ich dann auf auf die Vertragsübersicht und wähle einen Vertrag aus. Aufgrund des dreifachschlüssels muss ich dies aber dreimal machen (Für jedes Vertragsfeld!). Ziel wäre es die Auswahl einmal durchzuführen und die anderen beiden Felder werden automatisch mit gefüllt.

Wie gehe ich hier vor?

Vielen Dank

Michael

Re: Mehrteiliger Schlüssel

27. November 2014 13:47

Hallo,

zunächst eine Frage:

Kann es in EINEM Vertrag mehrere Vertrags-Kontaktnummern geben? Bzw. Kann es mehrere gleiche Vetragsnummern mit unterschiedlichen Vertragskontakten geben?

Gruß, Fiddi

Re: Mehrteiliger Schlüssel

27. November 2014 14:40

Ja das kann sein. Der Dreifachschlüssel ist gegeben und an dem kann nicht mehr gerüttelt werden.

Problem ist nur, einen (Vor)Vertrag auswählen und mit dieser Auswahl die anderen Felder füllen. Jetzt muss ich die drei Felder des Vorvertrages einzeln auswählen und dies ist fehleranfällig.

Re: Mehrteiliger Schlüssel

27. November 2014 21:33

Es öfnnet sich die Zuordnungstabelle. Dort gehe ich dann auf auf die Vertragsübersicht und wähle einen Vertrag aus. Aufgrund des dreifachschlüssels muss ich dies aber dreimal machen (Für jedes Vertragsfeld!). Ziel wäre es die Auswahl einmal durchzuführen und die anderen beiden Felder werden automatisch mit gefüllt.

In der Vorvertrags-Tabelle im Feld "Vertragsnr." muss man den OnLookup-Trigger ausprogrammieren, und zwar so:
- lokale record-Varable "Vertrag" anlegen
den Lookup- auf die Vertrags-Übersicht ausführen:
Code:
IF FORM.RUNMODAL(0,Vertrag) = ACTION::LookupOK THEN BEGIN
  //  hier hat man den beim Lookup ausgewähleten Vertrag-Datensatz
  //-> übernahme der notwendigen Felder aus der Vertrag-Tabelle in die Vorvertragstabelle per Programmcode
  Rec."Vertragsnr." := Vertrag."Vertragsnr.";
  //usw....
END;

Die Form für die Erfassung der Vorverträge sollte das Property "DelayedInsert" = Yes haben

Re: Mehrteiliger Schlüssel

2. Dezember 2014 11:59

Vielen Dank! Funktioniert einwandfrei!