Sunday, August 10, 2014

API to Add a Fixed Asset in Oracle Apps R12 without Source info - FA_ADDITION_PUB.DO_ADDITION
















In this post, i tried to create a Fixed asset via standard Oracle API FA_ADDITION_PUB.DO_ADDITION. I tested the script in Oracle Apps R12. Hope this helps. 

Script:

set serveroutput on;
DECLARE
   l_trans_rec                FA_API_TYPES.trans_rec_type;
   l_dist_trans_rec           FA_API_TYPES.trans_rec_type;
   l_asset_hdr_rec            FA_API_TYPES.asset_hdr_rec_type;
   l_asset_desc_rec           FA_API_TYPES.asset_desc_rec_type;
   l_asset_cat_rec            FA_API_TYPES.asset_cat_rec_type;
   l_asset_type_rec           FA_API_TYPES.asset_type_rec_type;
   l_asset_hierarchy_rec      FA_API_TYPES.asset_hierarchy_rec_type;
   l_asset_fin_rec            FA_API_TYPES.asset_fin_rec_type;
   l_asset_deprn_rec          FA_API_TYPES.asset_deprn_rec_type;
   l_asset_dist_rec           FA_API_TYPES.asset_dist_rec_type;
   l_asset_dist_tbl           FA_API_TYPES.asset_dist_tbl_type;
   l_inv_tbl                  FA_API_TYPES.inv_tbl_type;
   l_inv_rate_tbl             FA_API_TYPES.inv_rate_tbl_type;

   l_return_status            VARCHAR2(1);     
   l_mesg_count               number;
   l_mesg                     varchar2(4000);
BEGIN

   dbms_output.enable(10000000);

   FA_SRVR_MSG.Init_Server_Message;  

   -- desc info
 --  l_asset_desc_rec.asset_number                 := '1234567';
   l_asset_desc_rec.tag_number                   := 'TEAM12345-1';
   l_asset_desc_rec.serial_number                := 'TEAM3567-1';
   l_asset_desc_rec.in_use_flag                  := 'YES';
   l_asset_desc_rec.new_used                     := 'NEW';
   l_asset_desc_rec.owned_leased                 := 'OWNED';
   l_asset_desc_rec.current_units                := 1;
   l_asset_desc_rec.description                  := 'Shareoracleapps Test Asset';
   l_asset_desc_rec.asset_key_ccid               := 1;

   -- cat info 
   -- Valid Value in FA_CATEGORIES
   l_asset_cat_rec.category_id                   := '332'; 

   --type info
   l_asset_type_rec.asset_type                   := 'CAPITALIZED';

   -- Asset Financial Information --
   l_asset_fin_rec.set_of_books_id               := 2243;    
   l_asset_fin_rec.date_placed_in_service        := TO_DATE('01-JUN-2014','DD-MON-RRRR');
   l_asset_fin_rec.deprn_start_date              := TO_DATE('01-JUN-2014','DD-MON-RRRR');
   l_asset_fin_rec.deprn_method_code             := 'STL';
   l_asset_fin_rec.life_in_months                := 240;
   l_asset_fin_rec.original_cost                 := 50000;
   l_asset_fin_rec.cost                          := 50000;
   l_asset_fin_rec.prorate_convention_code       := 'SAME MONTH'; 
   l_asset_fin_rec.salvage_type                  := 'AMT'; -- PCT - for Percentage
   l_asset_fin_rec.salvage_value                 := 1000;
   l_asset_fin_rec.percent_salvage_value         := NULL;
   l_asset_fin_rec.depreciate_flag               := 'YES';
   l_asset_fin_rec.orig_deprn_start_date         := TO_DATE('01-AUG-2010','DD-MON-RRRR');

   -- deprn info
   l_asset_deprn_rec.set_of_books_id             := 2243;    
   l_asset_deprn_rec.ytd_deprn                   := 20000;
   l_asset_deprn_rec.deprn_reserve               := 20000;
   l_asset_deprn_rec.bonus_ytd_deprn             := 0;
   l_asset_deprn_rec.bonus_deprn_reserve         := 0;

   -- book / trans info
   -- Valid value in FA_BOOK_CONTROLS
   l_asset_hdr_rec.book_type_code                := 'SHARE BOOK';

   -- distribution info
   l_asset_dist_rec.units_assigned               := 1;
   -- Valid Record from GL Code cominations with record type = 'E' (Expense)
   l_asset_dist_rec.expense_ccid                 := 12345; 
   -- Valid Value in FA Locations   
   l_asset_dist_rec.location_ccid                := 1881098; 
   l_asset_dist_rec.assigned_to                  := NULL;
   l_asset_dist_rec.transaction_units            := l_asset_dist_rec.units_assigned;
   l_asset_dist_tbl(1)                           := l_asset_dist_rec;

   -- call the api 
   fa_addition_pub.do_addition(
           -- std parameters
           p_api_version             => 1.0,
           p_init_msg_list           => FND_API.G_FALSE,
           p_commit                  => FND_API.G_FALSE,
           p_validation_level        => FND_API.G_VALID_LEVEL_FULL,
           p_calling_fn              => null,
           x_return_status           => l_return_status,
           x_msg_count               => l_mesg_count,
           x_msg_data                => l_mesg,
           -- api parameters
           px_trans_rec              => l_trans_rec,
           px_dist_trans_rec         => l_dist_trans_rec,
           px_asset_hdr_rec          => l_asset_hdr_rec,
           px_asset_desc_rec         => l_asset_desc_rec,
           px_asset_type_rec         => l_asset_type_rec,
           px_asset_cat_rec          => l_asset_cat_rec,
           px_asset_hierarchy_rec    => l_asset_hierarchy_rec,
           px_asset_fin_rec          => l_asset_fin_rec,
           px_asset_deprn_rec        => l_asset_deprn_rec,
           px_asset_dist_tbl         => l_asset_dist_tbl,
           px_inv_tbl                => l_inv_tbl
          );

   --dump messages
   l_mesg_count := fnd_msg_pub.count_msg;

   if l_mesg_count > 0 then
      l_mesg := chr(10) || substr(fnd_msg_pub.get
                                (fnd_msg_pub.G_FIRST, fnd_api.G_FALSE),
                                     1, 250);
      dbms_output.put_line(l_mesg);
      for i in 1..(l_mesg_count - 1) loop
         l_mesg :=
                     substr(fnd_msg_pub.get
                            (fnd_msg_pub.G_NEXT,
                             fnd_api.G_FALSE), 1, 250);
         dbms_output.put_line(l_mesg);
      end loop;
      fnd_msg_pub.delete_msg();
   end if;

   if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then
     dbms_output.put_line('FAILURE');
   else
     dbms_output.put_line('SUCCESS');
     dbms_output.put_line('ASSET_ID :' || to_char(l_asset_hdr_rec.asset_id));
     dbms_output.put_line('ASSET_NUMBER :' || l_asset_desc_rec.asset_number);
   end if;

