DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEC_G_REP_CONF_PARAMS_PKG

Source


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