É possível utilizar técnicas especiais de programação para criar, modificar e executar programas e procedimentos ABAP em tempo de execução. Para criar um novo programa dinâmico em tempo de execução de um programa ABAP, é necessário utilizar uma tabela interna. Para esta finalidade, pode-se criar uma tabela interna com uma única coluna de tipo de caracteres e uma largura de linha de 72 caracteres.
Exemplo:
Neste exemplo criamos um programa no qual a partir dele criamos um programa dinâmico e o executamos usando o Abap Runtime.
Abap
*&---------------------------------------------------------------------* *& Report ZDINAMICO *& *&---------------------------------------------------------------------* *& Desevolvimento Aberto *& Programa Dinamico - Tecnicas Especiais *&---------------------------------------------------------------------* REPORT ZDINAMICO. * Cria tabela interna do tipo codigo fonte Data Codigo TYPE TABLE OF rssource-LINE. * Adiciona linhas do programa na tabela interna APPEND '* Desenvolvimento Aberto' TO CODIGO. APPEND '* Dinamic program' TO CODIGO. APPEND '' TO CODIGO. APPEND '* Este programa foi criado utilizando:' TO CODIGO. APPEND '* Abap Special Techniques' TO CODIGO. APPEND '' TO CODIGO. APPEND 'REPORT ZMEUCODIGO.' TO CODIGO. APPEND '' TO CODIGO. APPEND 'WRITE : / ''Este código foi criado dinamicamente''.' TO CODIGO. APPEND 'WRITE : / ''Este programa será inserido na bibilioteca de programas''.' TO CODIGO. * Insere o programa na biblioteca INSERT REPORT 'ZMEUCODIGO' FROM CODIGO. * Executa programa em tempo de execução SUBMIT ZMEUCODIGO.