Autor Thema: Dokument wird morgens im Index nicht gefunden  (Gelesen 2316 mal)

Offline alexbeer

  • Junior Mitglied
  • **
  • Beiträge: 58
Dokument wird morgens im Index nicht gefunden
« am: 25.08.06 - 15:59:18 »
Hallo,
ich habe hier eine DB, in der ich aus einer Form ein Dokument oeffne.
In der lokalen Replik laeuft alles bestens.
Auf dem Server habe ich ein kleines Problem:

Rufe ich morgens auf dem Server die DB als erster auf und versuche dieses Dokument aus der Form zu oeffnen, dann erhalte ich einen Fehler
Zitat
Entry not found in Index
.
Oeffne ich dann den  View, in dem das zu oeffnende Dokument angezeigt wird und versuche dann das Dokument aus der Form zu oeffnen, dann klappt es problemlos.
Leider kann ich die Datenbank nicht mit dem View (in dem sich das zu oeffnende Dokument befindet) starten.
Der Admin hat mir versichert, dass es keinen naechtlichen Prozess gibt, der Indexes loescht

Gibt es eine Moeglichkeit, beim Aufruf einer DB fuer einen bestimmten View im Hintergrund den Index aufbauen zu lassen?
 
Ich habe hier einen Artikel gefunden, der sich mit etwas aehnlichem befasst: http://atnotes.de/index.php?topic=27617.msg175241#msg175241

zusaetzlich bin ich noch auf http://www-1.ibm.com/support/docview.wss?rs=0&uid=swg21090329 gestossen.
Meine Loesungsidee wuerde auf
Zitat
4. Agents

When agents that add or delete documents are run on a database, the index for that database will be incrementally updated. If the agent modifies documents, all built views will be checked, but only the affected ones will be updated.
fussen, in dem ich irgendein Dummy Objekt jeden morgen veraendere. Gibt es vielleicht einen schickere Loesung?

Vielen Dank

Alex

botschi

  • Gast
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #1 am: 25.08.06 - 16:12:32 »
Ist es denn immer ein und das selbe Dokument? Berifft es alle Dokumente in der View? Nach welchem Kriterium scheint es nicht zu funktionieren?
Hast Du in der Maske etwas im PostOpen oder in einem anderen Ereignis? Baut sich der Index der Ansicht selber auf (Eigenschaften der Ansicht, 5. Reiter) oder nur manuell?

Offline alexbeer

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #2 am: 25.08.06 - 16:57:23 »
Hallo,

Zitat
Ist es denn immer ein und das selbe Dokument? Berifft es alle Dokumente in der View? Nach welchem Kriterium scheint es nicht zu funktionieren?
Hole gerade etwas weiter aus:
Die DB dient zur Verwaltung von Jobkandidaten.
In einer Form trage ich einen neuen Kandidaten ein. Ist der Name des Kandidaten schon in der DB vorhanden, dann erscheint ein Button zum oeffnen des vorhandenen Kandidaten (zwecks Update des Profils).
Alle neuen Kandidaten werden von RecruitingManagern bewertet. Zu bewertende Kandidaten sind in einem extra View, der beim Aufruf der DB zu sehen ist.

Ist ein vorhandener Kandidat bereits bewertet (also in der View "Alle Kandidaten") dann klappt mein Button zum Oeffnen des vorhanden Kandidaten nicht, wenn der View "Alle Kandidaten" vorher nicht geoeffnet wurde.
Ist der vorhandene Kandidat noch nicht bewertet und somit in der View "Neue Kandidaten", die beim Start der DB angezeigt wird, dann klappt der Button problemlos.


Zitat
Hast Du in der Maske etwas im PostOpen oder in einem anderen Ereignis? Baut sich der Index der Ansicht selber auf (Eigenschaften der Ansicht, 5. Reiter) oder nur manuell?
Im PostOpen oder in anderen Ereignissen ist nichts eingetragen.
Indexaufbau:
Refresh: Automatic
Discard: If inactive for 45 days (muessten die default Werte sein)

Der Admin hat mir gerade aber verraten, dass auf dem Server nachts die Templates aktualisiert werden. Ich habe diese DB nur verbessert, glaube aber nicht, dass die auf einem Template basiert - sah zumindest nicht so aus  ;)

Vielen Dank fuer weitere Anregungen.

Alex

botschi

  • Gast
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #3 am: 25.08.06 - 17:03:13 »
Mach doch in den Knopf ein View.refresh mal rein

Offline alexbeer

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #4 am: 25.08.06 - 17:06:39 »
Hi,

