155: nvl(FIXED_ASSETS_UNITS, 0),
156: Merged_Code,
157: merge_parent_mass_additions_id,
158: Mass_Addition_ID
159: FROM FA_MASS_ADDITIONS
160: WHERE Merge_Parent_MASS_ADDITIONs_ID = X_mass_addition_id
161: and Book_Type_Code = X_Book_Type_Code
162: and MERGED_CODE = 'MC'
163: For UPDATE ;
162: and MERGED_CODE = 'MC'
163: For UPDATE ;
164:
165:
166: CURSOR C2 is Select Fa_MAss_Additions_S.nextval From sys.dual;
167:
168: FA_NO_MERGED_CHILDREN Exception;
169:
170: Begin
175:
176: If (X_Merged_Code = 'MP') then
177: -- Get the total number of child records
178: Select count(*) into Total_Child_Records
179: From FA_MASS_ADDITIONS
180: Where Merge_Parent_MASS_ADDITIONS_ID = x_mass_addition_id
181: and MERGED_CODE = 'MC';
182:
183: if Total_Child_Records = 0 then
191:
192: If (X_Merged_Code = 'MP') then
193:
194: SELECT sum_units into Y_Sum_Units
195: FROM fa_mass_additions
196: WHERE mass_addition_id = x_mass_addition_id;
197:
198: if (Y_Sum_Units = 'YES') then
199:
197:
198: if (Y_Sum_Units = 'YES') then
199:
200: SELECT sum(fixed_assets_units) into Y_Merged_Child_FA_Units
201: FROM fa_mass_additions
202: WHERE merge_parent_mass_additions_id = x_mass_addition_id
203: AND merged_code = 'MC';
204:
205: else
237: Total_Merged_Rev_Amort_B, Total_Merged_Reval_Reserve,
238: Total_Merged_Unrev_Cost, Total_Merged_Ytd_RDE,
239: Total_Merged_Deprn_Reserve, Total_Merged_YTD_Deprn,
240: Total_Merged_Beginning_NBV
241: From FA_MAss_Additions ma
242: where ma.merge_parent_mass_additions_id = x_mass_addition_id;
243:
244: Total_Asset_Cost_Fa := Total_Merged_Children_Cost_fa + X_Parent_Unit_Cost_Fa;
245: Total_Asset_Cost_Ap := Total_Merged_Children_cost_ap + X_Parent_Unit_Cost_Ap;
568:
569:
570: -- Update the Parent Mass Addition
571:
572: UPDATE FA_MASS_ADDITIONS
573: SET
574: SPLIT_CODE = 'SP',
575: SPLIT_MERGED_CODE = NVL(MERGED_CODE, 'SP'),
576: POSTING_STATUS = 'SPLIT'
578: MASS_ADDITION_ID = X_mass_addition_id;
579:
580: -- Check if it is a MErge-Split case
581: if (X_Merged_Code = 'MP') then
582: UPDATE FA_MASS_ADDITIONS
583: SET
584: SPLIT_CODE = 'SP',
585: SPLIT_MERGED_CODE = NVL(MERGED_CODE, 'SP'),
586: POSTING_STATUS = 'SPLIT'
665:
666:
667: Begin
668:
669: INSERT INTO FA_MASS_ADDITIONS
670: (MASS_ADDITION_ID,
671: ASSET_NUMBER, TAG_NUMBER,
672: DESCRIPTION, ASSET_CATEGORY_ID,
673: MANUFACTURER_NAME, SERIAL_NUMBER,
809: invoice_line_number,
810: po_distribution_id,
811: warranty_number
812: FROM
813: FA_MASS_ADDITIONS
814: WHERE MASS_ADDITION_ID = I_Mass_Additions_ID;
815:
816: select fixed_assets_units into h_total_units from fa_mass_additions
817: where mass_addition_id = I_Split_Parent_Mass_Add_Id;
812: FROM
813: FA_MASS_ADDITIONS
814: WHERE MASS_ADDITION_ID = I_Mass_Additions_ID;
815:
816: select fixed_assets_units into h_total_units from fa_mass_additions
817: where mass_addition_id = I_Split_Parent_Mass_Add_Id;
818:
819: select count(*) into h_num_dists from fa_massadd_distributions
820: where mass_addition_id = I_Split_Parent_Mass_Add_Id;
820: where mass_addition_id = I_Split_Parent_Mass_Add_Id;
821:
822: if (I_Sum_Units = 'YES') then
823: select round((FIXED_ASSETS_UNITS-I_Merge_Child_fa_Units)/I_Total_fa_Units,2)
824: into h_child_total_units from fa_mass_additions
825: WHERE MASS_ADDITION_ID = I_Mass_Additions_ID;
826: else
827: select fixed_assets_units into h_child_total_units from fa_mass_additions
828: where mass_addition_id = I_New_MASS_ADDITION_ID;
823: select round((FIXED_ASSETS_UNITS-I_Merge_Child_fa_Units)/I_Total_fa_Units,2)
824: into h_child_total_units from fa_mass_additions
825: WHERE MASS_ADDITION_ID = I_Mass_Additions_ID;
826: else
827: select fixed_assets_units into h_child_total_units from fa_mass_additions
828: where mass_addition_id = I_New_MASS_ADDITION_ID;
829:
830: end if;
831:
884: --FND_Message.Set_Name('OFA', 'FA_MASSADD_POSTED_CHILD') ;
885: -- FND_Message.Error;
886: -- APP_EXCEPTION.Raise_Exception;
887: Select Count(*) Into Child_records_Num
888: From Fa_Mass_Additions
889: Where POSTING_STATUS = 'POSTED'
890: And Split_parent_MAss_Additions_ID = X_Mass_Addition_ID
891: And Split_Code = 'SC';
892:
898: -- adding to prevent unspitting in cases where children
899: -- have been posted but also purged
900:
901: Select Count(*) Into Child_records_Num
902: From Fa_Mass_Additions
903: Where Split_parent_MAss_Additions_ID = X_Mass_Addition_ID
904: And Split_Code = 'SC';
905:
906: Select nvl(fixed_assets_units, 0) into h_units -- new variable
903: Where Split_parent_MAss_Additions_ID = X_Mass_Addition_ID
904: And Split_Code = 'SC';
905:
906: Select nvl(fixed_assets_units, 0) into h_units -- new variable
907: from fa_mass_additions
908: where mass_addition_id = X_Mass_Addition_ID;
909:
910: If Child_Records_Num <> h_units then
911: Raise FA_MASSADD_POSTED_CHILD;
914: -- Delete all the split Children which also happen to be Merged records.
915: -- The ones with Split_Code = 'SC' and Merged_Code = 'MC'
916:
917: If (X_MERGED_CODE = 'MP') then
918: Delete from FA_MAss_Additions
919: Where Merge_Parent_Mass_Additions_Id In (Select Mass_Addition_ID
920: from FA_MAss_Additions
921: Where Split_Parent_Mass_Additions_Id = X_Mass_Addition_Id);
922: if (SQL%Notfound) then
916:
917: If (X_MERGED_CODE = 'MP') then
918: Delete from FA_MAss_Additions
919: Where Merge_Parent_Mass_Additions_Id In (Select Mass_Addition_ID
920: from FA_MAss_Additions
921: Where Split_Parent_Mass_Additions_Id = X_Mass_Addition_Id);
922: if (SQL%Notfound) then
923: Raise NO_DATA_FOUND;
924: end if;
926: End if;
927:
928: -- Delete all the records which are split parents
929:
930: Delete from FA_MAss_Additions
931: Where Split_Parent_Mass_Additions_Id = X_Mass_Addition_Id;
932:
933: if (SQL%Notfound) then
934: Raise NO_DATA_FOUND;
936:
937: -- Update the Split_code of the Parent record
938:
939:
940: Update FA_MAss_Additions
941: Set Split_Code = NULL,
942: Split_Merged_Code = NVL(MERGED_CODE, NULL),
943: POSTING_STATUS = decode (QUEUE_NAME, 'NEW', 'NEW',
944: 'POST', 'POST',
947: 'ADD TO ASSET', 'POST', 'ON HOLD')
948: Where Mass_addition_ID = X_Mass_Addition_ID;
949:
950: if (X_Merged_Code = 'MP') then
951: Update FA_MAss_Additions
952: Set Split_Code = NULL,
953: Split_Merged_Code = NVL(MERGED_CODE, NULL),
954: POSTING_STATUS = 'MERGED'
955: Where merge_parent_Mass_additions_ID = X_Mass_Addition_ID;