ABAP

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

ABAP je programovací jazyk používaný pro vývoj aplikací mySAP.com od firmy SAP.

Historie[editovat | editovat zdroj]

  • 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 | editovat zdroj]

  • silně i slabě typový zároveň
  • má vestavěnou podporu pro SQL (OpenSQL přímo v syntaxi jazyka)

Ukázka[editovat | editovat zdroj]

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 | editovat zdroj]

Literatura[editovat | editovat zdroj]

Keller, Horst ; Krüger, Sascha, ABAP Objects, Addison-Wesley, 2002, ISBN 0-201-75080-5.