Solved

How to update a field Part2

Posted on 2003-11-07
5
195 Views
Last Modified: 2013-12-18
Hi All

Previous question
http://www.experts-exchange.com/Applications/Email/Lotus_Notes/Q_20789973.html

Ok now I want to subtract some numbers if a request is cancelled
Just a foot note
All fields are Number and Computed
If ApprovalStatus = Cancelled then note.TotalDaysOff(0) is reset to 0

      
      If Not doc Is Nothing Then
            doc.HolidaysAH = doc.HolidaysAH(0) - doc.TotalDaysOff(0)
            doc.RemainingAH = doc.RemainingCalc(0) +doc.TotalDaysOff(0)

            doc.ComputeWithForm True, False  
            doc.save True, False
      Else
            Msgbox "No leave document found for this employee"
      End If
      
The above does not work or works inconsitently
I think the best way would be to freate a temp variable grab values and then do the math what do you think

James
0
Comment
Question by:imjamesw
  • 2
  • 2
5 Comments
 
LVL 14

Expert Comment

by:p_partha
ID: 9702776
Little bit confused...

when you are setting a value like totalsdaysoff
just set it like this

note.totaldaysoff = 0

also... what do u mean works inconsistently, when does it fail... it;s also better to use cint before doing the math.. something like this:
doc.HolidaysAH = cint(doc.HolidaysAH(0)) - cint(doc.TotalDaysOff(0))
         doc.RemainingAH = cint(doc.RemainingCalc(0)) +cint(doc.TotalDaysOff(0) )

Partha
0
 
LVL 24

Expert Comment

by:HemanthaKumar
ID: 9703447
I am not sure if you have given me the correct fields, let me help you to organize it

If note.ApprovalStatus(0) = "Cancelled" then  ' Check this string value is same as that for cancel operation
       note.TotalDaysOff = 0     ' This will be set in the currently opened approval doc
' Get the leave doc handle to this currently selected employee..    
     If Not doc Is Nothing Then
          doc.HolidaysAH = doc.HolidaysAH(0) - doc.TotalDaysOff(0)
          doc.RemainingAH = doc.RemainingCalc(0) + doc.TotalDaysOff(0)
          doc.ComputeWithForm True, False  
          doc.save True, False
     Else
          Msgbox "No leave document found for this employee"
     End If
End If  ' ApprovalStatus Check

James clearly specify what are the results/error that you are getting so that it will facilitate me to give you proper guidance.

~Hemanth
0
 

Author Comment

by:imjamesw
ID: 9703738
Hi Hemanth

I have it working with the following perhaps you could get more info from the code



If Not doc Is Nothing Then
            tmpHolidaysAH = doc.HolidaysAH(0) 'This is the number of days used
            tmpTotal = note.NewDaysTotal(0)    'This is the number of new days booked
            tmpNew = tmpHolidaysAH - tmpTotal  'This will reset the value removing the value that was added when approved
            doc.TotalDaysOffCalc = tmpNew 'This resets the Total days used
            
            tmpRemainingAH = doc.RemainingAH(0) ' This is the number of days remaining
            tmpRemain = tmpTotal + tmpRemainingAH ' This adds the number that was subtracted when the leave was approved
            doc.RemainingCalc = tmpRemain 'This resets the remainig days to what it was prior to the new leave being approved
            doc.RemainingAH = doc.RemaingCalc 'See above
            doc.ComputeWithForm True, False  
            doc.save True, False


Hope this  explains what I need the form to do

James
0
 
LVL 24

Accepted Solution

by:
HemanthaKumar earned 300 total points
ID: 9703968
I am not sure if I understood the calculation correct ... ultimately I came to this conclusion

      ' Assuming note is the current document handle
      ' doc is the leave document of the employee
      
      tmpHolidaysAH = doc.HolidaysAH(0) 'This is the number of days used
      
      If note.ApprovalStatus(0) = "Cancelled" Then  
            note.NewDaysTotal = 0    'This is the number of new days booked--- which will be 0 if it is not approved
      End If
      
      tmpTotal = note.NewDaysTotal(0)
      tmpNew = tmpHolidaysAH - tmpTotal  'This will reset the value removing the value that was added when approved
      tmpRemainingAH = doc.RemainingAH(0) ' This is the number of days remaining
      tmpRemain = tmpTotal + tmpRemainingAH ' This adds the number that was subtracted when the leave was approved
      doc.TotalDaysOffCalc = tmpNew 'This resets the Total days used      
      doc.RemainingCalc = tmpRemain 'This resets the remainig days to what it was prior to the new leave being approved
      doc.RemainingAH = doc.RemaingCalc 'See above
      doc.ComputeWithForm True, False  
      doc.save True, False
0
 

Author Comment

by:imjamesw
ID: 9716211
That is correct

James
0

Featured Post

3 Use Cases for Connected Systems

Our Dev teams are like yours. They’re continually cranking out code for new features/bugs fixes, testing, deploying, testing some more, responding to production monitoring events and more. It’s complex. So, we thought you’d like to see what’s working for us.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster.  I've had to exercise t…
IBM Notes offer Encryption feature using which the user can secure its NSF emails or entire database easily. In this section we will discuss about the process to Encrypt Incoming and Outgoing Mails in depth.
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question