2016-07-10 4 views
0
FROM apps.ap_suppliers aps   , 
    apps.ap_invoices_all ai    , 
    apps.ap_invoice_lines_all ail  , 
    apps.ap_invoice_distributions_all aid, 
    apps.AP_DISTRIBUTION_SETS_all ads , 
    apps.gl_code_combinations_kfv gcc , 
    apps.ap_checks_all aca    , 
    apps.ap_invoice_payments_all aipa , 
    apps.FND_TERRITORIES_TL ft 
    WHERE aps.vendor_id   = ai.vendor_id 
AND ai.invoice_id    = ail.invoice_id 
AND ai.invoice_id    = aid.invoice_id 
AND ail.invoice_id    = aid.invoice_id 
AND ai.DISTRIBUTION_SET_ID  = ads.DISTRIBUTION_SET_ID(+) 
AND aid.dist_code_combination_id = gcc.code_combination_id 
AND aca.check_id     = aipa.check_id 
AND aipa.invoice_id    = ai.invoice_id 
AND aca.vendor_id    = aps.vendor_id 
AND aca.vendor_id    = ai.vendor_id 
AND aca.COUNTRY     = ft.TERRITORY_CODE 
AND ai.invoice_id =nvl(p_invoice_id,ai.invoice_id) 
AND ai.last_update_date BETWEEN NVL(p_from_date,ai.last_update_date) 
AND NVL(p_to_date,sysdate+1); 

last_update_date, имеющая дату, как 11-JUN-16, так я проходящее то же самое. Ошибка запроса на уровне параметра даты (типы данных - p_from_date Date, p_to_date Date). Запрос не возвращаетсязапроса происходит сбой в параметре даты

+0

Unrelated, но вы должны прекратить использовать старые, устаревшие и хрупкая неявное включается в 'where' пункта. И используйте явный оператор 'JOIN' - особенно для внешних joins_. Даже Oracle рекомендует делать это (для внешних соединений) –

ответ

0

last_update_date - это дата. Данные не проводятся как 11-янв-16, они хранятся как дата. Когда вы передаете строку типа '11 -JUN-16 ', которая может быть интерпретирована как 11/06/0016. У вас не будет никаких счетов-фактур, которые были бы старыми, и это может быть почему-то, почему ваш запрос не возвращает никаких данных.

Всегда указывать формат при преобразовании строк в даты. И почему бы не всегда использовать четырехзначный год, чтобы избежать двусмысленности. И, наконец, использовать числовую месяц - таким образом язык не является проблемой:

TO_DATE('11/06/2016','DD/MM/YYYY')