Queries uteis para o Oracle Applications

Perguntas relacionadas a questões técnicas do Oracle EBS. Criação de Concorrentes, Value Sets, Alerts, Forms Personalizations, Configurações, etc
  

Mensagemem Qui, 15 Jan 2009 1:38 pm

Este tópico serve pra colocarmos queries UTEIS relacionadas a ORACLE APPLICATIONS - ERP R11, R12, etc
Se você tiver mais queries úteis sobre Oracle Apps, poste nesse tópico

SE O SELECT DER ERRO QUE A TABELA NÃO EXISTE, TENTE COLOCAR O OWNER APPS ANTES

LISTAR CONCURRENTS E SEUS PARÂMETROS
Código: Selecionar todos
SELECT fcpl.user_concurrent_program_name
     , fcp.concurrent_program_name
     , par.end_user_column_name
     , par.form_left_prompt prompt
     , par.description     
     , par.enabled_flag
     , par.required_flag
     , par.display_flag
     , par.default_value
     , (select flex_value_set_name from  fnd_flex_value_sets where Flex_value_set_id=par.flex_value_set_id) VALUE_SET_NAME
FROM   fnd_concurrent_programs fcp
     , fnd_concurrent_programs_tl fcpl
     , fnd_descr_flex_col_usage_vl par
WHERE  fcp.concurrent_program_id = fcpl.concurrent_program_id
AND    fcpl.user_concurrent_program_name LIKE '%&nome_conc%'
AND    fcpl.LANGUAGE = 'US'
AND    par.descriptive_flexfield_name = '$SRS$.' || fcp.concurrent_program_name


LISTAR DETALHES DE UM REQUEST SET
Código: Selecionar todos
SELECT rs.user_request_set_name "Request Set"
, rs.request_set_name
, rss.display_sequence Seq
, cp.user_concurrent_program_name "Concurrent Program"
, e.EXECUTABLE_NAME
, e.execution_file_name
, lv.meaning file_type
,fat.application_name "Application Name"
-- ,get_appl_name(e.application_id) "Application Name"
FROM apps.fnd_request_sets_vl rs
, apps.fnd_req_set_stages_form_v rss
, applsys.fnd_request_set_programs rsp
, apps.fnd_concurrent_programs_vl cp
, apps.fnd_executables e
, apps.fnd_lookup_values lv
, apps.fnd_application_tl fat
WHERE 1=1
--and rs.application_id IN ( 20006 )
AND rs.application_id = rss.set_application_id
AND rs.request_set_id = rss.request_set_id
AND e.APPLICATION_ID =FAT.APPLICATION_ID
AND rss.set_application_id = rsp.set_application_id
AND rss.request_set_id = rsp.request_set_id
AND rss.request_set_stage_id = rsp.request_set_stage_id
AND rsp.program_application_id = cp.application_id
AND rsp.concurrent_program_id = cp.concurrent_program_id
AND cp.executable_id = e.executable_id
AND cp.executable_application_id = e.application_id
AND lv.lookup_type = 'CP_EXECUTION_METHOD_CODE'
AND lv.lookup_code = e.execution_method_code
and lv.language='US'
and fat.language='US'
AND rs.end_date_active IS NULL
AND rs.request_set_name like  'XXGL1234_SET'  --:p_request_set_name
ORDER BY 1,2;
Editado pela última vez por dr_gori em Qui, 09 Jul 2009 10:16 am, em um total de 4 vezes.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Qua, 21 Jan 2009 1:21 pm

LISTA RESPONSABILIDADES INFORMANDO O USUÁRIO

Código: Selecionar todos
SELECT UNIQUE u.user_id, SUBSTR (u.user_name, 1, 30) user_name,
              SUBSTR (r.responsibility_name, 1, 60) responsiblity,
              SUBSTR (a.application_name, 1, 50) application,
              r.responsibility_id,
              fpov.profile_option_value SOB
         FROM APPS.fnd_user u,
              APPS.fnd_user_resp_groups g,
              APPS.fnd_application_tl a,
              APPS.fnd_responsibility_tl r,
              APPS.fnd_profile_options fpo,
              APPS.fnd_profile_option_values fpov
        WHERE g.user_id(+) = u.user_id
          AND g.responsibility_application_id = a.application_id
          AND a.application_id = r.application_id
          AND g.responsibility_id = r.responsibility_id
          AND u.user_id = (select user_id from APPS.fnd_user where user_name='&USERNAME')
          and fpov.profile_option_id = fpo.profile_option_id
          and fpov.level_value = r.responsibility_id
          AND fpo.profile_option_name = 'GL_SET_OF_BKS_NAME'
     ORDER BY SUBSTR (user_name, 1, 30),
              SUBSTR (a.application_name, 1, 50),
              SUBSTR (r.responsibility_name, 1, 60);

Exemplo:
Código: Selecionar todos
SQL> /

         USER_ID USER_NAME            RESPONSIBLITY             APPLICATION          RESPONSIBILITY_ID SOB
---------------- -------------------- ------------------------- -------------------- ----------------- ---------------
            8561 THOMAS               GL AS_CTRP_UXD SUPERUSER  General Ledger                   50584 AS_CTRP_UXD
            8561 THOMAS               AP AS_CTRP_UXD SUPERUSER  Payables                         50305 AS_CTRP_UXD
            8561 THOMAS               PO AS_CTRP_UXD SUPERUSER  Purchasing                       50343 AS_CTRP_UXD

SQL>


Colocado owner APPS em todas tabelas
Editado pela última vez por dr_gori em Ter, 06 Set 2011 5:36 pm, em um total de 3 vezes.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Qua, 04 Fev 2009 2:09 pm

DESCRIÇÃO DOS VALUE SETS / LOOKUPS

Código: Selecionar todos
SELECT a.flex_value_set_name, b.flex_value, b.description
  FROM fnd_flex_value_sets a
     , fnd_flex_values_vl  b
WHERE a.flex_value_set_id   = b.flex_value_set_id   
   AND a.flex_value_set_name LIKE '%&nome_value_set%'
ORDER BY 1,2,3


Exemplo:
Código: Selecionar todos
SQL> /

FLEX_VALUE_SET_NAME  FLEX_VALUE DESCRIPTION
-------------------- ---------- -----------------------------
BIS_YES_NO           N          No
BIS_YES_NO           Y          Yes




Para os lookups, é bem mais fácil:
Código: Selecionar todos
select *
  from FND_LOOKUP_VALUES
where enabled_flag = 'Y'
   and lookup_type  like '%nome_lookup%';


