quarta-feira, 25 de novembro de 2009

Encaminhar Ordem de Compra para novo aprovador

Boa tarde, jovens mancebos

Após um pequeno período de inatividade, acho que poderemos realmente retomar os posts com mais regularidade.

Agora vamos ao que interessa. Imaginem a cena: o key-user entra louco na sua sala , olha para você com aquela cara de cachorro que caiu da mudança e fala bem assim:
- "Cara, me ajuda. Tem uma ordem de compra urgente e o aprovador não está ai. Tem como redirecionar a bendita para que eu aprove ?"

Legal, você como ATG gente fina que é, olha bem para o jovem e diz:
- "Cara, beleza mas vai te custar aquele chocolate gostoso" :)

Claro que na sua empresa isso não acontece, uma OC urgente sem aprovação.. Na minha também não, estamos apenas imaginando :)

Deixando as ironias e brincadeiras de lado, vai lá como ajudar o pequeno aflito:

Passos:
1) Logar como sysadmin
2) Em "System Administrator", procurar pela seção "Workflow : Administrator Workflow"
3) Clicar em "Status Monitor"
4) Efetuar a busca com os parãmetros abaixo:
  • Em "Workflow Type" digitar "PO Approval"
  • Em "Type Internal Name" digitar "POAPPRV"
  • Em "User Key" digitar o número da OC desejada
5) Após encontrado o Workflow desejado, marcar o Radio Button na listagem disponível e clicar em "Activity History"
6) Na coluna "Activity", localizar o processo "Approve PO Notification with PDF"
7) Ao encontrar o processo, clicar no link disponível na coluna "Reassign"
8) No campo "Reassign", buscar pelo login que o aflito mancebo te indicou
9) Deixar marcada a opção "Delegate your response"
10) Em "Comments", digitar uma mensagem se desejado para explicar o que houve
11) Clicar em "Submit" e...

Agora, basta apreciar a mensagem abaixo como o sinal de mais um sucesso do jovem e destemido ATG... No caso, você :)
The notification "OU_VISIO - Standard Purchase Order 9999 for BRL requires your approval. " in workflow "1270" has been reassigned from MANCEBO_ANTIGO to MANCEBO_NOVO.

É uma dica simples, mas bastante usada nas empresas dos outros :)

Vou começar uma série de como cadastrar usuários, responsabilidades, menus, etc. Aguardem jovens...

E qualquer dúvida, basta postar ai nos comentários...

Abraço
Mario

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...