Skip to content

Examples

Update all work orders that are on the state ONSITE to have a new address and send these changes to the sever:

procedure UpdateOnSiteWoAddresses {  
   parameter NewAddress Text;  

   variable Wo Structure(WorkOrder);  

   execute {  
      for WorkOrder i where [ i.Objstate = "ONSITE" ] into Wo {  
         set Wo.AddressLine1 = NewAddress;  
         saveAndSend Wo  
      }  
   }  
}  

Set the default CreatedAt and Objstate on a work order before creating:

@Overtake  
procedure EntityPrepare<WorkOrder> Structure(WorkOrder) {  
   execute {  
      super(Record) into Record;  
      call DateTime.Timestamp() into Record.CreatedAt;  
      set Record.Objstate = "NEW";  
      return Record;  
   }  
}  

Utility procedure to create a new work order and send it to the server:

procedure CreateNewWo Structure(WorkOrder) {  
   parameter Description Text;  

   variable Wo Structure(WorkOrder);  

   execute {  
      create Wo;        
      set Wo.Description = Description;  
      saveAndSend Wo  
      return Wo;  
   }  
}  

Utility procedure that saves a row to the local database, sends it to the server then deletes the local row:

procedure SaveLocation {  
   parameter Position Text;  
   variable Loc Structure(UserLocation);  

   execute {  

      if [Position = null] {  
           error("Invalid position");  
      }  

      create Loc;  

      call DateTime.Timestamp() into Loc.CreatedAt;  
      set Loc.Location = Position  

      saveAndSend Loc;  
      deleteLocal Loc;  
   }  
}