DBA Data[Home] [Help]

PACKAGE BODY: APPS.JTF_R_RULESETS_PKG

Source


1 package body JTF_R_RULESETS_PKG as
2 /* $Header: ibagrstb.pls 115.1 2000/11/08 15:17:26 pkm ship   $ */
3 procedure INSERT_ROW (
4   X_ROWID in out VARCHAR2,
5   X_RULESET_ID in NUMBER,
6   X_APPLICATION_ID in NUMBER,
7   X_STATUS in VARCHAR2,
8   X_IBA_SORT_BY_CODE in VARCHAR2,
9   X_START_DATE in DATE,
10   X_END_DATE in DATE,
11   X_RULESET_CLASS in BLOB,
12   X_RULESET_SER in LONG,
13   X_OBJECT_VERSION_NUMBER in NUMBER,
14   X_IBA_SORT_ORDER in NUMBER,
15   X_NAME in VARCHAR2,
16   X_DESCRIPTION in VARCHAR2,
17   X_CREATION_DATE in DATE,
18   X_CREATED_BY in NUMBER,
19   X_LAST_UPDATE_DATE in DATE,
20   X_LAST_UPDATED_BY in NUMBER,
21   X_LAST_UPDATE_LOGIN in NUMBER
22 ) is
23   cursor C is select ROWID from JTF_R_RULESETS_B
24     where RULESET_ID = X_RULESET_ID
25     ;
26 begin
27   insert into JTF_R_RULESETS_B (
28     RULESET_ID,
29     APPLICATION_ID,
30     STATUS,
31     IBA_SORT_BY_CODE,
32     START_DATE,
33     END_DATE,
34     RULESET_CLASS,
35     RULESET_SER,
36     OBJECT_VERSION_NUMBER,
37     IBA_SORT_ORDER,
38     CREATION_DATE,
39     CREATED_BY,
40     LAST_UPDATE_DATE,
41     LAST_UPDATED_BY,
42     LAST_UPDATE_LOGIN
43   ) values (
44     X_RULESET_ID,
45     X_APPLICATION_ID,
46     X_STATUS,
47     X_IBA_SORT_BY_CODE,
48     X_START_DATE,
49     X_END_DATE,
50     X_RULESET_CLASS,
51     X_RULESET_SER,
52     X_OBJECT_VERSION_NUMBER,
53     X_IBA_SORT_ORDER,
54     X_CREATION_DATE,
55     X_CREATED_BY,
56     X_LAST_UPDATE_DATE,
57     X_LAST_UPDATED_BY,
58     X_LAST_UPDATE_LOGIN
59   );
60 
61   insert into JTF_R_RULESETS_TL (
62     DESCRIPTION,
63     OBJECT_VERSION_NUMBER,
64     LAST_UPDATED_BY,
65     LAST_UPDATE_DATE,
66     LAST_UPDATE_LOGIN,
67     NAME,
68     RULESET_ID,
69     CREATED_BY,
70     CREATION_DATE,
71     LANGUAGE,
72     SOURCE_LANG
73   ) select
74     X_DESCRIPTION,
75     X_OBJECT_VERSION_NUMBER,
76     X_LAST_UPDATED_BY,
77     X_LAST_UPDATE_DATE,
78     X_LAST_UPDATE_LOGIN,
79     X_NAME,
80     X_RULESET_ID,
81     X_CREATED_BY,
82     X_CREATION_DATE,
83     L.LANGUAGE_CODE,
84     userenv('LANG')
85   from FND_LANGUAGES L
86   where L.INSTALLED_FLAG in ('I', 'B')
87   and not exists
88     (select NULL
89     from JTF_R_RULESETS_TL T
90     where T.RULESET_ID = X_RULESET_ID
91     and T.LANGUAGE = L.LANGUAGE_CODE);
92 
93   open c;
94   fetch c into X_ROWID;
95   if (c%notfound) then
96     close c;
97     raise no_data_found;
98   end if;
99   close c;
100 
101 end INSERT_ROW;
102 
103 procedure LOCK_ROW (
104   X_RULESET_ID in NUMBER,
105   X_APPLICATION_ID in NUMBER,
106   X_STATUS in VARCHAR2,
107   X_IBA_SORT_BY_CODE in VARCHAR2,
108   X_START_DATE in DATE,
109   X_END_DATE in DATE,
110   X_RULESET_CLASS in BLOB,
111   X_RULESET_SER in LONG,
112   X_OBJECT_VERSION_NUMBER in NUMBER,
113   X_IBA_SORT_ORDER in NUMBER,
114   X_NAME in VARCHAR2,
115   X_DESCRIPTION in VARCHAR2
116 ) is
117   cursor c is select
118       APPLICATION_ID,
119       STATUS,
120       IBA_SORT_BY_CODE,
121       START_DATE,
122       END_DATE,
123       RULESET_CLASS,
124       RULESET_SER,
125       OBJECT_VERSION_NUMBER,
126       IBA_SORT_ORDER
127     from JTF_R_RULESETS_B
128     where RULESET_ID = X_RULESET_ID
129     for update of RULESET_ID nowait;
130   recinfo c%rowtype;
131 
132   cursor c1 is select
133       NAME,
134       DESCRIPTION,
135       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
136     from JTF_R_RULESETS_TL
137     where RULESET_ID = X_RULESET_ID
138     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
139     for update of RULESET_ID nowait;
140 begin
141   open c;
142   fetch c into recinfo;
143   if (c%notfound) then
144     close c;
145     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
146     app_exception.raise_exception;
147   end if;
148   close c;
149   if (    (recinfo.APPLICATION_ID = X_APPLICATION_ID)
150       AND (recinfo.STATUS = X_STATUS)
151       AND ((recinfo.IBA_SORT_BY_CODE = X_IBA_SORT_BY_CODE)
152            OR ((recinfo.IBA_SORT_BY_CODE is null) AND (X_IBA_SORT_BY_CODE is null)))
153       AND ((recinfo.START_DATE = X_START_DATE)
154            OR ((recinfo.START_DATE is null) AND (X_START_DATE is null)))
155       AND ((recinfo.END_DATE = X_END_DATE)
156            OR ((recinfo.END_DATE is null) AND (X_END_DATE is null)))
157   /* commenting this BLOB comparison, since the compilation is failing
158       AND ((recinfo.RULESET_CLASS = X_RULESET_CLASS)
159            OR ((recinfo.RULESET_CLASS is null) AND (X_RULESET_CLASS is null)))
160   */
161       AND ((recinfo.RULESET_SER = X_RULESET_SER)
162            OR ((recinfo.RULESET_SER is null) AND (X_RULESET_SER is null)))
163       AND ((recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
164            OR ((recinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
165       AND ((recinfo.IBA_SORT_ORDER = X_IBA_SORT_ORDER)
166            OR ((recinfo.IBA_SORT_ORDER is null) AND (X_IBA_SORT_ORDER is null)))
167   ) then
168     null;
169   else
170     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
171     app_exception.raise_exception;
172   end if;
173 
174   for tlinfo in c1 loop
175     if (tlinfo.BASELANG = 'Y') then
176       if (    (tlinfo.NAME = X_NAME)
177           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
178                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
179       ) then
180         null;
181       else
182         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
183         app_exception.raise_exception;
184       end if;
185     end if;
186   end loop;
187   return;
188 end LOCK_ROW;
189 
190 procedure UPDATE_ROW (
191   X_RULESET_ID in NUMBER,
192   X_APPLICATION_ID in NUMBER,
193   X_STATUS in VARCHAR2,
194   X_IBA_SORT_BY_CODE in VARCHAR2,
195   X_START_DATE in DATE,
196   X_END_DATE in DATE,
197   X_RULESET_CLASS in BLOB,
198   X_RULESET_SER in LONG,
199   X_OBJECT_VERSION_NUMBER in NUMBER,
200   X_IBA_SORT_ORDER in NUMBER,
201   X_NAME in VARCHAR2,
202   X_DESCRIPTION in VARCHAR2,
203   X_LAST_UPDATE_DATE in DATE,
204   X_LAST_UPDATED_BY in NUMBER,
205   X_LAST_UPDATE_LOGIN in NUMBER
206 ) is
207 begin
208   update JTF_R_RULESETS_B set
209     APPLICATION_ID = X_APPLICATION_ID,
210     STATUS = X_STATUS,
211     IBA_SORT_BY_CODE = X_IBA_SORT_BY_CODE,
212     START_DATE = X_START_DATE,
213     END_DATE = X_END_DATE,
214     RULESET_CLASS = X_RULESET_CLASS,
215     RULESET_SER = X_RULESET_SER,
216     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
217     IBA_SORT_ORDER = X_IBA_SORT_ORDER,
218     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
219     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
220     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
221   where RULESET_ID = X_RULESET_ID;
222 
223   if (sql%notfound) then
224     raise no_data_found;
225   end if;
226 
227   update JTF_R_RULESETS_TL set
228     NAME = X_NAME,
229     DESCRIPTION = X_DESCRIPTION,
230     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
231     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
232     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
233     SOURCE_LANG = userenv('LANG')
234   where RULESET_ID = X_RULESET_ID
235   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
236 
237   if (sql%notfound) then
238     raise no_data_found;
239   end if;
240 end UPDATE_ROW;
241 
242 procedure DELETE_ROW (
243   X_RULESET_ID in NUMBER
244 ) is
245 begin
246   delete from JTF_R_RULESETS_TL
247   where RULESET_ID = X_RULESET_ID;
248 
249   if (sql%notfound) then
250     raise no_data_found;
251   end if;
252 
253   delete from JTF_R_RULESETS_B
254   where RULESET_ID = X_RULESET_ID;
255 
256   if (sql%notfound) then
257     raise no_data_found;
258   end if;
259 end DELETE_ROW;
260 
261 procedure ADD_LANGUAGE
262 is
263 begin
264   delete from JTF_R_RULESETS_TL T
265   where not exists
266     (select NULL
267     from JTF_R_RULESETS_B B
268     where B.RULESET_ID = T.RULESET_ID
269     );
270 
271   update JTF_R_RULESETS_TL T set (
272       NAME,
273       DESCRIPTION
274     ) = (select
275       B.NAME,
276       B.DESCRIPTION
277     from JTF_R_RULESETS_TL B
278     where B.RULESET_ID = T.RULESET_ID
279     and B.LANGUAGE = T.SOURCE_LANG)
280   where (
281       T.RULESET_ID,
282       T.LANGUAGE
283   ) in (select
284       SUBT.RULESET_ID,
285       SUBT.LANGUAGE
286     from JTF_R_RULESETS_TL SUBB, JTF_R_RULESETS_TL SUBT
287     where SUBB.RULESET_ID = SUBT.RULESET_ID
288     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
289     and (SUBB.NAME <> SUBT.NAME
290       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
291       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
292       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
293   ));
294 
295   insert into JTF_R_RULESETS_TL (
296     DESCRIPTION,
297     OBJECT_VERSION_NUMBER,
298     LAST_UPDATED_BY,
299     LAST_UPDATE_DATE,
300     LAST_UPDATE_LOGIN,
301     NAME,
302     RULESET_ID,
303     CREATED_BY,
304     CREATION_DATE,
305     LANGUAGE,
306     SOURCE_LANG
307   ) select
308     B.DESCRIPTION,
309     B.OBJECT_VERSION_NUMBER,
310     B.LAST_UPDATED_BY,
311     B.LAST_UPDATE_DATE,
312     B.LAST_UPDATE_LOGIN,
313     B.NAME,
314     B.RULESET_ID,
315     B.CREATED_BY,
316     B.CREATION_DATE,
317     L.LANGUAGE_CODE,
318     B.SOURCE_LANG
319   from JTF_R_RULESETS_TL B, FND_LANGUAGES L
320   where L.INSTALLED_FLAG in ('I', 'B')
321   and B.LANGUAGE = userenv('LANG')
322   and not exists
323     (select NULL
324     from JTF_R_RULESETS_TL T
325     where T.RULESET_ID = B.RULESET_ID
326     and T.LANGUAGE = L.LANGUAGE_CODE);
327 end ADD_LANGUAGE;
328 
329 procedure TRANSLATE_ROW(
330  X_RULESET_ID in NUMBER,
331  X_OWNER in VARCHAR2,
332  X_NAME in VARCHAR2,
333  X_DESCRIPTION in VARCHAR2
334 ) is
335 begin
336   update JTF_R_RULESETS_TL set
337     name              = nvl(X_NAME, name),
338     description       = nvl(X_DESCRIPTION, description),
339     last_update_date  = sysdate,
340     last_updated_by   = decode(X_OWNER, 'SEED', 1, 0),
341     last_update_login = 0,
342     source_lang       = userenv('LANG')
343   where RULESET_ID = X_RULESET_ID
344   and userenv('LANG') in (language, source_lang);
345 
346 end TRANSLATE_ROW;
347 
348 end JTF_R_RULESETS_PKG;