Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Kadlec am 15.07.03 - 14:41:43

Titel: Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 15.07.03 - 14:41:43
Hallo folgendes möchte ich tun:
1. Von einem IBM mainframe mittels ftp eine datei downloaden.
2. Diese in eine Db importieren.
3. Dies sollte autom. nachts geschehen (wenn möglich)
4. Wenn 3. nicht möglich dann so autom. das ein user nur auf einen button klickt (ohne Abfrage nach Dateinamen etc.)

Punkt 1 habe ich soweit realisiert (feintuning später)

Zu Punkt 2 habe ich aus dem LDD Forum ein script gefunden das die Daten der .col Datei in die notes.ini schreibt und dann importiert.
Dieses script funktioniert aber bei mir nicht muß wohl angepasst werden,.. aber wo?
Angepasst habe ich die .col Datei (bei mir auf c:\) die Importdatei und das Dok.

Die .col Datei sieht so aus:
ServNr_T: TYPE TEXT START 06 END 14
KatNrVorgr_T: TYPE TEXT START 16 END 21

Die Import Datei:
0    13148917  01 12     EINSATZ                     SK   L03070          

Das script so:
(Declar)
Type ColStruc
     FieldName As String
     FieldStart As Integer
     FieldEnd As Integer
End Type

(Init..)
Sub Initialize
     Dim Fields() As ColStruc
     Dim FieldCntr As Integer
     Dim Counter As Integer
     Dim txt As String
     Dim ColFileName As String
     Dim DataFileName As String
     Dim FormName As String
     Dim FieldContents As String
     Dim pos As Integer, spacePos As Integer
     
     Dim session As New NotesSession
     Dim db As NotesDataBase
     Dim doc As NotesDocument
     
' Set the names.
     ColFileName="c:\catalogalert_import.col"
     DataFileName="c:\catalogalert.txt"
     FormName="Import"
     
     
' Determine the number of fields described.
     Counter = 0
     Open ColFileName For Input As 1
     Do While Not Eof(1)
          Line Input #1,txt$
          Counter = Counter +1
         
' Correct if the line is empty (less than 3 characters), so ignore then the line
          If Len(txt$)<3 Then
               Counter = Counter - 1
          End If
     Loop
     
' Now read the field names with their start and end positions
     Redim Fields(1 To Counter)
' Move to first record again
     Seek 1, 1
     FieldCntr=1
     Do While Not Eof(1)
          Line Input #1, txt$
          If Len(txt$)>3 Then
               pos=Instr(txt$,":")
               Fields(FieldCntr).FieldName=Left$(txt$,pos-1)
               
'get the START position
               pos=Instr(txt$,"START ")+6 'Returns the position of the character that begins the first occurrence of one string within another string.
'get the first space after the number following 'START '
               spacePos = Instr(pos,txt$," ")
               Fields(FieldCntr).FieldStart=Cint(Mid$(txt$,pos,spacePos-pos)) 'Extracts a string from within another string, beginning with the character at a specified position. expr , start [ , length ]
               
'get the END position
               pos=Instr(txt$,"END ")+4
'the number following 'END ' is at the end of the string
               Fields(FieldCntr).FieldEnd=Cint(Mid$(txt$,pos,Len(txt$)-pos+1))
               
               FieldCntr = FieldCntr + 1
          End If
     Loop
     Close 1
     
     Set db = session.CurrentDatabase
     
' Now read the data file
     Open DataFileName For Input As 1
     Do While Not Eof(1)
         
' For each row, create a document
          Set doc = New NotesDocument(db)
          Line Input #1, txt$
          For FieldCntr=1 To Counter
               
' Determine the content of the field
               If txt$<>"" Then
                    FieldContents=Mid$(txt$,Fields(FieldCntr).FieldStart,Fields(FieldCntr).FieldEnd - Fields(FieldCntr).FieldStart+1)
               Else
                    FieldContents=""
               End If
               doc.AppendItemValue Fields(FieldCntr).FieldName, FieldContents
          Next
         
         
     Loop
     Close 1
     
End Sub

Hoffe mir kann jemand helfen, im voraus Vielen Dank!!!!
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 16.07.03 - 11:48:35
Hallo vergesst das erste Posting die Datei wird importiert.
Habe nur den beim normalen Import erscheinende Status Balken nicht gesehen und dachte deshalb es passiert nichts.
Außerdem sind die Doks nicht in der vorgesehenen Ansicht zu sehen??
Dazu dann auch gleich Fragen:

