Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: Pavel am 01.12.16 - 07:58:06

Titel: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: Pavel am 01.12.16 - 07:58:06
Hallo,

folgender Scriptcode wird in einer DB benutzt und funktioniert auch, d.h. am Ende der Abarbeitung steht "nummerndbfound" auf true.
In einer anderen Datenbank mit dem gleichen Scriptcode funktioniert die ganze Sache nicht, d.h. an der Stelle

nummerndbpath = doc.nummerndbpath(0)   

wird nichts gefunden, bis dahin funktioniert das Script in der betreffenden DB.
Wenn allerdings über Print Befehle z.B. Print "noteid: " + doc.noteid
oder die größe des Dokuments anzeigen lassen will ist der Wert leer bzw. 0.
Wo könnte das Problem liegen?
Quellcode ist ein Ausschnitt aus dieser DB, stammt nicht von uns.

MfG
René


Code
If Not(view Is Nothing) Then
		Set doc = view.GetDocumentByKey("Konfiguration")
		If Not(doc Is Nothing) Then
			aktserver = doc.aktserver(0)			
			admindbpfad = doc.admindbpfad(0)			
			If Trim(aktserver) <> "" And Trim(admindbpfad) <> "" Then
				Set admindb = session.getdatabase(aktserver, admindbpfad)
				If Trim(admindb.title) <> "" Then
					'allgemeines Konfigurationsdokument aca.websuite holen					
					Set view = admindb.getview("Konfiguration")
					If Not(view Is Nothing) Then
						Set doc = view.GetDocumentByKey("Konfiguration")
						If Not(doc Is Nothing) Then
							nummerndbpath = doc.nummerndbpath(0)							
							If Trim(nummerndbpath) <> "" Then
								Set nummerndb = session.getdatabase(aktserver, nummerndbpath)
								Forall maske In nummerndb.forms
									If maske.name = "Nummernkreis" Then
										nummerndbfound = True										
										Exit Forall
									End If
								End Forall
							End If
						End If
					End If
				End If
			End If
		End If
	End If
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: Flachmann am 01.12.16 - 09:52:26
Schwierig hier etwas zu sagen. Gibt es das Dokument in der Ansicht? Hat es einen Inhalt? Ist die NoteID die, die "geprintet" wurde? Evtl. gibt es einen Konflikt.

Ich würde hier mit dem Debugger durchgehen und prüfen, was tatsächlich in den Attributen von doc und doc.nummerndbpath steht.
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: umi am 01.12.16 - 09:55:00
Wie sieht es mit der Berechtigung aus ? Evtl. läuft der Code unter dem falschen Benutzer ? Ist das ein Agent oder View Code oder....
Evtl. hilft es auch einfach mal bei allen IF's die fehlenden Elses mit Print's zu ergänzen damit Du weisst wo es rausfällt.
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: Pavel am 01.12.16 - 10:05:26
Das seltsame an der Geschichte ist, dass einige Datenbanken mit diesem Code korrekt laufen und einige Datenbanken das betreffende Dokument nicht finden.
Das Dokument, welches gefunden werden soll existiert und liegt auch nur in einer DB.
Alle DB's in denen dieser Code benutzt wird haben die gleiche Schablone.

Ich tendiere fast zu einem Server-Problem, aber was könnte es sein?
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: umi am 01.12.16 - 10:10:57
Tendieren heisst nicht wissen.

Gibt es Fehlermeldungen ? bzw. Wird der Code durch einen Errorhandler geschützt? Hast Du das ganze schon mal durch den Debugger gejagt ?
Stimmen die Berechtigungen? Hat der Benutzer, welcher für die Ausführung des Codes verantwortlich ist auch zugriff auf die Eine DB wo das Konfig Dokument liegt ?
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: Tode am 01.12.16 - 10:30:05
Das Dokument, welches gefunden werden soll existiert und liegt auch nur in einer DB.
Vermutlich wird das configdokument aber in der aktuellen db gesucht (codeschnipsel ist nicht komplett), und wenn das dic dann nur in einer db ist, kann das nicht klappen...
Titel: Re: seltsames Problem, in einer DB funktioniert das Script in der anderen nicht
Beitrag von: Pavel am 01.12.16 - 10:43:55
Hallo,

Danke für die Anregungen, habe nun einen Ansatz gefunden, ist allerdings nicht wirklich erklärbar, aber funktioniert.
Habe bei den Eigenschaften -->Sicherheit des Agents auf Beschränkte Operationen mit vollen Admin Rechten gesetzt und siehe da der Agent funktioniert problemlos.
Danach wieder zurückgestellt auf Beschränkte Operationen zulassen, und es funktioniert immer noch, obwohl es vorher auch schon so eingestellt war.

Wie läßt sich so etwas erklären?

MfG