1 package body EGO_ITM_GTN_MUL_ATTRS_PKG as
2 /* $Header: EGOVGTMB.pls 120.0 2005/10/14 04:10 jcgeorge noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_EXTENSION_ID in NUMBER,
6 X_REQUEST_ID in NUMBER,
7 X_SIZE_CODE_LIST_AGENCY in VARCHAR2,
8 X_SIZE_CODE_VALUE in VARCHAR2,
9 X_INVENTORY_ITEM_ID in NUMBER,
10 X_ORGANIZATION_ID in NUMBER,
11 X_BAR_CODE_TYPE in VARCHAR2,
12 X_COLOR_CODE_LIST_AGENCY in VARCHAR2,
13 X_COLOR_CODE_VALUE in VARCHAR2,
14 X_CLASS_OF_DANGEROUS_CODE in VARCHAR2,
15 X_DANGEROUS_GOODS_MARGIN_NUMBE in VARCHAR2,
16 X_DANGEROUS_GOODS_HAZARDOUS_CO in VARCHAR2,
17 X_DANGEROUS_GOODS_PACK_GROUP in VARCHAR2,
18 X_DANGEROUS_GOODS_REG_CODE in VARCHAR2,
19 X_DANGEROUS_GOODS_SHIPPING_NAM in VARCHAR2,
20 X_UNITED_NATIONS_DANG_GOODS_NO in NUMBER,
21 X_FLASH_POINT_TEMP in NUMBER,
22 X_UOM_FLASH_POINT_TEMP in VARCHAR2,
23 X_COUNTRY_OF_ORIGIN in VARCHAR2,
24 X_HARMONIZED_TARIFF_SYS_ID_COD in NUMBER,
25 X_DELIVERY_METHOD_INDICATOR in VARCHAR2,
26 X_ATTR_GROUP_ID in NUMBER,
27 X_MANUFACTURER_GLN in VARCHAR2,
28 X_MANUFACTURER_ID in NUMBER,
29 X_PARTY_RECEIVING_PRIVATE_DATA in VARCHAR2,
30 X_ITEM_CATALOG_GROUP_ID in NUMBER,
31 X_REVISION_ID in NUMBER,
32 X_HANDLING_INSTRUCTIONS_CODE in VARCHAR2,
33 X_DANGEROUS_GOODS_TECHNICAL_NA in VARCHAR2,
34 X_CREATION_DATE in DATE,
35 X_CREATED_BY in NUMBER,
36 X_LAST_UPDATE_DATE in DATE,
37 X_LAST_UPDATED_BY in NUMBER,
38 X_LAST_UPDATE_LOGIN in NUMBER
39 ) is
40 cursor C is select ROWID from EGO_ITM_GTN_MUL_ATTRS_B
41 where EXTENSION_ID = X_EXTENSION_ID
42 ;
43 begin
44 insert into EGO_ITM_GTN_MUL_ATTRS_B (
45 REQUEST_ID,
46 SIZE_CODE_LIST_AGENCY,
47 SIZE_CODE_VALUE,
48 EXTENSION_ID,
49 INVENTORY_ITEM_ID,
50 ORGANIZATION_ID,
51 BAR_CODE_TYPE,
52 COLOR_CODE_LIST_AGENCY,
53 COLOR_CODE_VALUE,
54 CLASS_OF_DANGEROUS_CODE,
55 DANGEROUS_GOODS_MARGIN_NUMBER,
56 DANGEROUS_GOODS_HAZARDOUS_CODE,
57 DANGEROUS_GOODS_PACK_GROUP,
58 DANGEROUS_GOODS_REG_CODE,
59 DANGEROUS_GOODS_SHIPPING_NAME,
60 UNITED_NATIONS_DANG_GOODS_NO,
61 FLASH_POINT_TEMP,
62 UOM_FLASH_POINT_TEMP,
63 COUNTRY_OF_ORIGIN,
64 HARMONIZED_TARIFF_SYS_ID_CODE,
65 DELIVERY_METHOD_INDICATOR,
66 ATTR_GROUP_ID,
67 MANUFACTURER_GLN,
68 MANUFACTURER_ID,
69 PARTY_RECEIVING_PRIVATE_DATA,
70 ITEM_CATALOG_GROUP_ID,
71 REVISION_ID,
72 CREATION_DATE,
73 CREATED_BY,
74 LAST_UPDATE_DATE,
75 LAST_UPDATED_BY,
76 LAST_UPDATE_LOGIN
77 ) values (
78 X_REQUEST_ID,
79 X_SIZE_CODE_LIST_AGENCY,
80 X_SIZE_CODE_VALUE,
81 X_EXTENSION_ID,
82 X_INVENTORY_ITEM_ID,
83 X_ORGANIZATION_ID,
84 X_BAR_CODE_TYPE,
85 X_COLOR_CODE_LIST_AGENCY,
86 X_COLOR_CODE_VALUE,
87 X_CLASS_OF_DANGEROUS_CODE,
88 X_DANGEROUS_GOODS_MARGIN_NUMBE,
89 X_DANGEROUS_GOODS_HAZARDOUS_CO,
90 X_DANGEROUS_GOODS_PACK_GROUP,
91 X_DANGEROUS_GOODS_REG_CODE,
92 X_DANGEROUS_GOODS_SHIPPING_NAM,
93 X_UNITED_NATIONS_DANG_GOODS_NO,
94 X_FLASH_POINT_TEMP,
95 X_UOM_FLASH_POINT_TEMP,
96 X_COUNTRY_OF_ORIGIN,
97 X_HARMONIZED_TARIFF_SYS_ID_COD,
98 X_DELIVERY_METHOD_INDICATOR,
99 X_ATTR_GROUP_ID,
100 X_MANUFACTURER_GLN,
101 X_MANUFACTURER_ID,
102 X_PARTY_RECEIVING_PRIVATE_DATA,
103 X_ITEM_CATALOG_GROUP_ID,
104 X_REVISION_ID,
105 X_CREATION_DATE,
106 X_CREATED_BY,
107 X_LAST_UPDATE_DATE,
108 X_LAST_UPDATED_BY,
109 X_LAST_UPDATE_LOGIN
110 );
111
112 insert into EGO_ITM_GTN_MUL_ATTRS_TL (
113 REQUEST_ID,
114 EXTENSION_ID,
115 INVENTORY_ITEM_ID,
116 ORGANIZATION_ID,
117 ATTR_GROUP_ID,
118 CREATED_BY,
119 CREATION_DATE,
120 LAST_UPDATED_BY,
121 LAST_UPDATE_DATE,
122 LAST_UPDATE_LOGIN,
123 ITEM_CATALOG_GROUP_ID,
124 REVISION_ID,
125 HANDLING_INSTRUCTIONS_CODE,
126 DANGEROUS_GOODS_TECHNICAL_NAME,
127 LANGUAGE,
128 SOURCE_LANG
129 ) select
130 X_REQUEST_ID,
131 X_EXTENSION_ID,
132 X_INVENTORY_ITEM_ID,
133 X_ORGANIZATION_ID,
134 X_ATTR_GROUP_ID,
135 X_CREATED_BY,
136 X_CREATION_DATE,
137 X_LAST_UPDATED_BY,
138 X_LAST_UPDATE_DATE,
139 X_LAST_UPDATE_LOGIN,
140 X_ITEM_CATALOG_GROUP_ID,
141 X_REVISION_ID,
142 X_HANDLING_INSTRUCTIONS_CODE,
143 X_DANGEROUS_GOODS_TECHNICAL_NA,
144 L.LANGUAGE_CODE,
145 userenv('LANG')
146 from FND_LANGUAGES L
147 where L.INSTALLED_FLAG in ('I', 'B')
148 and not exists
149 (select NULL
150 from EGO_ITM_GTN_MUL_ATTRS_TL T
151 where T.EXTENSION_ID = X_EXTENSION_ID
152 and T.LANGUAGE = L.LANGUAGE_CODE);
153
154 open c;
155 fetch c into X_ROWID;
156 if (c%notfound) then
157 close c;
158 raise no_data_found;
159 end if;
160 close c;
161
162 end INSERT_ROW;
163
164 procedure LOCK_ROW (
165 X_EXTENSION_ID in NUMBER,
166 X_REQUEST_ID in NUMBER,
167 X_SIZE_CODE_LIST_AGENCY in VARCHAR2,
168 X_SIZE_CODE_VALUE in VARCHAR2,
169 X_INVENTORY_ITEM_ID in NUMBER,
170 X_ORGANIZATION_ID in NUMBER,
171 X_BAR_CODE_TYPE in VARCHAR2,
172 X_COLOR_CODE_LIST_AGENCY in VARCHAR2,
173 X_COLOR_CODE_VALUE in VARCHAR2,
174 X_CLASS_OF_DANGEROUS_CODE in VARCHAR2,
175 X_DANGEROUS_GOODS_MARGIN_NUMBE in VARCHAR2,
176 X_DANGEROUS_GOODS_HAZARDOUS_CO in VARCHAR2,
177 X_DANGEROUS_GOODS_PACK_GROUP in VARCHAR2,
178 X_DANGEROUS_GOODS_REG_CODE in VARCHAR2,
179 X_DANGEROUS_GOODS_SHIPPING_NAM in VARCHAR2,
180 X_UNITED_NATIONS_DANG_GOODS_NO in NUMBER,
181 X_FLASH_POINT_TEMP in NUMBER,
182 X_UOM_FLASH_POINT_TEMP in VARCHAR2,
183 X_COUNTRY_OF_ORIGIN in VARCHAR2,
184 X_HARMONIZED_TARIFF_SYS_ID_COD in NUMBER,
185 X_DELIVERY_METHOD_INDICATOR in VARCHAR2,
186 X_ATTR_GROUP_ID in NUMBER,
187 X_MANUFACTURER_GLN in VARCHAR2,
188 X_MANUFACTURER_ID in NUMBER,
189 X_PARTY_RECEIVING_PRIVATE_DATA in VARCHAR2,
190 X_ITEM_CATALOG_GROUP_ID in NUMBER,
191 X_REVISION_ID in NUMBER,
192 X_HANDLING_INSTRUCTIONS_CODE in VARCHAR2,
193 X_DANGEROUS_GOODS_TECHNICAL_NA in VARCHAR2
194 ) is
195 cursor c is select
196 REQUEST_ID,
197 SIZE_CODE_LIST_AGENCY,
198 SIZE_CODE_VALUE,
199 INVENTORY_ITEM_ID,
200 ORGANIZATION_ID,
201 BAR_CODE_TYPE,
202 COLOR_CODE_LIST_AGENCY,
203 COLOR_CODE_VALUE,
204 CLASS_OF_DANGEROUS_CODE,
205 DANGEROUS_GOODS_MARGIN_NUMBER,
206 DANGEROUS_GOODS_HAZARDOUS_CODE,
207 DANGEROUS_GOODS_PACK_GROUP,
208 DANGEROUS_GOODS_REG_CODE,
209 DANGEROUS_GOODS_SHIPPING_NAME,
210 UNITED_NATIONS_DANG_GOODS_NO,
211 FLASH_POINT_TEMP,
212 UOM_FLASH_POINT_TEMP,
213 COUNTRY_OF_ORIGIN,
214 HARMONIZED_TARIFF_SYS_ID_CODE,
215 DELIVERY_METHOD_INDICATOR,
216 ATTR_GROUP_ID,
217 MANUFACTURER_GLN,
218 MANUFACTURER_ID,
219 PARTY_RECEIVING_PRIVATE_DATA,
220 ITEM_CATALOG_GROUP_ID,
221 REVISION_ID
222 from EGO_ITM_GTN_MUL_ATTRS_B
223 where EXTENSION_ID = X_EXTENSION_ID
224 for update of EXTENSION_ID nowait;
225 recinfo c%rowtype;
226
227 cursor c1 is select
228 HANDLING_INSTRUCTIONS_CODE,
229 DANGEROUS_GOODS_TECHNICAL_NAME,
230 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
231 from EGO_ITM_GTN_MUL_ATTRS_TL
232 where EXTENSION_ID = X_EXTENSION_ID
233 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
234 for update of EXTENSION_ID nowait;
235 begin
236 open c;
237 fetch c into recinfo;
238 if (c%notfound) then
239 close c;
240 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
241 app_exception.raise_exception;
242 end if;
243 close c;
244 if ( ((recinfo.REQUEST_ID = X_REQUEST_ID)
245 OR ((recinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
246 AND ((recinfo.SIZE_CODE_LIST_AGENCY = X_SIZE_CODE_LIST_AGENCY)
247 OR ((recinfo.SIZE_CODE_LIST_AGENCY is null) AND (X_SIZE_CODE_LIST_AGENCY is null)))
248 AND ((recinfo.SIZE_CODE_VALUE = X_SIZE_CODE_VALUE)
249 OR ((recinfo.SIZE_CODE_VALUE is null) AND (X_SIZE_CODE_VALUE is null)))
250 AND (recinfo.INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID)
251 AND (recinfo.ORGANIZATION_ID = X_ORGANIZATION_ID)
252 AND ((recinfo.BAR_CODE_TYPE = X_BAR_CODE_TYPE)
253 OR ((recinfo.BAR_CODE_TYPE is null) AND (X_BAR_CODE_TYPE is null)))
254 AND ((recinfo.COLOR_CODE_LIST_AGENCY = X_COLOR_CODE_LIST_AGENCY)
255 OR ((recinfo.COLOR_CODE_LIST_AGENCY is null) AND (X_COLOR_CODE_LIST_AGENCY is null)))
256 AND ((recinfo.COLOR_CODE_VALUE = X_COLOR_CODE_VALUE)
257 OR ((recinfo.COLOR_CODE_VALUE is null) AND (X_COLOR_CODE_VALUE is null)))
258 AND ((recinfo.CLASS_OF_DANGEROUS_CODE = X_CLASS_OF_DANGEROUS_CODE)
259 OR ((recinfo.CLASS_OF_DANGEROUS_CODE is null) AND (X_CLASS_OF_DANGEROUS_CODE is null)))
260 AND ((recinfo.DANGEROUS_GOODS_MARGIN_NUMBER = X_DANGEROUS_GOODS_MARGIN_NUMBE)
261 OR ((recinfo.DANGEROUS_GOODS_MARGIN_NUMBER is null) AND (X_DANGEROUS_GOODS_MARGIN_NUMBE is null)))
262 AND ((recinfo.DANGEROUS_GOODS_HAZARDOUS_CODE = X_DANGEROUS_GOODS_HAZARDOUS_CO)
263 OR ((recinfo.DANGEROUS_GOODS_HAZARDOUS_CODE is null) AND (X_DANGEROUS_GOODS_HAZARDOUS_CO is null)))
264 AND ((recinfo.DANGEROUS_GOODS_PACK_GROUP = X_DANGEROUS_GOODS_PACK_GROUP)
265 OR ((recinfo.DANGEROUS_GOODS_PACK_GROUP is null) AND (X_DANGEROUS_GOODS_PACK_GROUP is null)))
266 AND ((recinfo.DANGEROUS_GOODS_REG_CODE = X_DANGEROUS_GOODS_REG_CODE)
267 OR ((recinfo.DANGEROUS_GOODS_REG_CODE is null) AND (X_DANGEROUS_GOODS_REG_CODE is null)))
268 AND ((recinfo.DANGEROUS_GOODS_SHIPPING_NAME = X_DANGEROUS_GOODS_SHIPPING_NAM)
269 OR ((recinfo.DANGEROUS_GOODS_SHIPPING_NAME is null) AND (X_DANGEROUS_GOODS_SHIPPING_NAM is null)))
270 AND ((recinfo.UNITED_NATIONS_DANG_GOODS_NO = X_UNITED_NATIONS_DANG_GOODS_NO)
271 OR ((recinfo.UNITED_NATIONS_DANG_GOODS_NO is null) AND (X_UNITED_NATIONS_DANG_GOODS_NO is null)))
272 AND ((recinfo.FLASH_POINT_TEMP = X_FLASH_POINT_TEMP)
273 OR ((recinfo.FLASH_POINT_TEMP is null) AND (X_FLASH_POINT_TEMP is null)))
274 AND ((recinfo.UOM_FLASH_POINT_TEMP = X_UOM_FLASH_POINT_TEMP)
275 OR ((recinfo.UOM_FLASH_POINT_TEMP is null) AND (X_UOM_FLASH_POINT_TEMP is null)))
276 AND ((recinfo.COUNTRY_OF_ORIGIN = X_COUNTRY_OF_ORIGIN)
277 OR ((recinfo.COUNTRY_OF_ORIGIN is null) AND (X_COUNTRY_OF_ORIGIN is null)))
278 AND ((recinfo.HARMONIZED_TARIFF_SYS_ID_CODE = X_HARMONIZED_TARIFF_SYS_ID_COD)
279 OR ((recinfo.HARMONIZED_TARIFF_SYS_ID_CODE is null) AND (X_HARMONIZED_TARIFF_SYS_ID_COD is null)))
280 AND ((recinfo.DELIVERY_METHOD_INDICATOR = X_DELIVERY_METHOD_INDICATOR)
281 OR ((recinfo.DELIVERY_METHOD_INDICATOR is null) AND (X_DELIVERY_METHOD_INDICATOR is null)))
282 AND ((recinfo.ATTR_GROUP_ID = X_ATTR_GROUP_ID)
283 OR ((recinfo.ATTR_GROUP_ID is null) AND (X_ATTR_GROUP_ID is null)))
284 AND ((recinfo.MANUFACTURER_GLN = X_MANUFACTURER_GLN)
285 OR ((recinfo.MANUFACTURER_GLN is null) AND (X_MANUFACTURER_GLN is null)))
286 AND ((recinfo.MANUFACTURER_ID = X_MANUFACTURER_ID)
287 OR ((recinfo.MANUFACTURER_ID is null) AND (X_MANUFACTURER_ID is null)))
288 AND ((recinfo.PARTY_RECEIVING_PRIVATE_DATA = X_PARTY_RECEIVING_PRIVATE_DATA)
289 OR ((recinfo.PARTY_RECEIVING_PRIVATE_DATA is null) AND (X_PARTY_RECEIVING_PRIVATE_DATA is null)))
290 AND ((recinfo.ITEM_CATALOG_GROUP_ID = X_ITEM_CATALOG_GROUP_ID)
291 OR ((recinfo.ITEM_CATALOG_GROUP_ID is null) AND (X_ITEM_CATALOG_GROUP_ID is null)))
292 AND ((recinfo.REVISION_ID = X_REVISION_ID)
293 OR ((recinfo.REVISION_ID is null) AND (X_REVISION_ID is null)))
294 ) then
295 null;
296 else
297 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
298 app_exception.raise_exception;
299 end if;
300
301 for tlinfo in c1 loop
302 if (tlinfo.BASELANG = 'Y') then
303 if ( ((tlinfo.HANDLING_INSTRUCTIONS_CODE = X_HANDLING_INSTRUCTIONS_CODE)
304 OR ((tlinfo.HANDLING_INSTRUCTIONS_CODE is null) AND (X_HANDLING_INSTRUCTIONS_CODE is null)))
305 AND ((tlinfo.DANGEROUS_GOODS_TECHNICAL_NAME = X_DANGEROUS_GOODS_TECHNICAL_NA)
306 OR ((tlinfo.DANGEROUS_GOODS_TECHNICAL_NAME is null) AND (X_DANGEROUS_GOODS_TECHNICAL_NA is null)))
307 ) then
308 null;
309 else
310 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
311 app_exception.raise_exception;
312 end if;
313 end if;
314 end loop;
315 return;
316 end LOCK_ROW;
317
318 procedure UPDATE_ROW (
319 X_EXTENSION_ID in NUMBER,
320 X_REQUEST_ID in NUMBER,
321 X_SIZE_CODE_LIST_AGENCY in VARCHAR2,
322 X_SIZE_CODE_VALUE in VARCHAR2,
323 X_INVENTORY_ITEM_ID in NUMBER,
324 X_ORGANIZATION_ID in NUMBER,
325 X_BAR_CODE_TYPE in VARCHAR2,
329 X_DANGEROUS_GOODS_MARGIN_NUMBE in VARCHAR2,
326 X_COLOR_CODE_LIST_AGENCY in VARCHAR2,
327 X_COLOR_CODE_VALUE in VARCHAR2,
328 X_CLASS_OF_DANGEROUS_CODE in VARCHAR2,
330 X_DANGEROUS_GOODS_HAZARDOUS_CO in VARCHAR2,
331 X_DANGEROUS_GOODS_PACK_GROUP in VARCHAR2,
332 X_DANGEROUS_GOODS_REG_CODE in VARCHAR2,
333 X_DANGEROUS_GOODS_SHIPPING_NAM in VARCHAR2,
334 X_UNITED_NATIONS_DANG_GOODS_NO in NUMBER,
335 X_FLASH_POINT_TEMP in NUMBER,
336 X_UOM_FLASH_POINT_TEMP in VARCHAR2,
337 X_COUNTRY_OF_ORIGIN in VARCHAR2,
338 X_HARMONIZED_TARIFF_SYS_ID_COD in NUMBER,
339 X_DELIVERY_METHOD_INDICATOR in VARCHAR2,
340 X_ATTR_GROUP_ID in NUMBER,
341 X_MANUFACTURER_GLN in VARCHAR2,
342 X_MANUFACTURER_ID in NUMBER,
343 X_PARTY_RECEIVING_PRIVATE_DATA in VARCHAR2,
344 X_ITEM_CATALOG_GROUP_ID in NUMBER,
345 X_REVISION_ID in NUMBER,
346 X_HANDLING_INSTRUCTIONS_CODE in VARCHAR2,
347 X_DANGEROUS_GOODS_TECHNICAL_NA in VARCHAR2,
348 X_LAST_UPDATE_DATE in DATE,
349 X_LAST_UPDATED_BY in NUMBER,
350 X_LAST_UPDATE_LOGIN in NUMBER
351 ) is
352 begin
353 update EGO_ITM_GTN_MUL_ATTRS_B set
354 REQUEST_ID = X_REQUEST_ID,
355 SIZE_CODE_LIST_AGENCY = X_SIZE_CODE_LIST_AGENCY,
356 SIZE_CODE_VALUE = X_SIZE_CODE_VALUE,
357 INVENTORY_ITEM_ID = X_INVENTORY_ITEM_ID,
358 ORGANIZATION_ID = X_ORGANIZATION_ID,
359 BAR_CODE_TYPE = X_BAR_CODE_TYPE,
360 COLOR_CODE_LIST_AGENCY = X_COLOR_CODE_LIST_AGENCY,
361 COLOR_CODE_VALUE = X_COLOR_CODE_VALUE,
362 CLASS_OF_DANGEROUS_CODE = X_CLASS_OF_DANGEROUS_CODE,
363 DANGEROUS_GOODS_MARGIN_NUMBER = X_DANGEROUS_GOODS_MARGIN_NUMBE,
364 DANGEROUS_GOODS_HAZARDOUS_CODE = X_DANGEROUS_GOODS_HAZARDOUS_CO,
365 DANGEROUS_GOODS_PACK_GROUP = X_DANGEROUS_GOODS_PACK_GROUP,
366 DANGEROUS_GOODS_REG_CODE = X_DANGEROUS_GOODS_REG_CODE,
367 DANGEROUS_GOODS_SHIPPING_NAME = X_DANGEROUS_GOODS_SHIPPING_NAM,
368 UNITED_NATIONS_DANG_GOODS_NO = X_UNITED_NATIONS_DANG_GOODS_NO,
369 FLASH_POINT_TEMP = X_FLASH_POINT_TEMP,
370 UOM_FLASH_POINT_TEMP = X_UOM_FLASH_POINT_TEMP,
371 COUNTRY_OF_ORIGIN = X_COUNTRY_OF_ORIGIN,
372 HARMONIZED_TARIFF_SYS_ID_CODE = X_HARMONIZED_TARIFF_SYS_ID_COD,
373 DELIVERY_METHOD_INDICATOR = X_DELIVERY_METHOD_INDICATOR,
374 ATTR_GROUP_ID = X_ATTR_GROUP_ID,
375 MANUFACTURER_GLN = X_MANUFACTURER_GLN,
376 MANUFACTURER_ID = X_MANUFACTURER_ID,
377 PARTY_RECEIVING_PRIVATE_DATA = X_PARTY_RECEIVING_PRIVATE_DATA,
378 ITEM_CATALOG_GROUP_ID = X_ITEM_CATALOG_GROUP_ID,
379 REVISION_ID = X_REVISION_ID,
380 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
381 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
382 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
383 where EXTENSION_ID = X_EXTENSION_ID;
384
385 if (sql%notfound) then
386 raise no_data_found;
387 end if;
388
389 update EGO_ITM_GTN_MUL_ATTRS_TL set
390 HANDLING_INSTRUCTIONS_CODE = X_HANDLING_INSTRUCTIONS_CODE,
391 DANGEROUS_GOODS_TECHNICAL_NAME = X_DANGEROUS_GOODS_TECHNICAL_NA,
392 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
393 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
394 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
395 SOURCE_LANG = userenv('LANG')
396 where EXTENSION_ID = X_EXTENSION_ID
397 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
398
399 if (sql%notfound) then
400 raise no_data_found;
401 end if;
402 end UPDATE_ROW;
403
404 procedure DELETE_ROW (
405 X_EXTENSION_ID in NUMBER
406 ) is
407 begin
408 delete from EGO_ITM_GTN_MUL_ATTRS_TL
409 where EXTENSION_ID = X_EXTENSION_ID;
410
411 if (sql%notfound) then
412 raise no_data_found;
413 end if;
414
415 delete from EGO_ITM_GTN_MUL_ATTRS_B
416 where EXTENSION_ID = X_EXTENSION_ID;
417
418 if (sql%notfound) then
419 raise no_data_found;
420 end if;
421 end DELETE_ROW;
422
423 procedure ADD_LANGUAGE
424 is
425 begin
426 delete from EGO_ITM_GTN_MUL_ATTRS_TL T
427 where not exists
428 (select NULL
429 from EGO_ITM_GTN_MUL_ATTRS_B B
430 where B.EXTENSION_ID = T.EXTENSION_ID
431 );
432
433 update EGO_ITM_GTN_MUL_ATTRS_TL T set (
434 HANDLING_INSTRUCTIONS_CODE,
435 DANGEROUS_GOODS_TECHNICAL_NAME
436 ) = (select
437 B.HANDLING_INSTRUCTIONS_CODE,
438 B.DANGEROUS_GOODS_TECHNICAL_NAME
439 from EGO_ITM_GTN_MUL_ATTRS_TL B
440 where B.EXTENSION_ID = T.EXTENSION_ID
441 and B.LANGUAGE = T.SOURCE_LANG)
442 where (
443 T.EXTENSION_ID,
444 T.LANGUAGE
445 ) in (select
446 SUBT.EXTENSION_ID,
447 SUBT.LANGUAGE
448 from EGO_ITM_GTN_MUL_ATTRS_TL SUBB, EGO_ITM_GTN_MUL_ATTRS_TL SUBT
449 where SUBB.EXTENSION_ID = SUBT.EXTENSION_ID
450 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
451 and (SUBB.HANDLING_INSTRUCTIONS_CODE <> SUBT.HANDLING_INSTRUCTIONS_CODE
452 or (SUBB.HANDLING_INSTRUCTIONS_CODE is null and SUBT.HANDLING_INSTRUCTIONS_CODE is not null)
453 or (SUBB.HANDLING_INSTRUCTIONS_CODE is not null and SUBT.HANDLING_INSTRUCTIONS_CODE is null)
454 or SUBB.DANGEROUS_GOODS_TECHNICAL_NAME <> SUBT.DANGEROUS_GOODS_TECHNICAL_NAME
455 or (SUBB.DANGEROUS_GOODS_TECHNICAL_NAME is null and SUBT.DANGEROUS_GOODS_TECHNICAL_NAME is not null)
456 or (SUBB.DANGEROUS_GOODS_TECHNICAL_NAME is not null and SUBT.DANGEROUS_GOODS_TECHNICAL_NAME is null)
457 ));
458
459 insert into EGO_ITM_GTN_MUL_ATTRS_TL (
460 REQUEST_ID,
461 EXTENSION_ID,
462 INVENTORY_ITEM_ID,
463 ORGANIZATION_ID,
464 ATTR_GROUP_ID,
465 CREATED_BY,
466 CREATION_DATE,
467 LAST_UPDATED_BY,
468 LAST_UPDATE_DATE,
469 LAST_UPDATE_LOGIN,
470 ITEM_CATALOG_GROUP_ID,
471 REVISION_ID,
472 HANDLING_INSTRUCTIONS_CODE,
473 DANGEROUS_GOODS_TECHNICAL_NAME,
474 LANGUAGE,
475 SOURCE_LANG
476 ) select /*+ ORDERED */
477 B.REQUEST_ID,
478 B.EXTENSION_ID,
479 B.INVENTORY_ITEM_ID,
480 B.ORGANIZATION_ID,
481 B.ATTR_GROUP_ID,
482 B.CREATED_BY,
483 B.CREATION_DATE,
484 B.LAST_UPDATED_BY,
485 B.LAST_UPDATE_DATE,
486 B.LAST_UPDATE_LOGIN,
487 B.ITEM_CATALOG_GROUP_ID,
488 B.REVISION_ID,
489 B.HANDLING_INSTRUCTIONS_CODE,
490 B.DANGEROUS_GOODS_TECHNICAL_NAME,
491 L.LANGUAGE_CODE,
492 B.SOURCE_LANG
493 from EGO_ITM_GTN_MUL_ATTRS_TL B, FND_LANGUAGES L
494 where L.INSTALLED_FLAG in ('I', 'B')
495 and B.LANGUAGE = userenv('LANG')
496 and not exists
497 (select NULL
498 from EGO_ITM_GTN_MUL_ATTRS_TL T
499 where T.EXTENSION_ID = B.EXTENSION_ID
500 and T.LANGUAGE = L.LANGUAGE_CODE);
501 end ADD_LANGUAGE;
502
503 end EGO_ITM_GTN_MUL_ATTRS_PKG;