1. Meine Import Ansicht hat die Select Formel {Form ="Import" & @If(Verteilt=0).Das Feld Verteilt_N ist ber. beim anlegen und hat die Vorgabe 0. Warum erscheinen die Doks hier nicht???
2. In der Maske Import habe ich ein Datumsfeld das die Vorgabe @Today hat. Das Datum erschein auch in der Maske in der Ansicht nicht, warum??
3. Den Import Agent kann ich nicht in der Import Ansicht starten (Agent muß in einer Ansicht ausgeführt werden), ich bin doch aber in einer Ansicht??

Danke für die Hilfe
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 22.07.03 - 19:32:26
Ich habe das eben im Thread http://www.atnotes.de/index.php?board=10;action=display;threadid=9881 schon geschrieben: Was soll es, wenn man einen Code von irgendwoher verwendet, von dem man absolut keine Ahnung hat ?
Im verwendeten Code fehlt ja - wenn ich nicht halluziniere angesichts der heutigen Temperaturen hier im Chiemgau - sogar das Speichern der erzeugten Dokumente. Vom Setzen wichtiger Systemfelder wie Form ganz zu schweigen.
Und was soll das .COL file in der NOTES.INI ? Und wie kommst Du auf die Idee, Dein "gefundener Code" würde sich irgendwie um die NOTES.INI kümmern ?

Mein Schluß: Du hast von LotusScript aber auch gar keine Ahnung. Würdest Du in einem EuroFighter irgendeinen Schalter betätigen, wenn Du zufällig einen finden würdest ? ;-)

Du kannst den Import vom Client aus (und nicht serverbasierend) mit einem .COL file und dem offensichtlich ordentlichen Textfile vom Mainframe machen - siehe Hilfe-DB.

Das Ganze serverbasierend per LS zu machen ist ohne weiteres möglich, aber damit verdienen Leute, die das sehr aufwändig gelernt haben, ihr Geld und machen das auch nicht in zehn Minuten. Ich schick' Dir gern ein Angebot - aber keinen Quelltext ;-)

Nix für ungut, aber auch bei diesen Temperaturen sollte man nicht ganz den Überblick verlieren.

Bernhard
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 22.07.03 - 21:29:07
Hi Bernhard,
interessanter Vergleich: Euro-Fighter und LotusScript  ;D
Womit kann man wohl mehr Schaden anrichten?

Andreas
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 22.07.03 - 21:52:40
Wenn man weiß, daß die U.S.Navy Lotus Notes als Collaboration & Communication Platform einsetzt und dies auch - ich geniesse jetzt in diesen Tagen die Anführungszeichen - von ihren "Verbündeten" verlangt, denke ich mal, daß der EuroFighter noch recht harmlos ist.
1991 wurde der Rückwärtige Dienst der U.S.Army mit ccMail geführt, jetzt ist es (logischerweise) Notes.

Es kommt halt eben immer darauf an, was man daraus macht - egal in welchem Bereich: Die Suchoj-27 (russisch also) und Nachfolgemodelle (bis SU-47) sind wohl die genialsten Kampfflieger der Welt. Und was geht rum um die Welt: Der Unfall bei der Jubiläums-Flugschau in Lwow (Ukraine) im vergangenen Jahr - ein Horrorszenario wie in Ramstein  1988. Was will man aber erwarten: Ein Super-Tool, aber seit mehr als vier Jahren haben die Ukrainer (die Betreiber der Unglücksmaschine) kein Ersatzteil mehr von der (russischen) Herstellerfirma gekauft. Was will man also erwarten? Da das jetzt hier nicht das Forum dafür ist, nur ganz kurz: Die Ukrainer haben auch sonst wohl so jede bei den Russen (und anderswo, aber vielleicht nicht bei den Amis) geltende Vorschrift für extreme Flugmanöver bei Airshows verletzt.

Und jetzt ziehen wir wieder mal den Rückschluß zu Lotus Notes/Domino: Cheffe sagt zum newbee: "Mach mal!". Newbee hat den Sinn der übergeordneten Sache nicht verstanden und sagt "Yes, Sir, Gunnery Sergeant, Sir !!!", anstatt sein Hirn einzuschalten und sein aktuelles Niveau einzuschätzten. Und schon ist der Weg frei für "Notes ist sch****e"-Kommentare.
Glücklicherweise sind davon ja auch andere Produkte betroffen. Nicht nur Notes und die Suchoj SU-27/37/47. Oder was auch immer ...

