---
title: "Running Segment with specific Date and Time 3.0"
id: "running-segment-with-specific-date-and-time-3-0"
project: "Knowledge Base"
url: "https://docs.sepasoft.com/articles/knowledge-base/running-segment-with-specific-date-and-time-3-0"
updated: 2026-07-23T18:08:18Z
---

# Running Segment with specific Date and Time 3\.0

## Overview

This article explains how to run a process segment using the specified date and time.

### Applies To and Version Info

This feature applies to Track and Trace module and is available in version 3.8x and above.

## Scripting

Execute

Code

```
##	Executes a segment and sets all properties to the given date and time
##
eqPath = 'Your Enterprise\New Site\Receiving\Milk Unloading'
seg = system.mes.createSegment('Test Date Operation', eqPath, True)
seg.setMaterial('Material In', 'Whole Milk', 'Your Enterprise\New Site\Receiving\Receiving Tanks\Whole Milk Tank 2', 'Lot 23', 200.0)
# ... set any other segment properties ...
##	Executes a segment and sets all properties to the given date and time instead of the current date time
from java.util import Calendar
cal = Calendar.getInstance()
# set date to Dec 4, 2016 1:30pm  
cal.set(2016, 11, 4, 13, 30, 00)## Jan=0...Dec=11
dateTime = cal.getTime()
seg.execute(dateTime)


```

Begin, Update and End

Code

```
##	Set custom date and times for a segment
##  NOTE: all segment requirements are the same as if the segment is being run without setting the dates manually (in current time)
##  This example has been broken up into three different scriptlets to illustrate that the begin, update and end calls may be called
##  from different scripts.
##
#######################################################################################
eqPath = 'Your Enterprise\New Site\Receiving\Milk Unloading'
seg = system.mes.createSegment('Test Date Operation', eqPath, True)
seg.setMaterial('Material In', 'Whole Milk', 'Your Enterprise\New Site\Receiving\Receiving Tanks\Whole Milk Tank 2', 'Lot 23', 200.0)
# ... must set any other required segment properties before begin is called ...
##	Begins the segment and sets all properties to the given date and time instead of the current date time
from java.util import Calendar
cal = Calendar.getInstance()
# set date to Dec 4, 2016 1:35pm  
cal.set(2016, 11, 4, 13, 35, 00)## Jan=0...Dec=11
dateTime = cal.getTime()
seg = seg.begin(dateTime)
 
#############################################################################
eqPath = 'Your Enterprise\New Site\Receiving\Milk Unloading'
currSegList = system.mes.getCurrentSegments(eqPath)
if currSegList.size() >= 0:
	currSeg = currSegList.get(0).getMESObject()
	currSeg.setMaterial('Material In', 'Whole Milk', 'Your Enterprise\New Site\Receiving\Receiving Tanks\Whole Milk Tank 1', 'Lot 23A', 150.0)
	# ... must set any other required segment properties before update is called ...
	##	Updates the segment and sets any new properties to the given date and time instead of the current date time
	from java.util import Calendar
	cal = Calendar.getInstance()
	# set date to Dec 4, 2016 1:40pm  
	cal.set(2016, 11, 4, 13, 40, 00)## Jan=0...Dec=11
	dateTime = cal.getTime()
	currSeg = currSeg.update(dateTime)
	
#############################################################################
eqPath = 'Your Enterprise\New Site\Receiving\Milk Unloading'
currSegList = system.mes.getCurrentSegments(eqPath)
if currSegList.size() >= 0:
	currSeg = currSegList.get(0).getMESObject()
	##	Ends the segment and sets any active properties to the given date and time instead of the current date time
	from java.util import Calendar
	cal = Calendar.getInstance()
	# set date to Dec 4, 2016 1:45pm  
	cal.set(2016, 11, 4, 13, 45, 00)## Jan=0...Dec=11
	dateTime = cal.getTime()
	currSeg.end(dateTime)
	
```
