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