Tilgeadh ann am prògram ABAP

by | OgM 4, 2018 | Prògraman airson ABAP

Dachaigh » SAP » ABAP » Prògraman airson ABAP » Tilgeadh ann am prògram ABAP

Preface - Tha an dreuchd seo mar phàirt den Prògraman airson ABAP sreath.

CLÀR a1 RIAGHLADH.
 EARRANN PHOBLACH.
 DÀTA: àireamh 1 CINEÁL i LUACH 100.
 Dòighean: m1.
 CRÌOCH.
 CLÀR a1 GNÌOMHACHADH.
 MODHACHD m1.
 SGRÌOBH: 'a1:', àireamh 1.
 CRÌOCH.
 CRÌOCH.
 CLÀR b1 Mìneachadh A 'FAIGHINN BHO a1.
 EARRANN PHOBLACH.
 MODHANNA: m2, m1 ATH-SGRÙDADH.
 CRÌOCH.
 CLAR b1 GNIOMHARA.
 MODHACHD m1.
 àireamh 1 = àireamh 1 .
 SGRÌOBH: 'b1:', àireamh 1.
 CRÌOCH.
 MODHACHD m2.
 SGRÌOBH: 'M2 ann an clas b1'.
 CRÌOCH.
 CRÌOCH.
 START-OF-ROGHACHADH.
 Dàta: a Seòrsa REF TO a1.
 DÀTA: b Seòrsa REF TO b1.
 * dàta: c seòrsa REF TO c1.
 ********************************************** ************** CRUTHACHADH OBAIR b.
 a = b.  " MODH CALL upcasting a-> m1( ).
 * cuir fòn gu MODH A-> m2( ).  “ chan urrainn dhuinn faighinn gu na dòighean fo-chlas fhèin a’ cleachdadh sàr chlas ref.
 ÙR-LÌN.
 b?=a.  " sìos tilgeadh MODH CALL b-> m1( ).
 ÙR-LÌN.
 MODH CALL b-> m2( ).
 ********************************************** *************** " mearachd null ref cruthaich OBJECT a.
 b?=a.  " a' tilgeadh sìos fhathast a tha a 'toirt seachad dump MODHOD b-> m1( ).
 ********************************************** *************** CRUTHACHADH OBAIR a.
 FEUCH.
 b?=a.  "Dh'fheuch ur ri dump fiosrachaidh nì 'NULL' a chleachdadh CATCH cx_sy_move_cast_error.
 MODH CALL b-> m1( ).
 CRÌOCH.
 ********************************************** *************** CRUTHACHADH OBAIR a.
 CRUTHACHADH CUSPAIR b.
 FEUCH.
 b?=a.
 CATCH cx_sy_move_cast_error.
 MODH CALL b-> m1( ).
 cuir fòn gu MODH B-> m2( ).
 CRÌOCH.
 CLÀR lcl_shape DEARBHACHADH.
 EARRANN PHOBLACH.
 MODHANNA tarraing.
 CRÌOCH.
 CLASS lcl_circle MÌNEACHADH IONADACH BHO lcl_shape.
 EARRANN PHOBLACH.
 Dòighean: tarraing ATH-DHÈANAMH, calc_area.
 CRÌOCH.
 CLÀR lcl_shape GNÌOMHACHADH.
 MODHACH tarraing.
 SGRÌOBH :/ 'A' tarraing cumadh sam bith'.
 CRÌOCH.
 CRÌOCH.
 CLASS lcl_circle GNÌOMHACHADH.
 MODHACH tarraing.
 SGRÌOBH :/ 'A' tarraing cumadh sònraichte: Cearcall'.
 CRÌOCH.
 MODHACH calc_area.
 SGRÌOBH :/ 'Sgìre Crcle = 2iiR'.
 CRÌOCH.
 CRÌOCH.
 START-OF-ROGHACHADH.
 DÀTA : o_cir TIP REF TO lcl_circle.
 CREATE OBJECT o_cir.
 MODH CALL o_cir-> tarraing( ).  " a’ gairm modh fo-chlas Draw() CALL MODH O_cir-> calc_area( ).
 UILEACH.
 " -------- Tilgeadh caol (Upcast) ----------------" DÀTA : o_shp CINEÁL REF TO lcl_shape.
 o_shp = o_cir.  " Cast caol (Upcast) MODH CALL o_shp-> draw ( ).  "gairm fo-chlas modh Draw()" cuir fòn gu MODH o_shp-> calc_area( ).  " mearachd cruinneachaidh ULINE.
 " ---------- Leudachadh Cast (Downcast) -----------" DÀTA : o_cir1 TIP REF TO lcl_circle.
 " o_cir1 = o_shp.  " mearachd cruinneachaidh o_cir1 ?= o_shp.  " Leudachadh Cast (Downcast) MODH CALL o_cir1-> draw( ).  " a’ gairm modh fo-chlas Draw() CALL MODH O_cir1-> calc_area( ).
 CLÀR a1 RIAGHLADH.
 EARRANN PHOBLACH.
 DÀTA: àireamh 1 CINEÁL i LUACH 100.
 Dòighean: m1.
 CRÌOCH.
 CLÀR a1 GNÌOMHACHADH.
 MODHACHD m1.
 SGRÌOBH: 'a1:', àireamh 1.
 CRÌOCH.
 CRÌOCH.
 CLÀR b1 Mìneachadh A 'FAIGHINN BHO a1.
 EARRANN PHOBLACH.
 MODHANNA: m2, m1 ATH-SGRÙDADH.
 CRÌOCH.
 CLAR b1 GNIOMHARA.
 MODHACHD m1.
 àireamh 1 = àireamh 1 .
 SGRÌOBH: 'b1:', àireamh 1.
 CRÌOCH.
 MODHACHD m2.
 SGRÌOBH: 'M2 ann an clas b1'.
 CRÌOCH.
 CRÌOCH.
 START-OF-ROGHACHADH.
 DÀTA: pàrant TIP TAGAIRT A1.
 DÀTA: leanabh Seòrsa TAGRADH b1.
 * dàta: c seòrsa REF TO c1.
 ********************************************** ************** CRUTHACHADH leanabh.
 pàrant = leanabh.  "DEACHD CALL upcasting pàrant-> m1( ).
 MODH CALL leanabh-> m1( ).
 MODH CALL leanabh-> m2( ).
 * cuir fòn gu MODH A-> m2( ).  “ chan urrainn dhuinn faighinn gu na dòighean fo-chlas fhèin a’ cleachdadh sàr chlas ref.
 ÙR-LÌN.
 leanabh?=pàrant.  " Tilgeadh sìos MODH CALL leanabh-> m1( ).
 ÙR-LÌN.
 MODH CALL leanabh-> m2( ).
 ********************************************** **************** *" mearachd null ref * cruthaich CUSPAIR a.
 *b?=a.  "a' tilgeadh sìos fhathast a tha a 'toirt seachad dump * call MODHOD b-> m1( ).
 ********************************************** **************** * CRUTHACHADH OBAIR a.
 FEUCH.
 b?=a.  "Dh'fheuch ur ri dump fiosrachaidh nì 'NULL' a chleachdadh CATCH cx_sy_move_cast_error.
 MODH CALL b-> m1( ).
 CRÌOCH.
 ********************************************** **************** * CRUTHACHADH OBAIR a.
 CRUTHACHADH CUSPAIR b.
 FEUCH.
 b?=a.
 CATCH cx_sy_move_cast_error.
 MODH CALL b-> m1( ).
 cuir fòn gu MODH B-> m2( ).
 CRÌOCH.
 ******** Luachan gun samhail ****************** DÀTA : lv_string TYPE string, lv_string2 TYPE string, lv_string_final TYPE string.
 Seòrsachan: BEGIN OF ty_data, ùghdar TYPE c, END OF ty_data.
 DATA: 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'.
 SPLIT lv_string AT ', ' INTO TABLE lt_user.
 SPLIT lv_string2 AT ',' INTO TABLE lt_user2.
 LOOP AT lt_user2 A' sònrachadh FIELD-SIMBOL( ).
 ISTEACH INTO TABLE lt_user.
 ENDLOOP.
 SORT lt_user BY ùghdar.
 Sguab às Dùblaidhean faisg air làimh Bho lt_user COMPARING auth.
 IF sy-subrc = 0.
 LOOP AT lt_user A' sònrachadh FIELD-SIMBOL( ).
 IF lv_string_final THA INITIAL.
 lv_string_deireannach = -abh.
 EILE.
 CONCATENATE lv_string_deireannach -auth INTO lv_string_final SEPARATED BY ','.
 CRÌOCH.
 ENDLOOP.
 CRÌOCH.

 

Author

0 Beachdan

Cuir a-steach beachd

Seòladh puist-d nach tèid fhoillseachadh. Feum air achaidhean a tha air an comharrachadh *

Tha an làrach seo a 'cleachdadh Akismet gus spama a lùghdachadh. Ionnsaich mar a thathar a 'pròiseasadh an dàta bheachdan agad.

Author