Modificar uma campo em todas as linhas de tabela interna

images/thumbnail.jpg - Thumbnail

O que vos vou mostrar não é propriamente uma novidade. Até já foi usado antes no Abapinho. Mas como se continua a ver por aí muita gente a fazer LOOPs a tabelas internas para alterar um campo, achei que valia a pena recordar.

Tens uma tabela com um milhão e duzentas mil linhas e queres que o campo ICON tenha sempre o valor ‘@FM@’.

Em vez de fazeres isto:

LOOP AT lt_data ASSIGNING <data>.
  <data>-icon = '@FM@'.
ENDLOOP.

Experimenta fazer antes isto:

ls_data-icon = '@FM@'.
MODIFY lt_data FROM ls_data TRANSPORTING icon WHERE icon <> 'PATO DONALD'.

Como é óbvio, na condição podes escolher outra personagem qualquer dos Tio Patinhas.

Obrigado Sérgio Serra por sugerires que poderia ser interessante ensinar isto. Obrigado Andrew Becraft pela foto.

O Abapinho saúda-vos.