Advertisement
Guest User

Text für SA

a guest
Jan 7th, 2019
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 5.08 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Include Z212_SR_SCHUELERVERW_TOP                          Modulpool        Z212_SR_SCHUELVER
  3. *&
  4. *&---------------------------------------------------------------------*
  5.  
  6. PROGRAM Z212_SR_SCHUELVER.
  7.  
  8.  
  9. DATA:
  10.       ok_code TYPE sy-ucomm,
  11.       lv_ok_code LIKE ok_code,
  12.       gv_vorname TYPE Y008_SV_SCHUELER-vorname,
  13.       gr_alv_container TYPE REF TO cl_gui_custom_container,
  14.       gr_alv TYPE REF TO cl_gui_alv_grid,
  15.       gn_selected_line TYPE i,
  16.       gt_schueler TYPE TABLE OF Y008_SV_SCHUELER.
  17. TABLES:
  18.   Y008_SV_SCHUELER.
  19.  
  20. CLASS lcl_handler DEFINITION.
  21.   PUBLIC SECTION.
  22.     METHODS:
  23.       on_double_click
  24.       FOR EVENT double_click OF cl_gui_alv_grid
  25.         IMPORTING es_row_no.
  26. ENDCLASS.
  27.  
  28.  
  29.  
  30. CLASS lcl_handler IMPLEMENTATION.
  31.   METHOD on_double_click.
  32.     gn_selected_line = es_row_no-row_id.
  33.     cl_gui_cfw=>set_new_ok_code( 'DBCL' ).
  34.   ENDMETHOD.
  35. ENDCLASS.
  36.  
  37.  
  38.  
  39. *&---------------------------------------------------------------------*
  40. *&  Include           Z212_SR_SCHUELERVERW_PBO
  41. *&---------------------------------------------------------------------*
  42. *&---------------------------------------------------------------------*
  43. *&      Module  STATUS_0100  OUTPUT
  44. *&---------------------------------------------------------------------*
  45. *       text
  46. *----------------------------------------------------------------------*
  47. MODULE status_0100 OUTPUT.
  48.   SET PF-STATUS '0100'.
  49.   SET TITLEBAR '0100'.
  50.  
  51. ENDMODULE.                 " STATUS_0100  OUTPUT
  52. *&---------------------------------------------------------------------*
  53. *&      Module  TAB_0100  OUTPUT
  54. *&---------------------------------------------------------------------*
  55. *       text
  56. *----------------------------------------------------------------------*
  57. MODULE tab_0100 OUTPUT.
  58.   IF gr_alv IS NOT BOUND.
  59.   gr_alv_container = NEW #( 'CONTROLL' ).
  60.  
  61.   gr_alv = NEW cl_gui_alv_grid(
  62.       i_parent          = gr_alv_container
  63.   ).
  64.   SELECT * FROM Y008_SV_SCHUELER INTO TABLE gt_schueler.
  65.   gr_alv->set_table_for_first_display(
  66.     EXPORTING
  67.       i_structure_name              =     'Y008_SV_SCHUELER'
  68.     CHANGING
  69.       it_outtab                     =  gt_schueler
  70.   ).
  71.   DATA:
  72.       gr_handler TYPE REF TO lcl_handler.
  73.       gr_handler = new lcl_handler( ).
  74.       set HANDLER gr_handler->on_double_click FOR gr_alv.
  75.   ELSE.
  76.     SELECT * FROM Y008_SV_SCHUELER INTO TABLE gt_schueler.
  77.     gr_alv->refresh_table_display( ).
  78.   ENDIF.
  79.  
  80. ENDMODULE.                 " TAB_0100  OUTPUT
  81.  
  82.  
  83. *&---------------------------------------------------------------------*
  84. *&  Include           Z212_SR_SCHUELERVERW_PAI
  85. *&---------------------------------------------------------------------*
  86. *&---------------------------------------------------------------------*
  87. *&      Module  USER_COMMAND_0100  INPUT
  88. *&---------------------------------------------------------------------*
  89. *       text
  90. *----------------------------------------------------------------------*
  91. MODULE USER_COMMAND_0100 INPUT.
  92.   lv_ok_code = ok_code.
  93.   CLEAR ok_code.
  94.   CASE lv_ok_code.
  95.     WHEN 'SAVE'.
  96.       IF Y008_SV_SCHUELER-ID IS NOT INITIAL.
  97.         SELECT SINGLE vorname
  98.           FROM Y008_SV_SCHUELER
  99.           INTO gv_vorname
  100.           WHERE ID = y008_SV_schueler-ID.
  101.         IF gv_vorname = ''.
  102.           INSERT Y008_SV_SCHUELER FROM Y008_SV_SCHUELER.
  103.           MESSAGE s002(z212_sr_nachrichten).
  104.           CLEAR: Y008_SV_SCHUELER.
  105.         ELSE.
  106.           UPDATE y008_sv_schueler FROM Y008_SV_SCHUELER.
  107.           MESSAGE s005(z212_sr_nachrichten).
  108.         ENDIF.
  109.       ELSE.
  110.         MESSAGE s001(z212_sr_nachrichten) DISPLAY LIKE 'E'.
  111.       ENDIF.
  112.     WHEN 'LOAD' OR 'ENTER'.
  113.       IF Y008_SV_SCHUELER-ID IS NOT INITIAL.
  114.         SELECT SINGLE *
  115.           FROM Y008_SV_SCHUELER
  116.           INTO Y008_SV_SCHUELER
  117.           WHERE ID = Y008_SV_Schueler-id.
  118.           IF Y008_SV_SCHUELER-vorname = ''.
  119.             MESSAGE s004(z212_sr_nachrichten) DISPLAY LIKE 'E'.
  120.           ENDIF.
  121.       ELSE.
  122.         MESSAGE s001(z212_sr_nachrichten) DISPLAY LIKE 'E'.
  123.       ENDIF.
  124.     WHEN 'DBCL'.
  125.           Y008_SV_SCHUELER = gt_schueler[ gn_selected_line ].
  126.     WHEN 'DELET'.
  127.       IF Y008_SV_SCHUELER-ID IS NOT INITIAL.
  128.         DELETE FROM Y008_SV_SCHUELER
  129.         WHERE ID = Y008_SV_SCHUELER-ID.
  130.         MESSAGE s003(z212_sr_nachrichten).
  131.         CLEAR: Y008_SV_SCHUELER.
  132.       ELSE.
  133.         MESSAGE e001(z212_sr_nachrichten).
  134.       ENDIF.
  135.     WHEN 'BACK'.
  136.       LEAVE PROGRAM.
  137.     WHEN OTHERS.
  138.   ENDCASE.
  139. ENDMODULE.                 " USER_COMMAND_0100  INPUT
  140. *&---------------------------------------------------------------------*
  141. *&      Module  EXIT_0100  INPUT
  142. *&---------------------------------------------------------------------*
  143. *       text
  144. *----------------------------------------------------------------------*
  145. MODULE exit_0100 INPUT.
  146.   lv_ok_code = ok_code.
  147.   CLEAR ok_code.
  148.   CASE lv_ok_code.
  149.     WHEN 'EXIT'.
  150.       LEAVE PROGRAM.
  151.     WHEN 'CANCEL'.
  152.       LEAVE PROGRAM.
  153.     WHEN OTHERS.
  154.   ENDCASE.
  155. ENDMODULE.                 " EXIT_0100  INPUT
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement