DBA Data[Home] [Help]

PACKAGE BODY: APPS.HXT_HOLIDAY_DAYS_PKG

Source


1 package body HXT_HOLIDAY_DAYS_PKG as
2 /* $Header: hxthddml.pkb 120.1 2005/10/07 02:29:49 nissharm noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out nocopy VARCHAR2,
5   X_ID in NUMBER,
6   X_HCL_ID in NUMBER,
7   X_HOLIDAY_DATE in DATE,
8   X_HOURS in NUMBER,
9   X_NAME in VARCHAR2,
10   X_CREATION_DATE in DATE,
11   X_CREATED_BY in NUMBER,
12   X_LAST_UPDATE_DATE in DATE,
13   X_LAST_UPDATED_BY in NUMBER,
14   X_LAST_UPDATE_LOGIN in NUMBER
15 ) is
16   cursor C is select ROWID from HXT_HOLIDAY_DAYS
17     where ID = X_ID
18     ;
19 begin
20   insert into HXT_HOLIDAY_DAYS (
21     ID,
22     HCL_ID,
23     HOLIDAY_DATE,
24     HOURS,
25     NAME,
26     CREATION_DATE,
27     CREATED_BY,
28     LAST_UPDATE_DATE,
29     LAST_UPDATED_BY,
30     LAST_UPDATE_LOGIN
31   ) values (
32     X_ID,
33     X_HCL_ID,
34     X_HOLIDAY_DATE,
35     X_HOURS,
36     X_NAME,
37     X_CREATION_DATE,
38     X_CREATED_BY,
39     X_LAST_UPDATE_DATE,
40     X_LAST_UPDATED_BY,
41     X_LAST_UPDATE_LOGIN
42   );
43 
44   insert into HXT_HOLIDAY_DAYS_TL (
45     ID,
46     NAME,
47     LAST_UPDATE_DATE,
48     LAST_UPDATED_BY,
49     LAST_UPDATE_LOGIN,
50     CREATED_BY,
51     CREATION_DATE,
52     LANGUAGE,
53     SOURCE_LANG
54   ) select
55     X_ID,
56     X_NAME,
57     X_LAST_UPDATE_DATE,
58     X_LAST_UPDATED_BY,
59     X_LAST_UPDATE_LOGIN,
60     X_CREATED_BY,
61     X_CREATION_DATE,
62     L.LANGUAGE_CODE,
63     userenv('LANG')
64   from FND_LANGUAGES L
65   where L.INSTALLED_FLAG in ('I', 'B')
66   and not exists
67     (select NULL
68     from HXT_HOLIDAY_DAYS_TL T
69     where T.ID = X_ID
70     and T.LANGUAGE = L.LANGUAGE_CODE);
71 
72   open c;
73   fetch c into X_ROWID;
74   if (c%notfound) then
75     close c;
76     raise no_data_found;
77   end if;
78   close c;
79 
80 end INSERT_ROW;
81 
82 procedure LOCK_ROW (
83   X_ID in NUMBER,
84   X_HCL_ID in NUMBER,
85   X_HOLIDAY_DATE in DATE,
86   X_HOURS in NUMBER,
87   X_NAME in VARCHAR2
88 ) is
89   cursor c is select
90       HCL_ID,
91       HOLIDAY_DATE,
92       HOURS
93     from HXT_HOLIDAY_DAYS
94     where ID = X_ID
95     for update of ID nowait;
96   recinfo c%rowtype;
97 
98   cursor c1 is select
99       NAME,
100       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
101     from HXT_HOLIDAY_DAYS_TL
102     where ID = X_ID
103     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
104     for update of ID nowait;
105 begin
106   open c;
107   fetch c into recinfo;
108   if (c%notfound) then
109     close c;
110     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
111     app_exception.raise_exception;
112   end if;
113   close c;
114   if (    (recinfo.HCL_ID = X_HCL_ID)
115       AND (recinfo.HOLIDAY_DATE = X_HOLIDAY_DATE)
116       AND ((recinfo.HOURS = X_HOURS)
117            OR ((recinfo.HOURS is null) AND (X_HOURS is null)))
118   ) then
119     null;
120   else
121     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
122     app_exception.raise_exception;
123   end if;
124 
125   for tlinfo in c1 loop
126     if (tlinfo.BASELANG = 'Y') then
127       if (    (tlinfo.NAME = X_NAME)
128       ) then
129         null;
130       else
131         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
132         app_exception.raise_exception;
133       end if;
134     end if;
135   end loop;
136   return;
137 end LOCK_ROW;
138 
139 procedure UPDATE_ROW (
140   X_ID in NUMBER,
141   X_HCL_ID in NUMBER,
142   X_HOLIDAY_DATE in DATE,
143   X_HOURS in NUMBER,
144   X_NAME in VARCHAR2,
145   X_LAST_UPDATE_DATE in DATE,
146   X_LAST_UPDATED_BY in NUMBER,
147   X_LAST_UPDATE_LOGIN in NUMBER
148 ) is
149 begin
150   update HXT_HOLIDAY_DAYS set
151     HCL_ID = X_HCL_ID,
152     HOLIDAY_DATE = X_HOLIDAY_DATE,
153     HOURS = X_HOURS,
154     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
155     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
156     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
157   where ID = X_ID;
158 
159   if (sql%notfound) then
160     raise no_data_found;
161   end if;
162 
163   update HXT_HOLIDAY_DAYS_TL set
164     NAME = X_NAME,
165     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
166     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
167     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
168     SOURCE_LANG = userenv('LANG')
169   where ID = X_ID
170   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
171 
172   if (sql%notfound) then
173     raise no_data_found;
174   end if;
175 end UPDATE_ROW;
176 
177 procedure DELETE_ROW (
178   X_ID in NUMBER
179 ) is
180 begin
181   delete from HXT_HOLIDAY_DAYS_TL
182   where ID = X_ID;
183 
184   if (sql%notfound) then
185     raise no_data_found;
186   end if;
187 
188   delete from HXT_HOLIDAY_DAYS
189   where ID = X_ID;
190 
191   if (sql%notfound) then
192     raise no_data_found;
193   end if;
194 end DELETE_ROW;
195 
196 procedure ADD_LANGUAGE
197 is
198 begin
199   delete from HXT_HOLIDAY_DAYS_TL T
200   where not exists
201     (select NULL
202     from HXT_HOLIDAY_DAYS B
203     where B.ID = T.ID
204     );
205 
206   update HXT_HOLIDAY_DAYS_TL T set (
207       NAME
208     ) = (select
209       B.NAME
210     from HXT_HOLIDAY_DAYS_TL B
211     where B.ID = T.ID
212     and B.LANGUAGE = T.SOURCE_LANG)
213   where (
214       T.ID,
215       T.LANGUAGE
216   ) in (select
217       SUBT.ID,
218       SUBT.LANGUAGE
219     from HXT_HOLIDAY_DAYS_TL SUBB, HXT_HOLIDAY_DAYS_TL SUBT
220     where SUBB.ID = SUBT.ID
221     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
222     and (SUBB.NAME <> SUBT.NAME
223   ));
224 
225   insert into HXT_HOLIDAY_DAYS_TL (
226     ID,
227     NAME,
228     LAST_UPDATE_DATE,
229     LAST_UPDATED_BY,
230     LAST_UPDATE_LOGIN,
231     CREATED_BY,
232     CREATION_DATE,
233     LANGUAGE,
234     SOURCE_LANG
235   ) select
236     B.ID,
237     B.NAME,
238     B.LAST_UPDATE_DATE,
239     B.LAST_UPDATED_BY,
240     B.LAST_UPDATE_LOGIN,
241     B.CREATED_BY,
242     B.CREATION_DATE,
243     L.LANGUAGE_CODE,
244     B.SOURCE_LANG
245   from HXT_HOLIDAY_DAYS_TL B, FND_LANGUAGES L
246   where L.INSTALLED_FLAG in ('I', 'B')
247   and B.LANGUAGE = userenv('LANG')
248   and not exists
249     (select NULL
250     from HXT_HOLIDAY_DAYS_TL T
251     where T.ID = B.ID
252     and T.LANGUAGE = L.LANGUAGE_CODE);
253 end ADD_LANGUAGE;
254 
255 end HXT_HOLIDAY_DAYS_PKG;