Caso você conheça alguns valores do value-set, é fácil de achar ele. (no caso abaixo, eu sei que o campo pode ter o valor BOOKED, CLOSED, CANCELLED e ENTERED. (na realidade, tem vários outros, mas esses são os que eu conheço)
Código: Selecionar todos
SELECT *
  FROM FND_LOOKUP_VALUES A   
WHERE  EXISTS (SELECT 1 FROM FND_LOOKUP_VALUES B WHERE A.LOOKUP_TYPE = B.LOOKUP_TYPE  AND LOOKUP_CODE='BOOKED' )
   AND EXISTS (SELECT 1 FROM FND_LOOKUP_VALUES B WHERE A.LOOKUP_TYPE = B.LOOKUP_TYPE  AND LOOKUP_CODE='CLOSED' )
   AND EXISTS (SELECT 1 FROM FND_LOOKUP_VALUES B WHERE A.LOOKUP_TYPE = B.LOOKUP_TYPE  AND LOOKUP_CODE='CANCELLED' )
   AND EXISTS (SELECT 1 FROM FND_LOOKUP_VALUES B WHERE A.LOOKUP_TYPE = B.LOOKUP_TYPE  AND LOOKUP_CODE='ENTERED' )
Editado pela última vez por dr_gori em Ter, 28 Dez 2010 10:21 am, em um total de 1 vez.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Seg, 16 Fev 2009 9:35 am

PROGRAMA x RESPONSABILIDADE x SOB

Código: Selecionar todos
SELECT /*+ ORDERED */ DISTINCT A.CONCURRENT_PROGRAM_NAME,
A.USER_CONCURRENT_PROGRAM_NAME,C.REQUEST_GROUP_NAME,D.RESPONSIBILITY_NAME,F.PROFILE_OPTION_VALUE SOB_ID,H.PROFILE_OPTION_VALUE SOB_NAME
FROM APPS.FND_CONCURRENT_PROGRAMS_VL A,
     APPS.FND_REQUEST_GROUP_UNITS B,
     APPS.FND_REQUEST_GROUPS C,
     APPS.FND_RESPONSIBILITY_VL D,
     APPS.FND_PROFILE_OPTIONS_VL E,
     APPS.FND_PROFILE_OPTION_VALUES F,
     APPS.FND_PROFILE_OPTIONS_VL G,
     APPS.FND_PROFILE_OPTION_VALUES H
WHERE (UPPER(USER_CONCURRENT_PROGRAM_NAME) LIKE UPPER('%&PROGRAM_NAME%')
OR CONCURRENT_PROGRAM_NAME LIKE UPPER('%&PROGRAM_NAME%'))
AND B.REQUEST_UNIT_ID = A.CONCURRENT_PROGRAM_ID
AND C.APPLICATION_ID = B.APPLICATION_ID
AND C.REQUEST_GROUP_ID = B.REQUEST_GROUP_ID
AND D.REQUEST_GROUP_ID = C.REQUEST_GROUP_ID
AND E.PROFILE_OPTION_NAME = 'GL_SET_OF_BKS_ID'
AND G.PROFILE_OPTION_NAME = 'GL_SET_OF_BKS_NAME'
AND F.PROFILE_OPTION_ID = E.PROFILE_OPTION_ID
AND F.LEVEL_VALUE_APPLICATION_ID = D.APPLICATION_ID
AND F.LEVEL_VALUE = D.RESPONSIBILITY_ID
AND H.PROFILE_OPTION_ID = G.PROFILE_OPTION_ID
AND H.LEVEL_VALUE_APPLICATION_ID = D.APPLICATION_ID
AND H.LEVEL_VALUE = D.RESPONSIBILITY_ID
ORDER BY 1,3,4



O MESMO SQL MAS PARA REQUEST_SET
Código: Selecionar todos
SELECT /*+ ORDERED */ DISTINCT A.request_set_NAME,
A.USER_request_set_NAME,C.REQUEST_GROUP_NAME,D.RESPONSIBILITY_NAME,F.PROFILE_OPTION_VALUE SOB_ID,H.PROFILE_OPTION_VALUE SOB_NAME
FROM APPS.FND_request_sets_VL A,
     APPS.FND_REQUEST_GROUP_UNITS B,
     APPS.FND_REQUEST_GROUPS C,
     APPS.FND_RESPONSIBILITY_VL D,
     APPS.FND_PROFILE_OPTIONS_VL E,
     APPS.FND_PROFILE_OPTION_VALUES F,
     APPS.FND_PROFILE_OPTIONS_VL G,
     APPS.FND_PROFILE_OPTION_VALUES H
WHERE (UPPER(USER_request_set_NAME) LIKE UPPER('%&PROGRAM_NAME%')
OR request_set_NAME LIKE UPPER('%&PROGRAM_NAME%'))
AND B.REQUEST_UNIT_ID = A.request_set_ID
AND C.APPLICATION_ID = B.APPLICATION_ID
AND C.REQUEST_GROUP_ID = B.REQUEST_GROUP_ID
AND D.REQUEST_GROUP_ID = C.REQUEST_GROUP_ID
AND E.PROFILE_OPTION_NAME = 'GL_SET_OF_BKS_ID'
AND G.PROFILE_OPTION_NAME = 'GL_SET_OF_BKS_NAME'
AND F.PROFILE_OPTION_ID = E.PROFILE_OPTION_ID
AND F.LEVEL_VALUE_APPLICATION_ID = D.APPLICATION_ID
AND F.LEVEL_VALUE = D.RESPONSIBILITY_ID
AND H.PROFILE_OPTION_ID = G.PROFILE_OPTION_ID
AND H.LEVEL_VALUE_APPLICATION_ID = D.APPLICATION_ID
AND H.LEVEL_VALUE = D.RESPONSIBILITY_ID
ORDER BY 1,3,4
Editado pela última vez por dr_gori em Sex, 12 Mar 2010 5:05 pm, em um total de 1 vez.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Ter, 17 Mar 2009 1:39 pm

MOSTRA REQUEST RODANDO, ON HOLD E PENDENTES


Código: Selecionar todos
SELECT   fcr.request_id,
         DECODE (fcr.phase_code,
                 'P', DECODE (fcr.hold_flag, 'Y', 'Inactive', fl_pend.meaning),
                 fl_pend.meaning
                ) phase,
         DECODE (fcr.phase_code,
                 'P', DECODE (fcr.hold_flag,
                              'Y', 'On Hold',
                              DECODE (SIGN (fcr.requested_start_date - SYSDATE),
                                      1, 'Scheduled',
                                      fl_stat.meaning
                                     )
                             ),
                 fl_stat.meaning
                ) status,
         fcpt.user_concurrent_program_name, fcr.increment_dates,
         fcr.resubmit_interval, fcr.resubmit_interval_unit_code,
         fcr.resubmit_interval_type_code, parent_request_id,
         fcr.requested_start_date, fu.user_name requested_by
    FROM fnd_concurrent_requests fcr,
         fnd_concurrent_programs_tl fcpt,
         fnd_lookups fl_pend,
         fnd_lookups fl_stat,
         fnd_user fu
   WHERE 1 = 1
     AND fcpt.concurrent_program_id = fcr.concurrent_program_id
     AND fcpt.LANGUAGE = USERENV ('LANG')
     AND fcr.phase_code = fl_pend.lookup_code
     AND fl_pend.lookup_type = 'CP_PHASE_CODE'
     AND fcr.status_code = fl_stat.lookup_code
     AND fl_stat.lookup_type = 'CP_STATUS_CODE'
     AND fl_pend.meaning != 'Completed'
     AND fu.user_id = fcr.requested_by
ORDER BY fcr.request_id DESC
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Ter, 17 Mar 2009 1:43 pm

MOSTRA INFORMAÇÕES DE VERSÃO E PATCH APLICADOS

Código: Selecionar todos
SELECT   SUBSTR (a.application_name, 1, 60) Application_Name
       , SUBSTR (i.product_version, 1, 4) Version
       , i.patch_level
       , i.application_id
       , i.last_update_date
FROM     apps.fnd_product_installations i
       , apps.fnd_application_all_view a
WHERE    i.application_id = a.application_id
ORDER BY a.application_name


Código: Selecionar todos
SELECT applied_patch_id
     , patch_name
     , patch_type
     , source_code
     , creation_date
     , last_update_date
FROM   ad_applied_patches
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Ter, 12 Mai 2009 5:14 pm

DESCRICAO FLEXFIELD X TABELA
Código: Selecionar todos
--
-- EX : GL_SETS_OF_BOOK
--
SELECT distinct A.APPLICATION_TABLE_NAME,
       B.DESCRIPTIVE_FLEX_CONTEXT_CODE,
       B.APPLICATION_COLUMN_NAME,
       B.END_USER_COLUMN_NAME,
       B.FORM_LEFT_PROMPT,
       C.FLEX_VALUE_SET_NAME,
       C.FLEX_VALUE_SET_ID
FROM FND_FLEX_VALUE_SETS C,
     FND_DESCR_FLEX_COL_USAGE_VL B,
     FND_DESCRIPTIVE_FLEXS_VL A
WHERE A.APPLICATION_TABLE_NAME LIKE UPPER('%&TABLE_NAME%')
AND A.APPLICATION_ID = B.APPLICATION_ID
AND A.DESCRIPTIVE_FLEXFIELD_NAME = B.DESCRIPTIVE_FLEXFIELD_NAME
AND B.FLEX_VALUE_SET_ID = C.FLEX_VALUE_SET_ID
AND FORM_LEFT_PROMPT LIKE '%Type%'
ORDER BY 1,2,3
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Seg, 13 Jul 2009 11:35 am

RESPONS / REQUEST_GROUP / MENU / FORMS
Query para listar o cruzamento entre Responsabilidades, Menus, Funções e Forms do Aplication

Código: Selecionar todos
SELECT frt.responsibility_name,
       fr.responsibility_key,
       frg.REQUEST_GROUP_CODE,
       frg.REQUEST_GROUP_NAME,
       m.menu_name Menu,
       fmt.user_menu_name,
       fff.function_name,
       fffn.user_function_name,
       ff.form_name,
       fffn.description,
       fff.parameters
  FROM fnd_menus m,
       fnd_menus_tl fmt,
       fnd_menu_entries fme,
       fnd_form_functions fff,
       fnd_form_functions_tl fffn,
       fnd_form ff,
       fnd_responsibility_tl frt,
       fnd_responsibility fr,
       fnd_request_groups frg
WHERE m.MENU_ID              = fme.MENU_ID
   AND fmt.menu_id            = m.menu_id
   AND fme.FUNCTION_ID       = fff.function_id
   AND fff.form_id            = ff.form_id
   AND fffn.function_id       = fff.function_id
   AND frt.responsibility_id = fr.responsibility_id
   AND fr.menu_id             = m.menu_id
   AND frg.request_group_id   = fr.request_group_id
   
   AND fff.function_NAME      = nvl('&&FUNCTION', fff.function_NAME)
   AND ff.form_name           = nvl('&&FORM', ff.form_name)
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Sex, 13 Nov 2009 12:07 pm

LISTAR VALOR DE PROFILE

Este select retorna o valor dos profiles possíveis nos vários níveis: Site, Responsabilidade, usuário, etc. Fonte

Código: Selecionar todos
SELECT po.profile_option_name "NAME",
po.USER_PROFILE_OPTION_NAME,
        decode(to_char(pov.level_id),
               '10001', 'SITE',
               '10002', 'APP',
               '10003', 'RESP',
               '10005', 'SERVER',
               '10006', 'ORG',
               '10004', 'USER', '???') "LEV",
        decode(to_char(pov.level_id),
               '10001', '',
               '10002', app.application_short_name,
               '10003', rsp.responsibility_key,
               '10005', svr.node_name,
               '10006', org.name,
               '10004', usr.user_name,
               '???') "CONTEXT",
        pov.profile_option_value "VALUE"
FROM   FND_PROFILE_OPTIONS_VL po,
        FND_PROFILE_OPTION_VALUES pov,
        fnd_user usr,
        fnd_application app,
        fnd_responsibility rsp,
        fnd_nodes svr,
        hr_operating_units org
WHERE  po.profile_option_name LIKE '%&&profile%'
AND    pov.application_id = po.application_id
AND    pov.profile_option_id = po.profile_option_id
AND    usr.user_id (+) = pov.level_value
AND    rsp.application_id (+) = pov.level_value_application_id
AND    rsp.responsibility_id (+) = pov.level_value
AND    app.application_id (+) = pov.level_value
AND    svr.node_id (+) = pov.level_value
AND    org.organization_id (+) = pov.level_value
/*
AND decode(to_char(pov.level_id),
               '10001', '',
               '10002', app.application_short_name,
               '10003', rsp.responsibility_key,
               '10005', svr.node_name,
               '10006', org.name,
               '10004', usr.user_name,
               '???') LIKE '%&&username%'
*/
ORDER BY "NAME", pov.level_id, "VALUE";


Outro exemplo: (Fonte: Metalink ID 201945.1)
Código: Selecionar todos
select p.profile_option_name SHORT_NAME,
       n.user_profile_option_name NAME,
       decode(v.level_id,
               10001, 'Site',
               10002, 'Application',
               10003, 'Responsibility',
               10004, 'User',
               10005, 'Server',
               10006, 'Org',
               10007, decode(to_char(v.level_value2), '-1', 'Responsibility',
                             decode(to_char(v.level_value), '-1', 'Server',
                             'Server+Resp')),
               'UnDef') LEVEL_SET,
       decode(to_char(v.level_id),
               '10001', '',
               '10002', app.application_short_name,
               '10003', rsp.responsibility_key,
               '10004', usr.user_name,
               '10005', svr.node_name,
               '10006', org.name,
               '10007', decode(to_char(v.level_value2), '-1', rsp.responsibility_key,
                          decode(to_char(v.level_value), '-1',
                            (select node_name from fnd_nodes
                             where node_id = v.level_value2),
                        (select node_name from fnd_nodes
                         where node_id = v.level_value2)||'-'||rsp.responsibility_key)),
               'UnDef') "CONTEXT",
       v.profile_option_value VALUE
      ,v.last_update_date
from fnd_profile_options p,
     fnd_profile_option_values v,
     fnd_profile_options_tl n,
     fnd_user usr,
     fnd_application app,
     fnd_responsibility rsp,
     fnd_nodes svr,
     hr_operating_units org
where p.profile_option_id = v.profile_option_id (+)
  and p.profile_option_name = n.profile_option_name
  and upper(p.profile_option_name) in (
            select profile_option_name from fnd_profile_options_tl
            where  upper(profile_option_name) like upper('%&profile_name%')
            and    upper(profile_option_name) in (select profile_option_name
              from   fnd_profile_options_tl
              where  upper(user_profile_option_name) like upper('%&user_profile_name%')))
  and    usr.user_id (+) = v.level_value
  and    rsp.application_id (+) = v.level_value_application_id
  and    rsp.responsibility_id (+) = v.level_value
  and    app.application_id (+) = v.level_value
  and    svr.node_id (+) = v.level_value
  and    org.organization_id (+) = v.level_value
  --and   UPPER(n.user_profile_option_name)  like '%FORM%'
  order by  short_name, user_profile_option_name, level_id, level_set;



:-o
Editado pela última vez por dr_gori em Dom, 26 Dez 2010 10:27 am, em um total de 1 vez.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Qui, 14 Jan 2010 11:18 am

Rafael,
Vê se é isso que você quer.

Código: Selecionar todos
SELECT FA.APPLICATION_ID,
       FA.APPLICATION_SHORT_NAME,
       FRG.REQUEST_GROUP_NAME,
       FRG.DESCRIPTION
FROM   FND_CONCURRENT_PROGRAMS FNP,
       FND_APPLICATION FA,
       FND_REQUEST_GROUPS FRG
WHERE  FNP.APPLICATION_ID = FA.APPLICATION_ID
AND    FRG.APPLICATION_ID = FA.APPLICATION_ID
AND    FNP.CONCURRENT_PROGRAM_NAME LIKE '%CONCURRENT_NAME%';
alexrsilva
Localização: Rio de Janeiro - RJ

Alex Silva
Analista de Sistemas
11i.10 Applications Developer Implementation Champion
11i.10 E-Business Suite Integration Champion

Mensagemem Sex, 15 Jan 2010 10:39 am

Abaixo alguns comendos uteis na programação em APPS:

Código: Selecionar todos
-> FND_PROFILE.VALUE('USER_ID')
-- Recupera o ID do usuário logado no EBS (USER_ID da FND_USER)

-> FND_PROFILE.VALUE('USERNAME')
-- Recupera o nome do usuário logado no EBS (USER_NAME da FND_USER)

-> FND_GLOBAL.CONC_REQUEST_ID ou FND_PROFILE.VALUE('REQUEST_ID')
-- Recupera o ID do concurrent em execução (REQUEST_ID da FND_CONCURRENT_REQUESTS)

-> FND_GLOBAL.CONC_PROGRAM_ID
-- Recupera o ID do programa em execução (CONCURRENT_PROGRAM_ID da FND_CONCURRENT_PROGRAMS)

-> FND_GLOBAL.PROG_APPL_ID
-- Recupera o ID da aplicação do concurrent em execução (APPLICATION_ID da FND_CONCURRENT_PROGRAMS)

-> FND_PROFILE.VALUE('ORG_ID')
-- Recupera o ID da Organização setada da responsabilidade corrente

-> FND_GLOBAL.RESP_NAME;
-- Recupera o nome da responsabilidade corrente

-> FND_CLIENT_INFO.SET_ORG_CONTEXT('1')
-- Seta organização no banco (por sessão)


Vários outros aqui: http://docs.oracle.com/cd/E18727_01/doc ... 457084.htm


Abs.
madmax
Localização: São Paulo

________________________________
Douglas - Madmax.

Mensagemem Ter, 29 Jun 2010 6:36 pm

LOCAIS dos arquivos TRACE:

Código: Selecionar todos
-- Local e arquivo TRACE da sua sessão atual
SELECT value
FROM v$diag_info
WHERE name = 'Default Trace File';   

--Local dos TRACES da sua instância
SELECT value
FROM v$diag_info
WHERE name = 'Diag Trace';


--Traces de cada processo
SELECT pid, program, tracefile
FROM v$process;


--Ajuda a obter local do trace executado por um concorrente.
Código: Selecionar todos
SELECT
    req.request_id
    ,req.logfile_node_name node
    ,req.oracle_Process_id
    ,req.enable_trace
    ,dest.VALUE||'/'||LOWER(dbnm.VALUE)||'_ora_'||oracle_process_id||'.trc' trace_filename
    ,prog.user_concurrent_program_name
    ,execname.execution_file_name
    ,execname.subroutine_name
    ,phase_code
    ,status_code
    ,ses.SID
    ,ses.serial#
    ,ses.module
    ,ses.machine
    FROM
    fnd_concurrent_requests req
    ,v$session ses
    ,v$process proc
    ,v$parameter dest
    ,v$parameter dbnm
    ,fnd_concurrent_programs_vl prog
    ,fnd_executables execname
    WHERE 1=1
    AND req.request_id = &request --Request ID
    AND req.oracle_process_id=proc.spid(+)
    AND proc.addr = ses.paddr(+)
    AND dest.NAME='user_dump_dest'
    AND dbnm.NAME='db_name'
    AND req.concurrent_program_id = prog.concurrent_program_id
    AND req.program_application_id = prog.application_id
    AND prog.application_id = execname.application_id
    AND prog.executable_id=execname.executable_id
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Sex, 19 Ago 2011 9:45 am

ORG_ID, ORGANIZATION_ID, INV_ID, INV_CODE, ETC

Código: Selecionar todos
SELECT
  ou.organization_id     ou_id 
, ou.name                ou_org
, inv.organization_id    inv_id
, inv.organization_code  inv_code
, uu.name                inv_name
--
, lo.description 
, lo.town_or_city
, lo.region_2
, lo.country
FROM
  apps.org_organization_definitions inv,
  apps.hr_all_organization_units    ou,
  apps.hr_organization_units        uu,
  apps.hr_locations                 lo
WHERE inv.operating_unit  = ou.organization_id
  AND inv.organization_id = uu.organization_id
  AND uu.location_id      = lo.location_id(+)
ORDER BY 1, 3


Outra forma legal:
Código: Selecionar todos
select  organization_id, organization_code
from mtl_parameters_view


PARA SETAR A ORGANIZAÇÃO NO R12:
Código: Selecionar todos
Begin mo_global.set_policy_context('S',  83 );  end;


Aí vai um exemplo:
Código: Selecionar todos
SQL> begin mo_global.set_policy_context('S', 83 ); end;
  2  /

PL/SQL procedure successfully completed

SQL> select org_id, count(*) from ap_invoices group by org_id;

          ORG_ID   COUNT(*)
---------------- ----------
              83      30618


****AGORA, O MESMO SELECT COM OUTRA ORG_ID ***

SQL> begin mo_global.set_policy_context('S', 95 ); end;
  2  /

PL/SQL procedure successfully completed

SQL> select org_id, count(*) from ap_invoices group by org_id;

          ORG_ID   COUNT(*)
---------------- ----------
              95       1825

SQL>
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Qui, 22 Dez 2011 1:36 pm

LISTAR CUSTOMIZAÇÕES FEITAS NO EBS

Na minha empresa, todas customizações possuem o prefixo XG. (Algumas tem o prefixo XX, etc)
Código: Selecionar todos
-- Mostra todos objetos de BANCO:
select OWNER, OBJECT_NAME, OBJECT_TYPE from all_objects where object_name like 'XG%' order by 1,2


-- Todas TRIGGERS
select owner, trigger_name, table_owner, table_name from all_triggers where trigger_name like 'XG%'


-- Todos os DATA DEFINITIONS de XML PUBLISHER
select APPLICATION_SHORT_NAME, DATA_SOURCE_CODE From apps.XDO_DS_DEFINITIONS_B where data_source_code like 'XG%' order by 1,2


-- Todos TEMPLATE do XML PUBLISHER
select APPLICATION_SHORT_NAME, TEMPLATE_CODE, TEMPLATE_TYPE_CODE  From apps.XDO_TEMPLATES_B where TEMPLATE_code like 'XG%' order by 1,2


-- Todas concurrents programs
select CONCURRENT_PROGRAM_NAME, USER_CONCURRENT_PROGRAM_NAME from apps.fnd_concurrent_programs_vl WHERE concurrent_program_name LIKE 'XG%' ORDER BY 1,2;


-- Todos executáveis
select executable_name,  DECODE(execution_method_code, 'I', 'STORED PROCEDURE'
                                                     , 'H', 'SHELL'
                                                     , 'P', 'ORACLE REPORTS'
                                                     , execution_method_code) execution_method_code, execution_file_name, user_executable_name
from apps.fnd_executables_vl where executable_name like 'XG%'


-- Todos Request Sets
select request_set_name, user_request_set_name from APPS.fnd_request_sets_vl where request_set_name like 'XG%'


-- Todos forms novos
select form_name, description from apps.fnd_form_vl where form_name like 'XG%'


-- Personalizações nos Forms Core
select a.function_name, a.description, a.form_name, b.user_name CRIADO_POR from APPS.FND_FORM_CUSTOM_RULES a, APPS.fnd_user b where a.created_by = b.user_id(+)



É claro, ainda existem muitas outras coisas, como
- FLEX FIELDS (feito diretamente na implantação)
- CONJ DE VALORES (pode não ter a extensão XG, talvez tem como ver pelo nome de quem criou)
- LOOKUPS
- PROFILE
- MENUS
- FONTES --> exemplo: codigo de barras
- ARQUIVOS DE CONFIGURAÇÃO --> no linux
- PERMISSÕES
- DBLINKS
- etc
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Sex, 18 Mai 2012 11:57 am

INICIALIZAR SESSÃO NO R11 e R12

Antes de executar consultas no SQL*Plus, Toad, PLSQL Developer, etc, temos que inicializar a sessão com

Abaixo, temos um select util para o R11: Ele "monta" o comando, e basta executar.
Código: Selecionar todos
select 'begin fnd_global.apps_initialize(' ||
       fu.user_id || ',' ||
       fr.responsibility_id || ',' ||
       fr.application_id || '); end;' || chr(10) || '/'
from   fnd_user fu
,      fnd_responsibility_tl fr
where  fu.user_name = 'SYSADMIN'
and    fr.responsibility_name = 'System Administrator';

Saída:
Código: Selecionar todos
begin fnd_global.apps_initialize(0,20420,1); end;
/


E no R12, normalmente fazemos assim:
Código: Selecionar todos
begin   APPS.mo_global.init('PO'); end;
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Seg, 11 Fev 2013 8:02 am

COPIAR RESPONSABILIDADE DE UM USUÁRIO PARA OUTRO

Basta editar o USER_FROM e USER_TO abaixo:
Código: Selecionar todos
DECLARE
 
  resp_count NUMBER := 0;
 
  CURSOR src_user_resp_details
  IS
    SELECT DISTINCT fa.application_short_name,
      fr.responsibility_key                  ,
      fsg.security_group_key
       FROM fnd_application fa      ,
      fnd_responsibility fr         ,
      fnd_user fu                   ,
      fnd_user_resp_groups_all furga,
      fnd_security_groups fsg
      WHERE
      AND fu.user_name                        = 'USER FROM'
      AND fu.user_id                          = furga.user_id
      AND fa.application_id                   = fr.application_id
      AND furga.responsibility_id             = fr.responsibility_id
      AND furga.responsibility_application_id = fa.application_id
      AND fsg.security_group_id               = furga.security_group_id
      AND furga.end_date IS NULL;
 
 
BEGIN
  FOR user_resp_details_rec IN src_user_resp_details
  LOOP
    BEGIN
      --
      fnd_user_pkg.addresp
                 (username            => 'USER_TO',
                  resp_app            => user_resp_details_rec.application_short_name,
                  resp_key            => user_resp_details_rec.responsibility_key,
                  security_group      => user_resp_details_rec.security_group_key,
                  description         => NULL,
                  start_date          => SYSDATE,
                  end_date            => NULL
                 );
     
      resp_count := resp_count + 1;
     
EXCEPTION
    WHEN OTHERS THEN
     
      DBMS_OUTPUT.put_line ( 'Error while Adding Responsibility: ' || SQLERRM );
      DBMS_OUTPUT.put_line ( 'resp_app: ' || user_resp_details_rec.application_short_name );
      DBMS_OUTPUT.put_line ( 'resp_key: ' || user_resp_details_rec.responsibility_key );
     
    END;
  END LOOP;
 
  DBMS_OUTPUT.put_line (resp_count || ' Responsibilities Successfully Copied!!' );
 
  COMMIT;

END;

Dica fornecida por MUHAMMAD RAFI AAMIRI MADANI.
dr_gori
Localização: Seattle, WA, USA

Thomas F. G

Mensagemem Sex, 13 Dez 2013 10:44 am

Como determinar/consultar USER_ID, RESP_ID, RESP_APPL_ID quando usar a FND_GLOBAL.APPS_INITIALIZE

achei bem interessante essa dica, obter RESP_ID e RESP_APPL_ID pelo nome da responsabilidade:

How to determine USER_ID,RESP_ID when use FND_GLOBAL.APPS_INITIALIZE

Código: Selecionar todos
You need to post this in the E-Buisness Suite forum. Also, you can do a web search to find out...
Here's an quick search result http://www.notesbit.com/index.php/oracle-applications/setting-the-applications-context-fnd_globalapps_initialize-in-oracle-applications/

procedure APPS_INITIALIZE(user_id IN number,resp_id IN number,resp_appl_id IN number security_group_id IN number);

USER_ID – The User ID number.
RESP_ID – The ID number of the responsibility.
RESP_APPL_ID – The ID number of the application TO which the responsibility belongs.
SECURITY_GROUP_ID – The ID number of the security GROUP. This argument IS automatically defaulted BY the API. The caller should NOT pass a value FOR it.

SELECT user_id, user_name, description FROM applsys.fnd_user

SELECT application_id, responsibility_id, LANGUAGE, responsibility_name, created_by, creation_date, last_updated_by, last_update_date, last_update_login, description, source_lang, security_group_id FROM applsys.fnd_responsibility_tl

User_ID = USER_ID

Responsibility_ID = RESP_ID

Responsibility_Application_ID = RESP_APPL_ID


fonte: https://forums.oracle.com/thread/1108336
Porva
Localização: São Paulo/SP

Rafael S. Nunes
São Paulo/SP

Mensagemem Seg, 02 Mar 2015 11:35 am

Listar concurrents em execução:

Código: Selecionar todos
SELECT fcr.request_id
      ,DECODE (fcr.phase_code, 'P', DECODE (fcr.hold_flag, 'Y'
                             , 'Inactive', fl_pend.meaning), fl_pend.meaning) phase
      ,DECODE (fcr.phase_code, 'P', DECODE (fcr.hold_flag, 'Y', 'On Hold', DECODE (SIGN (fcr.requested_start_date - SYSDATE)
                                                                                         ,1 , 'Scheduled', fl_stat.meaning)), fl_stat.meaning) status
      ,fcpt.user_concurrent_program_name
      ,fcr.increment_dates
      ,fcr.resubmit_interval
      ,fcr.resubmit_interval_unit_code
      ,fcr.resubmit_interval_type_code
      ,parent_request_id
      ,fcr.requested_start_date
      ,fu.user_name requested_by
  FROM fnd_concurrent_requests    fcr
      ,fnd_concurrent_programs_tl fcpt
      ,fnd_lookups                fl_pend
      ,fnd_lookups                fl_stat
      ,fnd_user                   fu
WHERE 1 = 1
   AND fcpt.concurrent_program_id = fcr.concurrent_program_id
   AND fcpt.LANGUAGE              = USERENV ('LANG')
   AND fcr.phase_code             = fl_pend.lookup_code
   AND fl_pend.lookup_type        = 'CP_PHASE_CODE'
   AND fcr.status_code            = fl_stat.lookup_code
   AND fl_stat.lookup_type        = 'CP_STATUS_CODE'   
   AND fu.user_id                 = fcr.requested_by
   AND fl_pend.meaning            != 'Completed'
ORDER BY fcr.request_id DESC;
Porva
Localização: São Paulo/SP

Rafael S. Nunes
São Paulo/SP

Mensagemem Qua, 11 Mar 2015 10:08 am

Descrição de Códigos / Concorrente

STATUS CODE:
Código: Selecionar todos
select lookup_code, meaning from fnd_lookups 
where lookup_type='CP_STATUS_CODE'
order by 1


Código: Selecionar todos
A    Waiting
B    Resuming
C    Normal
D    Cancelled
E    Error
G    Warning
H    On Hold
I     Normal
M    No Manager
P    Scheduled
Q    Standby
R      Normal
S    Suspended
T    Terminating
U    Disabled
W    Paused
X    Terminated
Z     Waiting


Outros:
Código: Selecionar todos
select lookup_type, lookup_code, meaning from fnd_lookups 
where lookup_type like 'CP%'
order by 1,2
dr_gori
Localização: Seattle, WA, USA

Thomas F. G


  • Veja também
    Respostas
    ExibiÇões
    Última mensagem


    Voltar para EBS Técnico

    Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante