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.