Listing 1

  <scriptExecution displayName="Generate Worker Attendance Report" accelerator="F9"
  menu=îReportsî>
   <jythonFile>generateWorkerAttendanceReport.py</jythonFile>
      <parameters>
         <param key="startDate" type="date" required="true" >
            <displayName>Start Date</displayName>
         </param>
      <param key="endDate" type="date" required="true">
         <displayName>End Date</displayName>
      </param>
      <param key="dep" type="package" required="true">
         <displayName>Department</displayName>
      </param>
      <param key="reportFile" type="file" required="true">
         <displayName>Report Output</displayName>
      </param>
   </parameters>
</scriptExecution>


Listing 2

  from com.hrtracker.loader import HRLoader

def writeShiftInfo(emp,shifts):
    outputFile.write("\n")
    outputFile.write("Employee #:"+emp.getNo()")
    outputFile.write("-------------------------")
    for shift in shifts:
	outputFile.write(shift.getLocation().getName() + ": " + shift.getSummary())

hrManager = HRManager()
emps = hrManager.getEmployeesInDepartment(dep)
outputFile = open(reportFile,"w")
outputFile.write("Shift Report for "+dep.getName()+" department from "+startDate+" to
"+endDate)
outputFile.write("---------------------------------------------------------------")
outputFile.write("\n")
outputFile.write("\n")
for emp in emps:
    shifts = hrManager.getEmployeeShifts(startDate, endDate,emp)
    writeShiftInfo(emp,shifts)

outputFile.close()