# Customized Panes for 'IMPMENLX' Created: 2009/01/14
# PANE:To-Do List
[PANE]
RUSSH IMPMENLX 01000To-Do List Details 020 000000111921ARSPEN010M
[VBSCRIPT]
' Show To-Do List and show Popup
' ------------------------------
' @(#) Script version 6.0.002 Last updated 2010/08/08
'
' Click 'Refresh' to look for To-Do List items for current operator
' Only performed for the primary SYSPRO instance
Option Explicit
Dim strReminders, strNewReminders, DeleteTempFile
'------------------------------------------------------------------------------
' On Refresh - call business object and show popup with reminder info
Function CustomizedPane_OnRefresh()
If SystemVariables.CodeObject.SYSPROInstance = "0" Then
DeleteTempFile = 0
FindReminders()
End if
End Function
'------------------------------------------------------------------------------
' On Load - create an listview with columns defined and refresh latest list.
' You should click 'Refresh' to show reminders now.
' This is typically automated to refresh every minute.
Function CustomizedPane_OnLoad()
If SystemVariables.CodeObject.SYSPROInstance = "0" Then
SetListview()
DeleteTempFile = 1
FindReminders()
Else
SetListviewSecondInstance()
End if
End Function
' -----------------------------------------------------------------------
' When double-click any listview row run To-Do List program (IMPTSK)
Function CustomizedPane_OnDblClick()
SystemVariables.CodeObject.SYSPROProgramToRun = "IMPTSK"
End Function
'------------------------------------------------------------------------------
' This function calls the To-Do List Query Business Object
Function FindReminders()
' SetListview()
' Determine current Client date and time (can be different to Server)
Dim dtCurDate, strCurDate, tmCurTime, strCurTime
dtCurDate = Date ' eg 2008/10/08
strCurDate = Year(dtCurDate) & "-" & Right("0" & Month(dtCurDate),2) & "-" & Right("0" & Day(dtCurDate),2)
tmCurTime = Time ' eg 12:15:29 PM
strCurTime = Right("0" & Hour(tmCurTime),2) & ":" & Right("0" & Minute(tmCurTime),2) & ":" & Right("0" & Second(tmCurTime),2)
'msgbox "Current date and time is: " & strCurDate & " " & strCurTime
' Call CMSQRE - passing Client Local date/time
' Returns outstanding reminders for current operator
Dim XmlOut, XmlParam, XmlIn
XmlIn = XmlIn & ""
XmlIn = XmlIn & " "
XmlIn = XmlIn & " " & strCurDate & ""
XmlIn = XmlIn & " " & strCurTime & ""
XmlIn = XmlIn & " "
If DeleteTempFile = 1 Then
XmlIn = XmlIn & " "
XmlIn = XmlIn & " Y"
XmlIn = XmlIn & " "
End if
XmlIn = XmlIn & ""
On Error Resume Next
XmlOut = CallBO("CMSQRE",XmlIn,"auto")
If Err Then
MsgBox "To-Do List Query Business Object Exception: (" & Err.number & ") " & Err.description,48,"Exception Message (CMSQRE)"
XmlOut=""
End if
Err.Clear
' Load XmlOut into the MS XML DOM
Dim xmlDoc
Set xmlDoc = createobject("Msxml2.FreeThreadedDOMDocument.3.0")
xmlDoc.async = false
xmlDoc.LoadXML(XmlOut)
' Parse summary info (eg how many reminders)
Dim ObjReminders, NumberOfReminders, NumberOfNewReminders
Set ObjReminders = xmlDoc.DocumentElement.SelectSingleNode("//QueryReminder/SummaryInfo")
NumberOfReminders = objReminders.SelectSingleNode("NumberOfReminders").Text
NumberOfNewReminders = objReminders.SelectSingleNode("NumberOfNewReminders").Text
strReminders = Cstr(NumberOfReminders) ' Convert to Alpha string
strNewReminders = Cstr(NumberOfNewReminders) ' Convert to Alpha string
' Refresh listview
CustomizedPane.CodeObject.ListviewData = XmlOut
' Show Popup if there are any new reminders
If NumberOfNewReminders <> 0 Then
ShowPopup()
End if
Set xmlDoc = nothing
End Function
' -----------------------------------------------------------------------
' Show Popup with number of reminders and hyperlink to IMPTSK
Function ShowPopup()
Dim PopupMsg
If strNewReminders = "1" Then
PopupMsg = "You have 1 new To-Do list item."
Else
PopupMsg = "You have " & strNewReminders & " new To-Do list items."
End if
Dim Popup
Popup = Popup & ""
Popup = Popup & ""
Popup = Popup & ""
Popup = Popup & ""
Popup = Popup & ""
CustomizedPane.CodeObject.DesktopAlert = Popup
End Function
' -----------------------------------------------------------------------
' Set listview columns and mappings
Function SetListview()
Dim ListXML
ListXML = ListXML & ""
ListXML = ListXML & " "
ListXML = ListXML & " "
ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
'ListXML = ListXML & " "
ListXML = ListXML & ""
CustomizedPane.CodeObject.ListviewProperties = ListXML
End Function
' -----------------------------------------------------------------------
' Set listview for second and subsequent instance
Function SetListviewSecondInstance()
Dim ListXML
ListXML = ListXML & ""
ListXML = ListXML & " "
ListXML = ListXML & ""
CustomizedPane.CodeObject.ListviewProperties = ListXML
End Function