Skip to main content

Hi,

We are in the process of upgrading from IFS10 to IFS Cloud.

In the Upgrade scripts, we found a long running script in costing 2110.upg. This is caused by moving Cost set related data to the newly created cost set specific tables cost set 2 - cost set 11.

 

I could not find any documentation in the release notes about cost sets 6 - 11, except in 

which has a note on slide 4 → “Part Cost Bucket Performance”.

This is also mentioned in KB0069266 https://support.ifs.com/csm?id=kb_article_view&sys_kb_id=63f1ec64c3f99a1465365083e40131c3&table=kb_knowledge&searchTerm=part_cost_Bucket.

 

Question is:

  1. What is the intention of IFS  for the usage of cost set 6 - 11?
  2. In our solution we have defined our company specific cost set like 100, 200 and a view more. These cost sets contain > 100 millions of records. Therefore, we would like to make use of any performance gains possible.
    is there a possiblity to extend the concept of cost set 6 -11 further to the cost set numbers we are using in our solution?
  3. How can we participate on the intended part cost bucket performance improvents introduced with cost sets 6 - 11?

Kind regards

Johannes

Hi Johannes,

Great to hear from you.

(I was on vacation and couldn’t answer until now)

Many many years back we had only the part_cost_bucket_tab, where all cost calculation results were stored for all cost sets. Calculation took loooong time and also the job Copy Costs into Cost Set One. To speed up calculations we introduced dynamic deletion and creation of part cost bucket indexes.

That really helped, BUT for customer running 24/7 it was not good coz cost set 1 data is used when running shop order costing. So occasionally the performance was very bad for them in Shop Order Costing.

So… we split part_cost_bucket_tab into part_cost_bucket_one_tab and part_cost_bucket_tab. All data belonging to cost_set 1 are stored in part_cost_bucket_one_tab.

Many years later in 21R1 release we took one step futher and split part_cost_bucket_tab into:

part_cost_bucket_two_tab, cost_set 2 data

part_cost_bucket_three_tab, cost_set 3 data

part_cost_bucket_eleven_tab, cost_set 11 data

 

Under the hood there are tons of code to support this 😞 It was costly to implement :-(  but not so costly to maintain :-)

Why did we do this? To improve performance for the calculation jobs.

Why not Oracle’s own partitioning concept? At least then (and I think also now) it comes with a quite high extra licence cost. So our solution is “a poor man’s solution” to Oracle’s partitioning. Perhaps one day it will be cheaper and more attractive. I know we have some customers who are using Oracle partitioning. It is a great concept and good for performance and availability.

 

It is not that easy to just extend it to more cost sets.

 

You might consider moving some of your cost sets from 200, 300 to cost sets 6, 7...But already today you will gain a little bit from this since I think you have data in cost set 2, 3… I mean what is left in cost sets > 11 has decreased. So after an upgrade the new part_cost_bucket_tab will have less data which means that their indexes are smaller => faster to scan through.

Cheers

-Mats


Reply