sap-abap_ oops alv interactive report

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 screens Screen 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 INTERACTIVE REPORT OOPS ALV REPORT WITH TREE CONTROL Blog Archive rajkumar siripuram Follow 75 View my complete profile About Me 1 More Next Blog» Create Blog Sign In

Upload: siva-teja-peddaiahgari

Post on 04-Dec-2015

245 views

Category:

Documents


4 download

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.