[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2004
    Beiträge
    444

    Programmabsturz bei SETLL auf Join-Logische Datei

    Hallo zusammen,

    vielleicht habt Ihr eine Idee.

    Mein Programm stürzt ab wenn es das 2. ! mal einen SETLL auf meine Join-Logische Datei macht. Der SETLL mit den den zwei Schlüsselfeldern (CDPTNO, CDONHC) ist nicht erfolgreich (%EQUAL)

    Er stürzt ab mit E/A-Fehler CPF5097

    Im Joblog bringt er als erstes einen Datenzuordungsfehler auf die erste Datei der Join-logischen mit Fehler Code 19 - Unerwartetes Nullfeld gefunden.

    Da es sich um die Satznummer 4294967295 handelt heißt es in der Beschreibung beim folgenden Schlüsselzuordnungsfehler

    Ist die Satznummer 4294967295, trat der Fehler bei einem Schlüssel auf,
    der als Parameter für eine Leseoperation nach Schlüssel übergeben wurde.
    Anhand der zuvor aufgeführten Nachricht CPF5035 oder CPF5036 die
    fehlerhaften Schlüsselfelder bestimmen. Diese ändern und die Operation
    wiederholen.

    Das Feld um das es sich hier handelt heißt CDPTNO und hat keine Nullwerte.

    Wie gesagt. Der 1. SETLL keine Probleme beim 2. SETLL hauts ihn weg mit den oben angegebenen Fehlern.

    Nachfolgend mal noch die Join-Logische

    PHP-Code:
    0017.00      A          R CDTRNJ                                                
    0018.00      A                                      JFILE
    (CDTRNP OHTRNP CHTRNP
    0019.00      A          J                           JOIN(CDTRNP OHTRNP)         
    0020.00      A                                      JFLD(CDSODN OHSODN)         
    0021.00      A                                      JFLD(CDODCC OHODCC)         
    0022.00      A                                      JFLD(CDODYY OHODYY)         
    0023.00      A                                      JFLD(CDODMM OHODMM)         
    0024.00      A                                      JFLD(CDODDD OHODDD)         
    0025.00      A          J                           JOIN(CDTRNP CHTRNP)         
    0026.00      A                                      JFLD(CDCHID CHID)
    0027.00      A            
    0028.00      A            CDPTNO
    0029.00      A            CDONHC
    0030.00      A            CDSODN
    0031.00      A            CDODCC
    0032.00      A            CDODYY
    0033.00      A            CDODMM
    0034.00      A            CDODDD
    0035.00      A            CDODDT
    0036.00      A            CDID
    0037.00      A            CDCHID     
    0038.00      A            CDPKID     
    0039.00      A            CDWHSE     
    0040.00      A            CDPRTZ     
    0041.00      A            CDPRTR     
    ... viele weitere Felder noch aus CD..
    0076.00      A            OHSODN                                                      
    0077.00      A            OHODCC                                                      
    0078.00      A            OHODYY                                                      
    0079.00      A            OHODMM                                                      
    0080.00      A            OHODDD                                                      
    0081.00      A            OHFLG4                                                      
    0082.00      A            OHDISC                                                      
    0083.00      A            OHDLRC                                                      
    0084.00      A            CHID                                                        
    0085.00      A            CHSTAT                                                      
    0086.00      A            CHWHTD                                                      
    0087.00      A
    *                                                                       
    0088.00      AKEY                                   
    0089.00      A          K CDPTNO                                                      
    0090.00      A          K CDONHC                                                      
    0091.00      A
    SELECT AND OMMIT   
    0093.00      A          S OHFLG4                     COMP
    (NE 'V')                     
    0094.00      A            OHFLG4                     COMP(NE 'W')                     
    0095.00      A            CHSTAT                     COMP(LT 'O'
    Vielleicht noch als Anmerkung. Ich habe inzwischen den SETLL ausgetauscht durch einen CHAIN und mache den SETLL nur dann wenn er auch tatsächlich den Schlüssel findet. Beim CHAIN stürzt er nicht ab und da er den SETLL nur noch macht wenn er findet stürzt er auch nicht mehr ab.

  2. #2
    Registriert seit
    Dec 2014
    Beiträge
    310
    1)
    CHAIN = SETLL + READ
    Warum also der CHAIN klappt und der SETLL nicht, ist nicht schlüssig zu erklären.

    2)
    Die SELECT-Felder sind (teilweise) aus der Sekundär-Datei.
    Normalerweise müsste da das Schlüsselwort "DYNSLT" (auf Recordebene) angegeben werden.
    Gib das mal rein und teste nochmals.

  3. #3
    Registriert seit
    May 2004
    Beiträge
    444
    DYNSLT bräuchte ich nur wenn ich SELECT-Felder aus der 1. Datei verwenden würde. Zumindest erzählt mir das die Umwandlung so. Außerdem möchte ich gerade keinen DYNSLT

Similar Threads

  1. Logische Datei auf andere LIB duplizieren
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 1
    Letzter Beitrag: 27-04-16, 16:34
  2. Logische mit SST und TRNTBL
    By fdh in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 23-02-16, 17:12
  3. Logische Dateien umhängen
    By FNeurieser in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 04-12-15, 10:44
  4. Logische datei erstellen
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 28-11-13, 08:01
  5. Berechtigung physische versus logische Datei
    By Andreas Huyer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-01-02, 07:15

Berechtigungen

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