you can use
ASSUMETARGETDEFSparameter in the replicat parameter file when the source and target objects specified in a
MAPstatement have identical column structure.
otherwise you need to specify definition file every time the source table changed.
Frak is correct. Think of OGG like this... when you use ASSUMETARGETDEFS, the Replicat will assume that the source tables match the target tables, column for column.. that means column order too... So, if you add an additional column to the end of the table in the target database, you don't need to change ASSUMETARGETDEFS or generated a new SOURCEDEF file, as the column would never be populated... since it doesn't match to a source column.
But, if you add a new column to the source, and the target doesn't have this column, then in Extract you might be able to use COLSEXCEPT to prevent this column from being written into the trail file, and therefore not part of the SQL statement in the replicat. I would test it first though, just to be sure it doesn't mess something up.