terça-feira, 21 de julho de 2009

Liberar organizações para usuários e responsabilidades

Bom dia

Hoje estou um pouco sem tempo, por isso aqui vai uma dica bem rápida e simples, mas bastante útil. Quem me passou os caminhos para estes pequenos setup's foi o meu amigo Fábio Prado, o maior artilheiro de casados X solteiros que eu conheci e consultor Oracle nas horas vagas.

Em caso de sistemas MultiOrg, algumas opções do OPM necessitam que seja liberado para o usuário quais organizações ele tem direito a trabalhar. Isso é bem simples de ser feito, conforme abaixo:

Responsabilidade: OPM System Administrator
- Clicar em "System Setup" -> "User Organizations"
- Pesquisar o nome do usuário
- Acrescentar as organizações desejadas

Outra dica interessante é liberar para as responsabilidades quais as organizações as mesmas podem acessar:

Responsabilidade: Inventory
- Clicar em "Setup" -> "Organizations" -> "Organization Access"
- Pesquisar o nome da responsabilidade
- Acrescentar as organizações desejadas

Como isso é um processo mais funcional do que propriamente do ATG, me corrijam se escrevi alguma barbaridade, por favor .

Abraço
Mario

quinta-feira, 16 de julho de 2009

Form ReadOnly

Bom dia

Quantas vezes o seu chefe pede para que seja liberada uma opção do EBS, como a tela de Cadastro de Clientes por exemplo, mas no final da conversa ele te fala: "Mas o fulano só pode consultar os dados, ele não pode alterar nada.".

Legal, se já existe a opção de consulta no EBS, basta liberar o acesso para o fulano. Mas e se não existe ? Neste caso você pode criar uma função passando os parâmetros para o form de maneir a deixá-lo como readonly.

Vamos ver o passo a passo:

Como Sysadmin

1) Pesquisar na responsabilidade desejada, o nome do menu utilizado na mesma
Clicar em "System Administrator" -> "Security" -> "Responsibility" -> "Define".
Pesquisar a responsabilidade desejada.
Anotar o conteúdo do campo "Menu".

2) Localizar no menu desejado, o nome da função que aciona o form
Clicar em "System Administrator" -> "Application" -> "Menu".
Pesquisar pelo nome do menu anotado no passo 1. Pesquisar pelo campo "User Menu Name" passo 2.
Se o form estiver dentro de um submenu, repetir a operação acima até encontrar a função.
Após encontrar a função desejada, anotar o nome da função que está na coluna "Function". É está função que dispara o form.

3) Localizar a função e criar uma cópia somente leitura
Clicar em "System Administrator" -> "Application" -> "Function".
Pesquisar o nome anotado no passo 2. Pesquisar pelo campo "User Function Name".
Criar uma nova função.
Copiar o conteúdo dos campos abaixo:
Aba 1 - Description
Alterar o conteúdo apresentado no campo "Function". Este é o nome da função, portato precisa ser alterado OBRIGATÓRIAMENTE.
Alterar o conteúdo apresentado no campo "User Function Name". É interessante identificar que se trata de uma função ReadOnly neste campo.
Alterar o conteúdo apresentado no campo "Description". É interessante identificar que se trata de uma função ReadOnly neste campo.

Aba 2 - Properties
Copiar o conteúdo de todas as opções desta aba.

Aba 3 - Form
Copiar o conteúdo de todas as opções desta aba.

Na coluna "Parameters" é que iremos identificar que está função deverá chamar o form de maneira ReadOnly. Para isso, basta acrescentar a seguinte string ao final dos parâmetros existentes:
" QUERY_ONLY=YES" (Sempre em maiusculo)

4) Salvar a nova função e disponibilizar a mesma em algum menu existente, ou criar um menu.

Essa é uma dica interessante e bastante utilizada no nosso dia a dia. Dica passada pelo mestre dos magos Marcio Morimoto.

Abraço
Mario

segunda-feira, 13 de julho de 2009

Alterar logo e página de login do EBS

Boa tarde

Hoje vamos ver uma forma de alterar algumas configurações básicas da página inicial do EBS e da página de login. Alterar mensagens, alterar logos, etc.

Todas estas informações estão disponíveis no metalink (Notes 275876.1 e 468971.1). Aqui segue apenas uma compilação de como fazer para:

1) Alterar profile para apresentação de mensagens e opções adicionais na página de login
2) Acrescentar a mensagem no rodapé da pagina
3) Alterar o display do campo login
4) Alterar o hint (texto) que aparece no exemplo de login
5) Alterar os logos das páginas INICIAL, LOGIN E RESPONSABILIDADES
6) Outras opções

=========================================
1) Alterar profile para apresentação de mensagens e opções adicionais na página de login

Profile: Local Login Mask

Regra para utiização: Somar os valores das opções desejadas e coloca na profile:

Hint for Username (USERNAME_HINT) ==> 01
Hint for Password (PASSWORD_HINT) ==> 02
Cancel button (CANCEL_BUTTON) ==> 04
Forgot Password link (FORGOT_PASSWORD_URL) ==> 08
Registration link (REGISTER_URL) ==> 16
Language Images (LANGUAGE_IMAGES) ==> 32
Corporate Policy Message (SARBANES_OXLEY_TEXT) ==> 64

Exemplo: Se desejar que na tela de login apareça os Hints do Username e Password, além das linguagens disponíveis, deve ser feita a conta:
Exemplo: 1 + 2 + 32 = 35

Então agora baste setar o valor em nível de site da profile "Local Login Mask" com 35.

IMPORTANTE: É necessário efetuar o bounce do APACHE.

=========================================
2) Acrescentar uma mensagem no rodapé da pagina
Na responsabilidade "Application Developer", clicar em "Messages"

Procurar por "FND_SSO_SARBANES_OXLEY_TEXT"

Alterar o "Current message text" com a mensagem desejada em PTB e US.

Essa mensagem foi criada para satisfazer as empresas que devem se adequar a uma lei americana chamada SOX (SARBANES-OXLEY). Como aqui no Brasil poucas empresas tem essa necessidade, essa mensagem pode ser utilizada para publicar mensagens curtas.

IMPORTANTE: É necessário efetuar o bounce do APACHE.

=========================================
3) Alterar o display do campo login

Na responsabilidade "Application Developer", clicar em "Messages"

Procurar por "FND_SSO_USER_NAME"

Alterar o "Current message text" com o texto desejado em PTB e US.

Se desejar alterar o display do campo senha, procurar por "FND_SSO_PASSWORD" e repetir o procedimento.

IMPORTANTE: É necessário efetuar o bounce do APACHE.

=========================================
4) Alterar o hint (texto) que aparece no exemplo de login

Na responsabilidade "Application Developer", clicar em "Messages"

Procurar por "FND_SSO_HINT_USERNAME"

Alterar o "Current message text" com o texto desejado em PTB e US.

Se desejar alterar o hint do campo senha, procurar por "FND_SSO_HINT_PASSWORD" e repetir o procedimento.

IMPORTANTE: É necessário efetuar o bounce do APACHE.

=========================================
5) Alterar os logos das páginas INICIAL, LOGIN E RESPONSABILIDADES

------------------------------
- Página Inicial
------------------------------
No servidor de aplicação

Ir até:
cd /u01/app/oracle/INSTANCE/INSTANCEcomn/portal/INSTANCE_server/

Efetuar cópia de segurança da imagem "appsmed3.gif"
cp appsmed3.gif appsmed3.gif-ORIGINAL

Copiar a imagem customizada para este local com o nome "appsmed3.gif"

------------------------------
- Página de login
------------------------------
No servidor de aplicação

Ir até:
cd $OA_MEDIA (/u01/app/oracle/INSTANCE/INSTANCEcomn/java/oracle/apps/media/)

Efetuar cópia de segurança da imagem "FNDSSCORP.gif"
cp FNDSSCORP.gif FNDSSCORP.gif-ORIGINAL

Para alterar o logo, existem duas formas:
Copiar a imagem customizada para este local com o nome "FNDSSCORP.gif"

ou

Ir até :
cd $OA_HTML (/u01/app/oracle/INSTANCE/INSTANCEcomn/html)

Efetuar backup do arquivo "AppsLocalLogin.jsp":
cp AppsLocalLogin.jsp AppsLocalLogin.jsp-ORIGINAL

Editar o arquivo "AppsLocalLogin.jsp":
vim AppsLocalLogin.jsp

Alterar a linha abaixo (comentar a linha atual e gerar uma nova linha):
from :
ImageBean imgBean1 = new ImageBean("/OA_MEDIA/FNDSSCORP.gif", FND_ORACLE_LOGO);

to :
ImageBean imgBean1 = new ImageBean("/OA_MEDIA/IMAGEM CUSTOMIZADA.gif", FND_ORACLE_LOGO);

Alinhar o logo com a mensagem "E-Business Suite":

Ir até:
cd $OA_HTML (/u01/app/oracle/INSTANCE/INSTANCEcomn/html)

Efetuar backup do arquivo "AppsLocalLogin.jsp":
cp AppsLocalLogin.jsp AppsLocalLogin.jsp-ORIGINAL

Editar o arquivo "AppsLocalLogin.jsp":
vim AppsLocalLogin.jsp

Comentar a linha 620:
// cbean2.setVAlign(UIConstants.V_ALIGN_BOTTOM);

-------------------------------
- Página das responsabilidades
-------------------------------
No servidor de aplicação

Ir até:
cd $OA_MEDIA (/u01/app/oracle/INSTANCE/INSTANCEcomn/java/oracle/apps/media/)

Efetuar cópia de segurança da imagem "FNDSSCORP.gif"
cp FNDSSCORP.gif FNDSSCORP.gif-ORIGINAL

Copiar a imagem customizada para este local com o nome desejado. Se quiser, pode sobrescrever a imagem default "FNDSSCORP.gif".

Se a imagem default for sobrescrita, os passos abaixo são desnecessários. Se não, executar:

Na aplicação, alterar a profile abaixo:

Acessar a responsabilidade: System Administrator -> Profile -> System
Profile: Corporate Branding Image for Oracle Applications
Valor alterado: .gif

IMPORTANTE: É necessário efetuar o bounce do APACHE.

Bom, basicamente é isso. Nos notes acima existem mais opções de alteração do lay-out das páginas do EBS. O mais importante é que estas pequenas alterações não são encaradas como customizações pela Oracle e por isso o seu suporte está garantido.

Abraço
Mario

terça-feira, 7 de julho de 2009

Responsabilidades por usuários

Bom dia

Dica básica, porém bem interessante para quem quer levantar os usuários e suas responsabilidades no EBS:

Como apps:

SELECT
SUBSTR(USU.USER_NAME,1,30) AS NAME,
SUBSTR(APPL.APPLICATION_SHORT_NAME,1,15) AS APPLICATION_SHORT_NAME,
SUBSTR(APPLTL.APPLICATION_NAME,1,50) AS APPLICATION_NAME,
RESP.RESPONSIBILITY_KEY,
RESPTL.RESPONSIBILITY_NAME
FROM
APPS.FND_USER_RESP_GROUPS_DIRECT URESP
JOIN APPS.FND_USER USU ON
USU.USER_ID = URESP.USER_ID
JOIN APPS.FND_RESPONSIBILITY RESP ON
RESP.RESPONSIBILITY_ID = URESP.RESPONSIBILITY_ID AND
RESP.APPLICATION_ID = URESP.RESPONSIBILITY_APPLICATION_ID
JOIN APPS.FND_RESPONSIBILITY_TL RESPTL ON
RESPTL.RESPONSIBILITY_ID = URESP.RESPONSIBILITY_ID AND
RESPTL.APPLICATION_ID = URESP.RESPONSIBILITY_APPLICATION_ID
JOIN APPS.FND_APPLICATION APPL ON
APPL.APPLICATION_ID = RESP.APPLICATION_ID
JOIN APPS.FND_APPLICATION_TL APPLTL ON
APPLTL.APPLICATION_ID = RESP.APPLICATION_ID
WHERE
RESP.END_DATE IS NULL AND
RESPTL.LANGUAGE = 'PTB' AND
APPLTL.LANGUAGE = 'PTB' AND
USU.END_DATE IS NULL AND
RESP.END_DATE IS NULL AND
URESP.END_DATE IS NULL AND
USU.USER_NAME != 'SYSADMIN'
ORDER BY
APPL.APPLICATION_SHORT_NAME,
APPLTL.APPLICATION_NAME,
USU.USER_NAME;

Aqui não está sendo considerado o SYSADMIN e somente está sendo filtrado o que é PTB. Com algumas alterações fica fácil de conseguir várias informações.

Claro que existe também um concurrent no EBS que gera um relatório com essa informação. Essa maneira acima é apenas mais uma forma de conseguir as responsabilidades dos usuários.

Até amanhã...

Abraço
Mario

Início

Boa tarde

Este primeiro post como não poderia deixar de ser é apenas uma apresentação de quem sou e o que desejo com este Blog.

Sou profissional da área de TI a 6 anos, trabalho como DBA a 3 e sou ATG a quase 2 anos. Sou Engenheiro de Software por formação, pós-graduado em Administração de banco de dados Oracle e supervisor de banco de dados de uma empresa em São Bernardo do Campo, São Paulo.

A intenção do blog é de ajudar aqueles que, como eu, estão iniciando suas atividades nesse mundo Oracle com dicas práticas e rotineiras de nosso dia a dia. As dicas postadas são dicas utilizadas por mim para resolução de problemas ou melhorias de ambiente.

Que fique bem claro desde o início que essas são experiências minhas, ou seja, o que serve no meu caso pode ser que não sirva no seu, porém a idéia é ajudar aqueles que sequer sabem por onde começar e o que pesquisar. As dicas contidas aqui vão desde coisas básicas até algumas mais avançadas. Essas dicas não são necessariamente a melhor maneira de se fazer as coisas, porém é uma maneira que foi utilizada em um momento de necessidade e apresentou resultados satisfatórios.

Não coloque nenhuma dessas dicas em prática sem antes testar a solução em seu ambiente de testes. Não me responsabilizo pelo que acontecer :)

Dicas de outros assuntos de meu interesse serão postadas neste espaço também, principalmente de Linux e PostgreSQL.

No mais espero que a nossa convivência seja agradável e produtiva a todos. Críticas e sugestões serão sempre bem vindas, desde que sejam feitas com respeito e educação.

Abraço
Mario

Postagem em destaque

[ORACLE] Batch change EDITIONABLE property.

Hello everyone. Hope you're doing well! Today, I have a simple case.   A test database had many database objects with the EDITIONABLE pr...