How do you migrate record data quickly between environments?


So I just learned that I can’t use the Object Migration tool to migrate record data between two TRIRIGA environments. For example, I have two environments on different servers on the same application and platform version. If I try to use OM to migrate the Record Data only, for instance, the Building Equipment records, not all of the associated records will get migrated and certain smart sections do not get properly migrated either.

What are some other options that I could use to quickly migrate this data? I was thinking the Data Integrator (DI) method, but that would be tedious because I have over 100,000 records.

Ideally, DI should be used for the initial load. If the data is available somewhere else, you can look into Integration Object or DataConnect. You can populate staging tables and then run the integration. In your workflow, you can have logic to create any dependent records (such as organizations or contacts) based on the staging table data.

[Admin: To see other related posts, use the Integration tag or DataConnect tag.]

Continue reading

Advertisements

How do you import CL fields that have more than 100 characters?


I encountered a bug with classification (CL) field types. I have a classification BO with the publish name comprised of (ID – Name). I have a certain number of records where the character length in the Name field is about 150 characters. So the full length of the publish name will be more than 100 characters.

  • Problem: I went to a form that references that classification via an associated CL field. After I selected the value, I noticed that the displayed value showed a truncated value that was less than 100 characters. However, when I went to the Association tab of that form, it had the correct association.
  • Second Problem: When I imported data via Data Integrator (DI), I made sure that the CL field had the full path which is more than 100 characters. DI gave no errors after import. I opened the record to verify the CL field populated, but the CL field was not updated and left null. I had to manually select the value in the CL field to associate it correctly.

Question: How do I import data with CL fields that have more than 100 characters?

I am not sure how to import data with CL fields that are more than 100 characters, but if you feel you have encountered some bugs, please submit a PMR.

[Admin: To see other related posts, use the Classifications tag or Character tag.]

Continue reading

Is there any tool which imports currency conversion rates?


We are looking for an integration solution which allows you to import currency conversion rates. It seems that this data is not based on a BO, so I think traditional integration tools such as DataConnect (DC), Data Integrator (DI), and Integration Object won’t work. Have you seen this kind of requirement? Are there any solutions other than using SQL script? I’ve tried the SQL below, and it seems to be working.

INSERT INTO BUDGET_CURRENCY_CONVERSION (CONVERSION_GROUP, FROM_CURRENCY_CODE, TO_CURRENCY_CODE, CONVERSION_RATE, START_DATE, END_DATE, INSTANCE_ID) VALUES (‘LIBA’, ‘Chinese Yuan’, ‘Euro’, 0.13, {ts ‘2017-01-01 01:00:00’}, {ts ‘2017-12-31 01:00:00’}, BUDGET_CURRENCY_ID_SEQ.nextval)

BusinessConnect (a.k.a. Connector for Business Applications or CBA) is the best method to use for this. Here’s the PDF. The putCurrencyConversionRates method is what you would want to use.

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

Continue reading

How do you update a record with Data Integrator?


I’m trying to update a record using Data Integrator. But currently, I have no good results with this. The record is just added, not updated. I would appreciate it if you could show me an example of updating the value of an existing record for an employee’s email address below. I might not have understood the publish name, or the unique key of TRIRIGA.

  • (1) triIdTX: 1000004: This is the system generated number at record creation. I assume it’s used as the unique key. (I am not sure if it is the publish name or not.)
  • (2) triLastName: Aaaaaaaa: This is the value with the same value when creating a record.
  • (3) triFirstName: Bbbbbbbb: This is the value with the same value when creating a record.
  • (4) triEmailTX: xxxxx@yy.zz.com: It was not set when creating a record. And I want to set this value as an update value.

Also, let’s suppose that some values are already set to other fields of triPeople, but are not specified in Data Integrator.

You are correct that it’s adding a record because you’re not using the Publish Name. Take a look at the documentation in Application Building for the IBM TRIRIGA Application Platform 3: Data Management (3.4.x PDF p.35 | 3.5.2 PDF p.31). I confirmed the publish name in our latest release is the same as documented: Last Name + ‘, ‘ + First Name + ‘ – ‘ + ID.

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

Continue reading

How do you avoid the tree error after deleting hierarchy records?


I’m loading data via the Data Integrator into a Classifications business object. In the first load, my data is successfully loaded. However, I notice some data mapping issues. So I delete the records from a query, then I clear cache. In the second load, my data is successfully loaded. I go into the Classifications hierarchy form and get the dreaded message:

“Please contact your system administrator. The tree control reported this error while trying to draw itself: There was an error in the database or the query definition.”

When this happens, I tell myself that I deleted the records too quickly and didn’t allow the system to reset in time. The solution is the dreaded wait time for the Cleanup Agent to process records that takes 12 hours, 1 day, 3 days, or sometimes 1 week, before all records with a TRIRECORDSTATESY is null, are removed from the database. The only workaround seems to be to increase the Cleanup Agent time. However, is there a sequence of steps I need to follow before I delete records from a hierarchy form, so that I don’t get the dreaded message each time?

Regarding your scenario of loading hierarchy records, deleting them, then reloading the same records to cause the tree control to fail, that should be considered a platform defect. I would advise you to enter a PMR, so Support can look into this issue. The tree control should never fail to render as you describe it.

To help with your issue, there is an unsupported platform feature that allows the Cleanup Agent to delete data immediately. If you add the following property to your TRIRIGAWEB.properties file and set CLEANUP_AGENT_RECORD_DATA_AGE=2, the Cleanup Agent when run will delete records that are 2 minutes old. This allows you to immediately delete a bad data load, and allows you to run it cleanly again a second time without conflicts from that data already existing in a null state.

[Admin: This post is related to the 08.11.16 post about the Organization hierarchy tree not being displayed, the 08.04.16 post about unretiring and returning records to null, and the 02.24.16 post about executing the Cleanup Agent (a.k.a. Platform Maintenance Scheduler) after retiring a record.]

Continue reading

What is the quickest way to create 1000 native users in TRIRIGA?


I would like to create 1000+ native users in TRIRIGA 3.5.1.2 with a standard password for load-testing purposes. Ideally, user names should be “User1”, “User2” and so on. What would be the quickest or easiest way to do this?

The quickest way would be to create a tab-delimited TXT file containing the user data you want to set up, and then import the data using Data Integrator…

[Admin: This post is related to the 04.01.16 post about finding information on data import tools, and the 03.07.16 post about tips for adding users via an integration.]

Continue reading