Contexto Oracle

Fala pessoal,

Quem é que nunca executou um SQL e não retornou dados? Bom… existem inúmeros motivos dos quais o seu SQL pode não estar retornando dados, mas deixo aqui um dica quando necessário executar uma query que necessita de contexto.

Setar contexto é como se estivesse exatamente dentro do aplicativo Oracle EBS, com as todas as restrições, atribuições, organizações, etc… Quando criar um SQL a partir de tabelas sem o prefixo “_all”, recomenda-se a utilização do contexto.

Para fazer isto, basta executar os comandos abaixo:

Para recuperar as informações a seguir, utilize os SQL’s:

Recuperando Informações Usuário

SELECT USER_ID
  FROM FND_USER 
 WHERE USER_NAME = ''; -- Usuário de Login no Oracle EBS

Recuperando Informações Responsabilidade

SELECT RESPONSIBILITY_ID
     , APPLICATION_ID
  FROM FND_RESPONSIBILITY_TL
 WHERE RESPONSIBILITY_NAME = &NOME_DA_RESPONSABILIDADE;

Setando Contexto ORG_ID na Release 12

BEGIN
  MO_GLOBAL.SET_POLICY_CONTEXT (P_ACCESS_MODE => 'S',
                                P_ORG_ID      => &ORG_ID);
END;

Setando Contexto ORG_ID na Release 11i

BEGIN
   FND_CLIENT_INFO.SET_ORG_CONTEXT (P_ORG_ID      => &ORG_ID);
END;

Setando o Usuário, Responsabilidade e Aplicação

BEGIN
  FND_GLOBAL.APPS_INITIALIZE(USER_ID      => &USER_ID,
                             RESP_ID      => &RESP_ID,
                             RESP_APPL_ID => &RESP_APPL_ID);
END;

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *