To review the contents of an ai file:
The RFUTIL command with the
aimage scan verbose Option can be used to review the contents of an AI file.
There is no similar tool to view the contents of the Before Image (BI) files. However, the before-image transaction note information written to the BI file is also written to the AI file as after-image transaction notes. When there is an implicit need to review what is being written to a BI file, configure a database to make use of After Imaging (AI).
Reviewing the contents of an ai file contains an abundance of information including:
The transaction number, the username, when a transaction was started and ended, what operation modified the DBkey/Area was in the transaction.
What is the content of aimage scan verbose output useful for?
How to extract AI file content for review?
The following command can be run against any database (empty, sports, etc) to review the notes recorded in an AI file.
$ rfutil
dbname -C aimage scan verbose -a aifilename > outputfilename
- The database and/or its name does not have to be the same one that the AI file was generated against.
- The database needs to have the same AI and BI blocksize as the database that the AI files were produced against, otherwise 752 errors will result. For further information refer to Article
This will output Progress specific reference notes which contain user ID's, times, area number, transaction ID and the compressed notes which denote the types of actions performed against the block within the database.
To understand the operation being recorded, refer to Article
The following Article provides an example to analyse the content using the TRID and RL_RMDEL notes:
Example AISCAN VERBOSE output:
After-image dates for this after-image file: (1633)
Last AIMAGE BEGIN Fri Jul 25 13:44:57 2003 (1640)
This file was last opened for output on Fri Jul 25 13:58:33 2003. (1643)
code = RL_INMEM (1637)
transaction index = 0 (1638)
dbkey = 0 update counter = 0 (1639)
code = RL_LSTMOD (1637)
transaction index = 0 (1638)
area = 6 dbkey = 32 update counter = 10 (9016)
code = RL_TBGN (1637)
transaction index = 1484 (1638)
dbkey = 0 update counter = 0 (1639)
Trid: 1484 Fri Jul 25 13:58:20 2003. (2598)
User Id: username. (2599)
code = RL_CXREM (1637)
transaction index = 1484 (1638)
area = 10 dbkey = 2176 update counter = 4 (9016)
code = RL_CXINS (1637)
transaction index = 1484 (1638)
area = 10 dbkey = 2176 update counter = 5 (9016)
code = RL_RMCHG (1637)
transaction index = 1484 (1638)
area = 9 dbkey = 96 update counter = 11 (9016)
code = RL_TEND (1637)
transaction index = 1484 (1638)
dbkey = 0 update counter = 0 (1639)
Trid: 1484 Fri Jul 25 13:58:20 2003. (2598)
7 notes were processed. (1634)
0 in-flight transactions. (3785)
1 transactions were started. (1635)
At the end of the .ai file, 0 transactions were still active. (1636)