Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: schlikkes2 am 06.05.03 - 09:13:20

Titel: Fehler 4091 invalid universal id
Beitrag von: schlikkes2 am 06.05.03 - 09:13:20
morgen leute,

folgende frage, ich erhalte mit einem agenten, der verschiedene dokumente versucht zu öffnen, wenn ich keine berechtigung für eine bestimmte db habe, die fehlermeldung "4091 invalid universal id". komischerweise kann die db mittels "openbyreplicaid" zwar geöffnet werden, das dokument aber mittels "getdocumentbyunid" nicht. wie kann ich filtern, ob wirklich die unid nicht stimmt, oder "nur" die db mangels rechten nicht geöffnet werden kann? oder kann es
auch daran liegen, das ich keinen zugriff auf einige views habe?

danke im voraus
greet(s)chlikkes
Titel: Re:Fehler 4091 invalid universal id
Beitrag von: ata am 06.05.03 - 10:30:25
... wenn du Formeln verwendest, dann konvertiere nochmals mit @Text(...)

ata
Titel: Re:Fehler 4091 invalid universal id
Beitrag von: schlikkes2 am 06.05.03 - 10:51:32
mein agent ist in lotusscript geschrieben....
wie komme ich an die fehlermeldungen ran, die ich erhalte, wenn ich doclinks in notes manuell folgen will. hier kommen fehler wie "You are not authorized to access the view". in lotusscript erhalte ich für genau den selben doclink fehler nummer 4091 "invalid universal id"
Titel: Re:Fehler 4091 invalid universal id
Beitrag von: ata am 06.05.03 - 22:35:36
... es kann natürlich sein, daß der Entwickler manche Views nur für bestimmte Personen, Gruppen oder Rollen freigibt...

... die ungültige UNID weit darauf hin, daß das Dokument gesucht wird, aber mit deiner UNID nicht gefunden wird. Das Dokument könnte über eine Leserfeld in seiner Verwendbarkeit gesteuert sein. Dann erhälst du zum Beispiel diese Fehlermeldung. Du erhälst sie aber auch bei einem Leerstring als DocID - oder wenn das Format der DocID nicht richtig ist => daher @Text()

... zu deinen Fragen

Abfragen, ob eine DB geöffnet werden kann...

Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView

Set db = session.GetDatabase( "Servername" , "Datenbankpfad" )
If db.IsOpen Then
    ' # ... du kannst die DB öffnen
    Set view = db.GetView("Ansichtsname")
    If Not View Is Nothing Then
        ' # ... du kannst die View verwenden
    End If
End If

... lass dir die DocID als Print in die Statuszeile ausgeben, so kannst du erkennen, wie sie aussieht.

Print "DocID: " + sUNID

ata