03-27-2007 12:48 PM
03-27-2007 12:49 PM
hi,
REPORT ZC3_DYNITABDISPALV MESSAGE-ID zmsgdynamic.
----
Description : Dynamic internal table creation and
displaying in ALV Grid.
Technical Contact : SivaSubramanian Kalaiselvan
Technical Spec. Number: ZC3_DYNITABDISPALV.
Created on : 21/01/05.
Transport request : PDCK902348.
Development Class : zc3_sivdev.
********************************************************************
TABLES : tadir. " table in which the obj_name field stores all the
" database table names
TYPE-POOLS : slis.
TYPES ztab LIKE dcobjdef-name .
DATA : dyntab LIKE dntab OCCURS 0 WITH HEADER LINE,
dref TYPE REF TO data,
i_fcat TYPE lvc_t_fcat ,
wa_fcat TYPE lvc_s_fcat ,
w_pgm LIKE sy-repid,
count TYPE i VALUE 0,
w_obj_name LIKE tadir-obj_name.
DATA : wa_fieldcat TYPE slis_fieldcat_alv, "ALV FIELD CATALOG TABLE
i_fieldcat TYPE slis_t_fieldcat_alv, "ALV FIELD CATALOG STRUCTURE
i_event TYPE slis_t_event, "ALV EVENT HANDLING TABLE
wa_event TYPE slis_alv_event, "ALV EVENT HANDLING STRUCT
i_listheader TYPE slis_t_listheader, "ALV LIST HEADER TABLE
wa_listheader TYPE slis_listheader, "ALV LIST HEADER STRUCT
i_layout TYPE slis_layout_alv.
FIELD-SYMBOLS :<newtab> TYPE table.
INITIALIZATION.
w_pgm = sy-repid.
****************SELECTION-SCREEN 2000
SELECTION-SCREEN BEGIN OF SCREEN 2000 AS WINDOW.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE tit1.
PARAMETERS: tab_name TYPE ztab . " Enter database table name
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN END OF SCREEN 2000.
***************END OF SELECTION-SCREEN 2000
tit1 = 'Enter Table Name?'.
START-OF-SELECTION.
CALL SELECTION-SCREEN 2000 STARTING AT 10 10.
PERFORM occurcheck.
*********CHECKING WHETHER THE DATABASE TABLE EXISTS
FORM occurcheck.
SELECT obj_name FROM tadir INTO w_obj_name WHERE obj_name = tab_name.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE i003."Table not found in the database .
CALL SELECTION-SCREEN 2000 STARTING AT 10 10.
PERFORM occurcheck.
ELSE.
PERFORM startprocess.
EXIT.
ENDIF.
ENDFORM.
**********GETTING THE FIELD NAMES OF THE INPUT DATABASE TABLE
FORM startprocess.
CALL FUNCTION 'NAMETAB_GET'
EXPORTING
langu = sy-langu
tabname = tab_name
TABLES
nametab = dyntab. "dntab now contains the field names
**********FILLING THE CATALOG OF NEW DYNAMIC INTERNAL TABLE
LOOP AT dyntab.
wa_fcat-fieldname = dyntab-fieldname.
wa_fcat-ref_field = dyntab-fieldname.
wa_fcat-ref_table = dyntab-tabname.
APPEND wa_fcat TO i_fcat .
ENDLOOP.
***********CREATING A POINTER (FIELD SYMBOL) TO THE INTERNAL TABLE
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = i_fcat
IMPORTING
ep_table = dref.
ASSIGN dref->* TO <newtab>.
SELECT * FROM (dyntab-tabname) INTO TABLE <newtab>.
**********CHECKING WHETHER DATA HAS BEEN UPLOADED.
DESCRIBE TABLE <newtab> LINES sy-tfill.
DESCRIBE TABLE <newtab> LINES count.
IF sy-tfill = 0 .
MESSAGE i001. "Internal table is not filled
ELSE.
MESSAGE i002 WITH count. "Internal table is filled
ENDIF.
****************EVENTS USED IN ALV
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0 " 0-simple list, 1-hierarchial list.
IMPORTING
et_events = i_event.
SORT i_event.
READ TABLE i_event
WITH KEY name = slis_ev_top_of_page "TOP_OF_PAGE event
INTO wa_event.
IF sy-subrc = 0.
MOVE 'IAM_TOP_OF_PAGE' TO wa_event-form. "IAM_TOP_OF_PAGE will
"call subroutine automatically
MODIFY i_event FROM wa_event INDEX sy-tabix.
ENDIF.
****************DISPLAYING ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = w_pgm
i_structure_name = dyntab-tabname
it_events = i_event
TABLES
t_outtab = <newtab>.
ENDFORM.
**********FORM TOP_OF-PAGE.
******FILLING OF LIST HEADER TABLE
FORM iam_top_of_page.
CLEAR wa_listheader.
wa_listheader-typ = 'H'. "HEADING
wa_listheader-info = 'ALV CREATED DYNAMICALLY'.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'. "SUB-HEADING
wa_listheader-key = 'PGM NAME:'.
wa_listheader-info = w_pgm.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-key = 'USER:'.
wa_listheader-info = sy-uname.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-key = 'DATE:'.
wa_listheader-info = sy-datum.
APPEND wa_listheader TO i_listheader.
CLEAR wa_listheader.
wa_listheader-typ = 'S'.
wa_listheader-key = 'TABLE NAME:'.
wa_listheader-info = dyntab-tabname.
APPEND wa_listheader TO i_listheader.
********FUNCTION TO WRITE THE TITLE AND SUB-TITLE OF THE ALV.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_listheader.
ENDFORM.
Initial steps to be taken before running the code:
Create a message class of name zmsgdynamic with fields as in the following screenshot.
Message was edited by:
sunil kumar
03-27-2007 12:49 PM
03-27-2007 12:50 PM
Hi....it will also gives you how to use exceptions in that..( lights..)
REPORT YH642_ALVGRID_LIGHT.
TYPE-POOLS SLIS.
include <list>.
include <icon>.
tables:
vbak,
vbuk,
likp.
data:
begin of fs_follow ,
vbelv like vbfa-vbelv,
follow like vbfa-VBELN,
end of fs_follow.
data:
begin of fs_status,
vbeln like vbuk-vbeln,
LFSTK like vbuk-LFSTK,
end of fs_status.
data:
t_follow like standard table of fs_follow,
t_status like standard table of fs_status.
DATA:
t_fieldcat type SLIS_T_FIELDCAT_ALV,
fs_fieldcat like line of t_fieldcat.
select-options:
s_order for vbak-vbeln.
data:
begin of fs_data,
vbeln like vbak-vbeln,
follo like vbfa-VBELN,
lfstk like vbuk-lfstk,
icon(4) type c,
end of fs_data.
data:
t_data like standard table
of fs_data.
at selection-screen.
select vbelv vbeln
from vbfa
into table t_follow
where vbfa~VBELV in s_order
and VBTYP_N = 'J'.
if sy-subrc ne 0.
message 'Plz enter valid Sales Doc No.' type 'E'.
else.
select vbeln LFSTK
from vbuk
into table t_status
where vbeln in s_order.
for all entries in t_follow
where vbeln eq t_follow-follow
and LFSTK eq 'A'
or lfstk eq 'B'
or lfstk eq 'C'
or lfstk eq ' '.
if sy-subrc ne 0.
message 'This has no delivery doc...' type 'E'.
endif.
endif.
end-of-selection.
perform fill_fcat.
loop at t_status into fs_status.
case fs_status-lfstk.
when 'A'.
fs_data-icon = '@5C@'.
when 'B'.
fs_data-icon = '@5D@'.
when 'C'.
fs_data-icon = '@5B@'.
when ' '.
fs_data-icon = '@06@'.
endcase.
read table t_follow index sy-tabix into fs_follow.
fs_data-vbeln = fs_follow-vbelv.
fs_data-follo = fs_follow-follow.
fs_data-lfstk = fs_status-lfstk.
append fs_data to t_data.
clear fs_data.
endloop.
*skip.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = T_FIELDCAT
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_DATA
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
&----
*& Form fill_fcat
&----
text
----
--> p1 text
<-- p2 text
----
FORM fill_fcat .
fs_fieldcat-col_pos = 1.
fs_fieldcat-tabname = 'T_DATA'.
fs_fieldcat-fieldname = 'VBELN'.
fs_fieldcat-seltext_s = 'Document'.
append fs_fieldcat to t_fieldcat.
fs_fieldcat-col_pos = 2.
fs_fieldcat-tabname = 'T_DATA'.
fs_fieldcat-fieldname = 'FOLLO'.
fs_fieldcat-seltext_s = 'Delivery'.
append fs_fieldcat to t_fieldcat.
fs_fieldcat-col_pos = 3.
fs_fieldcat-tabname = 'T_DATA'.
fs_fieldcat-fieldname = 'LFSTK'.
fs_fieldcat-seltext_s = 'Status'.
append fs_fieldcat to t_fieldcat.
fs_fieldcat-col_pos = 4.
fs_fieldcat-tabname = 'T_DATA'.
fs_fieldcat-fieldname = 'ICON'.
fs_fieldcat-seltext_s = 'Symbol'.
fs_fieldcat-icon = 'X'.
append fs_fieldcat to t_fieldcat.
ENDFORM. " fill_fcat
03-27-2007 12:51 PM
Hi Raghu,
Check this out.
sample report for interactive report for purchase order.
REPORT YMS_ALVINTERSAMPLE NO STANDARD PAGE HEADING LINE-SIZE 650
MESSAGE-ID ZZ_9838.
TYPE-POOLS: SLIS.
*type declaration for values from ekko
TYPES: BEGIN OF I_EKKO,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
BUKRS LIKE EKKO-BUKRS,
BSART LIKE EKKO-BSART,
LIFNR LIKE EKKO-LIFNR,
END OF I_EKKO.
DATA: IT_EKKO TYPE STANDARD TABLE OF I_EKKO INITIAL SIZE 0,
WA_EKKO TYPE I_EKKO.
*type declaration for values from ekpo
TYPES: BEGIN OF I_EKPO,
EBELN LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
MENGE LIKE EKPO-MENGE,
MEINS LIKE EKPO-MEINS,
NETPR LIKE EKPO-NETPR,
END OF I_EKPO.
DATA: IT_EKPO TYPE STANDARD TABLE OF I_EKPO INITIAL SIZE 0,
WA_EKPO TYPE I_EKPO .
*variable for Report ID
DATA: V_REPID LIKE SY-REPID .
*declaration for fieldcatalog
DATA: I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA: IT_LISTHEADER TYPE SLIS_T_LISTHEADER.
declaration for events table where user comand or set PF status will
be defined
DATA: V_EVENTS TYPE SLIS_T_EVENT,
WA_EVENT TYPE SLIS_ALV_EVENT.
declartion for layout
DATA: ALV_LAYOUT TYPE SLIS_LAYOUT_ALV.
declaration for variant(type of display we want)
DATA: I_VARIANT TYPE DISVARIANT,
I_VARIANT1 TYPE DISVARIANT,
I_SAVE(1) TYPE C.
*PARAMETERS : p_var TYPE disvariant-variant.
*Title displayed when the alv list is displayed
DATA: I_TITLE_EKKO TYPE LVC_TITLE VALUE 'FIRST LIST DISPLAYED'.
DATA: I_TITLE_EKPO TYPE LVC_TITLE VALUE 'SECONDRY LIST DISPLAYED'.
INITIALIZATION.
V_REPID = SY-REPID.
PERFORM BUILD_FIELDCATLOG.
PERFORM EVENT_CALL.
PERFORM POPULATE_EVENT.
START-OF-SELECTION.
PERFORM DATA_RETRIEVAL.
PERFORM BUILD_LISTHEADER USING IT_LISTHEADER.
PERFORM DISPLAY_ALV_REPORT.
&----
*& Form BUILD_FIELDCATLOG
&----
Fieldcatalog has all the field details from ekko
----
FORM BUILD_FIELDCATLOG.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'AEDAT'.
WA_FIELDCAT-SELTEXT_M = 'DATE.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-SELTEXT_M = 'COMPANY CODE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'BUKRS'.
WA_FIELDCAT-SELTEXT_M = 'DOCMENT TYPE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKKO'.
WA_FIELDCAT-FIELDNAME = 'LIFNR'.
WA_FIELDCAT-NO_OUT = 'X'.
WA_FIELDCAT-SELTEXT_M = 'VENDOR CODE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. "BUILD_FIELDCATLOG
&----
*& Form EVENT_CALL
&----
we get all events - TOP OF PAGE or USER COMMAND in table v_events
----
FORM EVENT_CALL.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "EVENT_CALL
&----
*& Form POPULATE_EVENT
&----
Events populated for TOP OF PAGE & USER COMAND
----
FORM POPULATE_EVENT.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'USER_COMMAND'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'USER_COMMAND'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-NAME.
ENDIF.
ENDFORM. "POPULATE_EVENT
&----
*& Form data_retrieval
&----
retreiving values from the database table ekko
----
FORM DATA_RETRIEVAL.
SELECT EBELN AEDAT BUKRS BSART LIFNR FROM EKKO INTO TABLE IT_EKKO.
ENDFORM. "data_retrieval
&----
*& Form bUild_listheader
&----
text
----
-->I_LISTHEADEtext
----
FORM BUILD_LISTHEADER USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'this is my first alv pgm'.
HLINE-TYP = 'H'.
ENDFORM. "build_listheader
&----
*& Form display_alv_report
&----
text
----
FORM DISPLAY_ALV_REPORT.
V_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = I_TITLE_EKKO
I_GRID_SETTINGS =
IS_LAYOUT = ALV_LAYOUT
IT_FIELDCAT = I_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
i_default = 'ZLAY1'
I_SAVE = 'A'
is_variant = i_variant
IT_EVENTS = V_EVENTS
TABLES
T_OUTTAB = IT_EKKO
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "display_alv_report
&----
*& Form TOP_OF_PAGE
&----
text
----
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER
i_logo =
I_END_OF_LIST_GRID =
.
ENDFORM. "TOP_OF_PAGE
&----
*& Form USER_COMMAND
&----
text
----
-->R_UCOMM text
-->, text
-->RS_SLEFIELDtext
----
FORM USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN '&IC1'.
READ TABLE IT_EKKO INTO WA_EKKO INDEX RS_SELFIELD-TABINDEX.
PERFORM BUILD_FIELDCATLOG_EKPO.
PERFORM EVENT_CALL_EKPO.
PERFORM POPULATE_EVENT_EKPO.
PERFORM DATA_RETRIEVAL_EKPO.
PERFORM BUILD_LISTHEADER_EKPO USING IT_LISTHEADER.
PERFORM DISPLAY_ALV_EKPO.
ENDCASE.
ENDFORM. "user_command
&----
*& Form BUILD_FIELDCATLOG_EKPO
&----
text
----
FORM BUILD_FIELDCATLOG_EKPO.
WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-FIELDNAME = 'EBELN'.
WA_FIELDCAT-SELTEXT_M = 'PO NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'IT_EKPO'.
WA_FIELDCAT-FIELDNAME = 'EBELP'.
WA_FIELDCAT-SELTEXT_M = 'LINE NO'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MATNR'.
WA_FIELDCAT-SELTEXT_M = 'MATERIAL NO.'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MENGE'.
WA_FIELDCAT-SELTEXT_M = 'QUANTITY'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'MEINS'.
WA_FIELDCAT-SELTEXT_M = 'UOM'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'I_EKPO'.
WA_FIELDCAT-FIELDNAME = 'NETPR'.
WA_FIELDCAT-SELTEXT_M = 'PRICE'.
APPEND WA_FIELDCAT TO I_FIELDCAT.
CLEAR WA_FIELDCAT.
ENDFORM. "BUILD_FIELDCATLOG_EKPO
&----
*& Form event_call_ekpo
&----
we get all events - TOP OF PAGE or USER COMMAND in table v_events
----
FORM EVENT_CALL_EKPO.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = V_EVENTS
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "event_call_ekpo
&----
*& Form POPULATE_EVENT
&----
Events populated for TOP OF PAGE & USER COMAND
----
FORM POPULATE_EVENT_EKPO.
READ TABLE V_EVENTS INTO WA_EVENT WITH KEY NAME = 'TOP_OF_PAGE'.
IF SY-SUBRC EQ 0.
WA_EVENT-FORM = 'TOP_OF_PAGE'.
MODIFY V_EVENTS FROM WA_EVENT TRANSPORTING FORM WHERE NAME =
WA_EVENT-FORM.
ENDIF.
ENDFORM. "POPULATE_EVENT
&----
*& Form TOP_OF_PAGE
&----
text
----
FORM F_TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = IT_LISTHEADER
i_logo =
I_END_OF_LIST_GRID =
.
ENDFORM. "TOP_OF_PAGE
&----
*& Form USER_COMMAND
&----
text
----
-->R_UCOMM text
-->, text
-->RS_SLEFIELDtext
----
*retreiving values from the database table ekko
FORM DATA_RETRIEVAL_EKPO.
SELECT EBELN EBELP MATNR MENGE MEINS NETPR FROM EKPO INTO TABLE IT_EKPO.
ENDFORM.
FORM BUILD_LISTHEADER_EKPO USING I_LISTHEADER TYPE SLIS_T_LISTHEADER.
DATA: HLINE1 TYPE SLIS_LISTHEADER.
HLINE1-TYP = 'H'.
HLINE1-INFO = 'CHECKING PGM'.
ENDFORM.
FORM DISPLAY_ALV_EKPO.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE = I_TITLE_EKPO
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = I_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT =
I_SAVE = 'A'
IS_VARIANT =
IT_EVENTS = V_EVENTS
TABLES
T_OUTTAB = IT_EKPO
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
Hope this resolves your query.
Reward all the helpful answers.
Regards
03-27-2007 12:55 PM
Check these transactions for SAP sample/demo
- SE83 (reuse library)
- DWDM (development workbench demos)
Regards
03-27-2007 12:57 PM
Hi,
Go through the following link you will get step by step process for creating alv grid.
Also look at the following thread for more information.
<b> Without writing any code auto generation.</b>
Click here http://www.alvrobot.com.ar/home.php , here in this web page you can see a
hyper link I want to start generating ALV reports! click here.
Regards,
Sandhya