DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_TEMPLATE_WINDOWS_PKG

Source


1 package body HR_TEMPLATE_WINDOWS_PKG as
2 /* $Header: hrtwulct.pkb 120.1 2011/04/28 10:31:14 sidsaxen ship $ */
3 procedure OWNER_TO_WHO (
4   X_OWNER in VARCHAR2,
5   X_CREATION_DATE out nocopy DATE,
6   X_CREATED_BY out nocopy NUMBER,
7   X_LAST_UPDATE_DATE out nocopy DATE,
8   X_LAST_UPDATED_BY out nocopy NUMBER,
9   X_LAST_UPDATE_LOGIN out nocopy NUMBER
10 ) is
11 begin
12   if X_OWNER = 'SEED' then
13     X_CREATED_BY := 1;
14     X_LAST_UPDATED_BY := 1;
15   else
16     X_CREATED_BY := 0;
17     X_LAST_UPDATED_BY := 0;
18   end if;
19   X_CREATION_DATE := sysdate;
20   X_LAST_UPDATE_DATE := sysdate;
21   X_LAST_UPDATE_LOGIN := 0;
22 end OWNER_TO_WHO;
23 procedure INSERT_ROW (
24   X_ROWID in out nocopy VARCHAR2,
25   X_TEMPLATE_WINDOW_ID in NUMBER,
26   X_OBJECT_VERSION_NUMBER in NUMBER,
27   X_FORM_TEMPLATE_ID in NUMBER,
28   X_FORM_WINDOW_ID in NUMBER,
29   X_CREATION_DATE in DATE,
30   X_CREATED_BY in NUMBER,
31   X_LAST_UPDATE_DATE in DATE,
32   X_LAST_UPDATED_BY in NUMBER,
33   X_LAST_UPDATE_LOGIN in NUMBER
34 ) is
35   cursor C is select ROWID from HR_TEMPLATE_WINDOWS_B
36     where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID
37     ;
38 begin
39 
40 --
41 -- Added the following code as a part of Zero Downtime Patching Project.
42 -- Code Starts Here.
43 --
44 
45 BEGIN
46 	PER_RIC_PKG.chk_integrity (
47     p_entity_name		=>	'HR_TEMPLATE_WINDOWS_B',
48     p_ref_entity_info   => PER_RIC_PKG.ref_entity_tbl(
49 							PER_RIC_PKG.ref_info_rec('HR_FORM_TEMPLATES_B', PER_RIC_PKG.column_info_tbl(
50                                                 PER_RIC_PKG.col_info_rec('FORM_TEMPLATE_ID',NULL,X_FORM_TEMPLATE_ID,NULL))),
51 							PER_RIC_PKG.ref_info_rec('HR_FORM_WINDOWS_B', PER_RIC_PKG.column_info_tbl(
52                                                 PER_RIC_PKG.col_info_rec('FORM_WINDOW_ID',NULL,X_FORM_WINDOW_ID,NULL)))
53 							),
54     p_ref_type        	=>	'INS');
55 
56 END;
57 --
58 -- Code Ends Here.
59 --
60   insert into HR_TEMPLATE_WINDOWS_B (
61     TEMPLATE_WINDOW_ID,
62     OBJECT_VERSION_NUMBER,
63     FORM_TEMPLATE_ID,
64     FORM_WINDOW_ID,
65     LAST_UPDATE_DATE,
66     LAST_UPDATED_BY,
67     LAST_UPDATE_LOGIN,
68     CREATED_BY,
69     CREATION_DATE
70   ) values(
71     X_TEMPLATE_WINDOW_ID,
72     X_OBJECT_VERSION_NUMBER,
73     X_FORM_TEMPLATE_ID,
74     X_FORM_WINDOW_ID,
75     X_LAST_UPDATE_DATE,
76     X_LAST_UPDATED_BY,
77     X_LAST_UPDATE_LOGIN,
78     X_CREATED_BY,
79     X_CREATION_DATE);
80 
81   open c;
82   fetch c into X_ROWID;
83   if (c%notfound) then
84     close c;
85     raise no_data_found;
86   end if;
87   close c;
88 
89 end INSERT_ROW;
90 
91 procedure LOCK_ROW (
92   X_TEMPLATE_WINDOW_ID in NUMBER,
93   X_OBJECT_VERSION_NUMBER in NUMBER,
94   X_FORM_TEMPLATE_ID in NUMBER,
95   X_FORM_WINDOW_ID in NUMBER
96 ) is
97   cursor c1 is select
98       OBJECT_VERSION_NUMBER,
99       FORM_TEMPLATE_ID,
100       FORM_WINDOW_ID
101     from HR_TEMPLATE_WINDOWS_B
102     where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID
103     for update of TEMPLATE_WINDOW_ID nowait;
104 begin
105   for tlinfo in c1 loop
106           if (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
107           AND (tlinfo.FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID)
108           AND (tlinfo.FORM_WINDOW_ID = X_FORM_WINDOW_ID)
109        then
110         null;
111       else
112         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
113         app_exception.raise_exception;
114       end if;
115   end loop;
116   return;
117 end LOCK_ROW;
118 
119 procedure UPDATE_ROW (
120   X_TEMPLATE_WINDOW_ID in NUMBER,
121   X_OBJECT_VERSION_NUMBER in NUMBER,
122   X_FORM_TEMPLATE_ID in NUMBER,
123   X_FORM_WINDOW_ID in NUMBER,
124   X_LAST_UPDATE_DATE in DATE,
125   X_LAST_UPDATED_BY in NUMBER,
126   X_LAST_UPDATE_LOGIN in NUMBER
127 ) is
128 begin
129   update HR_TEMPLATE_WINDOWS_B set
130     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131     FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID,
132     FORM_WINDOW_ID = X_FORM_WINDOW_ID,
133     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
134     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
135     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
136   where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID;
137 
138   if (sql%notfound) then
139     raise no_data_found;
140   end if;
141 end UPDATE_ROW;
142 
143 procedure DELETE_ROW (
144   X_TEMPLATE_WINDOW_ID in NUMBER
145 ) is
146 begin
147 
148 --
149 -- Added the following code as a part of Zero Downtime Patching Project.
150 -- Code Starts Here.
151 --
152 
153 BEGIN
154 	PER_RIC_PKG.chk_integrity (
155     p_entity_name		=>	'HR_TEMPLATE_WINDOWS_B',
156     p_ref_entity_info   => PER_RIC_PKG.ref_entity_tbl(
157 							PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_CANVASES_B', PER_RIC_PKG.column_info_tbl(
158                                                 PER_RIC_PKG.col_info_rec('TEMPLATE_WINDOW_ID',NULL,X_TEMPLATE_WINDOW_ID,NULL))),
159 							PER_RIC_PKG.ref_info_rec('HR_WINDOW_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
160                                                 PER_RIC_PKG.col_info_rec('TEMPLATE_WINDOW_ID',NULL,X_TEMPLATE_WINDOW_ID,NULL)))
161 							),
162     p_ref_type        	=>	'DEL');
163 
164 END;
165 --
166 -- Code Ends Here.
167 --
168   delete from HR_TEMPLATE_WINDOWS_B
169   where TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID;
170 
171   if (sql%notfound) then
172     raise no_data_found;
173   end if;
174 
175 end DELETE_ROW;
176 
177 procedure LOAD_ROW (
178   X_APPLICATION_SHORT_NAME in VARCHAR2,
179   X_FORM_NAME in VARCHAR2,
180   X_WINDOW_NAME in VARCHAR2,
181   X_TEMPLATE_NAME in VARCHAR2,
182   X_TERRITORY_SHORT_NAME in VARCHAR2,
183   X_OWNER in VARCHAR2,
184   X_OBJECT_VERSION_NUMBER in VARCHAR2) is
185   X_ROWID ROWID;
186   X_CREATION_DATE DATE;
187   X_CREATED_BY NUMBER;
188   X_LAST_UPDATE_DATE DATE;
189   X_LAST_UPDATED_BY NUMBER;
190   X_LAST_UPDATE_LOGIN NUMBER;
191   X_FORM_ID NUMBER;
192   X_APPLICATION_ID NUMBER;
193   X_FORM_WINDOW_ID NUMBER;
194   X_TEMPLATE_WINDOW_ID NUMBER;
195   X_FORM_TEMPLATE_ID NUMBER;
196 begin
197 
198   OWNER_TO_WHO (
199     X_OWNER,
200     X_CREATION_DATE,
201     X_CREATED_BY,
202     X_LAST_UPDATE_DATE,
203     X_LAST_UPDATED_BY,
204     X_LAST_UPDATE_LOGIN
205   );
206 
207  select application_id
208  into x_application_id
209  from fnd_application
210  where application_short_name = x_application_short_name;
211 
212  select form_id
213  into x_form_id
214  from fnd_form
215  where form_name = x_form_name
216  and application_id = x_application_id;
217 
218  select form_window_id
219  into x_form_window_id
220  from hr_form_windows_b
221  where window_name =  x_window_name
222  and application_id = x_application_id
223  and form_id = x_form_id;
224 
225  select form_template_id
226  into x_form_template_id
227  from hr_form_templates_b
228  where template_name =  x_template_name
229  and (  (legislation_code is null and x_territory_short_name is null)
230      or (legislation_code = x_territory_short_name) )
231  and application_id = x_application_id
232  and form_id = x_form_id;
233 
234  begin
235    select template_window_id
236    into x_template_window_id
237    from hr_template_windows_b
238    where form_template_id = x_form_template_id
239    and form_window_id = x_form_window_id;
240  exception
241    when no_data_found then
242      select hr_template_windows_b_s.nextval
243      into x_template_window_id
244      from dual;
245  end;
246 
247  begin
248 
249    UPDATE_ROW (
250      X_TEMPLATE_WINDOW_ID,
251      to_number(X_OBJECT_VERSION_NUMBER),
252      X_FORM_TEMPLATE_ID,
253      X_FORM_WINDOW_ID,
254      X_LAST_UPDATE_DATE,
255      X_LAST_UPDATED_BY,
256      X_LAST_UPDATE_LOGIN);
257  exception
258    when no_data_found then
259      INSERT_ROW (
260        X_ROWID,
261        X_TEMPLATE_WINDOW_ID,
262        to_number(X_OBJECT_VERSION_NUMBER),
263        X_FORM_TEMPLATE_ID,
264        X_FORM_WINDOW_ID,
265        X_CREATION_DATE,
266        X_CREATED_BY,
267        X_LAST_UPDATE_DATE,
268        X_LAST_UPDATED_BY,
269        X_LAST_UPDATE_LOGIN);
270 
271  end;
272 end LOAD_ROW;
273 end HR_TEMPLATE_WINDOWS_PKG;