Ich galub' aber trotzdem an das Gute im Menschen ;-)

Bernhard
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 22.07.03 - 22:18:51
Hi Bernhard,
sehe ich das richtig, dass die Suchoj Schubvektorsteuerung einsetzt? Dann wären die Ruskies ja weiter als die Amis, oder haben die ihr Ding bereits in Serie?

Zurück zu Notes: Du meinst, die User sind die Ukrainer und wir sind die Russen? Leider werden wir nicht mehr gefragt, sprich unsere Dienste in Anspruch genommen? Wie recht Du hast!

Andreas
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 22.07.03 - 22:34:06
Oh Mann, sind wir jetzt off-topic, aber nur scheinbar ;-)

Ja, die Suchoj hat ab SU-37 (äh, vielleicht in Variationen schon vorher) Schubvektorsteuerung. Damit haben sie auch einen Rekord: Round-about 55 km/h Minimalgeschwindigkeit. "Manöver Kobra" damit auch über 360 Grad - auf Flugschauen macht das Ding Figuren wie ein Schmetterking im Wind - wiegt aber 25 Tonnen mehr.

Und die Suchojs sind in Serie unterhalb der der SU-47 - AFAIK.

Und unter den Usern und unseren newbees hier im Forum gibt es selbstverständlich "Russen" und "Ukrainer" - wie überall im wirklichen Leben ;-)   Und der Normal-Ukrainer hätte natürlich auch kein Flugzeug geflogen, das
- über 6 Tonnen mehr Treibstoff an Bord hat als beim Training
- seit Jahren keine Originalersatzteile mehr gesehen hat
- nicht die Maschine ist, mit der man die Flugschau-Manöver vorher trainiert hat
- und so weiter.

Also: Nix gegen die gebeutelten Piloten der armen Ukraine - und manches läßt sich dann doch auf "aufstrebende" Notes-Programmierer übertragen. Man muß halt eben wissen, was man tut, und man muß wissen, wovon man (erstmal) die Finger läßt - auch wenn der (Luftwaffen-)Chef grimmig schaut.
Know-How kostet Geld, und (Suchoj-)Ersatzteile auch. Wenn man das nicht einsieht, wird es dann so richtig teuer.

Ciao,
Bernhard
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 23.07.03 - 08:24:36
Erstmal Danke an die Euro Figther Fraktion, wenn mich die Antworten?? auch nicht weiter bringen.
Zu der Sache mit dem Script, ja Bernhard ich habe leider keine Ahnung von Script sobald ich mal Zeit habe werde ich mich damit auseinander setzen. Ist aber auch nicht mein Hauptgeschäft das, solltest Du als Profi dann auch so akzeptieren.
Mit meinem Problem an sich, da habe ich mich falsch ausgedrückt, sorry ich habe das .col file nicht in der Notes.ini, sondern in dem Fall auf C:\ dort wird es auch von dem Script gefunden.
Und damits nicht vergessen wird, der Import erfolgt also kann das Script nicht ganz falsch sein.
Gruss und DANKE

PS: Ich habe gar kein Flugzeug.
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 23.07.03 - 09:13:53
Hi Kadlec,
das Script arbeitet so: Es liest den Inhalt der COL-Datei in eine Struktur

Type ColStruc
    FieldName As String
    FieldStart As Integer
    FieldEnd As Integer
End Type

und zwar als Array
Fields()

Wichtig ist also der Aufbau der COL Datei.

Was mir im Script noch fehlt, ist das Setzen des Maskennamens für die neuen Dokumente. Entweder muss also in der COL-Datei sowas
wie
Form: Type TEXT ... usw. stehen
oder Du programmierst das:

         
' For each row, create a document
Set doc = New NotesDocument(db)

' NEU !!! Maske setzen
doc.Form = "Maskenname"

wobei Du den richtigen Namen hier einsetzen musst.

Das ganze funktioniert aber nur dann, wenn alle Daten die in der COL-Datei definierte Länge haben (END - START). Ist das bei Deiner Datei so?
Falls nicht, müsste das Import Script etwas umgemodelt werden. man kann auch auf die COL-Datei ganz verzichten und das im Script selbst programmieren.

Wie gesagt, bei dem Programm, das Du hast, handelt es sicht um einen Universalimportierer, der
a) die Form irgendwie aus der COL Datei holt (habe ich was übersehen ?) und
b) feste Längen der einzelnen "Spalten" voraussetzt.


Andreas

Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 23.07.03 - 10:36:59
Hallo Andreas,

die col Datei ist genau so wie Du sie voraussetzt.

FeldName: Type Text START 06 END 12
usw., der Maskenname wird im oberen Bereich gesetzt.
Dort steht:
ColFileName="c:\..."
DataFileName="c:\..."
FormName="Import"

Noch mal zum Problem.
1. Der Import funktioniert!!!
Die Dokumente finden sich aber nicht in der Ansicht in der ich Sie erwarte.
Die Select Formel der Ansicht ist: Form ="Import" & @If(Verteilt_T=0).
Das Feld Verteilt_T ist berechn. beim Anlegen mit der Vorgabe 0.
Wenn ich das Dokument öffne hat das Feld auch die 0.
Wenn ich die Eigenschaften des Dokuments in der Ansicht betrachte hat es das Feld nicht.
Da müsste ich wohl einen Befehl wie ViewRefreshFields noch in das Script einbauen, oder??
Danke für Deine Hilfe.
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 23.07.03 - 10:56:30
Hallo,
Deine Antwort bestätigt meine Vermutung. Die Form wird nicht gesetzt.
FormName = "Import" steht zwar im Script, wird aber nicht gesetzt.

Also erweitere bitte das Script wie folgt:

Hinter
Set doc = New NotesDocument(db)

das hier einfügen
doc.Form = FormName

Dann werden die Dokumente auch in der Ansicht angezeigt.

Um das Feld Verteilt_T  zu setzen, füge noch folgendes ein:
doc.Verteilt_T  = 0

Das sollte dann alles funktionieren.

Gruß
Andreas
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 23.07.03 - 11:37:35
Andreas, das wars die Doks sind nun da wo sie hingehören.
Danke erstmal Ich melde mich später vielleicht noch mal wegen der zwei anderen Problemen.
Danke.
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 28.08.03 - 15:44:05
So nun habe ich mal wieder ein paar Tage um mich der Db
wieder anzunehmen.
Zuerst möchte ich mich noch mal an Bernhard und Andreas wenden.
Mit Eurer Meinung, hier nicht jede Lösung auf dem Silbertablett zu servieren habt Ihr ja völlig Recht. (Auch wenn hier im Forum schon komplette Lösungen gezeigt wurden.)
Ich dachte beim ersten Posting ja auch nur das ein Profi auf den ersten Blick den Fehler erkennt und dann einen "kleinen" Hinweis gibt. Eure Haltung hat mich immerhin dazu gebracht mich selbst ein wenig mit script zu befassen und das ist gut so. Falls Euch meine Anrede als "Euro Figther Fraktion" getroffen haben sollte.. ENTSCHULDIGUNG do hun ich e spässle mächt.

Jetzt habe ich aber noch ein Problem und zwar benutze ich für einige Werte wie HOST ID und Passwort etc. beispielsmäßig
LookupKey = doc.GetItemValue("Kurzzeichen_T")
LookupSachbearbeiter = Evaluate({@DbLookup("Notes":"NoCache";"";"AbfrageKurzzeichen_V";"}+LookupKey(0)+{";2)}) das funktioniert auch prima.
Nun möchte ich aber ein Feld in Abhängigkeit zu einer anderen Datenbank auf Ja oder Nein setzen.
Die Formel die eigentlich nur um die Replic ID der Db erweitert wurde funktioniert leider nicht???
LookupHazardous = Evaluate({@DbLookup("Notes":"NoCache";"":"C1256D5E:00406F04"; "Hazardous_V";"MOTOROEL";1)}).
Kann ich beim erstellen eines Doks im Backend evt. nicht auf andere Dbs zugreifen???

Vielen Dank im voraus.
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 29.08.03 - 17:00:44
Hallo, Kadlec,

mich deucht, des Pudels Kern ist Deine Parameter-Verwendung von "Server" : "Dateiname". Notes muß ja irgendwie auseinanderhalten, ob nun
- auf einem bestimmten Server in einer speziellen DB
- in der selben DB
- oder in der DB mit dieser Replik-ID gesucht werden soll.
Deine Syntax wird wohl so interpretiert: Der Server heißt "" (also der aktuelle) und die DB "C1256D5E:00406F04".
Laß also in diesem Kontext mal den "Servernamen" weg und verwende nur die Replik-ID:
LookupHazardous = Evaluate({@DbLookup("Notes":"NoCache"; "C1256D5E:00406F04"; "Hazardous_V";"MOTOROEL";1)}).

Ich bin übrigens sehr froh, daß Du uns unseren Exkurs in die Welt der europäischen Kampfjets nicht übel genommen hast ;-)
Was Postings von kompletten Code angeht: Das kann man machen, ist aber sinnreich nur für Empfänger, die dann das Rad nicht neu erfinden müssen, sondern den Code nachvollziehen können. Sonst ist es wirklich so wie mit dem unbekannten Knopf im Eurofighter: Mal draufdrücken
und schauen, was dann passiert ... Endet meist verheererend.
Gerüchteweise soll in den Siebzigern mal ein Unteroffizier von Triebwerk/Zelle in einem Splitterbunker in Cottbus so einen "merkwürdigen Griff" unter dem Sitz gezogen haben. War natürlich der Schleudersitz der MiG 21, und der Splitterbunker hat 'ne 70-cm-Stahlbetondecke ...
Tödlich endet nun in der Regel ein "Schau'n wir mal, was dieser Code wohl tun mag ;-)" in Notes nicht, aber ich habe es selbst schon erlebt, daß ein Ahnungsloser damit das NAB (total!) zerlegt hat. "Ooops, wußte ja gar nicht, daß das Programm dann sowas macht ..."

Nix für ungut - und auch die "EuroFighter"-Fraktion und alle anderen helfen wirklich gerne weiter !!!

Ich hoffe, ich lag mit meiner Erklärung oben richtig und grüsse herzlichst,
Bernhard vom Alpenrand

PS: Ich habe auch kein Flugzeug ;-)
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 03.09.03 - 09:54:54
Hallo Bernhard,
hatte 2 Tage frei, deshalb melde ich mich erst jetzt.
Dein Vorschlag war mein erster Versuch der hatte nicht funktioniert, deshalb hatte ich es so einmal probiert. Hatte auch schon den Servernamen + Verzeichniis getestet funktioniert aber alles nicht.
Wenn ich die Formel in ein Feld eines Dokuments schreibe funktioniert sie tadellos??

Boris
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 03.09.03 - 17:03:37
Hi Boris,
die Formel von Bernhard
LookupHazardous = Evaluate({@DbLookup("Notes":"NoCache"; "C1256D5E:00406F04"; "Hazardous_V";"MOTOROEL";1)}).

sollte gehen. Wenn es dennoch nicht geht, liegt es ggf. an den Zugriffsrechten. Das ganze läuft ja in einem periodischen Agenten. Da gilt es folgendes zu beachten:

Background Agent Doesn't Make Changes to Database or Documents as Expected

Problem:

A background agent does not update another database's documents as expected.   For example, an agent that performs a @Dblookup or @DbColumn does not work as expected.  What is a possible cause?

Solution:

Background agents are only allowed to access databases on the same server.  If the database is on the same server, then the background agent may not have sufficient rights to make changes to the database.

To ensure the agent has the appropriate rights:

1.   Add the database Replica ID number to the Access Control List (ACL).  The ID can entered with or without the colon, for example: 8525689B:005AA111 or  8525689B005AA111

2.   Assign the appropriate rights.

3.   If the form contains a Reader Names field (or Author Names field as appropriate), be sure that the replica ID number of the agent's database is added.  When entering the Replica ID the colon should be included, for example: 8525689B:005AA111

Du musst also die Replik-ID der Datenbank, aus der der Agent gestartet wird, in die ACL der Zieldatenbank eintragen.

Andreas

P.S.: Das mit der Euro-Fighter-Fraktion ist schon ok  ;)
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 04.09.03 - 09:50:36
Hallo Andreas,
die Replic ID hatte ich in die DB eingetragen.
Die Rechte waren zwar unvollständig, nachdem ich diese dann vervollständigt hatte funktionierte es immer noch nicht.
Habe die Rechte dann sogar auf Manager gesetzt geht immer noch nicht.

Anderer Lösungsansatz:
Die Formel in einem Feld funktioniert.
Da ich die Doks im Backend erstelle ist der Feldwert aber irgendwie nicht greifbar. D.h. im Dokument ist zwar entweder "Ja" oder "Nein" zu sehen diesen Wert sehe ich aber in einer Ansicht nicht also ist der Wert doch irgendwie nicht da. Wenn ich das Dok. edit uns speichere dann ist der Wert verfügbar. Warum ich den Wert in der Ansicht nicht sehe ist wohl der Umstand das ich im Backend die Items setzen muß?? OK aber warum ist dann im Dokument der richtige Wert zu sehen. Ist für mich etwas unlogisch, aber na ja.
Was ich jetzt also noch machen müsste, wäre dem Feld den Wert zuweisen den es im Lesemodus schon "Scheinbar" hat. Geht das überhaupt wenn ja wie ??
Hoffe das ganze ist nicht allzu konfus.

Boris
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 04.09.03 - 14:59:24
Ist das ein "Berechnet zur Anzeige"-Feld?

Bernhard
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 04.09.03 - 15:28:22
Im Moment ist es nur Berechnet.
Hatte es aber auch schon mit Ber. zur Anzeige versucht.

Boris
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 04.09.03 - 15:40:58
Berechnet zur Anzeige darf es auf jeden Fall nicht sein - daß steht dann ja nur im Frontend zur Verfügung, solange das Dokument geöffnet ist.

Was sagen denn die Dokument-Properties eines gespeicherten Dokuments? Siehst Du dort das Feld mit dem richtigen Wert ?
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 04.09.03 - 16:28:54
Wenn ich mir die Properties in der Ansicht anschaue sehe ich das entsprechende Feld nicht.

Öffne ich das Dokument zum lesen und schau mir dort die Properties an sehe ich das Feld mit dem Eintrag aber dort sehe ich ja den Eintrag auch so.

Wenn ich ein Dok. editiere und neu speichere dann sehe ich auch in der Ansicht bei den Properties das Feld und den Wert dann wird der Wert aber auch in der Ansicht angezeigt.


Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 04.09.03 - 16:36:12
Wenn das Feld durch den Import nicht gesetzt wird, wird es erst dann angelegt, wenn jemand das Dokument editiert und speichert. Das erklärt auch, warum das Feld in den Dokumenteigenschaften nicht vorhanden ist, wenn diese üer View aufgerufen werden.
Wenn Du das Dokument öffnest, wird das Feld dann berechnet und auch in den Eigenschaften angezeigt.

Um solche berechneten Felder bereits beim Import zu setzen, musst Du noch folgendes programmieren:

Call doc.ComputeWithForm(False,False)

und zwar bevor due
call doc.Save(...)
machst.

Andreas
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 04.09.03 - 16:36:55
Wenn Du das Feld früher mal als cfd ("computed for display") hattest, wurde in alten Docs natürlich auch kein Wert gespeichert. Ich nehme an, daß Deine Formel im jetzt berechneten Feld dazu führt, daß auch bei den alten Docs was angezeigt wird.

Kannst Du Dir fix 'nen Agent schreiben, der die "alten" Docs updated ? Hast Du dafür eine eineindeutige Zuordnungsmöglichkeit ?

HTH,
Bernhard
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 04.09.03 - 16:41:25
Ha, da war der andere Teil der "EuroFighter"-Fraktion schneller (und ausführlicher) ...
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 05.09.03 - 13:47:22
Ich könnte ko...
Als ich heute morgen den Beitrag von Andreas las dachte ich yeah, thats it...
Wars aber nicht.
Ich hatte gestern abend den selben Ansatz, ich hatte mir den Import mit den Notes Bordmitteln vorgestellt und da fiel mir dieses Kästchen (Feldwerte beim Import neu ber.) ein.
Habe dann als erstes den Befehl von Andreas in den Agent aufgenommen diesen gestartet...und...das Feld war immer noch leer???
Dann habe ich über Datei - Import Kreuzchen in das Kästchen die Datei importiert und ... siehe da das Feld war gefüllt. Kopf kratz.
Dann habe ich ein vorhandenes Datumsfeld (das ich vorher direkt über den Agent gefüllt hatte) genommen und den entspr. Befehl im script auskommentiert. Merkwürdigerweise setzt er dieses Feld mit dem Befehl Call doc.ComputeWithForm(False,False) aber mein "Problemfeld" immer noch nicht.
Dieses habe ich dann auch Nocheinmahl neu benannt etc. das Ergebnis ist das gleiche. WAS ZUM TEUFEL läuft da falsch.

