Changeset 18338
- Timestamp:
- 11/12/08 08:25:46 (2 months ago)
- Files:
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/core/db/oracle/create-scripts/versions/8.5.0/packages/forms.bdy
r17925 r18338 13 13 -- be able to copy checkboxes information in 14 14 -- form definition page. 15 -- Umesh 11-12-08 Modified copy_fields and copy_field to enable copying 16 -- of calculated fields and their associated formulas 17 -- 15 18 --================================================================== 16 19 … … 461 464 where class_id = i_class_id; 462 465 466 -- cursor for getting all calculated fields which need updates 467 cursor cal_field_prop_cur(i_class_id in number) is 468 select fp.value as old_id, f.field_id as new_id 469 from pn_class_field_property fp, pn_class_field f 470 where 471 f.class_id = fp.class_id AND 472 to_char( f.source_field_id ) = fp.value AND 473 fp.class_id = i_class_id; 474 475 -- cursor for getting all calculated field formulas which need updates 476 cursor cal_field_formula_cur(i_class_id in number) is 477 select ff.op_value as old_id, f.field_id as new_id 478 from pn_calculation_field_formula ff, pn_class_field f 479 where 480 f.class_id = ff.class_id AND 481 to_char( f.source_field_id ) = ff.op_value AND 482 ff.class_id = i_class_id; 483 463 484 field_rec field_cur%rowtype; 464 485 v_new_field_id pn_class_field.field_id%type; … … 469 490 for field_rec in field_cur(i_from_class_id) 470 491 loop 492 begin 471 493 copy_field(i_from_space_id, i_to_space_id, i_from_class_id, 472 494 i_to_class_id, field_rec.field_id, i_created_by_id, v_new_field_id); 473 495 496 exception -- if there is any error in copying field, log error 497 when others then 498 BASE.LOG_ERROR ('copy_fields', SQLCODE, 'Error copying field:' || field_rec.field_id || ' - ' || SUBSTR(SQLERRM,1,80)); 499 end; 500 474 501 end loop; 475 502 … … 480 507 and class_id = i_to_class_id; 481 508 509 510 -- update calculated field referances 511 for cal_field_rec in cal_field_prop_cur(i_to_class_id) 512 loop 513 update pn_class_field_property 514 set value = cal_field_rec.new_id 515 where value = cal_field_rec.old_id 516 and class_id = i_to_class_id; 517 end loop; 518 519 -- update calculated field formula referances 520 for cal_field_formula_rec in cal_field_formula_cur(i_to_class_id) 521 loop 522 update pn_calculation_field_formula 523 set op_value = cal_field_formula_rec.new_id 524 where op_value = cal_field_formula_rec.old_id 525 and class_id = i_to_class_id; 526 end loop; 527 482 528 end copy_fields; 483 529 … … 505 551 field_id = i_field_id; 506 552 553 -- Cursor for field formulas 554 cursor field_formula_cur(i_class_id in number, i_field_id in number) is 555 select * 556 from pn_calculation_field_formula 557 where 558 class_id = i_class_id and 559 field_id = i_field_id; 560 507 561 -- Cursor for reading domain values 508 562 cursor domain_value_cur(i_domain_id in number) is … … 662 716 end loop; -- field properties 663 717 718 -- Copy all formulas for this field (if available) 719 for field_formula_rec in field_formula_cur(i_from_class_id, v_source_field_id) 720 loop 721 insert into pn_calculation_field_formula ( 722 CLASS_ID, 723 FIELD_ID, 724 ORDER_ID, 725 OP_VALUE, 726 OP_TYPE) 727 values ( 728 i_to_class_id, 729 v_field_id, 730 field_formula_rec.ORDER_ID, 731 field_formula_rec.OP_VALUE, 732 field_formula_rec.OP_TYPE); 733 end loop; -- field formulas 734 664 735 -- Copy the domain values if the domain is not null. 665 736 if (v_from_domain_id IS NOT NULL) then
