ABAP / 4 programlama dilinde, kullanılan iki tür SQL vardır.
- YEREL SQL
- SQL'i AÇIN.
Yerel SQL, bir ABAP / 4 programında veritabanına özgü SQL ifadelerini kullanmanıza izin verir. Bu, ABAP sözlüğü tarafından yönetilmeyen veritabanı tablolarını kullanabileceğiniz ve dolayısıyla R / 3 sisteminin parçası olmayan verileri entegre edebileceğiniz anlamına gelir.
Open SQL, R / 3 sistemindeki merkezi veritabanı üzerinde işlemleri gerçekleştiren bir dizi ABAP deyiminden oluşur. İşlemlerin sonuçları ve herhangi bir hata mesajı, kullanılan veritabanı sisteminden bağımsızdır. Böylece Open SQL, SAP tarafından desteklenen tüm veritabanı sistemleri için tek tip bir sözdizimi ve anlambilim sağlar. Yalnızca Open SQL deyimlerini kullanan ABAP programları, kullanılan veritabanı sisteminden bağımsız olarak herhangi bir R / 3 sisteminde çalışacaktır. Açık SQL ifadeleri yalnızca ABAP sözlüğünde oluşturulmuş veritabanı tablolarıyla çalışabilir.
Temel Açık SQL Komutları
- SEÇ
- EKLE
- GÜNCELLEME
- DEĞİŞTİR
- SİL
- OPEN CURSOR,? FETCH,? CLOSE CURSOR
TABLOLAR KİTABI.VERİ C TİPİ İMLEÇ,WA SBOOK GİBİ.CARRID = 'LH' NEREDE SBOOK'TAN SEÇİM * İÇİN CURSOR C'yi açınVE CONNID = '0400'VE FLDATE = '19950228'BİRİNCİL ANAHTAR İLE SİPARİŞ EDİN.YAPMAK.WA'YA BİR SONRAKİ İMLEÇ C'yi FETCH.EĞER SY-SUBRC <> 0.İMLEÇİ KAPAT C.ÇIKIŞ.ENDIF.YAZIN: / WA-BOOKID, WA-CUSTOMID, WA-CUSTTYPE,WA-SMOKER, WA-LUGGWEIGHT, WA-WUNIT,WA-FATURA.ENDDO.
28-02.1995 Lufthansa 0400 sefer sayılı uçuşu için yolcu listesinin çıktısını alın:
SQL Dönüş Kodlarını Açın
Tüm Open SQL deyimleri aşağıdaki iki sistem alanını dönüş kodlarıyla doldurur.SY-SUBRC
Her Open SQL ifadesinden sonra, SY-SUBRC sistem alanı, işlem başarılıysa 0 değerini, değilse 0'dan farklı bir değeri içerir.
SY-DBCNT
Bir Open SQL ifadesinden sonra, SY-DBCNT sistem alanı işlenen veritabanı satırlarının sayısını içerir.
Yerel SQL
Daha önce belirtildiği gibi, Native SQL, bir ABAP programında veritabanına özgü SQL ifadelerini kullanmanıza izin verir.Native SQL deyimini kullanmak için, EXEC SQL deyiminden önce gelmeli ve ENDEXEC deyimini takip etmelisiniz.
Sözdizimi
EXEC SQL [PERFORMING