Skip to Content
0
Former Member
Nov 28, 2006 at 02:39 PM

alv interactive

27 Views

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.