ABAP
Z Wikipedii
ABAP (Advanced Business Application Programming, pierwotnie: Allgemeiner Berichts-Aufbereitungs-Prozessor - procesor tworzenia raportów) – język programowania wysokiego poziomu stworzony przez niemiecką firmę SAP.
Pierwotnie używany do tworzenia prostych raportów, aktualnie - do tworzenia kompleksowych rozwiązań do zarządzania dużych korporacji. Składnia przypomina składnię języka COBOL.
Spis treści |
[edytuj] Historia
ABAP jest jednym z wielu specyficznych dla apliakcji językiem czwartej generacji 4GL (dlatego też czasem oznaczany jest jako ABAP/4). Pierwsze implementacje to początek lat 80'. Był pierwotnie językiem tworzenia raportów w systemie SAP R/2, platform która umożliwiała wielkim korporacjom budowanie aplikacji typu mainframe do zarządzania materiałami i finansami a także księgowością finansową. ABAP był jednym z pierwszych języków który zawierał ideę logicznych baz danych (LDB), która dostarcza wysokiego poziomu abstrakcji nad bazą danych. Język ten użyty został do stworzenia platformy SAP R/3. Używany jest także przez klientów SAP do rozszerzania standardu tej platformy, a także do tworzenia własnych, specyficznych rozwiązań. Język ten jest nieskomplikowany i łatwy do nauczenia się. Jednak do jego pełnego wykorzystania potrzebna jest wiedza o budowaniu relacyjnych baz danych oraz koncepcji programowania obiektowego (ABAP Objects, który ujrzał światło dzienne wraz z wersją R/3 4.6)).
Obecnie ABAP nadal jest wiodącym językiem programowania platformy SAP R/3, jednak w ostatnich wydaniach systemu (NetWeaver) kooperuje on z językiem Java. Używany jest także jako język skryptów wykonywanych po stronie serwera w technologii BSP do tworzenia rozwiązań biznesowych opartych o technologie webowe.
[edytuj] Implementatacja
[edytuj] Gdzie wykonuje się ABAP?
Wszystkie programy ABAP rezydują w bazie danych systemu SAP. Nie są przechowywane w oddzielnych plikach jak w językach Java czy C++. W bazie danych wszystkie programy ABAP istnieją w dwóch formach: kodu źródłowego, który może być edytowany i przeglądany w tzw. ABAP Workbench oraz wygenerowanego kodu, binarnej reprezentacji porównywalnej do kodu Java. Programy ABAP uruchamiane są pod kontrolą tzw. runtime system który jest częścią jądra systemu SAP. Runtime system jest odpowiedzialny za przetwarzanie instrukcji ABAP, kontrolowanie logiki przepływu ekranów oraz reagowanie na akcje użytkownika (np wciśnięcie przycisku na ekranie). Kluczowym elementem języka ABAP jest interfejs bazodanowy, który zamienia niezależne od użytej bazy danych instrukcje ABAP ("Open SQL") na instrukcje zrozumiałe i natywne dla zastosowanego systemu bazodanowego ("Native SQL"). Interfejs bazodanowy przejmuje całą komunikację z relacyjną bazą danych w imieniu programów ABAP; zawiera także szereg dodatkowych funkcji jak buforowanie najczęściej używanych danych w pamięci lokalnej serwera aplikacji.
Zastosowanie Open SQL pozwala na wyodrębnienie 2 i 3 warstwy w systemie SAP czyli wartswy aplikacji - programy ABAP, oraz warstwy bazy danych. Dodatkowa, trzecia warstwa, to warstwa prezentacji która ma na celu wyświetlenie wyników działania z programem ABAP oraz dawać możliwość komunikacji użytkownika z programem.
[edytuj] Przykład
Prosty program:
*&---------------------------------------------------------------------* *& Report Z_ABAP_EXAMPLE *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT z_abap_example. * variables declaration / deklaracja zmiennych DATA: lv_test TYPE string, lv_index TYPE i VALUE 0, lv_index_str TYPE string. WRITE: 'Hello World!'. * loop / petla WHILE lv_index LT 10. lv_index_str = lv_index. * concatenate / konkatenacja CONCATENATE 'Hello, Jestem petla nr: ' lv_index_str INTO lv_test SEPARATED BY space. * screen output / przeniesienie na ekran WRITE / : lv_test. * assignment / przypisanie lv_index = lv_index + 1. ENDWHILE.
Wynik programu:
Programm Z_ABAP_EXAMPLE Hello World! Hello, Jestem petla nr: 0 Hello, Jestem petla nr: 1 Hello, Jestem petla nr: 2 Hello, Jestem petla nr: 3 Hello, Jestem petla nr: 4 Hello, Jestem petla nr: 5 Hello, Jestem petla nr: 6 Hello, Jestem petla nr: 7 Hello, Jestem petla nr: 8 Hello, Jestem petla nr: 9
[edytuj] Linki zewnętrzne
ABAP • Ada • AWK • Asembler • C • C++ • C# • COBOL • Common Lisp • D • F# • Forth • Fortran • GAUSS • Icon • Java • JavaScript • Lisp • Lustre• Modula 2 • Ocaml • Oberon • Object Pascal • Objective-C • Pascal • Perl • PHP • PL/SQL • Python • REXX • Ruby • SAS 4GL • sh • Smalltalk • Snobol • SQL • Visual Basic • VB.NET • XUL
Akademickie: Comal • Eiffel • Haskell • Logo • MCPL • ML • Nemerle • Prolog • Scheme
Historyczne: ALGOL • APL • BASIC • Clipper • JAS • MUMPS • PLAN • PL/I • PL/M • SAKO • SAS (asembler) • Simula
Ezoteryczne: INTERCAL • Brainfuck • BeFunge • Unlambda • Malbolge • Whitespace • FALSE • HQ9+ • Shakespeare • Whirl • Ook

