Operation Details
Description: Returns user work queue tasks due by week.
Sterotype: nsmulti
SQL
SELECT
  t.taskID,
  t.priority,
  t.reservedBy,
  CASE 
    WHEN e.userName is null 
    THEN u.userName 
    ELSE e.userName 
  END
  ,
  t.assignedDateTime,
  w.deadlineTime,
  t.wdoSnapshot,
  t.overflowInd,
  t.versionNo
INTO
  :taskID,
  :taskPriority,
  :taskReservedByUserName,
  :taskReservedByFullUserName,
  :taskAssignedDateTime,
  :taskDeadlineDateTime,
  :wdoSnapshot,
  :overflowInd,
  :versionNo 
FROM
  Task t 
  
  LEFT OUTER JOIN
  
  Users u 
  ON (t.reservedBy = u.userName) 
  
  LEFT OUTER JOIN
  
  ExternalUser e 
  ON (t.reservedBy = e.userName),
  WorkflowDeadline w 
WHERE t.taskID = w.taskID 
  AND w.deadlineTime >= :fromDeadlineDateTime 
  AND w.deadlineTime < :toDeadlineDateTime 
  AND t.taskID IN 
  ( 
  SELECT
    taskID 
  FROM
    TaskAssignment ta 
  WHERE ta.assigneeType = :assigneeType 
    AND ta.relatedID IN 
    ( 
    SELECT
      DISTINCT wqs.workQueueID 
    FROM
      WorkQueueSubscription wqs,
      Users u 
    WHERE wqs.userName = u.userName 
      AND wqs.subscriberType = :subscriberType 
      AND u.statusCode = :recordStatus 
      AND u.userName = :relatedName 
    ) 
    AND 
    (
      :allTasksInd = '0' 
      OR 
      (
        t.reservedBy IS NULL 
        OR t.reservedBy IS NOT NULL 
      ) 
    ) 
    AND 
    (
      :allReservedTasksInd = '0' 
      OR t.reservedBy IS NOT NULL 
    ) 
    AND 
    (
      :allAssignedTasksInd = '0' 
      OR t.reservedBy IS NULL 
    ) 
  ) 
ORDER BY deadlineTime ASC