‎2007 Sep 19 10:01 AM
HI
can u tell me as what function module i should use to display my content in alv in next window.
Pls refer me any program also.
regards
‎2007 Sep 19 10:03 AM
REPORT ZALV .
TABLES : VBAP.
TYPE-POOLS : SLIS.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
ERNAM LIKE VBAP-ERNAM,
ERDAT LIKE VBAP-ERDAT.
DATA : END OF ITAB.
DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
START-OF-SELECTION.
SELECT VBELN
POSNR
ERNAM
ERDAT
FROM VBAP
INTO CORRESPONDING FIELDS OF TABLE ITAB
WHERE VBELN IN S_VBELN.
PERFORM MODIFY_CAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_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_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_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
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
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.
*END-OF-SELECTION.
*LOOP AT ITAB.
*WRITE : / ITAB-VBELN,
ITAB-POSNR,
ITAB-ERNAM,
ITAB-ERDAT.
*ENDLOOP.
&----
*& Form MODIFY_CAT
&----
text
----
--> p1 text
<-- p2 text
----
FORM MODIFY_CAT .
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'VBELN'.
WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
WA_FIELDCAT-COL_POS = 1.
WA_FIELDCAT-OUTPUTLEN = 10.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'POSNR'.
WA_FIELDCAT-SELTEXT_L = 'ITEM'.
WA_FIELDCAT-COL_POS = 2.
WA_FIELDCAT-OUTPUTLEN = 6.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'ERNAM'.
WA_FIELDCAT-SELTEXT_L = 'PERSON NAME'.
WA_FIELDCAT-COL_POS = 3.
WA_FIELDCAT-OUTPUTLEN = 12.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_FIELDCAT-TABNAME = 'ITAB'..
WA_FIELDCAT-FIELDNAME = 'ERDAT'.
WA_FIELDCAT-SELTEXT_L = 'DATE'.
WA_FIELDCAT-COL_POS = 4.
WA_FIELDCAT-OUTPUTLEN = 8.
APPEND WA_FIELDCAT TO IT_FIELDCAT.
CLEAR WA_FIELDCAT.
WA_LAYOUT-ZEBRA = 'X'.
*WA_LAYOUT-INFO_FIELDNAME = 'COLOR'.
ENDFORM. " MODIFY_CAT
This is sample program for getting output using ALV
Regards
Vasu
‎2007 Sep 19 10:03 AM
‎2007 Sep 19 10:04 AM
REUSE_ALV_GRID_DISPLAY
see this
&----
*& TABLES DECLARATION *
&----
TABLES : ekko, ekpo, t001w, t161t, lfa1.
&----
*& INTERNAL TABLE DECLARATION *
&----
TYPES : BEGIN OF tp_itab1,
bukrs TYPE ekko-bukrs,
lifnr TYPE ekko-lifnr,
ebeln TYPE ekko-ebeln,
waers TYPE ekko-waers,
bsart TYPE ekko-bsart,
ekorg TYPE ekko-ekorg,
ekgrp TYPE ekko-ekgrp,
ebelp TYPE ekpo-ebelp,
txz01 TYPE ekpo-txz01,
matnr TYPE ekpo-matnr,
werks TYPE ekpo-werks,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
netwr TYPE ekpo-netwr,
name1 TYPE t001w-name1,
header_text(132),
chk TYPE c,
END OF tp_itab1.
DATA : t_itab1 TYPE STANDARD TABLE OF tp_itab1,
wa_itab1 TYPE tp_itab1,
ws_name1 TYPE t001w-name1.
DATA : f_itab1 TYPE STANDARD TABLE OF tp_itab1,
wa_fitab1 TYPE tp_itab1.
DATA : f_itab2 TYPE STANDARD TABLE OF tp_itab1,
wa_fitab2 TYPE tp_itab1.
TYPES : BEGIN OF tp_name1,
werks TYPE t001w-werks,
name1 TYPE t001w-name1,
END OF tp_name1.
DATA : t_name1 TYPE STANDARD TABLE OF tp_name1,
wa_name1 TYPE tp_name1.
DATA : t_lfa1 TYPE STANDARD TABLE OF lfa1,
wa_lfa1 TYPE lfa1.
DATA: hold_tabix TYPE sy-tabix.
DATA : t_tlinetab TYPE STANDARD TABLE OF tline,
wa_tlinetab TYPE tline.
DATA: ws_name TYPE thead-tdname,
ws_repid TYPE sy-repid VALUE 'YKTEST'.
DATA : repid TYPE sy-repid.
DATA : total TYPE p DECIMALS 2,
quantity TYPE p DECIMALS 3.
CONSTANTS : ws_id TYPE thead-tdid VALUE 'F01',
ws_object TYPE thead-tdobject VALUE 'EKKO',
lc_view(1) TYPE c VALUE 'F',
lc_form(10) TYPE c VALUE 'YK_FORM'.
&----
*& ALV DECLARATION *
&----
TYPE-POOLS : slis.
DATA: lt_fieldcat TYPE slis_t_fieldcat_alv,
lf_fieldcat TYPE slis_fieldcat_alv.
DATA: lh_index LIKE lf_fieldcat-col_pos.
DATA: l_layout TYPE slis_layout_alv.
DATA : l_sort TYPE slis_t_sortinfo_alv,
w_sort TYPE slis_sortinfo_alv.
&----
*& SELECTION-SCREEN *
&----
SELECTION-SCREEN BEGIN OF BLOCK a1 WITH FRAME TITLE text-001.
SELECTION-SCREEN SKIP 2.
SELECT-OPTIONS: s_bukrs FOR ekko-bukrs OBLIGATORY.
SELECT-OPTIONS: s_lifnr FOR ekko-lifnr OBLIGATORY.
SELECT-OPTIONS: s_ebeln FOR ekko-ebeln.
PARAMETERS: p_bsart TYPE ekko-bsart.
SELECT-OPTIONS: s_matnr FOR ekpo-matnr.
SELECT-OPTIONS: s_ekorg FOR ekko-ekorg.
SELECT-OPTIONS: s_ekgrp FOR ekko-ekgrp.
SELECTION-SCREEN SKIP 2.
SELECTION-SCREEN END OF BLOCK a1.
&----
*& START-OF-SELECTION *
&----
START-OF-SELECTION.
FETCHING DATA
PERFORM fetch_data.
BUILD FIELD CATALOG
PERFORM build_fieldcatalog.
BUILD LAYOUT
PERFORM build_layout.
SORT LAYOUT
PERFORM sort_layout.
&----
*& END-OF-SELECTION. *
&----
END-OF-SELECTION.
*DISPLAY GRID
PERFORM display_grid.
&----
*& Form fetch_data *
&----
FORM fetch_data.
IF p_bsart IS INITIAL.
SELECT ekko~bukrs
ekko~lifnr
ekko~ebeln
ekko~waers
ekko~bsart
ekko~ekorg
ekko~ekgrp
ekpo~ebelp
ekpo~txz01
ekpo~matnr
ekpo~werks
ekpo~menge
ekpo~meins
ekpo~netpr
ekpo~netwr
INTO TABLE t_itab1 FROM
ekko INNER JOIN ekpo ON ekkoebeln = ekpoebeln
WHERE ekko~ebeln IN s_ebeln AND
ekko~bukrs IN s_bukrs AND
ekko~lifnr IN s_lifnr AND
ekko~ekorg IN s_ekorg AND
ekko~ekgrp IN s_ekgrp AND
ekpo~matnr IN s_matnr.
ELSE.
SELECT ekko~bukrs
ekko~lifnr
ekko~ebeln
ekko~waers
ekko~bsart
ekko~ekorg
ekko~ekgrp
ekpo~ebelp
ekpo~txz01
ekpo~matnr
ekpo~werks
ekpo~menge
ekpo~meins
ekpo~netpr
ekpo~netwr
INTO TABLE t_itab1 FROM
ekko INNER JOIN ekpo ON ekkoebeln = ekpoebeln
WHERE ekko~ebeln IN s_ebeln AND
ekko~bukrs IN s_bukrs AND
ekko~lifnr IN s_lifnr AND
ekko~ekorg IN s_ekorg AND
ekko~ekgrp IN s_ekgrp AND
ekpo~matnr IN s_matnr AND
ekko~bsart = p_bsart.
ENDIF.
IF NOT t_itab1[] IS INITIAL.
FETCHING NAME1
SELECT werks
name1
FROM t001w
INTO TABLE t_name1
FOR ALL ENTRIES IN t_itab1
WHERE werks = t_itab1-werks.
SORT t_itab1 BY werks.
SORT t_name1 BY werks.
IF sy-subrc = 0.
LOOP AT t_itab1 INTO wa_itab1.
hold_tabix = sy-tabix.
READ TABLE t_name1 INTO wa_name1 WITH KEY werks = wa_itab1-werks
BINARY SEARCH.
IF sy-subrc = 0.
wa_itab1-name1 = wa_name1-name1.
MODIFY t_itab1 INDEX hold_tabix FROM wa_itab1.
ENDIF.
FETCHING HEADER TEXT
MOVE wa_itab1-ebeln TO ws_name.
CALL FUNCTION 'READ_TEXT'
EXPORTING
id = ws_id
language = sy-langu
name = ws_name
object = ws_object
TABLES
lines = t_tlinetab
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc = 0.
LOOP AT t_tlinetab INTO wa_tlinetab.
wa_itab1-header_text = wa_tlinetab-tdline.
MODIFY t_itab1 FROM wa_itab1.
ENDLOOP.
ENDIF. " IF sy-subrc = 0.
CLEAR : wa_itab1,
hold_tabix,
wa_name1.
ENDLOOP.
ENDIF.
ENDIF. " IF NOT t_itab1[] IS INITIAL.
IF t_itab1[] IS INITIAL.
MESSAGE i000(zg) WITH text-008.
ENDIF.
SORT : t_itab1 BY bukrs lifnr ebeln ebelp.
ENDFORM. " fetch_data
&----
*& Form build_fieldcatalog *
&----
FORM build_fieldcatalog .
COMPANY CODE
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'BUKRS'.
lf_fieldcat-ref_tabname = 'EKKO'.
lf_fieldcat-ref_fieldname = 'BUKRS'.
lf_fieldcat-fix_column = 'X'.
APPEND lf_fieldcat TO lt_fieldcat.
VENDOR
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'LIFNR'.
lf_fieldcat-ref_tabname = 'EKKO'.
lf_fieldcat-ref_fieldname = 'LIFNR'.
lf_fieldcat-fix_column = 'X'.
APPEND lf_fieldcat TO lt_fieldcat.
PURCHASING DOCUMENT NUMBER
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'EBELN'.
lf_fieldcat-ref_tabname = 'EKKO'.
lf_fieldcat-ref_fieldname = 'EBELN'.
lf_fieldcat-key = 'X'.
lf_fieldcat-do_sum = 'X'.
lf_fieldcat-fix_column = 'X'.
APPEND lf_fieldcat TO lt_fieldcat.
ITEM NUMBER OF PURCHASING DOCUMENT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'EBELP'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'EBELP'.
APPEND lf_fieldcat TO lt_fieldcat.
SHORT TEXT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'TXZ01'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'TXZ01'.
APPEND lf_fieldcat TO lt_fieldcat.
MATERIAL NUMBER
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'MATNR'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'MATNR'.
APPEND lf_fieldcat TO lt_fieldcat.
PLANT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'WERKS'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'WERKS'.
APPEND lf_fieldcat TO lt_fieldcat.
NAME
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'NAME1'.
lf_fieldcat-ref_tabname = 'T001W'.
lf_fieldcat-ref_fieldname = 'NAME1'.
APPEND lf_fieldcat TO lt_fieldcat.
PURCHASE ORDER QUANTITY
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'MENGE'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'MENGE'.
lf_fieldcat-do_sum = 'X'.
lf_fieldcat-qfieldname = 'MEINS'.
APPEND lf_fieldcat TO lt_fieldcat.
UNIT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'MEINS'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'MEINS'.
APPEND lf_fieldcat TO lt_fieldcat.
NET PRICE IN PURCHASING DOCUMENT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'NETPR'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'NETPR'.
lf_fieldcat-cfieldname = 'WAERS'.
lf_fieldcat-do_sum = 'X'.
APPEND lf_fieldcat TO lt_fieldcat.
NET ORDER VALUE IN PO CURRENCY
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'NETWR'.
lf_fieldcat-ref_tabname = 'EKPO'.
lf_fieldcat-ref_fieldname = 'NETWR'.
lf_fieldcat-cfieldname = 'WAERS'.
lf_fieldcat-do_sum = 'X'.
APPEND lf_fieldcat TO lt_fieldcat.
CURRENCY
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'WAERS'.
lf_fieldcat-ref_tabname = 'EKKO'.
lf_fieldcat-ref_fieldname = 'WAERS'.
APPEND lf_fieldcat TO lt_fieldcat.
HEADER TEXT
CLEAR lf_fieldcat.
lf_fieldcat-fieldname = 'HEADER_TEXT'.
lf_fieldcat-seltext_m = 'Header Text'.
APPEND lf_fieldcat TO lt_fieldcat.
ENDFORM. " build_fieldcatalog
&----
*& Form display_grid *
&----
FORM display_grid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = ws_repid
i_callback_pf_status_set = 'PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
is_layout = l_layout
it_fieldcat = lt_fieldcat
it_sort = l_sort
i_save = 'X'
IMPORTING
TABLES
t_outtab = t_itab1
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_grid
&----
*& Form build_layout *
&----
FORM build_layout .
l_layout-colwidth_optimize = 'X'.
l_layout-zebra = 'X'.
l_layout-box_fieldname = 'CHK'.
l_layout-box_tabname = 'T_ITAB1' .
ENDFORM. " build_layout
&----
*& Form sort_layout *
&----
FORM sort_layout .
CLEAR w_sort.
w_sort-fieldname = 'BUKRS'.
w_sort-tabname = 'T_ITAB1'.
w_sort-spos = 1.
w_sort-up = 'X'.
w_sort-subtot = 'X'.
APPEND w_sort TO l_sort.
CLEAR w_sort.
w_sort-fieldname = 'EBELN'.
w_sort-tabname = 'T_ITAB1'.
w_sort-spos = 1.
w_sort-up = 'X'.
w_sort-subtot = 'X'.
APPEND w_sort TO l_sort.
ENDFORM. " sort_layout
&----
*& Form PF_STATUS
&----
FORM pf_status USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'STANDARD1' EXCLUDING rt_extab.
ENDFORM. " PF_STATUS
&----
*& Form user_command
&----
FORM user_command USING s_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CLEAR wa_itab1.
READ TABLE t_itab1 INTO wa_itab1 INDEX rs_selfield-tabindex.
CASE s_ucomm.
WHEN 'POD'.
SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
CLEAR wa_itab1.
WHEN 'MAT'.
SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
WHEN '&IC1'.
IF rs_selfield-fieldname = 'MATNR'.
SET PARAMETER ID 'MAT' FIELD wa_itab1-matnr.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ELSEIF rs_selfield-fieldname = 'EBELN'.
SET PARAMETER ID 'BES' FIELD wa_itab1-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
WHEN 'PRINT'.
PERFORM multiple_sel.
PERFORM call_form.
CLEAR : f_itab1, f_itab2.
WHEN 'SMART'.
PERFORM multiple_sel.
PERFORM call_smartform.
‎2007 Sep 19 10:05 AM
thanks for ur quick reply.
I am exactly looking for giving the display after the LIST_DISPLAY but in other window.