2010 Sep 02 11:07 AM
Hello Abap experts,
I need to create an alv_grid with a bar at the very beginning of the columns as it is in IW28. I use REUSE_ALV_GRID_DISPLAY.
Thanks in advance.
2010 Sep 02 1:43 PM
Hello Abap experts,
I need to create an alv_grid with a bar at the very beginning of the columns as it is in IW28. I use REUSE_ALV_GRID_DISPLAY.
Thanks in advance.
2010 Sep 02 11:57 AM
Do u mean ,bar by which you can select all the lines of the grid?
Rgds,
mayank
2010 Sep 02 12:00 PM
2010 Sep 02 12:12 PM
Add first columnto your final structure :
TYPES: begin of ty_final,
SEL type c,
than all your output fields.
end of ty_final.
in layout for grid, fill this gd_layout-box_fieldname = 'SEL'.
Rgds,
Mayank
2010 Sep 02 12:22 PM
2010 Sep 02 12:53 PM
it has nothing to do with Oops..
in the reuse_alv_grid_display we can use it.
Let us know how you have coded.
Rgds,
Mayank
2010 Sep 02 1:08 PM
*&----
*
*& Report ZREP_IW28
*&
*&----
*
*&
*&
*&----
*
REPORT ZREP_IW28.
TABLES: VIQMEL.
TYPE-POOLS : slis.
DATA: BEGIN OF object_tab OCCURS 0.
DATA: QMNUM type QMNUM,
QMTXT type QMTXT,
TPLNR type TPLNR,
EQUNR type EQUNR,
AUSVN TYPE AUSVN,
AUSBS type AUSBS,
AUZTV type AUZTV,
AUZTB type AUZTB,
MSAUS type MSAUS,
MZEIT type MZEIT,
QMDAT type QMDAT,
QMDAB type QMDAB,
QMZAB type QMZAB,
ERDAT type ERDAT,
AEDAT type AEDAT,
ERZEIT type ERZEIT,
AEZEIT type AEZEIT,
ZZTIMEDIFF1 type zdtdiff,
ZZTIMEDIFF2 type zdtdiff_2,
ZZTIMEDIFF3 type zdtdiff_3. "497622
DATA END OF object_tab.
"**********************************************
Data:gs_object_tab like LINE OF object_tab.
Data:gt_object_tab like object_tab OCCURS 0.
"***********************************************
SELECTION-SCREEN BEGIN OF BLOCK choice WITH FRAME TITLE text-003.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 15.
PARAMETERS: rb1 RADIOBUTTON GROUP rb.
SELECTION-SCREEN COMMENT 20(30) text-001.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 15.
PARAMETERS: rb2 RADIOBUTTON GROUP rb.
SELECTION-SCREEN COMMENT 20(30) text-002.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK choice.
SELECTION-SCREEN BEGIN OF BLOCK choice2 WITH FRAME TITLE text-004.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 25.
SELECT-OPTIONS:
tplnr for viqmel-tplnr.
SELECTION-SCREEN COMMENT 5(15) text-005.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 25.
SELECT-OPTIONS:
equnr for viqmel-equnr.
SELECTION-SCREEN COMMENT 5(15) text-006.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK choice2.
INITIALIZATION.
START-OF-SELECTION.
IF rb1 eq 'X'.
"WRITE:/ 'Ilk Radio Button seçili'.
"""""""""""""""""""""""""""""""""""""""""""""
Select
QMNUM QMTXT AUSVN AUSBS AUZTV
AUZTB MSAUS MZEIT QMDAT QMDAB
QMZAB TPLNR ERDAT AEDAT ERZEIT
AEZEIT ZZTIMEDIFF1 ZZTIMEDIFF2 ZZTIMEDIFF3
from VIQMEL
into CORRESPONDING FIELDS OF TABLE object_tab
WHERE tplnr in tplnr AND equnr in equnr.
DATA: zaman2 TYPE i,
zaman1 TYPE i,
zaman3 TYPE i,
deger TYPE f,
deger2 TYPE f,
deger3 TYPE f.
IF rb1 eq 'X'."*******************************************************************
LOOP AT object_tab into gs_object_tab.
"***************************************************
deger = 0.
deger2 = 0.
deger3 = 0.
*************************************************"BAKIM SURESI
CALL FUNCTION 'SWI_DURATION_DETERMINE'
EXPORTING
START_DATE = gs_object_tab-ERDAT
END_DATE = gs_object_tab-AEDAT
START_TIME = gs_object_tab-ERZEIT
END_TIME = gs_object_tab-AEZEIT
IMPORTING
DURATION = zaman1.
deger = zaman1 / 60 / 60.
gs_object_tab-ZZTIMEDIFF2 = deger.
**********************************************
CALL FUNCTION 'SWI_DURATION_DETERMINE' "BEKLEME SURESI
EXPORTING
START_DATE = gs_object_tab-QMDAT
END_DATE = gs_object_tab-ERDAT
START_TIME = gs_object_tab-MZEIT
END_TIME = gs_object_tab-ERZEIT
IMPORTING
DURATION = zaman2.
deger2 = zaman2 / 60 / 60.
gs_object_tab-ZZTIMEDIFF1 = deger2.
""""""""""""""""""""""""""""""""""""" Toplam Arıza Suresi
gs_object_tab-ZZTIMEDIFF3 = deger + deger2.
""""""""""""""""""""""""""""""""""""".
MODIFY object_tab from gs_object_tab.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZREP_IW28'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND2'
I_STRUCTURE_NAME = 'ZBKMTKPTRH'
TABLES
T_OUTTAB = object_tab
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.
ELSE.""HEPSİ SEÇİLİ DEĞİLSE*******************************************************
LOOP AT object_tab into gs_object_tab.
"***************************************************
deger = 0.
deger2 = 0.
deger3 = 0.
*************************************************"BAKIM SURESI
CALL FUNCTION 'SWI_DURATION_DETERMINE'
EXPORTING
START_DATE = gs_object_tab-ERDAT
END_DATE = gs_object_tab-AEDAT
START_TIME = gs_object_tab-ERZEIT
END_TIME = gs_object_tab-AEZEIT
IMPORTING
DURATION = zaman1.
deger = zaman1 / 60 / 60.
gs_object_tab-ZZTIMEDIFF2 = deger.
*****************************************************"BEKLEME SURESI
CALL FUNCTION 'SWI_DURATION_DETERMINE'
EXPORTING
START_DATE = gs_object_tab-QMDAT
END_DATE = gs_object_tab-ERDAT
START_TIME = gs_object_tab-MZEIT
END_TIME = gs_object_tab-ERZEIT
IMPORTING
DURATION = zaman2.
deger2 = zaman2 / 60 / 60.
gs_object_tab-ZZTIMEDIFF1 = deger2.
*****************************************"Toplam Arıza Suresi
gs_object_tab-ZZTIMEDIFF3 = deger + deger2.
DATA : WA_TIME TYPE IMRG-ITIME.
WA_TIME = gs_object_tab-auztv + 59.
if ( gs_object_tab-qmdat ne '00000000' and gs_object_tab-ausvn ne '00000000').
if ( gs_object_tab-qmdat > gs_object_tab-ausvn ) or
( gs_object_tab-qmdat eq gs_object_tab-ausvn and gs_object_tab-mzeit > WA_TIME ).
APPEND gs_object_tab to gt_object_tab.
endif.
endif.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZREP_IW28'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND2'
I_STRUCTURE_NAME = 'ZBKMTKPTRH'
TABLES
T_OUTTAB = gt_object_tab
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDIF.
FORM USER_COMMAND2 USING R_UCOMM LIKE sy-ucomm
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
when '&IC1'.
ENDCASE.
ENDFORM.
2010 Sep 02 1:19 PM
See the same code:
TABLES: ekko.
type-pools: slis.
TYPES: BEGIN OF t_ekko,
SEL type c,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
statu TYPE ekpo-statu,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
menge TYPE ekpo-menge,
meins TYPE ekpo-meins,
netpr TYPE ekpo-netpr,
peinh TYPE ekpo-peinh,
END OF t_ekko.
form build_layout.
gd_layout-no_input = 'X'.
gd_layout-colwidth_optimize = 'X'.
gd_layout-totals_text = 'Totals'(500).
* gd_layout-totals_only = 'X'.
* gd_layout-f2code = 'DISP'.
* gd_layout-zebra = 'X'.
* gd_layout-group_change_edit = 'X'.
gd_layout-box_fieldname = 'SEL'. "Add this here
endform.
form display_alv_report.
gd_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = gd_repid
* i_callback_top_of_page = 'TOP-OF-PAGE'
* i_callback_user_command = 'USER_COMMAND'
* i_grid_title = outtext
is_layout = gd_layout "Add it here
it_fieldcat = fieldcatalog[]
* it_special_groups = gd_tabgroup
* IT_EVENTS = GT_XEVENTS
i_save = 'X'
* is_variant = z_template
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 data_retrieval.
select ebeln ebelp statu aedat matnr menge meins netpr peinh
from ekpo
into CORRESPONDING FIELDS OF TABLE it_ekko.
endform.Hope this wil help you..
Rgds,
Mayank
Edited by: mayank verdia on Sep 2, 2010 2:22 PM
2010 Sep 02 1:43 PM
2010 Sep 02 1:45 PM