06-16-2008 9:19 AM
I WANT TO LEARN ALV GRID CAN U TELL ME WHICH ONE WILL BE GOOD TO LEARN AND REFER.
06-16-2008 9:21 AM
06-16-2008 9:21 AM
06-16-2008 9:23 AM
Hi,
ALV
1. Please give me general info on ALV.
http://www.sapfans.com/forums/viewtopic.php?t=58286
http://www.sapfans.com/forums/viewtopic.php?t=76490
http://www.sapfans.com/forums/viewtopic.php?t=20591
http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
2. How do I program double click in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=11601
http://www.sapfans.com/forums/viewtopic.php?t=23010
3. How do I add subtotals (I have problem to add them)...
http://www.sapfans.com/forums/viewtopic.php?t=20386
http://www.sapfans.com/forums/viewtopic.php?t=85191
http://www.sapfans.com/forums/viewtopic.php?t=88401
http://www.sapfans.com/forums/viewtopic.php?t=17335
4. How to add list heading like top-of-page in ABAP lists?
http://www.sapfans.com/forums/viewtopic.php?t=58775
http://www.sapfans.com/forums/viewtopic.php?t=60550
http://www.sapfans.com/forums/viewtopic.php?t=16629
5. How to print page number / total number of pages X/XX in ALV? http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
http://www.sapfans.com/forums/viewtopic.php?t=64320
http://www.sapfans.com/forums/viewtopic.php?t=44477
7. How can I set the cell color in ALV? http://www.sapfans.com/forums/viewtopic.php?t=52107
8. How do I print a logo/graphics in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=81149
http://www.sapfans.com/forums/viewtopic.php?t=35498
http://www.sapfans.com/forums/viewtopic.php?t=5013
9. How do I create and use input-enabled fields in ALV?
http://www.sapfans.com/forums/viewtopic.php?t=84933
http://www.sapfans.com/forums/viewtopic.php?t=69878
10. How can I use ALV for reports that are going to be run in background?
http://www.sapfans.com/forums/viewtopic.php?t=83243
http://www.sapfans.com/forums/viewtopic.php?t=19224
11. How can I display an icon in ALV? (Common requirement is traffic light icon).
http://www.sapfans.com/forums/viewtopic.php?t=79424
http://www.sapfans.com/forums/viewtopic.php?t=24512
12. How can I display a checkbox in ALV? http://www.sapfans.com/forums/viewtopic.php?t=88376
http://www.sapfans.com/forums/viewtopic.php?t=40968
http://www.sapfans.com/forums/viewtopic.php?t=6919
Check this for basic concepts of OOPS
Tabstrip
Editable ALV
Tree
http://www.sapdevelopment.co.uk/reporting/alv/alvtree/alvtree_usrint.htm
General Tutorial for OOPS
http://www.sapdevelopment.co.uk/reporting/alvhome.htm
http://www.sap-img.com/abap/what-is-alv-programming.htm
http://www.sap-img.com/abap-function.htm
http://www.geocities.com/mpioud/Abap_programs.html
http://www.sapdevelopment.co.uk/reporting/alv/alvtree%5Calvtree_basic.htm
http://esnips.com/doc/ad20dca9-6182-4903-8d8f-96a66dc8590c/ALV.pdf
http://www.sap-img.com/abap-function.htm
Thanks
VIkranth
06-16-2008 9:23 AM
06-16-2008 9:27 AM
Hi Ansuman,
Please check this link
http://www.geocities.com/mpioud/Z_ALV_LIST_TRANSPOSED_V2.html
CONSTANTS :
c_x VALUE 'X'.
*---------------------------------------------------------------------*
TYPE-POOLS: slis. " ALV Global types
SELECTION-SCREEN :
BEGIN OF LINE, COMMENT 1(35) v_1 FOR FIELD p_table. "#EC NEEDED
PARAMETERS p_table TYPE dd03l-tabname OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_2 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '10' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
FIELD-SYMBOLS :
<gt_data> TYPE STANDARD TABLE. " Read Data
*---------------------------------------------------------------------*
INITIALIZATION.
v_1 = 'Table or view'.
v_2 = 'Maximum of records to read'.
*---------------------------------------------------------------------*
AT SELECTION-SCREEN.
PERFORM f_check_table.
*---------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM f_read_data.
*---------------------------------------------------------------------*
END-OF-SELECTION.
PERFORM f_display_data.
*---------------------------------------------------------------------*
* Form f_read_data
*---------------------------------------------------------------------*
FORM f_read_data.
DATA:
lp_table TYPE REF TO data. " Pointer to dynamic table
* Create internal table
CREATE DATA lp_table TYPE STANDARD TABLE OF (p_table)
WITH NON-UNIQUE DEFAULT KEY.
ASSIGN lp_table->* TO <gt_data>.
SELECT * INTO CORRESPONDING FIELDS OF TABLE <gt_data>
UP TO p_max ROWS
FROM (p_table).
ENDFORM. " F_READ_DATA
*---------------------------------------------------------------------*
* Form F_DISPLAY_DATA
*---------------------------------------------------------------------*
FORM f_display_data.
DATA:
l_column TYPE sy-tabix,
lp_struct TYPE REF TO data,
lp_table TYPE REF TO data, " Pointer to dynamic table
ls_lvc_cat TYPE lvc_s_fcat,
lt_lvc_cat TYPE lvc_t_fcat, " Field catalog
lt_fcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_layout TYPE slis_layout_alv.
FIELD-SYMBOLS :
<ls_header> TYPE ANY,
<field_header> TYPE ANY,
<field_data> TYPE ANY,
<ls_data> TYPE ANY,
<lt_data> TYPE STANDARD TABLE." Data to display
ls_lvc_cat-fieldname = 'COLUMNTEXT'.
ls_lvc_cat-ref_table = 'LVC_S_DETA'.
APPEND ls_lvc_cat TO lt_lvc_cat.
ls_fieldcat-fieldname = 'COLUMNTEXT'.
ls_fieldcat-ref_tabname = 'LVC_S_DETA'.
ls_fieldcat-key = c_x.
APPEND ls_fieldcat TO lt_fieldcat.
DESCRIBE TABLE <gt_data>.
DO sy-tfill TIMES.
* For each line, a column 'VALUEx' is created in the fieldcatalog
* Build Fieldcatalog
WRITE sy-index TO ls_lvc_cat-fieldname LEFT-JUSTIFIED.
CONCATENATE 'VALUE' ls_lvc_cat-fieldname
INTO ls_lvc_cat-fieldname.
ls_lvc_cat-ref_field = 'VALUE'.
ls_lvc_cat-ref_table = 'LVC_S_DETA'.
APPEND ls_lvc_cat TO lt_lvc_cat.
* Build Fieldcatalog
CLEAR ls_fieldcat.
ls_fieldcat-fieldname = ls_lvc_cat-fieldname.
ls_fieldcat-ref_fieldname = 'VALUE'.
ls_fieldcat-ref_tabname = 'LVC_S_DETA'.
APPEND ls_fieldcat TO lt_fieldcat.
ENDDO.
* Create internal table
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_lvc_cat
IMPORTING
ep_table = lp_table.
ASSIGN lp_table->* TO <lt_data>.
* Create structure = structure of the internal table
CREATE DATA lp_struct LIKE LINE OF <lt_data>.
ASSIGN lp_struct->* TO <ls_header>.
* Create structure = structure of the internal table
CREATE DATA lp_struct LIKE LINE OF <gt_data>.
ASSIGN lp_struct->* TO <ls_data>.
* Create field catalog from dictionary structure
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = p_table
CHANGING
ct_fieldcat = lt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
DESCRIBE TABLE lt_fcat.
* Fill the internal to display <lt_data>
DO sy-tfill TIMES.
IF sy-index = 1.
READ TABLE lt_fcat INTO ls_fieldcat INDEX 1.
IF ls_fieldcat-fieldname = 'MANDT'.
* If 1st column is MANDT, it's not displayed
CONTINUE.
ENDIF.
ENDIF.
* For each field of GT_DATA
ASSIGN COMPONENT 1 OF STRUCTURE <ls_header> TO <field_header>.
IF sy-subrc NE 0. EXIT .ENDIF.
READ TABLE lt_fcat INTO ls_fieldcat INDEX sy-index.
* Fill 1st column
<field_header> = ls_fieldcat-seltext_m.
IF <field_header> IS INITIAL.
<field_header> = ls_fieldcat-fieldname.
ENDIF.
LOOP AT <gt_data> INTO <ls_data>.
l_column = sy-tabix + 1.
ASSIGN COMPONENT sy-index OF STRUCTURE <ls_data> TO <field_data>.
IF sy-subrc NE 0. EXIT .ENDIF.
ASSIGN COMPONENT l_column OF STRUCTURE <ls_header> TO <field_header>.
IF sy-subrc NE 0. EXIT .ENDIF.
WRITE <field_data> TO <field_header> LEFT-JUSTIFIED.
ENDLOOP.
APPEND <ls_header> TO <lt_data>.
ENDDO.
ls_layout-zebra = c_x.
ls_layout-no_colhead = c_x.
ls_layout-colwidth_optimize = c_x.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
is_layout = ls_layout
it_fieldcat = lt_fieldcat
TABLES
t_outtab = <lt_data>.
ENDFORM. " F_DISPLAY_DATA
*---------------------------------------------------------------------*
* Form F_CHECK_TABLE
*---------------------------------------------------------------------*
FORM f_check_table .
DATA :
l_tabclass TYPE tabclass, " Table category
l_viewclass TYPE viewclass. " View Type
* Read table category
SELECT SINGLE tabclass viewclass
INTO (l_tabclass, l_viewclass)
FROM dd02l
WHERE tabname = p_table
AND as4local = 'A'
AND as4vers = '0000'.
IF sy-subrc NE 0.
* Table & is not active in the Dictionary
MESSAGE e402(mo) WITH p_table.
ELSEIF l_tabclass = 'INTTAB'.
* & is a structure, not a table
MESSAGE e403(mo) WITH p_table.
ELSEIF l_tabclass = 'VIEW' AND l_viewclass NE 'D'.
* Only use views of type "Maintenance view"
MESSAGE e309(sv).
ENDIF.
ENDFORM. " F_CHECK_TABLE
Best regards,
raam
06-16-2008 9:44 AM
Hi,
You can find number of SAP standard programs for ALV grid.
Type : BCALV_GRID_* in SE38.
BCALV_GRID_02 is very simple program to refer.
Plz reward if useful.
Thanks,
Dhanashri
Edited by: Dhanashri Pawar on Jun 16, 2008 10:48 AM