DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBY_BANK_INSTRUCTIONS_PKG

Source


1 package body IBY_BANK_INSTRUCTIONS_PKG as
2 /* $Header: ibybicdb.pls 120.3 2005/12/01 21:52:39 chhu noship $ */
3 
4 procedure INSERT_ROW (
5   X_ROWID in out nocopy VARCHAR2,
6   X_BANK_INSTRUCTION_CODE in VARCHAR2,
7   X_INACTIVE_DATE in DATE,
8   X_TERRITORY_CODE in VARCHAR2,
9   X_OBJECT_VERSION_NUMBER in NUMBER,
10   X_FORMAT_VALUE in VARCHAR2,
11   X_MEANING in VARCHAR2,
12   X_DESCRIPTION in VARCHAR2,
13   X_CREATION_DATE in DATE,
14   X_CREATED_BY in NUMBER,
15   X_LAST_UPDATE_DATE in DATE,
16   X_LAST_UPDATED_BY in NUMBER,
17   X_LAST_UPDATE_LOGIN in NUMBER,
18   X_SEEDED_FLAG in VARCHAR2
19 ) is
20   cursor C is select ROWID from IBY_BANK_INSTRUCTIONS_B
21     where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE
22     ;
23 begin
24   insert into IBY_BANK_INSTRUCTIONS_B (
25     INACTIVE_DATE,
26     TERRITORY_CODE,
27     OBJECT_VERSION_NUMBER,
28     BANK_INSTRUCTION_CODE,
29     FORMAT_VALUE,
30     CREATION_DATE,
31     CREATED_BY,
32     LAST_UPDATE_DATE,
33     LAST_UPDATED_BY,
34     LAST_UPDATE_LOGIN,
35     SEEDED_FLAG
36   ) values (
37     X_INACTIVE_DATE,
38     X_TERRITORY_CODE,
39     X_OBJECT_VERSION_NUMBER,
40     X_BANK_INSTRUCTION_CODE,
41     X_FORMAT_VALUE,
42     X_CREATION_DATE,
43     X_CREATED_BY,
44     X_LAST_UPDATE_DATE,
45     X_LAST_UPDATED_BY,
46     X_LAST_UPDATE_LOGIN,
47     X_SEEDED_FLAG
48   );
49 
50   insert into IBY_BANK_INSTRUCTIONS_TL (
51     CREATED_BY,
52     CREATION_DATE,
53     LAST_UPDATED_BY,
54     LAST_UPDATE_DATE,
55     LAST_UPDATE_LOGIN,
56     OBJECT_VERSION_NUMBER,
57     BANK_INSTRUCTION_CODE,
58     MEANING,
59     DESCRIPTION,
60     LANGUAGE,
61     SOURCE_LANG
62   ) select
63     X_CREATED_BY,
64     X_CREATION_DATE,
65     X_LAST_UPDATED_BY,
66     X_LAST_UPDATE_DATE,
67     X_LAST_UPDATE_LOGIN,
68     X_OBJECT_VERSION_NUMBER,
69     X_BANK_INSTRUCTION_CODE,
70     X_MEANING,
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 IBY_BANK_INSTRUCTIONS_TL T
79     where T.BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_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_BANK_INSTRUCTION_CODE in VARCHAR2,
94   X_INACTIVE_DATE in DATE,
95   X_TERRITORY_CODE in VARCHAR2,
96   X_OBJECT_VERSION_NUMBER in NUMBER,
97   X_FORMAT_VALUE in VARCHAR2,
98   X_MEANING in VARCHAR2,
99   X_DESCRIPTION in VARCHAR2
100 ) is
101   cursor c is select
102       INACTIVE_DATE,
103       TERRITORY_CODE,
104       OBJECT_VERSION_NUMBER,
105       FORMAT_VALUE
106     from IBY_BANK_INSTRUCTIONS_B
107     where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE
108     for update of BANK_INSTRUCTION_CODE nowait;
109   recinfo c%rowtype;
110 
111   cursor c1 is select
112       MEANING,
113       DESCRIPTION,
114       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
115     from IBY_BANK_INSTRUCTIONS_TL
116     where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE
117     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
118     for update of BANK_INSTRUCTION_CODE nowait;
119 begin
120   open c;
121   fetch c into recinfo;
122   if (c%notfound) then
123     close c;
124     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
125     app_exception.raise_exception;
126   end if;
127   close c;
128   if (    ((recinfo.INACTIVE_DATE = X_INACTIVE_DATE)
129            OR ((recinfo.INACTIVE_DATE is null) AND (X_INACTIVE_DATE is null)))
130       AND ((recinfo.TERRITORY_CODE = X_TERRITORY_CODE)
131            OR ((recinfo.TERRITORY_CODE is null) AND (X_TERRITORY_CODE is null)))
132       AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
133       AND ((recinfo.FORMAT_VALUE = X_FORMAT_VALUE)
134            OR ((recinfo.FORMAT_VALUE is null) AND (X_FORMAT_VALUE is null)))
135   ) then
136     null;
137   else
138     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
139     app_exception.raise_exception;
140   end if;
141 
142   for tlinfo in c1 loop
143     if (tlinfo.BASELANG = 'Y') then
144       if (    ((tlinfo.MEANING = X_MEANING)
145                OR ((tlinfo.MEANING is null) AND (X_MEANING is null)))
146           AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
147                OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
148       ) then
149         null;
150       else
151         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
152         app_exception.raise_exception;
153       end if;
154     end if;
155   end loop;
156   return;
157 end LOCK_ROW;
158 
159 procedure UPDATE_ROW (
160   X_BANK_INSTRUCTION_CODE in VARCHAR2,
161   X_INACTIVE_DATE in DATE,
162   X_TERRITORY_CODE in VARCHAR2,
163   X_OBJECT_VERSION_NUMBER in NUMBER,
164   X_FORMAT_VALUE in VARCHAR2,
165   X_MEANING in VARCHAR2,
166   X_DESCRIPTION in VARCHAR2,
167   X_LAST_UPDATE_DATE in DATE,
168   X_LAST_UPDATED_BY in NUMBER,
169   X_LAST_UPDATE_LOGIN in NUMBER
170 ) is
171 begin
172   update IBY_BANK_INSTRUCTIONS_B set
173     INACTIVE_DATE = X_INACTIVE_DATE,
174     TERRITORY_CODE = X_TERRITORY_CODE,
175     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
176     FORMAT_VALUE = X_FORMAT_VALUE,
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   where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE;
181 
182   if (sql%notfound) then
183     raise no_data_found;
184   end if;
185 
186   update IBY_BANK_INSTRUCTIONS_TL set
187     MEANING = X_MEANING,
188     DESCRIPTION = X_DESCRIPTION,
189     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
190     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
191     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
192     SOURCE_LANG = userenv('LANG')
193   where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE
194   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
195 
196   if (sql%notfound) then
197     raise no_data_found;
198   end if;
199 end UPDATE_ROW;
200 
201 procedure DELETE_ROW (
202   X_BANK_INSTRUCTION_CODE in VARCHAR2
203 ) is
204 begin
205   delete from IBY_BANK_INSTRUCTIONS_TL
206   where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE;
207 
208   if (sql%notfound) then
209     raise no_data_found;
210   end if;
211 
212   delete from IBY_BANK_INSTRUCTIONS_B
213   where BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE;
214 
215   if (sql%notfound) then
216     raise no_data_found;
217   end if;
218 end DELETE_ROW;
219 
220 procedure ADD_LANGUAGE
221 is
222 begin
223   delete from IBY_BANK_INSTRUCTIONS_TL T
224   where not exists
225     (select NULL
226     from IBY_BANK_INSTRUCTIONS_B B
227     where B.BANK_INSTRUCTION_CODE = T.BANK_INSTRUCTION_CODE
228     );
229 
230   update IBY_BANK_INSTRUCTIONS_TL T set (
231       MEANING,
232       DESCRIPTION
233     ) = (select
234       B.MEANING,
235       B.DESCRIPTION
236     from IBY_BANK_INSTRUCTIONS_TL B
237     where B.BANK_INSTRUCTION_CODE = T.BANK_INSTRUCTION_CODE
238     and B.LANGUAGE = T.SOURCE_LANG)
239   where (
240       T.BANK_INSTRUCTION_CODE,
241       T.LANGUAGE
242   ) in (select
243       SUBT.BANK_INSTRUCTION_CODE,
244       SUBT.LANGUAGE
245     from IBY_BANK_INSTRUCTIONS_TL SUBB, IBY_BANK_INSTRUCTIONS_TL SUBT
246     where SUBB.BANK_INSTRUCTION_CODE = SUBT.BANK_INSTRUCTION_CODE
247     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
248     and (SUBB.MEANING <> SUBT.MEANING
249       or (SUBB.MEANING is null and SUBT.MEANING is not null)
250       or (SUBB.MEANING is not null and SUBT.MEANING is null)
251       or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
252       or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
253       or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
254   ));
255 
256   insert into IBY_BANK_INSTRUCTIONS_TL (
257     CREATED_BY,
258     CREATION_DATE,
259     LAST_UPDATED_BY,
260     LAST_UPDATE_DATE,
261     LAST_UPDATE_LOGIN,
262     OBJECT_VERSION_NUMBER,
263     BANK_INSTRUCTION_CODE,
264     MEANING,
265     DESCRIPTION,
266     LANGUAGE,
267     SOURCE_LANG
268   ) select /*+ ORDERED */
269     B.CREATED_BY,
270     B.CREATION_DATE,
271     B.LAST_UPDATED_BY,
272     B.LAST_UPDATE_DATE,
273     B.LAST_UPDATE_LOGIN,
274     B.OBJECT_VERSION_NUMBER,
275     B.BANK_INSTRUCTION_CODE,
276     B.MEANING,
277     B.DESCRIPTION,
278     L.LANGUAGE_CODE,
279     B.SOURCE_LANG
280   from IBY_BANK_INSTRUCTIONS_TL B, FND_LANGUAGES L
281   where L.INSTALLED_FLAG in ('I', 'B')
282   and B.LANGUAGE = userenv('LANG')
283   and not exists
284     (select NULL
285     from IBY_BANK_INSTRUCTIONS_TL T
286     where T.BANK_INSTRUCTION_CODE = B.BANK_INSTRUCTION_CODE
287     and T.LANGUAGE = L.LANGUAGE_CODE);
288 end ADD_LANGUAGE;
289 
290 
291 procedure LOAD_SEED_ROW (
292   X_BANK_INSTRUCTION_CODE in VARCHAR2,
293   X_INACTIVE_DATE in DATE,
294   X_TERRITORY_CODE in VARCHAR2,
295   X_OBJECT_VERSION_NUMBER in NUMBER,
296   X_FORMAT_VALUE in VARCHAR2,
297   X_MEANING in VARCHAR2,
298   X_DESCRIPTION in VARCHAR2,
299   X_SEEDED_FLAG in VARCHAR2,
300   X_CREATION_DATE in DATE,
301   X_CREATED_BY in NUMBER,
302   X_LAST_UPDATE_DATE in DATE,
303   X_LAST_UPDATED_BY in NUMBER,
304   X_LAST_UPDATE_LOGIN in NUMBER)
305 
306 is
307     row_id VARCHAR2(200);
308   begin
309 UPDATE_ROW (
310    X_BANK_INSTRUCTION_CODE,
311   X_INACTIVE_DATE,
312   X_TERRITORY_CODE,
313   X_OBJECT_VERSION_NUMBER,
314   X_FORMAT_VALUE,
315   X_MEANING,
316   X_DESCRIPTION,
317   X_LAST_UPDATE_DATE,
318   X_LAST_UPDATED_BY,
319   X_LAST_UPDATE_LOGIN
320 );
321 
322   exception
323     when no_data_found then
324 
325 INSERT_ROW (
326   row_id,
327   X_BANK_INSTRUCTION_CODE,
328   X_INACTIVE_DATE,
329   X_TERRITORY_CODE,
330   X_OBJECT_VERSION_NUMBER,
331   X_FORMAT_VALUE,
332   X_MEANING,
333   X_DESCRIPTION,
334   X_CREATION_DATE,
335   X_CREATED_BY,
336   X_LAST_UPDATE_DATE,
337   X_LAST_UPDATED_BY,
338   X_LAST_UPDATE_LOGIN,
339   X_SEEDED_FLAG
340 );
341 
342   end;
343 
344 procedure TRANSLATE_ROW (
345   X_BANK_INSTRUCTION_CODE in VARCHAR2,
346   X_MEANING in VARCHAR2,
347   X_DESCRIPTION in VARCHAR2,
348   X_OBJECT_VERSION_NUMBER in NUMBER,
349   X_OWNER in VARCHAR2)
350 is
351 begin
352   update iby_bank_instructions_tl set
353     MEANING = X_MEANING,
354     DESCRIPTION = X_DESCRIPTION,
355     OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
356     LAST_UPDATED_BY = fnd_load_util.owner_id(X_OWNER),
357     LAST_UPDATE_DATE = trunc(sysdate),
358     LAST_UPDATE_LOGIN = fnd_load_util.owner_id(X_OWNER),
359     SOURCE_LANG = userenv('LANG')
360   where userenv('LANG') in (LANGUAGE, SOURCE_LANG)
361     and BANK_INSTRUCTION_CODE = X_BANK_INSTRUCTION_CODE;
362 end;
363 
364 end IBY_BANK_INSTRUCTIONS_PKG;