1 PACKAGE BODY WIP_Validate_Res AS
2 /* $Header: WIPLRESB.pls 115.11 2002/11/28 11:43:17 rmahidha ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'WIP_Validate_Res';
7
8 -- Procedure Entity
9
10 PROCEDURE Entity
11 ( x_return_status OUT NOCOPY VARCHAR2
12 , p_validation_level IN NUMBER DEFAULT NULL
13 , p_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
14 , p_old_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
15 )
16 IS
17 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18 l_dummy VARCHAR2(10) := NULL;
19 BEGIN
20
21 IF nvl(p_validation_level,WIP_Transaction_PVT.COMPLETE) = WIP_Transaction_PVT.NONE then
22 x_return_status := l_return_status;
23 return;
24 END IF;
25
26 -- Check required Resource/OSP attributes.
27
28 IF p_Res_rec.acct_period_id IS NULL
29 THEN
30 l_return_status := FND_API.G_RET_STS_ERROR;
31
32 WIP_Globals.Add_Error_Message(
33 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
34 p_token1_name => 'ATTRIBUTE',
35 p_token1_value => 'acct_period_id');
36 END IF;
37
38 IF p_Res_rec.autocharge_type IS NULL
39 THEN
40 l_return_status := FND_API.G_RET_STS_ERROR;
41
42 WIP_Globals.Add_Error_Message(
43 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
44 p_token1_name => 'ATTRIBUTE',
45 p_token1_value => 'autocharge_type');
46 END IF;
47
48 IF p_Res_rec.basis_type IS NULL
49 THEN
50 l_return_status := FND_API.G_RET_STS_ERROR;
51
52 WIP_Globals.Add_Error_Message(
53 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
54 p_token1_name => 'ATTRIBUTE',
55 p_token1_value => 'basis_type');
56 END IF;
57
58 IF p_Res_rec.department_code IS NULL
59 THEN
60 l_return_status := FND_API.G_RET_STS_ERROR;
61
62 WIP_Globals.Add_Error_Message(
63 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
64 p_token1_name => 'ATTRIBUTE',
65 p_token1_value => 'department_code');
66 END IF;
67
68 IF p_Res_rec.department_id IS NULL
69 THEN
70 l_return_status := FND_API.G_RET_STS_ERROR;
71
72 WIP_Globals.Add_Error_Message(
73 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
74 p_token1_name => 'ATTRIBUTE',
75 p_token1_value => 'department_id');
76 END IF;
77
78 IF p_Res_rec.entity_type IS NULL
79 THEN
80 l_return_status := FND_API.G_RET_STS_ERROR;
81
82 WIP_Globals.Add_Error_Message(
83 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
84 p_token1_name => 'ATTRIBUTE',
85 p_token1_value => 'entity_type');
86 END IF;
87
88 IF p_Res_rec.last_updated_by_name IS NULL
89 THEN
90 l_return_status := FND_API.G_RET_STS_ERROR;
91
92 WIP_Globals.Add_Error_Message(
93 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
94 p_token1_name => 'ATTRIBUTE',
95 p_token1_value => 'last_updated_by_name');
96 END IF;
97
98 IF p_Res_rec.operation_seq_num IS NULL
99 THEN
100 l_return_status := FND_API.G_RET_STS_ERROR;
101
102 WIP_Globals.Add_Error_Message(
103 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
104 p_token1_name => 'ATTRIBUTE',
105 p_token1_value => 'operation_seq_num');
106 END IF;
107
108 IF p_Res_rec.organization_code IS NULL
109 THEN
110 l_return_status := FND_API.G_RET_STS_ERROR;
111
112 WIP_Globals.Add_Error_Message(
113 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
114 p_token1_name => 'ATTRIBUTE',
115 p_token1_value => 'organization_code');
116 END IF;
117
118 IF p_Res_rec.organization_id IS NULL
119 THEN
120 l_return_status := FND_API.G_RET_STS_ERROR;
121
122 WIP_Globals.Add_Error_Message(
123 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
124 p_token1_name => 'ATTRIBUTE',
125 p_token1_value => 'organization_id');
126 END IF;
127
128 IF p_Res_rec.primary_item_id IS NULL
129 THEN
130 l_return_status := FND_API.G_RET_STS_ERROR;
131
132 WIP_Globals.Add_Error_Message(
133 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
134 p_token1_name => 'ATTRIBUTE',
135 p_token1_value => 'primary_item_id');
136 END IF;
137
138 IF p_Res_rec.primary_quantity IS NULL
139 THEN
140 l_return_status := FND_API.G_RET_STS_ERROR;
141
142 WIP_Globals.Add_Error_Message(
143 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
144 p_token1_name => 'ATTRIBUTE',
145 p_token1_value => 'primary_quantity');
146 END IF;
147
148 IF p_Res_rec.primary_uom IS NULL
149 THEN
150 l_return_status := FND_API.G_RET_STS_ERROR;
151
152 WIP_Globals.Add_Error_Message(
153 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
154 p_token1_name => 'ATTRIBUTE',
155 p_token1_value => 'primary_uom');
156 END IF;
157
158 IF p_Res_rec.process_phase IS NULL
159 THEN
160 l_return_status := FND_API.G_RET_STS_ERROR;
161
162 WIP_Globals.Add_Error_Message(
163 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
164 p_token1_name => 'ATTRIBUTE',
165 p_token1_value => 'process_phase');
166 END IF;
167
168 IF p_Res_rec.process_status IS NULL
169 THEN
170 l_return_status := FND_API.G_RET_STS_ERROR;
171
172 WIP_Globals.Add_Error_Message(
173 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
174 p_token1_name => 'ATTRIBUTE',
175 p_token1_value => 'process_status');
176 END IF;
177
178 IF p_Res_rec.resource_code IS NULL
179 THEN
180 l_return_status := FND_API.G_RET_STS_ERROR;
181
182 WIP_Globals.Add_Error_Message(
183 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
184 p_token1_name => 'ATTRIBUTE',
185 p_token1_value => 'resource_code');
186 END IF;
187
188 IF p_Res_rec.resource_id IS NULL
189 THEN
190 l_return_status := FND_API.G_RET_STS_ERROR;
191
192 WIP_Globals.Add_Error_Message(
193 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
194 p_token1_name => 'ATTRIBUTE',
195 p_token1_value => 'resource_id');
196 END IF;
197
198 IF p_Res_rec.resource_seq_num IS NULL
199 THEN
200 l_return_status := FND_API.G_RET_STS_ERROR;
201
202 WIP_Globals.Add_Error_Message(
203 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
204 p_token1_name => 'ATTRIBUTE',
205 p_token1_value => 'resource_seq_num');
206 END IF;
207
208 IF p_Res_rec.standard_rate_flag IS NULL
209 THEN
210 l_return_status := FND_API.G_RET_STS_ERROR;
211
212 WIP_Globals.Add_Error_Message(
213 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
214 p_token1_name => 'ATTRIBUTE',
215 p_token1_value => 'standard_rate_flag');
216 END IF;
217
218 IF p_Res_rec.transaction_date IS NULL
219 THEN
220 l_return_status := FND_API.G_RET_STS_ERROR;
221
222 WIP_Globals.Add_Error_Message(
223 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
224 p_token1_name => 'ATTRIBUTE',
225 p_token1_value => 'transaction_date');
226 END IF;
227
228 IF p_Res_rec.transaction_quantity IS NULL
229 THEN
230 l_return_status := FND_API.G_RET_STS_ERROR;
231
232 WIP_Globals.Add_Error_Message(
233 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
234 p_token1_name => 'ATTRIBUTE',
235 p_token1_value => 'transaction_quantity');
236 END IF;
237
238 IF p_Res_rec.transaction_type IS NULL
239 THEN
240 l_return_status := FND_API.G_RET_STS_ERROR;
241
242 WIP_Globals.Add_Error_Message(
243 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
244 p_token1_name => 'ATTRIBUTE',
245 p_token1_value => 'transaction_type');
246 END IF;
247
248 IF p_Res_rec.usage_rate_or_amount IS NULL
249 THEN
250 l_return_status := FND_API.G_RET_STS_ERROR;
251
252 WIP_Globals.Add_Error_Message(
253 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
254 p_token1_name => 'ATTRIBUTE',
255 p_token1_value => 'usage_rate_or_amount');
256 END IF;
257
258 IF p_Res_rec.wip_entity_id IS NULL
259 THEN
260 l_return_status := FND_API.G_RET_STS_ERROR;
261
262 WIP_Globals.Add_Error_Message(
263 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
264 p_token1_name => 'ATTRIBUTE',
265 p_token1_value => 'wip_entity_id');
266 END IF;
267
268 IF p_Res_rec.wip_entity_name IS NULL
269 THEN
270 l_return_status := FND_API.G_RET_STS_ERROR;
271
272 WIP_Globals.Add_Error_Message(
273 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
274 p_token1_name => 'ATTRIBUTE',
275 p_token1_value => 'wip_entity_name');
276 END IF;
277
278
279
280 IF nvl(p_validation_level,WIP_Transaction_PVT.COMPLETE) <= WIP_Transaction_PVT.REQUIRED THEN
281 x_return_status := l_return_status;
282 return;
283 END IF;
284
285
286 --
287 -- Check conditionally required attributes here.
288 --
289
290 IF p_Res_rec.repetitive_schedule_id IS NOT NULL
291 AND p_Res_rec.line_id IS NULL
292 THEN
293 l_return_status := FND_API.G_RET_STS_ERROR;
294
295 WIP_Globals.Add_Error_Message(
296 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
297 p_token1_name => 'ATTRIBUTE',
298 p_token1_value => 'line_id');
299 END IF;
300
301
302 IF p_Res_rec.repetitive_schedule_id IS NOT NULL
303 AND p_Res_rec.line_code IS NULL
304 THEN
305 l_return_status := FND_API.G_RET_STS_ERROR;
306
307 WIP_Globals.Add_Error_Message(
308 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
309 p_token1_name => 'ATTRIBUTE',
310 p_token1_value => 'line_code');
311 END IF;
312
313
314 IF p_Res_rec.project_id IS NOT NULL
315 AND p_Res_rec.task_id IS NULL
316 THEN
317 BEGIN
318 SELECT 'VALID'
319 INTO l_dummy
320 FROM mtl_parameters mp
321 WHERE mp.organization_id = p_Res_rec.organization_id
322 AND mp.project_reference_enabled = 1
323 AND mp.project_control_level = 2;
324 EXCEPTION
325 WHEN OTHERS THEN
326 l_return_status := FND_API.G_RET_STS_ERROR;
327
328 WIP_Globals.Add_Error_Message(
329 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
330 p_token1_name => 'ATTRIBUTE',
331 p_token1_value => 'project_id');
332 END;
333 END IF;
334
335 IF p_Res_rec.activity_id IS NOT NULL
336 AND p_Res_rec.activity_name IS NULL
337 THEN
338 l_return_status := FND_API.G_RET_STS_ERROR;
339
340 WIP_Globals.Add_Error_Message(
341 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
342 p_token1_name => 'ATTRIBUTE',
343 p_token1_value => 'activity_name');
344 END IF;
345
346
347 -- check the following attributes if OSP transaction
348 IF p_Res_rec.transaction_type = WIP_CONSTANTS.OSP_TXN then
349
350 IF p_Res_rec.po_header_id IS NULL
351 THEN
352 l_return_status := FND_API.G_RET_STS_ERROR;
353
354 WIP_Globals.Add_Error_Message(
355 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
356 p_token1_name => 'ATTRIBUTE',
357 p_token1_value => 'po_header_id');
358 END IF;
359
360
361 IF p_Res_rec.po_line_id IS NULL
362 THEN
363 l_return_status := FND_API.G_RET_STS_ERROR;
364
365 WIP_Globals.Add_Error_Message(
366 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
367 p_token1_name => 'ATTRIBUTE',
368 p_token1_value => 'po_line_id');
369 END IF;
370
371
372 IF p_Res_rec.rcv_transaction_id IS NULL
373 THEN
374 l_return_status := FND_API.G_RET_STS_ERROR;
375
376 WIP_Globals.Add_Error_Message(
377 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
378 p_token1_name => 'ATTRIBUTE',
379 p_token1_value => 'rcv_transaction_id');
380 END IF;
381
382 IF p_Res_rec.source_code IS NULL
383 THEN
384 l_return_status := FND_API.G_RET_STS_ERROR;
385
386 WIP_Globals.Add_Error_Message(
387 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
388 p_token1_name => 'ATTRIBUTE',
389 p_token1_value => 'source_code');
390 END IF;
391
392 IF p_Res_rec.source_line_id IS NULL
393 THEN
394 l_return_status := FND_API.G_RET_STS_ERROR;
395
396 WIP_Globals.Add_Error_Message(
397 p_message_name => 'WIP_ATTRIBUTE_REQUIRED',
398 p_token1_name => 'ATTRIBUTE',
399 p_token1_value => 'source_line_id');
400 END IF;
401
402 END IF;
403 -- Return Error if a required attribute is missing.
404
405 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
406 RAISE FND_API.G_EXC_ERROR;
407 END IF;
408
409 -- Do any other specific entity validations here.
410
411 -- Done validating entity
412
413 x_return_status := l_return_status;
414
415 EXCEPTION
416
417 WHEN FND_API.G_EXC_ERROR THEN
418
419 x_return_status := FND_API.G_RET_STS_ERROR;
420
421 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
422
423 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
424
425 WHEN OTHERS THEN
426
427 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
428
429 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
430 THEN
431 FND_MSG_PUB.Add_Exc_Msg
432 ( G_PKG_NAME
433 , 'Entity'
434 );
435 END IF;
436
437 END Entity;
438
439 -- Procedure Attributes
440
441 PROCEDURE Attributes
442 ( x_return_status OUT NOCOPY VARCHAR2
443 , p_validation_level IN NUMBER DEFAULT NULL
444 , p_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
445 , p_old_Res_rec IN WIP_Transaction_PUB.Res_Rec_Type
446 )
447 IS
448 BEGIN
449
450 x_return_status := FND_API.G_RET_STS_SUCCESS;
451
452 IF nvl(p_validation_level,WIP_Transaction_PVT.COMPLETE) = WIP_Transaction_PVT.NONE then
453 return;
454 END IF;
455
456 -- Validate Resource attributes
457
458 IF p_Res_rec.acct_period_id IS NOT NULL AND
459 ( p_Res_rec.acct_period_id <>
460 p_old_Res_rec.acct_period_id OR
461 p_old_Res_rec.acct_period_id IS NULL )
462 THEN
463 IF NOT WIP_Validate.Acct_Period(p_Res_rec.acct_period_id,
464 p_Res_rec.organization_id) THEN
465 x_return_status := FND_API.G_RET_STS_ERROR;
466 END IF;
467 END IF;
468
469 IF p_Res_rec.activity_id IS NOT NULL AND
470 ( p_Res_rec.activity_id <>
471 p_old_Res_rec.activity_id OR
472 p_old_Res_rec.activity_id IS NULL )
473 THEN
474 IF NOT WIP_Validate.Activity(p_Res_rec.activity_id) THEN
475 x_return_status := FND_API.G_RET_STS_ERROR;
476 END IF;
477 END IF;
478
479 IF p_Res_rec.activity_name IS NOT NULL AND
480 ( p_Res_rec.activity_name <>
481 p_old_Res_rec.activity_name OR
482 p_old_Res_rec.activity_name IS NULL )
483 THEN
484 IF NOT WIP_Validate.Activity_Name(p_Res_rec.activity_name) THEN
485 x_return_status := FND_API.G_RET_STS_ERROR;
486 END IF;
487 END IF;
488
489 IF p_Res_rec.actual_resource_rate IS NOT NULL AND
490 ( p_Res_rec.actual_resource_rate <>
491 p_old_Res_rec.actual_resource_rate OR
492 p_old_Res_rec.actual_resource_rate IS NULL )
493 THEN
494 IF NOT WIP_Validate.Actual_Resource_Rate(p_Res_rec.actual_resource_rate) THEN
495 x_return_status := FND_API.G_RET_STS_ERROR;
496 END IF;
497 END IF;
498
499 IF p_Res_rec.autocharge_type IS NOT NULL AND
500 ( p_Res_rec.autocharge_type <>
501 p_old_Res_rec.autocharge_type OR
502 p_old_Res_rec.autocharge_type IS NULL )
503 THEN
504 IF NOT WIP_Validate.Autocharge_Type(p_Res_rec.autocharge_type) THEN
505 x_return_status := FND_API.G_RET_STS_ERROR;
506 END IF;
507 END IF;
508
509 IF p_Res_rec.basis_type IS NOT NULL AND
510 ( p_Res_rec.basis_type <>
511 p_old_Res_rec.basis_type OR
512 p_old_Res_rec.basis_type IS NULL )
513 THEN
514 IF NOT WIP_Validate.Basis_Type(p_Res_rec.basis_type) THEN
515 x_return_status := FND_API.G_RET_STS_ERROR;
516 END IF;
517 END IF;
518
519 IF p_Res_rec.completion_transaction_id IS NOT NULL AND
520 ( p_Res_rec.completion_transaction_id <>
521 p_old_Res_rec.completion_transaction_id OR
522 p_old_Res_rec.completion_transaction_id IS NULL )
523 THEN
524 IF NOT WIP_Validate.Completion_Transaction(p_Res_rec.completion_transaction_id) THEN
525 x_return_status := FND_API.G_RET_STS_ERROR;
526 END IF;
527 END IF;
528
529 /*
530 IF p_Res_rec.created_by IS NOT NULL AND
531 ( p_Res_rec.created_by <>
532 p_old_Res_rec.created_by OR
533 p_old_Res_rec.created_by IS NULL )
534 THEN
535 IF NOT WIP_Validate.Created_By(p_Res_rec.created_by) THEN
536 x_return_status := FND_API.G_RET_STS_ERROR;
537 END IF;
538 END IF;
539 */
540
541 IF p_Res_rec.created_by_name IS NOT NULL AND
542 ( p_Res_rec.created_by_name <>
543 p_old_Res_rec.created_by_name OR
544 p_old_Res_rec.created_by_name IS NULL )
545 THEN
546 IF NOT WIP_Validate.Created_By_Name(p_Res_rec.created_by_name) THEN
547 x_return_status := FND_API.G_RET_STS_ERROR;
548 END IF;
549 END IF;
550
551 /*
552 IF p_Res_rec.creation_date IS NOT NULL AND
553 ( p_Res_rec.creation_date <>
554 p_old_Res_rec.creation_date OR
555 p_old_Res_rec.creation_date IS NULL )
556 THEN
557 IF NOT WIP_Validate.Creation_Date(p_Res_rec.creation_date) THEN
558 x_return_status := FND_API.G_RET_STS_ERROR;
559 END IF;
560 END IF;
561 */
562
563 IF p_Res_rec.currency_actual_rsc_rate IS NOT NULL AND
564 ( p_Res_rec.currency_actual_rsc_rate <>
565 p_old_Res_rec.currency_actual_rsc_rate OR
566 p_old_Res_rec.currency_actual_rsc_rate IS NULL )
567 THEN
568 IF NOT WIP_Validate.Currency_Actual_Rsc_Rate(p_Res_rec.currency_actual_rsc_rate) THEN
569 x_return_status := FND_API.G_RET_STS_ERROR;
570 END IF;
571 END IF;
572
573 IF p_Res_rec.currency_code IS NOT NULL AND
574 ( p_Res_rec.currency_code <>
575 p_old_Res_rec.currency_code OR
576 p_old_Res_rec.currency_code IS NULL )
577 THEN
578 IF NOT WIP_Validate.Currency(p_Res_rec.currency_code) THEN
579 x_return_status := FND_API.G_RET_STS_ERROR;
580 END IF;
581 END IF;
582
583 IF p_Res_rec.currency_conversion_date IS NOT NULL AND
584 ( p_Res_rec.currency_conversion_date <>
585 p_old_Res_rec.currency_conversion_date OR
586 p_old_Res_rec.currency_conversion_date IS NULL )
587 THEN
588 IF NOT WIP_Validate.Currency_Conversion_Date(p_Res_rec.currency_conversion_date) THEN
589 x_return_status := FND_API.G_RET_STS_ERROR;
590 END IF;
591 END IF;
592
593 IF p_Res_rec.currency_conversion_rate IS NOT NULL AND
594 ( p_Res_rec.currency_conversion_rate <>
595 p_old_Res_rec.currency_conversion_rate OR
596 p_old_Res_rec.currency_conversion_rate IS NULL )
597 THEN
598 IF NOT WIP_Validate.Currency_Conversion_Rate(p_Res_rec.currency_conversion_rate) THEN
599 x_return_status := FND_API.G_RET_STS_ERROR;
600 END IF;
601 END IF;
602
603 IF p_Res_rec.currency_conversion_type IS NOT NULL AND
604 ( p_Res_rec.currency_conversion_type <>
605 p_old_Res_rec.currency_conversion_type OR
606 p_old_Res_rec.currency_conversion_type IS NULL )
607 THEN
608 IF NOT WIP_Validate.Currency_Conversion_Type(p_Res_rec.currency_conversion_type) THEN
609 x_return_status := FND_API.G_RET_STS_ERROR;
610 END IF;
611 END IF;
612
613 IF p_Res_rec.department_code IS NOT NULL AND
614 ( p_Res_rec.department_code <>
615 p_old_Res_rec.department_code OR
616 p_old_Res_rec.department_code IS NULL )
617 THEN
618 IF NOT WIP_Validate.Department_Code(p_Res_rec.department_code, p_Res_rec.organization_id) THEN
619 x_return_status := FND_API.G_RET_STS_ERROR;
620 END IF;
621 END IF;
622
623 IF p_Res_rec.department_id IS NOT NULL AND
624 ( p_Res_rec.department_id <>
625 p_old_Res_rec.department_id OR
626 p_old_Res_rec.department_id IS NULL )
627 THEN
628 IF NOT WIP_Validate.Department_Id(p_Res_rec.department_id, p_Res_rec.organization_id) THEN
629 x_return_status := FND_API.G_RET_STS_ERROR;
630 END IF;
631 END IF;
632
633 IF p_Res_rec.employee_id IS NOT NULL AND
634 ( p_Res_rec.employee_id <>
635 p_old_Res_rec.employee_id OR
636 p_old_Res_rec.employee_id IS NULL )
637 THEN
638 IF NOT WIP_Validate.Employee(p_Res_rec.employee_id) THEN
639 x_return_status := FND_API.G_RET_STS_ERROR;
640 END IF;
641 END IF;
642
643 IF p_Res_rec.employee_num IS NOT NULL AND
644 ( p_Res_rec.employee_num <>
645 p_old_Res_rec.employee_num OR
646 p_old_Res_rec.employee_num IS NULL )
647 THEN
648 IF NOT WIP_Validate.Employee_Num(p_Res_rec.employee_num) THEN
649 x_return_status := FND_API.G_RET_STS_ERROR;
650 END IF;
651 END IF;
652
653 IF p_Res_rec.entity_type IS NOT NULL AND
654 ( p_Res_rec.entity_type <>
655 p_old_Res_rec.entity_type OR
656 p_old_Res_rec.entity_type IS NULL )
657 THEN
658 IF NOT WIP_Validate.Entity_Type(p_Res_rec.entity_type) THEN
659 x_return_status := FND_API.G_RET_STS_ERROR;
660 END IF;
661 END IF;
662
663 IF p_Res_rec.group_id IS NOT NULL AND
664 ( p_Res_rec.group_id <>
665 p_old_Res_rec.group_id OR
666 p_old_Res_rec.group_id IS NULL )
667 THEN
668 IF NOT WIP_Validate.Group_Id(p_Res_rec.group_id) THEN
669 x_return_status := FND_API.G_RET_STS_ERROR;
670 END IF;
671 END IF;
672
673 /*
674 IF p_Res_rec.last_updated_by IS NOT NULL AND
675 ( p_Res_rec.last_updated_by <>
676 p_old_Res_rec.last_updated_by OR
677 p_old_Res_rec.last_updated_by IS NULL )
678 THEN
679 IF NOT WIP_Validate.Last_Updated_By(p_Res_rec.last_updated_by) THEN
680 x_return_status := FND_API.G_RET_STS_ERROR;
681 END IF;
682 END IF;
683 */
684
685 IF p_Res_rec.last_updated_by_name IS NOT NULL AND
686 ( p_Res_rec.last_updated_by_name <>
687 p_old_Res_rec.last_updated_by_name OR
688 p_old_Res_rec.last_updated_by_name IS NULL )
689 THEN
690 IF NOT WIP_Validate.Last_Updated_By_Name(p_Res_rec.last_updated_by_name) THEN
691 x_return_status := FND_API.G_RET_STS_ERROR;
692 END IF;
693 END IF;
694
695 /*
696 IF p_Res_rec.last_update_date IS NOT NULL AND
697 ( p_Res_rec.last_update_date <>
698 p_old_Res_rec.last_update_date OR
699 p_old_Res_rec.last_update_date IS NULL )
700 THEN
701 IF NOT WIP_Validate.Last_Update_Date(p_Res_rec.last_update_date) THEN
702 x_return_status := FND_API.G_RET_STS_ERROR;
703 END IF;
704 END IF;
705
706 IF p_Res_rec.last_update_login IS NOT NULL AND
707 ( p_Res_rec.last_update_login <>
708 p_old_Res_rec.last_update_login OR
709 p_old_Res_rec.last_update_login IS NULL )
710 THEN
711 IF NOT WIP_Validate.Last_Update_Login(p_Res_rec.last_update_login) THEN
712 x_return_status := FND_API.G_RET_STS_ERROR;
713 END IF;
714 END IF;
715 */
716
717 IF p_Res_rec.line_code IS NOT NULL AND
718 ( p_Res_rec.line_code <>
719 p_old_Res_rec.line_code OR
720 p_old_Res_rec.line_code IS NULL )
721 THEN
722 IF NOT WIP_Validate.Line(p_Res_rec.line_code) THEN
723 x_return_status := FND_API.G_RET_STS_ERROR;
724 END IF;
725 END IF;
726
727 IF p_Res_rec.line_id IS NOT NULL AND
728 ( p_Res_rec.line_id <>
729 p_old_Res_rec.line_id OR
730 p_old_Res_rec.line_id IS NULL )
731 THEN
732 IF NOT WIP_Validate.Line(p_Res_rec.line_id) THEN
733 x_return_status := FND_API.G_RET_STS_ERROR;
734 END IF;
735 END IF;
736
737 IF p_Res_rec.move_transaction_id IS NOT NULL AND
738 ( p_Res_rec.move_transaction_id <>
739 p_old_Res_rec.move_transaction_id OR
740 p_old_Res_rec.move_transaction_id IS NULL )
741 THEN
742 IF NOT WIP_Validate.Move_Transaction(p_Res_rec.move_transaction_id) THEN
743 x_return_status := FND_API.G_RET_STS_ERROR;
744 END IF;
745 END IF;
746
747 IF p_Res_rec.operation_seq_num IS NOT NULL AND
748 ( p_Res_rec.operation_seq_num <>
749 p_old_Res_rec.operation_seq_num OR
750 p_old_Res_rec.operation_seq_num IS NULL )
751 THEN
752 IF NOT WIP_Validate.Operation_Seq_Num(p_Res_rec.operation_seq_num) THEN
753 x_return_status := FND_API.G_RET_STS_ERROR;
754 END IF;
755 END IF;
756
757 IF p_Res_rec.organization_code IS NOT NULL AND
758 ( p_Res_rec.organization_code <>
759 p_old_Res_rec.organization_code OR
760 p_old_Res_rec.organization_code IS NULL )
761 THEN
762 IF NOT WIP_Validate.Organization(p_Res_rec.organization_id) THEN
763 x_return_status := FND_API.G_RET_STS_ERROR;
764 END IF;
765 END IF;
766
767 IF p_Res_rec.organization_id IS NOT NULL AND
768 ( p_Res_rec.organization_id <>
769 p_old_Res_rec.organization_id OR
770 p_old_Res_rec.organization_id IS NULL )
771 THEN
772 IF NOT WIP_Validate.Organization(p_Res_rec.organization_id) THEN
773 x_return_status := FND_API.G_RET_STS_ERROR;
774 END IF;
775 END IF;
776
777 IF p_Res_rec.po_header_id IS NOT NULL AND
778 ( p_Res_rec.po_header_id <>
779 p_old_Res_rec.po_header_id OR
780 p_old_Res_rec.po_header_id IS NULL )
781 THEN
782 IF NOT WIP_Validate.Po_Header(p_Res_rec.po_header_id) THEN
783 x_return_status := FND_API.G_RET_STS_ERROR;
784 END IF;
785 END IF;
786
787 IF p_Res_rec.po_line_id IS NOT NULL AND
788 ( p_Res_rec.po_line_id <>
789 p_old_Res_rec.po_line_id OR
790 p_old_Res_rec.po_line_id IS NULL )
791 THEN
792 IF NOT WIP_Validate.Po_Line(p_Res_rec.po_line_id) THEN
793 x_return_status := FND_API.G_RET_STS_ERROR;
794 END IF;
795 END IF;
796
797 IF p_Res_rec.primary_item_id IS NOT NULL AND
798 ( p_Res_rec.primary_item_id <>
799 p_old_Res_rec.primary_item_id OR
800 p_old_Res_rec.primary_item_id IS NULL )
801 THEN
802 IF NOT WIP_Validate.Primary_Item(p_Res_rec.primary_item_id,
803 p_Res_rec.organization_id) THEN
804 x_return_status := FND_API.G_RET_STS_ERROR;
805 END IF;
806 END IF;
807
808 IF p_Res_rec.primary_quantity IS NOT NULL AND
809 ( p_Res_rec.primary_quantity <>
810 p_old_Res_rec.primary_quantity OR
811 p_old_Res_rec.primary_quantity IS NULL )
812 THEN
813 IF NOT WIP_Validate.Primary_Quantity(p_Res_rec.primary_quantity) THEN
814 x_return_status := FND_API.G_RET_STS_ERROR;
815 END IF;
816 END IF;
817
818 IF p_Res_rec.primary_uom IS NOT NULL AND
819 ( p_Res_rec.primary_uom <>
820 p_old_Res_rec.primary_uom OR
821 p_old_Res_rec.primary_uom IS NULL )
822 THEN
823 IF NOT WIP_Validate.Primary_Uom(p_Res_rec.primary_uom) THEN
824 x_return_status := FND_API.G_RET_STS_ERROR;
825 END IF;
826 END IF;
827
828 IF p_Res_rec.primary_uom_class IS NOT NULL AND
829 ( p_Res_rec.primary_uom_class <>
830 p_old_Res_rec.primary_uom_class OR
831 p_old_Res_rec.primary_uom_class IS NULL )
832 THEN
833 IF NOT WIP_Validate.Primary_Uom_Class(p_Res_rec.primary_uom_class) THEN
834 x_return_status := FND_API.G_RET_STS_ERROR;
835 END IF;
836 END IF;
837
838 IF p_Res_rec.process_phase IS NOT NULL AND
839 ( p_Res_rec.process_phase <>
840 p_old_Res_rec.process_phase OR
841 p_old_Res_rec.process_phase IS NULL )
842 THEN
843 IF NOT WIP_Validate.Process_Phase(p_Res_rec.process_phase, 'WIP_RESOURCE_PROCESS_PHASE') THEN
844 x_return_status := FND_API.G_RET_STS_ERROR;
845 END IF;
846 END IF;
847
848 IF p_Res_rec.process_status IS NOT NULL AND
849 ( p_Res_rec.process_status <>
850 p_old_Res_rec.process_status OR
851 p_old_Res_rec.process_status IS NULL )
852 THEN
853 IF NOT WIP_Validate.Process_Status(p_Res_rec.process_status) THEN
854 x_return_status := FND_API.G_RET_STS_ERROR;
855 END IF;
856 END IF;
857
858 /*
859 IF p_Res_rec.program_application_id IS NOT NULL AND
860 ( p_Res_rec.program_application_id <>
861 p_old_Res_rec.program_application_id OR
862 p_old_Res_rec.program_application_id IS NULL )
863 THEN
864 IF NOT WIP_Validate.Program_Application(p_Res_rec.program_application_id) THEN
865 x_return_status := FND_API.G_RET_STS_ERROR;
866 END IF;
867 END IF;
868
869 IF p_Res_rec.program_id IS NOT NULL AND
870 ( p_Res_rec.program_id <>
871 p_old_Res_rec.program_id OR
872 p_old_Res_rec.program_id IS NULL )
873 THEN
874 IF NOT WIP_Validate.Program(p_Res_rec.program_id) THEN
875 x_return_status := FND_API.G_RET_STS_ERROR;
876 END IF;
877 END IF;
878
879 IF p_Res_rec.program_update_date IS NOT NULL AND
880 ( p_Res_rec.program_update_date <>
881 p_old_Res_rec.program_update_date OR
882 p_old_Res_rec.program_update_date IS NULL )
883 THEN
884 IF NOT WIP_Validate.Program_Update_Date(p_Res_rec.program_update_date) THEN
885 x_return_status := FND_API.G_RET_STS_ERROR;
886 END IF;
887 END IF;
888 */
889
890 IF p_Res_rec.project_id IS NOT NULL AND
891 ( p_Res_rec.project_id <>
892 p_old_Res_rec.project_id OR
893 p_old_Res_rec.project_id IS NULL )
894 THEN
895 IF NOT WIP_Validate.Project(p_Res_rec.project_id,
896 p_Res_rec.organization_id) THEN
897 x_return_status := FND_API.G_RET_STS_ERROR;
898 END IF;
899 END IF;
900
901 IF p_Res_rec.rcv_transaction_id IS NOT NULL AND
902 ( p_Res_rec.rcv_transaction_id <>
903 p_old_Res_rec.rcv_transaction_id OR
904 p_old_Res_rec.rcv_transaction_id IS NULL )
905 THEN
906 --rcv_transaction_id is the transaction_id. we actually need to
907 --validate against the rcv_transactions_interface table and thus
908 --need to pass the interface_transaction_id...source line id should
909 --always be populated if rcv_transaction_id is populated
910 IF NOT WIP_Validate.Rcv_Transaction(p_Res_rec.source_line_id) THEN
911 x_return_status := FND_API.G_RET_STS_ERROR;
912 END IF;
913 END IF;
914
915 IF p_Res_rec.reason_id IS NOT NULL AND
916 ( p_Res_rec.reason_id <>
917 p_old_Res_rec.reason_id OR
918 p_old_Res_rec.reason_id IS NULL )
919 THEN
920 IF NOT WIP_Validate.Reason(p_Res_rec.reason_id) THEN
921 x_return_status := FND_API.G_RET_STS_ERROR;
922 END IF;
923 END IF;
924
925 IF p_Res_rec.reason_name IS NOT NULL AND
926 ( p_Res_rec.reason_name <>
927 p_old_Res_rec.reason_name OR
928 p_old_Res_rec.reason_name IS NULL )
929 THEN
930 IF NOT WIP_Validate.Reason_Name(p_Res_rec.reason_name) THEN
931 x_return_status := FND_API.G_RET_STS_ERROR;
932 END IF;
933 END IF;
934
935 IF p_Res_rec.receiving_account_id IS NOT NULL AND
936 ( p_Res_rec.receiving_account_id <>
937 p_old_Res_rec.receiving_account_id OR
938 p_old_Res_rec.receiving_account_id IS NULL )
939 THEN
940 IF NOT WIP_Validate.Receiving_Account(p_Res_rec.receiving_account_id) THEN
941 x_return_status := FND_API.G_RET_STS_ERROR;
942 END IF;
943 END IF;
944
945 IF p_Res_rec.reference IS NOT NULL AND
946 ( p_Res_rec.reference <>
947 p_old_Res_rec.reference OR
948 p_old_Res_rec.reference IS NULL )
949 THEN
950 IF NOT WIP_Validate.Reference(p_Res_rec.reference) THEN
951 x_return_status := FND_API.G_RET_STS_ERROR;
952 END IF;
953 END IF;
954
955 IF p_Res_rec.repetitive_schedule_id IS NOT NULL AND
956 ( p_Res_rec.repetitive_schedule_id <>
957 p_old_Res_rec.repetitive_schedule_id OR
958 p_old_Res_rec.repetitive_schedule_id IS NULL )
959 THEN
960 IF NOT WIP_Validate.Repetitive_Schedule(p_Res_rec.repetitive_schedule_id) THEN
961 x_return_status := FND_API.G_RET_STS_ERROR;
962 END IF;
963 END IF;
964
965 /*
966 IF p_Res_rec.request_id IS NOT NULL AND
967 ( p_Res_rec.request_id <>
968 p_old_Res_rec.request_id OR
969 p_old_Res_rec.request_id IS NULL )
970 THEN
971 IF NOT WIP_Validate.Request(p_Res_rec.request_id) THEN
972 x_return_status := FND_API.G_RET_STS_ERROR;
973 END IF;
974 END IF;
975 */
976
977 IF p_Res_rec.resource_code IS NOT NULL AND
978 ( p_Res_rec.resource_code <>
979 p_old_Res_rec.resource_code OR
980 p_old_Res_rec.resource_code IS NULL )
981 THEN
982 IF NOT WIP_Validate.Resource_Code(p_Res_rec.resource_code, p_Res_rec.organization_id) THEN
983 x_return_status := FND_API.G_RET_STS_ERROR;
984 END IF;
985 END IF;
986
987 IF p_Res_rec.resource_id IS NOT NULL AND
988 ( p_Res_rec.resource_id <>
989 p_old_Res_rec.resource_id OR
990 p_old_Res_rec.resource_id IS NULL )
991 THEN
992 IF NOT WIP_Validate.Resource_Id(p_Res_rec.resource_id) THEN
993 x_return_status := FND_API.G_RET_STS_ERROR;
994 END IF;
995 END IF;
996
997 IF p_Res_rec.resource_seq_num IS NOT NULL AND
998 ( p_Res_rec.resource_seq_num <>
999 p_old_Res_rec.resource_seq_num OR
1000 p_old_Res_rec.resource_seq_num IS NULL )
1001 THEN
1002 IF NOT WIP_Validate.Resource_Seq_Num(p_Res_rec.resource_seq_num) THEN
1003 x_return_status := FND_API.G_RET_STS_ERROR;
1004 END IF;
1005 END IF;
1006
1007 IF p_Res_rec.resource_type IS NOT NULL AND
1008 ( p_Res_rec.resource_type <>
1009 p_old_Res_rec.resource_type OR
1010 p_old_Res_rec.resource_type IS NULL )
1011 THEN
1012 IF NOT WIP_Validate.Resource_Type(p_Res_rec.resource_type) THEN
1013 x_return_status := FND_API.G_RET_STS_ERROR;
1014 END IF;
1015 END IF;
1016
1017 /*
1018 IF p_Res_rec.source_code IS NOT NULL AND
1019 ( p_Res_rec.source_code <>
1020 p_old_Res_rec.source_code OR
1021 p_old_Res_rec.source_code IS NULL )
1022 THEN
1023 IF NOT WIP_Validate.Source(p_Res_rec.source_code) THEN
1024 x_return_status := FND_API.G_RET_STS_ERROR;
1025 END IF;
1026 END IF;
1027
1028 IF p_Res_rec.source_line_id IS NOT NULL AND
1029 ( p_Res_rec.source_line_id <>
1030 p_old_Res_rec.source_line_id OR
1031 p_old_Res_rec.source_line_id IS NULL )
1032 THEN
1033 IF NOT WIP_Validate.Source_Line(p_Res_rec.source_line_id) THEN
1034 x_return_status := FND_API.G_RET_STS_ERROR;
1035 END IF;
1036 END IF;
1037 */
1038 IF p_Res_rec.standard_rate_flag IS NOT NULL AND
1039 ( p_Res_rec.standard_rate_flag <>
1040 p_old_Res_rec.standard_rate_flag OR
1041 p_old_Res_rec.standard_rate_flag IS NULL )
1042 THEN
1043 IF NOT WIP_Validate.Standard_Rate(p_Res_rec.standard_rate_flag) THEN
1044 x_return_status := FND_API.G_RET_STS_ERROR;
1045 END IF;
1046 END IF;
1047
1048 IF p_Res_rec.task_id IS NOT NULL AND
1049 ( p_Res_rec.task_id <>
1050 p_old_Res_rec.task_id OR
1051 p_old_Res_rec.task_id IS NULL )
1052 THEN
1053 IF NOT WIP_Validate.Task(p_Res_rec.task_id,
1054 p_Res_rec.project_id,
1055 p_Res_rec.organization_id) THEN
1056 x_return_status := FND_API.G_RET_STS_ERROR;
1057 END IF;
1058 END IF;
1059
1060 /*
1061 IF p_Res_rec.transaction_date IS NOT NULL AND
1062 ( p_Res_rec.transaction_date <>
1063 p_old_Res_rec.transaction_date OR
1064 p_old_Res_rec.transaction_date IS NULL )
1065 THEN
1066 IF NOT WIP_Validate.Transaction_Date(p_Res_rec.transaction_date) THEN
1067 x_return_status := FND_API.G_RET_STS_ERROR;
1068 END IF;
1069 END IF;
1070 */
1071
1072 IF p_Res_rec.transaction_id IS NOT NULL AND
1073 ( p_Res_rec.transaction_id <>
1074 p_old_Res_rec.transaction_id OR
1075 p_old_Res_rec.transaction_id IS NULL )
1076 THEN
1077 IF NOT WIP_Validate.Transaction(p_Res_rec.transaction_id) THEN
1078 x_return_status := FND_API.G_RET_STS_ERROR;
1079 END IF;
1080 END IF;
1081
1082 /*
1083 IF p_Res_rec.transaction_quantity IS NOT NULL AND
1084 ( p_Res_rec.transaction_quantity <>
1085 p_old_Res_rec.transaction_quantity OR
1086 p_old_Res_rec.transaction_quantity IS NULL )
1087 THEN
1088 IF NOT WIP_Validate.Transaction_Quantity(p_Res_rec.transaction_quantity) THEN
1089 x_return_status := FND_API.G_RET_STS_ERROR;
1090 END IF;
1091 END IF;
1092 */
1093
1094 IF p_Res_rec.transaction_type IS NOT NULL AND
1095 ( p_Res_rec.transaction_type <>
1096 p_old_Res_rec.transaction_type OR
1097 p_old_Res_rec.transaction_type IS NULL )
1098 THEN
1099 IF NOT WIP_Validate.Transaction_Type(p_Res_rec.transaction_type, 'WIP_TRANSACTION_TYPE' ) THEN
1100 x_return_status := FND_API.G_RET_STS_ERROR;
1101 END IF;
1102 END IF;
1103
1104 IF p_Res_rec.transaction_uom IS NOT NULL AND
1105 ( p_Res_rec.transaction_uom <>
1106 p_old_Res_rec.transaction_uom OR
1107 p_old_Res_rec.transaction_uom IS NULL )
1108 THEN
1109 IF NOT WIP_Validate.Transaction_Uom(p_Res_rec.transaction_uom) THEN
1110 x_return_status := FND_API.G_RET_STS_ERROR;
1111 END IF;
1112 END IF;
1113
1114 IF p_Res_rec.usage_rate_or_amount IS NOT NULL AND
1115 ( p_Res_rec.usage_rate_or_amount <>
1116 p_old_Res_rec.usage_rate_or_amount OR
1117 p_old_Res_rec.usage_rate_or_amount IS NULL )
1118 THEN
1119 IF NOT WIP_Validate.Usage_Rate_Or_Amount(p_Res_rec.usage_rate_or_amount) THEN
1120 x_return_status := FND_API.G_RET_STS_ERROR;
1121 END IF;
1122 END IF;
1123
1124 IF p_Res_rec.wip_entity_id IS NOT NULL AND
1125 ( p_Res_rec.wip_entity_id <>
1126 p_old_Res_rec.wip_entity_id OR
1127 p_old_Res_rec.wip_entity_id IS NULL )
1128 THEN
1129 IF NOT WIP_Validate.Wip_Entity(p_Res_rec.wip_entity_id) THEN
1130 x_return_status := FND_API.G_RET_STS_ERROR;
1131 END IF;
1132 END IF;
1133
1134 IF p_Res_rec.wip_entity_name IS NOT NULL AND
1135 ( p_Res_rec.wip_entity_name <>
1136 p_old_Res_rec.wip_entity_name OR
1137 p_old_Res_rec.wip_entity_name IS NULL )
1138 THEN
1139 IF NOT WIP_Validate.Wip_Entity_Name(p_Res_rec.wip_entity_name,
1140 p_Res_rec.organization_id) THEN
1141 x_return_status := FND_API.G_RET_STS_ERROR;
1142 END IF;
1143 END IF;
1144
1145 IF (p_Res_rec.attribute1 IS NOT NULL AND
1146 ( p_Res_rec.attribute1 <>
1147 p_old_Res_rec.attribute1 OR
1148 p_old_Res_rec.attribute1 IS NULL ))
1149 OR (p_Res_rec.attribute10 IS NOT NULL AND
1150 ( p_Res_rec.attribute10 <>
1151 p_old_Res_rec.attribute10 OR
1152 p_old_Res_rec.attribute10 IS NULL ))
1153 OR (p_Res_rec.attribute11 IS NOT NULL AND
1154 ( p_Res_rec.attribute11 <>
1155 p_old_Res_rec.attribute11 OR
1156 p_old_Res_rec.attribute11 IS NULL ))
1157 OR (p_Res_rec.attribute12 IS NOT NULL AND
1158 ( p_Res_rec.attribute12 <>
1159 p_old_Res_rec.attribute12 OR
1160 p_old_Res_rec.attribute12 IS NULL ))
1161 OR (p_Res_rec.attribute13 IS NOT NULL AND
1162 ( p_Res_rec.attribute13 <>
1163 p_old_Res_rec.attribute13 OR
1164 p_old_Res_rec.attribute13 IS NULL ))
1165 OR (p_Res_rec.attribute14 IS NOT NULL AND
1166 ( p_Res_rec.attribute14 <>
1167 p_old_Res_rec.attribute14 OR
1168 p_old_Res_rec.attribute14 IS NULL ))
1169 OR (p_Res_rec.attribute15 IS NOT NULL AND
1170 ( p_Res_rec.attribute15 <>
1171 p_old_Res_rec.attribute15 OR
1172 p_old_Res_rec.attribute15 IS NULL ))
1173 OR (p_Res_rec.attribute2 IS NOT NULL AND
1174 ( p_Res_rec.attribute2 <>
1175 p_old_Res_rec.attribute2 OR
1176 p_old_Res_rec.attribute2 IS NULL ))
1177 OR (p_Res_rec.attribute3 IS NOT NULL AND
1178 ( p_Res_rec.attribute3 <>
1179 p_old_Res_rec.attribute3 OR
1180 p_old_Res_rec.attribute3 IS NULL ))
1181 OR (p_Res_rec.attribute4 IS NOT NULL AND
1182 ( p_Res_rec.attribute4 <>
1183 p_old_Res_rec.attribute4 OR
1184 p_old_Res_rec.attribute4 IS NULL ))
1185 OR (p_Res_rec.attribute5 IS NOT NULL AND
1186 ( p_Res_rec.attribute5 <>
1187 p_old_Res_rec.attribute5 OR
1188 p_old_Res_rec.attribute5 IS NULL ))
1189 OR (p_Res_rec.attribute6 IS NOT NULL AND
1190 ( p_Res_rec.attribute6 <>
1191 p_old_Res_rec.attribute6 OR
1192 p_old_Res_rec.attribute6 IS NULL ))
1193 OR (p_Res_rec.attribute7 IS NOT NULL AND
1194 ( p_Res_rec.attribute7 <>
1195 p_old_Res_rec.attribute7 OR
1196 p_old_Res_rec.attribute7 IS NULL ))
1197 OR (p_Res_rec.attribute8 IS NOT NULL AND
1198 ( p_Res_rec.attribute8 <>
1199 p_old_Res_rec.attribute8 OR
1200 p_old_Res_rec.attribute8 IS NULL ))
1201 OR (p_Res_rec.attribute9 IS NOT NULL AND
1202 ( p_Res_rec.attribute9 <>
1203 p_old_Res_rec.attribute9 OR
1204 p_old_Res_rec.attribute9 IS NULL ))
1205 OR (p_Res_rec.attribute_category IS NOT NULL AND
1206 ( p_Res_rec.attribute_category <>
1207 p_old_Res_rec.attribute_category OR
1208 p_old_Res_rec.attribute_category IS NULL ))
1209 THEN
1210
1211 -- These calls are temporarily commented out
1212 NULL;
1213 /*
1214 FND_FLEX_DESC_VAL.Set_Column_Value
1215 ( column_name => 'ATTRIBUTE1'
1216 , column_value => p_Res_rec.attribute1
1217 );
1218 FND_FLEX_DESC_VAL.Set_Column_Value
1219 ( column_name => 'ATTRIBUTE10'
1220 , column_value => p_Res_rec.attribute10
1221 );
1222 FND_FLEX_DESC_VAL.Set_Column_Value
1223 ( column_name => 'ATTRIBUTE11'
1224 , column_value => p_Res_rec.attribute11
1225 );
1226 FND_FLEX_DESC_VAL.Set_Column_Value
1227 ( column_name => 'ATTRIBUTE12'
1228 , column_value => p_Res_rec.attribute12
1229 );
1230 FND_FLEX_DESC_VAL.Set_Column_Value
1231 ( column_name => 'ATTRIBUTE13'
1232 , column_value => p_Res_rec.attribute13
1233 );
1234 FND_FLEX_DESC_VAL.Set_Column_Value
1235 ( column_name => 'ATTRIBUTE14'
1236 , column_value => p_Res_rec.attribute14
1237 );
1238 FND_FLEX_DESC_VAL.Set_Column_Value
1239 ( column_name => 'ATTRIBUTE15'
1240 , column_value => p_Res_rec.attribute15
1241 );
1242 FND_FLEX_DESC_VAL.Set_Column_Value
1243 ( column_name => 'ATTRIBUTE2'
1244 , column_value => p_Res_rec.attribute2
1245 );
1246 FND_FLEX_DESC_VAL.Set_Column_Value
1247 ( column_name => 'ATTRIBUTE3'
1248 , column_value => p_Res_rec.attribute3
1249 );
1250 FND_FLEX_DESC_VAL.Set_Column_Value
1251 ( column_name => 'ATTRIBUTE4'
1252 , column_value => p_Res_rec.attribute4
1253 );
1254 FND_FLEX_DESC_VAL.Set_Column_Value
1255 ( column_name => 'ATTRIBUTE5'
1256 , column_value => p_Res_rec.attribute5
1257 );
1258 FND_FLEX_DESC_VAL.Set_Column_Value
1259 ( column_name => 'ATTRIBUTE6'
1260 , column_value => p_Res_rec.attribute6
1261 );
1262 FND_FLEX_DESC_VAL.Set_Column_Value
1263 ( column_name => 'ATTRIBUTE7'
1264 , column_value => p_Res_rec.attribute7
1265 );
1266 FND_FLEX_DESC_VAL.Set_Column_Value
1267 ( column_name => 'ATTRIBUTE8'
1268 , column_value => p_Res_rec.attribute8
1269 );
1270 FND_FLEX_DESC_VAL.Set_Column_Value
1271 ( column_name => 'ATTRIBUTE9'
1272 , column_value => p_Res_rec.attribute9
1273 );
1274 FND_FLEX_DESC_VAL.Set_Column_Value
1275 ( column_name => 'ATTRIBUTE_CATEGORY'
1276 , column_value => p_Res_rec.attribute_category
1277 );
1278
1279 -- Validate descriptive flexfield.
1280
1281 IF NOT WIP_Validate.Desc_Flex( 'OSP' ) THEN
1282 x_return_status := FND_API.G_RET_STS_ERROR;
1283 END IF;
1284
1285 */
1286 END IF;
1287
1288 -- Done validating attributes
1289
1290 EXCEPTION
1291
1292 WHEN FND_API.G_EXC_ERROR THEN
1293
1294 x_return_status := FND_API.G_RET_STS_ERROR;
1295
1296 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1297
1298 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1299
1300 WHEN OTHERS THEN
1301
1302 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1303
1304 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1305 THEN
1306 FND_MSG_PUB.Add_Exc_Msg
1307 ( G_PKG_NAME
1308 , 'Attributes'
1309 );
1310 END IF;
1311
1312 END Attributes;
1313
1314 END WIP_Validate_Res;