06-29-2006 10:54 AM
Hi,
Can any one give me one exaple for displaying data of an internal table containing few fields(by taking two or three fields)by using reuse_alv_grid_display.
Regards
Vijaya .
06-29-2006 10:59 AM
Hai Vijaya
Go through the following Code
&----
*& Report ZALV_SAMP *
*& *
&----
*& *
*& *
&----
REPORT ZALV_SAMP .
TABLES: MARA.
TYPE-POOLS : SLIS.
*----
Data declaration
*----
DATA: BEGIN OF I_MARA OCCURS 0.
INCLUDE STRUCTURE MARA.
DATA: END OF I_MARA.
DATA: V_REPID LIKE SY-REPID.
*----
selection-screen
*----
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.
PARAMETERS: P_MTART LIKE MARA-MTART DEFAULT 'ROH'.
SELECTION-SCREEN END OF BLOCK B1.
*----
initialisation
*----
INITIALIZATION.
S_MATNR-LOW = '1400'.
S_MATNR-HIGH = '1500'.
APPEND S_MATNR.
V_REPID = SY-REPID.
*----
start-of-selection
*----
START-OF-SELECTION.
SELECT * FROM MARA
INTO TABLE I_MARA
WHERE MATNR IN S_MATNR AND
MTART = P_MTART.
CHECK SY-SUBRC = 0.
*----
end of selection
*----
END-OF-SELECTION.
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_STRUCTURE_NAME = 'MARA'
IS_LAYOUT =
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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_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.
Thanks & Regards
Sreeni
06-29-2006 10:59 AM
Hai Vijaya
Go through the following Code
&----
*& Report ZALV_SAMP *
*& *
&----
*& *
*& *
&----
REPORT ZALV_SAMP .
TABLES: MARA.
TYPE-POOLS : SLIS.
*----
Data declaration
*----
DATA: BEGIN OF I_MARA OCCURS 0.
INCLUDE STRUCTURE MARA.
DATA: END OF I_MARA.
DATA: V_REPID LIKE SY-REPID.
*----
selection-screen
*----
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.
PARAMETERS: P_MTART LIKE MARA-MTART DEFAULT 'ROH'.
SELECTION-SCREEN END OF BLOCK B1.
*----
initialisation
*----
INITIALIZATION.
S_MATNR-LOW = '1400'.
S_MATNR-HIGH = '1500'.
APPEND S_MATNR.
V_REPID = SY-REPID.
*----
start-of-selection
*----
START-OF-SELECTION.
SELECT * FROM MARA
INTO TABLE I_MARA
WHERE MATNR IN S_MATNR AND
MTART = P_MTART.
CHECK SY-SUBRC = 0.
*----
end of selection
*----
END-OF-SELECTION.
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_STRUCTURE_NAME = 'MARA'
IS_LAYOUT =
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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = I_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.
Thanks & Regards
Sreeni
06-29-2006 10:59 AM
Not sure what exactly you are looking for.
There are lot of examples in the system
Take a look at BCALVGRID* programs.
Take a look at these blogs which explain the same step by step.
/people/ravikumar.allampallam/blog/2005/06/01/alv-reporting-using-controls--part-i
/people/ravikumar.allampallam/blog/2005/06/01/alv-reporting-using-controls-control-layouts--part-ii
Regards,
Ravi
Note : Please mark the helpful answers
Message was edited by: Ravikumar Allampallam
06-29-2006 11:03 AM
Hi,
Check this example...
report ztest_alv_check message-id zz .
type-pools: slis.
data: x_fieldcat type slis_fieldcat_alv,
it_fieldcat type slis_t_fieldcat_alv,
l_layout type slis_layout_alv,
x_events type slis_alv_event,
it_events type slis_t_event.
data: begin of itab occurs 0,
vbeln like vbak-vbeln,
posnr like vbap-posnr,
ZMENG like vbap-ZMENG,
end of itab.
select vbeln
posnr
zmeng
from vbap
up to 20 rows
into table itab.
loop at itab.
itab-ZMENG = sy-tabix .
modify itab index sy-tabix.
endloop.
x_fieldcat-fieldname = 'VBELN'.
x_fieldcat-seltext_l = 'VBELN'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 2.
append x_fieldcat to it_fieldcat.
clear x_fieldcat.
x_fieldcat-fieldname = 'POSNR'.
x_fieldcat-seltext_l = 'POSNR'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-col_pos = 3.
append x_fieldcat to it_fieldcat.
clear x_fieldcat.
x_fieldcat-fieldname = 'ZMENG'.
x_fieldcat-seltext_l = 'ZMENG'.
x_fieldcat-tabname = 'ITAB'.
x_fieldcat-do_sum = 'X'.
x_fieldcat-col_pos = 4.
append x_fieldcat to it_fieldcat.
clear x_fieldcat.
data: sort type slis_sortinfo_alv,
it_sort type SLIS_T_SORTINFO_ALV.
sort-fieldname = 'VBELN'.
sort-up = 'X'.
sort-subtot = 'X'.
APPEND sort to it_sort.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = sy-repid
is_layout = l_layout
it_fieldcat = it_fieldcat
it_events = it_events
it_sort = it_sort
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.
Regards
vijay
06-29-2006 11:07 AM
Hi Vijaya,
U can refer to this simple code...
&----
*& Report Z_KIRANP_ALV *
*& *
&----
*& *
*& *
&----
REPORT Z_KIRANP_ALV.
TYPE-POOLS: SLIS.
TABLES : MARA,
MARC,
MAKT.
*--
WORKAREA FOR FIELD CATALOG TABLE.
DATA: WA_FLDCAT TYPE SLIS_FIELDCAT_ALV.
WORKAREA FOR EVENTS TABLE.
DATA: WA_EVENTS TYPE SLIS_ALV_EVENT.
WORKAREA FOR LAYOUT TABLE.
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
WORKAREA FOR PRINT SETTINGS.
DATA: WA_PRINT TYPE SLIS_PRINT_ALV.
*--
DATA: V_CPROG TYPE SY-CPROG, " REPORT ID.
V_UNAME TYPE SY-UNAME. " USER NAME.
*--
INTERNAL TABLE TO HOLD THE SELECTED RECORDS
DATA: BEGIN OF IT_FINAL OCCURS 100,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
ERNAM LIKE MARA-ERNAM,
PSTAT LIKE MARC-PSTAT,
MAKTX LIKE MAKT-MAKTX,
MEINS LIKE MARA-MEINS,
END OF IT_FINAL.
INTERNAL TABLE FOR FIELD CATALOG.
DATA : IT_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
INTERNAL TABLE FOR EVENTS
DATA : IT_EVENTS TYPE SLIS_T_EVENT.
*--
SELECTION-SCREEN: BEGIN OF BLOCK PROG WITH FRAME.
SELECT-OPTIONS S_MATNR FOR MARA-MATNR.
SELECT-OPTIONS S_WERKS FOR MARC-WERKS.
SELECTION-SCREEN: END OF BLOCK PROG.
----
I N I T I A L I Z A T I O N *
----
INITIALIZATION.
V_UNAME = SY-UNAME.
V_CPROG = SY-CPROG.
*--
START-OF-SELECTION.
Selection of data from the database
PERFORM SUB_GET_DATA.
*--
END-OF-SELECTION.
Build the field catalog.
PERFORM SUB_FLDCAT.
Modify the field catalog.
PERFORM SUB_MODIFY_FLDCAT.
Build the events.
PERFORM SUB_EVENTS.
Modify the events table.
PERFORM SUB_MODIFY_EVENTS.
Layout of the list.
PERFORM SUB_LAYOUT.
Generation of the list.
PERFORM SUB_DISP_LIST.
&----
*& Form SUB_GET_DATA
&----
text
----
FORM SUB_GET_DATA .
SELECT MARA~MATNR
MARC~WERKS
MARA~ERNAM
MARC~PSTAT
MAKT~MAKTX
MARA~MEINS
FROM ( MARA INNER JOIN MARC ON MARAMATNR = MARCMATNR )
INNER JOIN MAKT ON MARAMATNR = MAKTMATNR
INTO TABLE IT_FINAL
WHERE MARA~MATNR IN S_MATNR
AND MARC~WERKS IN S_WERKS.
ENDFORM. " SUB_GET_DATA
&----
*& Form SUB_FLDCAT
&----
text
----
FORM SUB_FLDCAT .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = V_CPROG
I_INTERNAL_TABNAME = 'IT_FINAL'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
I_INCLNAME = V_CPROG
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
CT_FIELDCAT = IT_FLDCAT
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
.
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. " SUB_FLDCAT
&----
*& Form SUB_MODIFY_FLDCAT
&----
text
----
FORM SUB_MODIFY_FLDCAT .
LOOP AT IT_FLDCAT INTO WA_FLDCAT.
CASE WA_FLDCAT-FIELDNAME.
WHEN 'MATNR'.
WA_FLDCAT-SELTEXT_M = 'Material Number' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 1.
WA_FLDCAT-KEY = 'X'.
WHEN 'MAKTX'.
WA_FLDCAT-SELTEXT_M = 'Material Description' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 2.
WA_FLDCAT-KEY = SPACE.
WHEN 'WERKS'.
WA_FLDCAT-SELTEXT_M = 'Plant' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 3.
WA_FLDCAT-KEY = SPACE.
WHEN 'ERNAM'.
WA_FLDCAT-SELTEXT_M = 'Name' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 4.
WA_FLDCAT-KEY = SPACE.
WHEN 'PSTAT'.
WA_FLDCAT-SELTEXT_M = 'Maintenance status' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 5.
WA_FLDCAT-KEY = SPACE.
WHEN 'MEINS'.
WA_FLDCAT-SELTEXT_M = 'UoM' .
WA_FLDCAT-DDICTXT = 'M'.
WA_FLDCAT-COL_POS = 6.
WA_FLDCAT-KEY = SPACE.
ENDCASE.
MODIFY IT_FLDCAT FROM WA_FLDCAT.
ENDLOOP.
ENDFORM. " SUB_MODIFY_FLDCAT
&----
*& Form SUB_EVENTS
&----
text
----
FORM SUB_EVENTS .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = IT_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. " SUB_EVENTS
&----
*& Form SUB_MODIFY_EVENTS
&----
text
----
--> p1 text
<-- p2 text
----
FORM SUB_MODIFY_EVENTS .
READ TABLE IT_EVENTS INTO WA_EVENTS
WITH KEY NAME = SLIS_EV_TOP_OF_PAGE.
WA_EVENTS-FORM = 'SUB_FRM_TOP'.
MODIFY IT_EVENTS FROM WA_EVENTS INDEX SY-TABIX.
ENDFORM. " SUB_MODIFY_EVENTS
&----
*& Form SUB_LAYOUT
&----
text
----
--> p1 text
<-- p2 text
----
FORM SUB_LAYOUT .
WA_LAYOUT-ZEBRA = 'X'.
WA_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
ENDFORM. " SUB_LAYOUT
&----
*& Form SUB_DISP_LIST
&----
text
----
FORM SUB_DISP_LIST .
SORT IT_FINAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = V_CPROG
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FLDCAT
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_FINAL
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. " SUB_DISP_LIST
Regards,
kiran B
06-29-2006 2:23 PM
Hi P Vijaya,
Here is the code use these values to check-
For mate docu no - 50000042 to 50000099
For docu yr - 1994.
TABLES: mkpf, mseg, mchb, sscrfields.
TYPE-POOLS slis.
DATA: r_ucomm LIKE sy-ucomm,
rs_selfield TYPE slis_selfield,
save_ok LIKE sy-ucomm,
prognam LIKE sy-repid,
tabindex TYPE i.
prognam = sy-repid.
DATA alv TYPE REF TO cl_gui_alv_grid.
DATA: BEGIN OF t_mseg OCCURS 0,
zeile LIKE mseg-zeile,
menge LIKE mseg-menge,
meins LIKE mseg-meins,
matnr LIKE mseg-matnr,
werks LIKE mseg-werks,
charg LIKE mseg-charg,
bwart LIKE mseg-bwart,
END OF t_mseg,
fieldcattab TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA: BEGIN OF t_mchb OCCURS 0,
matnr TYPE mchb-matnr,
charg TYPE mchb-charg,
werks TYPE mchb-werks,
clabs TYPE mchb-clabs,
END OF t_mchb,
t_mchb1 LIKE TABLE OF t_mchb WITH HEADER LINE.
SELECTION-SCREEN BEGIN OF BLOCK b_b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS s_docno FOR mkpf-mblnr OBLIGATORY.
PARAMETERS p_docyr LIKE mkpf-mjahr OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b_b1.
INITIALIZATION.
sscrfields-functxt_01 = 'Refresh'.
sscrfields-ucomm = 'fc01'.
AT SELECTION-SCREEN.
CASE sscrfields-ucomm.
WHEN 'FC01'.
CLEAR: s_docno[],
p_docyr.
ENDCASE.
START-OF-SELECTION.
SELECT zeile
menge
meins
matnr
werks
charg
bwart
FROM mseg
INTO TABLE t_mseg
WHERE mblnr IN s_docno AND mjahr = p_docyr.
SELECT matnr
charg
werks
clabs
FROM mchb
INTO TABLE t_mchb
FOR ALL ENTRIES IN t_mseg
WHERE mchb~matnr = t_mseg-matnr.
CLEAR fieldcattab.
fieldcattab-col_pos = 1.
fieldcattab-fieldname = 'ZEILE'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-fix_column = 'X'.
fieldcattab-seltext_l = 'Item'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 2.
fieldcattab-fieldname = 'MENGE'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'Quantity'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 3.
fieldcattab-fieldname = 'MEINS'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'U-O-M'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 4.
fieldcattab-fieldname = 'MATNR'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'Material No'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 5.
fieldcattab-fieldname = 'WERKS'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'Plant'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 6.
fieldcattab-fieldname = 'CHARG'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'Batch No'.
APPEND fieldcattab.
CLEAR fieldcattab.
fieldcattab-col_pos = 7.
fieldcattab-fieldname = 'BWART'.
fieldcattab-tabname = 'T_MSEG'.
fieldcattab-seltext_l = 'Movement Type'.
APPEND fieldcattab.
CLEAR gs_layout.
gs_layout-zebra = 'X'.
gs_layout-info_fieldname = 'LINE_COLOR'.
APPEND gs_layout.
END-OF-SELECTION.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = prognam
i_callback_user_command = 'USERCOMMAND'
it_fieldcat = fieldcattab[]
TABLES
t_outtab = t_mseg[].
Just copy this code n run it.
Hope this helps.
Seema.
06-29-2006 2:40 PM
hi vijaya,
check this code..
tables: lfa1,lfb1,lfm1.
type-pools: slis.
type-pools: icon.
***DATA DECLN.
data: v_lifnr like lfa1-lifnr,
v_bukrs like lfb1-bukrs,
v_ekorg like lfm1-ekorg,
v_ktokk like lfa1-ktokk.
***FIELD CATALOG.
*CHANGES BY LAXMI
data: itab_fieldcat type slis_t_fieldcat_alv with header line.
*END CHANGES
***SORTING
data: itab_sort type slis_t_sortinfo_alv.
FOR LAYOUT
data: wa_layout type slis_layout_alv.
data : v_repid type sy-repid.
*INTERNAL TABLE DECLN
data: begin of itab occurs 0,
lifnr like lfa1-lifnr,
bukrs like lfb1-bukrs,
ekorg like lfm1-ekorg,
ktokk like lfa1-ktokk,
name1 like lfa1-name1,
stras like lfa1-stras,
ort01 like lfa1-ort01,
regio like lfa1-regio,
pfort like lfa1-pfort,
pstlz like lfa1-pstlz,
pstl2 like lfa1-pstl2,
telf1 like lfa1-telf1,
color(3) type c,
*CELLCOLOR TYPE LVC_T_SCOL,
end of itab.
*SELECTION-SCREEN.
selection-screen: begin of block b1 with frame.
select-options: s_lifnr for lfa1-lifnr.
select-options: s_bukrs for lfb1-bukrs.
select-options: s_ekorg for lfm1-ekorg.
select-options: s_ktokk for lfa1-ktokk.
selection-screen: end of block b1.
parameters: r_list radiobutton group g1,
r_grid radiobutton group g1.
**AT SELECTION-SCREEN.
at selection-screen.
if not s_lifnr is initial.
select single lifnr
into v_lifnr
from lfa1
where lifnr in s_lifnr.
if sy-subrc <> 0.
message e001(zz1).
endif.
else.
message e005(zz1).
endif.
if not s_bukrs is initial.
select single bukrs
from t001
into v_bukrs
where bukrs in s_bukrs.
if sy-subrc <> 0.
message e002(zz1).
endif.
else.
message e006(zz1).
endif.
if not s_ekorg is initial.
select single ekorg
from t024e
into v_ekorg
where ekorg in s_ekorg.
if sy-subrc <> 0.
message e003(zz1).
endif.
else.
message e007(zz1).
endif.
if not s_ktokk is initial.
select single ktokk
from t077k
into v_ktokk
where ktokk in s_ktokk.
if sy-subrc <> 0.
message e008(zz1).
endif.
else.
message e008(zz1).
endif.
***start of selection.
start-of-selection.
v_repid = sy-repid.
perform get_data.
****END OF SELECTION.
end-of-selection.
perform get_field_catalog.
*PERFORM BUILD_FIELDCAT.
if r_list = 'X'.
perform list_display.
else.
perform grid_display.
endif.
&----
*& Form GET_DATA
&----
text
----
--> p1 text
<-- p2 text
----
form get_data .
select lfa1~lifnr
lfb1~bukrs
lfm1~ekorg
lfa1~ktokk
lfa1~name1
lfa1~stras
lfa1~ort01
lfa1~regio
lfa1~pfort
lfa1~pstlz
lfa1~pstl2
lfa1~telf1
from lfa1 inner join lfb1 on lfa1lifnr = lfb1lifnr
inner join lfm1 on lfa1lifnr = lfm1lifnr
into corresponding fields of table itab
where lfa1~lifnr in s_lifnr.
endform. " GET_DATA
&----
*& Form GET_FIELD_CATALOG
&----
text
----
--> p1 text
<-- p2 text
----
form get_field_catalog .
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = v_repid
i_internal_tabname = 'ITAB'
I_STRUCTURE_NAME =
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = v_repid
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
changing
ct_fieldcat = itab_fieldcat[]
exceptions
inconsistent_interface = 1
program_error = 2
others = 3.
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. " GET_FIELD_CATALOG
&----
*& Form LIST_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
form list_display .
wa_layout-info_fieldname = 'COLOR'.
wa_layout-zebra = 'X'.
call function 'REUSE_ALV_LIST_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 = ' '
I_STRUCTURE_NAME =
is_layout = wa_layout
it_fieldcat = itab_fieldcat[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = 'A'
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
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.
endform. " LIST_DISPLAY
&----
*& Form BUILD_FIELDCAT
&----
text
----
--> p1 text
<-- p2 text
----
form build_fieldcat .
itab_fieldcat-col_pos = 0.
itab_fieldcat-fieldname = 'LIFNR'.
itab_fieldcat-key = 'X'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-outputlen = '10'.
itab_fieldcat-seltext_l = 'VENDOR'(009).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 1.
itab_fieldcat-fieldname = 'BUKRS'.
itab_fieldcat-key = 'X'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-outputlen = '4'.
itab_fieldcat-seltext_l = 'COMPANY CODE'(010).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 2.
itab_fieldcat-fieldname = 'EKORG'.
itab_fieldcat-key = 'X'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-outputlen = '4'.
itab_fieldcat-seltext_l = 'PURCHASING ORG'(011).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 3.
itab_fieldcat-fieldname = 'KTOKK'.
itab_fieldcat-outputlen = '4'.
itab_fieldcat-seltext_l = 'ACCOUNT GRP'(012).
itab_fieldcat-emphasize = 'X'.
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 4.
itab_fieldcat-fieldname = 'NAME1'.
itab_fieldcat-outputlen = '12'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-seltext_l = 'VENDOR NAME'(013).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 5.
itab_fieldcat-fieldname = 'STRAS'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-outputlen = '12'.
itab_fieldcat-seltext_l = 'STREET'(014).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 6.
itab_fieldcat-fieldname = 'ORT01'.
itab_fieldcat-outputlen = '12'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-seltext_l = 'CITY'(015).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 7.
itab_fieldcat-fieldname = 'REGIO'.
itab_fieldcat-outputlen = '2'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-seltext_l = 'REGION'(016).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 8.
itab_fieldcat-fieldname = 'PFORT'.
itab_fieldcat-outputlen = '10'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-seltext_l = 'PO BOX'(017).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 9.
itab_fieldcat-fieldname = 'PFTLZ'.
itab_fieldcat-emphasize = 'X'.
itab_fieldcat-outputlen = '10'.
itab_fieldcat-seltext_l = 'POST CODE'(018).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 10.
itab_fieldcat-fieldname = 'PSTL2'.
itab_fieldcat-outputlen = '10'.
itab_fieldcat-seltext_l = 'PO ZIP'(019).
append itab_fieldcat.
clear itab_fieldcat.
itab_fieldcat-col_pos = 11.
itab_fieldcat-fieldname = 'TELF1'.
itab_fieldcat-outputlen = '16'.
itab_fieldcat-seltext_l = 'TELEPHONE'(020).
append itab_fieldcat.
clear itab_fieldcat.
*L_POS = L_POS + 1.
*DATA: LS_CELLCOLOR TYPE LVC_S_SCOL.
*DATA: L_INDEX TYPE SY-TABIX.
*
*LOOP AT ITAB.
L_INDEX = SY-TABIX.
if l_index = 1 or l_index = 10.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '6'.
LS_CELLCOLOR-COLOR-INT = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
endif.
if l_index = 5 or l_index = 20.
LS_CELLCOLOR-FNAME = 'VBELN'.
LS_CELLCOLOR-COLOR-COL = '4'.
LS_CELLCOLOR-COLOR-INT = '1'.
APPEND LS_CELLCOLOR TO ITAB-CELLCOLOR.
MODIFY ITAB INDEX L_INDEX TRANSPORTING CELLCOLOR.
endif.
*ENDLOOP.
endform. " BUILD_FIELDCAT
&----
*& Form GRID_DISPLAY
&----
text
----
--> p1 text
<-- p2 text
----
form grid_display .
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 = ' '
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 =
it_fieldcat = itab_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.
endform. " GRID_DISPLAY
hope this helps,
priya.