♦ ALV Telefon Rehberi Uygulaması ( Sap – Abap ) :
&---------------------------------------------------------------------* *& Report ZALVREHBER *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT ZALVREHBER. TABLES ZTREHBER. data: g_alv type ref to cl_gui_alv_grid, g_cust type ref to cl_gui_custom_container, gt_ztrehber type standard table of ztrehber, gt_fcat type lvc_t_fcat, gs_fcat type lvc_s_fcat, TELID(3) TYPE C, ADI(15) TYPE C, SOYADI(15) TYPE C, ADRES(35) TYPE C, TELEFON(11) TYPE C. start-of-selection. set screen 0100. *&---------------------------------------------------------------------* *& Form load_data *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* form load_data. select * from ztrehber into corresponding fields of table gt_ztrehber up to 10 rows. endform. " *&---------------------------------------------------------------------* *& Form prepare_fcat *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* form prepare_fcat. define add_fcat. clear gs_fcat. gs_fcat-col_pos = &1. gs_fcat-fieldname = &2. gs_fcat-coltext = &3. gs_fcat-outputlen = &4. append gs_fcat to gt_fcat. end-of-definition. add_fcat: 1 'TELID' 'Rehber Sırası' 3, 2 'ADI' 'Adı' 15, 3 'SOYADI' 'Soyadı' 15, 4 'ADRES' 'Adres' 35, 5 'TELEFON' 'Telefon' 11. endform. "prepare_fcat *&---------------------------------------------------------------------* *& Module STATUS_0300 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE STATUS_0300 OUTPUT. set pf-status '0300'. if g_cust is initial. create object g_cust EXPORTING container_name ='CCONTROL' EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 others = 6. if sy-subrc <> 0. message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv4. endif. create object g_alv EXPORTING i_parent = g_cust EXCEPTIONS error_cntl_create = 1 error_cntl_init = 2 error_cntl_link = 3 error_dp_create = 4 others = 5. if sy-subrc <> 0. message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif. perform load_data. perform prepare_fcat. call method g_alv->set_table_for_first_display CHANGING it_outtab = gt_ztrehber it_fieldcatalog = gt_fcat EXCEPTIONS invalid_parameter_combination = 1 program_error = 2 too_many_lines = 3 others = 4. if sy-subrc <> 0. message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. endif. endif. ENDMODULE. " STATUS_0300 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0300 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE USER_COMMAND_0300 INPUT. case sy-ucomm. when 'BACK'. leave to screen 0. when 'EXIT'. leave program. when 'ANASAYFA'. call screen 0100. endcase. ENDMODULE. " USER_COMMAND_0300 INPUT *&---------------------------------------------------------------------* *& Module STATUS_0200 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE STATUS_0200 OUTPUT. SET PF-STATUS '0200'. SET TITLEBAR '0200'. ENDMODULE. " STATUS_0200 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0200 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE USER_COMMAND_0200 INPUT. case sy-ucomm. when 'BACK'. leave to screen 0. when 'EXIT'. leave program. when 'KEKLE'. perform KEKLE. when 'KDUZENLE'. perform KDUZENLE. when 'KSIL'. perform KSIL. when 'ANASAYFA'. call screen 0100. endcase. ENDMODULE. " USER_COMMAND_0200 INPUT *&---------------------------------------------------------------------* *& Module STATUS_0100 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE STATUS_0100 OUTPUT. SET PF-STATUS '0100'. SET TITLEBAR '0100'. ENDMODULE. " STATUS_0100 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE USER_COMMAND_0100 INPUT. case sy-ucomm. when 'BACK'. leave to screen 0. when 'EXIT'. leave program. when 'KEKLE'. CALL SCREEN 0200. When 'KLISTELE'. CALL SCREEN 0300. endcase. ENDMODULE. " USER_COMMAND_0100 INPUT *&---------------------------------------------------------------------* *& Form KEKLE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * *----------------------------------------------------------------------* FORM KEKLE . ZTREHBER-TELID = TELID. ZTREHBER-ADI = ADI. ZTREHBER-SOYADI = SOYADI. ZTREHBER-ADRES = ADRES. ZTREHBER-TELEFON = TELEFON. INSERT ZTREHBER. IF SY-SUBRC = 0. MESSAGE 'Yeni kayıt eklendi.' type 'I'. CLEAR :TELID,ADI,SOYADI, ADRES,TELEFON. ENDIF. ENDFORM. " KEKLE *&---------------------------------------------------------------------* *& Form KDUZENLE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * *----------------------------------------------------------------------* FORM KDUZENLE . UPDATE ZTREHBER SET ADI = ADI SOYADI = SOYADI ADRES = ADRES TELEFON = TELEFON WHERE TELID = TELID. IF SY-SUBRC = 0. MESSAGE 'Kayıt Güncellendi.' type 'I'. CLEAR :TELID,ADI,SOYADI, ADRES,TELEFON. ENDIF. ENDFORM. " KDUZENLE *&---------------------------------------------------------------------* *& Form KSIL *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * *----------------------------------------------------------------------* FORM KSIL . DELETE FROM ZTREHBER WHERE TELID = TELID. IF SY-SUBRC = 0. MESSAGE 'Kayıt Silindi.' type 'I'. CLEAR :TELID,ADI,SOYADI, ADRES,TELEFON. ENDIF. ENDFORM. " KSIL