Во время работы программы пользователь должен иметь возможность вводить значение в один из двух параметров при условии, что оба не могут оставаться пустыми - PullRequest
0 голосов
/ 09 мая 2019

Существует одна параллельная программа, которая генерирует отчет в Oracle Applications R12. Есть два параметра параллельной программы, скажем, P1 и P2.

Таким образом, требование таково, что пользователь не может оставить оба параметра пустыми. Пользователь должен ввести либо значение в P1 или в P2, либо в оба.

Как мы можем этого достичь?

1 Ответ

0 голосов
/ 09 мая 2019

Я не знаю Oracle Apps.Однако посмотрите, поможет ли следующее:

Если вы вызываете процедуру «создания отчета» (или, в формах, это может быть RUN_REPORT или аналогичный вызов встроенной процедуры), делайте это только в том случае, если P1 иP2 не пусты.Примерно так (псевдокод)

if P1 is null and P2 is null then
   null;
else
   call the "create report" procedure
end if;

Или, в построителе отчетов (что-то, что будет работать ), вы можете проверить это в форме After Parameter Form триггер, например

begin
  if :p1 is null and :p2 is null then
     raise srw.do_sql_failure;
  end if;
  return true

exception
  when srw.do_sql_failure then
    srw.message(1000, 'Error - both parameters are empty');
    return false;
end;
...