Why is a cost code path corrupted when applying a template?

We have an issue where sometimes after applying a cost code template to a project, the hierarchy path will not be complete. It will be missing all of the parent path and only shows the name. This issue is only visible in the app by viewing the System Path field inside the form or by using a SQL query, because the system path in the T_TRICOSTCODE table is correct, but the object path field in the IBS_SPEC table is the one that’s not complete. The issue does not have much consequence unless you are using the rollup fields, in which case the corrupt cost code path will cause a posted transaction to fail.

If there are customers who use cost codes heavily, you can try running the following SQL, and if you get any results back, then that means the issue is present at some level in your environment. It is not necessary that you use the Apply Template to create your cost codes, as I have heard of others having the issue where their cost codes are created via an integration. This SQL is for Oracle and may need a tweak for SQL Server. If any customers can run this, and see if they have the issue, it may help us identify how it happens.

select tripathsy, triprojectnamesy, OBJECT_PATH from t_tricostcode T1, IBS_SPEC T2 where T1.spec_id in (select spec_id from ibs_Spec where type_name = ‘triCostCode’ and object_path not like ‘%\Cost Code%’) AND T1.spec_id = T2.spec_id and tripathsy like ‘%\Cost Code%’

[Admin: To see other related posts, use the Cost Code tag or Templates tag.]

Continue reading

IV87340: Inefficient SQL used when financial rollups are executed

The use of the IN clause is grossly inefficient and it is used, not once, but twice. At first, it was causing full table scans. The index creates helped, but that is a band-aid. The query should be rewritten since all tables can easily be joined on the transaction_id column.

Indexes have been added, and budget data access is now sent through SQL logging, so that the times can be found in debug performance logging. Moving forward, we resolved a performance issue with financial rollups and budget transactions. The SQL is as efficient as it can be. The use of joins did not result in a query plan that was any better.

Continue reading

How do you create a custom field with the number of child floors?

I’m trying to create a custom field in the triBuilding BO, which will allow me to see how many child floors that a building has. I guess that I have to use a Classification Rollup field, but I’m not having any luck with the result. I’m configuring it like this:

  • Field Type: Classification Rollup
  • Name: cstFloorQuantity
  • Label: cstFloorQuantity
  • Rollup Source: Classification
  • Rollup Type: Quantity
  • Root Classification: (I don’t know what to choose. I’m not able to choose a location in here.)

I also think I have to change “Quantity” in the triFloor BO mapping, but I don’t know what to choose here. Could someone give me a clue? Thanks in advance.

I think that the simplest way to accomplish this is to create a numeric field, and use an extended formula that maps the sum count of a query that returns the child floors of the parent building. The query would be written against floor, and would have an association filter of “Is Parent Of”. I’m pretty sure you’d need a “count” field on the floor with a default value of 1 for the sum to work properly.

Continue reading

IV82154: Data Modeler budget token panel freezes

In TRIRIGA, the Data Modeler does not allow us to set a budget token. The popup for budget tokens opens, but the Update and Insert action buttons never activate, and occasionally the form freezes with a long running script error.

Steps to replicate:

  • 1) Open Data Modeler.
  • 2) Navigate to triInventory::triInventoryItem.
  • 3) Revise BO.
  • 4) Open any field that is a Financial Rollup.

We have verified this behavior in IE and Chrome.

Cost codes in a flat structure caused a large amount of data to be transmitted. We have improved the performance of the Budget Token panel when inserting or updating the Financial Rollup type of parameter in the TRIRIGA Data Modeler. This way, the Budget Token panel will not freeze when loading huge amounts of data.

Continue reading

How do you refresh the financial rollup with a state transition?

I am trying to refresh the financial rollup on a project using a state transition cstRecalculate with the class “com.tririga.architecture.budget.ejb.BudgetHome” and method “refreshAllTokens”. I have created the new state transition cstRecalculate from triRevision to triReview, but I am getting the following error:

com.tririga.platform.error.PlatformRuntimeException: java.lang.RuntimeException: com.tririga.platform.metadata.MetadataNotFoundException: No transition exists on this Business Object from current state 'BoStateImpl[Name=triRevision]' with transition name of 'cstRecalculate' to target State named 'triReview'. Busines Object: BoImpl[name=triCapitalProject,id=10005241,module=ModuleImpl[name=triProject,id=19]]

Any kind of help is appreciated.

Continue reading