IBM
PagSeguro
Canais iMasters

Gerência de TI + Oracle

Forms Read Only no EBS

Olá, jovens!

No nosso dia a dia de trabalho, muitos pedidos são feitos pelos nossos superiores ou pelos usuários sem que eles possam imaginar o transtorno que isso pode gerar, ou mesmo o trabalho que isso pode dar para ser executado.

Imagine a seguinte situação: sexta-feira, véspera de feriado à tarde, e seu chefe te pede algo fácil, segundo ele. Pede para que seja liberada uma opção do E-Bsiness Suite (EBS), como a tela de Cadastro de Clientes, para determinado login.

Você, que estava apreensivo com a frase "É algo fácil" dita pelo seu chefe, pensa aliviado: "Ufa, achei que seria algo mais complicado... Realmente o chefe pegou leve..."

Porém, ao se afastar da sua mesa, seu chefe se volta para você e solta aquela frase que você não gostaria de ouvir: "Ahhhhhhh, me esqueci de dizer!!!!"

Você então respira fundo, conta até 300 e sorri, afinal ele é seu chefe e pode esquecer o que quiser ao te passar uma informação. "Me esqueci que o fulano só pode consultar os dados, ele não pode alterar nada. É fácil isso, né?"

Lógico que é fácil. Se já existe a opção de consulta no EBS, basta liberar o acesso para o fulano e realmente isso será tranquilo. Mas e se não existe? E se o form não é ReadOnly?

Nesse caso, após tomar aquela xícara de água para acalmar, podemos utilizar uma dica que meu amigo Marcio Morimoto me passou e criar uma função passando os parâmetros corretos para o form de maneira a deixá-lo no modo somente leitura.

Para isso, basicamente, iremos nos logar como SysAdmin, verificar qual é o menu original (CORE) que "chama" a função para abrir o form de cadastro de clientes. Encontrado esse nome, basta criarmos uma nova função com os parâmetros de readOnly e, no menu desejado, direcionar para a execução dessa nova função. Fácil, fácil não é mesmo?

Vamos ver o passo a passo.

1) Se logar ao EBS, como SysAdmin.


  • Em Login, digitar o login do SysAdmin.
  • Em Senha, digitar a senha do SysAdmin.

2) Selecionar a responsabilidade adequada.


  • Clicar em "System Administrator".

3) Selecionar a opção para encontrar as definições de uma responsabilidade.


  • Clicar em Security.

    • Responsibility.

      • Define.

Importante: Neste momento, serão abertas duas janelas (ou abas) em seu navegador, além da tela do sistema EBS. Se elas forem fechadas, farão com que o sistema EBS feche também a tela do sistema.

4) Verificar, em alguma responsabilidade CORE, o nome do menu de clientes.


  • Clicar em F11 e buscar a responsabilidade que possui acesso ao form.

    Importante: No nosso caso, podemos usar o "Gerente do Public Sector Receivables".

  • Anotar o conteúdo do campo "Menu". Neste exemplo, "AR_NAVIGATE_GUI".

Importante: Neste passo, não existe mágica. Você terá que saber pelo menos uma responsabilidade que tenha acesso ao cadastro de clientes. Geralmente a responsabilidade de "Super Usuário" ou "Gerente" CORE do módulo tem esses acessos.

5) Ir até o form de consultas de menus.

  • Clicar em Application.

    • Menu.

6) Pesquisar o menu anotado no passo 4 e a função desejada.


  • Pesquisar, no campo "User Menu Name", o nome do menu anotado no passo 4.

Importante: 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". É essa função que dispara o form.

    No nosso exemplo, "Função:Padrão de Clientes".

7) Ir até o form de consulta de funções.


  • Clicar em Application.

    • Function.

8) Localizar a função CORE pelo nome anotado no passo 6.


  • Pesquisar pelo campo "User Function Name".

9) Criar uma cópia somente leitura.


  • Criar uma nova função clicando na linha de baixo.


  • Copiar o conteúdo dos campos abaixo:

  • Aba 1 - Description.

    • Alterar o conteúdo apresentado no campo "Function". Esse é o nome da função, portato precisa ser alterado OBRIGATÓRIAMENTE. Geralmente acrescento "_RO" ao nome CORE.
    • Alterar o conteúdo apresentado no campo "User Function Name". É interessante manter a descrição original e identificar que se trata de uma função ReadOnly nesse campo.
    • Alterar o conteúdo apresentado no campo "Description". É interessante manter a descrição original e identificar que se trata de uma função ReadOnly nesse campo.


  • Aba 2 - Properties.

    Manter o conteúdo de todas as opções dessa aba.


  • Aba 3 - Form.

    Copiar o conteúdo de todas as opções dessa aba, exceto da coluna "Parameters".

Importante: Aqui jovens veem o pulo do gato para transformar o form em Readonly. Na coluna "Parameters" dessa aba é que iremos identificar que essa 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" 

Muito Importante: Sempre em maiúsculo, sem espaço entre o "=" e as palavras.

