[NEWSboard IBMi Forum]

Hybrid View

  1. #1
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    Nunja, Updatesperren bleiben ja nur unter Commit/Control ohne Commit bestehen, aber ohne Commit/Control gibt's ja nach Update keine Satzsperre mehr.

    Da wird ja dann (da die Anwendung das ja meist nicht beherrscht ohne Redesign) das Problem nur verschärft.
    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

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.696
    @Hubert
    Das Problem bei Share-Open ist auch, dass das sperrende Programm mit *INLR=*ON auch deaktiviert werden kann und die Sperre trotzdem bestehen bleibt.

    Zur Analyse:
    Häufig bleiben Sperren bestehen, wenn nach dem Lesen mit Sperre eine Bedingung dazu führt, dass eben kein Update erfolgt um die Sperre aufzuheben.

    Solche Programme hatte ich da auch schon zu suchen.
    Ich habe mir aber nur die Mühe gemacht, zu prüfen ob der Satz bei Verlassen des Pgm's tatsächlich noch benötigt wird und dann einfach einen UNLCK auf die Datei vor dem Programmende eingebaut.
    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
    Aug 2004
    Beiträge
    923
    Tritt denn das Problem immer an der gleichen Stelle auf?
    Ich meine, hat immer das gleiche Programm an der gleichen Stelle das Problem?

    Dann würde ich gar net gross suchen nach dem Fehler, sondern einfach mal ein WRKOBJLCK nach Liste (bzw. Call nach CLP was sowas macht) direkt davor einbauen und dann einfach abwarten bis das Problem nochmal auftaucht.

    Dann die Listen sichten und hoffentlich den Übeltäter zu finden.

    k.

  4. #4
    Registriert seit
    Jun 2001
    Beiträge
    2.044
    Wir haben einen allg. gültigen Trigger, den wir in einem solchen Fall anhängen. Er schreibt den Key und den Pgmstack in eine Datei mit 50 Feldern.
    Bisher haben wir nur update delete und insert abgedeckt.

    aber das hat uns schon oft geholfen, zu finden warum da mal ein Satz verschwindet oder sich ab und zu (ohne grund) verändert.

    Da der Trigger auch bei read ausgelöst wird ...
    Je nach dem wieviel trafic auf der Datei ist, wird es zwar ne Weile recht langsam, aber wenn du evtl sogar den Satz spezifizieren kannst ....


    Robi

  5. #5
    Registriert seit
    Apr 2005
    Beiträge
    385
    Hallo,

    also wir bauen hier immer am Ende des CL ein RCLRSC ein.
    Das hat den Vorteil, das das Problem nicht mehr auftreten kann.

    Ich würde es in alle CL's einbauen, kostet ja weder Performance oder sowas.

  6. #6
    Registriert seit
    Mar 2002
    Beiträge
    5.365
    davon würde ich dringend abraten:
    - ist für ILE wirkungslos
    - hat für OPM Nebenwirkungen, die vielleicht nicht gewollt sind
    - kann sehr wohl nicht zu vernachlässigende Performance Nachteile haben

    D*B

    Zitat Zitat von ExAzubi Beitrag anzeigen
    Hallo,

    also wir bauen hier immer am Ende des CL ein RCLRSC ein.
    Das hat den Vorteil, das das Problem nicht mehr auftreten kann.

    Ich würde es in alle CL's einbauen, kostet ja weder Performance oder sowas.
    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
    Aug 2003
    Beiträge
    163
    Danke für die vielen Hinweise, die ich leider nicht umsetzen kann. Es handelt sich um eine seit Jahren gewachsene Anwendung, die nicht "mal eben" redesignt werden kann. Der Fehler tritt auch an unterschiedlichen Stellen auf.

    Die Idee mit dem Trigger werde ich mal mit den Kollegen diskutieren; vielleicht kommen wir so weiter.

  8. #8
    Registriert seit
    Aug 2004
    Beiträge
    923
    moin Hubert,

    auch wenn da eine riesen-uralt-Anwendung erst mal die Hoffnung schwinden lässt....
    würde ich persönlich die Sache mal locker angehen.

    Mach einfach mal nen CL was den ganzen Tag in ner Schleife läuft und sagen wir mal alle 5 Minuten einfach nen WRKOBJLCK nach Liste produziert.

    So kommen pro Tag läppische 288 Protokolle zusammen, die Du am drauffolgenden Tag einfach wieder löscht, wenn nichts gefunden..

    Bin mir ziemlich sicher, dass man so die Sache mit wenig Aufwand einkreisen könnte.
    Das CL ist in 5 Minuten geschrieben und tut nicht weh.

    just my 2 cent

    kuempi

Similar Threads

  1. Programm auf "ferner" AS400 ausführen.
    By Souljumper in forum NEWSboard Programmierung
    Antworten: 6
    Letzter Beitrag: 13-05-09, 19:50
  2. Zu einem Programm die Service-Attribute ändern!
    By ExAzubi in forum IBM i Hauptforum
    Antworten: 6
    Letzter Beitrag: 18-01-07, 15:06
  3. Programmbibliothek in einem Cobol oder CL Programm ermitteln
    By schatte in forum NEWSboard Programmierung
    Antworten: 19
    Letzter Beitrag: 10-01-07, 11:32
  4. SQL im Programm
    By steven_r in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 19-10-06, 09:12

Berechtigungen

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