leider habe ich absolute keine Erfahrung mit LS.
Ich quaele mich schon mit @-functions ...
Hinter dem Button liegt folgender Code:
Code
UNID := @DbLookup			("":"NoCache";			 "";		"cidb";				@ProperCase(Candidate);					2;[ReturnDocumentUniqueID]);
@Command([CloseWindow]);
@Command([GoUpLevel]);
@Command([OpenDocument]; ""; UNID)

Kann ich das einfach auch mit LS machen oder kann ich auch mit @functions einen View refreshen? In der Hilfe habe ich das auf dies schnelle nicht gefunden.

THX
Alex

botschi

  • Gast
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #5 am: 25.08.06 - 17:32:39 »
@Command( [ViewRefreshFields] )  aktualisiert ein Dokument oder eine Ansicht.
Guck Dir die Hilfe dazu nochmal an.

Wenn Du das hinter "@Command([CloseWindow]);" einfügst, könnte es vielleicht gehen.
Sicher bin ich mir aber auch nicht....

Offline alexbeer

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #6 am: 25.08.06 - 17:43:33 »
Hi,
danke - mal wieder Scheuklappen aufgehabt...
Kann das heute leide rnicht mehr testen, am Montag werde ich schauen, ob es klappt.
Schoenes Wochenende

Alex

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #7 am: 26.08.06 - 22:12:18 »
Ich vermute, daß die Datenbank keine Vorgabeansicht hat oder in der Vorgabeansicht (blauer Pfeil im Designer) nicht die Dokumente angezeigt werden, die du per UNID öffnen willst.

Andererseits: in der lokalen Replik funktioniert es. Merkwürdig.

Schauen wir einmal weiter: Bisher ungeklärt ist die Frage, ob in deiner Schaltfläche das @DBLookup versagt (UNID="") oder ob die Entry nicht gefunden wird. Grundsätzlich sind aber alle COMMANDs - vor allem solche, de im Zusammenhang mit einem FILECLOSEWINDOW verwendet werden, als POSTEDCOMMANDS auszuführen, damit du die Kontrolle über die Reihenfolge behältst - und das Kommando sollte FILECLOSEWINDOW und nicht nur CLOSEWINDOW lauten.

Wenn man sich den Code dann noch etwas genauer anschaut, sollte es auch den Versuch geben, die Kommandofolge abzubrechen, wenn DBLOOKUP nichts oder einen ERROR liefert. Also z.B.

UNID := @DbLookup   ("":"NoCache";    "";  "cidb";    @ProperCase(Candidate);     2;[ReturnDocumentUniqueID]);
@IF(UNID="" | @IsError(UNID);@Return("");NUL);
@PostedCommand([FileCloseWindow]);
@PostedCommand([GoUpLevel]);
@PostedCommand([OpenDocument]; ""; UNID)

Wenn auch das nichts hilft - vor allem, wenn UNID immer leer ist, dann mußt du die View eben öffnen, die du brauchst.

Z.B.
@If(@Subset(@DBName;1)!="";@Command([OpenView];"";CIDB");NUL);
UNID := @DbLookup   ("":"NoCache";    "";  "cidb";    @ProperCase(Candidate);     2;[ReturnDocumentUniqueID]);
@IF(UNID="" | @IsError(UNID);@Return("");NUL);
@PostedCommand([FileCloseWindow]);
@PostedCommand([GoUpLevel]);
@PostedCommand([OpenDocument]; ""; UNID)

Gruß

Norbert
Situs vilate in isse tabernit.

Offline alexbeer

  • Junior Mitglied
  • **
  • Beiträge: 58
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #8 am: 28.08.06 - 14:56:44 »
Hallo,

danke fuer eure Hilfe.
Trotz dem Tipp von botschi trat heute morgen das Problem wieder auf. Ich werde nachher mal den Gedanken von LN4ever aufgreifen und euch das Ergebnis dann wissen lassen. Koennte mir aber vorstellen, dass das Oeffnen des Views die Loesung darstellt...
Werde das aber spaeter ausprobieren...

Alex

Update:
Ich habe die Aenderungen jetzt mal vorgenommen.
"Natuerlich" hatte ich die Vorgabeansicht auch NICHT definiert ... - danke nochmal fuer den Hinweis.
Ich kann von dem Ergebnis leider erst morgen frueh (deutsche Zeit: Nachmittags) wirklich berichten, da die besagt View jetzt einmal geoeffnet wurde und danach habe ich keine Probleme mehr... Ich hoffe, dass es auch morgen problemlos funktioniert. Werde es euch dann wissen lassen.

Eine Sache noch:
In der Formel von LN4ever ist ein " in der 1. Zeile vor CIDB zu wenig

Update 2
Mit dem Oeffnen der View vor dem Aufruf des Dokumentes klappt es jetzt. Jezt muss ich es nur noch hinbiegen, dass die View automatscih wieder geschlossen wird, da die eigentlich niemand zu gesicht bekommen soll...
« Letzte Änderung: 29.08.06 - 15:46:56 von alexbeer »

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #9 am: 30.08.06 - 22:28:27 »
Was jetzt folgt, ist häßlich, sehr, sehr häßlich, weil FILECLOSEWINDOW immer ans Ende einer Sequenz verschoben wird, aber ich glaube, daß man mit einer @Do-Umklammerung auch das in den Griff bekommen kann, also:

1. Zeile wird
@If(@Subset(@DBName;1)!="";@Do(@Command([OpenView];"";"CIDB");NUL);@Command([FileCloseWindow));

Du öffnest die View und schließt sie gleich wieder. Ggf. mußt du im @DO mit @COMMAND und @POSTEDCOMMAND ein wenig probieren.

Wenn es partourt nicht klappen will (View bleibt offen, Dokument wird geschlossen), mußt du es in mehrere Agenten legen
Steueragent
Agent 1 für erste Zeile
Agent 2 für den Rest

Gruß

Norbert
Situs vilate in isse tabernit.

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #10 am: 31.08.06 - 10:26:02 »
ich sage es ungern @LN4Ever, aber Du hast nicht ganz recht:
In Version 6 wurde das abarbeiten der Befehle in Angriff genommen,
so dass diese unsäglichen @PostedCommands etc. der Vergangenheit angehören.
Für alle Befehle, die bisher "am Ende der Formelausführung" durchgeführt wurden,
gibt es jetzt ein entsprechendes Pendant, was SOFORT ausgeführt wird.

FileCloseWindow --> CloseWindow
ToolsRunMacro --> RunAgent

etc.

Ausserdem gibt es den neuen Befehl @UpdateFormulaContext,
um Notes mitzuteilen, dass sich was geändert hat (z.B. ein Fenster geschlossen wurde, oder ein neues Dokument erstellt),
und dass die folgenden Befehle auf die neue Situation reagieren sollen.

So kann man sich die -in R5 noch üblichen und notwendigen- Stunts mit x verschiedenen Agenten

HTH
Tode

P.S.: Hier die Liste aus der Designer- Hilfe:
Die folgenden neuen @Befehle haben eine äquivalente Funktionalität wie die vorhandenen @Befehle, außer dass sie sofort, d. h. gemäß ihrer Position in der Formel, ausgeführt werden. Die @Befehle, denen sie entsprechen, werden erst ausgeführt, wenn alle @Funktionen in einer Formel ausgeführt worden sind:

Clear entspricht EditClear
CloseWindow entspricht FileCloseWindow
DatabaseDelete entspricht FileDatabaseDelete
EditProfileDocument entspricht EditProfile
ExitNotes entspricht FileExit
FolderDocuments entspricht Folder
NavNext entspricht NavigateNext
NavNextMain entspricht NavigateNextMain
NavNextSelected entspricht NavigateNextSelected
NavNextUnread entspricht NavigateNextUnread
NavPrev entspricht NavigatePrev
NavPrevMain entspricht NavigatePrevMain
NavPrevSelected entspricht NavigatePrevSelected
NavPrevUnread entspricht NavigatePrevUnread
RefreshWindow entspricht ReloadWindow
RunAgent entspricht ToolsRunMacro
RunScheduledAgents entspricht ToolsRunBackground Macros
SwitchForm entspricht ViewSwitchForm
SwitchView entspricht ViewChange
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline LN4ever

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 505
  • Geschlecht: Männlich
Re: Dokument wird morgens im Index nicht gefunden
« Antwort #11 am: 31.08.06 - 12:03:59 »
Lieber Tode,

nur keine Hemmungen, ich halte das schon aus - und zwar sehr gut, denn deine Korrektur führt zu einem Erkenntnisgewinn.

"So manchen heimlich bedrücken
die peinlichen Bildungslücken"

ist nicht mein Lebensmotto beim Gang in ein Forum. Ich komme - wie mein "Name" ja schon sagt, noch aus der 4er Welt, habe seit gut einem Jahr "Take Five" gemacht und entdecke mit solchen Tips wie deinem den "Six appeal".

Da ich alle von dir genannten Funktionen in meinen eigenen Anwendungen noch nicht verwenden darf (wir werden erst in rund einem Jahr komplett von 5 auf 6 bei den Anwendern geschwenkt sein), ist mir die Welt der neuen 6er Funktionen noch Zukunftsmusik und alles andere als geläufig.

Aber als Hinweis und Anregung ist das für mich Gold wert, und für den Fragesteller ohnehin. Danke.

Gruß

Norbert
Situs vilate in isse tabernit.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz