Relatório de consistência da SALV
2017-07-18

Às vezes uma SALV pode ter inconsistências que passam despercebidas a quem as programa. Um exemplo é uma estrutura com um campo WRBTR sem um campo de moeda associado:
TYPES: BEGIN OF ty_s_data,
bukrs TYPE bukrs,
wrbtr TYPE wrbtr,
END OF ty_s_data.
DATA: o_salv TYPE REF TO cl_salv_table,
t_data TYPE STANDARD TABLE OF ty_s_data.
START-OF-SELECTION.
cl_salv_table=>factory(
IMPORTING
r_salv_table = o_salv
CHANGING
t_table = t_data ).
o_salv->display( ).
Embora quase ninguém saiba, a própria SALV faz um relatório das suas inconsistências. Para o ver basta carregar em SHIFT+DUPLO_CLIQUE_DIREITO num espaço em branco do ecrã:
Agora que já sabes, não vás para aí digar que a tua SALV está pronta antes de correres o seu relatório de consistência.
Obrigado Pierre Ameye pela dica.
A foto está desfocada, eu sei, mas achei giro.
O Abapinho saúda-vos.
26 de julho de 2017 às 11:16
Hello! Consigo ver na mesma estas inconsistências se correr o comando SHIFT+DUPLO_CLIQUE_DIREITO dentro de uma classe? Isto porque tenho o meu factory dentro de um método de uma classe. Estas inconsistências não são apanhadas no Code Inspector nem na Verificação ampliada de um programa, ou são? Valeu a dica, mais uma vez, obrigado
26 de julho de 2017 às 11:18
Olá, isto funciona em qualquer SALV Grid (nas outras não experimentei), independentemente de onde está definida. Eu também tenho todas as minhas SALVs dentro de classes.