0 Replies Latest reply: Jun 11, 2014 6:13 PM by Arturo Gutierrez RSS

    Using @ABSENT on Where Filter

    Arturo Gutierrez
      Hello,
      I have this simple configuration:

      setenv (NLS_LANG = "SPANISH_SPAIN.AL32UTF8")
      Extract Replica2
      ExtTrail. / Dirdat / rb
      Gguser UserID, Password xxxxxx
      discardfile ./dirrpt/replica2.des, append
      GETTRUNCATES
      Table REPLICA2.DEPT;
      Table REPLICA2.EMP, COLSEXCEPT (MGR), WHERE (JOB = @ ABSENT OR JOB = 'PRESIDENT');

      As you see, for the EMP table, I have a WHERE condition to filter by a simple condition. As I have observed that if for example I run this update:
      SQL> update emp September salt where empno = 5001 = 7789;+commit!
      This update modifies a register that is PRESIDENT, but of course that is not replicated in the redo log no reference to that column.
      I understand you can use the attributes @ ABSENT to check if a column is not present in the redo log, because I want to replicate it in Update. But it does not work.
      The Extract process says:
      6/12/2014 1:00:47 WARNING OGG-01008 Discarding bad record (recs discard = 1).
      Discard Record *** ***
      And in the Discard File:
      Error: could not evaluate-FILTER / WHERE clause, missing field

      Am I wrong to understand this?
      Any idea how to solve this issue?
      Thanks
      Arturo