Autor Thema: Import nach Notes  (Gelesen 3647 mal)

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Import nach Notes
« am: 27.11.02 - 09:54:19 »
Hallo,

mein Problem ???: Ich muß jeden Freitag 52000 Datensätze nach Notes einlesen (Grundbestandsdaten die nur Ausgetauscht werden- sie werden in Notes nicht verändert). Die Daten liegen im DB2 format vor. Ich könnte sie nach Excel bzw. DB-Base exportieren. Derzeit gehe ich den Umweg über die Smart-Suite und schreibe in Notes direkt. Das ganze soll aber automtiesiert über ein Agenten oder ähnliches laufen. Mit den Importfunktionen von Notes bi ich gescheitert (WKS-Format, strukt. Text usw.) In Skript bin ich nicht so fit. Hat jemand eine Lösung für mich?.

Reinhard

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Import nach Notes
« Antwort #1 am: 27.11.02 - 10:05:19 »
was ist denn mit einem direkten Connect auf die DB2 über ODBC ??
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Import nach Notes
« Antwort #2 am: 27.11.02 - 10:08:00 »
ich habe einen Agenten, der aus AS400 / MAS90 die Kostenstellen nach Notes importiert:
Client Access auf dem NotesServer installiert, Verbindung eingerichtet; Agent starten, fertig !!

Sub Initialize
   Dim Session As New NotesSession
   Dim db As NotesDatabase   
   Set db = Session.currentdatabase   
   Dim view As NotesView   
   Dim Del As NotesDocument   
   Dim Con As New ODBCConnection   
   Dim Qry As New ODBCQuery   
   Dim res As New ODBCResultSet   
   
   ' alle KST Dokumente vor einem neuen Import löschen
   Dim collection As NotesDocumentCollection
   Set collection = db.AllDocuments
   If collection.Count <> 2 Then
      Call collection.RemoveAll ( True )
   End If
   
     'Verbindungsaufbau zur AS/400
   RetCode% = Con.ConnectTo("AS/400","TRANSFER","KARL")
   
   Set Qry.Connection = Con     '   
   Qry.SQL = "SELECT * FROM Costing.COAS01"
   Set Res.Query = Qry
   Res.Execute
   RetCode% = Res.FirstRow    
   Do While RetCode% =True
      ret$ = Trim(Cstr(Res.GetValue("S01001")))
      If ret$ = "90" Then      
         Dim Doc As New NotesDocument(db)          
         doc.form = "KST"
         doc.KSTNR = Cstr(Res.GetValue("S01006") )
         doc.KSTBEZ = Cstr(Res.GetValue("S01042"))
         doc.KSTVERANTW = Cstr(Res.GetValue("S01097"))
         doc.KSTWERK = Cstr(Res.GetValue("S01002"))
         doc.KSTGUELTIG = Cstr(Res.GetValue("S01090"))      
         Call doc.save (True, True)
      End If
      RetCode% = Res.NextRow
   Loop
   RetCode% = Res.Close( DB_CLOSE )
   RetCode% = Con.Disconnect        
End Sub

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Import nach Notes
« Antwort #3 am: 27.11.02 - 10:14:07 »
Hallo eknori,

direkt auf die DB2 darf ich nicht drauf. Deshalb der Export in eine Dbase III Datei. Ich könnte aber eine Anbindung nach Acess bzw. Excel nutzen. Hilft das weiter?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Import nach Notes
« Antwort #4 am: 27.11.02 - 10:24:15 »
wenn du dir eine Access DB als "Zwischenmedium" erstellst, kannst du ja dort auch mit ODBC drauf zugreifen.

Ich verstehe nur nicht, warum du das mit Access machen kannst und mit Notes nicht; aber man muß ja auch nicht alles verstehen.

eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Import nach Notes
« Antwort #5 am: 27.11.02 - 10:30:47 »
die Daten werden in eine aus DB2 - Anbindung über IntranNet  Host on Demand - in eine Dbase Datei exportiert. Mit der Dbase Datei kann ich machen was ich will. Was müßte ich im Script ändern? Wo kann ich die Einstellungen für die ODBC Anbindung nachlesen?


Reinhard

Offline Isa

  • Frischling
  • *
  • Beiträge: 35
  • Geschlecht: Weiblich
  • who notes?!
Re:Import nach Notes
« Antwort #6 am: 27.11.02 - 10:46:28 »
Wieso machst Du das nicht einfach mit DECS??!!

Das ist beim Lotus Domino dabei und ein genau das richtige Tool für solche regelmässigen Importe. Und einfach ist es auch noch!

(DECS = Domino Enterprise Connection Services)

DECS ist ein Task auf dem Domino Server, der von einer Datenbank aus verwaltet wird. Dort wird die Verbindung von - nach in Masken definiert. Wichtig ist nur, dass Du genügend Rechte hast beim Einrichten.
V2: Support - V3: Admin - V4: Dev - R5: CLP - R6: ein bisschen von allem - R7: ??

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Import nach Notes
« Antwort #7 am: 27.11.02 - 10:49:10 »
Hört sich gut an. Wie geht das. Wo finde ich Infos. Hab keine Ahnung davon?

Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Import nach Notes
« Antwort #8 am: 27.11.02 - 11:04:57 »
@Isa, yoo, habe ich jetzt gar nicht dran gedacht.

hier noch der Kram für SQL

http://www.eknori.de/downloads/NotesSQL300.exe
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Import nach Notes
« Antwort #9 am: 28.11.02 - 11:22:13 »
Hallo Eknori,
??? ???
erstmal Danke.
Ich habe versucht das Script auf meine Belange anzupassen. Ich Versage. Meine Ansicht in die ich importieren muß heißt "AdminInventar". Meine DBASE-Import- Datei heißt Bestand.dbf. Meine Maske heißt Inventar. Die Felder kann ich selber anpassen. Könntest du mir nochmal bei der ODBC-Anbindung und der Script Anpassung helfen.

Reinhard

Offline tower

  • Junior Mitglied
  • **
  • Beiträge: 95
  • Geschlecht: Männlich
    • Uwe Schräpler IT-Service

Offline ReinhardR

  • Frischling
  • *
  • Beiträge: 24
  • Geschlecht: Männlich
  • I love YaBB 1G - SP1!
Re:Import nach Notes
« Antwort #11 am: 02.12.02 - 09:45:49 »
Hi Eknori,

ich habe den Agenten jetzt endlich soweit das es bei mir fast funktioniert. Mein Problem: Du löscht alle Dokumente vor dem Import. Ich müßte nur die Dokumente einer bestimmten Ansicht "AdminImport" löschen. Kannst Du mir nochmal helfen.

Reinhard

Sub Initialize
   Dim Session As New NotesSession
   Dim db As NotesDatabase  
   Set db = Session.currentdatabase  
   Dim view As NotesView  
   Dim Del As NotesDocument  
   Dim Con As New ODBCConnection  
   Dim Qry As New ODBCQuery  
   Dim res As New ODBCResultSet  
   
   ' alle KST Dokumente vor einem neuen Import löschen
   Dim collection As NotesDocumentCollection
   Set collection = db.AllDocuments
   If collection.Count <> 2 Then
      Call collection.RemoveAll ( True )
   End If
   
    'Verbindungsaufbau zur AS/400
   RetCode% = Con.ConnectTo("AS/400","TRANSFER","KARL")
   
   Set Qry.Connection = Con    '  
   Qry.SQL = "SELECT * FROM Costing.COAS01"
   Set Res.Query = Qry
   Res.Execute
   RetCode% = Res.FirstRow    
   Do While RetCode% =True
      ret$ = Trim(Cstr(Res.GetValue("S01001")))
      If ret$ = "90" Then      
         Dim Doc As New NotesDocument(db)          
         doc.form = "KST"
         doc.KSTNR = Cstr(Res.GetValue("S01006") )
         doc.KSTBEZ = Cstr(Res.GetValue("S01042"))
         doc.KSTVERANTW = Cstr(Res.GetValue("S01097"))
         doc.KSTWERK = Cstr(Res.GetValue("S01002"))
         doc.KSTGUELTIG = Cstr(Res.GetValue("S01090"))      
         Call doc.save (True, True)
      End If
      RetCode% = Res.NextRow
   Loop
   RetCode% = Res.Close( DB_CLOSE )
   RetCode% = Con.Disconnect      
End Sub


Offline eknori

  • @Notes Preisträger
  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 11.730
  • Geschlecht: Männlich
Re:Import nach Notes
« Antwort #12 am: 02.12.02 - 09:57:08 »
Anstelle von

Dim collection As NotesDocumentCollection
  Set collection = db.AllDocuments
  If collection.Count <> 2 Then
      Call collection.RemoveAll ( True )
  End If

nimmst du :

Dim vc As NotesViewEntryCollection
Set db = session.CurrentDatabase
Set view = db.GetView("AdminImport")
Set vc = view.AllEntries
Call vc.RemoveAll(true)


eknori
Egal wie tief man die Messlatte für den menschlichen Verstand auch ansetzt: jeden Tag kommt jemand und marschiert erhobenen Hauptes drunter her!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz