DBA Data[Home] [Help]

PACKAGE BODY: APPS.HR_TEMPLATE_DATA_GROUPS_PKG

Source


1 package body HR_TEMPLATE_DATA_GROUPS_PKG as
2 /* $Header: hrtdglct.pkb 120.1 2011/04/28 10:59:42 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_DATA_GROUP_ID in NUMBER,
26   X_OBJECT_VERSION_NUMBER in NUMBER,
27   X_FORM_TEMPLATE_ID in NUMBER,
28   X_FORM_DATA_GROUP_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_DATA_GROUPS
36     where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_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_DATA_GROUPS',
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_DATA_GROUPS_B', PER_RIC_PKG.column_info_tbl(
52                                                 PER_RIC_PKG.col_info_rec('FORM_DATA_GROUP_ID',NULL,X_FORM_DATA_GROUP_ID,NULL)))
53 							),
54     p_ref_type        	=>	'INS');
55 
56 END;
57 --
58 -- Code Ends Here.
59 --
60   insert into HR_TEMPLATE_DATA_GROUPS (
61     TEMPLATE_DATA_GROUP_ID,
62     OBJECT_VERSION_NUMBER,
63     FORM_TEMPLATE_ID,
64     FORM_DATA_GROUP_ID,
65     LAST_UPDATE_DATE,
66     LAST_UPDATED_BY,
67     LAST_UPDATE_LOGIN,
68     CREATED_BY,
69     CREATION_DATE
70   ) values(
71     X_TEMPLATE_DATA_GROUP_ID,
72     X_OBJECT_VERSION_NUMBER,
73     X_FORM_TEMPLATE_ID,
74     X_FORM_DATA_GROUP_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_DATA_GROUP_ID in NUMBER,
93   X_OBJECT_VERSION_NUMBER in NUMBER,
94   X_FORM_TEMPLATE_ID in NUMBER,
95   X_FORM_DATA_GROUP_ID in NUMBER
96 ) is
97   cursor c1 is select
98       OBJECT_VERSION_NUMBER,
99       FORM_TEMPLATE_ID,
100       FORM_DATA_GROUP_ID
101     from HR_TEMPLATE_DATA_GROUPS
102     where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID
103     for update of TEMPLATE_DATA_GROUP_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_DATA_GROUP_ID = X_FORM_DATA_GROUP_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_DATA_GROUP_ID in NUMBER,
121   X_OBJECT_VERSION_NUMBER in NUMBER,
122   X_FORM_TEMPLATE_ID in NUMBER,
123   X_FORM_DATA_GROUP_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_DATA_GROUPS set
130     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131     FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID,
132     FORM_DATA_GROUP_ID = X_FORM_DATA_GROUP_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_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_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_DATA_GROUP_ID in NUMBER
145 ) is
146 begin
147   delete from HR_TEMPLATE_DATA_GROUPS
148   where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID;
149 
150   if (sql%notfound) then
151     raise no_data_found;
152   end if;
153 
154 end DELETE_ROW;
155 
156 procedure LOAD_ROW (
157   X_APPLICATION_SHORT_NAME in VARCHAR2,
158   X_FORM_NAME in VARCHAR2,
159   X_DATA_GROUP_NAME in VARCHAR2,
160   X_TEMPLATE_NAME in VARCHAR2,
161   X_TERRITORY_SHORT_NAME in VARCHAR2,
162   X_OWNER in VARCHAR2,
163   X_OBJECT_VERSION_NUMBER in VARCHAR2) is
164   X_ROWID ROWID;
165   X_CREATION_DATE DATE;
166   X_CREATED_BY NUMBER;
167   X_LAST_UPDATE_DATE DATE;
168   X_LAST_UPDATED_BY NUMBER;
169   X_LAST_UPDATE_LOGIN NUMBER;
170   X_FORM_ID NUMBER;
171   X_APPLICATION_ID NUMBER;
172   X_FORM_DATA_GROUP_ID NUMBER;
173   X_FORM_TEMPLATE_ID NUMBER;
174   X_TEMPLATE_DATA_GROUP_ID NUMBER;
175 begin
176 
177   OWNER_TO_WHO (
178     X_OWNER,
179     X_CREATION_DATE,
180     X_CREATED_BY,
181     X_LAST_UPDATE_DATE,
182     X_LAST_UPDATED_BY,
183     X_LAST_UPDATE_LOGIN
184   );
185 
186  select application_id
187  into x_application_id
188  from fnd_application
189  where application_short_name = x_application_short_name;
190 
191  select form_id
192  into x_form_id
193  from fnd_form
194  where form_name = x_form_name
195  and application_id = x_application_id;
196 
197  select form_data_group_id
198  into x_form_data_group_id
199  from hr_form_data_groups_b
200  where data_group_name =  x_data_group_name
201  and application_id = x_application_id
202  and form_id = x_form_id;
203 
204  select form_template_id
205  into x_form_template_id
206  from hr_form_templates_b
207  where (  (legislation_code is null and x_territory_short_name is null)
208        or (legislation_code = x_territory_short_name) )
209  and template_name =  x_template_name
210  and application_id = x_application_id
211  and form_id = x_form_id;
212 
213  begin
214    select template_data_group_id
215    into x_template_data_group_id
216    from hr_template_data_groups
217    where form_template_id = x_form_template_id
218    and form_data_group_id = x_form_data_group_id;
219  exception
220    when no_data_found then
221      select hr_template_data_groups_s.nextval
222      into x_template_data_group_id
223      from dual;
224  end;
225 
226  begin
227    UPDATE_ROW (
228      X_TEMPLATE_DATA_GROUP_ID,
229      to_number(X_OBJECT_VERSION_NUMBER),
230      X_FORM_TEMPLATE_ID,
231      X_FORM_DATA_GROUP_ID,
232      X_LAST_UPDATE_DATE,
233      X_LAST_UPDATED_BY,
234      X_LAST_UPDATE_LOGIN
235    );
236  exception
237    when no_data_found then
238      INSERT_ROW (
239       X_ROWID,
240       X_TEMPLATE_DATA_GROUP_ID,
241       to_number(X_OBJECT_VERSION_NUMBER),
242       X_FORM_TEMPLATE_ID,
243       X_FORM_DATA_GROUP_ID,
244       X_CREATION_DATE,
245       X_CREATED_BY,
246       X_LAST_UPDATE_DATE,
247       X_LAST_UPDATED_BY,
248       X_LAST_UPDATE_LOGIN );
249  end;
250 end LOAD_ROW;
251 end HR_TEMPLATE_DATA_GROUPS_PKG;