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