Autor Thema: Notes error: Field is too large (32K) or View's column & selection formulas...  (Gelesen 13008 mal)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Hallo,

wie kann man feststellen, wie groß diese "View's column & selection formulas" sind?

Zitat
25.04.2008 12:10:10   AMgr: Agent ('MeinTollerAgent' in 'BRUCE/Willis.nsf') error message: Notes error: Field is too large (32K) or View's column & selection formulas are too large

Gruß
Leo
nobody is perfect but i'm pretty close 

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... in den Feldeigenschaften erhälst du die Größe

Toni
Grüßle Toni :)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
... in den Feldeigenschaften

...wovon?
Von den jeweiligen Spalten?

Danke & Gruß
Leo
nobody is perfect but i'm pretty close 

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... da habe ich wohl zu schnell gelesen - sorry...

Aber in dem Fall kannst du zu Analysezwecken sicherlich NotesItems verwenden:

Temporäres Dokument => Formelinhalt in ein Feld schieben und die Größe des Items auslesen..

Toni
« Letzte Änderung: 25.04.08 - 13:30:30 von ata »
Grüßle Toni :)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
schnell gelesen - sorry...
Kein Problem, Toni.
Bitte lies noch einmal und beantworte meine Frage. 

;)
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Es ist e her unwahrscheinlich, dass Option 2 der Fehlermeldung zutrifft. Ich vermute, Dein Agent stoplert über ein Item, welches die 32k-Grenze geknackt hat.
Mehr könnte man sagen, wenn man den Code des Agents sehen würde.

Bernhard

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... das wäre ein Ansatz:

In einem Agenten, der auf die aktuelle View geht - so auf die schnelle...

Code
Option Explicit
'
Sub Initialize( )
   'On Error GoTo ErrorHandle
   ' # lokale Deklarationen...
   Dim session As New NotesSession
   Dim ws As New NotesUIWorkspace
   Dim docThis As NotesDocument
   Dim view As NotesView
   Dim item As NotesItem
   Set docThis = session.CurrentDatabase.CreateDocument
   Set view = ws.CurrentView.View
   Print view.Name
   docThis.ColumnFormula = view.SelectionFormula
   Set item = docThis.getFirstItem( "ColumnFormula" )
   MsgBox item.ValueLength & Chr(10) & Chr(10) & view.SelectionFormula , 0 , view.Name & " => Ansichts-Formel" 
   '
   Forall column in View.Columns
      docThis.ColumnFormula = column.Formula
      Set item = docThis.getFirstItem( "ColumnFormula" )
      MsgBox item.ValueLength & Chr(10) & Chr(10) & column.Formula , 0 , view.Name & " => " & column.ItemName
   End Forall
WayOut:
Exit Sub
ErrorHandle:
   MsgBox |FEHLER | & erl & | => | & Error , 16 , |Fehler in Zeile | & Erl  
End Sub

Toni
Grüßle Toni :)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Hallo Toni,

wenn ich Deine letzte Änderung/Bemerkung (von 13:30:30) richtig verstehe, kann die Meldung "is too large" nicht daran liegen, wie vile Dokumente in der fraglichen Ansicht zu sehen sind oder wie viel Text in den Spalten angezeigt wird.

Oder gibt's auch solche Beschränkungen?

Und wenn ich in den Spalten keine Formel sondern nur Feldnamen hätte, dürfte zu dieser Fehlermeldung überhaupt nicht kommen.

Oder doch?

Gruß
Leo
nobody is perfect but i'm pretty close 

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
... wenn nur der Feldname drin steht, dann ist die Meldung auf jeden Fall wirr - daher ist der Verdacht nicht unbegründet => Dein Agent stoplert über ein Item, welches die 32k-Grenze geknackt hat

Das liese sich nur mit einer Überprüfung der NotesItem.ValueLength erkennen...

