Kamis, 10 Mei 2012

ABAB



 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.

Top of Form
ABAP lingkungan runtime


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.

SAP Dasar


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).

Top of Form
SAP sistem dan lanskap


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:

·         Username dan password
·         SAP Logon Tiket
·         Aman Jaringan Komunikasi
·         Single Sign-On

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.

Jenis-jenis program 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:

·         Laporkan
·         Modul kolam


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:
·         TERMASUK modul
·         Subroutine kolam
·         Fungsi kelompok
·         Obyek kelas

·         Antarmuka

Jenis kolam

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.

ABAP Workbench


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.

ABAP Dictionary

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.

ABAP sintaks


Ini penjelasan singkat dari sintaks ABAP dimulai pasti dengan program "Hello World".
 "HelloWorld"


LAPORAN UJI.
MENULIS '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.
Top of Form

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:
X = (A + B) - (C +2).
Nama-nama variabel (X, A, B, C), 2 konstanta numerik, operator "=", "+" dan "-" dan kurung semua harus putih-ruang terbatas. Kode yang benar adalah:
X = (A + B) - (C + 2).
Pernyataan Chained

Top of Form
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
SELECT * FROM FLIGHTINFO
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
    LAST_EOM = SY-datum.
* Mengatur karakter 6 dan 7 (0-relatif) dari string YYYYMMDD ke "01",
* Memberikan hari pertama bulan berjalan
    LAST_EOM +6 (2) = '01 '.
* Kurangi satu hari
    LAST_EOM = LAST_EOM - 1.
    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:



* Primitif jenis:
DATA: JENIS COUNTER I,
      VALIDITAS JENIS saya nilai 60,
      TAXRATE (3) desimal P TIPE 1,
      LastName (20) TYPE C,
      URAIAN JENIS STRING.


 * Kamus jenis:
DATA: ASAL NEGARA JENIS.
* Internal tabel:
DATA: T_FLIGHTS JENIS DAFTAR FLIGHTINFO,JENIS T_LOOKUP hashed DAFTAR FLT_LOOKUP.
* Objek:
DATA: PEMESANAN JENIS KE REF CL_FLT_BOOKING.


Perhatikan penggunaan usus besar untuk rantai bersama laporan berturut-turut DATA.

ABAP Objects

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.

Pernyataan Deklaratif

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


Pernyataan Modularisasi

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

Kontrol laporan

Laporan mengontrol aliran program dalam blok pengolahan.

Laporan mengendalikan eksekusi bersyarat adalah:
JIKA ... Elseif ... ELSE ... Endif
KASUS ... Endcase

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
SAAT ... ENDWHILE
LOOP ... ENDLOOP
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.

Pernyataan Panggilan


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 Operasional


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.
* Setara dengan
PENERIMA = LastName.
Masukkan PAJAK UNTUK HARGA.
* Setara dengan
HARGA = HARGA + PAJAK.


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

Format laporan

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


Intern tabel dalam ABAP

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.





Tidak ada komentar:

Posting Komentar