Hi,Bit of a strange one, maybe for Andre Guraind?
Got a problem with the Lotus Notes Integration with Siebel.
This is the F9 Functionality Siebel wise.
I think Andre wrote the application! Because the latest version is ‘signed’ by him (Excecution Control Alert appears!).
Basically, our users sometimes have more than one instance of Siebel open. This is because, for example, they are working in a call centre.
What happens when this is the case, is that the email itself is OK, but an activity is not created in Siebel…
Is it possible to make sure it creates a record in Siebel even if two clients are open? I noticed the following comment in the code, maybe Siebel has now provided someone with the fix:
’ At this point I want to test whether the Siebel session
'we ve 'contacted via OLE is the “same”
'session as initiated the F9. However, Siebel hasn’t yet
'told me how to do this.
Any other ideas to resolve?
What is Siebel.Trace ?
The code is mostly two complex for me! But here is some examples:
Sub Click(Source As Button)
On Error Goto errorTrap
siebel.Trace “Send action: start”
If SendAndRecordSiebelActivity() Then
’ the message was successfully sent and saved as a Siebel activity.
Dim ws As New notesUIWorkspace
okToClose = True ’ so the user doesn’t get prompted whether to save
ws.CurrentDocument.Close
End If
Exit Sub
errorTrap:
siebel.Trace "Send action: Error " & Err & " line " & Erl & ": " & Error
Messagebox "Error " & Err & " in Send action, line " & Erl & ": " & Error
Exit Sub
End Sub
’ This routine obtains a handle to the Siebel client OLE server.
’ With Siebel 7, this OLE server is an ActiveX in a web browser window.
’ We check to make sure that the username of the current Siebel user is the
’ same as the username that Siebel fed us on startup.
’ This function will either return with a valid Siebel OLE connection to a process
’ using the same Siebel username as the user who pressed F9, or else it’ll return
’ Nothing. It won’t return Nothing unless the user press Cancel; otherwise it’ll
’ repeatedly try to establish the connection, prompting the user after each failure.
On Error Goto trap
Dim oapp ’ as Object
Dim result As Integer
’ Loop until we create a connection with the correct
'username, or the user says cancel.
Do
siebel.Trace “GetSiebelApp: create Siebel Application object.”
On Error Goto objectFail
’ Attempt to connect to the Siebel client OLE2 server.
Set oApp = CreateObject(“SiebelHTML.SiebelHTMLApplication.1”)
'On Error Goto trap resume normal error handling.
’ At this point I want to test whether the Siebel session we’ve contacted via OLE is the “same”
’ session as initiated the F9. However, Siebel hasn’t yet told ’
me how to do this.
If False Then ’ If oApp.LoginName <> siebel.SenderID Then
siebel.Trace {GetSiebelApp: Wrong Siebel username "} & oApp.LoginName & {" (expecting "} & siebel.SenderID & {").}
result = Msgbox( _
ReplaceSubstring( _
ReplaceSubstring(MSG_OLE_WRONG_USER, "@1", oApp.LoginName, 0), _
"@2", siebel.SenderID, 0), MB_OKCANCEL + MB_DEFBUTTON1, MSG_NOTES)
userContinue:
On Error Goto trap
If result = IDCANCEL Then
Set GetSiebelApp = Nothing
siebel.Trace "GetSiebelApp: User canceled -- could not create Siebel application object."
Exit Function
End If
Else
Exit Do
End If
Loop While True
Set GetSiebelApp = oApp
siebel.Trace "GetSiebelApp: successful."
Exit Function
' The generic error trap writes a message to the debug file and reissues the error with added
' subroutine name and line number information.
trap:
siebel.Trace "GetSiebelApp: Error " & Err & " line " & Erl & ": " & Error
Error Err, Error & " / GetSiebelApp:" & Erl
' The error trap for failure to create a Siebel object prompts the user to reopen the Siebel window
' and try again.
objectFail:
siebel.Trace {GetSiebelApp: CreateObject failed: [} & Err & { line } & Erl & {] } & Error
result = Msgbox(MSG_OLE_INITIAL_ERROR & {
[} & Err & { line } & Erl & {] } & Error, MB_OKCANCEL + MB_DEFBUTTON1, MSG_NOTES)
Resume userContinue
End Function