‎2007 Feb 21 3:14 PM
Hi all
Any sample program for interactive ALV using OO-ABAP.
Thanks in advance.
‎2007 Feb 21 3:15 PM
‎2007 Feb 21 3:15 PM
‎2007 Feb 21 3:22 PM
‎2007 Feb 21 4:59 PM
‎2007 Feb 21 7:38 PM
Hello Reddy
I have posted several sample reports in this forum. Just search the forum with term <b>ZUS_SDN</b> (e.g. ZUS_SDN_BCALV_EDIT_03_F4).
Regards
Uwe
‎2007 Feb 26 3:04 PM
Hi Prasad,
Please go through these documents.
http://esnips.com/doc/b708766f-a934-42a1-8064-c4de75b48fc4/Sample-Program-of-alv-using-oops.ppt
http://esnips.com/doc/2d953590-e8c5-490c-a607-d1ab7cf517d7/ALV.pdf
<b>Award points if found useful.</b>
Regards,
SP.
‎2007 Apr 05 6:47 AM
Hi,
Interactive ALV using ABAP Objects.
Code Sample:
report ZINTERACTIVEREPORT.
class EVENT_CLASS definition deferred.
data : OK_CODE like SY-UCOMM,
GT_VBAK type table of VBAK,
GT_VBAP type table of VBAP,
G_MAX type I value 100,
G_REPID like SY-REPID,
GS_LAYOUT type LVC_S_LAYO,
GT_FIELDCAT type LVC_T_FCAT ,
GS_FIELDCAT type LVC_S_FCAT ,
GRID1 type ref to CL_GUI_ALV_GRID,
GRID2 type ref to CL_GUI_ALV_GRID,
CUSTOM1 type ref to CL_GUI_CUSTOM_CONTAINER,
CUSTOM2 type ref to CL_GUI_CUSTOM_CONTAINER,
C1 type SCRFNAME value 'CONTAINER1',
C2 type SCRFNAME value 'CONTAINER2',
EVENT_RECEIVER type ref to EVENT_CLASS.
set screen 100.
----
CLASS lcl_event_receiver DEFINITION
----
*
----
class EVENT_CLASS definition.
public section.
methods:
HANDLE_DOUBLE_CLICK
for event DOUBLE_CLICK of CL_GUI_ALV_GRID importing E_ROW .
endclass. "lcl_event_receiver DEFINITION
----
CLASS lcl_event_receiver IMPLEMENTATION
----
*
----
class EVENT_CLASS implementation.
method HANDLE_DOUBLE_CLICK.
data : LS_VBAK like line of GT_VBAK.
read table GT_VBAK index E_ROW-INDEX into LS_VBAK.
perform SELECT_TABLE_VBAP using LS_VBAK changing GT_VBAP.
call screen 101 starting at 0 0.
endmethod. "handle_double_click
endclass. "lcl_event_receiver IMPLEMENTATION
&----
*& Module pbo_100 OUTPUT
&----
module PBO_100 output.
set pf-status 'MAIN100'.
set titlebar 'MAIN100'.
G_REPID = SY-REPID.
if CUSTOM1 is initial.
perform SELECT_TABLE_VBAK changing GT_VBAK.
create object CUSTOM1
exporting
PARENT =
CONTAINER_NAME = C1
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
create object GRID1
exporting
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = CUSTOM1
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
GS_LAYOUT-GRID_TITLE = 'SALES DOCUMENT NUMBER'.
GS_FIELDCAT-FIELDNAME = 'VBELN'.
GS_FIELDCAT-REF_TABLE = 'VBAK'.
GS_FIELDCAT-REF_FIELD = 'VBELN'.
GS_FIELDCAT-COLTEXT = 'SALES DOCUMENT NUMBER'.
GS_FIELDCAT-OUTPUTLEN = 10.
append GS_FIELDCAT to GT_FIELDCAT.
call method GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT = GS_LAYOUT
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
changing
IT_OUTTAB = GT_VBAK[]
IT_FIELDCATALOG = GT_FIELDCAT
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
create object EVENT_RECEIVER.
set handler EVENT_RECEIVER->HANDLE_DOUBLE_CLICK for GRID1.
endif.
endmodule. " pbo_100 OUTPUT
&----
*& Form select_table_vbap
&----
form SELECT_TABLE_VBAK changing P_GT_VBAK like GT_VBAK.
select VBELN from VBAK into corresponding fields of table P_GT_VBAK up to G_MAX rows.
endform. " select_table_vbap
&----
*& Module pai_100 INPUT
&----
module PAI_100 input.
case OK_CODE.
when 'BACK' or 'CANCEL' or 'EXIT'.
leave program.
perform exit_program.
endcase.
clear OK_CODE.
endmodule. " pai_100 INPUT
----
MODULE PBO_101 OUTPUT
----
*
----
module PBO_101 output.
set pf-status 'DETAIL101'.
set titlebar 'DETAIL101'.
if CUSTOM2 is initial.
create object CUSTOM2
exporting
PARENT =
CONTAINER_NAME = C2
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
CNTL_ERROR = 1
CNTL_SYSTEM_ERROR = 2
CREATE_ERROR = 3
LIFETIME_ERROR = 4
LIFETIME_DYNPRO_DYNPRO_LINK = 5
others = 6
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
create object GRID2
exporting
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = CUSTOM2
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
EXCEPTIONS
ERROR_CNTL_CREATE = 1
ERROR_CNTL_INIT = 2
ERROR_CNTL_LINK = 3
ERROR_DP_CREATE = 4
others = 5
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
GS_LAYOUT-GRID_TITLE = 'SALES DOCUMENT ITEM'.
refresh gt_fieldcat.
clear gs_fieldcat.
GS_FIELDCAT-FIELDNAME = 'POSNR'.
GS_FIELDCAT-REF_TABLE = 'VBAP'.
GS_FIELDCAT-REF_FIELD = 'POSNR'.
GS_FIELDCAT-COLTEXT = 'SALES DOCUMENT ITEM'.
GS_FIELDCAT-OUTPUTLEN = 10.
append GS_FIELDCAT to GT_FIELDCAT.
call method GRID2->SET_TABLE_FOR_FIRST_DISPLAY
exporting
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT = GS_LAYOUT
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
changing
IT_OUTTAB = GT_VBAP[]
IT_FIELDCATALOG = GT_FIELDCAT
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
.
if SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endif.
endmodule. " PBO_101 OUTPUT
&----
*& Form select_table_vbap
&----
form SELECT_TABLE_VBAP using P_LS_VBAK like line of GT_VBAK
changing P_GT_VBAP like GT_VBAP[].
select POSNR from VBAP into corresponding fields of table GT_VBAP where VBELN = P_LS_VBAK-VBELN.
endform. " select_table_vbap
&----
*& Module PAI_101 INPUT
&----
module PAI_101 input.
case OK_CODE.
when 'RETURN'.
leave to screen 100.
endcase.
clear OK_CODE.
endmodule. " PAI_101 INPUT