%Rem
@Created 1/28/2008
@Author Karthikeyan.A
@Purpose This must be included into the application being built inorder to achieve a better command over the various functionalities
@syntax enableOrDisable(status as boolean,fieldname as string,ActiveState as string, InactiveState as string)
@Scope: Must be put in a Script Library to achieve a global scope
Explanation:
(1) You must have a view indexed by the various functionality in the database
(2) The document contained in the view must contain field,say "ActivityStatus" dedicated to hold the status information of the concerned functionality
(3) The contents of the field must be either 0 or 1
(4) 0-indicates that the function is disabled and 1- intdicates the function is active
(5) Parameters
Status- False or True
FieldName- The name of the field that holds the status value(here it is "ActivityStatus")
ActiveState- string that represents the active state in the field (here it is the content of "ActivityStatus")
InactiveState- string that represents the inactive state in the field (here it is the content of "ActivityStatus")
%End Rem
'Declarations
'**************
Dim fieldname As String
Dim functionalitystatus As Boolean
Dim temp As String
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim ActiveState As String
Dim inactiveState As String
'code of the Function
'**********************
Function enableOrDisable(functionalitystatus,fieldname,ActiveState,InactiveState)
On Error Goto errHandler
'*********************
'change the status code as per your specification
'Active=1 or "active" or"ur choice"
'Inactive=0 or "inactive" or "ur choice"
'**********************
'check if the parameter passed are valid inputs and if not prompt the user and exit
If Trim(functionalitystatus)="" Or Trim(fieldname)="" Then
Msgbox "Please provide both the parameters for the function enableOrDisable(status,fieldname)",,"Exiting..."
Exit Function
End If
'if the status is true then assign 1 to temp or if its false assign 0 else prompt the user to give a valid input and exit
If functionalitystatus=True Then
temp=ActiveState
Else
If functionalitystatus=False Then
temp=InactiveState
Else
Msgbox "Invalid type of argument""" & functionalitystatus & """",,"Exiting"
Exit Function
End If
End If
'handle errors in case of abrupt termination
'set the current session
Set session = New NotesSession
'set the current database
Set db=session.CurrentDatabase
' if in case the database is not open prompt the user and exit
If Not db.IsOpen Then
Msgbox "The handle for the current database is not set",,"Exiting..."
Exit Function
End If
'get the handle of all the selected documents
Set dc=db.UnprocessedDocuments
'if in case no documents are selected prompt the user and exit
If dc.Count=0 Then
Msgbox "no documents selected"
Exit Function
End If
'get the handle of the first document in the collection
Set doc=dc.GetFirstDocument
'if the document is nothing then prompt the user and exit
If doc Is Nothing Then
Msgbox "doc not set"
Exit Function
End If
'loop through the collection of documents and assign them with the required status information
While Not(doc Is Nothing)
Call doc.ReplaceItemValue(fieldname,temp)
Call doc.Save(True,False)
Set doc=dc.GetNextDocument(doc)
Wend
Exit Function
' prrompt the errors that may result because of abrupt termination
errHandler:
Msgbox Error+" on line "+Cstr(Erl)+" in scriptLibrary Function-enableOrDisable"
Exit Function
End Function
No comments:
Post a Comment