[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2009
    Beiträge
    15

    Probleme mit einem Update auf der I-Series

    Hallo zusammen,

    ich habe hier ein Problem und vielleicht könnt ihr mir hier helfen.

    Ich habe eine Datei xxa00. Dies ist die Datei, in der der aktuelle Kundenstamm steht. Ich möchte nun bestimmten Kunden ein Kennzeichen geben.

    Diese Kunden stehen in der der Datei qrkustak. Das Kennzeichen, das sie bekommen sollen, steht dort in dem Feld kansch.

    Daher habe ich mir folgendes Update ausgedacht.

    update xxa00 as a
    set xares8=
    (select kansch from qrkustak as b
    where b.kdnr=a.xakdnr and a.xakzrs=0)

    Zur Erläuterung:

    in der where-Bedingung vergleiche in die Kundennummern aus beiden Dateien. Das Feld xakzrs in der xxa00 ist ein Kennzeichen, um welche Art von Adresse es sich handelt. In dieser Datei können mehrere Sätze pro Kunde gespeichert sein, aber es sollen nur die upgedatet werden, die eben eine 0 enthalten.

    Aber es funktioniert nicht. Es kommt immer wieder die Meldung:
    Nullwerte für Spalte oder Variable XARES8 nicht zulässig.

    Heißt das, ich hätte keinen Inner Join gemacht?

    Kann mir da jemand helfen?

    Grüße
    daniel

  2. #2
    Registriert seit
    Oct 2003
    Beiträge
    117
    Probier mal:

    PHP-Code:
    update xxa00 a set xares8 =

    (
    select kansch from qrkustak b
    where b
    .kdnr=a.xakdnr)

    where exists

    (select from qrkustak c
    where c
    .kdnr=a.xakdnr)

    and 
    a.xakzrs=

  3. #3
    Registriert seit
    May 2009
    Beiträge
    15
    Hallo,

    das ging ja flott.

    Den Befehl habe ich ausprobiert. Er läuft zwar an, es kommt aber die Meldung:

    Fehler bei Datenumsetzung oder beim Zuordnen von Daten.

    Aber wozu eigentlich das exists? Diese Abfrage mache ich doch schon vorher im ersten Select?

    Grüße
    Daniel

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Mit dem 1. Select suchst du nur den Satz der passend zum zu ändernden Satz ist.
    Wenn keiner da ist, liefert dieser Select NULL.
    Der 2. Select schränkt daher den Update auf die Sätze ein, die in der 2. Datei vorhanden sind.

    Der Umsetzungsfehler resultiert aus unterschiedlicher Definition der Felder xares8 und kansch.
    Hier musst du ggf. per cast den typ anpassen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

Similar Threads

  1. QNTC Zugriff auf CD Laufwerk Fehlerhaft
    By pwrdwnsys in forum IBM i Hauptforum
    Antworten: 2
    Letzter Beitrag: 07-11-06, 15:34
  2. Fach3 auf Fach2 umleiten
    By Jörg Schmidt in forum NEWSboard Drucker
    Antworten: 14
    Letzter Beitrag: 19-09-06, 08:24
  3. Keine Probleme mit Parametern
    By harkne in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 01-06-06, 12:42
  4. Antworten: 1
    Letzter Beitrag: 21-09-05, 03:20
  5. Karl Achenbach rollt HR-Bereich auf
    By RM Haaßengier in forum Archiv NEWSblibs
    Antworten: 0
    Letzter Beitrag: 24-03-03, 17:00

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •