Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

function module

Former Member
0 Likes
463

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

4 REPLIES 4
Read only

Former Member
0 Likes
433

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

Read only

Former Member
0 Likes
433

hi

reuse_alv_grid_disply

resuse_alv_list_disply

regards

Read only

Former Member
0 Likes
433

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.

Read only

Former Member
0 Likes
433

thanks for ur quick reply.

I am exactly looking for giving the display after the LIST_DISPLAY but in other window.