SAP ABAP - Omówienie natywnego języka SQL
Termin „Native SQL” odnosi się do wszystkich instrukcji, które mogą być statycznie przesyłane do interfejsu Native SQL interfejsu bazy danych. Rodzime instrukcje SQL nie wchodzą w zakres języka ABAP i nie są zgodne ze składnią ABAP. ABAP zawiera jedynie instrukcje do wyodrębnienia sekcji programu, w których można wyszczególnić instrukcje Native SQL.
 
                W rodzimym języku SQL można używać głównie instrukcji SQL specyficznych dla bazy danych. Są one przesyłane bez zmian z natywnego interfejsu SQL do systemu bazy danych i wykonywane. Można użyć pełnego zakresu języka SQL odpowiedniej bazy danych, a adresowane tabele bazy danych nie muszą być deklarowane w Słowniku ABAP. Istnieje również niewielki zestaw instrukcji Native SQL specyficznych dla SAP, które są obsługiwane w określony sposób przez natywny interfejs SQL.
Aby użyć rodzimej instrukcji SQL, należy poprzedzić ją instrukcją EXEC SQL i zakończyć instrukcją ENDEXEC.
Poniżej znajduje się składnia -
EXEC SQL PERFORMING <form>.  
   <Native SQL statement> 
ENDEXEC.Te instrukcje definiują obszar w programie ABAP, w którym można wyświetlić jedną lub więcej instrukcji Native SQL. Wprowadzone instrukcje są przekazywane do interfejsu Native SQL, a następnie przetwarzane w następujący sposób:
- Wszystkie instrukcje SQL, które są ważne dla interfejsu programowego adresowanego systemu baz danych, mogą być wymienione między EXEC i ENDEXEC, w szczególności instrukcje DDL (język definicji danych). 
- Te instrukcje SQL są przekazywane z interfejsu Native SQL do systemu bazy danych w dużej mierze niezmienione. Reguły składni są określane przez system bazy danych, w szczególności reguły rozróżniania wielkości liter dla obiektów bazy danych. 
- Jeśli składnia dopuszcza separator między pojedynczymi instrukcjami, można dołączyć wiele instrukcji Native SQL między EXEC i ENDEXEC. 
- Elementy języka natywnego SQL specyficzne dla SAP można określić między EXEC i ENDEXEC. Te instrukcje nie są przekazywane bezpośrednio z interfejsu Native SQL do bazy danych, ale są odpowiednio przekształcane. 
Przykład
SPFLI to standardowa tabela SAP używana do przechowywania informacji o rozkładzie lotów. Jest to dostępne w systemach R / 3 SAP w zależności od wersji i poziomu wydania. Informacje te można wyświetlić po wprowadzeniu nazwy tabeli SPFLI do odpowiedniej transakcji SAP, takiej jak SE11 lub SE80. Możesz również wyświetlić dane zawarte w tej tabeli bazy danych, korzystając z tych dwóch transakcji.
REPORT ZDEMONATIVE_SQL. 
DATA: BEGIN OF wa,  
      connid  TYPE SPFLI-connid,
      cityfrom TYPE SPFLI-cityfrom,
      cityto  TYPE SPFLI-cityto,  
      END OF wa. 
	
DATA c1 TYPE SPFLI-carrid VALUE 'LH'. 
EXEC SQL PERFORMING loop_output.
   SELECT connid, cityfrom, cityto  
   INTO :wa  
   FROM SPFLI  
   WHERE carrid = :c1 
ENDEXEC. 
FORM loop_output.  
   WRITE: / wa-connid, wa-cityfrom, wa-cityto. 
ENDFORM.Powyższy kod daje następujące dane wyjściowe -
0400  FRANKFURT  NEW YORK 
2402  FRANKFURT  BERLIN 
0402  FRANKFURT  NEW YORK