[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    May 2002
    Beiträge
    1.121

    Question SQL und OBJLCK

    Moin Moin!

    Ich habe ein SQL, welches im im RPG aufrufe (gilt aber auch für interctives SQL).
    Code:
    c/exec sql                                  
    c+ set option commit=*none                  
    c/end-exec                                  
    c/exec sql                                  
    c+ update xxgdrp a                          
    c+ set    rmrs = '',                        
    c+        rmpos = (Select atehcd from grartp
    c+                  where a.rmobj = atobj)  
    c+ where  rmsaa = '13'                      
    c+   and  rmkzs = ''                        
    c/end-exec
    Aus der Datei GRARTP wir ja nur gelesen. Er bricht mir aber ab, da er einen Satz aus dieser Datei nicht zuordnen kann. Kann man da was machen ?!?!?

    Gruß Ronald

  2. #2
    Registriert seit
    Aug 2001
    Beiträge
    2.875
    Hallo Ronald,

    welchen SQLCODE bzw. Fehlermeldung erhälst Du genau.

    Wenn Sub-Selects in einem Update-Statement verwendet werden, muss sicher gestellt werden, dass zu jedem Satz, der upgedated werden soll, genau ein Satz aus dem Sub-Select zurückgeliefert werden muss.

    Ich vermute, dass für einen oder mehrere Sätze kein Ergebnis gefunden wird.

    Birgitta
    Birgitta Hauser

    Anwendungsmodernisierung, Beratung, Schulungen, Programmierung im Bereich RPG, SQL und Datenbank
    IBM Champion seit 2020 - 4. Jahr in Folge
    Birgitta Hauser - Modernization - Education - Consulting on IBM i

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.245
    Für XXGDRP muss eine Satzsperre gesetzt werden um einen Update durchzuführen. Der Select ist nicht die Ursache und Birgittas Fehler ist ein anderer (ggf. NULL-Update nicht erlaubt).
    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

  4. #4
    Registriert seit
    May 2002
    Beiträge
    1.121
    Die XXGDRP ist nicht das Problem. Diese wird in dem Programm mit CLRPFM (mit dem API SYSTEM) gelöscht. Sollte einer auf dieser Datei sitzen, so würde der Clear schon platzen. Es ist definitiv die GRARTP. Wenn ich diese Datei mit CPYF in die QTEMP schubse, dann klappt das SQL. Er bekommt für den SubSelect immer nur 1 Satz. Er mekert ja im Joblog auch an, das er den Satz in der GRARTP nicht zuordnen kann. Das Proggi läuft schon seit ca. Feb/März 2006 wöchtlich ohne PRobleme, bis auf heute!

    hier nen auszug aus dem Joblog
    Code:
    Nachricht . . . :   Satz 3512 wird von Job 531803/VTRA_07/QPADEV0030 benutzt.
    Ursache  . . . . :  Satznummer 3512, Satzformat FORMAT0001, Teildateinummer 2
      in Teildatei XXGDRP in Datei XXGDRP in Bibliothek DIPF01 kann nicht        
      aufgerufen werden, weil Satznummer 3512 von Job 531803/VTRA_07/QPADEV0030  
      benutzt wird. Der Fehlercode ist 2. Lautet der Fehlercode 1, trat dieser
    mach ich nen WRKOBJLCK auf dei XXGDRP, so ist da halt keine Sperre vorhanden!

    Gruß Ronald

  5. #5
    Registriert seit
    Jan 2003
    Beiträge
    746
    Bei WRKOBJLCK auch F6 gedrückt?

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.287
    Hallo,

    hast du mal nach den Teildateisperren geschaut, oder die Sperren des Jobs 531803/VTRA_07/QPADEV0030 angeschaut, oder nach Satzsperren der Datei XXGDRP gesehen?
    Wie ist der ganze Kram denn gebunden? Der set option wirkt lediglich zur Compile Time und nur bei dem Programm/Serviceprogramm, das in der Activation Group den impliziten Connect an die Datenbank macht, sprich die erste SQL Anweisung ausführt, die jeweiligen Folgeoperationen erben sozusagen den Commit Level (dann dürfte das allerdings mit der QTEMP Variante nicht gehen). Entweder verheimlichst du uns noch was oder es handelt sich um einen Bug.

    mfg

    Dieter Bender
    Zitat Zitat von malzusrex
    Die XXGDRP ist nicht das Problem. Diese wird in dem Programm mit CLRPFM (mit dem API SYSTEM) gelöscht. Sollte einer auf dieser Datei sitzen, so würde der Clear schon platzen. Es ist definitiv die GRARTP. Wenn ich diese Datei mit CPYF in die QTEMP schubse, dann klappt das SQL. Er bekommt für den SubSelect immer nur 1 Satz. Er mekert ja im Joblog auch an, das er den Satz in der GRARTP nicht zuordnen kann. Das Proggi läuft schon seit ca. Feb/März 2006 wöchtlich ohne PRobleme, bis auf heute!

    hier nen auszug aus dem Joblog
    Code:
    Nachricht . . . :   Satz 3512 wird von Job 531803/VTRA_07/QPADEV0030 benutzt.
    Ursache  . . . . :  Satznummer 3512, Satzformat FORMAT0001, Teildateinummer 2
      in Teildatei XXGDRP in Datei XXGDRP in Bibliothek DIPF01 kann nicht        
      aufgerufen werden, weil Satznummer 3512 von Job 531803/VTRA_07/QPADEV0030  
      benutzt wird. Der Fehlercode ist 2. Lautet der Fehlercode 1, trat dieser
    mach ich nen WRKOBJLCK auf dei XXGDRP, so ist da halt keine Sperre vorhanden!

    Gruß Ronald
    AS400 Freeware
    http://www.bender-dv.de
    Mit embedded SQL in RPG auf Datenbanken von ADABAS bis XBASE zugreifen
    http://sourceforge.net/projects/appserver4rpg/

  7. #7
    Registriert seit
    May 2002
    Beiträge
    1.121
    Zitat Zitat von RobertMack
    Bei WRKOBJLCK auch F6 gedrückt?
    jepp, habe ich. da war auch nix

  8. #8
    Registriert seit
    May 2002
    Beiträge
    1.121
    ich werde mal probieren, ob ich den "fehler" in einer testumgebung noch einmal hin bekomme. sobald ich noch ein paar daten dazu habe, melde ich mich.

    gruß ronald

  9. #9
    Registriert seit
    Aug 2004
    Beiträge
    923
    Hello,

    ich denke das Problem liegt irgendwo in dem Bereich:

    PHP-Code:
    Teildateinummer 2 
    gruss

    k.

Similar Threads

  1. RPGLE - SQL
    By christian_lettner in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 16-11-06, 10:15
  2. SQL - Cursor vernichten ?!?
    By FNeurieser in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 11-10-06, 14:53
  3. SQL - Fehler
    By Kaufmann in forum IBM i Hauptforum
    Antworten: 11
    Letzter Beitrag: 28-06-06, 14:11
  4. SQL .. for update of (RPG embedded SQL)
    By loeweadolf in forum NEWSboard Programmierung
    Antworten: 2
    Letzter Beitrag: 01-06-06, 09:43
  5. Character verbinden in Embedded SQL
    By e_sichert in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 03-05-06, 10:47

Berechtigungen

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