ABAP (Bisnis Application Programming Advanced, awalnya Allgemeiner
Berichts-Aufbereitungs-Prozessor, bahasa Jerman untuk "prosesor
pembuatan laporan umum" ),
adalah tingkat tinggi bahasa pemrograman
yang dibuat oleh SAP perusahaan software Jerman. Saat ini diposisikan, di
samping Jawa baru-baru ini
diperkenalkan, sebagai bahasa pemrograman untuk Server
Aplikasi SAP, bagian
dari platform NetWeaver untuk
membangun aplikasi bisnis. Sintaks dari ABAP agak
mirip dengan COBOL.
ABAP adalah salah satu aplikasi khusus banyak generasi keempat bahasa (4GLs) pertama kali dikembangkan
pada tahun 1980an. Awalnya bahasa laporan untuk SAP
R / 2, sebuah platform yang memungkinkan perusahaan-perusahaan besar
untuk membangun aplikasi mainframe
bisnis untuk pengelolaan bahan dan akuntansi keuangan dan manajemen.
ABAP dulu singkatan
dari Allgemeiner Berichtsaufbereitungsprozessor,
arti Jerman "prosesor persiapan laporan generik",
tapi kemudian diganti namanya menjadi Advanced
Business Application Programming. ABAP adalah salah satu
bahasa pertama yang memasukkan
konsep Logical Database (LDBs), yang menyediakan tingkat tinggi
abstraksi dari database tingkat dasar (s).
Bahasa pemrograman ABAP ini awalnya
digunakan oleh pengembang untuk
mengembangkan SAP R / 3 platform. Hal itu juga dimaksudkan
untuk digunakan oleh pelanggan
SAP untuk meningkatkan aplikasi SAP
- pelanggan dapat mengembangkan laporan kustom dan antarmuka dengan pemrograman ABAP. Bahasa ini cukup mudah dipelajari bagi programmer tetapi tidak alat untuk pemanfaatan langsung oleh non-programmer. Pengetahuan tentang
desain database relasional dan lebih disukai juga berorientasi obyek konsep diperlukan untuk
membuat program ABAP.
ABAP tetap sebagai
bahasa untuk membuat program untuk
R client-server / 3 sistem,
yang SAP pertama kali dirilis pada tahun 1992. Sebagai perangkat keras
komputer berkembang melalui tahun
1990-an, semakin banyak aplikasi
SAP dan sistem ditulis
dalam bahasa ABAP. Pada tahun 2001,
tapi semua fungsi
yang paling dasar yang ditulis
dalam bahasa ABAP. Pada tahun 1999, SAP merilis sebuah ekstensi berorientasi obyek untuk ABAP disebut ABAP
Objects, bersama dengan R / 3 rilis 4.6.
Saat ini pengembangan SAP NetWeaver platform mendukung ABAP
dan Java.
Semua program ABAP berada di dalam database SAP. Mereka tidak disimpan dalam
file eksternal yang terpisah seperti Java atau C + + program. Dalam database
semua kode ABAP ada dalam dua bentuk: source code, yang dapat dilihat dan
diedit dengan alat Workbench ABAP, dan kode yang dihasilkan, representasi biner
agak sebanding dengan Java bytecode. Program ABAP mengeksekusi di bawah kendali
sistem runtime, yang merupakan bagian dari kernel SAP. Sistem runtime
bertanggung jawab untuk memproses pernyataan ABAP, mengendalikan aliran logika
layar dan menanggapi peristiwa (seperti pengguna mengklik pada tombol layar);
dalam hal ini dapat dilihat sebagai Mesin Virtual sebanding dengan Java VM.
Sebuah komponen kunci dari sistem runtime ABAP adalah Interface Database, yang
mengubah database-independen pernyataan ABAP ("Open SQL") ke dalam
laporan dipahami oleh DBMS yang mendasari ("SQL asli"). Antarmuka
database menangani semua komunikasi dengan database relasional atas nama
program ABAP, tetapi juga berisi fitur tambahan seperti buffering tabel dan
data yang sering diakses dalam memori lokal dari server aplikasi.
Lingkungan bahasa ABAP, termasuk pemeriksaan sintaks, pembuatan kode dan sistem
runtime, adalah bagian dari komponen Dasar SAP / lapisan. Dasar SAP adalah
platform teknologi yang mendukung seluruh rentang aplikasi SAP, sekarang
biasanya diimplementasikan dalam kerangka Web Application Server SAP. Dalam
arti bahwa SAP Dasar dapat dilihat sebagai mesin virtual yang menjalankan
aplikasi SAP. Seperti sistem operasi, Dasar SAP berisi tingkat rendah jasa
(untuk manajemen memori misalnya, komunikasi database atau permintaan Web
servis) dan tingkat tinggi alat bagi pengguna akhir dan administrator. Alat ini
dapat menjadi executable ("SAP kernel") berjalan langsung pada sistem
operasi yang mendasari, transaksi dikembangkan di ABAP, atau berbasis web
program.
Dasar SAP juga menyediakan lapisan abstraksi antara aplikasi bisnis dan sistem
operasi dan database. Hal ini memastikan bahwa aplikasi tidak langsung
tergantung pada server tertentu atau platform database dan dapat dengan mudah
porting dari satu platform yang lain.
Dasar SAP saat ini berjalan pada UNIX (AIX, HP-UX, Solaris, Linux), Microsoft
Windows, i5/OS pada IBM System i (sebelumnya iSeries, AS/400) dan z / OS pada
IBM System z (sebelumnya zSeries, S / 390). Database yang didukung adalah IBM
DB2, Informix, MaxDB, Oracle dan Microsoft SQL Server (dukungan untuk Informix
dihentikan pada rilis Dasar SAP 7.00).
Semua data SAP ada dan semua perangkat lunak SAP berjalan dalam konteks sistem
SAP. Sebuah sistem terdiri dari sebuah database relasional pusat dan server
aplikasi satu atau lebih ("kasus") mengakses data dan program dalam
database ini. Sebuah sistem SAP berisi setidaknya satu contoh tetapi mungkin
berisi lebih, sebagian besar karena alasan ukuran dan kinerja. Dalam sistem
dengan beberapa contoh, beban mekanisme balancing memastikan bahwa beban
tersebar merata di atas server aplikasi yang tersedia.
Instalasi dari Server Aplikasi Web (lanskap) biasanya terdiri dari tiga sistem:
satu untuk pembangunan, satu untuk pengujian dan jaminan mutu, dan satu untuk
produksi. Pemandangan mungkin berisi lebih banyak sistem, misalnya sistem yang
terpisah untuk pengujian unit dan pengujian pra-produksi, atau mungkin berisi
lebih sedikit, misalnya pengembangan saja dan produksi, tanpa QA terpisah;
namun tiga adalah konfigurasi yang paling umum. Program ABAP diciptakan dan
menjalani tes pertama dalam sistem pembangunan. Setelah itu mereka
didistribusikan ke sistem lain dalam lanskap. Tindakan ini dilakukan di bawah
kontrol dari Sistem Perubahan dan Transportasi (CTS), yang bertanggung jawab
untuk kontrol konkurensi (misalnya mencegah dua pengembang dari mengubah kode
yang sama pada saat yang sama), versi manajemen dan penyebaran program pada
sistem QA dan produksi .
Web Application Server terdiri dari tiga lapisan: lapisan database, lapisan
aplikasi dan lapisan presentasi. Lapisan ini dapat berjalan pada yang sama atau
pada mesin fisik yang berbeda. Lapisan database berisi database relasional dan
perangkat lunak database. Pengetahuan lapisan aplikasi berisi contoh atau
contoh dari sistem. Semua proses aplikasi, termasuk transaksi bisnis dan
pengembangan ABAP, berjalan pada lapisan aplikasi. Lapisan presentasi menangani
interaksi dengan pengguna sistem. Online akses ke server aplikasi ABAP dapat
pergi melalui antarmuka grafis proprietary, yang disebut "SAP GUI",
atau melalui Web browser.
Otentikasi ke ABAP sistem
Ada empat pendekatan umum untuk otentikasi ke dalam sistem ABAP:
·
Aman Jaringan Komunikasi
ABAP juga
informal dikenal sebagai Seperti Balla Sebagai Kemungkinan.
Transaksi
Sebuah transaksi di SAP terminologi adalah pelaksanaan program. Cara normal
mengeksekusi kode ABAP di sistem SAP adalah dengan memasukkan kode transaksi
(misalnya, VA01 adalah kode transaksi untuk "Create Sales Order").
Transaksi dapat dipanggil melalui ditentukan sistem atau menu berbasis
peran-pengguna tertentu,. Mereka juga dapat dimulai dengan memasukkan kode
transaksi langsung ke lapangan perintah, yang hadir dalam setiap layar SAP.
Transaksi juga dapat dipanggil pemrograman melalui laporan ABAP HUBUNGI
TRANSAKSI dan TINGGALKAN UNTUK TRANSAKSI.
The "transaksi" Istilah tidak boleh salah paham
di sini, dalam konteks jelaskan, transaksi hanya berarti memanggil dan
mengeksekusi program ABAP. Dalam pemrograman aplikasi, "transaksi"
sering merujuk pada operasi terbagi pada data, yang baik dilakukan sebagai
(kembali digulung) keseluruhan atau dibatalkan secara keseluruhan. Konsep ini
ada dalam SAP dan disebut LUW (Logical Unit Kerja). Dalam perjalanan satu
transaksi (eksekusi program), bisa ada LUWs berbeda. Transaksi ABAP Workbench
dapat dipanggil menggunakan kode transaksi SE80 untuk bekerja pada semua
kegiatan yang berkaitan ABAP.
Seperti dalam bahasa pemrograman lain, program ABAP
adalah salah unit eksekusi atau perpustakaan, yang menyediakan kode dapat
digunakan kembali ke program lain dan tidak mandiri dieksekusi.
ABAP
membedakan dua jenis program dieksekusi:
Laporan mengikuti model pemrograman yang relatif sederhana dimana pengguna
opsional memasuki set parameter (misalnya pilihan atas subset data) dan program
ini kemudian menggunakan parameter input untuk menghasilkan laporan dalam
bentuk daftar yang interaktif. "Laporan" istilah bisa agak
menyesatkan dalam laporan yang juga dapat dirancang untuk memodifikasi data,
alasan mengapa program ini disebut laporan adalah "daftar berorientasi"
dari output yang mereka hasilkan.
Kolam Modul mendefinisikan pola yang lebih kompleks dari
interaksi pengguna menggunakan koleksi layar. The "layar" mengacu ke
gambar, sebenarnya fisik yang pengguna melihat. Setiap layar juga memiliki
"logika aliran", yang mengacu pada kode ABAP implisit dipanggil oleh
layar. Setiap layar memiliki aliran sendiri logika, yang terbagi menjadi
"PBO" (Proses Sebelum Output) dan "PAI" (Proses Setelah
Input) bagian. Dalam dokumentasi SAP istilah "dynpro" (program
dinamis) mengacu pada kombinasi layar dan logika alirannya.
Non-executable jenis program adalah:
Modul TERMASUK akan disertakan pada saat generasi ke unit
menelepon, sering digunakan untuk membagi program yang sangat besar. Kolam
subroutine subrutin mengandung ABAP (blok kode tertutup oleh FORMULIR / ENDFORM
pernyataan dan dipanggil dengan PERFORM). Fungsi kelompok adalah perpustakaan
mandiri modul fungsi (tertutup oleh FUNGSI / endfunction dan dipanggil dengan
FUNGSI CALL). Obyek kelas dan interface mirip dengan kelas Java dan interface,
yang pertama mendefinisikan satu set metode dan atribut, yang kedua berisi
definisi metode "kosong", yang setiap kelas yang mengimplementasikan
antarmuka harus menyediakan kode eksplisit. Jenis kolam mendefinisikan koleksi
jenis data dan konstanta.
Workbench ABAP berisi alat yang berbeda
untuk pengeditan program. Yang paling penting dari ini adalah (kode transaksi
akan ditampilkan dalam tanda kurung):
·
Editor
ABAP untuk menulis dan mengedit laporan, kolam modul, mencakup dan kolam
subrutin (SE38)
·
ABAP
Dictionary untuk definisi tabel database pengolahan dan jenis global yang
mengambil (SE11)
· Menu
Painter untuk merancang user interface (menu bar, toolbar standar, toolbar
aplikasi, fungsi ,tugas kunci) (SE41)
·
Layar
Painter untuk merancang layar dan logika aliran (SE51)
·
Fungsi
Builder untuk modul fungsi (SE37)
·
Kelas
Builder untuk kelas ABAP Objects dan interface (SE24)
Navigator Obyek (transaksi SE80) menyediakan antarmuka
tunggal terintegrasi ke dalam berbagai alat.
Kamus ABAP berisi semua metadata tentang data dalam
sistem SAP. Hal ini terkait erat dengan Workbench ABAP dalam setiap referensi
untuk data (misalnya tabel, view, tipe data, dll) akan diperoleh dari kamus.
Pengembang menggunakan transaksi Kamus ABAP (langsung atau melalui Navigator
Obyek SE80 dalam ABAP Workbench) untuk menampilkan dan memelihara metadata ini.
Jika benda kamus berubah, sebuah program yang referensi
objek yang berubah secara otomatis akan referensi versi baru pada saat program
berjalan. Karena ABAP ditafsirkan, tidak perlu mengkompilasi ulang program yang
referensi berubah objek kamus.
Sebuah deskripsi singkat dari jenis yang
paling penting dari objek kamus berikut:
1. Tabel adalah data kontainer yang ada dalam database
relasional yang mendasari. Dalam sebagian besar kasus ada hubungan 1-ke-1
antara definisi meja di Kamus ABAP dan definisi meja yang sama dalam database
(nama yang sama, kolom yang sama). Tabel ini dikenal sebagai
"transparan". Ada dua jenis non-transparan tabel:
"dikumpulkan" tabel ada sebagai entitas independen dalam Kamus ABAP
tetapi mereka dikelompokkan bersama dalam tabel fisik yang besar
("kolam") pada tingkat database. Tabel Pemusatan sering meja kecil
untuk memegang data konfigurasi misalnya. "Clustered" tabel secara
fisik dikelompokkan dalam "cluster" berdasarkan kunci utama mereka,
misalnya, menganggap bahwa meja H berkerumun berisi "header" data
tentang faktur penjualan, sedangkan meja lain D berkerumun memegang item baris
faktur. Setiap baris dari H kemudian akan dikelompokkan secara fisik dengan
baris terkait dari D di dalam tabel "cluster" dalam database. Jenis
clustering, yang dirancang untuk meningkatkan kinerja, juga ada sebagai fungsi
asli dalam beberapa, meskipun tidak semua, sistem database relasional.
2. Indeks menyediakan akses dipercepat untuk data tabel
untuk kondisi seleksi yang sering digunakan. Setiap tabel SAP memiliki
"indeks utama", yang diciptakan secara implisit bersama dengan meja
dan digunakan untuk menegakkan keunikan primary key. Indeks tambahan (unik atau
non-unik) dapat didefinisikan; ini disebut "indeks sekunder".
3. Tampilan memiliki tujuan yang sama seperti dalam
database: mereka menentukan subset dari kolom (dan / atau baris) dari satu atau
- menggunakan kondisi join - beberapa tabel. View sebenarnya adalah tabel
virtual yang tidak berisi data secara fisik. Tampilan mengambil ruang memori
yang sangat singkat dalam database karena pandangan hanya berisi definisi data.
4. Struktur adalah tipe data kompleks yang
terdiri dari beberapa bidang (sebanding dengan struct di C / C + +).
5. Elemen data menyediakan konten semantik untuk tabel atau
bidang struktur. Sebagai contoh, puluhan tabel dan struktur mungkin berisi
bidang yang memberikan harga (produk jadi, bahan baku, sumber daya, ...). Semua
bidang ini bisa memiliki elemen data yang sama "HARGA".
6. Domain mendefinisikan karakteristik struktural dari
elemen data. Sebagai contoh, HARGA elemen data bisa memiliki domain ditugaskan
yang mendefinisikan harga sebagai bidang numerik dengan dua desimal. Domain
juga dapat melakukan isi semantik dalam menyediakan daftar nilai yang mungkin.
Misalnya, domain "boolean" bisa menentukan bidang ketik "karakter"
dengan panjang 1 dan case-insensitive, tetapi juga akan membatasi nilai yang
mungkin untuk "T" (benar) atau "F" (palsu).
7. Pencarian akan membantu (penerus ke
"matchcodes" sekarang usang) memberikan strategi pencarian lanjutan
bila pengguna ingin melihat nilai yang mungkin untuk bidang data. Runtime ABAP
memberikan bantuan implisit (dengan membuat daftar semua nilai untuk lapangan,
misalnya semua nomor pelanggan yang sudah ada), tetapi pencarian akan membantu
dapat digunakan untuk memperbaiki fungsi ini, misalnya dengan menyediakan
pencarian pelanggan dengan lokasi geografis, peringkat kredit, dll.
8. Kunci objek mengimplementasikan aplikasi-level
locking ketika mengubah data.
Ini penjelasan singkat dari sintaks ABAP dimulai
pasti dengan program "Hello World".
Contoh ini berisi dua pernyataan: LAPORAN dan MENULIS. Program
ini menampilkan daftar di layar.
Dalam hal ini, daftar terdiri dari garis tunggal "Hello
World". Pernyataan LAPORAN menunjukkan bahwa program ini adalah laporan. Sebuah pernyataan alternatif, PROGRAM, akan
digunakan untuk kolam modul.
Format aturan
Aturan format dasar dari ABAP adalah sederhana:
Setiap pernyataan ABAP harus diakhiri dalam suatu
periode
Token dalam sebuah pernyataan harus dipisahkan oleh
setidaknya satu ruang
Sebuah akhir baris setara dengan spasi
Pernyataan dan kata kunci yang tidak case-sensitive
"Hello World" dapat ditulis ulang secara hukum sebagai berikut:
Laporan pengujian. MENULIS
'Hello World'.
Untuk memastikan kode yang dapat dibaca, editor ABAP menyediakan "Printer
Cukup" fungsi, yang menangani lekukan yang tepat. Pencetak Cukup juga
menawarkan pilihan antara beberapa model standarisasi kasus (huruf besar semua,
semua huruf kecil, huruf besar untuk laporan / kata kunci, huruf besar untuk
nama variabel).
Jika teks literal dalam pernyataan
ABAP meluas di lebih
dari satu baris, maka '&' karakter
harus digunakan untuk menggabungkan
suksesi literal teks
ke dalam satu. contoh:
USERPROMPT = 'Silakan klik ganda pada sebuah baris dalam daftar keluaran' &
'untuk melihat rincian lengkap transaksi.'.
Aturan bahwa token harus dipisahkan oleh setidaknya satu ruang bahkan meluas ke operator, kurung dan simbol lainnya. Sebagai contoh kode berikut salah:
Nama-nama variabel (X, A, B, C), 2 konstanta numerik, operator "=",
"+" dan "-" dan kurung semua harus putih-ruang terbatas. Kode yang
benar adalah:
Laporan berturut-turut dengan bagian pertama identik (paling kiri) dapat
dikombinasikan menjadi sebuah pernyataan "dirantai" menggunakan
operator rantai ":" (kolon). Bagian umum dari laporan ditulis di
sebelah kiri usus besar, bagian-bagian berbeda yang ditulis di sebelah kanan
usus besar dan dipisahkan dengan koma. Operator usus besar terpasang langsung
ke token sebelumnya, tanpa spasi (sama berlaku untuk koma dalam daftar tanda di
sebelah kanan, seperti terlihat pada contoh di bawah).
Chaining sangat sering digunakan dalam laporan MENULIS. MENULIS menerima hanya
satu argumen, jadi jika misalnya Anda ingin menampilkan tiga bidang dari sebuah
struktur yang disebut FLIGHTINFO, Anda harus kode:
MENULIS FLIGHTINFO-CITYFROM.
MENULIS FLIGHTINFO-CITYTO.
MENULIS FLIGHTINFO-AIRPTO.
Chaining laporan hasil dalam bentuk yang lebih mudah dibaca dan lebih intuitif:
MENULIS: FLIGHTINFO-CITYFROM, FLIGHTINFO-CITYTO, FLIGHTINFO-AIRPTO.
Dalam pernyataan rantai, bagian pertama (sebelum usus besar) tidak terbatas pada
nama pernyataan saja. Bagian umum seluruh laporan berturut-turut dapat
ditempatkan sebelum usus besar. contoh:
REPLACE 'A' DENGAN 'B' INTO LastName.
REPLACE 'A' DENGAN 'B' INTO FIRSTNAME.
REPLACE 'A' DENGAN 'B' INTO CITYNAME.
bisa ditulis ulang dalam bentuk dirantai sebagai:
REPLACE 'A' DENGAN 'B' INTO: LastName, FirstName, CITYNAME.
Komentar
ABAP memiliki 2 cara untuk mendefinisikan teks sebagai komentar:
·
Sebuah tanda bintang (*) dalam kolom paling kiri dari
garis membuat seluruh baris komentar
·
Tanda kutip ganda (") di mana saja pada baris
membuat seluruh baris yang komentar
contoh:
***************************************
** Program: PEMESANAN **
** Penulis: Joe Byte, 07-Jul-2007 **
***************************************
LAPORAN PEMESANAN.
* Baca pemesanan tiket pesawat dari database
WHERE "CLASS = 'Y' Y = ekonomi
ATAU KELAS = 'C'. "C = bisnis
(...)
Jenis data dan variabel
ABAP
menyediakan satu set built-in tipe data. Selain itu, setiap elemen struktur,
tabel, view atau data yang didefinisikan dalam Kamus ABAP dapat digunakan untuk
mengetik variabel. Juga, objek kelas dan interface dapat digunakan sebagai
jenis.
Built-in tipe data adalah:
jenis Deskripsi
I Integer (4-byte)
P Dikemas desimal
F Mengambang titik
N Karakter numerik
C Karakter
D Tanggal
T Waktu
X Heksadesimal (byte
mentah)
STRING Variabel-panjang string
XSTRING Variable-length array byte mentah
Tanggal variabel atau konstanta
(tipe D) mengandung jumlah hari sejak 1 Januari AD 1. Waktu variabel atau konstanta
(tipe T) mengandung jumlah detik sejak tengah malam. Karakteristik khusus dari
kedua jenis adalah bahwa mereka dapat diakses baik sebagai bilangan bulat dan
sebagai string karakter (dengan format internal "YYYYMMDD" untuk
tanggal dan "hhmmss" untuk kali), yang membuat tanggal / waktu
penanganan sangat mudah. Misalnya, potongan kode di bawah menghitung hari
terakhir dari bulan sebelumnya (catatan: SY-datum adalah sistem yang ditetapkan
variabel berisi tanggal saat ini):
DATA TYPE LAST_EOM D. "terakhir akhir-bulan tanggal
* Mulai dari tanggal hari ini
* Mengatur karakter 6 dan 7
(0-relatif) dari string YYYYMMDD ke "01",
* Memberikan hari pertama bulan
berjalan
MENULIS: 'hari
terakhir dari bulan sebelumnya, LAST_EOM.
Semua variabel ABAP harus secara eksplisit dinyatakan untuk digunakan. Biasanya
semua deklarasi ditempatkan di bagian atas kode modul (program, subrutin,
fungsi) sebelum pernyataan dieksekusi pertama, penempatan ini adalah konvensi
dan bukan aturan sintaks ditegakkan. Deklarasi ini terdiri dari panjang, jenis
nama, (jika ada), pengubah tambahan (misalnya jumlah desimal tersirat untuk
bidang desimal dikemas) dan opsional nilai awal:
VALIDITAS
JENIS saya nilai 60,
TAXRATE
(3) desimal P TIPE 1,
DATA: T_FLIGHTS JENIS DAFTAR
FLIGHTINFO,JENIS T_LOOKUP hashed DAFTAR FLT_LOOKUP.
DATA: PEMESANAN JENIS KE REF
CL_FLT_BOOKING.
Perhatikan penggunaan usus
besar untuk rantai bersama laporan berturut-turut DATA.
Bahasa ABAP mendukung pemrograman berorientasi obyek,
melalui fitur yang dikenal sebagai "Objek ABAP". Hal ini membantu
untuk menyederhanakan aplikasi dan membuat mereka lebih terkendali.
ABAP Objects sepenuhnya kompatibel dengan bahasa yang ada, sehingga seseorang
dapat menggunakan pernyataan yang ada dan unit modularisasi dalam program yang
menggunakan ABAP Objects, dan juga dapat menggunakan ABAP Objects dalam program
ABAP yang ada. Memeriksa sintaks lebih kuat dalam program ABAP Objects, dan
beberapa bentuk sintaksis (yang biasanya lebih tua) laporan tertentu tidak
diizinkan.
ABAP
pernyataan - gambaran umum
Berbeda dengan bahasa seperti C / C + + atau Java, yang
mendefinisikan seperangkat terbatas bahasa spesifik pernyataan dan menyediakan
fungsionalitas yang paling melalui perpustakaan, ABAP berisi tubuh yang luas
built-in laporan. Laporan sering mendukung banyak pilihan, yang menjelaskan
mengapa program ABAP terlihat "verbose", terutama bila dibandingkan
dengan program yang ditulis dalam C, C + + atau Java.
Bagian ini berisi daftar beberapa pernyataan yang paling
penting dalam bahasa, dibagi oleh fungsi. Kedua laporan tercantum di sini dan
subdivisi yang digunakan adalah cukup sewenang-wenang dan tidak berarti
lengkap.
Laporan mendefinisikan tipe data atau menyatakan objek
data yang digunakan oleh laporan lain dalam sebuah program atau rutin. Laporan
deklaratif dikumpulkan dalam sebuah program atau rutin membuat bagian
deklarasi.
Contoh
pernyataan deklaratif:
JENIS, DATA, KONSTANTA, PARAMETER, SELECT-PILIHAN, TABEL
Laporan mendefinisikan blok pengolahan dalam program
ABAP.
Laporan
modularisasi dapat dibagi lagi ke dalam laporan kejadian dan laporan
mendefinisikan:
Acara pernyataan
Ini digunakan untuk menentukan awal blok pengolahan
acara. Tidak ada pernyataan khusus untuk menandai akhir dari blok tersebut -
mereka berakhir ketika blok pengolahan berikutnya diperkenalkan.
Contoh kata kunci acara adalah:
Inisialisasi, AT OUTPUT LAYAR SELEKSI, AT LAYAR SELEKSI
PADA LAPANGAN, AT LAYAR SELEKSI PADA BLOK,AT LAYAR SELEKSI, START-OF-SELEKSI
AKHIR-OF-SELECTION, AT-COMMAND USER, AT LINE-SELEKSI
Mendefinisikan laporan
Laporan menggambarkan unit kode seperti callable
subrutin, fungsi modul dan metode. Pernyataan menandai akhir unit memiliki nama
dari pernyataan pembukaan diawali dengan "END".
Contoh
mendefinisikan kata kunci:
FORMULIR ..... ENDFORM, FUNGSI ... Endfunction,MODUL ...
Endmodule, METODE ... ENDMETHOD
Laporan mengontrol aliran program dalam blok pengolahan.
Laporan
mengendalikan eksekusi bersyarat adalah:
JIKA ... Elseif ... ELSE ... Endif
LIHAT
Pernyataan TARIF memverifikasi kondisi dan keluar blok pengolahan saat ini
(loop misalnya atau subroutine) jika kondisi ini tidak puas.
Ada beberapa pernyataan untuk
mendefinisikan lingkaran:
DO / ENDDO mendefinisikan loop tanpa syarat. Sebuah
kondisi keluar (biasanya dalam bentuk "JIKA <condition>. EXIT
ENDIF..") Harus disediakan di dalam tubuh dari loop. Sebuah varian (DO
<n> KALI) menetapkan sebagai kondisi keluar berapa kali tubuh loop
dijalankan. SAAT / ENDWHILE mendefinisikan loop bersyarat. Kondisi ini diuji
pada awal loop. LOOP / ENDLOOP loop atas baris tabel internal. Perulangan
berhenti setelah pengolahan baris terakhir dari tabel internal.
Laporan menyebut blok pengolahan didefinisikan menggunakan laporan modularisasi
yang sesuai. Blok dapat menjadi dalam program ABAP yang sama atau dalam program
yang berbeda.
Contoh kata kunci panggilan:
PERFORM, HUBUNGI METODE, HUBUNGI TRANSAKSI, HUBUNGI
LAYAR, SUBMIT, TINGGALKAN UNTUK transaksi.
Laporan mengambil atau memodifikasi isi dari variabel.
Sebuah
kelompok pertama laporan operasional menetapkan atau mengubah sebuah variabel:
PINDAHKAN, ADD, mengurangi, membagi
Laporan,
yang berasal dari sintaks COBOL, dapat ditulis dalam bentuk yang lebih pendek
yang menggunakan operator bukan kata kunci:
PINDAHKAN LastName UNTUK PENERIMA.
Masukkan PAJAK UNTUK HARGA.
Contoh laporan operasional pada string
karakter:
CARI, REPLACE, menggabungkan, Ringkas
Database akses laporan (SQL Terbuka):
SELECT, INSERT, UPDATE, DELETE, MENGUBAH
Laporan bekerja pada tabel internal
(perhatikan bahwa beberapa "SQL" pernyataan juga dapat digunakan di
sini):
READ TABLE, INSERT, UPDATE, DELETE, MENGUBAH, SORT,
menghapus duplikat
DAMPINGAN, APPEND, CLEAR, REFRESH, GRATIS
Laporan
memproduksi atau format output. Mereka muncul terutama di laporan, kurang
begitu di kolam modul. Contohnya adalah:
MENULIS, FORMAT, SKIP, Uline, PESAN, BARU-PAGE, GRATIS
Tabel internal adalah fitur yang sangat penting dari
bahasa ABAP dan jasa yang dijelaskan panjang lebar. Sebuah tabel internal akan
didefinisikan sebagai vektor dari struct di C + + atau vektor objek di Jawa.
Perbedaan utama dengan bahasa-bahasa ini adalah bahwa ABAP menyediakan koleksi
laporan dengan mudah mengakses dan memanipulasi isi tabel internal. Perlu dicatat
bahwa ABAP tidak mendukung array; satu-satunya cara untuk mendefinisikan objek
multi-elemen data adalah dengan menggunakan tabel internal.
Referensi
^ "ABAP Riwayat".
SAP-technical.com
^ "Kelas".
SAP NetWeaver 7.0.
[1] accessed 10 Agustus
2009.