java.lang.Object
com.primavera.integration.client.BOBase
com.primavera.integration.client.bo.BusinessObject
com.primavera.integration.client.bo.object.Timesheet

public class Timesheet extends BusinessObject

Timesheets are used to allow resources to enter status. Timesheets are read only in the Integration API.

This business object has a multi-part object ID; its object ID is a combination of its timesheet period object ID and its resource object ID. The method createObjectId() can be used to create the multi-part object ID from the individual IDs.

See Also:   Quick reference of Timesheet fields

  • Constructor Details

    • Timesheet

      public Timesheet(Session session)
      Class constructor specifying the Session. This constructor is most commonly used when create() is intended to be called on this object.
      Parameters:
      session - the Session
    • Timesheet

      public Timesheet(Session session, ObjectId objId) throws BusinessObjectException
      Class constructor specifying the Session and ObjectId of the object. This constructor is most commonly used when update() is intended to be called on this object. For this particular object, the ObjectId is multi-part, created from the ResourceObjectId and TimesheetPeriodObjectId field values. If you do not have the multi-part ObjectId already, it would be simpler to instead use the constructor that has multiple key parameters.
      Parameters:
      session - the Session
      objId - the ObjectId
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • Timesheet

      public Timesheet(Session session, ObjectId resourceObjectId, ObjectId timesheetPeriodObjectId) throws BusinessObjectException
      Class constructor specifying the Session and the individual components of the multi-part key: ResourceObjectId and TimesheetPeriodObjectId. This constructor is most commonly used when update() is intended to be called on this object.
      Parameters:
      session - the Session
      resourceObjectId - the first ObjectId in the key
      timesheetPeriodObjectId - the second ObjectId in the key
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • Timesheet

      public Timesheet(Session session, com.primavera.infr.db.PrmRowSet rowSet, int iIndex) throws BusinessObjectException
      Class constructor called internally after objects are retrieved from the server. Client code should use one of the other constructors for this class.
      Parameters:
      session - the Session
      rowSet - the PrmRowSet retrieved from the server
      iIndex - the row index in the PrmRowSet associated with this business object
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
  • Method Details

    • loadResource

      public Resource loadResource(String[] fields) throws ServerException, NetworkException, BusinessObjectException
      Loads an associated Resource object from the database.
      Parameters:
      fields - fields to load
      Returns:
      Resource the Resource object
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • loadTimesheetPeriod

      public TimesheetPeriod loadTimesheetPeriod(String[] fields) throws ServerException, NetworkException, BusinessObjectException
      Loads an associated TimesheetPeriod object from the database.
      Parameters:
      fields - fields to load
      Returns:
      TimesheetPeriod the TimesheetPeriod object
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • loadResourceHours

      public BOIterator<ResourceHour> loadResourceHours(String[] fields, String sWhereClause, String sOrderBy) throws ServerException, NetworkException, BusinessObjectException
      Loads multiple associated ResourceHour objects from the database.
      Parameters:
      fields - fields to load
      sWhereClause - where clause
      sOrderBy - order-by clause
      Returns:
      BOIterator a business object iterator used to get the results of the load request
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getResourceObjectId

      public ObjectId getResourceObjectId() throws BusinessObjectException
      Gets the unique ID of the associated resource. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.
      Returns:
      the value in the field ResourceObjectId
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setResourceObjectId

      public void setResourceObjectId(ObjectId o) throws BusinessObjectException
      Sets the unique ID of the associated resource. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.
      Parameters:
      o - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getResourceName

      public String getResourceName() throws BusinessObjectException
      Gets the name of the resource.
      Returns:
      the value in the field ResourceName
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getResourceId

      public String getResourceId() throws BusinessObjectException
      Gets the short code that uniquely identifies the resource.
      Returns:
      the value in the field ResourceId
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getTimesheetPeriodObjectId

      public ObjectId getTimesheetPeriodObjectId() throws BusinessObjectException
      Gets the unique ID of the timesheet period. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.
      Returns:
      the value in the field TimesheetPeriodObjectId
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setTimesheetPeriodObjectId

      public void setTimesheetPeriodObjectId(ObjectId o) throws BusinessObjectException
      Sets the unique ID of the timesheet period. This field is automatically loaded by default whenever this type of business object is loaded from the database. This field must contain a valid value in order to create this type of business object in the database.
      Parameters:
      o - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getStatus

      public TimesheetStatus getStatus() throws BusinessObjectException
      Gets the current status of the timesheet: 'Submitted', 'Approved', 'Resource Manager Approved', 'Project Manager Approved', 'Active', or 'Rejected'.
      Returns:
      the value in the field Status
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setStatus

      public void setStatus(TimesheetStatus enm) throws BusinessObjectException
      Sets the current status of the timesheet: 'Submitted', 'Approved', 'Resource Manager Approved', 'Project Manager Approved', 'Active', or 'Rejected'.
      Parameters:
      enm - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getLastReceivedDate

      public Date getLastReceivedDate() throws BusinessObjectException
      Gets the last date on which the timesheet was submitted by the resource.
      Returns:
      the value in the field LastReceivedDate
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setLastReceivedDate

      public void setLastReceivedDate(Date d) throws BusinessObjectException
      Sets the last date on which the timesheet was submitted by the resource.
      Parameters:
      d - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getIsDaily

      public boolean getIsDaily() throws BusinessObjectException
      Gets the flag that identifies whether timesheet users enter hours daily or by entire timesheet reporting period.
      Returns:
      the value in the field IsDaily
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setIsDaily

      public void setIsDaily(boolean b) throws BusinessObjectException
      Sets the flag that identifies whether timesheet users enter hours daily or by entire timesheet reporting period.
      Parameters:
      b - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getStatusDate

      public Date getStatusDate() throws BusinessObjectException
      Gets the date on which the status of the timesheet was last changed.
      Returns:
      the value in the field StatusDate
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setStatusDate

      public void setStatusDate(Date d) throws BusinessObjectException
      Sets the date on which the status of the timesheet was last changed.
      Parameters:
      d - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getNotes

      public String getNotes() throws BusinessObjectException
      Gets the notes associated with the timesheet. This field may not be included in the where clause or order by clause specified when loading business objects.
      Returns:
      the value in the field Notes
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • setNotes

      public void setNotes(String s) throws BusinessObjectException
      Sets the notes associated with the timesheet. This field may not be included in the where clause or order by clause specified when loading business objects.
      Parameters:
      s - the value to set this field to
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getCreateDate

      public Date getCreateDate() throws BusinessObjectException
      Gets the date this timesheet was created.
      Returns:
      the value in the field CreateDate
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getLastUpdateDate

      public Date getLastUpdateDate() throws BusinessObjectException
      Gets the date this timesheet was last updated.
      Returns:
      the value in the field LastUpdateDate
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getCreateUser

      public String getCreateUser() throws BusinessObjectException
      Gets the name of the user that created this timesheet.
      Returns:
      the value in the field CreateUser
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getLastUpdateUser

      public String getLastUpdateUser() throws BusinessObjectException
      Gets the name of the user that last updated this timesheet.
      Returns:
      the value in the field LastUpdateUser
      Throws:
      BusinessObjectException - if a problem occurred in the client-side business objects
    • getRequiredCreateFields

      public static String[] getRequiredCreateFields()
      Gets all fields that must be set before calling create() on this business object. Generally the array will contain one field in each position, but if this business object requires either one field or another field to be set, both of those fields will appear in an element of the returned array separated by '|'. For example, if this business object requires field A to always be set, and field B or field C to be set, one element in the returned array will contain A, and one element will contain B|C.
      Returns:
      String[] an array of required create fields
    • getFilterableFields

      public static String[] getFilterableFields()
      Gets all fields that can be filtered.
      Returns:
      String[] an array of filterable fields
    • getInternalDefaultLoadFields

      public static String[] getInternalDefaultLoadFields()
      An internal method that should not be called directly by client code.
      Returns:
      String[] an internal array
    • getAllFields

      public static String[] getAllFields()
      Gets all fields for this business object.
      Returns:
      String[] an array of all fields
    • getInternalAllFields

      public static String[] getInternalAllFields()
      An internal method that should not be called directly by client code.
      Returns:
      String[] an internal array
    • getInternalAllFieldsSet

      public static Set<String> getInternalAllFieldsSet()
      An internal method that should not be called directly by client code.
      Returns:
      String[] an internal array
    • getWritableFields

      public static String[] getWritableFields()
      Gets all writable fields for this business object.
      Returns:
      String[] an array of writable fields
    • getDefaultXMLExportFields

      @Deprecated public static String[] getDefaultXMLExportFields()
      Deprecated.
      Gets the fields that are exported by the hierarchical XML exporter when no fields are specified. This method is no longer relevant since the hierarchical XML exporter has been replaced by the flat XML exporter.
      Returns:
      String[] an array of field names
    • getMinimumXMLExportFields

      public static String[] getMinimumXMLExportFields()
      Gets all fields that are always exported at a minimum by the new flat XML exporter
      Returns:
      String[] an array of exported fields
    • toString

      public String toString()
      Returns a string representation of the object. The output is in XML.
      Overrides:
      toString in class Object
      Returns:
      String a string representation of the object.
    • createObjectId

      public static ObjectId createObjectId(ObjectId resourceObjectId, ObjectId timesheetPeriodObjectId) throws InvalidValueException
      Creates a multi-part ObjectId from two individual ObjectIds.
      Parameters:
      resourceObjectId - the ObjectId of the associated resource object.
      timesheetPeriodObjectId - the ObjectId of the associated timesheetPeriod object.
      Returns:
      ObjectId the multi-part ObjectId
      Throws:
      InvalidValueException - if one of the input parameters was invalid.
      IllegalArgumentException - if one of the input parameters was null.
    • getObjectId

      public ObjectId getObjectId() throws BusinessObjectException
      Gets the ObjectId for this object. The ObjectId field serves as the primary key for the associated table in the database. For this object, the ObjectId is multi-part, consisting internally of the ResourceObjectId and TimesheetPeriodObjectId fields.
      Overrides:
      getObjectId in class BusinessObject
      Returns:
      ObjectId the multi-part ObjectId of this object
      Throws:
      BusinessObjectException - if the ObjectId fields were not loaded.
    • create

      Creates this Timesheet object in the database.
      Returns:
      ObjectId the unique ID of the newly created Timesheet object
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • create

      public static ObjectId[] create(Session session, Timesheet[] timesheets) throws ServerException, NetworkException, BusinessObjectException
      Creates multiple Timesheet objects in the database.
      Parameters:
      session - the Session object
      timesheets - array of Timesheet objects to create
      Returns:
      ObjectId[] the array of unique IDs of newly created Timesheet objects
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • load

      public static Timesheet load(Session session, String[] fields, ObjectId objId) throws ServerException, NetworkException, BusinessObjectException
      Loads a single Timesheet object from the database.
      Parameters:
      session - the Session object
      fields - fields to load
      objId - unique ID of the Timesheet object
      Returns:
      Timesheet the Timesheet object
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • load

      public static BOIterator<Timesheet> load(Session session, String[] fields, ObjectId[] objIds) throws ServerException, NetworkException, BusinessObjectException
      Loads multiple Timesheet objects from the database.
      Parameters:
      session - the Session object
      fields - fields to load
      objIds - object ids of the Timesheet objects
      Returns:
      BOIterator a business object iterator used to get the results of the load request
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • update

      Updates this Timesheet object in the database.
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • update

      public static void update(Session session, Timesheet[] timesheets) throws ServerException, NetworkException, BusinessObjectException
      Updates multiple Timesheet objects in the database.
      Parameters:
      session - the Session object
      timesheets - array of Timesheet objects to update
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • delete

      Deletes this Timesheet object from the database.
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects
    • delete

      public static void delete(Session session, Timesheet[] timesheets) throws ServerException, NetworkException, BusinessObjectException
      Deletes multiple Timesheet objects from the database.
      Parameters:
      session - the Session object
      timesheets - array of Timesheet objects to delete
      Throws:
      ServerException - if a problem occurred on the server-side
      NetworkException - if a problem occurred in the network layer
      BusinessObjectException - if a problem occurred in the client-side business objects