[Home] [Help]
PACKAGE BODY: APPS.BEN_STARTUP_CM_TYP_PKG
Source
1 package body BEN_STARTUP_CM_TYP_PKG as
2 /* $Header: besct01t.pkb 115.3 2002/12/16 12:11:17 vsethi noship $ */
3 procedure OWNER_TO_WHO (
4 P_OWNER in VARCHAR2,
5 P_CREATION_DATE out nocopy DATE,
6 P_CREATED_BY out nocopy NUMBER,
7 P_LAST_UPDATE_DATE out nocopy DATE,
8 P_LAST_UPDATED_BY out nocopy NUMBER,
9 P_LAST_UPDATE_LOGIN out nocopy NUMBER
10 ) is
11 begin
12 if P_OWNER = 'SEED' then
13 P_CREATED_BY := 1;
14 P_LAST_UPDATED_BY := 1;
15 else
16 P_CREATED_BY := 0;
17 P_LAST_UPDATED_BY := 0;
18 end if;
19 P_CREATION_DATE := sysdate;
20 P_LAST_UPDATE_DATE := sysdate;
21 P_LAST_UPDATE_LOGIN := 0;
22 end OWNER_TO_WHO;
23
24 procedure INSERT_ROW (
25 P_ROWID in out nocopy VARCHAR2,
26 P_SHRT_NAME in VARCHAR2,
27 P_WHNVR_TRGRD_FLAG in VARCHAR2,
28 P_PC_KIT_CD in VARCHAR2,
29 P_TRK_MLG_FLAG in VARCHAR2,
30 P_TO_BE_SENT_DT_CD in VARCHAR2,
31 P_INSPN_RQD_FLAG in VARCHAR2,
32 P_NAME in VARCHAR2,
33 P_CREATION_DATE in DATE,
34 P_CREATED_BY in NUMBER,
35 P_LAST_UPDATE_DATE in DATE,
36 P_LAST_UPDATED_BY in NUMBER,
37 P_LAST_UPDATE_LOGIN in NUMBER
38 ) is
39 cursor C is select ROWID from BEN_STARTUP_CM_TYP
40 where SHRT_NAME = P_SHRT_NAME
41 ;
42 begin
43 insert into BEN_STARTUP_CM_TYP (
44 WHNVR_TRGRD_FLAG,
45 SHRT_NAME,
46 NAME,
47 PC_KIT_CD,
48 TRK_MLG_FLAG,
49 TO_BE_SENT_DT_CD,
50 INSPN_RQD_FLAG,
51 CREATION_DATE,
52 CREATED_BY,
53 LAST_UPDATE_DATE,
54 LAST_UPDATED_BY,
55 LAST_UPDATE_LOGIN
56 ) values (
57 P_WHNVR_TRGRD_FLAG,
58 P_SHRT_NAME,
59 P_NAME,
60 P_PC_KIT_CD,
61 P_TRK_MLG_FLAG,
62 P_TO_BE_SENT_DT_CD,
63 P_INSPN_RQD_FLAG,
64 P_CREATION_DATE,
65 P_CREATED_BY,
66 P_LAST_UPDATE_DATE,
67 P_LAST_UPDATED_BY,
68 P_LAST_UPDATE_LOGIN
69 );
70
71 insert into BEN_STARTUP_CM_TYP_TL (
72 CREATED_BY,
73 CREATION_DATE,
74 LAST_UPDATE_DATE,
75 LAST_UPDATED_BY,
76 LAST_UPDATE_LOGIN,
77 SHRT_NAME,
78 NAME,
79 LANGUAGE,
80 SOURCE_LANG
81 ) select
82 P_CREATED_BY,
83 P_CREATION_DATE,
84 P_LAST_UPDATE_DATE,
85 P_LAST_UPDATED_BY,
86 P_LAST_UPDATE_LOGIN,
87 P_SHRT_NAME,
88 P_NAME,
89 L.LANGUAGE_CODE,
90 userenv('LANG')
91 from FND_LANGUAGES L
92 where L.INSTALLED_FLAG in ('I', 'B')
93 and not exists
94 (select NULL
95 from BEN_STARTUP_CM_TYP_TL T
96 where T.SHRT_NAME = P_SHRT_NAME
97 and T.LANGUAGE = L.LANGUAGE_CODE);
98
99 open c;
100 fetch c into P_ROWID;
101 if (c%notfound) then
102 close c;
103 raise no_data_found;
104 end if;
105 close c;
106
107 end INSERT_ROW;
108
109 procedure LOCK_ROW (
110 P_SHRT_NAME in VARCHAR2,
111 P_WHNVR_TRGRD_FLAG in VARCHAR2,
112 P_PC_KIT_CD in VARCHAR2,
113 P_TRK_MLG_FLAG in VARCHAR2,
114 P_TO_BE_SENT_DT_CD in VARCHAR2,
115 P_INSPN_RQD_FLAG in VARCHAR2,
116 P_NAME in VARCHAR2
117 ) is
118 cursor c is select
119 WHNVR_TRGRD_FLAG,
120 PC_KIT_CD,
121 TRK_MLG_FLAG,
122 TO_BE_SENT_DT_CD,
123 INSPN_RQD_FLAG
124 from BEN_STARTUP_CM_TYP
125 where SHRT_NAME = P_SHRT_NAME
126 for update of SHRT_NAME nowait;
127 recinfo c%rowtype;
128
129 cursor c1 is select
130 NAME,
131 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
132 from BEN_STARTUP_CM_TYP_TL
133 where SHRT_NAME = P_SHRT_NAME
134 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
135 for update of SHRT_NAME nowait;
136 begin
137 open c;
138 fetch c into recinfo;
139 if (c%notfound) then
140 close c;
141 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
142 app_exception.raise_exception;
143 end if;
144 close c;
145 if ( (recinfo.WHNVR_TRGRD_FLAG = P_WHNVR_TRGRD_FLAG)
146 AND ((recinfo.PC_KIT_CD = P_PC_KIT_CD)
147 OR ((recinfo.PC_KIT_CD is null) AND (P_PC_KIT_CD is null)))
148 AND (recinfo.TRK_MLG_FLAG = P_TRK_MLG_FLAG)
149 AND (recinfo.TO_BE_SENT_DT_CD = P_TO_BE_SENT_DT_CD)
150 AND (recinfo.INSPN_RQD_FLAG = P_INSPN_RQD_FLAG)
151 ) then
152 null;
153 else
154 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
155 app_exception.raise_exception;
156 end if;
157
158 for tlinfo in c1 loop
159 if (tlinfo.BASELANG = 'Y') then
160 if ( (tlinfo.NAME = P_NAME)
161 ) then
162 null;
163 else
164 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
165 app_exception.raise_exception;
166 end if;
167 end if;
168 end loop;
169 return;
170 end LOCK_ROW;
171
172 procedure UPDATE_ROW (
173 P_SHRT_NAME in VARCHAR2,
174 P_WHNVR_TRGRD_FLAG in VARCHAR2,
175 P_PC_KIT_CD in VARCHAR2,
176 P_TRK_MLG_FLAG in VARCHAR2,
177 P_TO_BE_SENT_DT_CD in VARCHAR2,
178 P_INSPN_RQD_FLAG in VARCHAR2,
179 P_NAME in VARCHAR2,
180 P_LAST_UPDATE_DATE in DATE,
181 P_LAST_UPDATED_BY in NUMBER,
182 P_LAST_UPDATE_LOGIN in NUMBER
183 ) is
184 begin
185 update BEN_STARTUP_CM_TYP set
186 WHNVR_TRGRD_FLAG = P_WHNVR_TRGRD_FLAG,
187 PC_KIT_CD = P_PC_KIT_CD,
188 TRK_MLG_FLAG = P_TRK_MLG_FLAG,
189 TO_BE_SENT_DT_CD = P_TO_BE_SENT_DT_CD,
190 INSPN_RQD_FLAG = P_INSPN_RQD_FLAG,
191 NAME = decode(userenv('LANG'),'US',P_NAME,NAME),
192 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
193 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
194 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
195 where SHRT_NAME = P_SHRT_NAME;
196
197 if (sql%notfound) then
198 raise no_data_found;
199 end if;
200
201 update BEN_STARTUP_CM_TYP_TL set
202 NAME = P_NAME,
203 LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
204 LAST_UPDATED_BY = P_LAST_UPDATED_BY,
205 LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN,
206 SOURCE_LANG = userenv('LANG')
207 where SHRT_NAME = P_SHRT_NAME
208 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
209
210 if (sql%notfound) then
211 raise no_data_found;
212 end if;
213 end UPDATE_ROW;
214
215 procedure DELETE_ROW (
216 P_SHRT_NAME in VARCHAR2
217 ) is
218 begin
219 delete from BEN_STARTUP_CM_TYP_TL
220 where SHRT_NAME = P_SHRT_NAME;
221
222 if (sql%notfound) then
223 raise no_data_found;
224 end if;
225
226 delete from BEN_STARTUP_CM_TYP
227 where SHRT_NAME = P_SHRT_NAME;
228
229 if (sql%notfound) then
230 raise no_data_found;
231 end if;
232 end DELETE_ROW;
233
234 procedure UPLOAD_ROW(P_SHRT_NAME in VARCHAR2,
235 P_WHNVR_TRGRD_FLAG in VARCHAR2,
236 P_PC_KIT_CD in VARCHAR2,
237 P_TRK_MLG_FLAG in VARCHAR2,
238 P_TO_BE_SENT_DT_CD in VARCHAR2,
239 P_INSPN_RQD_FLAG in VARCHAR2,
240 P_NAME in VARCHAR2,
241 P_OWNER in VARCHAR2)is
242 --
243 L_ROWID ROWID;
244 L_CREATION_DATE DATE;
245 L_CREATED_BY NUMBER;
246 L_LAST_UPDATE_DATE DATE;
247 L_LAST_UPDATED_BY NUMBER;
248 L_LAST_UPDATE_LOGIN NUMBER;
249 begin
250 OWNER_TO_WHO (
251 P_OWNER,
252 L_CREATION_DATE,
253 L_CREATED_BY,
254 L_LAST_UPDATE_DATE,
255 L_LAST_UPDATED_BY,
256 L_LAST_UPDATE_LOGIN
257 );
258 --
259 UPDATE_ROW (P_SHRT_NAME ,
260 P_WHNVR_TRGRD_FLAG,
261 P_PC_KIT_CD,
262 P_TRK_MLG_FLAG,
263 P_TO_BE_SENT_DT_CD,
264 P_INSPN_RQD_FLAG,
265 P_NAME,
266 L_LAST_UPDATE_DATE,
267 L_LAST_UPDATED_BY,
268 L_LAST_UPDATE_LOGIN);
269
270 exception
271 when no_data_found then
272 INSERT_ROW (L_ROWID,
273 P_SHRT_NAME,
274 P_WHNVR_TRGRD_FLAG,
275 P_PC_KIT_CD,
276 P_TRK_MLG_FLAG,
277 P_TO_BE_SENT_DT_CD,
278 P_INSPN_RQD_FLAG,
279 P_NAME,
280 L_CREATION_DATE,
281 L_CREATED_BY,
282 L_LAST_UPDATE_DATE,
283 L_LAST_UPDATED_BY,
284 L_LAST_UPDATE_LOGIN);
285 end;
286 procedure TRANSLATE_ROW(P_SHRT_NAME in VARCHAR2,
287 P_NAME in VARCHAR2,
288 P_OWNER in VARCHAR2) is
289 --
290 L_CREATION_DATE DATE;
291 L_CREATED_BY NUMBER;
292 L_LAST_UPDATE_DATE DATE;
293 L_LAST_UPDATED_BY NUMBER;
294 L_LAST_UPDATE_LOGIN NUMBER;
295 begin
296 OWNER_TO_WHO (
297 P_OWNER,
298 L_CREATION_DATE,
299 L_CREATED_BY,
300 L_LAST_UPDATE_DATE,
301 L_LAST_UPDATED_BY,
302 L_LAST_UPDATE_LOGIN
303 );
304 --
305 update BEN_STARTUP_CM_TYP_TL set
306 NAME = P_NAME,
307 LAST_UPDATE_DATE = L_LAST_UPDATE_DATE,
308 LAST_UPDATED_BY = L_LAST_UPDATED_BY,
309 LAST_UPDATE_LOGIN = L_LAST_UPDATE_LOGIN,
310 SOURCE_LANG = userenv('LANG')
311 where SHRT_NAME = P_SHRT_NAME
312 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
313 end;
314
315 procedure ADD_LANGUAGE
316 is
317 begin
318 delete from BEN_STARTUP_CM_TYP_TL T
319 where not exists
320 (select NULL
321 from BEN_STARTUP_CM_TYP B
322 where B.SHRT_NAME = T.SHRT_NAME
323 );
324
325 update BEN_STARTUP_CM_TYP_TL T set (
326 NAME
327 ) = (select
328 B.NAME
329 from BEN_STARTUP_CM_TYP_TL B
330 where B.SHRT_NAME = T.SHRT_NAME
331 and B.LANGUAGE = T.SOURCE_LANG)
332 where (
333 T.SHRT_NAME,
334 T.LANGUAGE
335 ) in (select
336 SUBT.SHRT_NAME,
337 SUBT.LANGUAGE
338 from BEN_STARTUP_CM_TYP_TL SUBB, BEN_STARTUP_CM_TYP_TL SUBT
339 where SUBB.SHRT_NAME = SUBT.SHRT_NAME
340 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
341 and (SUBB.NAME <> SUBT.NAME
342 ));
343
344 insert into BEN_STARTUP_CM_TYP_TL (
345 CREATED_BY,
346 CREATION_DATE,
347 LAST_UPDATE_DATE,
348 LAST_UPDATED_BY,
349 LAST_UPDATE_LOGIN,
350 SHRT_NAME,
351 NAME,
352 LANGUAGE,
353 SOURCE_LANG
354 ) select
355 B.CREATED_BY,
356 B.CREATION_DATE,
357 B.LAST_UPDATE_DATE,
358 B.LAST_UPDATED_BY,
359 B.LAST_UPDATE_LOGIN,
360 B.SHRT_NAME,
361 B.NAME,
362 L.LANGUAGE_CODE,
363 B.SOURCE_LANG
364 from BEN_STARTUP_CM_TYP_TL B, FND_LANGUAGES L
365 where L.INSTALLED_FLAG in ('I', 'B')
366 and B.LANGUAGE = userenv('LANG')
367 and not exists
368 (select NULL
369 from BEN_STARTUP_CM_TYP_TL T
370 where T.SHRT_NAME = B.SHRT_NAME
371 and T.LANGUAGE = L.LANGUAGE_CODE);
372 end ADD_LANGUAGE;
373
374 end BEN_STARTUP_CM_TYP_PKG;