sap-abap_ oops alv interactive report
DESCRIPTION
OOPS ALV INTERACTIVE REPORT.TRANSCRIPT
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 1/6
sapabap
Wednesday, 12 June 2013
OOPS ALV INTERACTIVE REPORT
oops alv interactive report.This is the sample alv interactive.Sir explained same example in class.Creare 3 screensScreen 100.Create a custom control with name ‘CST1’.Screen 200.Create a custom control with name ‘CST2’.Screen 300.Create a custom control with name ‘CST3’.Note : here you can mention custom container name for all the screens as ‘CST’also. Because each screen have separate custom container.
REPORT zrk_oop_alv02.
TYPES : BEGIN OF ty_kna1, kunnr TYPE kna1kunnr, land1 TYPE kna1land1, name1 TYPE kna1name1, END OF ty_kna1.DATA : lt_kna1 TYPE TABLE OF ty_kna1, ls_kna1 TYPE ty_kna1.TYPES : BEGIN OF ty_vbak, vbeln TYPE vbakvbeln, erdat TYPE vbakerdat, erzet TYPE vbakerzet, ernam TYPE vbakernam, cellstyles TYPE lvc_t_styl, END OF ty_vbak.DATA : lt_vbak TYPE TABLE OF ty_vbak, ls_vbak TYPE ty_vbak.TYPES : BEGIN OF ty_vbap, vbeln TYPE vbapvbeln, posnr TYPE vbapposnr, matnr TYPE vbapmatnr, END OF ty_vbap.DATA : lt_vbap TYPE TABLE OF ty_vbap, ls_vbap TYPE ty_vbap.DATA lv_kunnr TYPE kunnr.DATA lv_vbeln TYPE vbeln.DATA ls_styl TYPE lvc_s_styl.SELECTOPTIONS so_kunnr FOR lv_kunnr.DATA : kna1_cont TYPE REF TO cl_gui_custom_container, kna1_grid TYPE REF TO cl_gui_alv_grid.DATA : vbak_cont TYPE REF TO cl_gui_custom_container, vbak_grid TYPE REF TO cl_gui_alv_grid.DATA : vbap_cont TYPE REF TO cl_gui_custom_container, vbap_grid TYPE REF TO cl_gui_alv_grid.DATA : lt_fcat TYPE lvc_t_fcat, ls_fcat TYPE lvc_s_fcat.DATA ls_layo TYPE lvc_s_layo.CLASS lcl_eventreceiver DEFINITION. PUBLIC SECTION. METHODS handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid IMPORTING e_row_id. METHODS handle_button_click FOR EVENT button_click
▼ 2013 (4)► August (1)
▼ June (3)
TREE VIEW USING OOPS
OOPS ALV INTERACTIVEREPORT
OOPS ALV REPORT WITH TREECONTROL
Blog Archive
rajkumar siripuram Follow 75
View my complete profile
About Me
1 More Next Blog» Create Blog Sign In
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 2/6
OF cl_gui_alv_grid IMPORTING es_row_no. METHODS handle_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING e_row e_column.ENDCLASS. "lcl_eventreceiver DEFINITIONCLASS lcl_eventreceiver IMPLEMENTATION. METHOD handle_hotspot_click. CLEAR ls_kna1. READ TABLE lt_kna1 INTO ls_kna1 INDEX e_row_idindex TRANSPORTING kunnr. IF sysubrc EQ 0. CLEAR lv_kunnr. lv_kunnr = ls_kna1kunnr. IF lv_kunnr IS NOT INITIAL.* MESSAGE 'kUNNR VALUE RECEIVED' TYPE 'I'. PERFORM getsalesorders. IF lt_vbak[] IS NOT INITIAL. CALL SCREEN 200. ELSE. MESSAGE 'No sales orders' TYPE 'I'. ENDIF. ENDIF. ENDIF. ENDMETHOD. "handle_hotspot_click METHOD handle_button_click. READ TABLE lt_vbak INTO ls_vbak INDEX es_row_norow_id TRANSPORTING vbeln. IF sysubrc EQ 0. CLEAR lv_vbeln. lv_vbeln = ls_vbakvbeln. IF lv_vbeln IS NOT INITIAL. PERFORM getsalesitems. IF lt_vbap[] IS NOT INITIAL. CALL SCREEN 300. ELSE. MESSAGE 'No sales items' TYPE 'I'. ENDIF. ENDIF. ENDIF. ENDMETHOD. "handle_button_click METHOD handle_double_click. CASE e_columnfieldname. WHEN 'MATNR'. READ TABLE lt_vbap INTO ls_vbap INDEX e_rowindex TRANSPORTING matnr. IF sysubrc EQ 0. SET PARAMETER ID 'MAT' FIELD ls_vbapmatnr. ENDIF. CALL TRANSACTION 'MM03'. WHEN OTHERS. MESSAGE 'Please click on material' TYPE 'I'. ENDCASE. ENDMETHOD. "handle_double_clickENDCLASS. "lcl_eventreceiver IMPLEMENTATIONDATA ob TYPE REF TO lcl_eventreceiver.INITIALIZATION. so_kunnrlow = '1000'. so_kunnrhigh = '1020'. APPEND so_kunnr.STARTOFSELECTION. CALL SCREEN 100.MODULE status_0100 OUTPUT. IF kna1_cont IS INITIAL. SET PFSTATUS 'ABC'. CREATE OBJECT kna1_cont EXPORTING container_name = 'CST1'. CREATE OBJECT kna1_grid EXPORTING i_parent = kna1_cont. PERFORM getcustomers. IF lt_kna1[] IS NOT INITIAL. PERFORM fldcatkna1.
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 3/6
PERFORM layoutkna1. PERFORM registerhandlers. PERFORM displaykna1. ENDIF. ENDIF.ENDMODULE. " STATUS_0100 OUTPUTMODULE user_command_0100 INPUT. CASE syucomm. WHEN 'BACK'. LEAVE PROGRAM. ENDCASE.ENDMODULE. "USER_COMMAND_0100 INPUTFORM displaykna1 . CALL METHOD kna1_grid>set_table_for_first_display EXPORTING is_layout = ls_layo CHANGING it_outtab = lt_kna1[] it_fieldcatalog = lt_fcat[].ENDFORM. " displaykna1FORM fldcatkna1 . CLEAR ls_fcat. ls_fcatfieldname = 'KUNNR'. ls_fcatcol_pos = 1. ls_fcatcoltext = 'Customer No'. ls_fcathotspot = 'X'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'LAND1'. ls_fcatcol_pos = 2. ls_fcatcoltext = 'Country'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'NAME1'. ls_fcatcol_pos = 3. ls_fcatcoltext = 'Customer Name'. ls_fcatoutputlen = 20. APPEND ls_fcat TO lt_fcat.ENDFORM. " fldcatkna1FORM getcustomers . SELECT kunnr land1 name1 FROM kna1 INTO TABLE lt_kna1 WHERE kunnr IN so_kunnr.ENDFORM. " getcustomersFORM layoutkna1 . CLEAR ls_layo. ls_layogrid_title = 'CUSTOMER MASTER DATA'.ENDFORM. " layoutkna1FORM getsalesorders . SELECT vbeln erdat erzet ernam FROM vbak INTO CORRESPONDING FIELDS OF TABLE lt_vbak WHERE kunnr = lv_kunnr.
ENDFORM. " getsalesordersMODULE status_0200 OUTPUT. IF vbak_cont IS INITIAL. SET PFSTATUS 'XYZ'. CREATE OBJECT vbak_cont EXPORTING container_name = 'CST2'. CREATE OBJECT vbak_grid EXPORTING i_parent = vbak_cont. PERFORM fldcatvbak. PERFORM layoutvbak. PERFORM cellstyles. PERFORM reghandlers. PERFORM displayvbak. ENDIF.ENDMODULE. " STATUS_0200 OUTPUTMODULE user_command_0200 INPUT. CASE syucomm.
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 4/6
WHEN 'BACK'. LEAVE PROGRAM. ENDCASE.ENDMODULE. " USER_COMMAND_0200 INPUTFORM displayvbak . CALL METHOD vbak_grid>set_table_for_first_display EXPORTING is_layout = ls_layo CHANGING it_outtab = lt_vbak[] it_fieldcatalog = lt_fcat[].ENDFORM. " displayvbakFORM fldcatvbak . REFRESH lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'VBELN'. ls_fcatcol_pos = 1. ls_fcatcoltext = 'Sales Doc'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'ERDAT'. ls_fcatcol_pos = 2. ls_fcatcoltext = 'Date'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'ERZET'. ls_fcatcol_pos = 3. ls_fcatcoltext = 'Time'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'ERNAM'. ls_fcatcol_pos = 4. ls_fcatcoltext = 'Person'. APPEND ls_fcat TO lt_fcat.ENDFORM. " fldcatvbakFORM layoutvbak . CLEAR ls_layo. ls_layogrid_title = 'SALES DOCUMENT HEADER DATA'. ls_layostylefname = 'CELLSTYLES'.ENDFORM. " layoutvbakFORM cellstyles . DATA lv_date TYPE d. CLEAR ls_vbak. LOOP AT lt_vbak INTO ls_vbak. lv_date = ls_vbakerdat+0(4). IF lv_date >= '2000'. ls_stylfieldname = 'VBELN'. ls_stylstyle = cl_gui_alv_grid=>mc_style_button. INSERT ls_styl INTO TABLE ls_vbakcellstyles. MODIFY lt_vbak FROM ls_vbak TRANSPORTING cellstyles. ENDIF. CLEAR ls_vbak. ENDLOOP.ENDFORM. " cellstylesFORM getsalesitems . SELECT vbeln posnr matnr FROM vbap INTO TABLE lt_vbap WHERE vbeln = lv_vbeln.ENDFORM. " getsalesitemsMODULE status_0300 OUTPUT. IF vbap_cont IS INITIAL. SET PFSTATUS 'PQR'. CREATE OBJECT vbap_cont EXPORTING container_name = 'CST3'. CREATE OBJECT vbap_grid EXPORTING i_parent = vbap_cont.
PERFORM fldcatvbap. PERFORM layoutvbap.
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 5/6
Posted by rajkumar siripuram at 01:16
PERFORM reg_handlers. PERFORM displayvbap. ENDIF.ENDMODULE. " STATUS_0300 OUTPUTMODULE user_command_0300 INPUT. CASE syucomm. WHEN 'BACK'. LEAVE TO SCREEN 200. ENDCASE.ENDMODULE. " USER_COMMAND_0300 INPUTFORM reghandlers . create object ob. set handler ob>handle_button_click for vbak_grid.ENDFORM. " reghandlersFORM registerhandlers . CREATE OBJECT ob. SET HANDLER ob>handle_hotspot_click FOR kna1_grid.ENDFORM. " registerhandlersFORM fldcatvbap . REFRESH lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'VBELN'. ls_fcatcol_pos = 1. ls_fcatcoltext = 'Sales Doc'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'POSNR'. ls_fcatcol_pos = 2. ls_fcatcoltext = 'Item no'. APPEND ls_fcat TO lt_fcat. CLEAR ls_fcat. ls_fcatfieldname = 'MATNR'. ls_fcatcol_pos = 3. ls_fcatcoltext = 'Material'. APPEND ls_fcat TO lt_fcat.ENDFORM. " fldcatvbapFORM layoutvbap . CLEAR ls_layo. ls_layogrid_title = 'SALES DOCUMENT ITEM DATA'.ENDFORM. " layoutvbapFORM reg_handlers . CREATE OBJECT ob. SET HANDLER ob>handle_double_click FOR vbap_grid.ENDFORM. " reg_handlersFORM displayvbap . CALL METHOD vbap_grid>set_table_for_first_display EXPORTING is_layout = ls_layo CHANGING it_outtab = lt_vbap[] it_fieldcatalog = lt_fcat[].ENDFORM. " displayvbap..
+1 Recommend this on Google
No comments:
Post a Comment
06/04/2015 sapabap: OOPS ALV INTERACTIVE REPORT
http://saprajkumarsiripuram.blogspot.in/2013/06/oopsalvinteractivereport.html 6/6
Newer Post Older PostHome
Subscribe to: Post Comments (Atom)
Enter your comment...
Comment as: Google Account
Publish Preview
Post a Comment
Simple template. Template images by luoman. Powered by Blogger.