SAP ABAP - Buka Ringkasan SQL

Open SQL menunjukkan subset pernyataan ABAP yang memungkinkan akses langsung ke data di database pusat AS ABAP saat ini. Pernyataan SQL terbuka memetakan fungsionalitas Bahasa Manipulasi Data SQL di ABAP yang didukung oleh semua sistem database.

Pernyataan Open SQL diubah ke database SQL tertentu di antarmuka Open SQL dari antarmuka database. Mereka kemudian ditransfer ke sistem database dan dieksekusi. Pernyataan SQL terbuka dapat digunakan untuk mengakses tabel database yang dideklarasikan di Kamus ABAP. Database sentral AS ABAP diakses secara default dan juga akses ke database lain dimungkinkan melalui koneksi database sekunder.

Kapan pun pernyataan ini digunakan dalam program ABAP, penting untuk memeriksa apakah tindakan yang dijalankan telah berhasil. Jika seseorang mencoba memasukkan record ke dalam tabel database dan tidak disisipkan dengan benar, sangat penting untuk diketahui sehingga tindakan yang sesuai dapat diambil dalam program. Hal ini dapat dilakukan dengan menggunakan field sistem yang sudah pernah digunakan yaitu SY-SUBRC. Ketika sebuah pernyataan berhasil dijalankan, bidang SY-SUBRC akan berisi nilai 0, jadi ini dapat diperiksa dan seseorang dapat melanjutkan program jika muncul.

Pernyataan DATA digunakan untuk mendeklarasikan area kerja. Beri nama ini 'wa_customers1'. Daripada mendeklarasikan satu tipe data untuk ini, beberapa field yang menyusun tabel bisa dideklarasikan. Cara termudah untuk melakukannya adalah menggunakan pernyataan LIKE.

Pernyataan INSERT

Area kerja wa_customers1 dideklarasikan di sini SEPERTI tabel ZCUSTOMERS1, mengambil struktur yang sama tanpa menjadi tabel itu sendiri. Area kerja ini hanya dapat menyimpan satu record. Setelah dideklarasikan, pernyataan INSERT dapat digunakan untuk memasukkan area kerja dan record yang disimpannya ke dalam tabel. Kode di sini akan terbaca sebagai 'INSERT ZCUSTOMERS1 FROM wa_customers1'.

Area kerja harus diisi dengan beberapa data. Gunakan nama bidang dari tabel ZCUSTOMERS1. Ini dapat dilakukan dengan navigasi ke depan, mengklik dua kali nama tabel di kode atau dengan membuka sesi baru dan menggunakan transaksi SE11. Kolom tabel kemudian dapat disalin dan ditempelkan ke editor ABAP.

Berikut adalah potongan kodenya -

DATA wa_customers1 LIKE ZCUSTOMERS1. 
wa_customers1-customer = '100006'. 
wa_customers1-name = 'DAVE'. 
wa_customers1-title = 'MR'. 
wa_customers1-dob = '19931017'. 
INSERT ZCUSTOMERS1 FROM wa_customers1.

Pernyataan PERIKSA kemudian dapat digunakan sebagai berikut. Artinya jika record dimasukkan dengan benar, sistem akan menyatakan ini. Jika tidak, maka kode SY-SUBRC yang tidak sama dengan nol akan ditampilkan. Berikut adalah potongan kodenya -

IF SY-SUBRC = 0. 
   WRITE 'Record Inserted Successfully'.  
ELSE. 
   WRITE: 'The return code is ', SY-SUBRC. 
ENDIF.

Periksa program, simpan, aktifkan kodenya, lalu uji. Jendela keluaran akan ditampilkan sebagai 'Record Inserted Successfully'.

Pernyataan CLEAR

Pernyataan CLEAR memungkinkan kolom atau variabel dikosongkan untuk penyisipan data baru di tempatnya, memungkinkannya digunakan kembali. Pernyataan CLEAR umumnya digunakan dalam program dan memungkinkan bidang yang ada digunakan berkali-kali.

Pada potongan kode sebelumnya, struktur area kerja telah diisi dengan data untuk membuat record baru untuk dimasukkan ke dalam tabel ZCUSTOMERS1 kemudian dilakukan pengecekan validasi. Jika kita ingin memasukkan record baru, statement CLEAR harus digunakan agar dapat diisi kembali dengan data baru.

Pernyataan UPDATE

Jika Anda ingin memperbarui satu atau lebih catatan yang ada dalam tabel pada saat yang sama kemudian gunakan pernyataan UPDATE. Mirip dengan pernyataan INSERT, sebuah area kerja dideklarasikan, diisi dengan data baru yang kemudian dimasukkan ke dalam record saat program dijalankan. Catatan yang sebelumnya dibuat dengan pernyataan INSERT akan diperbarui di sini. Cukup edit teks yang disimpan di bidang NAMA dan JUDUL. Kemudian pada baris baru, struktur yang sama seperti untuk pernyataan INSERT digunakan, dan kali ini dengan menggunakan pernyataan UPDATE seperti yang ditunjukkan dalam cuplikan kode berikut -

DATA wa_customers1 LIKE ZCUSTOMERS1. 
wa_customers1-customer = '100006'. 
wa_customers1-name = 'RICHARD'. 
wa_customers1-title = 'MR'. 
wa_customers1-dob = '19931017'. 
UPDATE ZCUSTOMERS1 FROM wa_customers1.

Saat pernyataan UPDATE dijalankan, Anda dapat melihat Data Browser di Kamus ABAP untuk melihat bahwa record telah berhasil diperbarui.

Pernyataan MODIFY

Pernyataan MODIFY dapat dianggap sebagai kombinasi dari pernyataan INSERT dan UPDATE. Ini dapat digunakan untuk menyisipkan catatan baru atau mengubah catatan yang sudah ada. Ini mengikuti sintaks yang mirip dengan dua pernyataan sebelumnya dalam memodifikasi catatan dari data yang dimasukkan ke area kerja.

Ketika pernyataan ini dijalankan, field kunci yang terlibat akan diperiksa terhadap yang ada di tabel. Jika record dengan nilai field kunci ini sudah ada, itu akan diperbarui. Jika tidak, maka rekor baru akan dibuat.

Berikut adalah potongan kode untuk membuat record baru -

CLEAR wa_customers1.
 
DATA wa_customers1 LIKE ZCUSTOMERS1. 
wa_customers1-customer = '100007'. 
wa_customers1-name = 'RALPH'. 
wa_customers1-title = 'MR'. 
wa_customers1-dob = '19910921'. 
MODIFY ZCUSTOMERS1 FROM wa_customers1.

Dalam contoh ini, pernyataan CLEAR digunakan sehingga entri baru dapat dimasukkan ke dalam area kerja, dan kemudian pelanggan (nomor) 100007 ditambahkan. Karena ini adalah nilai field kunci baru yang unik, record baru akan disisipkan, dan pemeriksaan validasi lainnya dijalankan.

Ketika ini dijalankan dan data dilihat di Data Browser, rekor baru akan dibuat untuk nomor pelanggan 100007 (RALPH).

Kode di atas menghasilkan output berikut (isi tabel) -