Veja no nosso exempo:

  • Parametro original:

    ADDR_MODE=STANDARD CUST_FIRST_CANVAS=CUST_CLASS ADDR_FIRST_CANVAS=ADDR_SU CUST_RECORD_COUNT=1

  • Parametro readonly:

    ADDR_MODE=STANDARD CUST_FIRST_CANVAS=CUST_CLASS ADDR_FIRST_CANVAS=ADDR_SU CUST_RECORD_COUNT=1 QUERY_ONLY=YES

  • Salvar a nova função (CTRL + S).

11) Ir até o form de consultas de menus novamente.


  • Clicar em Application.

    Menu.

12) Pesquisar o menu anotado no passo 4 e a função desejada.

  • Pesquisar, no campo "User Menu Name", o nome do menu anotado no passo 4.

Importante: Se o form estiver dentro de um submenu, repetir a operação acima até encontrar a função.

13) Agora basta alterar a função CORE pela nossa função customizada.


  • Pesquisar pela nossa função customizada (Read Only).


  • Após encontrar a função desejada, alterar para ser chamada a nova função criada no passo 9.

    No nosso exemplo, "Padrão de Clientes - ReadOnly".

Importante: Neste caso, como estamos apenas criando um exemplo, estou alterando o menu CORE para utilizar a nova função. Eu particularmente não recomendo essa prática, ou seja, eu não altero nada do que é CORE do EBS. Em se tratando de uma situação real, eu criaria uma cópia do submenu que chama a função, criaria uma responsabilidade ou iria inserir mais uma opção de menu com esse submenu e, então, liberaria essa opção para o usuário.

Em um próximo post, veremos como se faz isso, ok ?

Feito isso, basta ir até a nova consulta e tentar alterar algum dado. Isso eu deixo com vocês.

Para encerrar, gostaria de agradecer algumas pessoas que ficaram sem agradecimentos no primeiro post, mas que contribuíram para este meu caminho da mesma forma como os demais: Max Moreno, Marcio Vigato, Dênis "Vamp" Ruiz , Donisete Santos (Donni), Ricardo Almeida (Ricardinho), João Lorite e Cristina Backer.

Não posso me esquecer também de mandar um abraço para um cara que me ensinou os primeiros passos no EBS, inclusive me ensinou esta dica que compartilho com vocês hoje: Mestre Marcio Morimoto.

E como não podia me esquecer disso, deixo algo para pensar:

Para quem tem pensamento forte, o impossível é só questão de opinião.E disso os loucos sabem...

Abraço e até a próxima.

José Mario Barduchi

José Mario Barduchi

é profissional de TI há oito anos, sendo cinco desses dedicados exclusivamente a Banco de Dados. Formado em Engenharia da Computação com ênfase em Engenharia de Software pela Universidade Metodista de São Paulo e pós-graduado em Banco de Dados Oracle pela FIAP, é supervisor de Banco de Dados do Grupo Wheaton Brasil, onde, junto com a sua equipe, administra bases Oracle e PostgreSQL em ambiente Linux Red Hat, além do EBS Oracle, Mastersaf, Hyperion, WMS, NFe e outros.

Leia os últimos artigos publicados por jose_mario_barduchi


Comente também

8 Comentários

Maximiliano Moreno
Maximiliano Moreno

Zé,

mutio legal e bem explicativo, parabéns por mais este artigo de muitos que ainda serão publicados.

Abs
Maximiliano Moreno



Marco Domingos
Marco Domingos

Esses meus amigos me matam de orgulho...

Parabéns peo artigo, Zé.

José Mario Barduchi
José Mario Barduchi

AHAHAHAHAH... Esses meus amigos são puxa-saco mesmo viu :)

Valeu molusko !!!

David Ricardo Siqueira
David Ricardo Siqueira

Marião,
Este artigo ficou show de bola, meus parabéns, tudo muito bem detalhado e com certeza essa opção é extremamente util não só nesses casos, mas como também em ambientes de DEMO, onde você pode tranquilamente soltar o aplicativo na mão do usuário pra ele clicar em telas até dizer chega.

Gostei bastante!!!..

Parabéns!!!!

José Mario Barduchi
José Mario Barduchi

É isso ai David...

A idéia é ser o meis detalhado possível sem sem massante e complicado...

Abraço e obrigado pelo apoio.

João Ricardo Lorite
João Ricardo Lorite

Marião, Parabéns pelo artigo!!!

Muito bem explicado e de fácil entendimento!!

Gostei muito do post, me envie os próximos.,,,
E agradeço pelas considerações finais, se precisar de alguma coisa, sabe que pode contar comigo!!!

Abração

João Ricardo Lorite

José Mario Barduchi
José Mario Barduchi

Valeu Cado....

Cara, quanto as considerações finais nada mais justo pq nunca devemos esquecer quem nos ajudou lá atrás..... Se esquecermos isso perdemos tudo....

Abraço
Mario

Qual a sua opinião?

Comentários considerados ofensivos serão moderados.

Parceiros

IBM
PagSeguro
Internet Innovation
Dialhost
HostNet
Tecla
KingHost
DotStore
Dinamize