Nesta oportunidade, escreverei este post sobre um processo talvez simples para alguns e complexo para outros. (sinta-se à vontade para comentar no espaço indicado para tal, no final do post). Vamos lá....
Às vezes, extrair dados para um determinado processo ou relatório pode ser uma tarefa complicada, ainda mais quando, entre as possibilidades, você não conseguiu usar uma BAPI mágica, ou teve que lidar com consultas em tabelas de banco de dados; e então percebe que o objetivo é obter dados que são gerados por uma transação padrão ou Z e cuja saída é um ALV. Sejamos sinceros neste ponto, não vale a pena reinventar a roda, mas podemos melhorá-la...
Neste post, tentarei apresentar uma solução, seja para obter dados para processamento e obter outros dados, ou simplesmente para obter esses dados e exibi-los em um formato diferente (adaptado ao requisito).
Para facilitar a compreensão, começarei apresentando um caso prático, depois as opções e, em seguida, a solução (que pode não ser o melhor exemplo em termos de funcionalidade).
Caso Prático:
Suponhamos que precisamos dos dados fornecidos pela Tx. MB52, para extrair os materiais e outros dados para realizar um processo específico de negócio.
Opções:
Embora tenhamos a opção de buscar dados em tabelas, cruzá-los e obter uma saída desejada; ou fazer um submit ao relatório existente com uma estrutura semelhante à desejada e extrair os dados gerados como saída (esta é a opção que escolheremos para este post).
Solução:
Aqui termina este post, e vamos identificar os elementos necessários para a construção do relatório.
Portanto, da Tx. MB52, extraímos dados importantes, como:
-
Nome do relatório: RM07MLBS
-
Variante (
opcional
)
-
Qualquer campo de seleção que desejamos calcular antes de chamar o relatório fonte (
opcional
)
-
Nome da estrutura da tabela de saída (geralmente procuro o método ALV usado e pego a estrutura da tabela de dados enviada)
Então, tudo se resume a este código:
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
Lembre-se de que este é um relatório simples e com fins demonstrativos; você pode ser tão abstrato quanto desejar e usar as técnicas de programação que preferir.
Espero que seja útil.