Home > Domino Tips > Developer > LotusScript > Checking various types of datefields in a Lotus Notes document
Domino Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

LOTUSSCRIPT

Checking various types of datefields in a Lotus Notes document


Stale Dybsjord
05.30.2006
Rating: --- (out of 5)


Lotus Notes and Domino tips, tutorials and how-to articles
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


This tip was submitted to the SearchDomino.com tip library by member Stale Dybsjord . Please let others know how useful it is via the rating scale at the end of the tip. Do you have a useful Lotus Notes, Domino, Workplace or WebSphere tip or code snippet to share? Submit it to our monthly tip contest and you could win a prize.


This function is great for checking all kinds of datefields in a Lotus Notes document. Some of the things you'll be able to check are:

  • How a field's date is compared to another
  • If one datefield is larger than another
  • How it is smaller than today
  • How it is different from today, or in 20 days, etc.

It's easy adding other checks to it as well. This function can examine all different date checks that exist.

Function InfoLineCompareDate
(doc As NotesDocument, dateField1 As String, 
dateField2 As String, dateCheck As String, 
adjustCheck As String, adjustValue As String) As Integer
 ' 
 ' Input:
 ' doc: document where field is
 ' dateField1: Name of first datefield
 ' dateField2: Name of seconf datefield. 
(This can also be set to TodayDateValue then we compare to todays date)
 ' dateCheck: what comparision should be done.
 ' adjustCheck: should we adjust somehing first
 ' adjustValue: how should we adjust it.
 '
 ' Output: true or false
 ' Change Control:
 '
 
 ' Use this to get the documents dateItems
 Dim item1 As NotesItem
 Dim item2 As notesitem
 
 Dim flag As Integer
 Dim returnValue As Integer
 Dim tmpString As String
 
 ' Get values from document
 ' t1 and t2 will hold the datetime values
 Set item1 = doc.getFirstItem(dateField1)
 Set t1 = item1.DateTimeValue
 
 ' check if this is a field or we should use todays date
 If dateField2 = "TodayDateValue" Then
  Set t2 = New NotesDateTime( "Today" )
 Else
  Set item2 = doc.getFirstItem(dateField2)
  Set t2 = item2.DateTimeValue
 End If
 
 returnValue = 0
 
 ' In this check also for check if a date is 
10 days in the future from the other date or similar.
 If adjustvalue <> "" Then
  Select Case adjustCheck
  Case "day" 
   Call t2.AdjustDay(adjustValue) 
  Case "month"
   Call t2.AdjustMonth(adjustValue) 
  Case "year"
   Call t2.AdjustYear(adjustValue)    
  End Select
 End If
 
 ' What check should we perform
 Select Case dateCheck
 Case "<" 
  If Cdat(t1.dateOnly) < Cdat(t2.dateOnly) Then
   returnValue = 1 
  End If
 Case ">"
  If Cdat(t1.dateOnly) > Cdat(t2.dateOnly) Then
   returnValue = 1 
  End If
 Case "=" 
  If Cdat(t1.dateOnly) = Cdat(t2.dateOnly) Then
   returnValue = 1 
  End If
 Case "<>"   
  If Cdat(t1.dateOnly) <> Cdat(t2.dateOnly) Then
   returnValue = 1 
  End If
 End Select
 
 'return the value depending on above results
 If returnValue = 1 Then 
  InfoLineCompareDate = True   
 Else
  InfoLineCompareDate = False
 End If
 
End Function

And I call this function like this:

If InfoLineCompareDate
(doc, "ENDDATE2", "LATE_REDELIVERY_DATE", ">", "day", "+10") 
= False Then

For this action I want to see if enddate2 + 10 days is greater than late_redelivery_date.


Do you have comments on this tip? Let us know.

Rate this Tip
To rate tips, you must be a member of SearchDomino.com.
Register now to start rating these tips. Log in if you are already a member.




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
LotusScript
LotusScript finds the first occurrence of a string from the right
Clear Recent Contacts view and prevent repopulation in Lotus Notes 8.x
Search Microsoft Active Directory with LotusScript
Three steps to trap and handle save conflicts with LotusScript
Troubleshoot agents by displaying LotusScript variables online
LotusScript sorts lists alphabetically
LotusScript code rebuilds corrupted busytime.nsf file
Soft-code item names to facilitate LotusScript management
LotusScript agent automates selective mail file replication
LotusScript filters and attaches files to a Notes form

LotusScript
LotusScript finds the first occurrence of a string from the right
Clear Recent Contacts view and prevent repopulation in Lotus Notes 8.x
Search Microsoft Active Directory with LotusScript
Three steps to trap and handle save conflicts with LotusScript
Troubleshoot agents by displaying LotusScript variables online
LotusScript sorts lists alphabetically
Run or restart Notes/Domino agents via text messages
LotusScript code rebuilds corrupted busytime.nsf file
Soft-code item names to facilitate LotusScript management
LotusScript agent automates selective mail file replication

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Domino & Lotus Notes Security Solutions: Authentication, Antispam, Encryption and Antivirus
HomeTopicsITKnowledge ExchangeTipsAsk the ExpertsMultimediaWhite PapersDomino IT Downloads
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 1999 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts