Ajax вызов ORA-01403: НЕТ ДАННЫХ - PullRequest
0 голосов
/ 06 апреля 2020

Я обнаружил много похожих вопросов об этой ошибке в stackoverflow, но это не моя проблема. Я создал простую страницу с двумя регионами. Первый регион имеет два списка выбора, а второй регион имеет диаграмму, которая берет данные из списков выбора. Когда я открываю страницу, Apex загружает все компоненты Регионы, элементы ... В моем случае я знаю, что изначально в моей диаграмме нет данных из списков выбора, и выборка ниже возвращает 0 строк, и я получаю сообщение об ошибке: "AJAX Позвоните ORA-01403: ДАННЫЕ НЕ НАЙДЕНЫ ". Когда страница загружена, я могу использовать списки выбора и показать значение из диаграммы.

select MSO_DEVICE,  nvl((case when MSO_OEE < 100  then 100 else 100 end),0) max_value,  nvl((case when MSO_OEE is null
                                                                                              then 0
                                                                                          when MSO_OEE = 0            
                                                                                               then 0                
                                                                                          else MSO_OEE 
                                                                                           end),0) value           
FROM MES_OEE
where MSO_DEVICE = :P2_DEVICE 
and MSO_DATE = :P2_DATE 
order by 2 desc;

Я пытался установить состояние сервера в области диаграммы, когда P2_DEVICE и P2_DATE равны нулю, но в в этом случае регион не появится. В этом случае я хотел бы показать диаграмму региона без значения или значения «0».

1 Ответ

0 голосов
/ 07 апреля 2020

Я нашел решение для моей проблемы. Я надеюсь, что это будет полезно для многих людей.

select  
    mso_device  
  , 100 max_value  
  , coalesce(mso_oee, 0) value                                                                                 
from  
    (select  
        mso_device  
      , mso_oee  
    from  
        mes_oee  
    where  
        mso_device = :p5_device  
    and mso_date = to_date(:p5_date, :APP_NLS_DATE_FORMAT)  
    union all  
    select  
        null  
      , null  
    from  
        dual  
    where  
        :p5_device is null  
    or  :p5_date is null)  
ORDER BY 2 DESC; 
...