1 package body HR_ASSIGNMENT_SET_CRITERIA_PKG as
2 /* $Header: pyasc01t.pkb 115.0 99/07/17 05:42:46 porting ship $ */
3 --
4 procedure insert_row(p_rowid in out varchar2,
5 p_line_no in number,
6 p_assignment_set_id in number,
7 p_left_operand in varchar2,
8 p_operator in varchar2,
9 p_right_operand in varchar2,
10 p_logical in varchar2) is
11
12 --
13 begin
14 --
15 insert into HR_ASSIGNMENT_SET_CRITERIA
16 ( LINE_NO,
17 ASSIGNMENT_SET_ID,
18 LEFT_OPERAND,
19 OPERATOR,
20 RIGHT_OPERAND,
21 LOGICAL)
22 values
23 ( p_line_no,
24 p_assignment_set_id,
25 p_left_operand,
26 p_operator,
27 p_right_operand,
28 p_logical);
29 --
30 --
31 select rowid
32 into p_rowid
33 from HR_ASSIGNMENT_SET_CRITERIA
34 where ASSIGNMENT_SET_ID = p_assignment_set_id
35 and LINE_NO = p_line_no;
36 --
37 end insert_row;
38 --
39 procedure update_row(p_rowid in varchar2,
40 p_line_no in number,
41 p_assignment_set_id in number,
42 p_left_operand in varchar2,
43 p_operator in varchar2,
44 p_right_operand in varchar2,
45 p_logical in varchar2) is
46
47 begin
48 --
49 update HR_ASSIGNMENT_SET_CRITERIA
50 set LINE_NO = p_line_no,
51 ASSIGNMENT_SET_ID = p_assignment_set_id,
52 LEFT_OPERAND = p_left_operand,
53 OPERATOR = p_operator,
54 RIGHT_OPERAND = p_right_operand,
55 LOGICAL = p_logical
56 where ROWID = p_rowid;
57 --
58 end update_row;
59 --
60 procedure delete_row(p_rowid in varchar2) is
61 --
62 begin
63 --
64 delete from HR_ASSIGNMENT_SET_CRITERIA
65 where ROWID = p_rowid;
66 --
67 end delete_row;
68 --
69 procedure lock_row(p_rowid in varchar2,
70 p_line_no in number,
71 p_assignment_set_id in number,
72 p_left_operand in varchar2,
73 p_operator in varchar2,
74 p_right_operand in varchar2,
75 p_logical in varchar2) is
76
77 --
78 cursor C is select *
79 from HR_ASSIGNMENT_SET_CRITERIA
80 where rowid = p_rowid
81 for update of ASSIGNMENT_SET_ID nowait;
82 --
83 rowinfo C%rowtype;
84 --
85 begin
86 --
87 open C;
88 fetch C into rowinfo;
89 close C;
90 --
91 rowinfo.left_operand := rtrim(rowinfo.left_operand);
92 rowinfo.operator := rtrim(rowinfo.operator);
93 rowinfo.right_operand := rtrim(rowinfo.right_operand);
94 rowinfo.logical := rtrim(rowinfo.logical);
95 --
96 if ( ( (rowinfo.ASSIGNMENT_SET_ID = p_assignment_set_id)
97 or (rowinfo.ASSIGNMENT_SET_ID is null and p_assignment_set_id is null))
98 and ( (rowinfo.LEFT_OPERAND = p_left_operand)
99 or (rowinfo.LEFT_OPERAND is null and p_left_operand is null))
100 and ( (rowinfo.OPERATOR = p_operator)
101 or (rowinfo.OPERATOR is null and p_operator is null))
102 and ( (rowinfo.RIGHT_OPERAND = p_right_operand)
103 or (rowinfo.RIGHT_OPERAND is null and p_right_operand is null))
104 and ( (rowinfo.LOGICAL = p_logical)
105 or (rowinfo.LOGICAL is null and p_logical is null))) then
106 return;
107
108 else
109 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
110 app_exception.raise_exception;
111 end if;
112 end lock_row;
113 --
114 end HR_ASSIGNMENT_SET_CRITERIA_PKG;