1 package body PA_PAGE_TYPE_REGION_PVT as
2 /* $Header: PAPLPTVB.pls 120.1 2005/08/19 16:41:42 mwasowic noship $ */
3
4 PROCEDURE Create_Page_Type_Region
5 (
6 p_api_version IN NUMBER := 1.0,
7 p_init_msg_list IN VARCHAR2 := 'T',
8 p_commit IN VARCHAR2 := 'F',
9 p_validate_only IN VARCHAR2 := 'T',
10 p_max_msg_count IN NUMBER := 1.7E20,
11
12 P_PAGE_TYPE_CODE in VARCHAR2,
13 P_REGION_SOURCE_TYPE in VARCHAR2,
14 P_REGION_SOURCE_CODE in VARCHAR2,
15
16 P_VIEW_REGION_CODE in VARCHAR2,
17 P_EDIT_REGION_CODE in VARCHAR2,
18 P_REGION_STYLE in VARCHAR2 := null,
19 P_DISPLAY_ORDER in NUMBER := null,
20 P_MANDATORY_FLAG in VARCHAR2 := null,
21 P_DEFAULT_REGION_POSITION in VARCHAR2 := null,
22 P_PLACEHOLDER_REGION_FLAG in VARCHAR2:=null,
23 P_START_DATE_ACTIVE in DATE,
24 P_END_DATE_ACTIVE in DATE,
25 P_DOCUMENT_SOURCE in VARCHAR2 := null,
26 P_PAGE_FUNCTION_NAME in VARCHAR2 := null,
27 P_SECURITY_FUNCTION_NAME in VARCHAR2 := null,
28 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
29 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
30 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
31 ) IS
32
33 CURSOR get_template_type
34 is
35 SELECT meaning FROM pa_lookups pl
36 WHERE lookup_type = 'PA_PAGE_TYPES'
37 AND lookup_code = p_page_type_code;
38
39 l_type VARCHAR2(250);
40
41 BEGIN
42 -- Initialize the Error Stack
43 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PVT.Create_Page_Type_Region');
44
45 -- Initialize the return status to success
46 x_return_status := FND_API.G_RET_STS_SUCCESS;
47
48 -- Issue API savepoint if the transaction is to be committed
49 IF p_commit = FND_API.G_TRUE THEN
50 SAVEPOINT PAGE_TYPE_REGION_PVT_CREATE;
51 END IF;
52
53 OPEN get_template_type;
54 FETCH get_template_type INTO l_type;
55 CLOSE get_template_type;
56
57
58
59 -- check the page type is not null
60 IF (p_page_type_code IS NULL OR p_page_type_code = FND_API.g_miss_char)THEN
61 PA_UTILS.Add_Message( p_app_short_name => 'PA'
62 ,p_msg_name => 'PA_PAGE_TYPE_INV'
63 , p_token1 => 'TEMPLATE_TYPE'
64 , p_value1 => l_type);
65 x_return_status := FND_API.G_RET_STS_ERROR;
66 END IF;
67
68 -- check the end date and start date
69 IF (p_end_date_active IS NOT NULL AND p_end_date_active < p_start_date_active) THEN
70 PA_UTILS.Add_Message( p_app_short_name => 'PA'
71 ,p_msg_name => 'PA_EFFECTIVE_ED_DATE_INV');
72
73 x_return_status := FND_API.G_RET_STS_ERROR;
74 END IF;
75
76
77 IF (p_validate_only <>FND_API.g_true AND x_return_status = FND_API.g_ret_sts_success) then
78
79 pa_page_type_region_pkg.Insert_page_type_region_Row
80 (
81 p_page_type_code => p_page_type_code,
82 P_REGION_SOURCE_TYPE => p_region_source_type,
83 P_REGION_SOURCE_CODE => p_region_source_code,
84
85 P_VIEW_REGION_CODE => p_view_region_code,
86 P_EDIT_REGION_CODE => p_edit_region_code,
87 P_REGION_STYLE => p_region_style,
88 P_DISPLAY_ORDER => p_display_order,
89 P_MANDATORY_FLAG => p_mandatory_flag,
90 P_DEFAULT_REGION_POSITION => p_default_region_position,
91 P_PLACEHOLDER_REGION_FLAG => p_placeholder_region_flag,
92 P_START_DATE_ACTIVE => P_START_DATE_ACTIVE,
93 P_END_DATE_ACTIVE => p_end_date_active,
94 p_document_source=> P_DOCUMENT_SOURCE,
95 P_PAGE_FUNCTION_NAME => p_page_function_name,
96 P_SECURITY_FUNCTION_NAME => p_security_function_name
97 );
98
99 END IF;
100
101
102 -- Commit if the flag is set and there is no error
103 IF (p_commit = FND_API.G_TRUE AND x_return_status = FND_API.g_ret_sts_success )THEN
104 COMMIT;
105 END IF;
106
107 -- Reset the error stack when returning to the calling program
108 PA_DEBUG.Reset_Err_Stack;
109
110
111 EXCEPTION
112 WHEN OTHERS THEN
113 IF p_commit = FND_API.G_TRUE THEN
114 ROLLBACK TO PAGE_TYPE_REGION_PVT_CREATE;
115 END IF;
116 --
117 -- Set the excetption Message and the stack
118 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PAGE_TYPE_REGION_PVT.Create_Page_Type_Region'
119 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
120 --
121 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
122 RAISE; -- This is optional depending on the needs
123
124 END create_page_type_region;
125
126
127
128 PROCEDURE Update_Page_type_region
129 (
130 p_api_version IN NUMBER := 1.0,
131 p_init_msg_list IN VARCHAR2 := 'T',
132 p_commit IN VARCHAR2 := 'F',
133 p_validate_only IN VARCHAR2 := 'T',
134 p_max_msg_count IN NUMBER := 1.7E20,
135
136 P_PAGE_TYPE_CODE in VARCHAR2,
137 P_REGION_SOURCE_TYPE in VARCHAR2,
138 P_REGION_SOURCE_CODE in VARCHAR2,
139
140 P_VIEW_REGION_CODE in VARCHAR2,
141 P_EDIT_REGION_CODE in VARCHAR2,
142 P_REGION_STYLE in VARCHAR2 := '^',
143 P_DISPLAY_ORDER in NUMBER := 1.7E20,
144 P_MANDATORY_FLAG in VARCHAR2 := '^',
145 P_DEFAULT_REGION_POSITION in VARCHAR2 := '^',
146 P_PLACEHOLDER_REGION_FLAG in VARCHAR2 := '^',
147 P_START_DATE_ACTIVE in DATE,
148 P_END_DATE_ACTIVE in DATE,
149 P_DOCUMENT_SOURCE in VARCHAR2 := null,
150 P_PAGE_FUNCTION_NAME in VARCHAR2 := null,
151 P_SECURITY_FUNCTION_NAME in VARCHAR2 := null,
152 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
153 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
154 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
155 ) IS
156
157
158 BEGIN
159
160 -- Initialize the Error Stack
161 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PVT.Update_Page_Type_Region');
162
163 -- Initialize the return status to success
164 x_return_status := FND_API.G_RET_STS_SUCCESS;
165
166 -- Issue API savepoint if the transaction is to be committed
167 IF p_commit = FND_API.G_TRUE THEN
168 SAVEPOINT page_type_REGION_PVT_UPDATE;
169 END IF;
170
171
172 IF (p_end_date_active IS NOT NULL AND p_end_date_active < p_start_date_active) THEN
173 PA_UTILS.Add_Message( p_app_short_name => 'PA'
174 ,p_msg_name => 'PA_EFFECTIVE_ED_DATE_INV');
175
176 x_return_status := FND_API.G_RET_STS_ERROR;
177 END IF;
178
179
180 IF (p_validate_only <>FND_API.g_true AND x_return_status = FND_API.g_ret_sts_success) then
181
182 pa_page_type_region_pkg.Update_page_type_region_Row
183 (
184 p_page_type_code => p_page_type_code,
185 P_REGION_SOURCE_TYPE => p_region_source_type,
186 P_REGION_SOURCE_CODE => p_region_source_code,
187
188 P_VIEW_REGION_CODE => p_view_region_code,
189 P_EDIT_REGION_CODE => p_edit_region_code,
190 P_REGION_STYLE => p_region_style,
191 P_DISPLAY_ORDER => p_display_order,
192 P_MANDATORY_FLAG => p_mandatory_flag,
193 P_DEFAULT_REGION_POSITION => p_default_region_position,
194 P_PLACEHOLDER_REGION_FLAG => p_placeholder_region_flag,
195 P_START_DATE_ACTIVE => P_START_DATE_ACTIVE,
196 P_END_DATE_ACTIVE => p_end_date_active,
197 p_document_source => P_DOCUMENT_SOURCE,
198 P_PAGE_FUNCTION_NAME => p_page_function_name,
199 P_SECURITY_FUNCTION_NAME => p_security_function_name
200 );
201
202 END IF;
203
204 -- Commit if the flag is set and there is no error
205 IF (p_commit = FND_API.G_TRUE AND x_return_status = FND_API.g_ret_sts_success) THEN
206 COMMIT;
207 END IF;
208
209 -- Reset the error stack when returning to the calling program
210 PA_DEBUG.Reset_Err_Stack;
211
212
213 EXCEPTION
214 WHEN NO_DATA_FOUND then
215 PA_UTILS.Add_Message ( p_app_short_name => 'PA'
216 ,p_msg_name => 'PA_XC_RECORD_CHANGED');
217 x_return_status := FND_API.G_RET_STS_ERROR;
218 IF p_commit = FND_API.G_TRUE THEN
219 ROLLBACK TO PAGE_TYPE_REGION_PVT_UPDATE;
220 END IF;
221 --RAISE;
222 WHEN OTHERS THEN
223 IF p_commit = FND_API.G_TRUE THEN
224 ROLLBACK TO PAGE_TYPE_REGION_PVT_UPDATE;
225 END IF;
226 --
227 -- Set the excetption Message and the stack
228 FND_MSG_PUB.add_exc_msg ( p_pkg_name => 'PA_PAGE_TYPE_REGION_PVT.Update_Page_Type_Region'
229 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
230 --
231 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
232 RAISE; -- This is optional depending on the needs
233
234 END update_page_type_region;
235
236
237
238 PROCEDURE Delete_Page_Type_Region
239 (
240 p_api_version IN NUMBER := 1.0,
241 p_init_msg_list IN VARCHAR2 := fnd_api.g_true,
242 p_commit IN VARCHAR2 := FND_API.g_false,
243 p_validate_only IN VARCHAR2 := FND_API.g_true,
244 p_max_msg_count IN NUMBER := FND_API.g_miss_num,
245
246 p_rowid IN VARCHAR2 := NULL,
247 P_PAGE_TYPE_CODE in VARCHAR2 := NULL,
248 P_REGION_SOURCE_TYPE in VARCHAR2 := NULL,
249 P_REGION_SOURCE_CODE in VARCHAR2 := NULL,
250
251 x_return_status OUT NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
252 x_msg_count OUT NOCOPY NUMBER, --File.Sql.39 bug 4440895
253 x_msg_data OUT NOCOPY VARCHAR2 --File.Sql.39 bug 4440895
254 ) IS
255
256 BEGIN
257
258 -- Initialize the Error Stack
259 PA_DEBUG.init_err_stack('PA_PAGE_TYPE_REGION_PVT.Delete_Page_Type_Region');
260
261
262 x_return_status := FND_API.G_RET_STS_SUCCESS;
263
264 -- Issue API savepoint if the transaction is to be committed
265 IF p_commit = FND_API.G_TRUE THEN
266 SAVEPOINT PAGE_TYPE_REGION_PVT_DELETE;
267 END IF;
268
269
270 IF (p_validate_only = FND_API.g_false) THEN
271 PA_PAGE_TYPE_REGION_PKG.Delete_page_type_region_Row
272 (
273 p_rowid => p_rowid,
274 p_page_type_code => p_page_type_code,
275 P_REGION_SOURCE_TYPE => p_region_source_type,
276 P_REGION_SOURCE_CODE => p_region_source_code
277 );
278 END IF;
279
280
281
282 -- Commit if the flag is set and there is no error
283 IF (p_commit = FND_API.G_TRUE AND x_return_status = FND_API.G_RET_STS_SUCCESS ) THEN
284 COMMIT;
285 END IF;
286
287 -- Reset the error stack when returning to the calling program
288 PA_DEBUG.Reset_Err_Stack;
289
290
291 EXCEPTION
292 WHEN OTHERS THEN
293 IF p_commit = FND_API.G_TRUE THEN
294 ROLLBACK TO PAGE_TYPE_REGION_PVT_DELETE;
295 END IF;
296
297 -- Set the excetption Message and the stack
298 FND_MSG_PUB.add_exc_msg( p_pkg_name => 'PA_PAGE_TYPE_REGION_PVT.Delete_Page_Type_Region'
299 ,p_procedure_name => PA_DEBUG.G_Err_Stack );
300 --
301 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
302 RAISE; -- This is optional depending on the needs
303
304 END delete_page_type_region;
305
306
307 END PA_PAGE_TYPE_REGION_PVT;
308