[Home] [Help]
PACKAGE BODY: APPS.PA_PLANNING_RESOURCE_PUB
Source
1 PACKAGE BODY Pa_Planning_Resource_Pub AS
2 /* $Header: PAPRESPB.pls 120.0 2005/05/30 10:13:59 appldev noship $*/
3
4 /**************************************************************
5 * Procedure : Create_Planning_Resource
6 * Description : The purpose of this procedure is to Validate
7 * and create a new planning resource for a
8 * resource list.
9 * It first checks for the uniqueness of the
10 * p_resource_alias
11 * Calls Prog : pa_planning_resource_utils.Validate_Planning_Resource,
12 * pa_res_list_members_pkg.insert_row
13 * pa_planning_resource_utils. Get_Plan_Res_Combination
14 ****************************************************************/
15 PROCEDURE Create_Planning_Resource(
16 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
17 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
18 p_resource_list_id IN VARCHAR2,
19 P_planning_resource_in_tbl IN Planning_Resource_In_Tbl,
20 X_planning_resource_out_tbl OUT NOCOPY Planning_Resource_Out_Tbl,
21 x_return_status OUT NOCOPY VARCHAR2,
22 x_msg_count OUT NOCOPY NUMBER,
23 x_error_msg_data OUT NOCOPY VARCHAR2 )
24 IS
25 BEGIN
26 -- First clear the message stack.
27 IF FND_API.to_boolean( p_init_msg_list )
28 THEN
29 FND_MSG_PUB.initialize;
30 END IF;
31
32 /***************************************************************
33 * For Loop. To loop through the table of records and
34 * Validate each one of them and insert accordingly.
35 **************************************************************/
36 FOR i IN 1..P_Planning_Resource_In_Tbl.COUNT
37 LOOP
38 /*************************************************
39 * Assigning Initial values for some of the elements.
40 *************************************************/
41 x_msg_count := 0;
42 x_return_status := FND_API.G_RET_STS_SUCCESS;
43 /******************************************************
44 * Call to pa_planning_resource_pvt.create_planning_resource
45 * which would take care of the validation and creation
46 * of the resource list members. The table elements are being passed as
47 * parameters.
48 ******************************************************/
49 Pa_Planning_Resource_Pvt.Create_Planning_Resource
50 (p_resource_list_id => p_resource_list_id,
51 p_resource_list_member_id =>
52 P_planning_resource_in_tbl(i).p_resource_list_member_id,
53 p_resource_alias => P_planning_resource_in_tbl(i).p_resource_alias,
54 p_person_id => P_planning_resource_in_tbl(i).p_person_id,
55 p_person_name => P_planning_resource_in_tbl(i).p_person_name,
56 p_job_id => P_planning_resource_in_tbl(i).p_job_id,
57 p_job_name => P_planning_resource_in_tbl(i).p_job_name,
58 p_organization_id => P_planning_resource_in_tbl(i).p_organization_id,
59 p_organization_name => P_planning_resource_in_tbl(i).p_organization_name,
60 p_vendor_id => P_planning_resource_in_tbl(i).p_vendor_id,
61 p_vendor_name => P_planning_resource_in_tbl(i).p_vendor_name,
62 p_fin_category_name => P_planning_resource_in_tbl(i).p_fin_category_name,
63 p_non_labor_resource => P_planning_resource_in_tbl(i).p_non_labor_resource,
64 p_project_role_id => P_planning_resource_in_tbl(i).p_project_role_id,
65 p_project_role_name => P_planning_resource_in_tbl(i).p_project_role_name,
66 p_resource_class_id => P_planning_resource_in_tbl(i).p_resource_class_id,
67 p_resource_class_code => P_planning_resource_in_tbl(i).p_resource_class_code,
68 p_res_format_id => P_planning_resource_in_tbl(i).p_res_format_id,
69 p_spread_curve_id => P_planning_resource_in_tbl(i).p_spread_curve_id,
70 p_etc_method_code => P_planning_resource_in_tbl(i).p_etc_method_code,
71 p_mfc_cost_type_id => P_planning_resource_in_tbl(i).p_mfc_cost_type_id,
72 p_copy_from_rl_flag => P_planning_resource_in_tbl(i).p_copy_from_rl_flag,
73 p_resource_class_flag => P_planning_resource_in_tbl(i).p_resource_class_flag,
74 p_fc_res_type_code => P_planning_resource_in_tbl(i).p_fc_res_type_code,
75 p_inventory_item_id => P_planning_resource_in_tbl(i).p_inventory_item_id,
76 p_inventory_item_name => P_planning_resource_in_tbl(i).p_inventory_item_name,
77 p_item_category_id => P_planning_resource_in_tbl(i).p_item_category_id,
78 p_item_category_name => P_planning_resource_in_tbl(i).p_item_category_name,
79 p_migration_code => P_planning_resource_in_tbl(i).p_migration_code,
80 p_attribute_category => P_planning_resource_in_tbl(i).p_attribute_category,
81 p_attribute1 => P_planning_resource_in_tbl(i).p_attribute1,
82 p_attribute2 => P_planning_resource_in_tbl(i).p_attribute2,
83 p_attribute3 => P_planning_resource_in_tbl(i).p_attribute3,
84 p_attribute4 => P_planning_resource_in_tbl(i).p_attribute4,
85 p_attribute5 => P_planning_resource_in_tbl(i).p_attribute5,
86 p_attribute6 => P_planning_resource_in_tbl(i).p_attribute6,
87 p_attribute7 => P_planning_resource_in_tbl(i).p_attribute7,
88 p_attribute8 => P_planning_resource_in_tbl(i).p_attribute8,
89 p_attribute9 => P_planning_resource_in_tbl(i).p_attribute9,
90 p_attribute10 => P_planning_resource_in_tbl(i).p_attribute10,
91 p_attribute11 => P_planning_resource_in_tbl(i).p_attribute11,
92 p_attribute12 => P_planning_resource_in_tbl(i).p_attribute12,
93 p_attribute13 => P_planning_resource_in_tbl(i).p_attribute13,
94 p_attribute14 => P_planning_resource_in_tbl(i).p_attribute14,
95 p_attribute15 => P_planning_resource_in_tbl(i).p_attribute15,
96 p_attribute16 => P_planning_resource_in_tbl(i).p_attribute16,
97 p_attribute17 => P_planning_resource_in_tbl(i).p_attribute17,
98 p_attribute18 => P_planning_resource_in_tbl(i).p_attribute18,
99 p_attribute19 => P_planning_resource_in_tbl(i).p_attribute19,
100 p_attribute20 => P_planning_resource_in_tbl(i).p_attribute20,
101 p_attribute21 => P_planning_resource_in_tbl(i).p_attribute21,
102 p_attribute22 => P_planning_resource_in_tbl(i).p_attribute22,
103 p_attribute23 => P_planning_resource_in_tbl(i).p_attribute23,
104 p_attribute24 => P_planning_resource_in_tbl(i).p_attribute24,
105 p_attribute25 => P_planning_resource_in_tbl(i).p_attribute25,
106 p_attribute26 => P_planning_resource_in_tbl(i).p_attribute26,
107 p_attribute27 => P_planning_resource_in_tbl(i).p_attribute27,
108 p_attribute28 => P_planning_resource_in_tbl(i).p_attribute28,
109 p_attribute29 => P_planning_resource_in_tbl(i).p_attribute29,
110 p_attribute30 => P_planning_resource_in_tbl(i).p_attribute30,
111 p_person_type_code => P_planning_resource_in_tbl(i).p_person_type_code,
112 p_bom_resource_id => P_planning_resource_in_tbl(i).p_bom_resource_id,
113 p_bom_resource_name => P_planning_resource_in_tbl(i).p_bom_resource_name,
114 p_team_role => P_planning_resource_in_tbl(i).p_team_role,
115 p_incur_by_res_code => P_planning_resource_in_tbl(i).p_incur_by_res_code,
116 p_incur_by_res_type => P_planning_resource_in_tbl(i).p_incur_by_res_type,
117 x_resource_list_member_id =>
118 x_planning_resource_out_tbl(i).x_resource_list_member_id,
119 x_record_version_number =>
120 x_planning_resource_out_tbl(i).x_record_version_number,
121 x_return_status => x_return_status,
122 x_msg_count => x_msg_count ,
123 x_error_msg_data => x_error_msg_data);
124
125 END LOOP;
126 /************************************************
127 * Check the Commit flag. if it is true then Commit.
128 ***********************************************/
129 IF FND_API.to_boolean( p_commit )
130 THEN
131 COMMIT;
132 END IF;
133 /***************/
134
135 /***************************************/
136 END Create_Planning_Resource;
137 /*****************************************************/
138
139 /**************************************************************
140 * Procedure : Create_Planning_Resource
141 * Description : The purpose of this procedure is to Validate
142 * and create a new planning resource for a
143 * resource list.
144 * Calls Prog : pa_Planning_resource_pvt.Create_Planning_Resource
145 ****************************************************************/
146 PROCEDURE Create_Planning_Resource(
147 p_resource_list_id IN VARCHAR2,
148 p_resource_list_member_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
149 p_resource_alias IN SYSTEM.PA_VARCHAR2_80_TBL_TYPE DEFAULT NULL,
150 p_person_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
151 --Bug 3593613
152 p_person_name IN SYSTEM.PA_VARCHAR2_240_TBL_TYPE DEFAULT NULL,
153 p_job_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
154 -- Bug 3593613
155 p_job_name IN SYSTEM.PA_VARCHAR2_240_TBL_TYPE DEFAULT NULL,
156 p_organization_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
157 p_organization_name IN SYSTEM.PA_VARCHAR2_240_TBL_TYPE DEFAULT NULL,
158 p_vendor_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
159 --Bug 3592496
160 p_vendor_name IN SYSTEM.PA_VARCHAR2_240_TBL_TYPE DEFAULT NULL,
161 p_fin_category_name IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
162 p_non_labor_resource IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
163 p_project_role_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
164 p_project_role_name IN SYSTEM.PA_VARCHAR2_80_TBL_TYPE DEFAULT NULL,
165 p_resource_class_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
166 p_resource_class_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
167 p_res_format_id IN SYSTEM.PA_NUM_TBL_TYPE ,
168 p_spread_curve_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
169 p_etc_method_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
170 p_mfc_cost_type_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
171 p_copy_from_rl_flag IN SYSTEM.PA_VARCHAR2_1_TBL_TYPE DEFAULT NULL,
172 p_resource_class_flag IN SYSTEM.PA_VARCHAR2_1_TBL_TYPE DEFAULT NULL,
173 p_fc_res_type_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
174 p_inventory_item_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
175 p_inventory_item_name IN SYSTEM.PA_VARCHAR2_80_TBL_TYPE DEFAULT NULL,
176 p_item_category_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
177 p_item_category_name IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
178 p_migration_code IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE ,
179 p_attribute_category IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
180 p_attribute1 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
181 p_attribute2 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
182 p_attribute3 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
183 p_attribute4 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
184 p_attribute5 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
185 p_attribute6 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
186 p_attribute7 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
187 p_attribute8 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
188 p_attribute9 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
189 p_attribute10 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
190 p_attribute11 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
191 p_attribute12 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
192 p_attribute13 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
193 p_attribute14 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
194 p_attribute15 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
195 p_attribute16 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
196 p_attribute17 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
197 p_attribute18 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
198 p_attribute19 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
199 p_attribute20 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
200 p_attribute21 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
201 p_attribute22 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
202 p_attribute23 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
203 p_attribute24 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
204 p_attribute25 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
205 p_attribute26 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
206 p_attribute27 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
207 p_attribute28 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
208 p_attribute29 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
209 p_attribute30 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
210 p_person_type_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
211 p_bom_resource_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
212 p_bom_resource_name IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
213 p_team_role IN SYSTEM.PA_VARCHAR2_80_TBL_TYPE DEFAULT NULL,
214 p_incur_by_res_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
215 p_incur_by_res_type IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
216 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
217 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
218 p_project_id IN NUMBER DEFAULT NULL,
219 x_resource_list_member_id OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE ,
220 x_record_version_number OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE ,
221 x_return_status OUT NOCOPY VARCHAR2 ,
222 x_msg_count OUT NOCOPY NUMBER ,
223 x_error_msg_data OUT NOCOPY VARCHAR2 )
224 IS
225 BEGIN
226 x_record_version_number := SYSTEM.PA_NUM_TBL_TYPE();
227 x_resource_list_member_id := SYSTEM.PA_NUM_TBL_TYPE();
228 x_record_version_number.extend(p_res_format_id.count) ;
229 x_resource_list_member_id.extend(p_res_format_id.count) ;
230
231 -- First clear the message stack.
232 IF FND_API.to_boolean(p_init_msg_list)
233 THEN
234 FND_MSG_PUB.initialize;
235 END IF;
236
237 /***************************************************************
238 * For Loop. To loop through the table of records and
239 * Validate each one of them and insert accordingly.
240 **************************************************************/
241 FOR i IN p_res_format_id.first..p_res_format_id.last
242 LOOP
243 /*************************************************
244 * Assigning Initial values for some of the elements.
245 *************************************************/
246 x_msg_count := 0;
247 x_return_status := FND_API.G_RET_STS_SUCCESS;
248 /******************************************************
249 * Call to pa_planning_resource_pvt.create_planning_resource
250 * which would take care of the validation and creation
251 * of the resource list members. The table elements are being passed as
252 * parameters.
253 ******************************************************/
254 Pa_Planning_Resource_Pvt.Create_Planning_Resource
255 (p_resource_list_id => p_resource_list_id,
256 p_project_id => p_project_id,
257 p_resource_list_member_id => p_resource_list_member_id(i),
261 p_job_id => p_job_id(i),
258 p_resource_alias => p_resource_alias(i),
259 p_person_id => p_person_id(i),
260 p_person_name => p_person_name(i),
262 p_job_name => p_job_name(i),
263 p_organization_id => p_organization_id(i),
264 p_organization_name => p_organization_name(i),
265 p_vendor_id => p_vendor_id(i),
266 p_vendor_name => p_vendor_name(i),
267 p_fin_category_name => p_fin_category_name(i),
268 p_non_labor_resource => p_non_labor_resource(i),
269 p_project_role_id => p_project_role_id(i),
270 p_project_role_name => p_project_role_name(i),
271 p_resource_class_id => p_resource_class_id(i),
272 p_resource_class_code => P_resource_class_code(i),
273 p_res_format_id => p_res_format_id(i),
274 p_spread_curve_id => p_spread_curve_id(i),
275 p_etc_method_code => p_etc_method_code(i),
276 p_mfc_cost_type_id => p_mfc_cost_type_id(i),
277 p_copy_from_rl_flag => p_copy_from_rl_flag(i),
278 p_resource_class_flag => p_resource_class_flag(i),
279 p_fc_res_type_code => p_fc_res_type_code(i),
280 p_inventory_item_id => p_inventory_item_id(i),
281 p_inventory_item_name => p_inventory_item_name(i),
282 p_item_category_id => p_item_category_id(i),
283 p_item_category_name => p_item_category_name(i),
284 p_migration_code => p_migration_code(i),
285 p_attribute_category => p_attribute_category(i),
286 p_attribute1 => p_attribute1(i),
287 p_attribute2 => p_attribute2(i),
288 p_attribute3 => p_attribute3(i),
289 p_attribute4 => p_attribute4(i),
290 p_attribute5 => p_attribute5(i),
291 p_attribute6 => p_attribute6(i),
292 p_attribute7 => p_attribute7(i),
293 p_attribute8 => p_attribute8(i),
294 p_attribute9 => p_attribute9(i),
295 p_attribute10 => p_attribute10(i),
296 p_attribute11 => p_attribute11(i),
297 p_attribute12 => p_attribute12(i),
298 p_attribute13 => p_attribute13(i),
299 p_attribute14 => p_attribute14(i),
300 p_attribute15 => p_attribute15(i),
301 p_attribute16 => p_attribute16(i),
302 p_attribute17 => p_attribute17(i),
303 p_attribute18 => p_attribute18(i),
304 p_attribute19 => p_attribute19(i),
305 p_attribute20 => p_attribute20(i),
306 p_attribute21 => p_attribute21(i),
307 p_attribute22 => p_attribute22(i),
308 p_attribute23 => p_attribute23(i),
309 p_attribute24 => p_attribute24(i),
310 p_attribute25 => p_attribute25(i),
311 p_attribute26 => p_attribute26(i),
312 p_attribute27 => p_attribute27(i),
313 p_attribute28 => p_attribute28(i),
314 p_attribute29 => p_attribute29(i),
315 p_attribute30 => p_attribute30(i),
316 p_person_type_code => p_person_type_code(i),
317 p_bom_resource_id => p_bom_resource_id(i),
318 p_bom_resource_name => p_bom_resource_name(i),
319 p_team_role => p_team_role(i),
320 p_incur_by_res_code => p_incur_by_res_code(i),
321 p_incur_by_res_type => p_incur_by_res_type(i),
322 x_resource_list_member_id => x_resource_list_member_id(i),
323 x_record_version_number => x_record_version_number(i),
324 x_return_status => x_return_status,
325 x_msg_count => x_msg_count,
326 x_error_msg_data => x_error_msg_data);
327
328 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
329 RETURN;
330 END IF;
331 END LOOP;
332
333 /************************************************
334 * Check the Commit flag. if it is true then Commit.
335 ***********************************************/
336 IF FND_API.to_boolean( p_commit )
337 THEN
338 COMMIT;
339 END IF;
340 /***************/
341
342 END Create_Planning_Resource;
343
344 /***************************************************
345 * Procedure : Update_Planning_Resource
346 * Description : The purpose of this procedure is to
347 * Validate and update attributes on an existing
348 * planning resource for a resource list.
349 * It first checks for the Uniqueness of the
350 * resource list. If it is Unique then it updates
351 * the table PA_RESOURCE_LIST_MEMBERS
352 * with the values passed.
353 * Calls Prog : Pa_Planning_Resource_Utils.Get_Plan_Res_Combination
354 * pa_res_list_members_pkg.update_row
355 ******************************************************/
356 PROCEDURE Update_Planning_Resource
357 (p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
358 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
359 p_resource_list_id IN NUMBER,
360 p_enabled_flag IN VARCHAR2,
361 P_planning_resource_in_tbl IN Planning_Resource_In_Tbl,
362 X_planning_resource_out_tbl OUT NOCOPY Planning_Resource_Out_Tbl,
363 x_return_status OUT NOCOPY VARCHAR2,
364 x_msg_count OUT NOCOPY NUMBER,
365 x_error_msg_data OUT NOCOPY VARCHAR2 )
366 IS
367 BEGIN
368
369 -- First clear the message stack.
370 IF FND_API.to_boolean( p_init_msg_list )
371 THEN
372 FND_MSG_PUB.initialize;
373 END IF;
374
375 FOR i IN 1..P_Planning_Resource_In_Tbl.COUNT
376 LOOP
380 pa_planning_resource_pvt.Update_Planning_Resource(
377 x_msg_count := 0;
378 x_return_status := FND_API.G_RET_STS_SUCCESS;
379
381 p_resource_list_id => p_resource_list_id,
382 p_resource_list_member_id =>
383 p_planning_resource_in_tbl(i).p_resource_list_member_id,
384 p_enabled_flag =>p_enabled_flag,
385 p_resource_alias => P_planning_resource_in_tbl(i).p_resource_alias,
386 p_spread_curve_id => P_planning_resource_in_tbl(i).p_spread_curve_id,
387 p_etc_method_code => P_planning_resource_in_tbl(i).p_etc_method_code,
388 p_mfc_cost_type_id =>
389 P_planning_resource_in_tbl(i).p_mfc_cost_type_id,
390 p_attribute_category =>
391 P_planning_resource_in_tbl(i).p_attribute_category,
392 p_attribute1 => P_planning_resource_in_tbl(i).p_attribute1,
393 p_attribute2 => P_planning_resource_in_tbl(i).p_attribute2,
394 p_attribute3 => P_planning_resource_in_tbl(i).p_attribute3,
395 p_attribute4 => P_planning_resource_in_tbl(i).p_attribute4,
396 p_attribute5 => P_planning_resource_in_tbl(i).p_attribute5,
397 p_attribute6 => P_planning_resource_in_tbl(i).p_attribute6,
398 p_attribute7 => P_planning_resource_in_tbl(i).p_attribute7,
399 p_attribute8 => P_planning_resource_in_tbl(i).p_attribute8,
400 p_attribute9 => P_planning_resource_in_tbl(i).p_attribute9,
401 p_attribute10 => P_planning_resource_in_tbl(i).p_attribute10,
402 p_attribute11 => P_planning_resource_in_tbl(i).p_attribute11,
403 p_attribute12 => P_planning_resource_in_tbl(i).p_attribute12,
404 p_attribute13 => P_planning_resource_in_tbl(i).p_attribute13,
405 p_attribute14 => P_planning_resource_in_tbl(i).p_attribute14,
406 p_attribute15 => P_planning_resource_in_tbl(i).p_attribute15,
407 p_attribute16 => P_planning_resource_in_tbl(i).p_attribute16,
408 p_attribute17 => P_planning_resource_in_tbl(i).p_attribute17,
409 p_attribute18 => P_planning_resource_in_tbl(i).p_attribute18,
410 p_attribute19 => P_planning_resource_in_tbl(i).p_attribute19,
411 p_attribute20 => P_planning_resource_in_tbl(i).p_attribute20,
412 p_attribute21 => P_planning_resource_in_tbl(i).p_attribute21,
413 p_attribute22 => P_planning_resource_in_tbl(i).p_attribute22,
414 p_attribute23 => P_planning_resource_in_tbl(i).p_attribute23,
415 p_attribute24 => P_planning_resource_in_tbl(i).p_attribute24,
416 p_attribute25 => P_planning_resource_in_tbl(i).p_attribute25,
417 p_attribute26 => P_planning_resource_in_tbl(i).p_attribute26,
418 p_attribute27 => P_planning_resource_in_tbl(i).p_attribute27,
419 p_attribute28 => P_planning_resource_in_tbl(i).p_attribute28,
420 p_attribute29 => P_planning_resource_in_tbl(i).p_attribute29,
421 p_attribute30 => P_planning_resource_in_tbl(i).p_attribute30,
422 p_record_version_number =>
423 p_planning_resource_in_tbl(i).p_record_version_number,
424 x_record_version_number =>
425 x_planning_resource_out_tbl(i).x_record_version_number,
426 x_return_status => x_return_status,
427 x_msg_count => x_msg_count ,
428 x_error_msg_data => x_error_msg_data);
429
430 END LOOP;
431
432 /************************************************
433 * Check the Commit flag. if it is true then Commit.
434 ***********************************************/
435 IF FND_API.to_boolean( p_commit )
436 THEN
437 COMMIT;
438 END IF;
439 /***************/
440 END Update_Planning_Resource;
441 /************************************/
442
443 PROCEDURE Update_Planning_Resource(
444 p_resource_list_id IN NUMBER,
445 p_resource_list_member_id IN SYSTEM.PA_NUM_TBL_TYPE,
446 p_enabled_flag IN VARCHAR2,
447 p_resource_alias IN SYSTEM.PA_VARCHAR2_80_TBL_TYPE ,
448 p_spread_curve_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
449 p_etc_method_code IN SYSTEM.PA_VARCHAR2_30_TBL_TYPE DEFAULT NULL,
450 p_mfc_cost_type_id IN SYSTEM.PA_NUM_TBL_TYPE DEFAULT NULL,
451 p_attribute_category IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
452 p_attribute1 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
453 p_attribute2 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
454 p_attribute3 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
455 p_attribute4 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
456 p_attribute5 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
457 p_attribute6 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
458 p_attribute7 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
459 p_attribute8 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
460 p_attribute9 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
461 p_attribute10 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
462 p_attribute11 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
463 p_attribute12 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
464 p_attribute13 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
465 p_attribute14 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
466 p_attribute15 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
467 p_attribute16 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
468 p_attribute17 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
469 p_attribute18 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
470 p_attribute19 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
474 p_attribute23 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
471 p_attribute20 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
472 p_attribute21 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
473 p_attribute22 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
475 p_attribute24 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
476 p_attribute25 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
477 p_attribute26 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
478 p_attribute27 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
479 p_attribute28 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
480 p_attribute29 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
481 p_attribute30 IN SYSTEM.PA_VARCHAR2_150_TBL_TYPE DEFAULT NULL,
482 p_record_version_number IN SYSTEM.PA_NUM_TBL_TYPE ,
483 p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
484 p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
485 x_record_version_number OUT NOCOPY SYSTEM.PA_NUM_TBL_TYPE ,
486 x_return_status OUT NOCOPY VARCHAR2 ,
487 x_msg_count OUT NOCOPY NUMBER ,
488 x_error_msg_data OUT NOCOPY VARCHAR2 )
489 IS
490 BEGIN
491 -- First clear the message stack.
492 IF FND_API.to_boolean( p_init_msg_list )
493 THEN
494 FND_MSG_PUB.initialize;
495 END IF;
496 x_record_version_number := SYSTEM.PA_NUM_TBL_TYPE();
497 x_record_version_number.extend(p_resource_list_member_id.count) ;
498
499 /***************************************************************
500 * For Loop. To loop through the table of records and
501 * Validate each one of them and insert accordingly.
502 **************************************************************/
503
504 FOR i IN 1..p_resource_list_member_id.COUNT
505 LOOP
506 x_msg_count := 0;
507 x_return_status := FND_API.G_RET_STS_SUCCESS;
508
509 Pa_Planning_Resource_Pvt.Update_Planning_Resource
510 (p_resource_list_id =>p_resource_list_id,
511 p_resource_list_member_id =>p_resource_list_member_id(i),
512 p_enabled_flag => p_enabled_flag,
513 p_resource_alias => p_resource_alias(i) ,
514 p_spread_curve_id =>p_spread_curve_id(i),
515 p_etc_method_code =>p_etc_method_code(i),
516 p_mfc_cost_type_id =>p_mfc_cost_type_id(i),
517 p_attribute_category =>p_attribute_category(i),
518 p_attribute1 =>p_attribute1(i),
519 p_attribute2 =>p_attribute2(i),
520 p_attribute3 =>p_attribute3(i),
521 p_attribute4 =>p_attribute4(i),
522 p_attribute5 =>p_attribute5(i),
523 p_attribute6 =>p_attribute6(i),
524 p_attribute7 =>p_attribute7(i),
525 p_attribute8 =>p_attribute8(i),
526 p_attribute9 =>p_attribute9(i),
527 p_attribute10 =>p_attribute10(i),
528 p_attribute11 =>p_attribute11(i),
529 p_attribute12 =>p_attribute12(i),
530 p_attribute13 =>p_attribute13(i),
531 p_attribute14 =>p_attribute14(i),
532 p_attribute15 =>p_attribute15(i),
533 p_attribute16 =>p_attribute16(i),
534 p_attribute17 =>p_attribute17(i),
535 p_attribute18 =>p_attribute18(i),
536 p_attribute19 =>p_attribute19(i),
537 p_attribute20 =>p_attribute20(i),
538 p_attribute21 =>p_attribute21(i),
539 p_attribute22 =>p_attribute22(i),
540 p_attribute23 =>p_attribute23(i),
541 p_attribute24 =>p_attribute24(i),
542 p_attribute25 =>p_attribute25(i),
543 p_attribute26 =>p_attribute26(i),
544 p_attribute27 =>p_attribute27(i),
545 p_attribute28 =>p_attribute28(i),
546 p_attribute29 =>p_attribute29(i),
547 p_attribute30 =>p_attribute30(i),
548 p_record_version_number => p_record_version_number(i),
549 x_record_version_number =>x_record_version_number(i),
550 x_return_status =>x_return_status,
551 x_msg_count => x_msg_count,
552 x_error_msg_data => x_error_msg_data);
553
554 END LOOP;
555
556 /************************************************
557 * Check the Commit flag. if it is true then Commit.
558 ***********************************************/
559 IF FND_API.to_boolean( p_commit )
560 THEN
561 COMMIT;
562 END IF;
563 /***************/
564
565 END Update_Planning_Resource;
566
567 /*************************************************
568 * Procedure : Delete_Planning_Resource
569 * Description : The purpose of this procedure is to
570 * delete a planning resource if it is not
571 * being used, else disable it.
572 * Further details in the Body.
573 * Calls prog : pa_planning_resource_pub.delete_row
574 ***************************************************/
575 PROCEDURE Delete_Planning_Resource(
576 p_resource_list_member_id IN SYSTEM.PA_NUM_TBL_TYPE,
577 p_commit IN VARCHAR2,
578 p_init_msg_list IN VARCHAR2,
579 x_return_status OUT NOCOPY VARCHAR2,
580 x_msg_count OUT NOCOPY NUMBER,
581 x_error_msg_data OUT NOCOPY VARCHAR2)
582
583 IS
584 BEGIN
585 -- First clear the message stack.
586 IF FND_API.to_boolean( p_init_msg_list )
587 THEN
588 FND_MSG_PUB.initialize;
589 END IF;
593 * We are checking from pa_resource_assignments table.
590 /********************************************
591 * To Check if resource_list member is currently being
592 * used in a planning transaction.
594 *************************************************/
595 FOR i in 1..p_resource_list_member_id.COUNT
596 LOOP
597 pa_planning_resource_pvt.delete_planning_resource
598 (p_resource_list_member_id =>p_resource_list_member_id(i),
599 x_return_status =>x_return_status,
600 x_msg_count =>x_msg_count,
601 x_error_msg_data =>x_error_msg_data);
602
603
604 END LOOP;
605 /************************************************
606 * Check the Commit flag. if it is true then Commit.
607 ***********************************************/
608 IF FND_API.to_boolean( p_commit )
609 THEN
610 COMMIT;
611 END IF;
612 /***************/
613 END Delete_Planning_Resource;
614
615 END Pa_Planning_Resource_Pub;