You are on page 1of 4

ABAP

ABAP (Advanced Business Application Programming) uma linguagem de programao de alto nvel desenvolvida pela empresa de software SAP. a principal linguagem utilizada no produto mais conhecido desta empresa, o SAP R/3, um software ERP. O ABAP tem uma sintaxe semelhante ao COBOL.

ndice

1 Histria 2 Onde so executados os programas ABAP 3 Exemplo 4 Tipos 5 Referncias 6 Ligaes externas

Histria
O ABAP uma linguagem de programao dentro da categoria das Linguagem de programao de quarta gerao desenvolvidas nos anos 80. Foi originalmente concebida como uma linguagem para construo de relatrios para o SAP R/2 (o significado original de ABAP Allgemeiner Berichts Aufbereitungs Prozessor, que em alemo significa processador genrico para preparao de relatrios). O objectivo original da linguagem era ser uma ferramenta de programao suficientemente simples para ser usada pelos utilizadores finais. No entanto, o ABAP uma linguagem que necessita de conhecimentos avanados de programao e principalmente utilizada pelos programadores da SAP que desenvolvem o software e por consultores informticos que adaptam o software s necessidades dos clientes. O ABAP a principal linguagem utilizada no software cliente-servidor SAP R/3. Em 1999, com a verso R/3 4.5, a SAP lanou uma verso de ABAP que suporta programao orientada a objetos.1 A verso mais recente da plataforma de desenvolvimento da SAP, o NetWeaver, suporta programao em ABAP e em Java.

Onde so executados os programas ABAP


Todos os programas de ABAP residem dentro da base de dados do SAP. No so armazenados em arquivos separados como programas de Java ou de C++. Na base de dados todo o cdigo de ABAP existe em dois formulrios: cdigo fonte, que pode ser visto e editado com as ferramentas da ABAP(workbench), e o cdigo gerado, uma representao binria comparvel com um bytecode do Java. Os programas de ABAP so executados sob um sistema de runtime, que parte do ncleo SAP. O sistema de runtime responsvel para processar indicaes de ABAP, controla a lgica do fluxo das telas e de responder pelos eventos (tais como um usurio que clica em uma tecla). Um componente chave do sistema de runtime em ABAP a relao com base de dados, que converte indicaes da base de dados independentes de ABAP (open SQL) nas

indicaes compreendidas pelo DBMS subjacente (Native SQL). A interface com a base de dados contm funcionalidades extra tais como a proteo de dados freqentemente alcanados na memria local do servidor de aplicaes. SAP tem trs camadas diferentes: a camada de apresentao (GUI), a camada de aplicao (onde so executados os programas) e a camada onde todos os dados so armazenados e recuperados das condies conduzidas aos usurios finais e programadores atravs dos nveis de programao.

Exemplo
O programa seguinte pesquisa a tabela que guarda os nomes dos pases e mostra na tela os cdigos e nomes dos pases em portugus.

A tabela T_T005T guardar os nomes dos pases

DATA: BEGIN OF T_T005T occurs 0, LAND1 TYPE T005T-LAND1, LANDX TYPE T005T-LANDX, END OF T_T005T.

Retira da base de dados os nomes dos pases em portugus e os insere na tabela interna T_T005T

SELECT LAND1 LANDX FROM T005T INTO TABLE T_T005T WHERE SPRAS = 'P'.

Ordena a tabela interna T_T005T pelo campo LAND1

SORT T_T005T BY LAND1.

Mostra na tela os cdigos e nomes dos pases.

LOOP AT T_T005T. WRITE: /05 T_T005T-LAND1, 09 T_T005T-LANDX. ENDLOOP.

Verifica se voltou resultado no SELECT

IF sy-subrc IS INITIAL.

Mensagem de sucesso

MESSAGE s001. ELSE.

Mensagem de Erro

MESSAGE e002. ENDIF.

Tipos

A tabela T_T005T guardar os nomes dos pases, com uma rea adicional de transferncia denominada "Header Line"

DATA: BEGIN OF T_T005T occurs 0, LAND1 TYPE T005T-LAND1, LANDX TYPE T005T-LANDX, END OF T_T005T.

Alternativa ao comando anterior: usar "Header Line" j obsoleto, hoje prefere-se o seguinte processo: cria-se um tipo e, a partir do tipo, cria-se uma WORK-AREA e uma tabela interna EX:

Tipo Y_T005T

Types: BEGIN OF Y_T005T, LAND1 TYPE T005T-LAND1, LANDX TYPE T005T-LANDX, END OF Y_T005T.

Work-area e Tabela interna


"Header Line (TL_T005T) "Tabela Interna

Data: ST_T005T type Y_t005T, TL_T005T Type table of Y_t005t.

Retira da base de dados os nomes dos pases em portugus e os insere na tabela interna T_T005T

SELECT LAND1 LANDX FROM T005T INTO TABLE TL_T005T WHERE SPRAS = 'P'.

Ordena a tabela interna T_T005T pelo campo LAND1.

SORT T_T005T BY LAND1.

Mostra na tela os cdigos e nomes dos pases.

LOOP AT T_T005T INTO ST_T005T. WRITE: /05 ST_T005T-LAND1, 09 ST_T005T-LANDX. ENDLOOP.

Verifica se voltou resultado no SELECT

IF sy-subrc IS INITIAL.

Mensagem de sucesso

MESSAGE s001. "Sucesso ELSE.

Mensagem de Erro

MESSAGE e002. "Nenhum registo encontrado ENDIF.

Referncias
1. Ir para cima SAP Library - ABAP Programming (BC-ABA). help.sap.com. Pgina visitada em 5 de abril de 2012.

Ligaes externas

SAP ABAP no portal SDN (SAP Developer Network) Introduo a ABAP Objects (em ingls) The ABAP Wiki Project (em ingls)