Autor Thema: Problem bei der Fehlerbehandlung  (Gelesen 1181 mal)

Offline LuckyMan

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Problem bei der Fehlerbehandlung
« am: 17.09.04 - 12:00:54 »
Hallo Leute...

Auch wenn mich jetzt einige von euch steinigen werden...ich habe hier das erste Mal ein Script mit Fehlerbehandlung und gleich taucht ein Problem auf das ich nicht verstehe.

Es geht darum, dass im Rahmen unserer Migration auf die Version 6.5.1 jemandem aufgefallen ist, dass evtl. vorhandene private Ordner, die mit 4.6 erstellt wurden, beim Design-Update gelöscht werden.

Also habe ich mir im Forum ein Script gemopst und es mir ein wenig zurechtgebogen.

Nun haben wir aber ein paar Mail-DBen, in denen zwar jeder lesen kann, aber nicht ändern darf (dort werden Newsletter etc. abgelegt).

Da ja nicht jeder User das Recht hat dort das Design zu ändern, läuft Notes auf einen Fehler...so weit so gut...es wird eine Mail mit einer Meldung generiert und in eine Mail-In-DB geschickt.

Doch obwohl im ErrorHandler eindeutig steht dass er dann zum Punkt ErrorExit gehen soll (dort steht ja nur ExitSub drin), verschickt er auch die Meldung dass die Ordner geschützt wurden.

Ich versuche zu verstehen warum das Script so läuft..mir fällt keine Lösung ein.

Hat jemand zufällig eine Idee???

Danke schon jetzt...

Gruß

LuckyMan

So sieht der Code aus:

Im PostOpen-Event der DB:


Dim s As New notessession
   Dim w As New notesuiworkspace
   Dim doc As notesdocument
   Dim db As notesdatabase
   Dim Template As String
   Dim proDoc As NotesDocument
   Dim ord As String
   
   On Error Goto ErrorHandler
   
   Set db=s.currentdatabase
   Template = db.DesignTemplateName
   ViewCount=0
   FolderCount=0
   ProtectCount=0
   
   Set proDoc = db.GetProfileDocument("CalendarProfile")
   ord = proDoc.Ordner(0)
   
   If Not ord = "1" Then
      
      Forall view In db.views
         ViewCount=ViewCount+1
         viewUNID = view.universalid        
         Set doc = db.getdocumentbyUNID(view.universalID)
         TitleString = doc.getitemvalue("$Title")
         If Instr(1,TitleString(0),"$",0)<>1 And Instr(1,TitleString(0),"(",0)<>1 Then
            Flags = doc.getitemvalue("$Flags")
            FolderFlag = Instr(1,Flags(0),"F",0)
            If (Not Isnull(FolderFlag) And FolderFlag<>0 And Instr(1,Flags(0),"p",0)=0) Then
               FolderCount=FolderCount+1
               If Instr(1,Flags(0),"P",0)=0 Then
                  ProtectCount=ProtectCount+1
                  AddCapitalP = Flags(0) & "P"
                  Call doc.replaceitemvalue("$Flags", AddCapitalP)
                  Call doc.save(1,1)
                  Call doc.save(1,1)
               End If
            End If
         End If
      End Forall
      
      Call NotifyAdmins ("Ordner geschützt in: " & db.Filepath)
      proDoc.Ordner = "1"
      Call proDoc.Save(True, False)
   Else
      Exit Sub
   End If   
ErrorExit:
   Exit Sub
   
ErrorHandler:
   Call NotifyAdmins ("!!!Laufzeitfehler (" & Error & ") in Zeile " & Erl & " in DB " & db.Filepath)   
   Resume ErrorExit

Die Function NotifyAdmins

Sub NotifyAdmins (message As String)
   Dim s As New notessession
   Set db = s.currentDatabase
   Dim docMail As NotesDocument   
   Const AdminDB = "Timezone"
   
   Set docMail = db.CreateDocument
   docMail.SendTo = AdminDB
   docMail.Form = "Memo"
   docMail.Subject = Message
   
   Call docMail.Send (False)
   
   
End Sub

Gruß

LuckyMan
-------------------------------------------------------

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Problem bei der Fehlerbehandlung
« Antwort #1 am: 17.09.04 - 12:17:26 »
Es kann sein daß alles brav läuft und der Fehler erst nach der Zeile
Call NotifyAdmins ("Ordner geschützt in: " & db.Filepath)
auftritt. Also bei Call proDoc.Save(True, False) z.B..
In diesem Fall wird die Meldung mit den geshützten Ordnern  verschickt, bevor das Exit Sub im ErrorExit aufgerugen wird.
†090620141300

Offline LuckyMan

  • Junior Mitglied
  • **
  • Beiträge: 53
  • Geschlecht: Männlich
  • Ich liebe dieses Forum!
Re:Problem bei der Fehlerbehandlung
« Antwort #2 am: 17.09.04 - 12:24:10 »
Danke rar...

Ich schätze mal das wird es gewesen sein. Ich ändere das Script, dann muß die Schablone auf die 90 Standorte und dann durch 10.000 Mailboxen.

Gruß

LuckyMan
Gruß

LuckyMan
-------------------------------------------------------

Offline rar

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 856
  • Geschlecht: Männlich
  • Des passt scho
    • click
Re:Problem bei der Fehlerbehandlung
« Antwort #3 am: 17.09.04 - 12:27:52 »
Dann wünsche ich dir mal viel Spaß... ;D
†090620141300

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Problem bei der Fehlerbehandlung
« Antwort #4 am: 17.09.04 - 19:21:49 »
10.000 User - und dann wagt Ihr solche Stunts ? Wie kurz vor der Insolvenz seit Ihr denn ?? Kein Geld für Profis ?

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz