[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Feb 2008
    Beiträge
    109

    _RLOcate, _RUpdate und CPF5009 / CPF5026

    Hallo zusammen

    ich habe folgendes Problem:

    Ich positioniere einen Satz über den Satzschlüsel direkt mit:

    Code:
    D SetRrnFile      PI              n        
    D  InPtr                          *   Const
    D  InpRrn                       20u 0 Const
                                               
    D Result          s               n   Inz  
    D Rrn             s             10i 0 Inz
    D cRRN_EQ         s             10i 0 Inz( 134218496 )          
                                                                    
    c                   Eval      Rrn = InpRrn                      
    c                   Eval      pIoFb = *Null                     
    C                   Eval      pIoFb  = RSetLL( InPtr            
    C                                            : *Null            
    C                                            : Rrn              
    C                                            : cRRN_EQ )        
                                                                    
    C                   Return    pIoFb <> *Null and RIoFb.Num_Bytes
    RSetLL ist hier _RLocate

    Der Satz wird auch gefunden -> pIoFb ist <> *NULL und RIoFb.Num_Bytes = 1

    Jetzt will ich diesen Satz aktualisieren

    Code:
    D UpdateFile      PI                                         
    D  InPtr                          *   Const                  
    D  InNumByte                          Like( NumBytes ) Const 
    D  InReadBuf                          Like( ReadBuf ) Const  
                                                                 
    D StrBuf          s                   Like( ReadBuf ) Inz    
                                                                 
    c                   Eval      StrBuf = InReadBuf             
    C                   Eval      pIoFb  = RUpdate( InPtr          
    C                                             : %Addr( StrBuf )
    C                                             : InNumByte )
    Bei Sätzen mit Schlüsseln erhalte ich jedoch genrell CPF5009 bzw. CPF5026 !!!

    Wer weiss Rat? Danke vorab

  2. #2
    Registriert seit
    Aug 2003
    Beiträge
    1.508
    Morgen,
    generell wäre es super bei Fehlermeldungen nicht nur die MSGID sondern auch den dazugehörigen Text bzw. sogar auch das Joblog mit gepostet. Kann manchmal sehr hilfreich sein
    In diesem Fall versuchst du einen Satz zu ändern wo diese Schlüsselfelder jedoch schon einmal existieren.
    Bei Tabellen die einen Schlüssel besitzen dürfen diese Schlüsselfelder nicht doppelt vorkommen.

  3. #3
    Registriert seit
    Nov 2003
    Beiträge
    2.403
    Warum nimmst du eigentlich nicht die in RPG eingebauten Befehle CHAIN und UPDATE?

  4. #4
    Registriert seit
    Feb 2008
    Beiträge
    109
    Zitat Zitat von andreaspr@aon.at Beitrag anzeigen
    Morgen,
    generell wäre es super bei Fehlermeldungen nicht nur die MSGID sondern auch den dazugehörigen Text bzw. sogar auch das Joblog mit gepostet. Kann manchmal sehr hilfreich sein
    In diesem Fall versuchst du einen Satz zu ändern wo diese Schlüsselfelder jedoch schon einmal existieren.
    Bei Tabellen die einen Schlüssel besitzen dürfen diese Schlüsselfelder nicht doppelt vorkommen.
    @andreaspr@aon.at
    ich denke mir es ist das gleiche wie SETLL und UPDATE unter RPG

    @pikachu
    Ich kenne die Datei zur Programmlaufzeit nicht und öffne sie mit _ROpen

  5. #5
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    ... works as designed!
    Die constraints einer Datei, die man zur Laufzeit nicht kennt, kennt man ebenfalls nicht, da ist es halt Schicksal, wenn ein update nicht geht!

    D*B

    Zitat Zitat von ebschubert Beitrag anzeigen
    @andreaspr@aon.at
    ich denke mir es ist das gleiche wie SETLL und UPDATE unter RPG

    @pikachu
    Ich kenne die Datei zur Programmlaufzeit nicht und öffne sie mit _ROpen
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

Berechtigungen

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