ABAP-тағы жергілікті сыныптар

кіріспе – Бұл жазбаның бөлігі ABAP бағдарламалары сериясы.

ABAP бағдарламасында сіз SE24, транзакция кодын пайдаланып жаһандық сыныптарды жасауды үйренген боларсыз. Бірақ біраз уақыттан кейін есепте жергілікті сыныпты және оның әдіс шақыруын толығымен жасау талабы бар. Бұл мақалада біз ABAP жүйесінде жергілікті сыныптарды қалай енгізу керектігін үйренеміз.

кіріспе

ABAP-тағы жергілікті сыныптар сыныптары сияқты C/C++ программалау тілі. ABAP жүйесінде жергілікті сыныптарды іске асыру кезінде келесіні анықтаймыз:

  • Класс: Біз әртүрлі бөлімдері бар сыныпты анықтаймыз: Қоғамдық, Жеке және Қорғалған
  • Әдіс: Әдіс үшін Импорттау, Экспорттау және Ерекшелік параметрлерін анықтаймыз
  • Нысан жасау: Бұл біздің ғаламдық сыныптарымыз үшін де жасаймыз, оны әдеттегі сыныпта Сыныпқа арналған нысан жасау үшін қолданамыз ABAP бағдарламалары
  • ҚОҢЫРАУ ӘДІСІ: Жоғарыда жасалған нысанды пайдалана отырып, класс әдістерін шақыру.
ABAP-тағы жергілікті сыныптар - кескін иллюстрациясы
ABAP жүйесінде жергілікті классты іске асыру – кескін иллюстрациясы

 

ABAP бағдарламасы

Бағдарламалық талап: Екі түрлі сыныптағы қызметкердің негізгі және жалақы туралы мәліметтерін алыңыз. Кіріс ретінде қызметкер идентификаторын алыңыз.

КЛАСС сынып_сынағы АНЫҚТАМА КЕЙІНГЕ ҚАЛДЫ. ПАРАМЕТРЛЕР: p_empid TYPE char8. ДЕРЕКТЕР: wa_emp TYPE zBarry_emp, wa_emp2 TYPE zBarry_sal. DATA: obj TYPE REF TO class_test. INTERFACE интерфейсі. ӘДІСТЕР: әдіс2 imp2 TYPE ИМПОРТТАУ char8 exp2 TYPE ЭКСПОРТТАУ zBarry_sal. СОҢҒЫ ИНТЕРФЕЙС. КЛАСС сынып_сынағы АНЫҚТАМА. ҚОҒАМДЫҚ БӨЛІМ. ОҚИҒАЛАР: оқиға 1. ИНТЕРФЕЙСТЕР: интерфейс. ӘДІСТЕР: әдіс1 imp TYPE ИМПОРТТАУ char8 exp TYPE ЭКСПОРТТАУ zBarry_emp. ӘДІСТЕР: class_test ОҚИҒА1 Оқиғасына арналған оқиға өңдегіші. СОҢҒЫ СЫНЫП. ОБЪЕКТІ ЖАСАУ obj. SET HANDLER obj->eventhandler FOR obj. ҚОҢЫРАУ ӘДІСІ obj->метод1 ЭКСПОРТТАУ imp = p_empid ИМПОРТТАУ exp = wa_emp. ҚОҢЫРАУ ӘДІСІ obj->interface~method2 ЭКСПОРТТАУ imp2 = p_empid IMPORTING exp2 = wa_emp2. ЖАЗУ:/ wa_emp. жазыңыз:/ wa_emp2-empid, wa_emp2-tid, wa_emp2-mon. *&------------------------------------------------ ---------------------* *& Сынып (Жүзеге асыру) сынып_тесті *&------------------- ------------------------------------------------- * * Мәтін *--------------------------------------------- ---------------------------------- СЫНЫП_сынып_сынағын ЖАСАУ. ӘДІС 1. ТАҢДАҢЫЗ * zBarry_emp INTO exp WHERE empid = imp. ТАҢДАУ. IF sy-subrc NE 0. RAISE EVENT оқиғасы1 . ENDIF. ENDMETHOD. ӘДІС интерфейсі ~ әдіс 2. zBarry_sal INTO exp2 INTO * ТАҢДАҢЫЗ, WHERE empid = imp2. ТАҢДАУ. ENDMETHOD. METHOD оқиға өңдеушісі. WRITE:/ 'қате эмпид'. ENDMETHOD. СОҢҒЫ СЫНЫП. "сынып_сынағы

Кодты түсіндіру

Жоғарыда келтірілген кодта біз келесі енгізуді кезең-кезеңімен орындадық:

  1. Бастапқыда біз Қызметкер идентификаторын енгізу ретінде қабылдайтын Параметрлерді, Қызметкердің негізгі мәліметтері мен Жалақы мәліметтері мен нысанының деректерін сақтау үшін жұмыс аймағын анықтау үшін айнымалыларды анықтадық. obj 
  2. Бір жергілікті класс пен интерфейсті іске асыру.
  3. Қызметкер идентификаторын экспорттау және осы сыныптардан/интерфейстерден тиісті деректерді алу.
  4. Write операторы арқылы жоғарыдағы нәтижені басып шығару.

автор


Пікірлер

пікір қалдыру

Сіздің электрондық пошта мекенжайы емес жарияланады. Міндетті өрістер таңбаланған *

Бұл сайт спамның төмендеуі үшін Akismet пайдаланады. Деректеріңіздің қалай өңделетінін біліңіз.