Domino Code Fragment

Code Name*
SavedData property
Date*
04/29/2024
Source (or email address if you prefer)*
Rlatulippe@romac.com
IP address:.3.17.128.129
Description*
This example uses the save data record to find the maximum weekly sales.The data records have Weeky_Sales and Name fields. The saved data record has MaxSales and MaxSales_Salesperson fields. The data record fields replace the agent record fields whenever Weekly_Sales is greater than MaxSales.
Type*
Java
Categories*
(Misc)
Implementation:
Required Client:
Server:
Limitations:
Comments:
Files/Graphics attachments (if applicable): Code:
import lotus.notes.*;
import java.util.Vector;
import java.lang.Float;


public class saveddataagent extends AgentBase
{
 public void NotesMain()
   {
   try
     {
       Session s = getSession();
       AgentContext ac = s.getAgentContext();
       Document agentDoc = ac.getSavedData();
       Database db = ac.getCurrentDatabase();
       View view = db.getView("Sales");
       Document doc = view.getFirstDocument();
       if (!agentDoc.hasItem("MaxSales"))
       {
         agentDoc.replaceItemValue("MaxSales", "0");
         agentDoc.save(true, true);
         agentDoc = ac.getSavedData();
       
       }
       while (doc != null)
       {
         Vector mvalue = agentDoc.getItemValue("MaxSales");
         Vector wvalue = doc.getItemValue("Weekly_Sales");
         Float maxSales = new Float((String) mvalue.firstElement());
         Float weeklySales = new Float((String) wvalue.firstElement());
         if (weeklySales.floatValue() > maxSales.floatValue())
         {
           agentDoc.replaceItemValue
             ("MaxSales", doc.getItemValue("Weekly_Sales"));
           agentDoc.replaceItemValue
             ("MaxSales_Salesperson", doc.getItemValue("Name"));
          }
          doc.replaceItemValue("Weekly_Sales", "0");
          doc.save(true, true);
          doc = view.getNextDocument(doc);
        }
        agentDoc.save(true, true);
        System.out.println("Best Sales person up-to-date is " +
        agentDoc.getItemValue("MaxSales_Salesperson") +
        " and sold $" + agentDoc.getItemValue("MaxSales"));
     }
   catch (Exception e)
     {
       e.printStackTrace();
     }
   }
}