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

alv interactive

Former Member
0 Likes
591

Hi all ,

This is my code . If i double click on the matnr in alv list . it should display aenam and laeda fileds from mara . how can i proceed for that code?

REPORT ZPRODUCT NO STANDARD PAGE HEADING

LINE-SIZE 40

LINE-COUNT 65

MESSAGE-ID 00.

----


  • TABLES *

----


.

Tables : MARA, " General Material Data .

CDHDR.

----


  • TYPES *

----


type-pools: slis.

data: fieldcatalog type slis_t_fieldcat_alv with header line,

gd_tab_group type slis_t_sp_group_alv,

gd_layout type slis_layout_alv,

gd_repid like sy-repid.

----


  • Internal Tables *

----


  • Internal Table to Display Result

DATA: BEGIN OF IT_MARA OCCURS 0 ,

MATNR(90) type c,

MTART LIKE MARA-MTART,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

AENAM(10) type c,

SPART(254) TYPE C,

END OF IT_MARA.

DATA: BEGIN OF IT_TAB OCCURS 0 ,

OBJECTID LIKE CDPOS-OBJECTID,

MTART LIKE MARA-MTART,

ERSDA LIKE MARA-ERSDA,

ERNAM LIKE MARA-ERNAM,

VALUE_NEW LIKE CDPOS-VALUE_NEW,

VALUE_OLD LIKE CDPOS-VALUE_OLD,

END OF IT_TAB.

DATA : BEGIN OF IT_CDPOS OCCURS 0,

OBJECTID LIKE CDPOS-OBJECTID,

VALUE_OLD LIKE CDPOS-VALUE_OLD,

VALUE_NEW LIKE CDPOS-VALUE_NEW,

END OF IT_CDPOS.

DATA : IT_MARA_hash LIKE HASHED TABLE OF it_MARA

WITH UNIQUE KEY MATNR WITH HEADER LINE.

----


  • SELECTION SCREEN *

----


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

SELECT-OPTIONS: : P_date for mara-ersda.

SELECTION-SCREEN END OF BLOCK b1.

----


----


  • START-OF-SELECTION *

----


PERFORM POPULATE_RECORD.

PERFORM DISPLAY_OUTPUT.

----


  • END-OF-SELECTION *

----


&----


*& Form populate_RECORD

&----


  • Retrieves Records from CDPOS AND MARA

----


FORM POPULATE_RECORD.

SELECT MATNR MTART ERSDA ERNAM AENAM SPART FROM MARA INTO TABLE IT_MARA

where laeda in P_date..

SORT it_mara BY matnr ASCENDING.

DELETE ADJACENT DUPLICATES FROM it_mara COMPARING matnr.

SELECT OBJECTID VALUE_OLD VALUE_NEW FROM cdpos INTO TABLE it_cdpos FOR

ALL ENTRIES

IN

IT_MARA WHERE OBJECTCLAS = 'MATERIAL' AND OBJECTID = it_mara-matnr and

tabname = 'MARA'

and fname = 'SPART' AND VALUE_NEW = IT_MARA-SPART.

SORT it_CDPOS BY OBJECTID ASCENDING.

DELETE ADJACENT DUPLICATES FROM it_CDPOS COMPARING OBJECTID.

loop at it_cdpos .

MOVE-CORRESPONDING IT_CDPOS TO IT_TAB.

SELECT SINGLE MTART ERSDA ERNAM FROM MARA INTO CORRESPONDING FIELDS OF

IT_TAB WHERE MATNR = IT_CDPOS-OBJECTID.

APPEND IT_TAB.

CLEAR IT_TAB.

ENDLOOP.

ENDFORM.

&----


*& Form display_Output

&----


  • Display the Records

----


FORM DISPLAY_OUTPUT.

fieldcatalog-fieldname = 'OBJECTID'.

fieldcatalog-seltext_m = 'Material Number'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 20.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'MTART'.

fieldcatalog-seltext_m = 'Material Type'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 10.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'ERSDA'.

fieldcatalog-seltext_m = 'Created Date'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 12.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'ERNAM'.

fieldcatalog-seltext_m = 'Created By'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 15.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'VALUE_NEW'.

fieldcatalog-seltext_m = 'Division (PMG)'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 14.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

fieldcatalog-fieldname = 'VALUE_OLD'.

fieldcatalog-seltext_m = 'Division PhWEB'.

fieldcatalog-col_pos = 0.

fieldcatalog-outputlen = 14.

fieldcatalog-emphasize = 'X'.

fieldcatalog-key = 'X'.

append fieldcatalog to fieldcatalog.

clear fieldcatalog.

gd_repid = sy-repid.

call function 'REUSE_ALV_GRID_DISPLAY'

exporting

i_callback_program = gd_repid

it_fieldcat = fieldcatalog[]

i_save = 'X'

tables

t_outtab = IT_TAB

exceptions

program_error = 1

others = 2.

ENDFORM.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
564

hi priya,

just go thru this code.you will be well versed with interactive alv.

REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING

MESSAGE-ID ZMSG

LINE-COUNT 37(3)

LINE-SIZE 134.

TYPE-POOLS : SLIS.

************************************************************************

                                  • TABLES DECLARATION ********************

************************************************************************

TABLES : VBRK, " BILLING MASTERS TABLE

VBRP. " BILLING ITEM TABLE

************************************************************************

                                  • TYPES DECLARATION ********************

************************************************************************

TYPES : BEGIN OF TY_VBRK, " types for billing masters table

VBELN TYPE VBRK-VBELN, " billing document

WAERK TYPE VBRK-WAERK, " document currency

VKORG TYPE VBRK-VKORG, " sales organization

FKDAT TYPE VBRK-FKDAT, " billing date

BUKRS TYPE VBRK-BUKRS, " company code

BUTXT TYPE T001-BUTXT, " company name

NETWR TYPE VBRK-NETWR, " net currency value

LINE_COLOR(4) TYPE C,

END OF TY_VBRK.

TYPES : BEGIN OF TY_VBRP, " types for billing document item data

POSNR TYPE VBRP-POSNR, " billing item

FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty

VRKME TYPE VBRP-VRKME, " sales unit

NETWR TYPE VBRP-NETWR, " net currency value

MATNR TYPE VBRP-MATNR, " material number

ARKTX TYPE VBRP-ARKTX, " short text for sales order item

END OF TY_VBRP.

************************************************************************

                                  • FIELD CATALOG ********************

************************************************************************

DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

************************************************************************

                                  • LAYOUT DECLARATION ********************

************************************************************************

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.

************************************************************************

                                  • EVENTS DECLARATION ********************

************************************************************************

DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,

IT_EVENTS TYPE SLIS_T_EVENT.

************************************************************************

                                  • PF STATUS ********************

************************************************************************

DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.

************************************************************************

                                  • USER COMMAND ********************

************************************************************************

DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',

R_UCOMM LIKE SY-UCOMM.

************************************************************************

                                  • INTERNAL TABLES ********************

************************************************************************

DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master

IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item

*internal table for field catalog

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.

************************************************************************

                                  • WORK AREA ********************

************************************************************************

DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master

WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item

************************************************************************

                                  • VARIABLE DECLARATION ********************

************************************************************************

DATA : V_DATE TYPE SY-DATUM, " variable to store date values

V_VBELN TYPE VBRK-VBELN, " variable for billing document

V_FKDAT TYPE VBRK-FKDAT, " variable for billing date

V_FLAG(1). " variable for flag

************************************************************************

                                  • SELECTION SCREEN ********************

************************************************************************

SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document

S_FKDAT FOR VBRK-FKDAT, " Billing date

S_MATNR FOR VBRP-MATNR. " Material number

PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details

R2 RADIOBUTTON GROUP G1. "selected item details

************************************************************************

                                  • INITIALIZATION ********************

************************************************************************

INITIALIZATION.

V_FLAG = 'X'.

V_DATE = SY-DATUM - 20.

S_FKDAT-SIGN = 'I'.

S_FKDAT-OPTION = 'EQ'.

S_FKDAT-LOW = V_DATE.

S_FKDAT-HIGH = SY-DATUM.

APPEND S_FKDAT.

************************************************************************

                                  • SELECTION SCREEN VALIDATION ********************

************************************************************************

AT SELECTION-SCREEN.

PERFORM CONVERSION. " performs data conversion for input

PERFORM VBELN_VALIDATE. " validating the billing document

PERFORM FKDAT_VALIDATE. " validating the billing date

************************************************************************

                                  • START OF SELECTION ********************

************************************************************************

START-OF-SELECTION.

SET TITLEBAR 'AAAA'.

PERFORM VBRK_POPULATE. " populating the billing master detais

PERFORM FIELDCATALOG. " designing the field catalog

PERFORM EVENTS. " performing the events for top of page

PERFORM DISP_BASICLIST." displaying the basic list

&----


*& Form VBELN_VALIDATE

&----


  • text validating the billing document

----


  • --> p1 text

  • <-- p2 text

----


FORM VBELN_VALIDATE .

IF S_VBELN IS INITIAL.

  • MESSAGE E000 WITH 'Make entries in all required fields'.

ELSE.

SELECT SINGLE VBELN

FROM VBRK

INTO V_VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.

ENDIF.

ENDIF.

ENDFORM. " VBELN_VALIDATE

&----


*& Form FKDAT_VALIDATE

&----


  • text validating the billing date

----


  • --> p1 text

  • <-- p2 text

----


FORM FKDAT_VALIDATE .

SELECT SINGLE FKDAT

FROM VBRK

INTO V_FKDAT

WHERE FKDAT IN S_FKDAT.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.

ENDIF.

ENDFORM. " FKDAT_VALIDATE

&----


*& Form VBRK_POPULATE

&----


  • text populating the billing master details

----


  • --> p1 text

  • <-- p2 text

----


FORM VBRK_POPULATE .

DATA : LD_COLOR(1) TYPE C.

LD_COLOR = 5.

SELECT VBRK~VBELN

VBRK~WAERK

VBRK~VKORG

VBRK~FKDAT

VBRK~BUKRS

VBRK~NETWR

T001~BUTXT

FROM VBRK INNER JOIN T001

ON VBRKBUKRS = T001BUKRS

INTO CORRESPONDING FIELDS OF TABLE IT_VBRK

WHERE VBRK~VBELN IN S_VBELN AND

VBRK~FKDAT IN S_FKDAT.

LOOP AT IT_VBRK INTO WA_VBRK.

LD_COLOR = LD_COLOR + 1.

IF LD_COLOR = 8.

LD_COLOR = 1.

ENDIF.

CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.

MODIFY IT_VBRK FROM WA_VBRK.

ENDLOOP.

ENDFORM. " VBRK_POPULATE

&----


*& Form CONVERSION

&----


  • text data conversion to take leading zeroes into account

----


  • --> p1 text

  • <-- p2 text

----


FORM CONVERSION .

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = S_VBELN

IMPORTING

OUTPUT = S_VBELN.

ENDFORM. " CONVERSION

&----


*& Form DISP_BASICLIST

&----


  • text displaying the basic list

----


  • --> p1 text

  • <-- p2 text

----


FORM DISP_BASICLIST .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = PF_STATUS

I_CALLBACK_USER_COMMAND = USER_COMMAND

  • I_STRUCTURE_NAME =

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 = 'X'

  • IS_VARIANT =

IT_EVENTS = 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRK

  • 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. " DISP_BASICLIST

&----


*& Form FIELDCATALOG

&----


  • text designing the field catalog

----


  • --> p1 text

  • <-- p2 text

----


FORM FIELDCATALOG .

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.

WA_FIELDCAT-COL_POS = 1.

  • WA_FIELDCAT-EMPHASIZE = 'C610'.

WA_FIELDCAT-KEY = 'X'.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'WAERK'.

WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.

WA_FIELDCAT-COL_POS = 2.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'VKORG'.

WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.

WA_FIELDCAT-EMPHASIZE = 'C610'.

WA_FIELDCAT-COL_POS = 3.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'FKDAT'.

WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.

WA_FIELDCAT-COL_POS = 4.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.

WA_FIELDCAT-COL_POS = 5.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'BUTXT'.

WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.

WA_FIELDCAT-COL_POS = 6.

WA_FIELDCAT-OUTPUTLEN = 25.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'NETWR'.

WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.

WA_FIELDCAT-COL_POS = 7.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

ENDFORM. " FIELDCATALOG

&----


*& Form SET_PF_STATUS

&----


  • text set the pf status

----


FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.

ENDFORM. "SET_PF_STATUS

&----


*& Form SET_USER_COMMAND

&----


  • text set the user command

----


FORM SET_USER_COMMAND USING R_UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN 'CLICK'.

IF R1 = 'X'.

IF NOT IT_VBRK IS INITIAL.

SELECT POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO CORRESPONDING FIELDS OF TABLE IT_VBRP

FOR ALL ENTRIES IN IT_VBRK

WHERE VBELN = IT_VBRK-VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.

ELSE.

IF V_FLAG = 'X'.

PERFORM DET_FIELDCATALOG.

V_FLAG = ''.

ENDIF.

PERFORM DET_LISTDISPLAY.

ENDIF.

ENDIF.

ENDIF.

IF R2 = 'X'.

READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.

IF SY-SUBRC = 0.

SELECT SINGLE POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO CORRESPONDING FIELDS OF WA_VBRP

WHERE VBELN = WA_VBRK-VBELN.

ENDIF.

APPEND WA_VBRP TO IT_VBRP.

ENDIF.

IF V_FLAG = 'X'.

PERFORM DET_FIELDCATALOG. "designing the field catalog for items

V_FLAG = ''.

ENDIF.

PERFORM DET_LISTDISPLAY. "displaying the secondary list

WHEN 'BACK'.

LEAVE TO SCREEN 0.

WHEN 'UP'.

LEAVE TO SCREEN 0.

WHEN 'CANCEL'.

CALL TRANSACTION 'SE38'.

ENDCASE.

ENDFORM. "SET_USER_COMMAND

&----


*& Form DET_FIELDCATALOG

&----


  • text designing the field catalog for item details

----


  • --> p1 text

  • <-- p2 text

----


FORM DET_FIELDCATALOG .

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'POSNR'.

WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.

WA_FIELDCAT1-COL_POS = 1.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'FKIMG'.

WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.

WA_FIELDCAT1-COL_POS = 2.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'VRKME'.

WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.

WA_FIELDCAT1-COL_POS = 3.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'NETWR'.

WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.

WA_FIELDCAT1-COL_POS = 4.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'MATNR'.

WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.

WA_FIELDCAT1-COL_POS = 5.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'ARKTX'.

WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.

WA_FIELDCAT1-COL_POS = 6.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_LAYOUT1-ZEBRA = 'X'.

ENDFORM. " DET_FIELDCATALOG

&----


*& Form DET_LISTDISPLAY

&----


  • text displaying the secondary list

----


  • --> p1 text

  • <-- p2 text

----


FORM DET_LISTDISPLAY .

CALL FUNCTION 'REUSE_ALV_LIST_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 = WA_LAYOUT1

IT_FIELDCAT = IT_FIELDCAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRP

  • 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.

CLEAR IT_VBRP[].

ENDFORM. " DET_LISTDISPLAY

&----


*& Form EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENTS .

CLEAR TY_EVENTS.

TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.

TY_EVENTS-FORM = 'TOP_OF_PAGE'.

APPEND TY_EVENTS TO IT_EVENTS.

ENDFORM. " EVENTS

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

SKIP.

ULINE.

WRITE :/2 ' DATE :', SY-DATUM,

45 'INTELLIGROUP ASIA PVT LTD',

110 'TIME :', SY-UZEIT.

WRITE : /3 'USER :', SY-UNAME,

45 'TITLE :', SY-TITLE,

110 'PAGE :', SY-PAGNO.

ULINE.

SKIP.

ENDFORM. "TOP_OF_PAGE

regards,

deepthi reddy

5 REPLIES 5
Read only

Former Member
0 Likes
565

hi priya,

just go thru this code.you will be well versed with interactive alv.

REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING

MESSAGE-ID ZMSG

LINE-COUNT 37(3)

LINE-SIZE 134.

TYPE-POOLS : SLIS.

************************************************************************

                                  • TABLES DECLARATION ********************

************************************************************************

TABLES : VBRK, " BILLING MASTERS TABLE

VBRP. " BILLING ITEM TABLE

************************************************************************

                                  • TYPES DECLARATION ********************

************************************************************************

TYPES : BEGIN OF TY_VBRK, " types for billing masters table

VBELN TYPE VBRK-VBELN, " billing document

WAERK TYPE VBRK-WAERK, " document currency

VKORG TYPE VBRK-VKORG, " sales organization

FKDAT TYPE VBRK-FKDAT, " billing date

BUKRS TYPE VBRK-BUKRS, " company code

BUTXT TYPE T001-BUTXT, " company name

NETWR TYPE VBRK-NETWR, " net currency value

LINE_COLOR(4) TYPE C,

END OF TY_VBRK.

TYPES : BEGIN OF TY_VBRP, " types for billing document item data

POSNR TYPE VBRP-POSNR, " billing item

FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty

VRKME TYPE VBRP-VRKME, " sales unit

NETWR TYPE VBRP-NETWR, " net currency value

MATNR TYPE VBRP-MATNR, " material number

ARKTX TYPE VBRP-ARKTX, " short text for sales order item

END OF TY_VBRP.

************************************************************************

                                  • FIELD CATALOG ********************

************************************************************************

DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,

WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.

************************************************************************

                                  • LAYOUT DECLARATION ********************

************************************************************************

DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,

WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.

************************************************************************

                                  • EVENTS DECLARATION ********************

************************************************************************

DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,

IT_EVENTS TYPE SLIS_T_EVENT.

************************************************************************

                                  • PF STATUS ********************

************************************************************************

DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.

************************************************************************

                                  • USER COMMAND ********************

************************************************************************

DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',

R_UCOMM LIKE SY-UCOMM.

************************************************************************

                                  • INTERNAL TABLES ********************

************************************************************************

DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master

IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item

*internal table for field catalog

IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,

IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.

************************************************************************

                                  • WORK AREA ********************

************************************************************************

DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master

WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item

************************************************************************

                                  • VARIABLE DECLARATION ********************

************************************************************************

DATA : V_DATE TYPE SY-DATUM, " variable to store date values

V_VBELN TYPE VBRK-VBELN, " variable for billing document

V_FKDAT TYPE VBRK-FKDAT, " variable for billing date

V_FLAG(1). " variable for flag

************************************************************************

                                  • SELECTION SCREEN ********************

************************************************************************

SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document

S_FKDAT FOR VBRK-FKDAT, " Billing date

S_MATNR FOR VBRP-MATNR. " Material number

PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details

R2 RADIOBUTTON GROUP G1. "selected item details

************************************************************************

                                  • INITIALIZATION ********************

************************************************************************

INITIALIZATION.

V_FLAG = 'X'.

V_DATE = SY-DATUM - 20.

S_FKDAT-SIGN = 'I'.

S_FKDAT-OPTION = 'EQ'.

S_FKDAT-LOW = V_DATE.

S_FKDAT-HIGH = SY-DATUM.

APPEND S_FKDAT.

************************************************************************

                                  • SELECTION SCREEN VALIDATION ********************

************************************************************************

AT SELECTION-SCREEN.

PERFORM CONVERSION. " performs data conversion for input

PERFORM VBELN_VALIDATE. " validating the billing document

PERFORM FKDAT_VALIDATE. " validating the billing date

************************************************************************

                                  • START OF SELECTION ********************

************************************************************************

START-OF-SELECTION.

SET TITLEBAR 'AAAA'.

PERFORM VBRK_POPULATE. " populating the billing master detais

PERFORM FIELDCATALOG. " designing the field catalog

PERFORM EVENTS. " performing the events for top of page

PERFORM DISP_BASICLIST." displaying the basic list

&----


*& Form VBELN_VALIDATE

&----


  • text validating the billing document

----


  • --> p1 text

  • <-- p2 text

----


FORM VBELN_VALIDATE .

IF S_VBELN IS INITIAL.

  • MESSAGE E000 WITH 'Make entries in all required fields'.

ELSE.

SELECT SINGLE VBELN

FROM VBRK

INTO V_VBELN

WHERE VBELN IN S_VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.

ENDIF.

ENDIF.

ENDFORM. " VBELN_VALIDATE

&----


*& Form FKDAT_VALIDATE

&----


  • text validating the billing date

----


  • --> p1 text

  • <-- p2 text

----


FORM FKDAT_VALIDATE .

SELECT SINGLE FKDAT

FROM VBRK

INTO V_FKDAT

WHERE FKDAT IN S_FKDAT.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.

ENDIF.

ENDFORM. " FKDAT_VALIDATE

&----


*& Form VBRK_POPULATE

&----


  • text populating the billing master details

----


  • --> p1 text

  • <-- p2 text

----


FORM VBRK_POPULATE .

DATA : LD_COLOR(1) TYPE C.

LD_COLOR = 5.

SELECT VBRK~VBELN

VBRK~WAERK

VBRK~VKORG

VBRK~FKDAT

VBRK~BUKRS

VBRK~NETWR

T001~BUTXT

FROM VBRK INNER JOIN T001

ON VBRKBUKRS = T001BUKRS

INTO CORRESPONDING FIELDS OF TABLE IT_VBRK

WHERE VBRK~VBELN IN S_VBELN AND

VBRK~FKDAT IN S_FKDAT.

LOOP AT IT_VBRK INTO WA_VBRK.

LD_COLOR = LD_COLOR + 1.

IF LD_COLOR = 8.

LD_COLOR = 1.

ENDIF.

CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.

MODIFY IT_VBRK FROM WA_VBRK.

ENDLOOP.

ENDFORM. " VBRK_POPULATE

&----


*& Form CONVERSION

&----


  • text data conversion to take leading zeroes into account

----


  • --> p1 text

  • <-- p2 text

----


FORM CONVERSION .

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'

EXPORTING

INPUT = S_VBELN

IMPORTING

OUTPUT = S_VBELN.

ENDFORM. " CONVERSION

&----


*& Form DISP_BASICLIST

&----


  • text displaying the basic list

----


  • --> p1 text

  • <-- p2 text

----


FORM DISP_BASICLIST .

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'

EXPORTING

  • I_INTERFACE_CHECK = ' '

  • I_BYPASSING_BUFFER =

  • I_BUFFER_ACTIVE = ' '

I_CALLBACK_PROGRAM = SY-REPID

I_CALLBACK_PF_STATUS_SET = PF_STATUS

I_CALLBACK_USER_COMMAND = USER_COMMAND

  • I_STRUCTURE_NAME =

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 = 'X'

  • IS_VARIANT =

IT_EVENTS = 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRK

  • 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. " DISP_BASICLIST

&----


*& Form FIELDCATALOG

&----


  • text designing the field catalog

----


  • --> p1 text

  • <-- p2 text

----


FORM FIELDCATALOG .

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'VBELN'.

WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.

WA_FIELDCAT-COL_POS = 1.

  • WA_FIELDCAT-EMPHASIZE = 'C610'.

WA_FIELDCAT-KEY = 'X'.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'WAERK'.

WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.

WA_FIELDCAT-COL_POS = 2.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'VKORG'.

WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.

WA_FIELDCAT-EMPHASIZE = 'C610'.

WA_FIELDCAT-COL_POS = 3.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'FKDAT'.

WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.

WA_FIELDCAT-COL_POS = 4.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'BUKRS'.

WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.

WA_FIELDCAT-COL_POS = 5.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'BUTXT'.

WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.

WA_FIELDCAT-COL_POS = 6.

WA_FIELDCAT-OUTPUTLEN = 25.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_FIELDCAT-TABNAME = 'IT_VBRK'.

WA_FIELDCAT-FIELDNAME = 'NETWR'.

WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.

WA_FIELDCAT-COL_POS = 7.

WA_FIELDCAT-OUTPUTLEN = 20.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

CLEAR WA_FIELDCAT.

WA_LAYOUT-ZEBRA = 'X'.

WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.

ENDFORM. " FIELDCATALOG

&----


*& Form SET_PF_STATUS

&----


  • text set the pf status

----


FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.

SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.

ENDFORM. "SET_PF_STATUS

&----


*& Form SET_USER_COMMAND

&----


  • text set the user command

----


FORM SET_USER_COMMAND USING R_UCOMM

RS_SELFIELD TYPE SLIS_SELFIELD.

CASE R_UCOMM.

WHEN 'CLICK'.

IF R1 = 'X'.

IF NOT IT_VBRK IS INITIAL.

SELECT POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO CORRESPONDING FIELDS OF TABLE IT_VBRP

FOR ALL ENTRIES IN IT_VBRK

WHERE VBELN = IT_VBRK-VBELN.

IF SY-SUBRC <> 0.

MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.

ELSE.

IF V_FLAG = 'X'.

PERFORM DET_FIELDCATALOG.

V_FLAG = ''.

ENDIF.

PERFORM DET_LISTDISPLAY.

ENDIF.

ENDIF.

ENDIF.

IF R2 = 'X'.

READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.

IF SY-SUBRC = 0.

SELECT SINGLE POSNR

FKIMG

VRKME

NETWR

MATNR

ARKTX

FROM VBRP

INTO CORRESPONDING FIELDS OF WA_VBRP

WHERE VBELN = WA_VBRK-VBELN.

ENDIF.

APPEND WA_VBRP TO IT_VBRP.

ENDIF.

IF V_FLAG = 'X'.

PERFORM DET_FIELDCATALOG. "designing the field catalog for items

V_FLAG = ''.

ENDIF.

PERFORM DET_LISTDISPLAY. "displaying the secondary list

WHEN 'BACK'.

LEAVE TO SCREEN 0.

WHEN 'UP'.

LEAVE TO SCREEN 0.

WHEN 'CANCEL'.

CALL TRANSACTION 'SE38'.

ENDCASE.

ENDFORM. "SET_USER_COMMAND

&----


*& Form DET_FIELDCATALOG

&----


  • text designing the field catalog for item details

----


  • --> p1 text

  • <-- p2 text

----


FORM DET_FIELDCATALOG .

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'POSNR'.

WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.

WA_FIELDCAT1-COL_POS = 1.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'FKIMG'.

WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.

WA_FIELDCAT1-COL_POS = 2.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'VRKME'.

WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.

WA_FIELDCAT1-COL_POS = 3.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'NETWR'.

WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.

WA_FIELDCAT1-COL_POS = 4.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'MATNR'.

WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.

WA_FIELDCAT1-COL_POS = 5.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_FIELDCAT1-TABNAME = 'IT_VBRP'.

WA_FIELDCAT1-FIELDNAME = 'ARKTX'.

WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.

WA_FIELDCAT1-COL_POS = 6.

WA_FIELDCAT1-OUTPUTLEN = 20.

APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.

CLEAR WA_FIELDCAT1.

WA_LAYOUT1-ZEBRA = 'X'.

ENDFORM. " DET_FIELDCATALOG

&----


*& Form DET_LISTDISPLAY

&----


  • text displaying the secondary list

----


  • --> p1 text

  • <-- p2 text

----


FORM DET_LISTDISPLAY .

CALL FUNCTION 'REUSE_ALV_LIST_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 = WA_LAYOUT1

IT_FIELDCAT = IT_FIELDCAT1

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

  • IT_SORT =

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

  • I_SAVE = ' '

  • IS_VARIANT =

IT_EVENTS = 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

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

TABLES

T_OUTTAB = IT_VBRP

  • 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.

CLEAR IT_VBRP[].

ENDFORM. " DET_LISTDISPLAY

&----


*& Form EVENTS

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM EVENTS .

CLEAR TY_EVENTS.

TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.

TY_EVENTS-FORM = 'TOP_OF_PAGE'.

APPEND TY_EVENTS TO IT_EVENTS.

ENDFORM. " EVENTS

&----


*& Form TOP_OF_PAGE

&----


  • text

----


FORM TOP_OF_PAGE.

SKIP.

ULINE.

WRITE :/2 ' DATE :', SY-DATUM,

45 'INTELLIGROUP ASIA PVT LTD',

110 'TIME :', SY-UZEIT.

WRITE : /3 'USER :', SY-UNAME,

45 'TITLE :', SY-TITLE,

110 'PAGE :', SY-PAGNO.

ULINE.

SKIP.

ENDFORM. "TOP_OF_PAGE

regards,

deepthi reddy

Read only

Former Member
0 Likes
564

Hi Priya,

Please check this links for sample codes.

http://www.sap-img.com/abap/an-interactive-alv-report.htm

Hope this will help.

Regards,

Ferry Lianto

Read only

Former Member
0 Likes
564

Hi

Assign the routine for USER_COMMAND to your ALV and here manage the doubleclick:

WA_LAYOUT1-F2CODE = 'PICK'. "OK-CODE for doubleclick
GT_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
  EXPORTING
    I_CALLBACK_PROGRAM       = GT_REPID
    I_CALLBACK_USER_COMMAND  = 'USER_COMMAND'
    IS_LAYOUT                = WA_LAYOUT1

FORM USER_COMMAND USING R_UCOMM     LIKE SY-UCOMM
                        RS_SELFIELD TYPE SLIS_SELFIELD.
 IF R_UCOMM = 'PICK'.
   READ TABLE ITAB INDEX RS_SELFIELD-TABINDEX.
   IF SY-SUBRC = 0.
     SELECT SINGLE * FROM MARA WHERE MATNR = ITAB-MATNR.
   ENDIF.
 ENDIF.
ENDFORM.

Max

Read only

amit_khare
Active Contributor
0 Likes
564

Hi,

In short just make that field as hotspot and add an event to it.

form user_command using r_ucomm like sy-ucomm

rs_selfield type slis_selfield.

case r_ucomm.

when '&IC1'.

<ur Code>

endcase.

endform.

Regards,

Amit

Read only

Former Member
0 Likes
564

<b>Hi Priya,

This is way and sample CODE

REPORT ZZ_22038_22098_002 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.

Thanks

Manju</b>