According to the documentation it is not allowed to use NOSCHEDULINGCOLS with ADD TRANDATA when you would use Integrated Replicat. Why would Oracle care for that? Let’s find out what can happen if you don’t apply the rules.
Oracle GoldenGate Replicat process requires somehow to identify replicated records. When an UPDATE or DELETE command is replicated the Replicat process needs somehow to identify the row that has to be modified. The obvious solution is to use a PRIMARY KEY on the target table to avoid scanning the whole table to find the row.