Nel linguaggio di programmazione ABAP / 4, ci sono due tipi di SQL utilizzati.
- SQL NATIVO
- OPEN SQL.
L'SQL nativo consente di utilizzare istruzioni SQL specifiche del database in un programma ABAP / 4. Ciò significa che è possibile utilizzare tabelle di database che non sono amministrate dal dizionario ABAP e quindi integrare dati che non fanno parte del sistema R / 3.
Open SQL è costituito da un insieme di istruzioni ABAP che eseguono operazioni sul database centrale nel sistema R / 3. I risultati delle operazioni e gli eventuali messaggi di errore sono indipendenti dal sistema di database in uso. Open SQL fornisce quindi una sintassi e una semantica uniformi per tutti i sistemi di database supportati da SAP. I programmi ABAP che utilizzano solo istruzioni Open SQL funzioneranno in qualsiasi sistema R / 3, indipendentemente dal sistema di database in uso. Le istruzioni Open SQL possono funzionare solo con le tabelle di database che sono state create nel dizionario ABAP.
Comandi SQL aperti di base
- SELEZIONARE
- INSERIRE
- AGGIORNARE
- MODIFICARE
- ELIMINA
- APRI CURSORE,? FETCH,? CHIUDI CURSORE
TABELLE SBOOK.TIPO DI DATI CURSORE,WA MI PIACE SBOOK.APRIRE IL CURSORE C PER SELEZIONARE * DA SBOOK DOVE CARRID = 'LH'AND CONNID = '0400'AND FLDATE = '19950228'ORDINA PER CHIAVE PRIMARIA.FARE.FETCH NEXT CURSOR C IN WA.SE SY-SUBRC <> 0.CHIUDI CURSORE C.USCITA.FINISCI SE.SCRIVI: / WA-BOOKID, WA-CUSTOMID, WA-CUSTTYPE,WA-SMOKER, WA-LUGGWEIGHT, WA-WUNIT,WA-FATTURA.ENDDO.
Invia l'elenco dei passeggeri per il volo Lufthansa 0400 il 28-02.1995:
Codici restituiti SQL aperti
Tutte le istruzioni Open SQL riempiono i seguenti due campi di sistema con i codici di ritorno.SY-SUBRC
Dopo ogni istruzione Open SQL, il campo di sistema SY-SUBRC contiene il valore 0 se l'operazione è andata a buon fine, un valore diverso da 0 in caso contrario.
SY-DBCNT
Dopo un'istruzione Open SQL, il campo di sistema SY-DBCNT contiene il numero di righe di database elaborate.
SQL nativo
Come già accennato, Native SQL consente di utilizzare istruzioni SQL specifiche del database in un programma ABAP.Per utilizzare l'istruzione Native SQL, è necessario anteporla all'istruzione EXEC SQL e seguirla con l'istruzione ENDEXEC.
Sintassi
EXEC SQL [ESECUZIONE DI