How to: Dicas secretas no SAP
Apesar do título chamativo, essas dicas são bem conhecidas entre os consultores que tem uma certa senioridade com o SAP. Nesse artigo aprenderemos a fazer mudanças em tabelas quando não se tem uma visão de atualização disponível na transação SM30 e como acessar transações que não se possui acesso.
Antes de ensinarmos essas dicas, já mostrarei como a equipe de Basis pode impedir que essas dicas sejam executadas.
Para impedir que qualquer uma das dicas não seja possível de ser executada, a equipe de Basis precisa garantir que o usuário não tenha no seu usuário alguma função que contenha o objeto de autorização S_DEVELOP com as seguintes atividades: 02 (Alterar) , 06 (Eliminar) e MA (Desativar assistente de modificação).
Se essas autorizações não forem concedidas, as dicas aqui citadas não poderão ser executadas.
Agora que já vimos como impedir a execução das dicas, quero deixar registrado que a sua utilização não é recomendada pela SAP. Caso elas sejam utilizadas de forma inapropriada, poderá levar à inconsistência nos dados armazenados pelo sistema, comprometendo assim toda a confiabilidade e integridade dos dados que é fornecida e garantida pela própria SAP.
Dessa forma, saiba que as atividades que serão apresentadas abaixo são de inteira responsabilidade dos executores.
Modificar tabelas quando não há uma visão de utilização
Em algumas situações, bem específicas, pode ser necessário fazer ajuste de algum dado em tabelas do sistema. Na inexistência de uma visão de atualização que lhe forneça essa funcionalidade, você poderá fazer isso por meio da transação SE16N.
Essa transação é bem conhecida para visualizarmos o conteúdo dos dados nas tabelas, entretanto, é possível por meio dela também executarmos alterações, inclusões ou eliminações de registros. Para isso, o usuário precisará acessar a transação SE16N, informar qual tabela deseja alterar e preencher os campos de filtro que julgar necessário.
Após o preenchimento do campos, antes de pressionar o botão de executar, o usuário deverá ir no campo de comando e inserir o código /h e logo depois pressionar a tecla ENTER. Quando isso for executado e se os acessos não tiverem sido bloqueados pela equipe de Basis, uma mensagem no rodapé da tela aparecerá informando que: "Debugging foi ligado".
A partir de então você clicará no relógio para executar a transação ou pressionará o botão F8.
Ao realizar isso, uma tela de debug do código será apresentado e nela você deverá preencher nas colunas à direita a seguintes duas variáveis: GD-EDIT e GD-SAPEDIT. Além disso deverá atribuir para ambas o valor X (X Maiúsculo).
Após o preenchimento conforme imagem acima o usuário pressiona a tecla F8 e o sistema apresentará a tela novamente da SE16N permitindo edições e não somente visualização como habitual.
Como podemos observar, novos botões foram inseridos, os quais permitem fazer inserções e eliminações de registros. Além disso, campos da tabela que não são Primary keys (Chaves Primárias) ou Foreign Keys (Chaves estrangeiras) ficam disponíveis para modificação.
O usuário então poderá fazer as alterações que desejar e no final clicar no botão de gravação para que as mudanças sejam persistidas no banco de dados.
Mais uma vez reforço que qualquer alteração das tabelas por esse método é por conta e risco de quem executa. Nem a SAP nem o autor dessa postagem se responsabiliza por qualquer tipo de erro ou inconsistência gerada por esse procedimento.
Acessar transações sem ter a devida autorização
Para executar essa outra dica, o usuário terá que ter acesso pelo menos à transação SE37. Caso o usuário não tenha acesso a ela, então não será possível executá-la.
Dessa forma, já fica a dica para a equipe de Basis bloquear o acesso a essa transação dos usuários nos ambientes sensíveis da companhia.
Ao acessar a transação SE37, o usuário deverá preencher o campo Módulo de Função com a função RS_HDSYS_CALL_TC_VARIANT
Após isso, uma nova tela será apresentada para o usuário. Nessa nova tela ele preencherá os campos TCODE com o código da transação que deseja acessar e o campo AUTHORITY_CHECK deverá ter seu conteúdo apagado.
Uma vez preenchido os campos, o usuário então clica no relógio e o SAP levará ele para a transação inserida no campo TCODE.
Vale ressaltar que ainda assim, quando o usuário estiver na transação, qualquer modificação que ele faça nela o SAP fará novas checagens de autorização, podendo impedir inclusive essas modificações, uma vez que ele não tenha acesso direto à transação acessada.
Se pesquisarmos na internet, veremos que existe algumas variações dessa dica utilizando outros módulos de função, mas a sua essência é sempre a mesma apresentada nessa postagem.
Qualquer problema ou dúvida sobre essas dicas deixe aí nos comentários que terei o maior prazer em respondê-las.
Comentários
Postar um comentário