end;
/

7 Responses to “API to Add a Fixed Asset in Oracle Apps R12 without Source info - FA_ADDITION_PUB.DO_ADDITION”

Unknown said...
November 23, 2016 at 12:51 AM

how to load multiple assets through this API.


ERP said...
April 5, 2017 at 12:03 AM

Oracle fusion HCM Training from ERPTREE gives you the best results to learn your dream course and maintains
sufficient knowledge on oracle. It provides training by self-paced videos which are very helpful for
the users to watch at any time according to their schedule. It is globally accepted and having many users undergoing
training every day.


Oracle fusion HCM Online Training

Oracle Fusion HCM Training


Unknown said...
January 13, 2019 at 3:11 PM

Good One!, Thank-you for sharing. It would be great if you add tables information would be effected using each APIs


shivani said...
April 13, 2019 at 12:21 AM

A bewildering web journal I visit this blog, it's unfathomably heavenly. Oddly, in this present blog's substance made purpose of actuality and reasonable. The substance of data is informative
Oracle Fusion Financials Online Training
Oracle Fusion HCM Online Training
Oracle Fusion SCM Online Training


shivani said...
April 23, 2019 at 11:28 PM

A befuddling web diary I visit this blog, it's incredibly grand. Strangely, in this present blog's substance made motivation behind fact and sensible. The substance of information is instructive
Oracle Fusion Financials Online Training
Oracle Fusion HCM Online Training
Oracle Fusion SCM Online Training


Unknown said...
July 24, 2019 at 12:38 PM

how to load multiple assets through this API.


Sarika A said...
September 30, 2021 at 11:49 PM

Thanks for posting the best information and the blog is very important. We are providing the best services click on below links to visit our website.
Oracle Fusion HCM Training
Workday Training
Okta Training
Palo Alto Training
Adobe Analytics Training


Post a Comment

Disclaimer

The ideas, thoughts and concepts expressed here are my own. They, in no way reflect those of my employer or any other organization/client that I am associated. The articles presented doesn't imply to any particular organization or client and are meant only for knowledge Sharing purpose. The articles can't be reproduced or copied without the Owner's knowledge or permission.