Você está na página 1de 4

Quer saber mais sobre arquitetura de Controle de acesso multi organizacional, também

conhecida como MOAC na R12?

Você veio ao lugar certo.

Vou explicar tudo em detalhes e fornecer informações de como configurar o MOAC.

O QUE É UMA MOAC?

Controle de acesso a multi Organizações, também conhecida como MOAC é uma novidade do
release 12 do EBS. Permite ao usuário acessar dados de uma ou mais Unidades Operacionais
(UO) com apenas uma responsabilidade.

COMO ERA NAS VERSÕES ANTERIORES DO EBS?

Em versões anteriores, o acesso a dados era restrito a uma única unidade operacional, usando
Views que dividiam os dados da tabela conforme a Unidade Operacional configurada. No
release 12, uma arquitetura mais flexível foi projetada para suportar o acesso de uma ou mais
UO.

O QUE MUDOU?

A MOAC permite que os usuários definam perfis de segurança e obtenham acesso a dados de
mais de uma UO, usando uma única responsabilidade.

No release 12 a Oracle substituiu as Views multi-org por sinônimos e a restrição de dados é


obtida pela atribuição de uma política Virtual Private Database (VPD) ao sinônimo. Essa política
permite que o sistema gere condições de restrição dinamicamente quando as consultas SQL
são executadas em um sinônimo.

Dados referentes à política de VPD podem ser vistos na View DBA_POLICIES. Essas políticas
associam uma função a um objeto que é disparada sempre que ele é acessado.

select *
from DBA_POLICIES
where Policy_name = 'ORG_SEC'
and Policy_group = 'SYS_DEFAULT'
and Package = 'MO_GLOBAL'
and Function = 'ORG_SECURITY';

NO PLSQL COMO FICOU?

Lembra que no release 11, precisávamos executar o código abaixo para consultar algumas
Views.

begin
dbms_application_info.set_client_info('123');
end;

Além do procedimento DBMS_APPLICATION_INFO.SET_CLIENT_INFO também tínhamos o


FND_CLIENT_INFO.SET_ORG_CONTEXT.

Esses procedimentos foram substituídos na R12 pelo procedimento MO_GLOBAL.INIT. O


procedimento MO_GLOBAL.INIT aceita um único valor de parâmetro como entrada, o
Application Short Name.
Para que o procedimento funcione, o procedimento FND_GLOBAL.APPS_INITIALIZE deve ser
executado para que o pacote MO_GLOBAL possa ver os valores de opções de perfil do
aplicativo, definidos no EBS. Para usar o MOAC no nível de banco de dados por meio de uma
ferramenta de edição de SQL, como por exemplo o PL/SQL Developer, ambos os
procedimentos devem ser executados, conforme abaixo.

begin
fnd_global.apps_initialize(1211, 50866, 660);
mo_global.init('INV');
end;

COMO DESATIVAR O MOAC?

O MOAC é desativado ao não configurar a profile MO: Security Profile em qualquer nível. O
procedimento MO_GLOBAL.INIT irá simplesmente definir o contexto uma única Unidade
Operacional, conforme definido no perfil MO: Unidade Operacional.

Como configurar um Perfil de Segurança?


A configuração do MOAC pode ser encontrada na Responsabilidade
da HRMS.
Navegue pelo caminho: Segurança → Perfil.
Qual a diferença entre Perfil e Perfil Global?
Perfil permite criar um PERFIL DE SEGURANÇA para um Business
Group especifico, já o Perfil Global permite criar um PERFIL DE
SEGURANÇA que pode ser usado em vários Business Groups.
Coloque o nome do seu Perfil de Segurança único, escolha seu
Business Group e escolha o tipo de segurança.