DBA Data[Home] [Help]

PACKAGE BODY: APPS.FTP_PAYMENT_PATTERN_PKG

Source


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