Webservice - Verhindern von doppelten Datensätzen

Bild Microsoft Dynamics NAV 2015 (aka "NAV 8")

Webservice - Verhindern von doppelten Datensätzen

Beitragvon fragglet » 22. Mai 2019 15:50

Hallo zusammen,

ich habe hier eine Page, welche als Webservice veröffentlicht ist. In diese Page sollen Datensätze eingefügt werden.
Leider kann es aber sein, daß versucht wird, doppelte Datensätze anzulegen, was zu einer Exception führt. Das
möchte ich abfangen und statt dieser eine sprechende Fehlermeldung an "Aufrufer" des Webservice zurückgeben.
Allerdings habe ich noch keine Stelle gefunden, wo ich mit der Belegnummer, welche eingefĂĽgt werden soll, in den bereits vorhandenen
Datensätzen schauen kann, ob es diese Nummer bereits gibt.
Könnt ihr mir sagen, in welchem Trigger auf der Page bzw. in der Tabelle man die Prüfung einsetzen muß?

Vielen Dank und GrĂĽĂźe
GrĂĽĂźe Fragglet
fragglet
 
Beiträge: 359
Registriert: 27. Juli 2006 13:55

Re: Webservice - Verhindern von doppelten Datensätzen

Beitragvon enh » 22. Mai 2019 18:06

Ohne es selbst geprĂĽft zu haben vermute ich mal "OnNewRecord" oder "OnInsertRecord".
enh
 
Beiträge: 2341
Registriert: 5. Februar 2014 15:42
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Webservice - Verhindern von doppelten Datensätzen

Beitragvon S_M_B » 19. Juni 2019 18:14

Gibt es dazu eine einfache Lösung? Ich bin auch gerade auf der Suche danach.
Ich war so Blauäugig und dachte, ich kann dem Feld selber eine Eigenschaft mitgeben... aber dem ist wohl nicht so.
Muss ich also mit OnInsertRecord schauen, welcher Wert gerade eingeben wurde und dann in der gesamten Datenbank schauen ob er existiert?
S_M_B
 
Beiträge: 10
Registriert: 19. Juni 2019 18:12
Bezug zu Microsoft Dynamics: End-Anwender
Microsoft Dynamics Produkt: Microsoft Dynamics 365
Microsoft Dynamics Version: BC14

Re: Webservice - Verhindern von doppelten Datensätzen

Beitragvon Jupiter » 20. Juni 2019 19:37

Hat Deine Page das Property DelayedInsert=Yes? Haben die Primärschlüsselfelder der SourceTable das Property NotBlank=Yes? Ansonsten eine Subscriber-Function mit dem OnBeforeInsert für die SourceTable erstellen und dort (in der Funktion) per Programmcode prüfen, ob der Datensatz, der gerade eingefügt werden würde, bereits existiert und wenn ja, dann eine aussagekräftige Fehlermeldung bringen.
Jupiter
 
Beiträge: 160
Registriert: 17. Juni 2007 15:17
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV


ZurĂĽck zu NAV 2015

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron