The are annotations about new features and 'new' ways to do something better. I hope it.
Eu ainda não decidi ao certo se vou colocar isso em ingles ou português e por enquanto estai indo de acordo com meu humor do dia.
Bem, depois de algum tempo, antes de avançar com qualquer ajuste, achei importante deixar um ponto de atenção para se pensar.
flowchart TD
Start((start)) --> DadosTeste[(Cenários de testes)]
DadosTeste --> Debug(Debug e avaliação de cenários)
Debug --> CheckAcao{Haverá impacto?}
CheckAcao --> sim((Sim))
sim --> DadosTeste
CheckAcao --> nao((não))
nao --> Fix(Aplicar correção)
Fix --> Finish([Finish])
- Groups
- Collect / Reduce
- Date
- Groups
- Let
- Loop
- Range
- Reduce
- Reduce string
- Timestamp
- Diferença entre duas tabelas
- Mapping
Penso que esse seja o comando que eu mais gosto e provavelmente o mais desafiante usar da maneira correta. Detalhes no file e uma previa abaixo.
data(lt_filter) =
" Atribuição do tipo TT_PRPS
value tt_prps(
" Agrupa a Definição do Projeto na variavel DP
for groups DP of ls_data in lt_pstab
" Condicao para não retornar valores vazios
where ( psphi is not initial )
" Campo que sera agrupado
group by ls_data-psphi ascending
" Atribuir a variavel
( psphi = DP ) ) .
O Consultor SAP ABAP/PO Murilo Borges empre me diz que eu não gosto de usar o comando collect
. E sim, devido as minhas experiências ruins que eu tive no começo do meu aprendizado com ABAP
por não saber usar corretamente ou porque alguns lugares usavam isso para finalizadade diferente do que foi criado.
Aqui um exemplo de como eu não uso ele e aplico outro codigo para mesma finalidade. No caso, a finalidade é:
- Buscar dados dem uma tabela usando um campo como filtro (com mais de um valor proposto/pretendido)
- Retornar todos os dados encontrados
- Verificar, de acordo com os três valores informados, quais deles que possuem todos os campos usados no filtro.
Na verdade, o intuito inicial é encontrar uma tabela/estrutura que tem todos os três campos que eu usei como filtro e não apenas um deles. Mas é assunto para outro podcast
Segue codigo de como isso foi feito logo abaixo e aqui é possivel ver todo o codigo com as duas versões.
lt_reduce = VALUE #(
FOR GROUPS table OF <line> IN lt_data
GROUP BY <line>-tabname
( tabname = table
valor = REDUCE i( INIT i TYPE i
FOR ls_field IN GROUP table
NEXT i = i + 1 ) )
).
A conversão de dados tem como exemplo no file. Exitem maneiras diferentes de se fazer isso para obter diferentes formatos.
Mapeamento para quando as tabelas tem campos diferentes. file