DBA Data[Home] [Help]

PACKAGE BODY: APPS.PQH_RAP_SHD

Source


1 Package Body pqh_rap_shd as
2 /* $Header: pqraprhi.pkb 120.0 2005/05/29 02:24 appldev noship $ */
3 --
4 -- ----------------------------------------------------------------------------
5 -- |                     Private Global Definitions                           |
6 -- ----------------------------------------------------------------------------
7 --
8 g_package   constant varchar2(33) := '  pqh_rap_shd.';  -- Global package name
9 --
10 -- ----------------------------------------------------------------------------
11 -- |---------------------------< constraint_error >---------------------------|
12 -- ----------------------------------------------------------------------------
13 Procedure constraint_error
14   (p_constraint_name in all_constraints.constraint_name%TYPE
15   ) Is
16 --
17   l_proc   constant varchar2(72) := g_package||'constraint_error';
18 --
19 Begin
20 
21   --
22   If (p_constraint_name = 'PQH_RANK_PROCESS_APPROVAL_PK') Then
23     fnd_message.set_name('PAY', 'HR_6153_ALL_PROCEDURE_FAIL');
24     fnd_message.set_token('PROCEDURE', l_proc);
25     fnd_message.set_token('STEP','5');
26     fnd_message.raise_error;
27   Else
28     fnd_message.set_name('PAY', 'HR_7877_API_INVALID_CONSTRAINT');
29     fnd_message.set_token('PROCEDURE', l_proc);
30     fnd_message.set_token('CONSTRAINT_NAME', p_constraint_name);
31     fnd_message.raise_error;
32   End If;
33   --
34 End constraint_error;
35 --
36 -- ----------------------------------------------------------------------------
37 -- |-----------------------------< api_updating >-----------------------------|
38 -- ----------------------------------------------------------------------------
39 Function api_updating
40   (p_rank_process_approval_id             in     number
41   ,p_object_version_number                in     number
42   )
43   Return Boolean Is
44   --
45   --
46   -- Cursor selects the 'current' row from the HR Schema
47   --
48   Cursor C_Sel1 is
49     select
50        rank_process_approval_id
51       ,rank_process_id
52       ,approval_date
53       ,supervisor_id
54       ,system_rank
55       ,population_count
56       ,proposed_rank
57       ,object_version_number
58     from        pqh_rank_process_approvals
59     where       rank_process_approval_id = p_rank_process_approval_id;
60   --
61   l_fct_ret     boolean;
62   --
63 Begin
64   --
65   If (p_rank_process_approval_id is null and
66       p_object_version_number is null
67      ) Then
68     --
69     -- One of the primary key arguments is null therefore we must
70     -- set the returning function value to false
71     --
72     l_fct_ret := false;
73   Else
74     If (p_rank_process_approval_id
75         = pqh_rap_shd.g_old_rec.rank_process_approval_id and
76         p_object_version_number
77         = pqh_rap_shd.g_old_rec.object_version_number
78        ) Then
79       --
80       -- The g_old_rec is current therefore we must
81       -- set the returning function to true
82       --
83       l_fct_ret := true;
84     Else
85       --
86       -- Select the current row into g_old_rec
87       --
88       Open C_Sel1;
89       Fetch C_Sel1 Into pqh_rap_shd.g_old_rec;
90       If C_Sel1%notfound Then
91         Close C_Sel1;
92         --
93         -- The primary key is invalid therefore we must error
94         --
95         fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
96         fnd_message.raise_error;
97       End If;
98       Close C_Sel1;
99       If (p_object_version_number
100           <> pqh_rap_shd.g_old_rec.object_version_number) Then
101         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
102         fnd_message.raise_error;
103       End If;
104       l_fct_ret := true;
105     End If;
106   End If;
107   Return (l_fct_ret);
108 --
109 End api_updating;
110 --
111 -- ----------------------------------------------------------------------------
112 -- |---------------------------------< lck >----------------------------------|
113 -- ----------------------------------------------------------------------------
114 Procedure lck
115   (p_rank_process_approval_id             in     number
116   ,p_object_version_number                in     number
117   ) is
118 --
119 -- Cursor selects the 'current' row from the HR Schema
120 --
121   Cursor C_Sel1 is
122     select
123        rank_process_approval_id
124       ,rank_process_id
125       ,approval_date
126       ,supervisor_id
127       ,system_rank
128       ,population_count
129       ,proposed_rank
130       ,object_version_number
131     from        pqh_rank_process_approvals
132     where       rank_process_approval_id = p_rank_process_approval_id
133     for update nowait;
134 --
135   l_proc constant varchar2(72) := g_package||'lck';
136 --
137 Begin
138 
139   hr_utility.set_location('Entering:'||l_proc, 5);
140   --
141   hr_api.mandatory_arg_error
142     (p_api_name           => l_proc
143     ,p_argument           => 'RANK_PROCESS_APPROVAL_ID'
144     ,p_argument_value     => p_rank_process_approval_id
145     );
146   hr_utility.set_location(l_proc,6);
147   hr_api.mandatory_arg_error
148     (p_api_name           => l_proc
149     ,p_argument           => 'OBJECT_VERSION_NUMBER'
150     ,p_argument_value     => p_object_version_number
151     );
152   --
153   Open  C_Sel1;
154   Fetch C_Sel1 Into pqh_rap_shd.g_old_rec;
155   If C_Sel1%notfound then
156     Close C_Sel1;
157     --
158     -- The primary key is invalid therefore we must error
159     --
160     fnd_message.set_name('PAY', 'HR_7220_INVALID_PRIMARY_KEY');
161     fnd_message.raise_error;
162   End If;
163   Close C_Sel1;
164   If (p_object_version_number
165       <> pqh_rap_shd.g_old_rec.object_version_number) Then
166         fnd_message.set_name('PAY', 'HR_7155_OBJECT_INVALID');
167         fnd_message.raise_error;
168   End If;
169   --
170   hr_utility.set_location(' Leaving:'||l_proc, 10);
171   --
172   -- We need to trap the ORA LOCK exception
173   --
174 Exception
175   When HR_Api.Object_Locked then
176     --
177     -- The object is locked therefore we need to supply a meaningful
178     -- error message.
179     --
180     fnd_message.set_name('PAY', 'HR_7165_OBJECT_LOCKED');
181     fnd_message.set_token('TABLE_NAME', 'pqh_rank_process_approvals');
182     fnd_message.raise_error;
183 End lck;
184 --
185 -- ----------------------------------------------------------------------------
186 -- |-----------------------------< convert_args >-----------------------------|
187 -- ----------------------------------------------------------------------------
188 Function convert_args
189   (p_rank_process_approval_id       in number
190   ,p_rank_process_id                in number
191   ,p_approval_date                  in date
192   ,p_supervisor_id                  in number
193   ,p_system_rank                    in number
194   ,p_population_count               in number
195   ,p_proposed_rank                  in number
196   ,p_object_version_number          in number
197   )
198   Return g_rec_type is
199 --
200   l_rec   g_rec_type;
201 --
202 Begin
203   --
204   -- Convert arguments into local l_rec structure.
205   --
206   l_rec.rank_process_approval_id         := p_rank_process_approval_id;
207   l_rec.rank_process_id                  := p_rank_process_id;
208   l_rec.approval_date                    := p_approval_date;
209   l_rec.supervisor_id                    := p_supervisor_id;
210   l_rec.system_rank                      := p_system_rank;
211   l_rec.population_count                 := p_population_count;
212   l_rec.proposed_rank                    := p_proposed_rank;
213   l_rec.object_version_number            := p_object_version_number;
214   --
215   -- Return the plsql record structure.
216   --
217   Return(l_rec);
218 --
219 End convert_args;
220 --
221 end pqh_rap_shd;