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