DBA Data[Home] [Help]

PACKAGE BODY: APPS.FRM_DELIVERY_CONFIGS_PKG

Source


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