Ach ja wenn ich ein Dokument öffne und aktualisiere und dann speichere habe ich den Wert (wie vorher auch).

Boris
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 05.09.03 - 14:05:45
Es ist das Feld mit dem @Dblookup, oder?

Mach mal folgendes: Das Feld "Berechnet" mit folgender Formel:

_Lookup := @DbLookup("Notes":"NoCache"; "C1256D5E:00406F04"; "Hazardous_V";"MOTOROEL";1);
@If(@IsError(_Lookup);@Text(_Lookup);_Lookup)

Dann sollte da im Fehlerfall die Errormeldung drin stehen, evtl. hilft das ja weiter.

Andere Möglichkeit wäre, dass es an der Replik-ID liegt. Versuch mal, den Server und die Datei anzugeben.

Das ComputeWithForm stellt sich manchmal auch an, wenn der Datentyp, der zurückgeliefert wird, nicht übereinstimmt. Was liefert denn der @DbLookup zurück? Ist der Datentyp gleich dem Datentyp des Feldes? Hast Du im Feld Mehrfachwerte angekreuzt, falls eine Liste zurückommt?

Andreas
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Kadlec am 05.09.03 - 15:51:50
Lotus Notes ist so GEIL.
Es funktioniert!!!! (Muss aber doch noch en paar Tests machen)

Ja Andreas es ging um dieses Lookup, das ich zwar geändert hatte auf @DbColumn und @IsMember war aber das gleiche Ergebniss.

Was ich jetzt gemacht habe ist folgendes:

REM "Die Info ob ein Teil ein Hazardous Teil ist wird aus der DB Katalog Namen Vergabe gezogen.";
TempServer := "DERUEDV01/D/GMSERVER/GMC";
TempFilename := "zzt1zp\\Katalog_Namen.nsf";
TempLookup := @DbColumn("Notes":"NoCache";TempServer:TempFilename; "Hazardous_V";1);
@If(@IsMember(KatalogName_T;TempLookup);"Ja";"Nein")

Bei dem schon angesprochenen Versuch mit Server Name etc. (der nicht funktioniert hatte) habe ich, soweit ich mich erinnere, bei dem Server auch \\ eingegeben.

Andreas, Bernhard erstmal Vielen Dank für Eure Hilfe und die Mühe die ich gemacht habe.
Kann sein das ich nochmal die eine oder andere Frage zu der Sache habe.

Boris

Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: koehlerbv am 05.09.03 - 16:04:05
Boris, frag' nur, dafür ist das Forum ja da. Und wenn wir nicht willens wären, würden wir ja auch nicht antworten.
Nochwas: Wir haben auch mal beim Nullpunkt angefangen !

Du kannst auch gerne off-list mal 'ne DB oder 'nen Teil davon schicken, vielleicht kann ich da ja auch den einen oder anderen Tip beisteuern, der Dir in Zukunft das Leben leichter macht.

Bernhard (der der Zugehörigkeit zur EuroFighter-Fraktion heute insofern gerecht wurde, daß er eine Einladung (privat !!!) nach Shukovskij bekommen hat, *DEM* Entwicklungs- und Erprobungszentrum der russischen Luftwaffe. Modernstes, modernes und bewährtes zum Anfassen, reinsetzen und vermutlich mitfliegen ;-))
Titel: Re:Import einer Textdatei mit .col Datei
Beitrag von: Glombi am 05.09.03 - 16:08:36
@Boris: Schön dass es jetzt funktioniert. Dann kannst Du den Thread auch auf erledigt setzen.
Bis zum nächsten Mal!
Der Thread hatte wirklich auch interessante Nebenthemen  ;)

@Bernhard: Viel Spaß bei den Russkies! Hab gehört, dass die Ihre alten Klamotten jetzt vertickern. Kannst Dich ja mal umsehen, vielleicht hast Du dann bald einen Flieger ;D

Andreas