Abapinho

Enhancements implícitos em estruturas de dados

Já todos usámos enhancements implícitos para adicionar código ao início ou final de funções, forms ou métodos standard. Mas é menos conhecido o facto de que também podemos adicionar campos a estruturas de dados, estejam elas declaradas como TYPES ou ou directamente como DATA.

Funciona exactamente da mesma forma. Aqui está um exemplo:

Claro que é pouco provável que queiras criar enhancements em programas Z, mas vá, é só um exemplo para veres como é.

Se olhares com atenção para o código vais ver que há truque. Se apenas adicionares mais um campo vai dar erro. Isto porque o enhancement é, na verdade, um ficheiro à parte, compilado à parte. O truque para o conseguir compilar com sucesso é começar explicitamente com TYPES ou DATA (conforme), como se pode ver no exemplo.

As palavras a vermelho dão para reparar que o editor não sabe muito bem lidar com isto. Mas o que interessa é que funciona.

O Abapinho saúda-vos.

Exit mobile version