DBA Data[Home] [Help]

PACKAGE BODY: APPS.OKC_BUS_DOC_EVENTS_PVT

Source


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