Default BIX Criteria - What column of the Work table does system use?
We are using BIX rules in our application and the filter criteria we use is "Use last updated time as start". However, we see a problem at times where some of the cases/work objects are skipped and not extracted to the database tables (Output format is 'Database Schema'). Couple of questions related to this:
In such a scenario, what column of the work table does Pega use to figure out the cases/work objects that need to be extracted? Is it 'pxUpdateDateTime' or 'pxSaveDateTime' or 'pxCommitDateTime' OR a combination of these 3 columns OR some other column?
What could be the potential reasons for the cases/work objects being skipped during BIX extraction. I thought it might be the work object lock, however that doesn't seem to be the case. I did a POC by opening a Work object to keep it locked, ran the extract and it did go through fine to the database tables. Any other reasons that you can suggest/know about?
During the initial run of BIX Extract, it extracts all the records.
during the delta run, BIX Extract is based on the "pxUpdateDateTime", it extracts the updated records from the PEGA table and insert it as a seperate record in the flat table which is used to store the extracted records.
Thanks for the reponse Bhanu. Well, that was the understanding I had too. However, last week we had to update some of the existing Work Objects (ran a stand-alone utility) by doing a Obj-Open, did a Property-Set, then a Obj-Save and a Commit. I did not explicitly update the 'pxUpdateDateTime'. After this update by the utility, I checked the work table and the value for 'pxUpdateDateTime' had not been updated as expected. However, the strange thing is that those records still got extracted. The only columns that were updated by the utility were 'pxSaveDateTime' and 'pxCommitDateTime'.
Regarding the point 1 whenever a extract rule is executed in PEGA the date time is being stored in the PEGA table "PR_EXTRACT_TIME", this table is responsible to identify the data to be extracted from one run to next run. This table consist a column "PYLASTUPDATEDATE" and it is updated every time the extract rule is executed with the latest value, and this column's value is being compared with the PXUPDATEDATETIME value of the table which will be extracted. Pega forms a query like this during the extraction "SELECT Colums name FROM Table WHERE "PXUPDATEDATETIME" >= PYLASTUPDATEDATE AND "PXUPDATEDATETIME" <= PYLASTUPDATEDATE".
And for the point 2 did you check in the logs is there any specific error or exception occur during the execution.