DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMO_DISPENSE_BOOTH_PKG

Source


1 package body GMO_DISPENSE_BOOTH_PKG as
2 /* $Header: GMODBTHB.pls 120.1 2007/06/21 06:09:19 rvsingh noship $ */
3 procedure INSERT_ROW (
4   X_ROWID in out NOCOPY VARCHAR2,
5   X_DISPENSE_BOOTH_ID in NUMBER,
6   X_DISPENSE_BOOTH_NAME in VARCHAR2,
7   X_DISPENSE_AREA_ID in NUMBER,
8   X_LOCATOR_ID in NUMBER,
9   X_DISPENSE_BOOTH_DESC 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 GMO_DISPENSE_BOOTH_B
17     where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID
18     ;
19 begin
20   insert into GMO_DISPENSE_BOOTH_B (
21     DISPENSE_BOOTH_ID,
22     DISPENSE_BOOTH_NAME,
23     DISPENSE_AREA_ID,
24     LOCATOR_ID,
25     CREATION_DATE,
26     CREATED_BY,
27     LAST_UPDATE_DATE,
28     LAST_UPDATED_BY,
29     LAST_UPDATE_LOGIN
30   ) values (
31     X_DISPENSE_BOOTH_ID,
32     X_DISPENSE_BOOTH_NAME,
33     X_DISPENSE_AREA_ID,
34     X_LOCATOR_ID,
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 GMO_DISPENSE_BOOTH_TL (
43     DISPENSE_BOOTH_ID,
44     DISPENSE_BOOTH_DESC,
45     CREATED_BY,
46     CREATION_DATE,
47     LAST_UPDATED_BY,
48     LAST_UPDATE_DATE,
49     LAST_UPDATE_LOGIN,
50     LANGUAGE,
51     SOURCE_LANG
52   ) select
53     X_DISPENSE_BOOTH_ID,
54     X_DISPENSE_BOOTH_DESC,
55     X_CREATED_BY,
56     X_CREATION_DATE,
57     X_LAST_UPDATED_BY,
58     X_LAST_UPDATE_DATE,
59     X_LAST_UPDATE_LOGIN,
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 GMO_DISPENSE_BOOTH_TL T
67     where T.DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_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_DISPENSE_BOOTH_ID in NUMBER,
82   X_DISPENSE_BOOTH_NAME in VARCHAR2,
83   X_DISPENSE_AREA_ID in NUMBER,
84   X_LOCATOR_ID in NUMBER,
85   X_DISPENSE_BOOTH_DESC in VARCHAR2
86 ) is
87   cursor c is select
88       DISPENSE_BOOTH_NAME,
89       DISPENSE_AREA_ID,
90       LOCATOR_ID
91     from GMO_DISPENSE_BOOTH_B
92     where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID
93     for update of DISPENSE_BOOTH_ID nowait;
94   recinfo c%rowtype;
95 
96   cursor c1 is select
97       DISPENSE_BOOTH_DESC,
98       decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
99     from GMO_DISPENSE_BOOTH_TL
100     where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID
101     and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
102     for update of DISPENSE_BOOTH_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.DISPENSE_BOOTH_NAME = X_DISPENSE_BOOTH_NAME)
113       AND (recinfo.DISPENSE_AREA_ID = X_DISPENSE_AREA_ID)
114       AND (recinfo.LOCATOR_ID = X_LOCATOR_ID)
115   ) then
116     null;
117   else
118     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
119     app_exception.raise_exception;
120   end if;
121 
122   for tlinfo in c1 loop
123     if (tlinfo.BASELANG = 'Y') then
124       if (    (tlinfo.DISPENSE_BOOTH_DESC = X_DISPENSE_BOOTH_DESC)
125       ) then
126         null;
127       else
128         fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
129         app_exception.raise_exception;
130       end if;
131     end if;
132   end loop;
133   return;
134 end LOCK_ROW;
135 
136 procedure UPDATE_ROW (
137   X_DISPENSE_BOOTH_ID in NUMBER,
138   X_DISPENSE_BOOTH_NAME in VARCHAR2,
139   X_DISPENSE_AREA_ID in NUMBER,
140   X_LOCATOR_ID in NUMBER,
141   X_DISPENSE_BOOTH_DESC in VARCHAR2,
142   X_LAST_UPDATE_DATE in DATE,
143   X_LAST_UPDATED_BY in NUMBER,
144   X_LAST_UPDATE_LOGIN in NUMBER
145 ) is
146 begin
147   update GMO_DISPENSE_BOOTH_B set
148     DISPENSE_BOOTH_NAME = X_DISPENSE_BOOTH_NAME,
149     DISPENSE_AREA_ID = X_DISPENSE_AREA_ID,
150     LOCATOR_ID = X_LOCATOR_ID,
151     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
152     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
153     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
154   where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID;
155 
156   if (sql%notfound) then
157     raise no_data_found;
158   end if;
159 
160   update GMO_DISPENSE_BOOTH_TL set
161     DISPENSE_BOOTH_DESC = X_DISPENSE_BOOTH_DESC,
162     LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
163     LAST_UPDATED_BY = X_LAST_UPDATED_BY,
164     LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
165     SOURCE_LANG = userenv('LANG')
166   where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID
167   and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
168 
169   if (sql%notfound) then
170     raise no_data_found;
171   end if;
172 end UPDATE_ROW;
173 
174 procedure DELETE_ROW (
175   X_DISPENSE_BOOTH_ID in NUMBER
176 ) is
177 begin
178   delete from GMO_DISPENSE_BOOTH_TL
179   where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID;
180 
181   if (sql%notfound) then
182     raise no_data_found;
183   end if;
184 
185   delete from GMO_DISPENSE_BOOTH_B
186   where DISPENSE_BOOTH_ID = X_DISPENSE_BOOTH_ID;
187 
188   if (sql%notfound) then
189     raise no_data_found;
190   end if;
191 end DELETE_ROW;
192 
193 procedure ADD_LANGUAGE
194 is
195 begin
196   delete from GMO_DISPENSE_BOOTH_TL T
197   where not exists
198     (select NULL
199     from GMO_DISPENSE_BOOTH_B B
200     where B.DISPENSE_BOOTH_ID = T.DISPENSE_BOOTH_ID
201     );
202 
203   update GMO_DISPENSE_BOOTH_TL T set (
204       DISPENSE_BOOTH_DESC
205     ) = (select
206       B.DISPENSE_BOOTH_DESC
207     from GMO_DISPENSE_BOOTH_TL B
208     where B.DISPENSE_BOOTH_ID = T.DISPENSE_BOOTH_ID
209     and B.LANGUAGE = T.SOURCE_LANG)
210   where (
211       T.DISPENSE_BOOTH_ID,
212       T.LANGUAGE
213   ) in (select
214       SUBT.DISPENSE_BOOTH_ID,
215       SUBT.LANGUAGE
216     from GMO_DISPENSE_BOOTH_TL SUBB, GMO_DISPENSE_BOOTH_TL SUBT
217     where SUBB.DISPENSE_BOOTH_ID = SUBT.DISPENSE_BOOTH_ID
218     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
219     and (SUBB.DISPENSE_BOOTH_DESC <> SUBT.DISPENSE_BOOTH_DESC
220   ));
221 
222   insert into GMO_DISPENSE_BOOTH_TL (
223     DISPENSE_BOOTH_ID,
224     DISPENSE_BOOTH_DESC,
225     CREATED_BY,
226     CREATION_DATE,
227     LAST_UPDATED_BY,
228     LAST_UPDATE_DATE,
229     LAST_UPDATE_LOGIN,
230     LANGUAGE,
231     SOURCE_LANG
232   ) select /*+ ORDERED */
233     B.DISPENSE_BOOTH_ID,
234     B.DISPENSE_BOOTH_DESC,
235     B.CREATED_BY,
236     B.CREATION_DATE,
237     B.LAST_UPDATED_BY,
238     B.LAST_UPDATE_DATE,
239     B.LAST_UPDATE_LOGIN,
240     L.LANGUAGE_CODE,
241     B.SOURCE_LANG
242   from GMO_DISPENSE_BOOTH_TL B, FND_LANGUAGES L
243   where L.INSTALLED_FLAG in ('I', 'B')
244   and B.LANGUAGE = userenv('LANG')
245   and not exists
246     (select NULL
247     from GMO_DISPENSE_BOOTH_TL T
248     where T.DISPENSE_BOOTH_ID = B.DISPENSE_BOOTH_ID
249     and T.LANGUAGE = L.LANGUAGE_CODE);
250 end ADD_LANGUAGE;
251 
252 end GMO_DISPENSE_BOOTH_PKG;