ABAP
Z Wikipedie, otevřené encyklopedie
ABAP je programovací jazyk používaný pro vývoj aplikací mySAP.com od firmy SAP.
Obsah |
Historie [editovat]
- 70. léta 20. století: Vznikl makro assembler pro generování reportů v systémech R/2. Název byl z „Allgemeiner Berichts-Aufbereitungs Prozessor“.
- 80. léta: ABAP se vyvinul do podoby interpretačního jazyka pro aplikace v R/2. Umožňoval programovat tzv. dialogově řízené transakce.
- Začátek 90. let: V systému R/3 byl uveden jako „programovací jazyk 4. generace“ pod názvem ABAP/4, „Advanced Business Application Programming“. Od této doby jsou aplikace pro produkty mySAP.com psány v ABAP/4. Pouze systémové jádro je psáno v programovacím jazyku C.
- Kolem roku 2000: začala nová etapa ve vývoji jazyka. Bylo provedeno objektové rozšíření jazyka - tzv. ABAP Objects.
- Od roku 2003 je možno používat i jazyk Java pro vývoj aplikací mySAP.com.
Vlastnosti [editovat]
- silně i slabě typový zároveň
- má vestavěnou podporu pro SQL (OpenSQL přímo v syntaxi jazyka)
Ukázka [editovat]
Ukázka definice, implementování a použití jednoduché lokální třídy (Local class) v reportu/programu. Modifikovaný kód ze SAP Help Classes - Introductory Example.
*---------------------------------------------------------------------* * CLASS lcl_counter DEFINITION *---------------------------------------------------------------------* CLASS lcl_counter DEFINITION. PUBLIC SECTION. METHODS: set_value IMPORTING value(i_value) TYPE i, add_value IMPORTING value(i_increment) TYPE i OPTIONAL, get_value RETURNING value(e_value) TYPE i. PRIVATE SECTION. DATA l_count TYPE i. ENDCLASS. "lcl_counter DEFINITION *---------------------------------------------------------------------* * CLASS lcl_counter IMPLEMENTATION *---------------------------------------------------------------------* CLASS lcl_counter IMPLEMENTATION. METHOD set_value. l_count = i_value. ENDMETHOD. "set_value METHOD add_value. IF i_increment > 0. ADD i_increment TO l_count. ENDIF. ENDMETHOD. "add_value METHOD get_value. e_value = l_count. ENDMETHOD. "get_value ENDCLASS. "lcl_counter IMPLEMENTATION *---------------------------------------------------------------------* * Here starts actual report DATA g_number TYPE i VALUE 5. DATA gref_cnt TYPE REF TO lcl_counter. START-OF-SELECTION. CREATE OBJECT gref_cnt. gref_cnt->set_value( g_number ). " 5 gref_cnt->add_value( 10 ). " +10 g_number = gref_cnt->get_value( ). " 15 WRITE g_number.
Externí odkazy [editovat]
Literatura [editovat]
Keller, Horst ; Krüger, Sascha, ABAP Objects, Addison-Wesley, 2002, ISBN 0-201-75080-5.