Пропущенные записи Informatica должны быть записаны в плохие файлы

в моем случае у меня есть преобразование выражения, которое использует функцию ERROR('transformation') по умолчанию, чтобы пропустить записи, в которых значение даты, поступающее внутрь, имеет неправильный формат. При этом пропущенные строки не записываются в файлы отклонения, так что мы получаем проблему согласования. Мне нужно, чтобы пропущенные строки были записаны в плохие файлы. Пожалуйста, помогите мне, как я могу этого добиться.


person user2827693    schedule 05.10.2013    source источник


Ответы (2)


Поместите преобразование Update Strategy в свое сопоставление и пометьте эти строки для отклонения (используйте константу DD_REJECT).

Дополнительная информация: Преобразование стратегии обновления

person Marek Grzenkowicz    schedule 05.10.2013
comment
Привет, Марек, спасибо. но мне не нужно менять настройки. мне нужны какие-либо функциональные изменения внутри, чтобы справиться с этим. IIF (EndDate = '', NULL, to_date (EndDate, 'ГГГГ-ММ-ДД')). Это выражение, которое мы используем. На самом деле, у меня были сомнения, если я не буду использовать это значение по умолчанию, и если появится какая-либо недопустимая строка, произойдет ли сбой этого сеанса. - person user2827693; 08.10.2013
comment
Вот описание функции ERROR: Заставляет службу интеграции PowerCenter пропустить строку и выдать сообщение об ошибке, которое вы определяете. Сообщение об ошибке отображается в журнале сеанса. Служба интеграции PowerCenter не записывает эти пропущенные строки в файл отклонения сеанса. Таким образом, вы не можете использовать ERROR для отклонения строк PowerCenter — вам нужно пометить их как DD_REJECT или целевая база данных должна их отклонить. - person Marek Grzenkowicz; 10.10.2013

Тогда не используйте функцию abort(). Затем используйте маршрутизатор, чтобы записать даты с неправильным форматированием в другую цель.

person Christian Brabandt    schedule 10.10.2013
comment
Большое спасибо. Но теперь у меня есть другая проблема, где есть два преобразования выражений, в которых оба имеют преобразование даты, например IIF (EndDate = '', NULL, to_date (EndDate, 'ГГГГ-ММ-ДД')). Записи должны пройти через оба преобразования, так что это вызывает ошибку. Но в журнале сеанса сообщение об ошибке выглядит следующим образом: ошибка преобразования (s: '10/09/2013', s: YYYY-MM-DD). Мне нужно знать, откуда приходит этот формат mm/dd/yyyy. примечание: (мой источник - плоский файл) - person user2827693; 11.10.2013
comment
Я не вижу проблемы. Переместите проверку неправильно отформатированной даты как можно раньше и пометьте эти строки как ошибки, используя упомянутое преобразование Update Strategy или преобразование Router. - person Christian Brabandt; 12.10.2013