DBA Data[Home] [Help]

PACKAGE BODY: APPS.ENG_CHANGE_MGMT_TYPES_PKG

Source


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