SnTT: Feststellen, ob das Design einer Datenbank verborgen ist

von Bernd Hort,
assono GmbH, Standort Hamburg,

Letztens musste ich herausfinden, ob das Design einer Datenbank Anwendung verborgen ist. Leider gibt es in LotusScript keine Eigenschaft, die man einfach abfragen könnte. Die Lösung, die schließlich funktioniert hat, setzt auf DXL.

Der Trick besteht darin, dass ein DXL-Export einer Datenbank Anwendung mit verborgenem Design nur die Basisinformationen über die Datenbank Anwendung aber keine Designelemente enthält. Anschließend muss man nur noch suchen, ob es einen Eintrag für eine Maske "<form>" gibt. Wenn kein Eintrag vorhanden ist, ist das Design wohl verborgen. (Abgesehen von Notes Datenbanken Anwendungen die keine Maske enthalten. Aber die kann man wohl vernachlässigen.)

Function isDesignHidden(db As NotesDatabase) As Boolean
       
       On Error Goto err_handler
       
       Dim session As New NotesSession
       Dim DXLExporter As NotesDXLExporter
       Dim ncl As NotesNoteCollection                
       Dim dxlOutput As String
       
       
       'Input
       Set ncl = db.CreateNoteCollection(False)
       ncl.SelectForms = True
       Call ncl.BuildCollection
       
       Set DXLExporter = session.CreateDXLExporter
       DXLExporter.ExitOnFirstFatalError = True
       dxlOutput = DXLExporter.Export(ncl)        
       
       If Instr(1, dxlOutput, "<form", 1) <> 0 Then
               isDesignHidden = False
       Else
               isDesignHidden = True
       End If
       
       Exit Function
err_handler:                
       
       Messagebox "Upps! There was an error." & Chr$(10) & Chr$(10) & _
       "Procedure: " & Getthreadinfo(1) & Chr$(10) & _
       "Error nr.: " & Cstr(Err) & " / Line: " & Cstr(Erl) & Chr$(10) & _
       Error, 16, "Error"
       
       Resume err_resume
       
err_resume:        
       End
End Function

Statt das DXL zu parsen, wird einfach mit Instr gesucht, ob der String "<form" vorhanden ist. Da mit dem DXL anschließend nicht weiter gearbeitet werden soll, ist dieses die schnellste Methode.

Fachbeitrag IBM Notes IBM Notes Traveler Tipp Entwicklung

Sie haben Fragen zu diesem Artikel? Kontaktieren Sie uns gerne: blog@assono.de

Sie wollen eine individuelle Lösung? Kontaktieren Sie uns

Weitere interessante Artikel

IBM Cognos Analytics 11.0.9 (R9)

IBM Cognos Analytics 11.0.9 (R9)

Erst Mitte November hatten wir über Neuerung in der Version 11.0.8 gebloggt. Knapp ein Monat später veröffentlicht IBM die Version 11.0.9 … Mehr

von
Filip Meyer
,

Sie haben Fragen? Wir sind für Sie da.

Wenn Sie mehr über unsere Angebote erfahren möchten, können Sie uns jederzeit kontaktieren. Sie können uns auf verschiedene Weisen für eine unverbindliche Erstberatung erreichen:

assono GmbH

Standort Kiel (Zentrale)
assono GmbH
Lise-Meitner-Straße 1–7
24223 Schwentinental

Standort Hamburg
assono GmbH
Bornkampsweg 58
22761 Hamburg

Telefonnummern:
Zentrale: +49 4307 900 407
Techn. Hotline: +49 4307 900 403
Vertrieb: +49 4307 900 402

E-Mail-Adressen:
kontakt@assono.de
bewerbung@assono.de