zoukankan      html  css  js  c++  java
  • 面向对象(OO)的ALV

     1 START-OF-SELECTION.
     2 * Selection Screen
     3   SELECTION-SCREEN BEGIN OF BLOCK 1.
     4   SELECT-OPTIONS: so_pob FOR farr_d_defitem-pob_id.
     5   SELECT-OPTIONS: so_con FOR farr_d_defitem-contract_id.
     6   PARAMETERS:
     7   p_test_r AS CHECKBOX DEFAULT 'X',
     8   p_new_li AS CHECKBOX DEFAULT ''.
     9   SELECTION-SCREEN END   OF BLOCK 1.
    10 
    11 *&---------------------------------------------------------------------*
    12 *&  END-OF-SELECTION
    13 *&---------------------------------------------------------------------*
    14 END-OF-SELECTION.
    15 * In case of new lines no select is needed
    16   IF p_new_li IS INITIAL.
    17 * Select FARR_D_DEFITEM direct in output and changtab lt_ZFARR_D_DEFITEM
    18     SELECT * FROM farr_d_defitem INTO  CORRESPONDING FIELDS OF TABLE lt_zfarr_d_defitem
    19      WHERE  pob_id         IN so_pob
    20        AND  contract_id    IN so_con.
    21 
    22 * Select original table lines in memory table
    23     SELECT * FROM farr_d_defitem INTO  CORRESPONDING FIELDS OF TABLE lt_farr_d_defitem_org
    24      WHERE  pob_id         IN so_pob
    25        AND  contract_id    IN so_con.
    26   ENDIF.
    27 
    28   IF lt_zfarr_d_defitem IS INITIAL.
    29     total_num = '0'.
    30   ELSE.
    31     DESCRIBE TABLE lt_farr_d_defitem LINES total_num.
    32   ENDIF.
    33 
    34 *MESSAGE: 'make sure the contract is consistence with RAI and Sales order as needed' TYPE 'I'.
    35   MESSAGE: 'Change all lines you like to change, mark the lines you need to change and press save' TYPE 'S'.
    36 
    37  CALL SCREEN 999.
    38 
    39 INCLUDE z_oo_test_james_status_0999o01.
    40 
    41 INCLUDE z_oo_test_james_prepare_fief01.
    1 PROCESS BEFORE OUTPUT.
    2  MODULE ini_alv.
    3  MODULE STATUS_0999.
    4 
    5 *
    6 PROCESS AFTER INPUT.
    7  MODULE USER_COMMAND_0999.
     1 &---------------------------------------------------------------------*
     2 *&      Module  INI_ALV  OUTPUT
     3 *&---------------------------------------------------------------------*
     4 *       text
     5 *----------------------------------------------------------------------*
     6 MODULE ini_alv OUTPUT.
     7 
     8   lw_layout-zebra = abap_true.
     9   lw_layout-cwidth_opt = abap_true.
    10   lw_layout-sel_mode  = 'D'.
    11 
    12   IF go_container is INITIAL.
    13     create OBJECT go_container
    14       EXPORTING
    15         container_name = 'CUS'. " Name of the Screen CustCtrl
    16 
    17     CREATE OBJECT go_alv_grid
    18       EXPORTING
    19         i_parent = go_container . " Parent Container
    20 
    21 *    CREATE OBJECT go_alv_toolbar
    22 *      EXPORTING
    23 *        IO_ALV_GRID = go_alv_grid
    24 
    25     lw_layout-edit       = abap_false.
    26     lw_layout-zebra      = abap_true.
    27 *    lw_layout-stylefname = 'CT'.
    28     ls_variant-report = 'ZFARR965'.
    29 
    30     PERFORM prepare_fieldcatalog. "make chekbox for insert and delete
    31 
    32 *    CALL METHOD go_alv_grid->set_toolbar_interactive.
    33     CALL METHOD go_alv_grid->set_table_for_first_display
    34       EXPORTING
    35         i_structure_name = 'ZFARR_D_DEFITEM'
    36         is_layout        = lw_layout
    37         i_default        = abap_true
    38         i_save           = 'A'
    39 *        is_variant       = ls_variant
    40       CHANGING
    41         it_fieldcatalog  = gs_fieldcatalog
    42         it_outtab        = lt_zFARR_D_DEFITEM.  " Output Table
    43 * Set editable cells to ready for input initially
    44     CALL METHOD go_alv_grid->set_ready_for_input
    45       EXPORTING
    46         i_ready_for_input = 1.
    47 
    48   ELSE.
    49     CALL METHOD go_alv_grid->refresh_table_display.
    50   ENDIF.
    51 
    52 ENDMODULE.
     1 ***INCLUDE Z_OO_TEST_JAMES_STATUS_0999O01.
     2 *----------------------------------------------------------------------*
     3 *&---------------------------------------------------------------------*
     4 *&      Module  STATUS_0999  OUTPUT
     5 *&---------------------------------------------------------------------*
     6 *       text
     7 *----------------------------------------------------------------------*
     8 MODULE status_0999 OUTPUT.
     9   SET PF-STATUS 'STATUS_999'.
    10   SET TITLEBAR  'TITLE_999'.
    11 ENDMODULE.
     1 *&---------------------------------------------------------------------*
     2 *&      Module  USER_COMMAND_0999  INPUT
     3 *&---------------------------------------------------------------------*
     4 *       text
     5 *----------------------------------------------------------------------*
     6 MODULE user_command_0999 INPUT.
     7   DATA ok_code TYPE ok_code.
     8   CASE ok_code.
     9     WHEN 'BACK' OR 'EXIT' OR 'CANCEL'.
    10 *      leave PROGRAM.
    11       LEAVE to SCREEN 0.
    12     WHEN 'SAVE'.
    13 *      PERFORM updat_FARR_D_DEFITEM_db.
    14     WHEN OTHERS.
    15   ENDCASE.
    16 ENDMODULE.
     1 *----------------------------------------------------------------------*
     2 ***INCLUDE Z_OO_TEST_JAMES_STATUS_0999O01.
     3 *----------------------------------------------------------------------*
     4 *&---------------------------------------------------------------------*
     5 *&      Module  STATUS_0999  OUTPUT
     6 *&---------------------------------------------------------------------*
     7 *       text
     8 *----------------------------------------------------------------------*
     9 MODULE status_0999 OUTPUT.
    10   SET PF-STATUS 'STATUS_999'.
    11   SET TITLEBAR  'TITLE_999'.
    12 ENDMODULE.
     1 ----------------------------------------------------------------------*
     2 ***INCLUDE Z_OO_TEST_JAMES_PREPARE_FIEF01.
     3 *----------------------------------------------------------------------*
     4 *&---------------------------------------------------------------------*
     5 *&      Form  PREPARE_FIELDCATALOG
     6 *&---------------------------------------------------------------------*
     7 *       text
     8 *----------------------------------------------------------------------*
     9 *  -->  p1        text
    10 *  <--  p2        text
    11 *----------------------------------------------------------------------*
    12 FORM prepare_fieldcatalog .
    13 * Making feildcat
    14   CLEAR gv_fcat.
    15   gv_fcat-fieldname = 'DELETE_LINE'."fieldname
    16   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    17   gv_fcat-checkbox  = 'X'.
    18   gv_fcat-coltext   = 'Delete line'##NO_TEXT .
    19   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    20 
    21   CLEAR gv_fcat.
    22   gv_fcat-fieldname = 'NEW_LINE'."fieldname
    23   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    24   gv_fcat-checkbox  = 'X'.
    25   gv_fcat-coltext   = 'Insert line'##NO_TEXT .
    26   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    27 
    28   CLEAR gv_fcat.
    29   gv_fcat-fieldname = 'CHANGE_USER'."fieldname
    30   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    31   gv_fcat-no_out    = 'X'.
    32   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    33 
    34   CLEAR gv_fcat.
    35   gv_fcat-fieldname = 'CHANGE_TIME'."fieldname
    36   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    37   gv_fcat-no_out    = 'X'.
    38   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    39 
    40   CLEAR gv_fcat.
    41   gv_fcat-fieldname = 'CHANGE_DAT'."fieldname
    42   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    43   gv_fcat-no_out    = 'X'.
    44   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    45 
    46   CLEAR gv_fcat.
    47   gv_fcat-fieldname = 'VERSION'."fieldname
    48   gv_fcat-tabname   = 'ZFARR_D_DEFITEM'."tabname
    49   gv_fcat-no_out    = 'X'.
    50   INSERT gv_fcat INTO TABLE gs_fieldcatalog.
    51 
    52 ENDFORM.

     1 *&---------------------------------------------------------------------*
     2 *& Report Z_OO_TEST_JAMES
     3 *&---------------------------------------------------------------------*
     4 *&* (TEST FOR JAMES )Report to DISPLAY
     5 *&---------------------------------------------------------------------*
     6 REPORT Z_OO_TEST_JAMES.
     7 
     8 TABLES:
     9   farr_d_defitem.
    10 *&---------------------------------------------------------------------*
    11 *&  DATA DEFINITION
    12 *&---------------------------------------------------------------------*
    13 DATA:
    14   lt_farr_d_defitem           TYPE SORTED TABLE OF farr_d_defitem
    15                               WITH UNIQUE KEY RECON_KEY POB_ID CONDITION_TYPE DEFERRAL_CAT,
    16   ls_farr_d_defitem           TYPE farr_d_defitem ,
    17   lt_zfarr_d_defitem          TYPE STANDARD TABLE OF zfarr_d_defitem,
    18   lt_farr_d_defitem_org       TYPE STANDARD TABLE OF farr_d_defitem,
    19   ls_farr_d_defitem_org       TYPE farr_d_defitem.
    20 
    21 * ALV
    22 TYPE-POOLS:
    23     slis.
    24 *Class definition for ALV toolbar
    25 *CLASS:      lcl_alv_toolbar   DEFINITION DEFERRED.
    26 
    27 *Screen fields
    28 DATA:
    29   total_num TYPE i.
    30 
    31 * OO DEFINITION
    32 DATA:
    33   go_container  TYPE REF TO cl_gui_custom_container,
    34 *  go_alv_toolbar TYPE REF TO lcl_alv_toolbar,           "Alv toolbar
    35   go_alv_grid   TYPE REF TO cl_gui_alv_grid.
    36 
    37 * Workareas
    38 DATA lt_fieldcat         TYPE lvc_t_fcat.
    39 DATA:
    40   lw_fieldcat LIKE LINE OF lt_fieldcat,
    41   lw_layout   TYPE lvc_s_layo,
    42   gs_fieldcatalog       TYPE lvc_s_fcat OCCURS 0,
    43   gv_fcat               LIKE LINE OF gs_fieldcatalog.
    44 
    45 DATA: ls_variant TYPE disvariant.
  • 相关阅读:
    从苏宁电器到卡巴斯基第13篇:我在苏宁电器当营业员 V
    从苏宁电器到卡巴斯基第12篇:我在苏宁电器当营业员 IV
    从苏宁电器到卡巴斯基第11篇:我在苏宁电器当营业员 III
    从苏宁电器到卡巴斯基第10篇:我在苏宁电器当营业员 II
    从苏宁电器到卡巴斯基第09篇:我在苏宁电器当营业员 I
    从苏宁电器到卡巴斯基第08篇:来到苏宁之前的过渡
    【目录】从苏宁电器到卡巴斯基
    从苏宁电器到卡巴斯基第07篇:我在佳木斯的日子(下)
    从苏宁电器到卡巴斯基第06篇:我在佳木斯的日子(中)
    从苏宁电器到卡巴斯基第05篇:我在佳木斯的日子(上)
  • 原文地址:https://www.cnblogs.com/HARU/p/7629165.html
Copyright © 2011-2022 走看看