Domino 9 und frühere Versionen > Entwicklung

Fehler in Replace ?!

(1/2) > >>

LordDestiny:
Hi,

ist es euch schon mal passiert, dass auf bestimmten Clients oder unter bestimmten Voraussetzungen ein ReplaceItemValue nicht funktioniert?
Ich nutze in mehreren DBs einen Agent für die Nummernvergabe, welcher bei Erfolg das jeweilige Nummernkonstrukt via ReplaceItemValue (da Feld in Konfiguration frei konfigurierbar) setzt ... bzw. setzen sollte.
Auf den Entwicklungs-Clients läuft alles wunderbar (R5.0.9 + R5.0.10, sowie R6). Auf manch anderen Clients taucht allerdings o.g. Phänomen auf.
Ich hoffe, ihr könnt mir helfen, da ich mir mittlerweile keinen Rat mehr weiss  ???.

Gruss,
LD

Rob Green:
eine sehr genaue Fehlerbeschreibung  ;D

Schon mal hier gesucht?
http://www-1.ibm.com/support/search.wss?q=replaceitemvalue&tc=SSKTWP&rs=475&apar=include

LordDestiny:
Ich schau'  mir mal den Link an ... danke  :)

Merkwürdig ist nur, dass ich keine Fehlermeldung bekomme, sondern schlicht und ergreifend das Feld nicht gesetzt wird. Auch in der Feldliste wird der Inhalt noch als leer zurückgegeben.

Rob Green:
und im Notes Log, was steht da?
Wenn nix, protokollier mal bitte, so daß Du Einträge ins Notes Log bekommst. Wie? Per Print oder Messagebox (jaaa, letztere geht auch im Backend LS)

LordDestiny:
Habe mir auch schon Messageboxen ausgeben lassen, bzw. ins Log schreiben lassen (Schrittmeldungen). Fehlermeldungen seitens des Logfiles habe ich aber nicht entnehmen können (bis auf die von mir eingetragenen Meldungen natürlich).
Anbei erstmal ein Auszug aus dem Sourcecode:

:
:
    If Numtype = "3" Then
      If doc.fdknumsearch(0) = "2" Then
        Num = Getlfdnumber(doc, Idoc.fdestablishment(0))
      Else
        Num = GetNumber(doc, Idoc.fdestablishment(0))
      End If
      If num <> "" Then
        buff = Getdetail(doc,1) + Num + Getdetail(doc,2)
        ' dbsearch auf Nummer
        SearchFormula$ = "DocType ="""+idoc.DocType(0)+""" & fdbilno=""" + buff + """"
        Set col = db.Search(SearchFormula$,Nothing,0)

        ' Wenn Nummer vorhanden, dann Fehler
        If col.Count>0 Then
          Goto nEnde
        End If

        Call Idoc.ReplaceItemValue(FieldToSet,buff)
        Idoc.fdNoflag = "1"
        Call Idoc.save(True, True)
      Else
        Goto nEnde
      End If
    End If
:
:

- idoc ist das Dokument, in dem die Nummer gesetzt werden soll.
- FieldToSet enthält den Feldnamen des zu setzenden Feldes.
- NumType und fdknumsearch sind nur für den Aufbau wichtig.

Setzte ich bei den Zeilen

        Call Idoc.ReplaceItemValue(FieldToSet,buff)
        Idoc.fdNoflag = "1"
        Call Idoc.save(True, True)

jeweils Schrittmeldungen ein, werden diese ausgegeben (oder geloggt). Das Script läuft also ohne Fehler durch (kein 'On Error Resume Next').

Bin mittlerweile ziemlich ratlos  ???

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln