Salta a parede
2012-08-06

Baixa a música.
Fecha a porta.
Olha à volta.
Está alguém a olhar para ti?
Não estás a ser observado?
Nem câmaras de vigilância?
Então, podemos continuar.
Concentra-te.
E faz o seguinte:
- Na SE38 abre o programa LSKEYF00, procura o FORM JUMP_THE_WALL e coloca um breakpoint na linha que diz CHECK SY-SUBRC NE 0;
- Ainda na SE38 abre qualquer programa standard que queiras alterar e carrega em “modificar”. Aparecer-te-á o depurador (custa-me muito chamar depurador ao debugger);
- Altera o valor da variável SY-SUBRC para 0 (zero) e depois prossegue com F8. Repete este passo tantas vezes quantas forem necessárias;
- Faz as alterações todas que queres fazer ao programa standard;
- Carrega no botão de activação. O sistema tornará a parar no breakpoint e por isso terás de proceder novamente como no passo 3.
Já está. Alteraste um programa standard de forma manhosa e ilegal e provavelmente agora terás de fugir porque o teu nome de utilizador ficou lá registado como a última pessoa que o alterou e mais cedo ou mais tarde vão descobrir o que fizeste.
Mete uns auscultadores com esta música e apanha um avião para aqui.
Obrigado a José Faria por arriscar a sua vida partilhando esta dica.
E obrigado a K. D. pela foto.
O Abapinho saúda-vos.
7 de agosto de 2012 às 1:49
Esse truque eu cinhecia em outro form em versoes antigas, mas a SAP o encondeu. Pelo visto nao escondeu muito bem. Obrigado, sera muito util para provar aos clientes que tal coisa so sera possivel com alteracao do standard! :D
Agora acho melhor voces pedirem asilo na Embaixada do Equador.
7 de agosto de 2012 às 17:24
Entendi! Você sai de férias e quer mais é ver o circo pegando fogo quando voltar! hahaha.
Conhecia esse esquema da forma antiga, como o Custódio comentou. Não sabia desse novo meio!
Abraços Nuno!
7 de agosto de 2012 às 18:18
Lavo daqui as minhas maos :) nem estou em Portugal, nao tenho nada a haver com isso :) eu so’ mostrei a polvora, nao fiz explodir nada :)
21 de setembro de 2012 às 17:37
SAP Kung-Fu ! Very helpful article!! Thanks!
15 de janeiro de 2014 às 13:07
Bom dia.
Eu gostaria de alterar um programa que não é Standard (programa zteste, que está salvo localmente). Porém, este programa está no ambiente QAS (ambiente que agora está fechado para modificações). Será que tem como alterar um programa (que não é standard) em um ambiente fechado?
Desde já, muito obrigado.
Otávio May
23 de junho de 2014 às 15:28
Olá Otávio como você quer modificar um programa em qas ou até mesmo em PRD kk precisará pedir para seu BASIS liberar a modificação pela transação SCC4 dai sim você colocará o break no programa LSKEYF00 e assim parará no ponto para você modificar o seu programa!
23 de setembro de 2015 às 16:20
Sei que o post ja caducou, mas tem outra forma de alterar um programa diretamente em QAS ou PRD sem a necessidade de abrir o ambiente.
Basta abrir o programa na SE38, ativar o debug e clicar em editar. Depois, inserir um watchpoint em “sy-subrc = 12”.
Depois, só prosseguir com o debug (F8). Vai ser exibida a tela que diz que não é possível editar até o programa. Só dar o enter e o programa vai cair no watchpoint. Basta ir alterando o sy-subrc pra 0 em todas as vezes que ele parar que, quando sair do debug, o programa estará aberto para edição.
Só não vai esquecer de, depois de modificar o ambiente, copiar as alterações para o DEV e depois subir a request para todos os ambientes, para “formalizar” o processo.