SAP – Presentation Server – Functions – Download e GUI_Download – Abap

Publicado: 8 de agosto de 2014 em Abap

Para gravar dados a partir de uma tabela interna para o servidor de apresentação usando um diálogo de usuário, use a função de Download. Para gravar dados de uma tabela interna para o servidor de apresentação sem o uso de uma caixa de diálogo do usuário, use a função WS_DOWNLOAD. Para mais informações, consulte a documentação do módulo de função (SE37).

Contudo o sistema SAP possui grande quantidade de funções obsoletas que ainda funcionam por compatibilidade com versões de programas mais antigos, a função Download é uma delas, você pode substituir esta função pela função chamada GUI_DOWNLOAD.

Exporta para XLS

Exporta para XLS

GUI_DOWNLOAD: http://help.sap.com/saphelp_nw70ehp2/helpdata/de/c7/5ab8ec178c44a8aacd1dcac3460db8/content.htm

Exemplo:

Neste exemplo extraímos dados de uma tabela interna em um arquivo Excel e o salvamos no computador local.

Abap

Function : DOWNLOAD

*&---------------------------------------------------------------------*
*& Report  ZDATASERVER
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& Escreve dados no servidor de apresentação
*&---------------------------------------------------------------------*

REPORT  ZDATASERVER.

* Declara Variáveis
DATA: FNOME(128), FTIPO(3), FTAMANHO TYPE I.

* Cria tabela com duas colunas
TYPES: BEGIN OF LINE,
  COL1 TYPE I,
  COL2 TYPE I,
END OF LINE.

* Cria Tabela temporaria
TYPES ITAB TYPE LINE OCCURS 15.
DATA: LIN  TYPE LINE, TAB TYPE ITAB.

* Cria e adiciona dados a tabela
DO 15 TIMES.
  LIN-COL1 = SY-INDEX.
  LIN-COL2 = SY-INDEX ** 2.
  APPEND LIN TO TAB.
ENDDO.

* Chama a função de download
* Dat cria tipo do Excel
CALL FUNCTION 'DOWNLOAD'
  EXPORTING
    CODEPAGE            = 'IBM'
    FILENAME            = 'C:\Desenvolvimento Aberto\temp\Planilha.xls'
    FILETYPE            = 'DAT'
    ITEM                = 'Teste Excel'
  IMPORTING
    ACT_FILENAME        = FNOME
    ACT_FILETYPE        = FTIPO
    FILESIZE            = FTAMANHO
  TABLES
    DATA_TAB            = TAB
  EXCEPTIONS
    INVALID_FILESIZE    = 1
    INVALID_TABLE_WIDTH = 2
    INVALID_TYPE        = 3.

* Imprime resultado
WRITE: 'SY-SUBRC:', SY-SUBRC,
     / 'Nome :', (60) FNOME,
     / 'Tipo :', FTIPO,
     / 'Tamanho :', FTAMANHO.

WRITE : / 'Conteudo do arquivo:', /.
LOOP AT tab INTO lin.
   WRITE : / LIN-COL1 COLOR 3 INVERSE,
             LIN-COL2 COLOR 3 INVERSE.
ENDLOOP.

Function : GUI_DOWNLOAD

*&---------------------------------------------------------------------*
*& Report  ZDATASERVER2
*&
*&---------------------------------------------------------------------*
*& Desenvolvimento Aberto
*& GUI_DOWNLOAD
*&---------------------------------------------------------------------*

REPORT  ZDATASERVER2.
* Declara Variáveis
DATA:  FTAMANHO TYPE I.

* Cria tabela com duas colunas
TYPES: BEGIN OF LINE,
  COL1 TYPE I,
  COL2 TYPE I,
END OF LINE.

* Cria Tabela temporaria
TYPES ITAB TYPE LINE OCCURS 15.
DATA: LIN  TYPE LINE, TAB TYPE ITAB.

* Cria e adiciona dados a tabela
DO 15 TIMES.
  LIN-COL1 = SY-INDEX.
  LIN-COL2 = SY-INDEX ** 2.
  APPEND LIN TO TAB.
ENDDO.

* Chama a função de download
* Dat cria tipo do Excel
CALL FUNCTION 'GUI_DOWNLOAD'
  EXPORTING
    FILENAME   = 'C:\Desenvolvimento Aberto\temp\Planilha2.xls'
    FILETYPE   = 'DAT'
  IMPORTING
    FILELENGTH = FTAMANHO
  TABLES
    DATA_TAB   = TAB.

* Imprime resultado
WRITE: 'SY-SUBRC:', SY-SUBRC,
     / 'Tamanho :', FTAMANHO.

WRITE : / 'Conteudo do arquivo:', /.
LOOP AT tab INTO lin.
  WRITE : / LIN-COL1 COLOR 3 INVERSE,
            LIN-COL2 COLOR 3 INVERSE.
ENDLOOP.
Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

w

Conectando a %s