Introduction.

This API will used to adjust the Fixed asset details like life_in_months and etc.

declare

l_trans_rec FA_API_TYPES.trans_rec_type;
l_asset_hdr_rec FA_API_TYPES.asset_hdr_rec_type;
l_asset_fin_rec_adj FA_API_TYPES.asset_fin_rec_type;
l_asset_fin_rec_new FA_API_TYPES.asset_fin_rec_type;
l_asset_fin_mrc_tbl_new FA_API_TYPES.asset_fin_tbl_type;
l_inv_trans_rec FA_API_TYPES.inv_trans_rec_type;
l_inv_tbl FA_API_TYPES.inv_tbl_type;
l_inv_rate_tbl FA_API_TYPES.inv_rate_tbl_type;
l_asset_deprn_rec_adj FA_API_TYPES.asset_deprn_rec_type;
l_asset_deprn_rec_new FA_API_TYPES.asset_deprn_rec_type;
l_asset_deprn_mrc_tbl_new FA_API_TYPES.asset_deprn_tbl_type;
l_inv_rec FA_API_TYPES.inv_rec_type;
l_group_reclass_options_rec FA_API_TYPES.group_reclass_options_rec_type;
l_return_status VARCHAR2(1);
l_mesg_count number := 0;
l_mesg_len number;
l_mesg varchar2(4000);

Cursor l_asset_hdr is
select asset_number,FA_BOOK,DATE_PLACED_SERVICE,NUMBER_OF_MONTHS,SET_OF_BOOK_ID
from FA_GERP_CONVERSION_REC
WHERE ASSET_NUMBER=ASSET_NUMBER;

–l_new_life FA_API_TYPES.asset_hr_attr_rec_type;

begin

fnd_profile.put(‘PRINT_DEBUG’, ‘Y’);

dbms_output.enable(1000000);

FA_SRVR_MSG.Init_Server_Message;
FA_DEBUG_PKG.Initialize;

FOR i in l_asset_hdr
LOOP
–asset header info
l_asset_hdr_rec.asset_id := i.asset_number; — Asset Id from fa_additions
l_asset_hdr_rec.book_type_code := i.FA_BOOK; — Book Name from FA_BOOKS

l_asset_fin_rec_adj.date_placed_in_service :=i.DATE_PLACED_SERVICE;
l_asset_fin_rec_adj.life_in_months := i.NUMBER_OF_MONTHS;

dbms_output.put_line(‘l_asset_hdr_rec.asset_id’||l_asset_hdr_rec.asset_id);
dbms_output.put_line(‘l_asset_hdr_rec.book_type_code’||l_asset_hdr_rec.book_type_code);
dbms_output.put_line(‘l_asset_fin_rec_adj.date_placed_in_service ‘||l_asset_fin_rec_adj.date_placed_in_service );
dbms_output.put_line(‘l_asset_fin_rec_adj.life_in_months’||l_asset_fin_rec_adj.life_in_months);
l_asset_fin_rec_adj.deprn_method_code:= ‘STL’; — from FA_METHODS

FA_ADJUSTMENT_PUB.do_adjustment (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,
x_return_status => l_return_status,
x_msg_count => l_mesg_count,
x_msg_data => l_mesg,
p_calling_fn => ‘ADJ_TEST_SCRIPT’,
px_trans_rec => l_trans_rec,
px_asset_hdr_rec => l_asset_hdr_rec,
p_asset_fin_rec_adj => l_asset_fin_rec_adj,
x_asset_fin_rec_new => l_asset_fin_rec_new,
x_asset_fin_mrc_tbl_new => l_asset_fin_mrc_tbl_new,
px_inv_trans_rec => l_inv_trans_rec,
px_inv_tbl => l_inv_tbl,
— px_inv_rate_tbl => l_inv_rate_tbl,
p_asset_deprn_rec_adj => l_asset_deprn_rec_adj,
x_asset_deprn_rec_new => l_asset_deprn_rec_new,
x_asset_deprn_mrc_tbl_new => l_asset_deprn_mrc_tbl_new,
p_group_reclass_options_rec=> l_group_reclass_options_rec
);

dbms_output.put_line(sqlerrm||’ STATUS : ‘||l_return_status);

if (l_return_status <> FND_API.G_RET_STS_SUCCESS) then

fa_debug_pkg.dump_debug_messages(max_mesgs=>0);
l_mesg_count := fnd_msg_pub.count_msg;

if l_mesg_count > 0 then
l_mesg := substr(fnd_msg_pub.get(fnd_msg_pub.G_FIRST,fnd_api.G_FALSE), 1, 512);

dbms_output.put_line(substr(l_mesg,1, 255));
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, 512);
dbms_output.put_line(substr(l_mesg, 1, 255));

end loop;

fnd_msg_pub.delete_msg();

end if;

else

dbms_output.put_line(‘SUCCESS’);
commit;

dbms_output.put_line(‘THID’ ||to_char(l_trans_rec.transaction_header_id));

end if;
end loop;

end;

 

Recent Posts

Start typing and press Enter to search