DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_RISK_EVENTS_PKG

Source


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