pk82036_task¶
Overview¶
| Field | Value |
|---|---|
| Schema | WCIS_DBA |
| Type | Package |
| Database | PROD |
| Calling libraries | SAIF.Business.Tasks |
| Calling classes | clsTask, clsTaskCollection |
Purpose¶
pk82036_task owns the Oracle persistence contract for the reusable SAIF task model. It returns a single task row through a REF CURSOR, inserts and updates TASK rows with audit/version behavior, implements soft delete, and purges aged rows that were previously soft-deleted.
Procedures / Methods¶
task_select¶
| Field | Value |
|---|---|
| Returns | REF CURSOR over one TASK row |
| Called by | clsTask.BeforeRetrieve |
Description: Retrieves the task row identified by TASK_SEQ_NUM and returns the full mapped task/context/audit column set through a cursor.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
taskseqnum |
IN | task.task_seq_num%TYPE |
— | Target task sequence number. |
recordset |
IN OUT | ref_cursor |
— | Cursor opened over the matching task row. |
task_insert¶
| Field | Value |
|---|---|
| Returns | NUMBER row-count result |
| Called by | clsTask.BeforeInsert |
Description: Inserts a new TASK row, normalizes zero-valued claim and policy inputs to NULL, applies sequence-generated identity, and seeds audit/version columns.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
taskdate |
IN | task.task_date%TYPE |
— | Due date for the new task. |
tasktext |
IN | task.task_text%TYPE |
— | Task body text. |
taskuser |
IN | task.task_user%TYPE |
— | Assignee mail ID. |
taskprioritycode |
IN | task.task_priority_code%TYPE |
— | Priority code. |
taskcategorycode |
IN | task.task_category_code%TYPE |
— | Category code. |
tasksourcecode |
IN | task.task_source_code%TYPE |
— | Source system code. |
taskactioncode |
IN | task.task_action_code%TYPE |
— | Action code. |
notepadflag |
IN | task.notepad_flag%TYPE |
— | Notepad-required flag. |
deleteflag |
IN | task.delete_flag%TYPE |
— | Caller-supplied delete flag; package inserts 'N'. |
claimid |
IN | task.claim_id%TYPE |
— | Claim identifier, with 0 normalized to NULL. |
policynum |
IN | task.policy_num%TYPE |
— | Policy number, with 0 normalized to NULL. |
imageseqnum |
IN | task.image_seq_num%TYPE |
— | Image sequence number. |
contextcode |
IN | task.context_code%TYPE |
— | Context code value. |
contextkey |
IN | task.context_key%TYPE |
— | Context key value. |
contextcategory |
IN | task.context_category%TYPE |
— | Context category value. |
contexttext |
IN | task.context_text%TYPE |
— | Context text value. |
contextdate |
IN | task.context_date%TYPE |
— | Context date value. |
contextnum |
IN | task.context_num%TYPE |
— | Context numeric value. |
createuser |
IN | task.create_user%TYPE |
— | Audit create user. |
updateuser |
IN | task.update_user%TYPE |
— | Initial update user. |
tasksecurity |
IN | task.task_security%TYPE |
— | Security tag. |
task_update¶
| Field | Value |
|---|---|
| Returns | NUMBER row-count result |
| Called by | clsTask.BeforeUpdate |
Description: Updates a mutable task row, requires the caller's current row version, stamps audit fields, and increments UPDATE_SEQ_NUM.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
taskseqnum |
IN | task.task_seq_num%TYPE |
— | Target task sequence number. |
taskdate |
IN | task.task_date%TYPE |
— | Updated due date. |
tasktext |
IN | task.task_text%TYPE |
— | Updated task body text. |
taskuser |
IN | task.task_user%TYPE |
— | Updated assignee. |
taskprioritycode |
IN | task.task_priority_code%TYPE |
— | Updated priority code. |
taskcategorycode |
IN | task.task_category_code%TYPE |
— | Updated category code. |
taskactioncode |
IN | task.task_action_code%TYPE |
— | Updated action code. |
notepadflag |
IN | task.notepad_flag%TYPE |
— | Updated notepad-required flag. |
deleteflag |
IN | task.delete_flag%TYPE |
— | Current delete flag value. |
claimid |
IN | task.claim_id%TYPE |
— | Claim identifier, with 0 normalized to NULL. |
policynum |
IN | task.policy_num%TYPE |
— | Policy number, with 0 normalized to NULL. |
imageseqnum |
IN | task.image_seq_num%TYPE |
— | Image sequence number. |
contextcode |
IN | task.context_code%TYPE |
— | Context code value. |
contextkey |
IN | task.context_key%TYPE |
— | Context key value. |
contextcategory |
IN | task.context_category%TYPE |
— | Context category value. |
contexttext |
IN | task.context_text%TYPE |
— | Context text value. |
contextdate |
IN | task.context_date%TYPE |
— | Context date value. |
contextnum |
IN | task.context_num%TYPE |
— | Context numeric value. |
updateuser |
IN | task.update_user%TYPE |
— | Audit update user. |
updateseqnum |
IN | task.update_seq_num%TYPE |
— | Optimistic-concurrency token. |
tasksecurity |
IN | task.task_security%TYPE |
— | Security tag. |
task_delete¶
| Field | Value |
|---|---|
| Returns | NUMBER row-count result |
| Called by | clsTask.BeforeDelete |
Description: Performs a soft delete by setting DELETE_FLAG = 'Y', updating audit columns, and incrementing UPDATE_SEQ_NUM when the row version matches.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
taskseqnum |
IN | task.task_seq_num%TYPE |
— | Target task sequence number. |
updateseqnum |
IN | task.update_seq_num%TYPE |
— | Optimistic-concurrency token. |
updateuser |
IN | task.update_user%TYPE |
— | Audit update user. |
task_purge¶
| Field | Value |
|---|---|
| Returns | Deleted-row count through outdelrows |
| Called by | clsTaskCollection.PurgeTasks |
Description: Physically deletes previously soft-deleted TASK rows for one source/category pair when the row's update date is older than the keep-days retention threshold.
Parameters¶
| Parameter | Direction | Type | Default | Description |
|---|---|---|---|---|
intasksourcecode |
IN | task.task_source_code%TYPE |
— | Source-system filter for the purge. |
intaskcategorycode |
IN | task.task_category_code%TYPE |
— | Category filter for the purge. |
inkeepdays |
IN | VARCHAR2 |
— | Retention threshold expressed in days. |
outdelrows |
OUT | VARCHAR2 |
— | Deleted-row count returned to the caller. |
Additional package members present in Oracle source¶
| Member | Kind | Description |
|---|---|---|
selecttasks |
Procedure | Opens a caller-supplied SQL string as a REF CURSOR. |
task_insert |
Legacy procedure overload | Retains the pre-function insert signature noted in the in-source compatibility comment. |
task_update |
Legacy procedure overload | Retains the pre-function update signature noted in the in-source compatibility comment. |
task_delete |
Legacy procedure overload | Retains the pre-function delete signature noted in the in-source compatibility comment. |
Business Rules¶
Rules extracted from this procedure's logic:
| Rule ID | Rule | Condition | Action |
|---|---|---|---|
| BR-012 | Single-task retrieval is keyed only by task sequence number. | WHERE task.task_seq_num = taskseqnum |
Opens a REF CURSOR over the matching TASK row. |
| BR-013 | Zero claim IDs are normalized to NULL during insert. |
DECODE(claimid, 0, NULL, claimid) in the insert values list |
Prevents storing 0 in TASK.CLAIM_ID. |
| BR-014 | Zero policy numbers are normalized to NULL during insert. |
DECODE(policynum, 0, NULL, policynum) in the insert values list |
Prevents storing 0 in TASK.POLICY_NUM. |
| BR-015 | New tasks start active and versioned from zero. | Insert body sets DELETE_FLAG = 'N', UPDATE_SEQ_NUM = 0, CREATE_DATE = SYSDATE, UPDATE_DATE = SYSDATE, and TASK_SEQ_NUM = TASK_SEQ.NEXTVAL |
Seeds identity and audit/version state. |
| BR-016 | Updates require a matching optimistic-concurrency token. | WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum |
Rejects stale updates by returning SQL%ROWCOUNT = 0. |
| BR-017 | Zero claim and policy values are normalized to NULL during update. |
DECODE(claimid, 0, NULL, claimid) and DECODE(policynum, 0, NULL, policynum) |
Preserves optional-relationship semantics. |
| BR-018 | Successful updates always advance audit/version fields. | Update body sets UPDATE_DATE = SYSDATE, UPDATE_SEQ_NUM = updateseqnum + 1, and UPDATE_USER = updateuser |
Records the updater and increments the row version. |
| BR-019 | Delete is implemented as a soft delete. | Delete body sets DELETE_FLAG = 'Y' instead of issuing DELETE FROM TASK |
Retains the row while marking it deleted. |
| BR-020 | Soft delete requires a matching optimistic-concurrency token. | WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum |
Rejects stale deletes by returning SQL%ROWCOUNT = 0. |
| BR-021 | Physical purge is limited to already deleted rows in the requested source/category slice. | Purge WHERE clause requires matching source, category, and DELETE_FLAG = 'Y' |
Prevents purge of active rows. |
| BR-022 | Purge retention is enforced by whole-day age. | TRUNC(update_date) < TRUNC(SYSDATE - TO_NUMBER(inkeepdays)) |
Deletes only rows older than the keep-days threshold. |
These rules are documented in Business rules. Newly introduced rules must be added to
business-rules.mdas part of the same writing task.
Operations¶
Operations and processes implemented in this procedure:
| Operation | Description | Trigger |
|---|---|---|
| Retrieve task row | Opens a cursor over one TASK row and returns the mapped columns. |
clsTask.BeforeRetrieve |
| Insert task row | Inserts a new TASK row, applies audit defaults, and returns SQL%ROWCOUNT. |
clsTask.BeforeInsert |
| Update task row | Updates mutable fields, stamps audit data, increments UPDATE_SEQ_NUM, and returns SQL%ROWCOUNT. |
clsTask.BeforeUpdate |
| Soft-delete task row | Marks the row deleted and increments UPDATE_SEQ_NUM without removing the row. |
clsTask.BeforeDelete |
| Purge deleted task rows | Physically deletes aged, already deleted rows and returns the deleted-row count. | clsTaskCollection.PurgeTasks |
These operations are also listed in Operations and processes with source reference back to this document.
Source Code¶
PL/SQL package specification
PACKAGE pk82036_task
AS
TYPE ref_cursor IS REF CURSOR;
PROCEDURE task_select(
taskseqnum IN task.task_seq_num%TYPE
, recordset IN OUT ref_cursor);
FUNCTION task_insert(
taskdate IN task.task_date%TYPE
, tasktext IN task.task_text%TYPE
, taskuser IN task.task_user%TYPE
, taskprioritycode IN task.task_priority_code%TYPE
, taskcategorycode IN task.task_category_code%TYPE
, tasksourcecode IN task.task_source_code%TYPE
, taskactioncode IN task.task_action_code%TYPE
, notepadflag IN task.notepad_flag%TYPE
, deleteflag IN task.delete_flag%TYPE
, claimid IN task.claim_id%TYPE
, policynum IN task.policy_num%TYPE
, imageseqnum IN task.image_seq_num%TYPE
, contextcode IN task.context_code%TYPE
, contextkey IN task.context_key%TYPE
, contextcategory IN task.context_category%TYPE
, contexttext IN task.context_text%TYPE
, contextdate IN task.context_date%TYPE
, contextnum IN task.context_num%TYPE
, createuser IN task.create_user%TYPE
, updateuser IN task.update_user%TYPE
, tasksecurity IN task.task_security%TYPE
) RETURN NUMBER;
FUNCTION task_update(
taskseqnum IN task.task_seq_num%TYPE
, taskdate IN task.task_date%TYPE
, tasktext IN task.task_text%TYPE
, taskuser IN task.task_user%TYPE
, taskprioritycode IN task.task_priority_code%TYPE
, taskcategorycode IN task.task_category_code%TYPE
, taskactioncode IN task.task_action_code%TYPE
, notepadflag IN task.notepad_flag%TYPE
, deleteflag IN task.delete_flag%TYPE
, claimid IN task.claim_id%TYPE
, policynum IN task.policy_num%TYPE
, imageseqnum IN task.image_seq_num%TYPE
, contextcode IN task.context_code%TYPE
, contextkey IN task.context_key%TYPE
, contextcategory IN task.context_category%TYPE
, contexttext IN task.context_text%TYPE
, contextdate IN task.context_date%TYPE
, contextnum IN task.context_num%TYPE
, updateuser IN task.update_user%TYPE
, updateseqnum IN task.update_seq_num%TYPE
, tasksecurity IN task.task_security%TYPE
) RETURN NUMBER;
FUNCTION task_delete(
taskseqnum IN task.task_seq_num%TYPE
, updateseqnum IN task.update_seq_num%TYPE
, updateuser IN task.update_user%TYPE
) RETURN NUMBER;
PROCEDURE selecttasks(
taskselectsql IN VARCHAR2
, recordset IN OUT ref_cursor);
PROCEDURE task_purge(
intasksourcecode IN task.task_source_code%TYPE
, intaskcategorycode IN task.task_category_code%TYPE
, inkeepdays IN VARCHAR2
, outdelrows OUT VARCHAR2);
-- REMOVE THESE AFTER ALL APPS are using the version of saifTasks created in August 2007.
PROCEDURE task_insert(
taskdate IN task.task_date%TYPE
, tasktext IN task.task_text%TYPE
, taskuser IN task.task_user%TYPE
, taskprioritycode IN task.task_priority_code%TYPE
, taskcategorycode IN task.task_category_code%TYPE
, tasksourcecode IN task.task_source_code%TYPE
, taskactioncode IN task.task_action_code%TYPE
, notepadflag IN task.notepad_flag%TYPE
, deleteflag IN task.delete_flag%TYPE
, claimid IN task.claim_id%TYPE
, policynum IN task.policy_num%TYPE
, imageseqnum IN task.image_seq_num%TYPE
, contextcode IN task.context_code%TYPE
, contextkey IN task.context_key%TYPE
, contextcategory IN task.context_category%TYPE
, contexttext IN task.context_text%TYPE
, contextdate IN task.context_date%TYPE
, contextnum IN task.context_num%TYPE
, createuser IN task.create_user%TYPE
, updateuser IN task.update_user%TYPE
, tasksecurity IN task.task_security%TYPE);
PROCEDURE task_update(
taskseqnum IN task.task_seq_num%TYPE
, taskdate IN task.task_date%TYPE
, tasktext IN task.task_text%TYPE
, taskuser IN task.task_user%TYPE
, taskprioritycode IN task.task_priority_code%TYPE
, taskcategorycode IN task.task_category_code%TYPE
, taskactioncode IN task.task_action_code%TYPE
, notepadflag IN task.notepad_flag%TYPE
, deleteflag IN task.delete_flag%TYPE
, claimid IN task.claim_id%TYPE
, policynum IN task.policy_num%TYPE
, imageseqnum IN task.image_seq_num%TYPE
, contextcode IN task.context_code%TYPE
, contextkey IN task.context_key%TYPE
, contextcategory IN task.context_category%TYPE
, contexttext IN task.context_text%TYPE
, contextdate IN task.context_date%TYPE
, contextnum IN task.context_num%TYPE
, updateuser IN task.update_user%TYPE
, updateseqnum IN task.update_seq_num%TYPE
, tasksecurity IN task.task_security%TYPE);
PROCEDURE task_delete(
taskseqnum IN task.task_seq_num%TYPE
, updateseqnum IN task.update_seq_num%TYPE
, updateuser IN task.update_user%TYPE);
END pk82036_task;
/
PL/SQL package body
PACKAGE BODY pk82036_task
AS
/********************************************
** MULTI_SELECT PROCEDURE FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
PROCEDURE selecttasks (
taskselectsql IN VARCHAR2,
recordset IN OUT ref_cursor
)
IS
BEGIN
OPEN recordset FOR taskselectsql;
END selecttasks;
/********************************************
** SELECT PROCEDURE FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
PROCEDURE task_select (
taskseqnum IN task.task_seq_num%TYPE,
recordset IN OUT ref_cursor
)
IS
BEGIN
OPEN recordset FOR
SELECT task.claim_id AS claimid,
task.context_category AS contextcategory,
task.context_code AS contextcode,
task.context_date AS contextdate,
task.context_key AS contextkey,
task.context_num AS contextnum,
task.context_text AS contexttext,
task.create_date AS createdate,
task.create_user AS createuser,
task.delete_flag AS deleteflag,
task.image_seq_num AS imageseqnum,
task.notepad_flag AS notepadflag,
task.policy_num AS policynum,
task.task_action_code AS taskactioncode,
task.task_category_code AS taskcategorycode,
task.task_date AS taskdate,
task.task_priority_code AS taskprioritycode,
task.task_security AS tasksecurity,
task.task_seq_num AS taskseqnum,
task.task_source_code AS tasksourcecode,
task.task_text AS tasktext, task.task_user AS taskuser,
task.update_date AS updatedate,
task.update_seq_num AS updateseqnum,
task.update_user AS updateuser
FROM task
WHERE task.task_seq_num = taskseqnum;
END task_select;
/********************************************
** INSERT FUNCTION FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
FUNCTION task_insert (
taskdate IN task.task_date%TYPE,
tasktext IN task.task_text%TYPE,
taskuser IN task.task_user%TYPE,
taskprioritycode IN task.task_priority_code%TYPE,
taskcategorycode IN task.task_category_code%TYPE,
tasksourcecode IN task.task_source_code%TYPE,
taskactioncode IN task.task_action_code%TYPE,
notepadflag IN task.notepad_flag%TYPE,
deleteflag IN task.delete_flag%TYPE,
claimid IN task.claim_id%TYPE,
policynum IN task.policy_num%TYPE,
imageseqnum IN task.image_seq_num%TYPE,
contextcode IN task.context_code%TYPE,
contextkey IN task.context_key%TYPE,
contextcategory IN task.context_category%TYPE,
contexttext IN task.context_text%TYPE,
contextdate IN task.context_date%TYPE,
contextnum IN task.context_num%TYPE,
createuser IN task.create_user%TYPE,
updateuser IN task.update_user%TYPE,
tasksecurity IN task.task_security%TYPE
)
RETURN NUMBER
IS
BEGIN
-- Modified to force 0 claimid and policynum to null.
-- A 0(zero) claimid or policynum does not make sense and is preventing
-- RI on the table.
INSERT INTO task
(claim_id, context_category, context_code, context_date,
context_key, context_num, context_text, create_date,
create_user, delete_flag, image_seq_num, notepad_flag,
policy_num, task_action_code, task_category_code,
task_date, task_priority_code, task_security,
task_seq_num, task_source_code, task_text, task_user,
update_date, update_seq_num, update_user
)
VALUES (decode(claimid, 0, null,claimid), contextcategory, contextcode, contextdate,
contextkey, contextnum, contexttext, SYSDATE,
createuser, 'N', imageseqnum, notepadflag,
decode(policynum, 0, null,policynum), taskactioncode, taskcategorycode,
taskdate, taskprioritycode, tasksecurity,
task_seq.NEXTVAL, tasksourcecode, tasktext, taskuser,
SYSDATE, 0, updateuser
);
RETURN SQL%ROWCOUNT;
END task_insert;
/********************************************
** UPDATE FUNCTION FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
FUNCTION task_update (
taskseqnum IN task.task_seq_num%TYPE,
taskdate IN task.task_date%TYPE,
tasktext IN task.task_text%TYPE,
taskuser IN task.task_user%TYPE,
taskprioritycode IN task.task_priority_code%TYPE,
taskcategorycode IN task.task_category_code%TYPE,
taskactioncode IN task.task_action_code%TYPE,
notepadflag IN task.notepad_flag%TYPE,
deleteflag IN task.delete_flag%TYPE,
claimid IN task.claim_id%TYPE,
policynum IN task.policy_num%TYPE,
imageseqnum IN task.image_seq_num%TYPE,
contextcode IN task.context_code%TYPE,
contextkey IN task.context_key%TYPE,
contextcategory IN task.context_category%TYPE,
contexttext IN task.context_text%TYPE,
contextdate IN task.context_date%TYPE,
contextnum IN task.context_num%TYPE,
updateuser IN task.update_user%TYPE,
updateseqnum IN task.update_seq_num%TYPE,
tasksecurity IN task.task_security%TYPE
)
RETURN NUMBER
IS
BEGIN
-- Modified to force 0 claimid and policynum to null.
-- A 0(zero) claimid or policynum does not make sense and is preventing
-- RI on the table.
UPDATE task
SET claim_id = decode(claimid, 0, null,claimid),
context_category = contextcategory,
context_code = contextcode,
context_date = contextdate,
context_key = contextkey,
context_num = contextnum,
context_text = contexttext,
delete_flag = deleteflag,
image_seq_num = imageseqnum,
notepad_flag = notepadflag,
policy_num = decode(policynum, 0, null,policynum),
task_action_code = taskactioncode,
task_category_code = taskcategorycode,
task_date = taskdate,
task_priority_code = taskprioritycode,
task_security = tasksecurity,
task_text = tasktext,
task_user = taskuser,
update_date = SYSDATE,
update_seq_num = updateseqnum + 1,
update_user = updateuser
WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum;
RETURN SQL%ROWCOUNT;
END task_update;
/********************************************
** DELETE FUNCTION FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
FUNCTION task_delete (
taskseqnum IN task.task_seq_num%TYPE,
updateseqnum IN task.update_seq_num%TYPE,
updateuser IN task.update_user%TYPE
)
RETURN NUMBER
IS
BEGIN
UPDATE task
SET delete_flag = 'Y',
update_date = SYSDATE,
update_seq_num = updateseqnum + 1,
update_user = updateuser
WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum;
RETURN SQL%ROWCOUNT;
END task_delete;
PROCEDURE task_purge (
intasksourcecode IN task.task_source_code%TYPE,
intaskcategorycode IN task.task_category_code%TYPE,
inkeepdays IN VARCHAR2,
outdelrows OUT VARCHAR2
)
AS
BEGIN
DELETE task
WHERE task_source_code = intasksourcecode
AND task_category_code = intaskcategorycode
AND delete_flag = 'Y'
AND TRUNC (update_date) <
TRUNC (SYSDATE - TO_NUMBER (inkeepdays));
outdelrows := TO_CHAR (SQL%ROWCOUNT);
END;
-- delete the procedures after all apps are using the functions
PROCEDURE task_insert (
taskdate IN task.task_date%TYPE,
tasktext IN task.task_text%TYPE,
taskuser IN task.task_user%TYPE,
taskprioritycode IN task.task_priority_code%TYPE,
taskcategorycode IN task.task_category_code%TYPE,
tasksourcecode IN task.task_source_code%TYPE,
taskactioncode IN task.task_action_code%TYPE,
notepadflag IN task.notepad_flag%TYPE,
deleteflag IN task.delete_flag%TYPE,
claimid IN task.claim_id%TYPE,
policynum IN task.policy_num%TYPE,
imageseqnum IN task.image_seq_num%TYPE,
contextcode IN task.context_code%TYPE,
contextkey IN task.context_key%TYPE,
contextcategory IN task.context_category%TYPE,
contexttext IN task.context_text%TYPE,
contextdate IN task.context_date%TYPE,
contextnum IN task.context_num%TYPE,
createuser IN task.create_user%TYPE,
updateuser IN task.update_user%TYPE,
tasksecurity IN task.task_security%TYPE
)
IS
BEGIN
-- Modified to force 0 claimid and policynum to null.
-- A 0(zero) claimid or policynum does not make sense and is preventing
-- RI on the table.
INSERT INTO task
(claim_id, context_category, context_code, context_date,
context_key, context_num, context_text, create_date,
create_user, delete_flag, image_seq_num, notepad_flag,
policy_num, task_action_code, task_category_code,
task_date, task_priority_code, task_security,
task_seq_num, task_source_code, task_text, task_user,
update_date, update_seq_num, update_user
)
VALUES (decode(claimid, 0, null,claimid), contextcategory, contextcode, contextdate,
contextkey, contextnum, contexttext, SYSDATE,
createuser, 'N', imageseqnum, notepadflag,
decode(policynum, 0, null,policynum), taskactioncode, taskcategorycode,
taskdate, taskprioritycode, tasksecurity,
task_seq.NEXTVAL, tasksourcecode, tasktext, taskuser,
SYSDATE, 0, updateuser
);
END task_insert;
/********************************************
** UPDATE PROCEDURE FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
PROCEDURE task_update (
taskseqnum IN task.task_seq_num%TYPE,
taskdate IN task.task_date%TYPE,
tasktext IN task.task_text%TYPE,
taskuser IN task.task_user%TYPE,
taskprioritycode IN task.task_priority_code%TYPE,
taskcategorycode IN task.task_category_code%TYPE,
taskactioncode IN task.task_action_code%TYPE,
notepadflag IN task.notepad_flag%TYPE,
deleteflag IN task.delete_flag%TYPE,
claimid IN task.claim_id%TYPE,
policynum IN task.policy_num%TYPE,
imageseqnum IN task.image_seq_num%TYPE,
contextcode IN task.context_code%TYPE,
contextkey IN task.context_key%TYPE,
contextcategory IN task.context_category%TYPE,
contexttext IN task.context_text%TYPE,
contextdate IN task.context_date%TYPE,
contextnum IN task.context_num%TYPE,
updateuser IN task.update_user%TYPE,
updateseqnum IN task.update_seq_num%TYPE,
tasksecurity IN task.task_security%TYPE
)
IS
BEGIN
-- Modified to force 0 claimid and policynum to null.
-- A 0(zero) claimid or policynum does not make sense and is preventing
-- RI on the table.
UPDATE task
SET claim_id = decode(claimid, 0, null,claimid),
context_category = contextcategory,
context_code = contextcode,
context_date = contextdate,
context_key = contextkey,
context_num = contextnum,
context_text = contexttext,
delete_flag = deleteflag,
image_seq_num = imageseqnum,
notepad_flag = notepadflag,
policy_num = decode(policynum, 0, null,policynum),
task_action_code = taskactioncode,
task_category_code = taskcategorycode,
task_date = taskdate,
task_priority_code = taskprioritycode,
task_security = tasksecurity,
task_text = tasktext,
task_user = taskuser,
update_date = SYSDATE,
update_seq_num = updateseqnum + 1,
update_user = updateuser
WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum;
END task_update;
/********************************************
** DELETE PROCEDURE FOR TABLE "TASK"
** DATE: 19-JUL-06 15:10:03
*********************************************/
PROCEDURE task_delete (
taskseqnum IN task.task_seq_num%TYPE,
updateseqnum IN task.update_seq_num%TYPE,
updateuser IN task.update_user%TYPE
)
IS
BEGIN
UPDATE task
SET delete_flag = 'Y',
update_date = SYSDATE,
update_seq_num = updateseqnum + 1,
update_user = updateuser
WHERE task_seq_num = taskseqnum AND update_seq_num = updateseqnum;
END task_delete;
END pk82036_task;
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Operations and processes
- Business rules
- Database tables
- SQL catalog
- Procedures
- API reference
Sources¶
Business\SAIF.Business.Tasks\clsTask.vbBusiness\SAIF.Business.Tasks\clsTaskCollection.vb