Ola Leitores do Blog SAPR3ABAP.
Para o Post de Hoje, vou estar tratanto sobre o assunto performance em ABAP.

Instalei a versão demo do SAP R/3 e nela criei 6 programas que chegam no mesmo resultado, que é a impressão de uma lista contendo dois campos de duas tabelas distintas, só que percorrendo caminhos diferentes, ou melhor, lógicas diferentes.
Utilizei uma ferramenta de captura de tela e de audio para explicar o experimento. Desculpem por usar um software de captura trial…
No link abaixo encotra-se o arquivos deste post, que são os programas, uma apresentação em PPS, um arquivo HTML para apresentação do FLASH do experimento. É eu sei, é 10MB, mas não é tão grande assim, vai ?
performance ( renomear para zip ) ( Tive que gravar como extensão PDF pois o wordpress não aceita extensões zip, então salve o arquivo em um diretório na sua maquina e renomeie para .zip e depois descompacte tudo em um unico diretório para facilitar a navegação.
Espero que aproveitem.
[update]
A idéia central do experimento é trabalhar diversas lógicas de busca de registro com tabelas internas do tipo standards.
Se o leitor quiser melhorar a performance dos programas mudando a declaração das tabelas internas, ele poderia declarar a tabela interna de itens da seguinte forma:
types: begin of fs_ztinv_item,
groupid like ztinv_item-groupid,
itemid like ztinv_item-itemid,
end of fs_ztinv_item.
data itab_ztinv_item type HASHED TABLE OF fs_ztinv_item WITH UNIQUE key groupid itemid WITH HEADER LINE.
Ja que a chave é unica e no nosso experimento os dados não se alteravam durante o processamento.
Caso fosse feita alguma alteração de dados ainda assim poderia ser feita a declaração da seguinte forma.
types: begin of fs_ztinv_item,
groupid like ztinv_item-groupid,
itemid like ztinv_item-itemid,
end of fs_ztinv_item.
data itab_ztinv_item type SORTED TABLE OF fs_ztinv_item WITH UNIQUE key groupid itemid WITH HEADER LINE.
Dessa forma o primeiro programa que levou 8.518 segundos para ser executado, passou a gastar 7 segundos sem a necessidade do comando sort ou de field-symbols.
[update]
Flw…