Toni
Grüßle Toni :)

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Ich vermute, Dein Agent stoplert über ein Item, welches die 32k-Grenze geknackt hat.
Mehr könnte man sagen, wenn man den Code des Agents sehen würde.

Hallo Bernhard,

Danke, du hast die Chance:   :)
See attached...
« Letzte Änderung: 28.04.08 - 22:47:49 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
... wenn nur der Feldname drin steht, dann ist die Meldung auf jeden Fall wirr -

Danke, Toni.
Die Ansicht hat zwei Spalten aber SEHR viele Dokumente.
In einer Spalte ist nur ein Feld.
In anderer Spalte eine SEHR einfache Formel in der Art:  "bla" + Feld007 + "blup"

Meinst Du, an so einer Ansicht kann die Fehlermeldung nicht liegen?
« Letzte Änderung: 25.04.08 - 14:33:10 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Was sagt denn Dein Log? Ich würde mir dort auch die Fehlerzeile ausgeben lassen.
Ist es sicher, dass *dieser* Code den Fehler verursacht? Dein Agent "SetNewMailInfoToHistory" klingt das schon wahrscheinlicher - wenn Du in ein Feld immer nur anhängst ...

Bernhard

PS: Ein Hinweis noch (hat aber mit der Fehlermeldung nichts zu tun:
Code
Dim MailAddress, subject, UserTech,UserTech1, dspUserTech, Empfaenger,Empfaenger_1, dspEmpfaenger,BodyNurText, History, 
UserTechAdd, UserTechAdd1, UserReq, Priority, NewProcess, Projects, Status, TextForMessage001, TextForMessage002, TextForMessage003, 
TextForMessage004, TextForMessage005 As String	
MailAddress, subject etc. deklarierst Du hier als Variants, nur TextForMessage005 ist ein String.
« Letzte Änderung: 25.04.08 - 14:46:39 von koehlerbv »

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Ist es sicher, dass *dieser* Code den Fehler verursacht?
Dein Agent "SetNewMailInfoToHistory" klingt das schon wahrscheinlicher - wenn Du in ein Feld immer nur anhängst ...

Danke für die Hinweise.
Der zweite Agent anbei.

Fragen:
1. Kann an dem ersten also nicht liegen?
2. Und nicht an der o.g. Ansicht?
3. Nur an dem (zu großen) Dokument, wo der zweite Agent etwas schreibt?


Zitat
@If(NewMailInfo="";@Return("");@Success);
FIELD History:=
@Text(@Now;"D0T1") +" -- "+ @Name([CN];@UserName) + @NewLine+ @NewLine+ NewMailInfo
+ @NewLine + "_______________________________________________"+ @NewLine+ History;

FIELD NewMailInfo := "";

SELECT @All
« Letzte Änderung: 25.04.08 - 14:40:46 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline ata

  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 5.092
  • Geschlecht: Männlich
  • drenaiondrufflos
    • Anton Tauscher Privat
Zitat
Meinst Du, an so einer Ansicht kann die Fehlermeldung nicht liegen?

Nach meiner Meinung liegt es an den Agenten - wie Bernhard vermutet durch das zusammenhamängen der Richtext-Felder. Ein Absatz kann nämlcih auch nur 32K haben...

@Bernhard
kannst du den Code bei dir umbrechen oder abkürzen - das lässt sich sonst nicht mehr vernünftig anschauen - danke

Toni
Grüßle Toni :)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Also, das History-Item schreit förmlich danach, überzulaufen.
An den RichText-Operationen kann es nicht liegen, das gäbe auch eine andere Meldung (IIRC).

Bernhard

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Nach meiner Meinung liegt es an den Agenten - wie Bernhard vermutet durch das zusammenhamängen der Richtext-Felder. Ein Absatz kann nämlcih auch nur 32K haben...
Danke.
Der erste Agent schreibt in ein Richtext-Feld, aber viel weniger als 32K pro ein Schreiben bzw. Absatz.
Der zweite Agent schreibt in ein Text-Feld, das nicht größer als 32K ist..

Aber die Fehlermeldung wird in Log geschrieben, und der zweite Agent schreibt seit ein paar Stunden nichts - sogar in die neuen sehr kleinen Dokumente...

:(
nobody is perfect but i'm pretty close 

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Ich hab gerade ein paar neue Dokumente erstellt und den ersten Agenten manuel gestartet.
Es kommt gleich das Fenster mit derselben Fehlermeldung.
Und die Ergebnisse sind auch gleich: der 1. Agent funktioniert (trägt etwas ein), der 2. Agent nicht (er trägt nichts ein)...

nobody is perfect but i'm pretty close 

Offline Bruce Willis

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.002
  • Geschlecht: Männlich
  • Wer nicht wagt...
Hallo Bernhard,

...Ist es sicher, dass *dieser* Code den Fehler verursacht? Dein Agent "SetNewMailInfoToHistory" klingt das schon wahrscheinlicher - wenn Du in ein Feld immer nur anhängst ...

Du hast wieder recht! :)
Das Problem lag an diesem zweiten Agenten bzw. an einem bestimmten Dokument mit vielen Feldern...
Ich habe ALLE Felder überprüft und stellte fest, dass einige SUMMARY Felder unerwartet groß waren.

Kennst Du vielleicht ein Script o.ä. womit man diesen Flag bei ausgewählten Feldern entfernen könnte?
;)


Ein Hinweis noch:
Code
Dim MailAddress, subject, UserTech,UserTech1, dspUserTech, Empfaenger,Empfaenger_1, dspEmpfaenger,BodyNurText, History, 
UserTechAdd, UserTechAdd1, UserReq, Priority, NewProcess, Projects, Status, TextForMessage001, TextForMessage002, TextForMessage003, 
TextForMessage004, TextForMessage005 As String	
MailAddress, subject etc. deklarierst Du hier als Variants, nur TextForMessage005 ist ein String.
Ich deklariere eigentlich alles als String.
Oder meinst Du, dass ich alles außer "TextForMessage..." als Variants deklarieren sollte?


-----------------------------
P.S. Finde ich uncool:
http://www-1.ibm.com/support/docview.wss?uid=swg21087474
Error: 'Field is too large (32k) or view's column and selection formulas too large' when saving document
"...Notes/Domino 6.x and 7.x have the following limits regarding Summary fields: 32k per field, 64k per document..."
« Letzte Änderung: 28.04.08 - 23:04:49 von Bruce Willis »
nobody is perfect but i'm pretty close 

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Hallo Leo,

das Summary-Flag kannst Du mit der IsSummary-Property der Notes-Item-Klasse entfernen. Ich halte das aber für keine besonders gute Idee. Entweder, Du packst den ("unbegrenzten") Inhalt in ein RichtText-Item, oder (wenn möglichst, ist das am besten) sorgst dafür, dass der Inhalt Deines Items die 32-k-Grenze nicht knacken kann (aus Erfahrung begrenze ich TextItems übrigens auf maximal 30 k).

Zu Deiner Deklaration:
Dim variable1, variable2 As String
deklariert variable1 als Variant. Die Deklaration für variable1 ist identisch zu
Dim variable1
Ohne Angabe wird das immer ein Variant.

Was Du willst, erreichst Du nur explizit:
Dim variable1 As String, variable2 As String

HTH,
Bernhard
« Letzte Änderung: 28.04.08 - 23:44:37 von koehlerbv »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Nachtrag:

Leo, das mit der falschen Deklaration (das ist übrigens ein sehr "beliebter" Fehler) kannst Du einfach im Debugger überprüfen. Schau Dir nach dem Durchlaufen einfach die Variablen und ihre Typen dort an.
Und unerwartete / unbeabsichtigte Datentypen können Fehler nach sich ziehen, nach denen man sich dann den Wolf sucht ...

Bernhard

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz