1: package body CZ_LOCALIZED_TEXTS_PKG as
2: /* $Header: cziloctb.pls 120.4.12020000.2 2012/08/22 11:14:58 vigramak ship $ */
3:
4: NO_MODEL_ID NUMBER := -1;
5:
23: X_UI_PAGE_ELEMENT_ID IN VARCHAR2) is
24:
25: cursor C is
26: select ROWID
27: from CZ_LOCALIZED_TEXTS
28: where INTL_TEXT_ID = X_INTL_TEXT_ID
29: and language = userenv('LANG');
30:
31: begin
29: and language = userenv('LANG');
30:
31: begin
32:
33: insert into CZ_LOCALIZED_TEXTS
34: (INTL_TEXT_ID
35: ,LOCALIZED_STR
36: ,ORIG_SYS_REF
37: ,CREATION_DATE
67: from FND_LANGUAGES L
68: where L.INSTALLED_FLAG in ('I', 'B')
69: and not exists
70: ( select NULL
71: from CZ_LOCALIZED_TEXTS T
72: where T.INTL_TEXT_ID = X_INTL_TEXT_ID
73: and T.LANGUAGE = L.LANGUAGE_CODE);
74:
75: open c;
101: X_UI_PAGE_ELEMENT_ID IN VARCHAR2) is
102:
103: begin
104:
105: update CZ_LOCALIZED_TEXTS set
106: INTL_TEXT_ID =X_INTL_TEXT_ID
107: ,LOCALIZED_STR = DECODE(userenv('LANG'), language, X_LOCALIZED_STR, source_lang, X_LOCALIZED_STR, localized_str)
108: ,ORIG_SYS_REF =X_ORIG_SYS_REF
109: ,DELETED_FLAG =X_DELETED_FLAG
132: X_INTL_TEXT_ID in NUMBER
133: ) is
134: begin
135:
136: delete from CZ_LOCALIZED_TEXTS
137: where INTL_TEXT_ID = X_INTL_TEXT_ID ;
138:
139: if (sql%notfound) then
140: raise no_data_found;
155: /* as a quick workaround to fix the time-consuming table handler issue */
156: /* Eventually we'll need to turn them into a separate fix_language procedure */
157: /* Added by Pat Passerini July 17, 2003. */
158: /*
159: delete from CZ_LOCALIZED_TEXTS where DELETED_FLAG='1';
160: commit;
161:
162: update CZ_LOCALIZED_TEXTS T set (
163: LOCALIZED_STR
158: /*
159: delete from CZ_LOCALIZED_TEXTS where DELETED_FLAG='1';
160: commit;
161:
162: update CZ_LOCALIZED_TEXTS T set (
163: LOCALIZED_STR
164: ) = ( select B.LOCALIZED_STR
165: from CZ_LOCALIZED_TEXTS B
166: where B.INTL_TEXT_ID = T.INTL_TEXT_ID
161:
162: update CZ_LOCALIZED_TEXTS T set (
163: LOCALIZED_STR
164: ) = ( select B.LOCALIZED_STR
165: from CZ_LOCALIZED_TEXTS B
166: where B.INTL_TEXT_ID = T.INTL_TEXT_ID
167: and B.LANGUAGE = T.SOURCE_LANG and B.DELETED_FLAG='0')
168: where (
169: T.INTL_TEXT_ID,
170: T.LANGUAGE
171: ) in ( select
172: SUBT.INTL_TEXT_ID,
173: SUBT.LANGUAGE
174: from CZ_LOCALIZED_TEXTS SUBB,
175: CZ_LOCALIZED_TEXTS SUBT
176: where SUBB.INTL_TEXT_ID = SUBT.INTL_TEXT_ID
177: and SUBB.LANGUAGE = SUBT.SOURCE_LANG and SUBT.DELETED_FLAG='0' and SUBB.DELETED_FLAG='0'
178: and ( SUBB.LOCALIZED_STR <> SUBT.LOCALIZED_STR
171: ) in ( select
172: SUBT.INTL_TEXT_ID,
173: SUBT.LANGUAGE
174: from CZ_LOCALIZED_TEXTS SUBB,
175: CZ_LOCALIZED_TEXTS SUBT
176: where SUBB.INTL_TEXT_ID = SUBT.INTL_TEXT_ID
177: and SUBB.LANGUAGE = SUBT.SOURCE_LANG and SUBT.DELETED_FLAG='0' and SUBB.DELETED_FLAG='0'
178: and ( SUBB.LOCALIZED_STR <> SUBT.LOCALIZED_STR
179: or ( SUBB.LOCALIZED_STR is null and SUBT.LOCALIZED_STR is not null )
182: commit;
183: */
184: /* Modified Insert statment below to include parallel hints to improve performance - vigramak*/
185:
186: insert into CZ_LOCALIZED_TEXTS (
187: LAST_UPDATE_LOGIN,
188: INTL_TEXT_ID,
189: LOCALIZED_STR,
190: LAST_UPDATE_DATE,
214: B.UI_PAGE_ID, B.UI_PAGE_ELEMENT_ID,
215: B.persistent_intl_text_id,
216: B.DELETED_FLAG,
217: B.ORIG_SYS_REF
218: from CZ_LOCALIZED_TEXTS B,
219: FND_LANGUAGES L
220: where L.INSTALLED_FLAG in ('I', 'B')
221: and B.LANGUAGE = userenv('LANG')
222: and not exists
220: where L.INSTALLED_FLAG in ('I', 'B')
221: and B.LANGUAGE = userenv('LANG')
222: and not exists
223: ( select /*+ parallel(T) */ NULL
224: from CZ_LOCALIZED_TEXTS T
225: where T.INTL_TEXT_ID = B.INTL_TEXT_ID
226: and T.LANGUAGE = L.LANGUAGE_CODE);
227: commit;
228:
253:
254: -- Translate owner to file_last_updated_by
255: f_luby := fnd_load_util.owner_id(X_OWNER);
256:
257: UPDATE CZ_LOCALIZED_TEXTS
258: SET LOCALIZED_STR = NVL(X_LOCALIZED_STR, LOCALIZED_STR)
259: ,LAST_UPDATE_DATE = SYSDATE
260: ,LAST_UPDATED_BY = f_luby
261: ,last_update_login = 0
284: X_SEEDED_FLAG IN VARCHAR2,
285: X_UI_PAGE_ID IN NUMBER,
286: X_UI_PAGE_ELEMENT_ID IN VARCHAR2) IS
287:
288: s_intlid cz_localized_texts.intl_text_id%type; -- entity intl_text_id
289: f_luby number; -- entity owner in file
290: f_ludate date; -- entity update date in file
291: row_id varchar2(64);
292:
292:
293:
294: cursor c_lktx is
295: select intl_text_id
296: from cz_localized_texts
297: where intl_text_id = x_intl_text_id
298: and language = userenv('LANG');
299:
300: begin
309: fetch c_lktx into s_intlid;
310:
311: if (c_lktx%notfound) then
312: -- No matching rows
313: CZ_LOCALIZED_TEXTS_PKG.INSERT_ROW(
314: X_ROWID => row_id,
315: X_INTL_TEXT_ID => X_INTL_TEXT_ID,
316: X_LOCALIZED_STR => X_LOCALIZED_STR,
317: X_ORIG_SYS_REF => X_ORIG_SYS_REF,
331: );
332: else
333: loop
334: -- Update row in all matching locales
335: CZ_LOCALIZED_TEXTS_PKG.UPDATE_ROW (
336: X_INTL_TEXT_ID => X_INTL_TEXT_ID,
337: X_LOCALIZED_STR => X_LOCALIZED_STR,
338: X_ORIG_SYS_REF => X_ORIG_SYS_REF,
339: X_CREATION_DATE => SYSDATE,
365: X_DELETED_FLAG in VARCHAR2) is
366:
367: begin
368:
369: update CZ_LOCALIZED_TEXTS set
370: INTL_TEXT_ID =X_INTL_TEXT_ID
371: ,LOCALIZED_STR = DECODE(userenv('LANG'), language, X_LOCALIZED_STR, source_lang, X_LOCALIZED_STR, localized_str)
372: ,ORIG_SYS_REF =X_ORIG_SYS_REF
373: ,DELETED_FLAG =X_DELETED_FLAG
385: X_LOCALIZED_STR in VARCHAR2,
386: X_ORIG_SYS_REF in VARCHAR2,
387: X_DELETED_FLAG in VARCHAR2) IS
388:
389: s_intlid cz_localized_texts.intl_text_id%type; -- entity intl_text_id
390: row_id varchar2(64);
391:
392:
393: cursor c_lktx is
391:
392:
393: cursor c_lktx is
394: select intl_text_id
395: from cz_localized_texts
396: where intl_text_id = x_intl_text_id
397: and language = userenv('LANG');
398:
399: begin
402: fetch c_lktx into s_intlid;
403:
404: if (c_lktx%notfound) then
405: -- No matching rows
406: CZ_LOCALIZED_TEXTS_PKG.INSERT_ROW(
407: X_ROWID => row_id,
408: X_INTL_TEXT_ID => X_INTL_TEXT_ID,
409: X_LOCALIZED_STR => X_LOCALIZED_STR,
410: X_ORIG_SYS_REF => X_ORIG_SYS_REF,
424: );
425: else
426: loop
427: -- Update row in all matching locales
428: CZ_LOCALIZED_TEXTS_PKG.UPDATE_ROW (
429: X_INTL_TEXT_ID => X_INTL_TEXT_ID,
430: X_LOCALIZED_STR => X_LOCALIZED_STR,
431: X_ORIG_SYS_REF => X_ORIG_SYS_REF,
432: X_DELETED_FLAG => X_DELETED_FLAG);
439:
440: end LOAD_ROW;
441:
442:
443: end CZ_LOCALIZED_TEXTS_PKG;