REPORT zalv.
*****************************************************************
* Use of colours in ALV grid (cell, line and column) *
*****************************************************************
* Table
TABLES : mara.
* Type
TYPES : BEGIN OF ty_mara,
matnr LIKE mara-matnr,
matkl LIKE mara-matkl,
counter(4) TYPE n,
free_text(15) TYPE c,
color_line(4) TYPE c, " Line color
color_cell TYPE lvc_t_scol, " Cell color
END OF ty_mara.
* Structures
DATA : wa_mara TYPE ty_mara,
wa_fieldcat TYPE lvc_s_fcat,
is_layout TYPE lvc_s_layo,
wa_color TYPE lvc_s_scol.
* Internal table
DATA : it_mara TYPE STANDARD TABLE OF ty_mara,
it_fieldcat TYPE STANDARD TABLE OF lvc_s_fcat,
it_color TYPE TABLE OF lvc_s_scol.
* Variables
DATA : okcode LIKE sy-ucomm,
w_alv_grid TYPE REF TO cl_gui_alv_grid,
w_docking_container TYPE REF TO cl_gui_docking_container.
PARAMETERS : p_column AS CHECKBOX,
p_line AS CHECKBOX,
p_cell AS CHECKBOX.
START-OF-SELECTION.
PERFORM get_data.
END-OF-SELECTION.
PERFORM fill_catalog.
PERFORM fill_layout.
CALL SCREEN 2000.
*&--------------------------------------------------------------*
*& Module status_2000 OUTPUT
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
MODULE status_2000 OUTPUT.
SET PF-STATUS '2000'.
ENDMODULE. " status_2000 OUTPUT
*&---------------------------------------------------------------*
*& Module user_command_2000 INPUT
*&---------------------------------------------------------------*
* text
*----------------------------------------------------------------*
MODULE user_command_2000 INPUT.
DATA : w_okcode LIKE sy-ucomm.
MOVE okcode TO w_okcode.
CLEAR okcode.
CASE w_okcode.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " user_command_2000 INPUT
*&--------------------------------------------------------------*
*& Module alv_grid OUTPUT
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
MODULE alv_grid OUTPUT.
IF w_docking_container IS INITIAL.
PERFORM create_objects.
PERFORM display_alv_grid.
ENDIF.
ENDMODULE. " alv_grid OUTPUT
*&--------------------------------------------------------------*
*& Form create_objects
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text *---------------------------------------------------------------* FORM create_objects. * Ratio must be included in [5..95] CREATE OBJECT w_docking_container EXPORTING ratio = 95 EXCEPTIONS cntl_error = 1 cntl_system_error = 2 create_error = 3 lifetime_error = 4 lifetime_dynpro_dynpro_link = 5 others = 6. CREATE OBJECT w_alv_grid EXPORTING i_parent = w_docking_container. ENDFORM. " create_objects *&--------------------------------------------------------------* *& Form display_alv_grid *&--------------------------------------------------------------* * text *---------------------------------------------------------------* * --> p1 text
* <-- p2 text *---------------------------------------------------------------* FORM display_alv_grid. CALL METHOD w_alv_grid->set_table_for_first_display
EXPORTING
is_layout = is_layout
CHANGING
it_outtab = it_mara
it_fieldcatalog = it_fieldcat
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4.
ENDFORM. " display_alv_grid
*&--------------------------------------------------------------*
*& Form get_data
*&--------------------------------------------------------------*
* text
*---------------------------------------------------------------*
* --> p1 text
* <-- p2 text *---------------------------------------------------------------* FORM get_data. SELECT * FROM mara UP TO 5 ROWS. CLEAR : wa_mara-color_line, wa_mara-color_cell. MOVE-CORRESPONDING mara TO wa_mara. ADD 1 TO wa_mara-counter. MOVE 'Blabla' TO wa_mara-free_text. IF wa_mara-counter = '0002' AND p_line = 'X'. * Color line MOVE 'C410' TO wa_mara-color_line. ELSEIF wa_mara-counter = '0004' AND p_cell = 'X'. * Color cell MOVE 'FREE_TEXT' TO wa_color-fname. MOVE '5' TO wa_color-color-col. MOVE '1' TO wa_color-color-int. MOVE '1' TO wa_color-color-inv. APPEND wa_color TO it_color. wa_mara-color_cell[] = it_color[]. ENDIF. APPEND wa_mara TO it_mara. ENDSELECT. ENDFORM. " get_data *&--------------------------------------------------------------* *& Form fill_catalog *&--------------------------------------------------------------* * text *---------------------------------------------------------------* * --> p1 text
* <-- p2 text *---------------------------------------------------------------* FORM fill_catalog. ***************************************************************** * Colour code : * * Colour is a 4-char field where : * * - 1st char = C (color property) * * - 2nd char = color code (from 0 to 7) * * 0 = background color * * 1 = blue * * 2 = gray * * 3 = yellow * * 4 = blue/gray * * 5 = green * * 6 = red * * 7 = orange * * - 3rd char = intensified (0=off, 1=on) * * - 4th char = inverse display (0=off, 1=on) * * * * Colour overwriting priority : * * 1. Line * * 2. Cell * * 3. Column * ***************************************************************** DATA : w_position TYPE i VALUE '1'. CLEAR wa_fieldcat. MOVE w_position TO wa_fieldcat-col_pos. MOVE 'MATNR' TO wa_fieldcat-fieldname. MOVE 'MARA' TO wa_fieldcat-ref_table. MOVE 'MATNR' TO wa_fieldcat-ref_field. APPEND wa_fieldcat TO it_fieldcat. ADD 1 TO w_position. CLEAR wa_fieldcat. MOVE w_position TO wa_fieldcat-col_pos. MOVE 'MATKL' TO wa_fieldcat-fieldname. MOVE 'MARA' TO wa_fieldcat-ref_table. MOVE 'MATKL' TO wa_fieldcat-ref_field. * Color column IF p_column = 'X'. MOVE 'C610' TO wa_fieldcat-emphasize. ENDIF. APPEND wa_fieldcat TO it_fieldcat. ADD 1 TO w_position. CLEAR wa_fieldcat. MOVE w_position TO wa_fieldcat-col_pos. MOVE 'COUNTER' TO wa_fieldcat-fieldname. MOVE 'N' TO wa_fieldcat-inttype. MOVE '4' TO wa_fieldcat-intlen. MOVE 'Counter' TO wa_fieldcat-coltext. APPEND wa_fieldcat TO it_fieldcat. ADD 1 TO w_position. CLEAR wa_fieldcat. MOVE w_position TO wa_fieldcat-col_pos. MOVE 'FREE_TEXT' TO wa_fieldcat-fieldname. MOVE 'C' TO wa_fieldcat-inttype. MOVE '20' TO wa_fieldcat-intlen. MOVE 'Text' TO wa_fieldcat-coltext. APPEND wa_fieldcat TO it_fieldcat. ENDFORM. " fill_catalog *&--------------------------------------------------------------* *& Form fill_layout *&--------------------------------------------------------------* * text *---------------------------------------------------------------* * --> p1 text
* <-- p2 text *---------------------------------------------------------------* FORM fill_layout. * Field that identify color line in internal table MOVE 'COLOR_LINE' TO is_layout-info_fname. * Field that identify cell color in inetrnal table MOVE 'COLOR_CELL' TO is_layout-ctab_fname. ENDFORM. " fill_layout Flow logic code Code: PROCESS BEFORE OUTPUT. MODULE status_2000. MODULE alv_grid. PROCESS AFTER INPUT. MODULE user_command_2000.
Thursday, May 8, 2008
ALV COLURING SAMPLE CODE
Subscribe to:
Post Comments (Atom)
New Document
!doctype>
Blog Archive
-
▼
2008
(62)
-
▼
May
(61)
- BDC program for Purchase Info Records
- Schedule Agreement Data Uploading
- Upload Material Master - Finish Goods
- Upload the Pricing Condtion Records for Materials
- Program Loads the Material Assignment of Routings
- Program Loads the Bill of Material
- Vendor Master Upload Program
- ABAP Interactive reporting + BDC (RM Creation)
- Difference Between Batch Input and Call Transactio...
- Diff. Between Batch Input and Call Transaction in BDC
- Delimiter for BDC Program
- Example how Views are dealt in BDC
- BDC to Check Views Maintained For A Material Master
- Determine number of lines on screen for programmin...
- Execute BDC immediately replacing include BDCRECX1
- BDC Example: Using Table Control in BDC
- Retreive Error Message from BDC
- System Crash During BDC Update
- How to get Sales Order No on Status Bar in BDC
- Learning BDC Programming
- Question About BDC Program
- Interview Question on BDC
- Download Step by Step: How to Create BDC Program
- FAQ ON SCRIPTS 1
- FAQ ON SCRIPTS 2
- FAQ ON SCRIPTS 3
- TABLE TYPES IN SAP
- TYPES OF VIEWS IN SAP
- ABAP DATA BASE UPDATES COMPLETE
- SAP LOCK CONCEPT
- ORGANIZING DATABASE UPDATES
- ENHANCEMENTS TO DICTIONERY ELEMENTS IN SAP
- LESSON 5 DATA BASE DIALOG
- LESSON 12 ABAP DICTIONARY
- LESSON 13 PERFORMANCE DURING TABLE ACCESS
- LESSON 15 DEPENDENCIES OF DICTIONARY OBJECTS
- LESSON 16 CHANGES TO DATA BASE TABLES
- LESSON17 VIEWS IN ABAP
- LESSON 18 SEARCH HELP
- BDC 7, CREATING BATCH INPUT SESSIONS, CREATING A S...
- BDC 8, PROCESSING BATCH INPUT SESSIONS, USING CALL...
- BDC 9, Error Analysis and Restart Capability, USIN...
- BDC 10, BATCH INPUT RECORDING FOR TRANSACTION RUNS...
- ABAP BDC TABLE CONTROL
- ALV DOCUMENTATION COMPLETE
- LESSON 34 ALV GRID CONTROL
- ALV IN BRIEF
- ALV REPORT SAMPLE CODE CONTACT RENEWAL DETIALS
- REPLACE COMMENTARY IN ALV
- ALV WITH POV SAMPLE CODE
- ALV HIRACHICAL REPORT SAMPLE CODE
- ALV LIST DISPLAY SAMPLE CODE
- ALV LAYOUT DISPLAY SAMPLE CODE
- ALV BLOCK SAMPLE REPORT
- ALV CHECK BOXES SAMPLE CODE
- ALV INTERACTIVE REPORT SAMPLE CODE
- ALV DOUBLE CLICK SAMPLE CODE
- ALV SIMPLE SAMPLE CODE
- ALV COLURING SAMPLE CODE
- ALV LIST USING OO STYLE SAMPLE CODE
- ALV Programs
-
▼
May
(61)


No comments:
Post a Comment