ABAP/ABAP Objects - Klassen und CONSTRUCTOR

  Entwicklung von und mit ABAP / ABAP Objects   Home  Links  Datenschutz  Impressum
 

 
Explizite Daten-Deklaration
 
DATA lo_object TYPE REF TO cl_class_instance.
CREATE OBJECT lo_object.
Inline-Daten-Deklaration
 
DATA(lo_object) = NEW cl_class_instance( ).
 

 
DATA:
  lo_material TYPE REF TO zcl_material,
  lv_material_type TYPE string,
  lv_material_text TYPE string VALUE 'Boskop',
  lv_material_status TYPE string.
CREATE OBJECT lo_material EXPORTING type = 'Apfel'.
CALL METHOD lo_material->update_properties
  EXPORTING
    update = lv_material_text
  IMPORTING
    model = lv_material_type
    status = lv_material_status.
DATA(lo_material) = NEW zcl_material( type = 'Apfel' ).
DATA(lv_material_text) = 'Boskop'.
lo_material->update_properties(
  EXPORTING update = lv_material_text
  IMPORTING model  = DATA(lv_material_type)
            status = DATA(lv_material_status) ).
 

 
CLASS lcl_abap DEFINITION FINAL.
  PUBLIC SECTION.
    METHODS:
      constructor IMPORTING iv_name        TYPE string,
      get_name    RETURNING VALUE(rv_name) TYPE string.
  PROTECTED SECTION.
    DATA mv_name TYPE string.
ENDCLASS.
CLASS lcl_abap IMPLEMENTATION.
  METHOD constructor.
    mv_name = iv_name.
  ENDMETHOD.
  METHOD get_name.
    rv_name = mv_name.
  ENDMETHOD.
ENDCLASS.
 
DATA:
  lo_abap1 TYPE REF TO lcl_abap,
  lv_name1 TYPE string.
 
CREATE OBJECT lo_abap1
  EXPORTING
    iv_name = 'Michael Eutin'.
CALL METHOD lo_abap1->get_name
  RECEIVING
    rv_name = lv_name.
WRITE: / 'Name:', lv_name1.  
oder
 
 
CREATE OBJECT lo_abap1( iv_name = 'Michael Eutin' ).
lv_name1 = lo_abap1->get_name( ).
WRITE: / 'Name:', lv_name1.
CLASS lcl_abap DEFINITION FINAL.
  PUBLIC SECTION.
    METHODS:
      constructor IMPORTING iv_name        TYPE string,
      get_name    RETURNING VALUE(rv_name) TYPE string.
  PROTECTED SECTION.
    DATA mv_name TYPE string.
ENDCLASS.
CLASS lcl_abap IMPLEMENTATION.
  METHOD constructor.
    mv_name = iv_name.
  ENDMETHOD.
  METHOD get_name.
    rv_name = mv_name.
  ENDMETHOD.
ENDCLASS.
 
DATA(lo_abap) = NEW lcl_abap( iv_name = CONV #( 'Michael Eutin' ) ).
WRITE: / 'Name:', lo_abap->get_name( ).
 

 

ABAP List Viewer (ALV)

alt
 
DATA:
  lx_root       TYPE REF TO cx_root,
  lo_table      TYPE REF TO cl_salv_table,
  lo_funct_list TYPE REF TO cl_salv_functions_list,
  lo_columns    TYPE REF TO cl_salv_columns,
  lo_display    TYPE REF TO cl_salv_display_settings,
  lt_sbook      TYPE STANDARD TABLE OF sbook WITH DEFAULT KEY.
 
SELECT * FROM sbook INTO TABLE lt_sbook.
IF sy-subrc = 0.
  TRY.
      cl_salv_table=>factory( IMPORTING r_salv_table = lo_table
                              CHANGING  t_table      = lt_sbook ).
*--- activate all standard functions
      lo_func_list = lo_table->get_functions( ).
      lo_func_list->set_all( if_salv_c_bool_sap=>true ).
*--- set optimized column size
      lo_columns = lo_table->get_columns( ).
      lo_columns->set_optimize( if_salv_c_bool_sap=>true ).
*--- set zebra layout
      lo_display = lo_table->get_display_settings( ).
      lo_display->set_striped_pattern( if_salv_c_bool_sap=>true ).
      lo_table->display( ).
    CATCH cx_root INTO lx_root.
      WRITE: / lx_root->get_text( ).
  ENDTRY.
ENDIF.
neu
 
SELECT * FROM sbook INTO TABLE @DATA(lt_sbook).
IF sy-subrc = 0.
  TRY.
    cl_salv_table=>factory( IMPORTING r_salv_table = DATA(lo_table)
                            CHANGING  t_table      = lt_sbook ).
    lo_table->get_functions( )->set_all( if_salv_c_bool_sap=>true ).
    lo_table->get_columns( )->set_optimize( if_salv_c_bool_sap=>true ).
    lo_table->get_display_settings( )->set_striped_pattern( if_salv_c_bool_sap=>true ).
    lo_table->display( ).
      CATCH cx_root INTO DATA(lx_root).
        WRITE: / lx_root->get_text( ).
  ENDTRY.
ENDIF.