Distribisyon nan Pwogram ABAP

by | Jun 4, 2018 | Pwogram ABAP

Akèy » SAP » ABAP » Pwogram ABAP » Distribisyon nan Pwogram ABAP

Prefas – Pòs sa a se yon pati nan Pwogram ABAP seri.

KLAS a1 DEFINISYON.
 SEKSYON PUBLIK.
 DONE: num1 TYPE i VALÈ 100.
 METÒD: m1.
 ENDCLASS.
 APLIKASYON KLAS A1.
 METÒD m1.
 EKRI: 'a1:',num1.
 METÒD FINI.
 ENDCLASS.
 KLAS b1 DEFINISYON ERITE DE a1.
 SEKSYON PUBLIK.
 METÒD:m2, m1 REDEFINISYON.
 ENDCLASS.
 APLIKASYON KLAS b1.
 METÒD m1.
 non1 = non1.
 EKRI: 'b1:',num1.
 METÒD FINI.
 METÒD m2.
 EKRI: 'M2 nan klas b1'.
 METÒD FINI.
 ENDCLASS.
 KÒMANSE-SELEKSYON.
 DONE: yon TIP REF POU a1.
 DONE: b TIP REF POU b1.
 *done: c tip REF TO c1.
 **************************************************** ************** KREYE OBJÈ b.
 a = b.  "upcasting METÒD RELE a->m1().
 *rele METÒD a->m2().  "Nou pa ka jwenn aksè nan pwòp metòd sub klas yo lè l sèvi avèk super klas ref.
 NEW-LINE.
 b ?= a.  "desann depoze METÒD RELE b->m1().
 NEW-LINE.
 METÒD RELE b->m2().
 **************************************************** **************** " erè nil ref kreye OBJÈ a.
 b ?= a.  "desann jete toujou li bay pil fatra rele METÒD b-> m1().
 **************************************************** *************** KREYE OBJÈ a.
 ESEYE.
 b ?= a.  "Ou eseye sèvi ak yon 'NULL' referans objè pil fatra CATCH cx_sy_move_cast_error.
 METÒD RELE b->m1().
 ENTRE.
 **************************************************** *************** KREYE OBJÈ a.
 KREYE OBJÈ b.
 ESEYE.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 METÒD RELE b->m1().
 rele METÒD b->m2().
 ENTRE.
 KLAS lcl_shape DEFINISYON.
 SEKSYON PUBLIK.
 METÒD trase.
 ENDCLASS.
 KLAS lcl_circle DEFINISYON ERITITE DE lcl_shape.
 SEKSYON PUBLIK.
 METÒD: trase REDEFINISYON, calc_area.
 ENDCLASS.
 KLAS lcl_shape ENPLIKASYON.
 METÒD trase.
 EKRI :/ 'Desen nenpòt fòm'.
 METÒD FINI.
 ENDCLASS.
 KLAS lcl_circle ENPLIKASYON.
 METÒD trase.
 EKRI :/ 'Desen fòm espesifik: Sèk'.
 METÒD FINI.
 METÒD calc_area.
 EKRI :/ 'Zòn Crcle = 2iiR'.
 METÒD FINI.
 ENDCLASS.
 KÒMANSE-SELEKSYON.
 DONE : o_cir REF POU lcl_circle.
 KREYE OBJÈ o_cir.
 METÒD RELE o_cir->draw().  " rele metòd Draw() sou klas CALL METHOD o_cir->calc_area().
 ULINE.
 "--------- Narrow cast(Upcast)---------------" DONE: o_shp TYPE REF TO lcl_shape.
 o_shp = o_cir.  " Narrow cast(Upcast) RELE METÒD o_shp->draw().  " rele sub klas Draw() metòd "rele METÒD o_shp->calc_area() .  " erè konpilasyon ULINE.
 "---------- Elaji jete(Downcast) -----------" DONE : o_cir1 TIP REF POU lcl_circle.
 " o_cir1 = o_shp.  " erè konplikasyon o_cir1 ?= o_shp.  " Elaji jete(Downcast) METÒD RELE o_cir1->draw().  " rele metòd Draw() sou klas CALL METHOD o_cir1->calc_area().
 KLAS a1 DEFINISYON.
 SEKSYON PUBLIK.
 DONE: num1 TYPE i VALÈ 100.
 METÒD: m1.
 ENDCLASS.
 APLIKASYON KLAS A1.
 METÒD m1.
 EKRI: 'a1:',num1.
 METÒD FINI.
 ENDCLASS.
 KLAS b1 DEFINISYON ERITE DE a1.
 SEKSYON PUBLIK.
 METÒD:m2, m1 REDEFINISYON.
 ENDCLASS.
 APLIKASYON KLAS b1.
 METÒD m1.
 non1 = non1.
 EKRI: 'b1:',num1.
 METÒD FINI.
 METÒD m2.
 EKRI: 'M2 nan klas b1'.
 METÒD FINI.
 ENDCLASS.
 KÒMANSE-SELEKSYON.
 DONE: paran TIP REF TO a1.
 DONE: timoun TIP REF TO b1.
 *done: c tip REF TO c1.
 **************************************************** ************** KREYE OBJÈ pitit.
 paran = pitit.  "upcasting METÒD RELE paran->m1().
 METÒD RELE timoun->m1( ).
 METÒD RELE timoun->m2( ).
 *rele METÒD a->m2().  "Nou pa ka jwenn aksè nan pwòp metòd sub klas yo lè l sèvi avèk super klas ref.
 NEW-LINE.
 pitit ?= paran.  " down casting METÒD RELE timoun->m1( ).
 NEW-LINE.
 METÒD RELE timoun->m2( ).
 **************************************************** **************** *" erè null ref *kreye OBJÈ a.
 *b ?= a.  "desann jete toujou li bay pil fatra * rele METÒD b-> m1 ( ).
 **************************************************** **************** * KREYE OBJÈ a.
 ESEYE.
 b ?= a.  "Ou eseye sèvi ak yon 'NULL' referans objè pil fatra CATCH cx_sy_move_cast_error.
 METÒD RELE b->m1().
 ENTRE.
 **************************************************** **************** * KREYE OBJÈ a.
 KREYE OBJÈ b.
 ESEYE.
 b ?= a.
 CATCH cx_sy_move_cast_error.
 METÒD RELE b->m1().
 rele METÒD b->m2().
 ENTRE.
 ******** Valè inik******************** DONE : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string.
 TYPES: KÒMANSE ty_data, auth TYPE c, FEN ty_data.
 DONE: ls_user TYPE ty_data, ls_user2 TYPE ty_data, lt_user2 TYPE TABLE OF ty_data, lt_user TYPE TABLE OF ty_data.
 lv_string = 'a,b,c,a'.
 lv_string2 = 'd,b,c,a'.
 DIVISE lv_string AT ',' NAN TABLE lt_user.
 DIVISE lv_string2 NAN ',' NAN TABLE lt_user2.
 LOOP AT lt_user2 ASIGNE FIELD-SYMBOL( ).
 ANTRE INTO TABLE lt_user.
 ENDLOOP.
 SORT lt_user BY otorizasyon.
 EFISYE DUPLIKAS Adjasan nan lt_user COMPARING otorizasyon.
 SI sy-subrc = 0.
 LOOP AT lt_user ASIGNING FIELD-SYMBOL( ).
 SI lv_string_final SE INISYAL.
 lv_string_final = -otorizasyon.
 LÒT.
 KONKATENE lv_string_final -auth INTO lv_string_final SEPARE BY ','.
 ENDIF.
 ENDLOOP.
 ENDIF.

 

otè

0 Kòmantè

Soumèt a Comment

Adrès imèl ou pa pral dwe pibliye. Jaden obligatwa yo make *

Sit sa a sèvi ak Akismet diminye Spam. Aprann kijan kòmantè ou a trete.

otè