1: package body DOM_DOCUMENTS_PKG as
2: /* $Header: DOMDOCB.pls 120.1 2006/03/22 03:43:32 ysireesh noship $ */
3:
4: procedure INSERT_ROW (
5: X_ROWID in out nocopy VARCHAR2,
18: X_LAST_UPDATE_DATE in DATE,
19: X_LAST_UPDATED_BY in NUMBER,
20: X_LAST_UPDATE_LOGIN in NUMBER
21: ) is
22: cursor C is select ROWID from DOM_DOCUMENTS
23: where DOCUMENT_ID = X_DOCUMENT_ID
24: ;
25: begin
26: insert into DOM_DOCUMENTS (
22: cursor C is select ROWID from DOM_DOCUMENTS
23: where DOCUMENT_ID = X_DOCUMENT_ID
24: ;
25: begin
26: insert into DOM_DOCUMENTS (
27: DOCUMENT_ID,
28: CATEGORY_ID,
29: DOC_NUMBER,
30: DEF_REP_ID,
52: X_LAST_UPDATED_BY,
53: X_LAST_UPDATE_LOGIN
54: );
55:
56: insert into DOM_DOCUMENTS_TL (
57: DOCUMENT_ID,
58: NAME,
59: DESCRIPTION,
60: CREATED_BY,
78: from FND_LANGUAGES L
79: where L.INSTALLED_FLAG in ('I', 'B')
80: and not exists
81: (select NULL
82: from DOM_DOCUMENTS_TL T
83: where T.DOCUMENT_ID = X_DOCUMENT_ID
84: and T.LANGUAGE = L.LANGUAGE_CODE);
85:
86: open c;
112: DEF_FOLDER_ID,
113: LOCK_STATUS,
114: LOCKED_BY,
115: LIFECYCLE_ID
116: from DOM_DOCUMENTS
117: where DOCUMENT_ID = X_DOCUMENT_ID
118: for update of DOCUMENT_ID nowait;
119: recinfo c%rowtype;
120:
121: cursor c1 is select
122: NAME,
123: DESCRIPTION,
124: decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
125: from DOM_DOCUMENTS_TL
126: where DOCUMENT_ID = X_DOCUMENT_ID
127: and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
128: for update of DOCUMENT_ID nowait;
129: begin
185: X_LAST_UPDATED_BY in NUMBER,
186: X_LAST_UPDATE_LOGIN in NUMBER
187: ) is
188: begin
189: update DOM_DOCUMENTS set
190: CATEGORY_ID = X_CATEGORY_ID,
191: DOC_NUMBER = X_DOC_NUMBER,
192: DEF_REP_ID = X_DEF_REP_ID,
193: DEF_FOLDER_ID = X_DEF_FOLDER_ID,
202: if (sql%notfound) then
203: raise no_data_found;
204: end if;
205:
206: update DOM_DOCUMENTS_TL set
207: NAME = X_NAME,
208: DESCRIPTION = X_DESCRIPTION,
209: LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
210: LAST_UPDATED_BY = X_LAST_UPDATED_BY,
221: procedure DELETE_ROW (
222: X_DOCUMENT_ID in NUMBER
223: ) is
224: begin
225: delete from DOM_DOCUMENTS_TL
226: where DOCUMENT_ID = X_DOCUMENT_ID;
227:
228: if (sql%notfound) then
229: raise no_data_found;
228: if (sql%notfound) then
229: raise no_data_found;
230: end if;
231:
232: delete from DOM_DOCUMENTS
233: where DOCUMENT_ID = X_DOCUMENT_ID;
234:
235: if (sql%notfound) then
236: raise no_data_found;
239:
240: procedure ADD_LANGUAGE
241: is
242: begin
243: delete from DOM_DOCUMENTS_TL T
244: where not exists
245: (select NULL
246: from DOM_DOCUMENTS B
247: where B.DOCUMENT_ID = T.DOCUMENT_ID
242: begin
243: delete from DOM_DOCUMENTS_TL T
244: where not exists
245: (select NULL
246: from DOM_DOCUMENTS B
247: where B.DOCUMENT_ID = T.DOCUMENT_ID
248: );
249:
250: update DOM_DOCUMENTS_TL T set (
246: from DOM_DOCUMENTS B
247: where B.DOCUMENT_ID = T.DOCUMENT_ID
248: );
249:
250: update DOM_DOCUMENTS_TL T set (
251: NAME,
252: DESCRIPTION
253: ) = (select
254: B.NAME,
252: DESCRIPTION
253: ) = (select
254: B.NAME,
255: B.DESCRIPTION
256: from DOM_DOCUMENTS_TL B
257: where B.DOCUMENT_ID = T.DOCUMENT_ID
258: and B.LANGUAGE = T.SOURCE_LANG)
259: where (
260: T.DOCUMENT_ID,
261: T.LANGUAGE
262: ) in (select
263: SUBT.DOCUMENT_ID,
264: SUBT.LANGUAGE
265: from DOM_DOCUMENTS_TL SUBB, DOM_DOCUMENTS_TL SUBT
266: where SUBB.DOCUMENT_ID = SUBT.DOCUMENT_ID
267: and SUBB.LANGUAGE = SUBT.SOURCE_LANG
268: and (SUBB.NAME <> SUBT.NAME
269: or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
270: or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
271: or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
272: ));
273:
274: insert into DOM_DOCUMENTS_TL (
275: DOCUMENT_ID,
276: NAME,
277: DESCRIPTION,
278: CREATED_BY,
292: B.LAST_UPDATE_DATE,
293: B.LAST_UPDATE_LOGIN,
294: L.LANGUAGE_CODE,
295: B.SOURCE_LANG
296: from DOM_DOCUMENTS_TL B, FND_LANGUAGES L
297: where L.INSTALLED_FLAG in ('I', 'B')
298: and B.LANGUAGE = userenv('LANG')
299: and not exists
300: (select NULL
297: where L.INSTALLED_FLAG in ('I', 'B')
298: and B.LANGUAGE = userenv('LANG')
299: and not exists
300: (select NULL
301: from DOM_DOCUMENTS_TL T
302: where T.DOCUMENT_ID = B.DOCUMENT_ID
303: and T.LANGUAGE = L.LANGUAGE_CODE);
304: end ADD_LANGUAGE;
305:
302: where T.DOCUMENT_ID = B.DOCUMENT_ID
303: and T.LANGUAGE = L.LANGUAGE_CODE);
304: end ADD_LANGUAGE;
305:
306: end DOM_DOCUMENTS_PKG;