Operation Details
Description: Returns the closest record for a nominee based on a from and to date.
Sterotype: ns
SQL
SELECT
  CaseNomineeObjective.caseNomineeID,
  CaseNomineeObjective.caseNomineeObjectiveID,
  CaseNomineeObjective.fromDate,
  CaseNomineeObjective.toDate
INTO
  :caseNomineeID,
  :caseNomineeObjectiveID,
  :fromDate,
  :toDate 
FROM
  CaseNomineeObjective,
  CaseNominee,
  ConcernRole,
  CaseParticipantRole 
WHERE CaseNomineeObjective.rulesObjectiveID = :rulesObjectiveID 
  AND CaseNomineeObjective.statusCode = :statusCode 
  AND CaseNominee.caseNomineeID = CaseNomineeObjective.caseNomineeID 
  AND CaseParticipantRole.caseParticipantRoleID = CaseNominee.caseParticipantRoleID 
  AND CaseParticipantRole.caseID = :caseID 
  AND ConcernRole.concernRoleID = CaseParticipantRole.participantRoleID 
  AND CaseNomineeObjective.statusCode = :statusCode 
  AND CaseNomineeObjective.fromDate = 
  ( 
  SELECT
    MAX (CaseNomineeObjective.fromDate) 
  FROM
    CaseNomineeObjective,
    CaseNominee,
    ConcernRole,
    CaseParticipantRole 
  WHERE CaseNomineeObjective.fromDate <= :fromDate 
    AND CaseNomineeObjective.rulesObjectiveID = :rulesObjectiveID 
    AND CaseNomineeObjective.statusCode = :statusCode 
    AND CaseNominee.caseNomineeID = CaseNomineeObjective.caseNomineeID 
    AND CaseParticipantRole.caseParticipantRoleID = CaseNominee.caseParticipantRoleID 
    AND CaseParticipantRole.caseID = :caseID 
    AND ConcernRole.concernRoleID = CaseParticipantRole.participantRoleID 
  )