Na linguagem de programação ABAP / 4, existem dois tipos de SQL sendo usados.
- NATIVE SQL
- ABRIR SQL.
O SQL nativo permite que você use instruções SQL específicas do banco de dados em um programa ABAP / 4. Isso significa que você pode usar tabelas de banco de dados que não são administradas pelo dicionário ABAP e, portanto, integrar dados que não fazem parte do sistema R / 3.
O SQL aberto consiste em um conjunto de instruções ABAP que executam operações no banco de dados central do sistema R / 3. Os resultados das operações e quaisquer mensagens de erro são independentes do sistema de banco de dados em uso. O Open SQL, portanto, fornece uma sintaxe e semântica uniformes para todos os sistemas de banco de dados suportados pelo SAP. Os programas ABAP que usam apenas instruções Open SQL funcionarão em qualquer sistema R / 3, independentemente do sistema de banco de dados em uso. As instruções Open SQL só podem funcionar com tabelas de banco de dados que foram criadas no dicionário ABAP.
Comandos básicos de Open SQL
- SELECIONE
- INSERIR
- ATUALIZAR
- MODIFICAR
- EXCLUIR
- ABRIR CURSOR,? FETCH,? FECHAR CURSOR
TABLES SBOOK.CURSOR DE TIPO DE DADOS C,WA LIKE SBOOK.ABRIR O CURSOR C PARA SELECIONAR * NO LIVRO ONDE CARRID = 'LH'AND CONNID = '0400'AND FLDATE = '19950228'ORDEM POR CHAVE PRIMÁRIA.FAZ.BUSQUE O PRÓXIMO CURSOR C NO WA.SE SY-SUBRC <> 0.FECHAR CURSOR C.SAÍDA.FIM SE.ESCREVER: / WA-BOOKID, WA-CUSTOMID, WA-CUSTTYPE,WA-SMOKER, WA-LUGGWEIGHT, WA-WUNIT,WA-INVOICE.ENDDO.
Envie a lista de passageiros para o voo 0400 da Lufthansa em 28/02/1995:
Códigos de retorno SQL abertos
Todas as instruções Open SQL preenchem os dois campos do sistema a seguir com códigos de retorno.SY-SUBRC
Após cada instrução Open SQL, o campo do sistema SY-SUBRC contém o valor 0 se a operação foi bem-sucedida, um valor diferente de 0 se não foi.
SY-DBCNT
Após uma instrução Open SQL, o campo do sistema SY-DBCNT contém o número de linhas do banco de dados processadas.
SQL nativo
Como já mencionado, o SQL nativo permite que você use instruções SQL específicas do banco de dados em um programa ABAP.Para usar a instrução SQL nativa, você deve precedê-la com a instrução EXEC SQL e, em seguida, a instrução ENDEXEC.
Sintaxe
EXEC SQL [PERFORMING