[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;