Autor Thema: Agenten-Problem  (Gelesen 4123 mal)

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Agenten-Problem
« am: 02.04.04 - 14:15:12 »
Moin Moin,

ich habe da ein kleineres Problem. Wir haben eine Help-Datenbank für unsere User. Aufgeteilt wird nach SAP und "richtigen" Problemen...  ::)

Die Calls kommen in eine Mail-DB, und werden dort per Agenten in Folder sortiert.
In der DB gibt es 2 verschiedene Forms, die Die Daten aufnehmen, mit unterscheidlichen Feldern.
Klappt alles einwandfrei!

Nun das Problem:
SAP-User wenden sich lieber direkt per Mail an die Zuständigen! Damit dieser nun nicht immer die Calls von Hand selber erstellen muss, hat er einen Agenten, der auf Knopfdruck den Inhalt einer Mail mit passendem Subject (SAP-irgendwas) an die Help-DB schickt. Leider werden diese Mails nicht in die korrekt Form (SAP-Helpme) übertragen, sondern in unsere (IT-Helpme). DAmit fehlen einige Felder, die unsere SAP-Fritzen gerne hätten.

Wie bringe ich den Agenten dazu, beim übertragen der Daten ein bestimmtes Form zu nutzen?

Daniel!

PS: Konnte ich das klar schildern? Mir ist klar was ich will, aber wenn ich das so im nachhinein lese... naja ...  ::)
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #1 am: 02.04.04 - 14:18:32 »
Du musst hier ansetzen:
"hat er einen Agenten, der auf Knopfdruck den Inhalt einer Mail mit passendem Subject (SAP-irgendwas) an die Help-DB schickt"

Der Agent muss die Form (Maske) setzen, z.B.
mail.Form = "SAP-Helpme"

Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #2 am: 02.04.04 - 14:33:09 »
Erstmal Danke für die prompte Antwort!

mail.form = ... sieht mir schwer nach LotusScript aus, das überfordert mich zum jetzigen Zeitpunkt doch etwas. Bis jetzt iss der Agent eine "SimpleAction" ;)

Naja, da werde ich wohl noch ein wenig puzzlen müssen, bis das rennt  ::)
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #3 am: 02.04.04 - 14:40:41 »
Mit Simple Actions kommst Du nicht weit. Daher nimmt er in Eurer Mail-In-DB bestimmt auch die Default-Form her, die dann nicht die SAP-konforme ist.
Eine Lösung wie von Dir gewünscht setzt LotusScript voraus.

Bernhard

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #4 am: 02.04.04 - 14:52:16 »
Wie kommt denn ein Mail dann als Form = "IT-Helpme" herein?
Hat die Maske einen 2. Alias namens "Memo"?

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #5 am: 02.04.04 - 14:57:30 »
Jo, hat sie... die SAP-FOrm aber auch... ich habe auch schon mal die SAP-Form als Default gesetzt, aber das juckt den Agenten herzlich wenig.

Hmm... vor dem WE noch solche "Brocken"... Naja, erstmal WE geniessen, und Montag wieder frisch ans Werk!
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #6 am: 02.04.04 - 15:01:45 »
Tja, beide Masken haben den Alias Memo - schlecht.
Da I < S wird IT-Helpme genommen, wenn man ein Dokument öffnet.

Also: Nächste Woche kannst Du einen kleinen Scriptkurs hier machen, wenn Du willst  ;D

Schönes Wochenende!
Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #7 am: 02.04.04 - 15:22:51 »
Will ich!  ;D

Finde das auch ehrlich gesagt ziemlich spannend, aber ich habe auch schon festgestellt, das de Designer nicht so unbedingt die komfortabelste Entwicklungsumgebung ist.

Ok, dann schönes WE allseits!
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #8 am: 02.04.04 - 15:28:28 »
Was ziehst Du denn als Vergleich heran? Hast Du bereits Programmierkenntnisse?
Am besten wäre natürlich VB, dann musst Du "nur noch" das Klassenmodell von Notes lernen.

Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #9 am: 03.04.04 - 10:33:45 »
Also Grundkenntnisse in VB sind auf jeden Fall vorhanden, C++ ein bischen weniger, und PHP kommt grade als Scriptsprache auch dazu...

Und für die Entwicklungsumgebung als Vergleich... Naja, Visual Studio und den Borland Builder 5... Und ansonsten UltraEdit...  ;)
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #10 am: 03.04.04 - 11:17:10 »
Ok, mit den Kenntnissen sollte es eigentlich recht schnell gehen...

Ich fange mal an, den Script Agenten zu basteln: Du willst per Agent die gewählten Dokumente in der Maildatenbank in eine Mail-In-Datenbank weiterleiten. Es soll ein entsprechender Betreff "SAP-irgendwas" und die Form "SAP-Helpme" gesetzt werden.

Sub Initialize

'Deklaration der Objekte
dim session as NotesSession
dim db as NotesDatabase
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim maildoc as NotesDocument
dim rtitem as NotesRichTextItem

'Setzen der Objekte
set session = New NotesSession      'Öffne Notes Session
set db = session.CurrentDatabase   'Hole aktuelle Datenbank
set dc = db.UnprocessedDocuments 'alle Dokumente, die der Agent-Auswahl entsprechen, hier gewählte Dokumente

'Abbruch, falls kein Dokument gewählt wurde
if dc.Count = 0 then exit sub

'Iteriere über alle Dokumente der Collection
set doc = dc.GetFirstDocument
Do while not (doc is Nothing)

'Erstelle Mail
set maildoc = db.CreateDocument
'Setze Felder
maildoc.SendTo = "Name der Mail-In-Datenbank"
maildoc.Subject = "SAP irgendwas"
'Setze Maske
maildoc.Form = "SAP-Helpme"

'Kopiere Dokument in Rich Text Feld Body des Mail
set rtitem = New RichTextItem(maildoc,"Body")
call rtiem.RenderToRTItem(doc)

'Sende Mail (Maske nicht im Dokument speichern)
call maildoc.Send(false)

'Gehe zum nächsten Dokument
set doc = dc.GetNextDocument(doc)
Loop

End Sub


Ich denke, damit hast Du eine Grundlage. Der Agent muss über gewählte Dokumente laufen.
Was das Klassen-Modell sowie die verwendeten Methoden und Properties betrifft: Das steht gut in der Designer Hilfe beschrieben.

Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #11 am: 05.04.04 - 09:56:24 »
Moin Moin,

ich habe das jetzt mal versucht so umzusetzen, wie Du das vorgeschlagen hast, aber er stolpert immer über folgende Zeile:

Code
call rtitem.RenderToRTItem(doc)

Das da der ein oder andere Buchstabe gefehlt hat, habe ich bemerkt und korrigiert, oder war das nun mein Fehler?

Als Fehlermeldung erhalte ich ein:
Initialize: 37 (das ist die Zeile die ich oben gepostet habe) Not a member: RENDERTORTITEM

Was mache ich falsch?  ???
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

klaussal

  • Gast
Re:Agenten-Problem
« Antwort #12 am: 05.04.04 - 10:12:24 »
aus der designer-hilfe (das sollte dir weiterhelfen):

  1.   This script creates a picture of document A and places it into the Body item of the newly created document B.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitem As NotesRichTextItem
Dim success As Variant
Set db = session.CurrentDatabase
Set collection = db.AllDocuments
Set docA = collection.GetFirstDocument
Set docB = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( docB, "Body" )
docB.Form = "Main Topic"
docB.Subject = "It's a picture of the document"
Call docB.Save( True, True )
success = docA.RenderToRTItem( rtitem )
Call docB.Save( True, True )

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #13 am: 05.04.04 - 10:28:52 »
@DaWutz: Den Fehler habe ich absichtlich eingebaut, es soll ja ein kleiner Kurs werden ;D
Spaß beiseite. Das RenderToRTItem gehört in eine andere Klasse. Klaussal hat es ja bereits geschrieben.
Sieh mal in der Designer Hilfe nach.

Andreas

klaussal

  • Gast
Re:Agenten-Problem
« Antwort #14 am: 05.04.04 - 11:03:24 »
@glombi,

öh, hab ich das ?
man muss nicht wissen , wie's geht, sondern nur wissen wo's steht. ;D

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #15 am: 05.04.04 - 11:09:07 »
@glombi,

öh, hab ich das ?
Indirekt mittels
success = docA.RenderToRTItem( rtitem )

Also ist es eine Methode der Klasse NotesDocument. Als Argument muss das NotesRichTextItem-Objekt verwendet werden.

Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #16 am: 05.04.04 - 12:00:53 »
Ok, ich habe das ganze jetzt mal umgesetzt.

Die Lösung sieht dann wie folgt aus:

Zitat
Sub Initialize
   
'Deklaration der Objekte
   Dim session As NotesSession
   Dim db As NotesDatabase
   Dim dc As NotesDocumentCollection
   Dim doc As NotesDocument
   Dim maildoc As NotesDocument
   Dim rtitem As NotesRichTextItem
   'Dim success As Variant
   
'Setzen der Objekte
   Set session = New NotesSession         'Öffne Notes Session
   Set db = session.CurrentDatabase        'Hole aktuelle Datenbank
   Set dc = db.UnprocessedDocuments    'alle Dokumente, die der Agent-Auswahl entsprechen, hier gewählte Dokumente
   
'Abbruch, falls kein Dokument gewählt wurde
   If dc.Count = 0 Then Exit Sub
   
'Iteriere über alle Dokumente der Collection
   Set doc = dc.GetFirstDocument
   
   Do While Not (doc Is Nothing)
      
      'Erstelle Mail
      Set maildoc = db.CreateDocument
      
      'Setze Felder
      maildoc.SendTo = "UserHelpDeskIT"
      maildoc.Subject = "SAP+~Sonstige Probleme ~ ~"
      
      'Setze Maske
      maildoc.Form = "SAP-Call"
      
      'Kopiere Dokument in Rich Text Feld Body des Mail
      Set rtitem = New NotesRichTextItem(maildoc,"Body")
      ' success = doc.RenderToRTItem(rtitem)
      Call doc.RenderToRTItem(rtitem)
      
      'Sende Mail (Maske nicht im Dokument speichern)
      Call maildoc.Send(False)
      
      'Gehe zum nächsten Dokument
      Set doc = dc.GetNextDocument(doc)
      
   Loop
   
End Sub

Ich habe beide Ansätze ausprobiert, den direkten und den indirekten, und nun gehen beide(??), auch wenn ich nicht wirklich verstehe, warum der eine am Anfang nicht wollte...  ;D

Vielen Dank für die kompetente und schnelle Hilfe!

@ Mod: kann geschlossen werden.
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

Glombi

  • Gast
Re:Agenten-Problem
« Antwort #17 am: 05.04.04 - 12:05:08 »
Du musst den Thread schließen.

Es ist wichtig, dass Du verstehst, warum
call rtitem.RenderToRTItem(doc)
nicht funktioniert.

Es muss so heißen
call doc.RenderToRTItem(rtitem)
also wird "RenderToRTItem" auf "doc" (NotesDocument) und nicht auf "rtitem" (NotesRichTextItem) angewendet.

Andreas

Offline DaWutz

  • Senior Mitglied
  • ****
  • Beiträge: 253
  • Geschlecht: Männlich
Re:Agenten-Problem
« Antwort #18 am: 05.04.04 - 17:00:25 »
Ok, das hab ich nu geblickt... Und das mit dem Thread schliessen hab ich nu auch gesehen...

Also, Thx nochmal... 8)

Daniel!
Grüße aus Bonn,

Daniel!

Domino 6.5.3 auf Win2k
Clients ab 6.01 CF2

>>... es ist mir scheißegal wer Dein Vater ist! Solange ich hier angele, wird NICHT über´s Wasser gelaufen!! <<

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz