[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;