REPORT ZSAPeiros_a.
DATA:
BEGIN OF gt_saida OCCURS 0,
line(150) TYPE c,
END OF gt_saida.
gt_saida+0(10) = '1111111111'.
gt_saida+10(5) = '22222'.
APPEND gt_saida.
EXPORT gt_saida[] TO MEMORY ID '#SapeirosBrasil'.
CLEAR gt_saida[].
SUBMIT ZSAPeiros_b AND RETURN.
IMPORT gt_saida[] FROM MEMORY ID '#SapeirosBrasilO'.
READ TABLE gt_saida INDEX 1.
IF gt_saida+15(1) = 'X'.
WRITE: / 'Sucesso!!!'.
ENDIF.
FREE MEMORY ID '#SapeirosBrasil'.
FREE MEMORY ID '#SapeirosBrasilO'.
FREE gt_saida[].
REPORT ZSAPeiros_b.
DATA:
BEGIN OF gt_saida OCCURS 0,
line(150) TYPE c,
END OF gt_saida.
IMPORT gt_saida[] FROM MEMORY ID '#SapeirosBrasil'.
READ TABLE gt_saida INDEX 1.
gt_saida+15(1) = 'X'.
MODIFY gt_saida INDEX 1.
EXPORT gt_saida[] TO MEMORY ID '#SapeirosBrasilO'.
Conteúdo
Exportar e Importar valores para/da memória
Existem algumas ocasiões que não é possível receber valores, seja tabelas, variáveis, etc. Neste caso existe uma maneira de exportar os dados para memória e receber de volta os mesmos dados. Isto é comumente utilizado quando um programa A chama um programa B, e este programa B precisa de alguma variável, tabela, etc, do programa A. Lembrando que a memória é na sessão, portanto, se você deslogar ou entrar em outra sessão, não vai ter o este valor em memória. Neste exemplo vamos exportar e importar o conteúdo de uma tabela.