IV95499: System filter causes report to add totals differently

When you add a system filter to a report that has subtotal values (for instance, work tasks material total), the subtotals don’t add up. If you remove the system filters, the values add just fine.

You can reproduce this by creating 3 work tasks and adding a responsible person (for example, Abe Abstractor) that’s easier to spot. Each of the 3 work tasks have one currency: US Dollars, AUS Dollars, and Euro. Create a query report to list all work tasks. Add columns for values like material or time costs. Add a system filter to see only work tasks where the responsible person = Abe Abstractor (or the one you have chosen). The values will not add up correctly. Remove the system filter and it will calculate just fine.

We need to add a description about what is expected when summing non-base currency fields. If you sum a currency field, and it is not the base currency field that other fields convert into the base currency, then the summation of the column will just add the numbers up, without regard to the currency, and the currency UOM at the end of the report will be just the last UOM that happened to occur on the last record before the total row.

[Admin: To see other related posts, use the Currency tag.]

Continue reading

IV95403: Locator query select is not showing module-level queries

If you open up an out-of-the-box form and go to a locator field in the form, the query that is listed as a part of the field’s “Locator Query” properties may not appear when you click the picker and view the list of queries.

An example of this problem is seen in the triContract > triLeaseAbstract form’s triLocationLookupTX field. The query “Location – Find – Active Property, Building, Structure, and Retail Location or Lease” is listed as the locator query, but if you click the picker next to that field, you cannot actually select that query.

If we need to show all of the queries based on the module, then we need to check if the BO is the base BO, then ignore it and retrieve all of the queries based on the moduleId. Moving forward, we resolved an issue where the locator query against a base BO will now return all of the queries in that module.

[Admin: To see other related posts, use the Locator tag.]

Continue reading

Why do exceptions for currency conversion appear in server.log?

How do I address the cause of currency conversion exceptions that are appearing in my TRIRIGA server.log file so they stop being logged? The exception can occur as a result of currency conversion being done when a user profile has a different currency than the base currency. Here are some examples of the exception seen in the log:

Error in Conversion from >CHINESE YUAN RENMINBI< to >US Dollars< . Using conversion rate of 1.
Error in Conversion from >NIGERIAN NAIRA< to >US Dollars< . Using conversion rate of 1.

There are generally two ways to resolve this:

  • 1. Add currency conversion values to allow the currency conversion to take place. The documentation can be found in the IBM Knowledge Center: Currency.
  • 2. Confirm every user profile has the same currency as the base currency. The base currency is defined in the TRIRIGAWEB.properties file.

Also, check for duplicate UOM values for currency. This could explain the exception if the first two options fail to resolve the problem…

Continue reading

How do you recalculate the path after changing the parent?

In TRIRIGA, when a user renames a geography record or attaches it to a new parent, the path value (triGeographyLookupTX, for example) won’t be updated automatically in the associated records (locations, triPeople, triContactRole, etc). So I’m working on a solution to update all of the path values of associated records when a geography has been modified (by associating to a new parent or being renamed).

But now I’ve found another issue. When the geography is attached to a new parent, triPathSY is recalculated correctly in the base language, but not in the secondary language (French, in our case). So when I tried to update the path values of associated records, I can’t get the new path in the workflow.

After testing, renaming the geography (by modifying the triNameTX) and triSave does recalculate the path on both the base and secondary languages. So I want to trigger the same procedure before populating the new path to the associated records. Do you know how to trigger the recalculation of triPathSY in a workflow?

Continue reading

How do you change the accounting end date for a lease?

I am a newbie to TRIRIGA, so this may seem a very basic question. But how is the Accounting End Date changed? Here is the scenario. We have a lease with the original expiration date of 31/03/2016. However, under the terms of the lease, this can be extended on a yearly basis, so we would like this now to end 31/03/2017. We can amend the Base Lease Expiration Date. However, this does not update the Accounting End Date, which still shows as 31/03/2016.

While the lease record is in “Draft”, the Accounting End Date is editable on the Accounting tab. That field becomes read-only when the lease is “Active”, but it can be changed by doing a “Review Assumptions”. Then you will see the field as editable on the form that pops up. When submitting, it writes back to the Accounting End Date on the Accounting tab and processes accordingly. That is the simplest way to change the Accounting End Date.

Continue reading

What is the Display Mask format to display two decimal spaces?

What is the format for the Display Mask to display a format with the same number of decimal spaces in TRIRIGA? For example, the customer wants a standard 2 spaces after the decimal: 4.26 meters or 4.30 meters for uniformity. I cannot seem to get the zero to show.

Another issue is the delimiter is a space instead of a comma: 2,000.00 to show as 2 000,00? Changing the base language in the profile will automatically change the period to the comma, but I cannot delimit the number by a space, even by changing the UOM format.

Continue reading

How do you sync internal and localized values for key fields?

We have a instance of TRIRIGA with the base language of English. However, most of our users are French. We opted for the English base language after discovering some problems with this configuration. There is one important side effect that we have discovered. When a user copies a record and renames values, it is the localized French values of the records that are affected. But the internal record values remain the same as the creation-time value.

In other words, as soon as the user modifies a localized text field, the internal record value and the localized value become desynchronized. This also applies to field names that are part of the record name such as triNameTX. This lead to problems when users try to rename records because the display name of the record often does not correspond to the internal “key” value. Recently, one user used an enhanced Copy action on a BO, and ran into problems when TRIRIGA failed to reactivate a record that has the same internal name, but different display name. Quite confusing for users.

So, I am planning to implement a workflow called from the module-level business-rules validation workflow that synchronizes internal and localized values for key name fields such as triNameTX. How can I access both the internal English value and the localized French value for that field from within a workflow? Thanks in advance!

[Admin: This post is related to the 04.18.16 post about runDynamicQuery and runNamedQueryMultiBoLocalized.]

Continue reading

How do you set the DM_PATH formula field from a workflow?

I need to create folders and documents for a batch functionality that our customer requires. My problem is that I am unable to properly set documents and folder paths from workflows. My documents end up in the “/” path and thus are inaccessible from the Document Manager UI. I understand it is set based on a formula that refers to the SYSTEM_FILE_PATH field. Both these fields cannot be set from a workflow.

When using the integration object, this can be set with the Base Parent attribute. Also, the “Is Parent Of” inclusion does not seem to be present in the Modify workflow task. Any advice to accomplish this?

In order to accomplish this, you should be able to use the “Add Child Task” within the workflow to properly map the parent record. What I envision is that during the batch load, you have a field that properly maps the parent record. Upon import, you have a workflow that triggers and gets the parent record, then maps the child record to that parent record. Using this task would have the platform set the child/parent relationships for you, and map the paths properly.

[Admin: The same question is also posted in the triDeveloper Google group.]

Continue reading