Список организаций

Select t.organization_id     as org_id,
       mpv.organization_code as org_code,
       t.name                as org_name
From hr.hr_all_organization_units t,
     mtl_parameters_view mpv
where mpv.organization_id = t.organization_id
order by t.organization_id, mpv.organization_code

Просмотр блокировок

13 Май 2010 2 comments
select distinct
       o.object_name,
       sh.username || '(' || sh.sid || ',' || sh.serial# || ')' Holder,
       sh.osuser,
       sw.username || '(' || sw.sid || ',' || sw.serial# || ')' Waiter,
decode(lh.lmode,
              1,'null',
              2,'row share',
              3,'row exclusive',
              4,'share',
              5,'share row exclusive',
              6,'exclusive') Lock_Type
from v$session   sw,
     v$lock      lw,
     all_objects o,
     v$session   sh,
     v$lock      lh
where lh.id1 = o.object_id
      and lh.id1 = lw.id1
      and sh.sid = lh.sid
      and sw.sid = lw.sid
      and sh.lockwait is null
      and sw.lockwait is not null
      and lh.type = 'TM'
      and lw.type = 'TM'

Профили для OA Framework

1 «Personalize Self-Service Defn»(Настройка веб-определений) значение Y

2 «FND: Diagnostics» (БОП: диагностика) значение Y

3 «FND: Personalization Region Link Enabled» (БОП: активизация ссылки области индивидуальной настройки) значение Y

4 «FND_PERSONALIZATION_SEEDING_MODE» (БОП: режим встраивания индивидуальной настройки) значение Y

5 «FND_PERZ_DOC_ROOT_PATH» (БОП: путь для корневого каталога документа индивидуальной настройки)
Не забудьте очистить кеш, после изменения профилей.

Описание профилей на металинке:

Oracle Application Framework Profile Options Release 12.1.3 [ID 1107970.1]

Как очистить Application Cache (полномочия Администратор функций)

13 Май 2010 3 comments

1— Перейти в полномочия Администратор функций (Functional Administrator)
2— Выбрать закладку «Службы ядра»
3— Кликнуть на ссылке «Система кеширования»
4— Кликнуть на «Глобальная конфигурация»
5— Нажать на кнопку «Очистка всего кэша»
6— В появившемся сообщении нажать «ДА».



OEBS Полезные системные профили

1) Отключение запроса пароля APPS при вызове диагностики или проверки.

Установите следующие системные профили в полномочиях системного администратора

Профиль Значение
FND: Diagnostics Yes
Hide Diagnostics menu entry No
Utilities:Diagnostics Yes

Читать дальше про “OEBS Полезные системные профили” »

Изменить NLS_LANG для сессии

select USERENV('LANG') from dual;
alter session set NLS_LANGUAGE = 'AMERICAN' ;
alter session set NLS_LANGUAGE = 'RUSSIAN'  ;

Для OEBS есть API

begin
  fnd_global.set_nls_context('AMERICAN');
  --fnd_global.set_nls_context('RUSSIAN');
end; 

Отключить сообщения формы при commit

Вместо использования COMMIT_FORM вызвать свою процедуру

-- Отключает стандартное сообщение формы
PROCEDURE MY_COMMIT IS
 x_message_level number;
BEGIN

  x_message_level := :SYSTEM.MESSAGE_LEVEL;
  :SYSTEM.MESSAGE_LEVEL := '5';
  COMMIT_FORM;
  :SYSTEM.MESSAGE_LEVEL := x_message_level;
END;

Model

7 Май 2010 2 comments
Categories: SQL Tags: ,

Разбить строку на строчки по 100 символов, не разбивая слова

2 Апрель 2010 4 comments
with t as (
select 'есть длинная строка - которую нужно разбить на строчки по сто символов.'
           || 'Но слова разбивать нельзя, переносить нужно по '
           ||rpad('qwerty',110,'o')||'абвгд' as s from dual
)
select trim(regexp_substr(s,'(.{0,99}(\s|$))|[^[:space:]]{100}',1,level))
from t
CONNECT BY
 regexp_substr(s,'(.{0,99}(\s|$))|[^[:space:]]{100}',1,level) is not null;

Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as apps

SQL> with t as (
  2      select 'есть длинная строка - которую нужно разбить на строчки по сто символов.'
  3              || 'Но слова разбивать нельзя, переносить нужно по '
  4        ||rpad('qwerty',110,'o')||'абвгд' as s from dual
  5  )
  6  select trim(regexp_substr(s,'(.{0,99}(\s|$))|[^[:space:]]{100}',1,level)) as str
  7  from t
  8  CONNECT BY
  9   regexp_substr(s,'(.{0,99}(\s|$))|[^[:space:]]{100}',1,level) is not null;

STR
--------------------------------------------------------------------------------
есть длинная строка - которую нужно разбить на строчки по сто символов.Но слова
переносить нужно по
qwertyoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
ooooooooooабвгд

Заменить подстроку, но только если перед ней пробел или запятая

2 Апрель 2010 5 comments

Для строки «asdfdasf,abs@dev, sdfasdf» надо найти вхождение «abs@» и заменить на «abs@fn», но только в том случае, если перед вхождением запятая или пробел.

select regexp_replace(str, '([, ]abs@)', '\1fn') as val
from (select 'aabs@sdfdasf,abs@dev, sd abs@fasdf' str from dual)
--
Connected to Oracle Database 10g Enterprise Edition Release 10.2.0.4.0
Connected as apps

SQL> select regexp_replace(str, '([, ]abs@)', '\1fn') as val
  2    from (select 'aabs@sdfdasf,abs@dev, sd abs@fasdf' str from dual);

VAL
--------------------------------------
aabs@sdfdasf,abs@fndev, sd abs@fnfasdf

SQL>