Home Free solutions
Welcome to my repository
Free solutions

Free solutions (8)

Solutions to DOWNLOAD

Children categories

Java Transformation

Java Transformation (2)

Solutions based on Java transformation.

View items...
Flat Files

Flat Files (1)

Solutions which are associated with flat file sources and targets.  

View items...
Expression Samples

Expression Samples (1)

Samples showing how to use expresson transformation.

  • Regular expressions
  • Counting rows

View items...

On the site is available i5/OS CDC connector for Informatica PowerCenter which  is able to read transaction journal entries from i-System (old As/400) in real time.  This entries can be used to replicate changes to other database, to audit database changes made by users or to compare two processes.

Use Case Description.

There are two identical databases on two different i - Systems (As/400 Systems) and two application sets, which calculates actuarial reserve. One set of applications is the old one. The second applications set must give the same results but is optimised in order to run faster. The challenge is, how to compare what the two sets do the same and what they do differently.

Version 1.2.3 of the Data Queue connector for Power Center support all data queue types and enables reading i5/OS database changes in real time. New name of the product is "Data Queue & CDC Connector for i5/OS". Data available in the i5/OS journal are propagated to Informatica Power Center. Power Center real time edition is the only licence requirement.   

 

 The samples below show how to use expression variables to count rows and how to check if string follows required pattern.

 Variable usage example (expression local variables):

The solution shows how to:

·       use shell command to generate input flat file list.

·       each flat file with name <name>.<extension> from the list above is processed and written to output file under the name <name>_O.<extension>.

·       to achieve that transaction control transformation is required. For every transaction it is generated flat file with new name.   

·       expression transformation shows how to check whether new input file is processed. If new file is processed port NewFile is set to 1 (0 in other case). This is used in transaction control transformation to generate new transaction. One of more interesting issues is using local variables in the expression transformation.

Data replication can be done in many ways. The most natural is to use "PowerExchange" with the "Change Data Capture" feature. It reads changes made to your table based on the transactional log. "PowerCenter" can see the changes as a source. But you have to have the product license.

If one must achieve that without "PowerExchange", one must solve the following issues:

  1. How to find out which rows were inserted to the source and not yet applied to the target - "ToReplicate".
  2. Every row applied to the target must be removed from set above - "Replicated".
  3. It must be possible to much source and target rows.
  4. Recovery in case of failure must be possible.

The example shows how to do replicate "inserts" and "updates" form a source table to a target table in an easy manner. The solution is not fully viable due to a performance issue; it is, nonetheless, very easy to create.

Workflow updates target the row base on the source. If a target row does not exists add "insert". It is important that the source and target table have a primary key, as replication is based on it. The solution consists of mapping readings from the source table and writing to them onto the target table. The “update else insert” session parameter must be checked as shown in the example enclosed. All source rows are treated as updates. The url below contains an avi. file with an example of mapping and workflow. The source and target must be changed according to the location of the Xtreme.mdb location.

The java transformation reads a given number of rows and writes them to one output row.

The SubstrB java transformation allows to trim a string to a given number of bytes in a given code page.