2008 May 20 12:08 PM
Hi all,
This program is goin for shot dump.
could anybody please help me out with this?
&----
*& Report Z_INTERACTIVE_CUSTOM_CHAI
*&
&----
*&
*&
&----
REPORT Z_INTERACTIVE_CUSTOM_CHAI.
type-pools: slis.
tables: mara,
marc,
mard.
types: begin of ty_mara,
matnr type matnr,
mtart type mtart,
mbrsh type mbrsh,
matkl type matkl,
meins type meins,
end of ty_mara.
types: begin of ty_marc,
matnr type matnr,
werks type werks_d,
PSTAT type PSTAT_D,
DISPR type DISPR,
end of ty_marc.
types: begin of ty_mard,
matnr type matnr,
werks type werks_d,
lgort type lgort_d,
LABST type labst,
end of ty_mard.
data: t_mara type standard table of ty_mara,
w_mara type ty_mara,
t_marc type standard table of ty_marc,
w_marc type ty_marc,
t_mard type standard table of ty_mard,
w_mard type ty_mard.
data: i_repid like sy-repid,
i_fieldcat TYPE SLIS_t_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
v_events type slis_t_event,
w_events type SLIS_ALV_EVENT,
v_events_1 type slis_t_event,
w_events_1 type SLIS_ALV_EVENT,
t_listheader type SLIS_T_LISTHEADER,
t_listheader_1 type SLIS_T_LISTHEADER,
t_mara_title type lvc_title value 'first list displayed',
t_marc_title type lvc_title value 'second list displayed',
t_mard_title type lvc_title value 'third list displayed'.
DATA: I_VARIANT TYPE DISVARIANT,
I_VARIANT1 TYPE DISVARIANT,
I_SAVE(1) TYPE C.
initialization.
I_repid = sy-repid.
perform build_fieldcatalog_mara.
perform event_call_mara.
perform populate_events_mara.
selection-screen begin of block b1 .
select-options: s_matnr for mara-matnr.
selection-screen end of block b1.
start-of-selection.
perform data_retrieval_mara.
perform build_listheader_mara using t_listheader.
perform alv_grid_display_mara.
&----
*& Form build_fieldcatalog_mara
&----
text
----
form build_fieldcatalog_mara.
WA_FIELDCAT-fieldname = 'matnr'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'mtart'.
WA_FIELDCAT-seltext_m = 'Material type'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'mbrsh'.
WA_FIELDCAT-seltext_m = 'Industry sector'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'matkl'.
WA_FIELDCAT-seltext_m = 'Material group'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'meins'.
WA_FIELDCAT-seltext_m = 'Units'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_mara
&----
*& Form event_call_mara
&----
text
----
form event_call_mara.
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. "build_fieldcatalog_mara
&----
*& Form populate_events_mara
&----
text
----
form populate_events_mara.
read table v_events into w_events with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events from w_events transporting form where name = w_events-form.
clear w_events.
endif.
read table v_events into w_events with key name = 'USER_COMMAND'.
if sy-subrc = 0.
w_events-form = 'USER_COMMAND'.
modify v_events from w_events transporting form where name = w_events-form.
endif.
endform. "populate_events_mara
&----
*& Form data_retrieval_mara
&----
text
----
form data_retrieval_mara.
select matnr
mbrsh
mtart
matkl
meins
from mara into corresponding fields of table t_mara
where matnr in s_maTNR.
endform. "populate_events_mara
&----
*& Form build_listheader_mara
&----
text
----
-->T_LISTHEADER text
----
form build_listheader_mara using t_listheader type SLIS_T_LISTHEADER.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'FIRST LIST'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER.
ENDFORM. "populate_events_mara
&----
*& Form alv_grid_display_mara
&----
text
----
form alv_grid_display_mara.
i_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = t_mara_title
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = I_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
IS_VARIANT = i_variant
IT_EVENTS = v_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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = t_mara
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. "alv_grid_display_mara
&----
*& Form TOP_OF_PAGE_MARA
&----
text
----
form TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = t_listheader
I_LOGO =
I_END_OF_LIST_GRID =
I_ALV_FORM =
.
endform. "TOP_OF_PAGE_MARA
&----
*& Form USER_COMMAND
&----
text
----
-->R_UCOMM text
-->RS_SELFIELD text
----
form USER_COMMAND using r_ucomm like sy-ucomm
RS_SELFIELD TYPE SLIS_SELFIELD.
case r_ucomm.
when '&IC1'.
clear t_listheader.
perform build_fieldcatalog_marc.
perform event_call_marc.
perform populate_events_marc.
perform data_retrieval_marc.
perform build_listheader_marc using t_listheader_1.
perform alv_grid_display_marc.
endcase.
endform. "USER_COMMAND
&----
*& Form build_fieldcatalog_marc
&----
text
----
form build_fieldcatalog_marc.
WA_FIELDCAT-fieldname = 'matnr'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'werks'.
WA_FIELDCAT-seltext_m = 'Plant'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'pstat'.
WA_FIELDCAT-seltext_m = 'Maintenance status'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'dispr'.
WA_FIELDCAT-seltext_m = 'MRP Profile'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_marc
&----
*& Form event_call_marc
&----
text
----
form event_call_marc.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = v_events_1
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_marc
&----
*& Form populate_events_marc
&----
text
----
form populate_events_marc.
read table v_events_1 into w_events_1 with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events_1 from w_events_1 transporting form where name = w_events-name.
endif.
endform. "populate_events_marc
&----
*& Form data_retrieval_marc
&----
text
----
form data_retrieval_marc.
SELECT MATNR
WERKS
PSTAT
DISPR
FROM MARC INTO CORRESPONDING FIELDS OF TABLE T_MARC
FOR ALL ENTRIES IN T_MARA WHERE MATNR = T_MARA-MATNR.
ENDFORM. "data_retrieval_marc
&----
*& Form build_listheader_marc
&----
text
----
-->T_LISTHEADER_1 text
----
form build_listheader_marc using t_listheader_1 type slis_t_listheader.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'Second List'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER_1.
ENDFORM. "populate_events_mara
*FORM TOP_OF_PAGE_1.
*CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LISTHEADER_1
I_LOGO =
I_END_OF_LIST_GRID =
I_ALV_FORM =
.
*ENDFORM.
form alv_grid_display_marc.
I_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_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 = t_mara_title
I_GRID_SETTINGS =
IS_LAYOUT =
IT_FIELDCAT = I_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = V_EVENTS_1
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
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = T_MARC
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. "alv_grid_display_marc
2008 May 20 12:13 PM
hi
WA_FIELDCAT-fieldname = 'mtart'.
Give the field names in above type of statements in caps 'MTART'
in form populate_events_mara.
read table v_events into w_events with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events from w_events transporting form where name = w_events-form.
clear w_events.
endif.
change statement as
modify v_events from w_events transporting form where name = w_events-name.
and in many minute points. i have modified your code
type-pools: slis.
tables: mara,
marc,
mard.
types: begin of ty_mara,
matnr type matnr,
mtart type mtart,
mbrsh type mbrsh,
matkl type matkl,
meins type meins,
end of ty_mara.
types: begin of ty_marc,
matnr type matnr,
werks type werks_d,
PSTAT type PSTAT_D,
DISPR type DISPR,
end of ty_marc.
types: begin of ty_mard,
matnr type matnr,
werks type werks_d,
lgort type lgort_d,
LABST type labst,
end of ty_mard.
data: t_mara type standard table of ty_mara,
w_mara type ty_mara,
t_marc type standard table of ty_marc,
w_marc type ty_marc,
t_mard type standard table of ty_mard,
w_mard type ty_mard.
data: i_repid like sy-repid,
i_fieldcat TYPE SLIS_t_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
v_events type slis_t_event,
w_events type SLIS_ALV_EVENT,
v_events_1 type slis_t_event,
w_events_1 type SLIS_ALV_EVENT,
t_listheader type SLIS_T_LISTHEADER,
t_listheader_1 type SLIS_T_LISTHEADER,
t_mara_title type lvc_title value 'first list displayed',
t_marc_title type lvc_title value 'second list displayed',
t_mard_title type lvc_title value 'third list displayed'.
DATA: I_VARIANT TYPE DISVARIANT,
I_VARIANT1 TYPE DISVARIANT,
I_SAVE(1) TYPE C.
initialization.
I_repid = sy-repid.
perform build_fieldcatalog_mara.
perform event_call_mara.
perform populate_events_mara.
selection-screen begin of block b1 .
select-options: s_matnr for mara-matnr.
selection-screen end of block b1.
start-of-selection.
perform data_retrieval_mara.
perform build_listheader_mara using t_listheader.
perform alv_grid_display_mara.
*&----
**& Form build_fieldcatalog_mara
*&----
*
*text
*----
form build_fieldcatalog_mara.
WA_FIELDCAT-fieldname = 'MATNR'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MTART'.
WA_FIELDCAT-seltext_m = 'Material type'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MBRSH'.
WA_FIELDCAT-seltext_m = 'Industry sector'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MAKTL'.
WA_FIELDCAT-seltext_m = 'Material group'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MEINS'.
WA_FIELDCAT-seltext_m = 'Units'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_mara
*
*&----
**& Form event_call_mara
*&----
*
*text
*----
form event_call_mara.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
*EXPORTING
*I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = v_events.
endform. "build_fieldcatalog_mara
*
*&----
**& Form populate_events_mara
*&----
*
*text
*----
form populate_events_mara.
read table v_events into w_events with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events from w_events transporting form where name = w_events-name.
clear w_events.
endif.
read table v_events into w_events with key name = 'USER_COMMAND'.
if sy-subrc = 0.
w_events-form = 'USER_COMMAND'.
modify v_events from w_events transporting form where name = w_events-name.
endif.
endform. "populate_events_mara
*&----
**& Form data_retrieval_mara
*&----
*
*text
*----
form data_retrieval_mara.
select matnr
mbrsh
mtart
matkl
meins
from mara into corresponding fields of table t_mara
where matnr in s_maTNR.
endform. "populate_events_mara
*&----
**& Form build_listheader_mara
*&----
*
*text
*----
*
*-->T_LISTHEADER text
*----
form build_listheader_mara using t_listheader type SLIS_T_LISTHEADER.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'FIRST LIST'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER.
ENDFORM. "populate_events_mara
*
*&----
**& Form alv_grid_display_mara
*&----
*
*text
*----
form alv_grid_display_mara.
i_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = t_mara_title
IT_FIELDCAT = I_FIELDCAT[]
I_DEFAULT = 'X'
IS_VARIANT = i_variant
IT_EVENTS = v_events
TABLES
T_OUTTAB = t_mara.
ENDFORM. "alv_grid_display_mara
*&----
**& Form TOP_OF_PAGE_MARA
*&----
*
*text
*----
form TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = t_listheader.
refresh t_listheader.
endform. "TOP_OF_PAGE_MARA
*
*&----
**& Form USER_COMMAND
*&----
*
*text
**----
*
*-->R_UCOMM text
*-->RS_SELFIELD text
*----
form USER_COMMAND using r_ucomm like sy-ucomm
RS_SELFIELD TYPE SLIS_SELFIELD.
case r_ucomm.
when '&IC1'.
clear t_listheader.
perform build_fieldcatalog_marc.
perform event_call_marc.
perform populate_events_marc.
perform data_retrieval_marc.
perform build_listheader_marc using t_listheader_1.
perform alv_grid_display_marc.
endcase.
endform. "USER_COMMAND
*&----
*& Form build_fieldcatalog_marc
*&----
*text
*----
form build_fieldcatalog_marc.
refresh i_fieldcat.
WA_FIELDCAT-fieldname = 'MATNR'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'WERKS'.
WA_FIELDCAT-seltext_m = 'Plant'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'PSTAT'.
WA_FIELDCAT-seltext_m = 'Maintenance status'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'DISPR'.
WA_FIELDCAT-seltext_m = 'MRP Profile'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_marc
*&----
*& Form event_call_marc
*&----
*text
*---,--
form event_call_marc.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = v_events_1.
endform. "event_call_marc
*
*&----
**& Form populate_events_marc
*&----
*
*text
*----
form populate_events_marc.
read table v_events_1 into w_events_1 with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE1'.
modify v_events_1 from w_events_1 transporting form where name = w_events-name.
endif.
endform. "populate_events_marc
*&----
**& Form data_retrieval_marc
*&----
*
*text
*----
form data_retrieval_marc.
SELECT MATNR
WERKS
PSTAT
DISPR
FROM MARC INTO CORRESPONDING FIELDS OF TABLE T_MARC
FOR ALL ENTRIES IN T_MARA WHERE MATNR = T_MARA-MATNR.
ENDFORM. "data_retrieval_marc
*
*&----
**& Form build_listheader_marc
*&----
*
*text
*----
*
*-->T_LISTHEADER_1 text
*----
form build_listheader_marc using t_listheader_1 type slis_t_listheader.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'Second List'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER_1.
ENDFORM. "populate_events_mara
FORM TOP_OF_PAGE_1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LISTHEADER_1.
refresh t_listheader_1.
ENDFORM.
form alv_grid_display_marc.
I_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE_1'
I_GRID_TITLE = t_mara_title
IT_FIELDCAT = I_FIELDCAT[]
TABLES
T_OUTTAB = T_MARC.
ENDFORM.
waiting for your reward
PRASANTH
2008 May 20 12:13 PM
hi
WA_FIELDCAT-fieldname = 'mtart'.
Give the field names in above type of statements in caps 'MTART'
in form populate_events_mara.
read table v_events into w_events with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events from w_events transporting form where name = w_events-form.
clear w_events.
endif.
change statement as
modify v_events from w_events transporting form where name = w_events-name.
and in many minute points. i have modified your code
type-pools: slis.
tables: mara,
marc,
mard.
types: begin of ty_mara,
matnr type matnr,
mtart type mtart,
mbrsh type mbrsh,
matkl type matkl,
meins type meins,
end of ty_mara.
types: begin of ty_marc,
matnr type matnr,
werks type werks_d,
PSTAT type PSTAT_D,
DISPR type DISPR,
end of ty_marc.
types: begin of ty_mard,
matnr type matnr,
werks type werks_d,
lgort type lgort_d,
LABST type labst,
end of ty_mard.
data: t_mara type standard table of ty_mara,
w_mara type ty_mara,
t_marc type standard table of ty_marc,
w_marc type ty_marc,
t_mard type standard table of ty_mard,
w_mard type ty_mard.
data: i_repid like sy-repid,
i_fieldcat TYPE SLIS_t_FIELDCAT_ALV,
WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
v_events type slis_t_event,
w_events type SLIS_ALV_EVENT,
v_events_1 type slis_t_event,
w_events_1 type SLIS_ALV_EVENT,
t_listheader type SLIS_T_LISTHEADER,
t_listheader_1 type SLIS_T_LISTHEADER,
t_mara_title type lvc_title value 'first list displayed',
t_marc_title type lvc_title value 'second list displayed',
t_mard_title type lvc_title value 'third list displayed'.
DATA: I_VARIANT TYPE DISVARIANT,
I_VARIANT1 TYPE DISVARIANT,
I_SAVE(1) TYPE C.
initialization.
I_repid = sy-repid.
perform build_fieldcatalog_mara.
perform event_call_mara.
perform populate_events_mara.
selection-screen begin of block b1 .
select-options: s_matnr for mara-matnr.
selection-screen end of block b1.
start-of-selection.
perform data_retrieval_mara.
perform build_listheader_mara using t_listheader.
perform alv_grid_display_mara.
*&----
**& Form build_fieldcatalog_mara
*&----
*
*text
*----
form build_fieldcatalog_mara.
WA_FIELDCAT-fieldname = 'MATNR'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MTART'.
WA_FIELDCAT-seltext_m = 'Material type'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MBRSH'.
WA_FIELDCAT-seltext_m = 'Industry sector'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MAKTL'.
WA_FIELDCAT-seltext_m = 'Material group'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MEINS'.
WA_FIELDCAT-seltext_m = 'Units'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_mara
*
*&----
**& Form event_call_mara
*&----
*
*text
*----
form event_call_mara.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
*EXPORTING
*I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = v_events.
endform. "build_fieldcatalog_mara
*
*&----
**& Form populate_events_mara
*&----
*
*text
*----
form populate_events_mara.
read table v_events into w_events with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE'.
modify v_events from w_events transporting form where name = w_events-name.
clear w_events.
endif.
read table v_events into w_events with key name = 'USER_COMMAND'.
if sy-subrc = 0.
w_events-form = 'USER_COMMAND'.
modify v_events from w_events transporting form where name = w_events-name.
endif.
endform. "populate_events_mara
*&----
**& Form data_retrieval_mara
*&----
*
*text
*----
form data_retrieval_mara.
select matnr
mbrsh
mtart
matkl
meins
from mara into corresponding fields of table t_mara
where matnr in s_maTNR.
endform. "populate_events_mara
*&----
**& Form build_listheader_mara
*&----
*
*text
*----
*
*-->T_LISTHEADER text
*----
form build_listheader_mara using t_listheader type SLIS_T_LISTHEADER.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'FIRST LIST'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER.
ENDFORM. "populate_events_mara
*
*&----
**& Form alv_grid_display_mara
*&----
*
*text
*----
form alv_grid_display_mara.
i_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE'
I_GRID_TITLE = t_mara_title
IT_FIELDCAT = I_FIELDCAT[]
I_DEFAULT = 'X'
IS_VARIANT = i_variant
IT_EVENTS = v_events
TABLES
T_OUTTAB = t_mara.
ENDFORM. "alv_grid_display_mara
*&----
**& Form TOP_OF_PAGE_MARA
*&----
*
*text
*----
form TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = t_listheader.
refresh t_listheader.
endform. "TOP_OF_PAGE_MARA
*
*&----
**& Form USER_COMMAND
*&----
*
*text
**----
*
*-->R_UCOMM text
*-->RS_SELFIELD text
*----
form USER_COMMAND using r_ucomm like sy-ucomm
RS_SELFIELD TYPE SLIS_SELFIELD.
case r_ucomm.
when '&IC1'.
clear t_listheader.
perform build_fieldcatalog_marc.
perform event_call_marc.
perform populate_events_marc.
perform data_retrieval_marc.
perform build_listheader_marc using t_listheader_1.
perform alv_grid_display_marc.
endcase.
endform. "USER_COMMAND
*&----
*& Form build_fieldcatalog_marc
*&----
*text
*----
form build_fieldcatalog_marc.
refresh i_fieldcat.
WA_FIELDCAT-fieldname = 'MATNR'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'WERKS'.
WA_FIELDCAT-seltext_m = 'Plant'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'PSTAT'.
WA_FIELDCAT-seltext_m = 'Maintenance status'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'DISPR'.
WA_FIELDCAT-seltext_m = 'MRP Profile'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
endform. "build_fieldcatalog_marc
*&----
*& Form event_call_marc
*&----
*text
*---,--
form event_call_marc.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = v_events_1.
endform. "event_call_marc
*
*&----
**& Form populate_events_marc
*&----
*
*text
*----
form populate_events_marc.
read table v_events_1 into w_events_1 with key name = 'TOP_OF_PAGE'.
if sy-subrc = 0.
w_events-form = 'TOP_OF_PAGE1'.
modify v_events_1 from w_events_1 transporting form where name = w_events-name.
endif.
endform. "populate_events_marc
*&----
**& Form data_retrieval_marc
*&----
*
*text
*----
form data_retrieval_marc.
SELECT MATNR
WERKS
PSTAT
DISPR
FROM MARC INTO CORRESPONDING FIELDS OF TABLE T_MARC
FOR ALL ENTRIES IN T_MARA WHERE MATNR = T_MARA-MATNR.
ENDFORM. "data_retrieval_marc
*
*&----
**& Form build_listheader_marc
*&----
*
*text
*----
*
*-->T_LISTHEADER_1 text
*----
form build_listheader_marc using t_listheader_1 type slis_t_listheader.
DATA HLINE TYPE SLIS_LISTHEADER.
HLINE-INFO = 'Second List'.
HLINE-TYP = 'H'.
APPEND HLINE TO T_LISTHEADER_1.
ENDFORM. "populate_events_mara
FORM TOP_OF_PAGE_1.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = T_LISTHEADER_1.
refresh t_listheader_1.
ENDFORM.
form alv_grid_display_marc.
I_REPID = SY-REPID.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = i_repid
I_CALLBACK_TOP_OF_PAGE = 'TOP_OF_PAGE_1'
I_GRID_TITLE = t_mara_title
IT_FIELDCAT = I_FIELDCAT[]
TABLES
T_OUTTAB = T_MARC.
ENDFORM.
waiting for your reward
PRASANTH
2008 May 20 12:15 PM
Hi,
i have observed two things in ur code,
1. ur field catalog fields shoul be in Capital letters.
2. u should add one more line to field catalog, i.e.
WA_FIELDCAT-col_pos = 1 or 2 or 3.........
try these two.
Regards,
kk.
2008 May 20 12:18 PM
Pass field name in Block latter
AS
WA_FIELDCAT-fieldname = 'MATNR'.
NOT
WA_FIELDCAT-fieldname = 'matnr'.
If you still get the dump post the dump analysis so that we can get the exact point and short out your problem.
Regards
Bikas
2008 May 20 12:18 PM
Hello,
In the field catalog the field name must be in UPPER CASE and you need to fill at least the fields:
If the field has DDIC reference:
FIELDNAME
REF_TABLE
REF_FIELD
If the field hasn't a DDIC reference:
FIELDNAME
INTTYPE
OUTPUTLEN
COLTEXT
SELTEXT
And I suggest you to read the following: [ALV Tutorial|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e8a1d690-0201-0010-b7ad-d9719a415907].
Regards,
2008 May 20 12:31 PM
Hi,
Give all the field names in CAPITAL letters while developing fieldcatalog. You will get the output
ex:-
WA_FIELDCAT-fieldname = 'MATNR'.
WA_FIELDCAT-seltext_m = 'Material no'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
WA_FIELDCAT-fieldname = 'MTART'.
WA_FIELDCAT-seltext_m = 'Material type'.
append WA_FIELDCAT to i_fieldcat.
clear WA_FIELDCAT.
etc....
Regards,
Chandu