Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Silent_Bob am 12.11.02 - 23:50:08
-
hallo @all:
weiß jemand etwas zu dem thema, ob man in einer notes datenbank direkt AS/400 dateien anzapfen kann, die halt auf einer AS/400 liegen ?
bis jetzt muß ich die daten immer erst per client access von unserem warenwirtschaftssystem auf der AS/400 in eine 1-2-3 tabelle auf den pc importieren, damit ich die in meine notes db einlesen kann. ich würde diesen vorgang gerne verkürzen.
hat da jemand irgendeine idee? oder einen link oder sonst was???
ich bedanke mich im voraus
-
Servus,
soweit ich weiß, liegen Daten auf einer AS/400 üblicherweise in einer DB2 oder DB2-ähnlichen Datenbank. Wenn dem so ist, dann kannst Du mittes LEI (Lotus Enterprise Integrator) oder DECS (Domino Enterprise Connection Services) eine direkte Verbindung zwischen den DB-Tables und einer beliebigen Notes-Datenbank herstellen.
Beide Produkte kosten was. Wenn Du das aber laufend brauchst, dann rentiert sich das bald. Wir haben bei uns beide Produkte für einen Datenableich zwischen Notes-Datenbanken und DB2-Datenbanken am Host im Einsatz und das funktioniert eigentlich fehlerfrei.
Ciao, Siegi
-
hi,
danke für die info. also ist das nicht mit Notes-Boardmitteln zu lösen, sondern nur mit extra software?
schade. ich dachte das geht auch anders.
aber trotzdem danke
-
das einzige, was du brauchst ist Client Access; und wenn ihr eine AS400 habt, habt ihr auch dieses Produkt.
ich suche gleich mal den Code, den ich verwende.
eknori
-
Soo, hier ist der Kode, mit dem ich direkt unser MAS/90 anzapfe und die Kostenstellen in eine NotesDB importiere
'Kostenstellen importieren:
Option Public
Uselsx "*lsxodbc"
'Use "LibLOG"
%INCLUDE "LSCONST.LSS"
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("ODBC-Verbindungsname","AS/400 User","*Passwort*")
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
-
hi, :D
klar. client access haben wir und ich nutze es auch regelmäßig.
danke für den code. den werd ich mir mal genauer ansehen. aber kannst du mir vielleicht schonmal sagen, wie ich client access vorbereiten muß, damit der code über die software auf die as400 zugreifen kann?
und wie bzw. wo bau ich den code in die db ein? ich hab sowas bisher noch nie gemacht.