ISC Fehlernummer: 335544665

Allgemeine Diskussionen um die ERP Software AvERP

Moderator: SYNERPY

Antworten
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

ISC Fehlernummer: 335544665

Beitrag von mlc »

Hi,

habe folgendes Problem: Ich will eine neue Adresse in den Adressstamm eingeben und immer wenn ich abspeichern will kommt

ISC Fehlermeldung:
violation of PRIMARY or UNIQUE KEY constraint "UK_BADR" on table "BADR"


In IBExpert

Error Message:
----------------------------------------
Invalid insert or update value(s): object columns are
constrained - no 2 table rows can have duplicate column values.
violation of PRIMARY or UNIQUE KEY constraint "UK_BADR" on table "BADR".


Das Problem ist den MASKENKEY gibt es aber noch nicht!! Was ist falsch??

Gruß
mlc
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Beitrag von mlc »

Auch ja benutzen Version 2006.B2. Haben auch ein Update mit dem Updateskript von Synerpy gemacht.

mfg
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Das bedeutet einfach, dass die Adressnummer, die man versucht einzugeben, schon im System gespeichert wurde. Adress-, Artikel-, Kundennummern etc. darf es nur einmal geben.
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Beitrag von mlc »

Hi,

das ist mir schon klar das es das heißt, aber den MASKENKEY in BADR, also die Adressnummer gibt es aber noch nicht und trotzdem kommt dieser Fehler.

mfg
admin
Site Admin
Beiträge: 2673
Registriert: Di Feb 10, 2004 5:48 am
Wohnort: Bayreuth

Beitrag von admin »

Dann bitte für die BADR einen Eintrag bei den Nummernkreisen machen.
mlc
Beiträge: 84
Registriert: Di Apr 11, 2006 2:42 pm

Beitrag von mlc »

Hallo,

ein Nummerkreis war schon vorhanden. Haben diese jetzt verändert und jetzt geht es. Habe jetzt noch mal alles durchgeschaut und bin auf folgende Stelle aufmerksam geworden.

Code: Alles auswählen

PROCEDURE P_MASKENKEY_GJAHR

/* Gibt es eine Eingabe, die der Länge entspricht? */
  IF ((NFELDLAENGE > 0) AND (F_STRINGLENGTH(INITIALWERT) = NFELDLAENGE)) THEN
  BEGIN
    NTEMPID = NULL;
    IF (MYTABELLE = 'BFA') THEN
      SELECT ID FROM BFA WHERE MASKENKEY = :INITIALWERT INTO :NTEMPID;
    ELSE IF (MYTABELLE = 'BBES') THEN
      SELECT ID FROM BBES WHERE MASKENKEY = :INITIALWERT INTO :NTEMPID;
    ...
 INTO :NTEMPID;

    /* Die Vorgabe gibt es noch nicht */
    IF (NTEMPID IS NULL) THEN
    BEGIN
      MYDEFAULT = INITIALWERT;
      SUSPEND;
      EXIT;
    END
  END
Müßte da nicht stehen (F_STRINGLENGTH(INITIALWERT) <= NFELDLAENGE) sonst muß der selbst eingegebene Maskenkey (Beispiel BADR) ja immer 8 stellen haben ansonst wird der Maskenkey mit der vorgabe vom Nummernkreis erstellt. Diese hat im Hintergrund immer 00001 genommen und diese war schon da.

mfg
mlc
Antworten