1 PACKAGE BODY pay_functional_triggers_pkg AS
2 -- $Header: pypftapi.pkb 115.2 2002/12/11 15:13:31 exjones noship $
3 --
4 PROCEDURE lock_row(
5 p_row_id IN VARCHAR2,
6 p_trigger_id IN NUMBER,
7 p_area_id IN NUMBER,
8 p_event_id IN NUMBER
9 ) IS
10 --
11 CURSOR csr_functional_trigger IS
12 SELECT *
13 FROM pay_functional_triggers
14 WHERE rowid = p_row_id
15 FOR UPDATE OF
16 trigger_id NOWAIT;
17 --
18 trigger_record csr_functional_trigger%ROWTYPE;
19 --
20 BEGIN
21 OPEN csr_functional_trigger;
22 FETCH csr_functional_trigger INTO trigger_record;
23 IF csr_functional_trigger%NOTFOUND THEN
24 CLOSE csr_functional_trigger;
25 Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
26 Hr_Utility.Set_Message_Token(
27 'PROCEDURE',
28 'PAY_FUNCTIONAL_TRIGGERS_PKG.LOCK_ROW'
29 );
30 END IF;
31 CLOSE csr_functional_trigger;
32 --
33 IF ((trigger_record.trigger_id = p_trigger_id) OR
34 (trigger_record.trigger_id IS NULL AND p_trigger_id IS NULL))
35 AND ((trigger_record.event_id = p_event_id) OR
36 (trigger_record.event_id IS NULL AND p_event_id IS NULL))
37 AND ((trigger_record.area_id = p_area_id) OR
38 (trigger_record.area_id IS NULL AND p_area_id IS NULL))
39 THEN
40 RETURN;
41 ELSE
42 Hr_Utility.Set_Message(0,'FORM_RECORD_CHANGED');
43 Hr_Utility.Raise_Error;
44 END IF;
45 END lock_row;
46 --
47 PROCEDURE insert_row(
48 p_row_id IN out nocopy VARCHAR2,
49 p_trigger_id IN out nocopy NUMBER,
50 p_area_id IN NUMBER,
51 p_event_id IN NUMBER
52 ) IS
53 --
54 CURSOR csr_new_id IS
55 SELECT pay_functional_triggers_s.NEXTVAL
56 FROM dual;
57 --
58 CURSOR csr_trigger_rowid IS
59 SELECT rowid
60 FROM pay_functional_triggers
61 WHERE trigger_id = p_trigger_id;
62 --
63 BEGIN
64 --
65 OPEN csr_new_id;
66 FETCH csr_new_id INTO p_trigger_id;
67 CLOSE csr_new_id;
68 --
69 INSERT INTO pay_functional_triggers(
70 trigger_id,
71 area_id,
72 event_id
73 ) VALUES (
74 p_trigger_id,
75 p_area_id,
76 p_event_id
77 );
78 --
79 OPEN csr_trigger_rowid;
80 FETCH csr_trigger_rowid INTO p_row_id;
81 IF csr_trigger_rowid%NOTFOUND THEN
82 CLOSE csr_trigger_rowid;
83 Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
84 Hr_Utility.Set_Message_Token(
85 'PROCEDURE',
86 'PAY_FUNCTIONAL_TRIGGERS_PKG.INSERT_ROW'
87 );
88 END IF;
89 CLOSE csr_trigger_rowid;
90 --
91 END insert_row;
92 --
93 PROCEDURE update_row(
94 p_row_id IN VARCHAR2,
95 p_trigger_id IN NUMBER,
96 p_area_id IN NUMBER,
97 p_event_id IN NUMBER
98 ) IS
99 BEGIN
100 UPDATE pay_functional_triggers
101 SET trigger_id = p_trigger_id,
102 area_id = p_area_id,
103 event_id = p_event_id
104 WHERE rowid = p_row_id;
105 --
106 IF SQL%NOTFOUND THEN
107 Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
108 Hr_Utility.Set_Message_Token(
109 'PROCEDURE',
110 'PAY_FUNCTIONAL_TRIGGERS_PKG.UPDATE_ROW'
111 );
112 END IF;
113 END update_row;
114 --
115 PROCEDURE delete_row(
116 p_row_id IN VARCHAR2,
117 p_trigger_id IN NUMBER
118 ) IS
119 BEGIN
120 DELETE
121 FROM pay_functional_triggers
122 WHERE rowid = p_row_id;
123 --
124 IF SQL%NOTFOUND THEN
125 Hr_Utility.Set_Message(801,'HR_6153_ALL_PROCEDURE_FAIL');
126 Hr_Utility.Set_Message_Token(
127 'PROCEDURE',
128 'PAY_FUNCTIONAL_TRIGGERS_PKG.DELETE_ROW'
129 );
130 END IF;
131 END delete_row;
132 --
133 END pay_functional_triggers_pkg;