A técnica das Matrioskas
É sabido que quando é necessário fazer uma pequena alteração a uma função standard para a qual não há nenhum tipo de user-exit, o mais normal é fazer uma cópia dela para uma função Z e lá proceder à alteração necessária.
No entanto, quando esta alteração pode ser feita no início ou no final do programa, há uma forma mais elegante de conseguir o mesmo resultado: a técnica das Matrioskas. Criar uma função Z com os mesmos parâmetros que lá dentro invoca a função standard e que, além disso, antes ou depois de a invocar, tem o código para implementar a alteração necessária. Assim evita-se repetir o código que não muda. Menos lixo logo mais ecológico.
Nota 1: Embora nas funções esta solução seja óbvia, não só com elas se pode aplicar a técnica das Matrioskas: aplica-se também a programas, métodos, includes , etc.
Nota 2: Claro que nas últimas versões esta dica é já de utilidade relativa graças ao último grito da moda, os enhancements. Mas mesmo assim pode fazer sentido puxar de uma Matrioska em vez de um enhancement quando, por exemplo, se quer que o programa standard continue a funcionar da forma original.
O Abapinho saúda-vos.