Skip to content

edmilson-nascimento/abap-7.4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

ABAP 7.4 / inline

Static Badge GitHub commit activity (branch)

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.

Dica

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])
Loading

Itens listados para processamento

Agrupamento e atribuição com groups

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 ) ) .

Usando collect, mas com reduce

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 é:

  1. Buscar dados dem uma tabela usando um campo como filtro (com mais de um valor proposto/pretendido)
  2. Retornar todos os dados encontrados
  3. 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 ) )
  ).

Date

A conversão de dados tem como exemplo no file. Exitem maneiras diferentes de se fazer isso para obter diferentes formatos.

Let

file

Loop

file

Range

file

Reduce

file

Reduce string

file

Timestamp

file

Diferenca-entre-duas-tabelas

file

Mapping

Mapeamento para quando as tabelas tem campos diferentes. file

About

Gengeral improviments

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages