DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBW_PAGES_PVT

Source


1 PACKAGE BODY IBW_PAGES_PVT AS
2 /* $Header: IBWPAGB.pls 120.15 2006/02/23 23:48 vekancha noship $*/
3 
4   --
5   --
6   -- Start of Comments
7   --
8   -- NAME
9   --   IBW_PAGES_PVT
10   --
11   -- PURPOSE
12   --   Private API for inserting and updating pages. Mainly used by offline engine
13   --
14   -- NOTES
15   --   Offline engine uses this API to insert and update IBW_PAGES_B and IBW_PAGES_TL tables.
16 
17   -- HISTORY
18   --   05/09/2005	VEKANCHA	Created
19 
20   -- **************************************************************************
21 
22 G_PKG_NAME  CONSTANT VARCHAR2(30):= 'IBW_PAGES_PVT';
23 G_FILE_NAME CONSTANT VARCHAR2(12):= 'IBWPAGB.pls';
24 
25 
26 -- ****************************************************************************
27 -- ****************************************************************************
28 --    TABLE HANDLERS
29 --      1. insert_row
30 --      2. update_row
31 -- ****************************************************************************
32 -- ****************************************************************************
33 
34 
35 -- ****************************************************************************
36 -- insert row into pages table
37 -- ****************************************************************************
38 
39 PROCEDURE insert_row (
40 	page_id  OUT NOCOPY NUMBER,
41 	x_page_name IN VARCHAR2,
42 	x_description IN VARCHAR2,
43 	x_page_code IN VARCHAR2,
44 	x_app_context IN VARCHAR2,
45 	x_bus_context IN VARCHAR2,
46 	x_reference IN VARCHAR2,
47 	x_page_matching_criteria IN VARCHAR2,
48 	x_page_matching_value IN VARCHAR2,
49 	error_messages OUT NOCOPY VARCHAR2
50 )
51 
52 IS
53 
54 	x_page_id		NUMBER;
55 	page_code		VARCHAR2(30);
56 	tmp_code		NUMBER;
57 	page_status		VARCHAR2(30);
58 	site_area_id	NUMBER;
59 	created_by		NUMBER;
60 	creation_date	DATE;
61 	last_updated_by	NUMBER;
62 	last_update_date	DATE;
63 	last_update_login	NUMBER;
64 	obj_ver_number	NUMBER;
65 	program_id		NUMBER;
66 	program_login_id	NUMBER;
67 	program_app_id	NUMBER;
68 	request_id		NUMBER;
69 
70 	CURSOR c IS SELECT ibw_pages_b_s1.nextval FROM dual;
71 
72 	CURSOR c1 IS SELECT page_id FROM ibw_pages_b
73 	    WHERE page_id = x_page_id;
74 
75 	CURSOR c2 IS SELECT ibw_pages_b_s2.nextval FROM dual;
76 
77 BEGIN
78 	page_status := 'Y';
79 	obj_ver_number := 1;
80 	site_area_id := -1;
81 	OPEN c;
82 	FETCH c INTO x_page_id;
83 	CLOSE c;
84 
85 	OPEN c2;
86 	FETCH c2 into tmp_code;
87 	CLOSE c2;
88 
89 	IF x_page_code = FND_API.G_MISS_CHAR THEN
90 		page_code := 'IBW_PAGE_' || tmp_code;
91 	ELSE
92 		page_code := x_page_code;
93 	END IF;
94 
95 	FND_PROFILE.GET('USER_ID', created_by);
96 
97 	creation_date := SYSDATE;
98 
99 	last_updated_by := created_by;
100 
101 	last_update_date := SYSDATE;
102 
103 	FND_PROFILE.GET('LOGIN_ID', last_update_login);
104 
105 	FND_PROFILE.GET('CONC_PROGRAM_ID', program_id);
106 
107 	FND_PROFILE.GET('CONC_LOGIN_ID', program_login_id);
108 
109 	FND_PROFILE.GET('CONC_PROGRAM_APPLICATION_ID', program_app_id);
110 
111 	FND_PROFILE.GET('CONC_REQUEST_ID', request_id);
112 
113 	INSERT INTO ibw_pages_b (page_id, page_code, page_status, application_context, business_context, reference,site_area_id,
114 						page_matching_criteria, page_matching_value, created_by, creation_date,
115 						last_updated_by, last_update_date, last_update_login, object_version_number,
116 						program_id, program_login_id, program_application_id, request_id)
117 			VALUES (x_page_id, page_code, page_status, x_app_context, x_bus_context, x_reference, site_area_id,
118 						x_page_matching_criteria, x_page_matching_value, created_by, creation_date,
119 						last_updated_by, last_update_date, last_update_login, obj_ver_number,
120 						program_id, program_login_id, program_app_id, request_id);
121 
122 	INSERT INTO ibw_pages_tl(page_id, language, source_lang, page_name, description, created_by, creation_date,
123 						last_updated_by, last_update_date, last_update_login, object_version_number,
124 						program_id, program_login_id, program_application_id, request_id)
125 			SELECT M.page_id, l.language_code, b.language_code,  x_page_name, x_description, M.created_by, M.creation_date,
126 					M.last_updated_by, M.last_update_date, M.last_update_login, M.object_version_number,
127 					M.program_id, M.program_login_id, M.program_application_id, M.request_id
128 			FROM ibw_pages_b M, fnd_languages l, fnd_languages b
129 			WHERE l.installed_flag IN ('I','B') AND b.installed_flag='B' AND M.page_id=x_page_id;
130 
131 	OPEN c1;
132 	FETCH c1 INTO page_id;
133 	IF (c1%NOTFOUND) THEN
134 		CLOSE c1;
135 		RAISE NO_DATA_FOUND;
136 	END IF;
137 	CLOSE c1;
138 
139 --	COMMIT;
140 
141 END insert_row;
142 
143 -- ****************************************************************************
144 -- update row
145 -- ****************************************************************************
146 
147 PROCEDURE update_row (
148 	x_page_id IN NUMBER,
149 	x_reference IN VARCHAR2,
150 	error_messages OUT NOCOPY VARCHAR2
151 )
152 IS
153 
154 	x_last_updated_by	NUMBER;
155 	x_last_update_date	DATE;
156 	x_last_update_login	NUMBER;
157 	x_obj_ver_number	NUMBER;
158 	x_program_id		NUMBER;
159 	x_program_login_id	NUMBER;
160 	x_program_app_id	NUMBER;
161 	x_request_id		NUMBER;
162 
163 BEGIN
164 	x_obj_ver_number := 1;
165 
166 	FND_PROFILE.GET('USER_ID', x_last_updated_by);
167 
168 	x_last_update_date := SYSDATE;
169 
170 	FND_PROFILE.GET('LOGIN_ID', x_last_update_login);
171 
172 	FND_PROFILE.GET('CONC_PROGRAM_ID', x_program_id);
173 
174 	FND_PROFILE.GET('CONC_LOGIN_ID', x_program_login_id);
175 
176 	FND_PROFILE.GET('CONC_PROGRAM_APPLICATION_ID', x_program_app_id);
177 
178 	FND_PROFILE.GET('CONC_REQUEST_ID', x_request_id);
179 
180 	UPDATE ibw_pages_b
181 		SET reference=x_reference, last_updated_by=x_last_updated_by, last_update_date=x_last_update_date,
182 			last_update_login=x_last_update_login, object_version_number=object_version_number+1,
183 			program_id=x_program_id, program_login_id=x_program_login_id, program_application_id=x_program_app_id,
184 			request_id=x_request_id
185 		WHERE page_id=x_page_id;
186 
187 	if(sql%NOTFOUND) THEN
188 		RAISE NO_DATA_FOUND;
189 	END IF;
190 
191 --	COMMIT;
192 
193 END update_row;
194 
195 
196 END IBW_PAGES_PVT;