SETVERIABLE не работает в informatica

#informatica #informatica-powercenter

#informatica #informatica-powercenter

Вопрос:

у меня есть senerio, где мне нужно получить данные за предыдущий месяц. итак, я создал два потока в потоке сопоставления, 1 получит даты первого и последнего месяцев, и я использую проверяемые параметры и вызываю их в сопоставлении 2 в исходном sql, но по какой-то причине sql не принимает исходные значения, даже после того, как в нем есть значения.

 SETVARIABLE($$END_DATE,set_$$END_DATE_v)   ----------------------
  

это условие, которое я использую для получения $$END_DATE (которое задается в параметрах), поэтому я получаю конечную дату как 20160930,
а в исходном sql я сказал:
PAL.EXCLS_PAID_DATE BETWEEN TO_DATE($$START_DATE,'YYYYMMDD') AND TO_DATE($$END_DATE,'YYYYMMDD') ,
но его повторная
PAL.EXCLS_PAID_DATE BETWEEN TO_DATE(,'YYYYMMDD') AND TO_DATE(,'YYYYMMDD') и выдающая ошибка как отсутствующее выражение

Комментарии:

1. Используете ли вы $$START_DATE и $$END_DATE в исходном sql?

2. Да, упомянутая выше логика используется в исходном sql

3. Это утилита informatica, если вы используете ее в исходном запросе, она не будет работать. Вам просто нужны имена столбцов в исходном запросе. Используйте логику $$START_DATE и $$END_DATE в портах при преобразовании выражения

Ответ №1:

  1. SETVARIABLE работает. Но по-другому.
  2. Вы можете попытаться установить значения $$ START_DATE и $$ END_DATE на уровне рабочего процесса, а затем использовать их в квалификаторе источника
  3. Или сделайте то же самое в инструкции SQL, используемой для получения данных.