[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    KDS Delete RNF7072

    Hallo,

    bekomme einen Fehler den ich nicht deuten kann.
    Die Datei wurde nicht geändert und die Keyfelder stimmen auch überein:

    Code:
    *RNF7072 30        036169  KFLD bei Folgenummer 1436 ist CHAR, aber Schlüsselfeld ist NUMERIC.                                                      
    *RNF7072 30      1 Art des KFLD stimmt nicht mit der des entsprechenden Schlüsselfelds in der Datei überein.
    Mein Rpg-Code:
    Code:
    D ChainKey        DS                  likerec(FILE : *key) INZ      
    
    Chain(n) %KDS(ChainKey) FILEP;
            :
            :
            :
    Delete (ChainKey) FILE;
    Sobald ich die Felder einzel angebe bekomme ich keinen Kompelierungsfehler
    Code:
    Delete (S1_FLD1 : S1_FLD2 : S1_FLD3 : S1_FLD4) FILE;
    Den Code habe ich für ein anderes Programm auch schon verwendet und da trat kein Fehler auf.

    Nur ich finde keinen Hinweis was ich falsch machen.

    lg

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.506
    Wie wäre es mit
    Delete %kds(ChainKey) FILE;
    Ohne %KDS gibt es nur ein Alphafeld.
    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

  3. #3
    Registriert seit
    Apr 2012
    Beiträge
    360
    Ist ausgezeichnet mit %kds.

    Ich hatte bei dem anderen Programm glück da es sich um Alphafelder gehandelt hat.

    Dankeschön

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.506
    Aber schon extremes Glück, da eine DS als 1 Feld und der Key durchaus mehr als 1 Feld haben kann.
    Bei einem verkürzten Key (Bespiel Firma(1), Werk(3), Teil(19), DS(23)) wird nur über den 1. Schlüssel gelöscht. Das muss dann nicht der gewünschte Satz sein.

    Aber warum so kompliziert?
    Ein "Delete (Key) File" muss über den Index den Satz erneut suchen.
    Da du jedoch den Satz per "Chain (Key) FileP" im Zugriff hast, reicht ein simpler "Delete File", da dieser den aktuellen Satz löscht. Dies ist besonders bei nicht unique Keys ganz schön hilfreich und auch bei SQL gibt es den "delete ... where current of ...".

    Bei mehreren 1000 Durchläufen kann man da echt Zeit einsparen.
    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. delete von 100 Mill. Datensätze
    By tt0ny in forum IBM i Hauptforum
    Antworten: 14
    Letzter Beitrag: 07-12-15, 08:14
  2. Kein Journaleintrag bei Delete im SQLRPGLE?
    By Ottersberg in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 24-11-15, 11:22
  3. SQL-Delete in Verbindung mit Common Table Expressions
    By mott in forum NEWSboard Programmierung
    Antworten: 7
    Letzter Beitrag: 03-12-14, 10:30
  4. SQLRPG Delete im Select
    By svit in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 26-08-14, 18:26

Berechtigungen

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