DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_ASSIGNMENT_SET_CRITERIA_PKG

Source


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;