Тогда сначала select перед update делай, и поля сравнивай
А в стандартных транзакциях обычно во внутренней таблице вводят дополнительное служебное поле, например UPDKZ.
Сначала данные считываются из БД во внутреннюю таблицу.
Затем пользователь работает с этими данными. И если пользователь изменил какие-либо записи, добавил новые или удалил, то это поле заполняется программно.
И перед записью в БД можно поделить данные внутренней таблицы в соответствии с заполнением служебного поля.
Для примера посмотри программу из SD: SAPMV45A, внутренняя таблица XVBAP.
С другой стороны: какая разница, если записались те данные, которые уже есть?
