
ZOTC_LCBO_GROCERY_ORDERS
****************************************************************************
* Identification *
* Technical Object(s) : Report--> ZOTC_LCBO_GROCERY_ORDERS *
* Include--> ZOTC_LCBO_GROCERY_TOP *
* Include--> ZOTC_LCBO_GROCERY_SEL *
* Include--> ZOTC_LCBO_GROCERY_SUB *
* Title : OTC LCBO Grocery Orders Report *
* Description : *
* LCBO Daily Grocery Orders Report to send to LCBO or Brewers *
* Technical Consultant : Richard Gilmore *
* Solutions Architect : Sean Pereira *
* Functional Consultant : Laura Alexander *
* Creation Date : 2018.06.10 *
* Project/Ticket : BREWS *
****************************************************************************
* Date Name Project/Defect/Change Request ID *
****************************************************************************
* 2018.06.10 RGILMORE BREWS Project – Phase 2 (Realization) *
* Initial Version. *
* 33035 CR64 LCBO Grocery Store Sales Orders
* 2018.06.25 AMACDONALD BREWS Project – Phase 2 (Realization) *
* Defect #1453 - remove hardcoded file path*
* and replace with selection screen *
* defaulting from Parameter *
* *
* 2018.07.19 QCAO BREWS Project – Phase 2 (Realization) *
* Defect #1514 - Add the SAP customer # *
* (VBAK-KUNNR) ANDpurchase order type *
* (VBAK-BSARK) to the report. *
* Added hotspot to vbak-vbeln to call VA03 *
* and skip initial screen. *
****************************************************************************
REPORT zotc_lcbo_grocery_orders MESSAGE-ID zotc LINE-SIZE 133.
INCLUDE zotc_lcbo_grocery_top. "Global data declaration
INCLUDE zotc_lcbo_grocery_sel. "Selection screen
INCLUDE zotc_lcbo_grocery_cls. "processing class
INCLUDE zotc_lcbo_grocery_sub. "Subroutines
INITIALIZATION.
AUTHORITY-CHECK OBJECT 'V_KNA1_VKO' "Customer: Authorization for Sales Organizations
ID 'VKORG' FIELD ' ' "
ID 'VTWEG' FIELD '*' "(All Distribution Channels)
ID 'SPART' FIELD '*' "(All Divisions)
ID 'ACTVT' FIELD '03'. " (Display Activity)
IF sy-subrc NE 0.
MESSAGE e005.
ENDIF.
* Schalter Varianten benutzerspezifisch/allgemein speicherbar setzen
PERFORM variant_init.
perform get_filepath.
perform initialize_file_path .
* Get default variant
s_var_usr = s_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = s_var_usr
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_layout = s_var_usr-variant.
ENDIF.
**********************************************************************
START-OF-SELECTION.
CREATE OBJECT LO_EVENT_HANDLER . " Defect 1514 July 23 2018 Qcao
CREATE OBJECT lo_process.
CALL METHOD lo_process->process.
*---------------------------------------
CALL METHOD lo_process->prepare_layout
CHANGING
p_gs_layout = gs_layout.
* Load data into the grid and display them
CALL METHOD go_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
is_variant = gs_variant
i_save = 'A'
CHANGING
it_outtab = gt_final
it_fieldcatalog = gt_fieldcat.
SET HANDLER LO_EVENT_HANDLER->HANDLE_HOTSPOT_CLICK FOR GO_GRID. " Defect 1514 July 23 2018 Qcao
ELSE.
CALL METHOD go_grid->refresh_table_display
EXCEPTIONS
finished = 1
OTHERS = 2.
SET HANDLER LO_EVENT_HANDLER->HANDLE_HOTSPOT_CLICK FOR GO_GRID. " Defect 1514 July 23 2018 Qcao
ENDIF.
---------------------------------
ls_fcat-fieldname = 'VBELN' .
ls_fcat-coltext = 'Sales order number' .
ls_fcat-col_pos = ls_fcat-col_pos + 1 .
ls_fcat-outputlen = '18' .
ls_fcat-hotspot = 'X'. " Defect 1514 July 23 2018 QCao
ls_fcat-ref_field = 'VBELN'. " Defect 1514 July 23 2018 QCao
ls_fcat-ref_table = 'VBAK'. " Defect 1514 July 23 2018 QCao
APPEND ls_fcat TO p_gt_fieldcat .
CLEAR: ls_fcat.
* Begin Defect 1514
*----------------------------------------------------------------------*
*-----------------------------------
* Event Handler Class definition
*
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS:handle_hotspot_click
FOR EVENT hotspot_click OF cl_gui_alv_grid
IMPORTING e_row_id e_column_id.
ENDCLASS. "lcl_event_handler DEFINITION
*----------------------------------
* Event Handler Class implimentation
*
CLASS lcl_event_handler IMPLEMENTATION.
METHOD handle_hotspot_click.
READ TABLE gt_final INTO gs_final INDEX e_row_id-index.
IF sy-subrc = 0.
SET PARAMETER ID 'AUN' FIELD gs_final-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDMETHOD. "handle_hotspot_click
ENDCLASS. "lcl_event_handler IMPLEMENTATION
* End Defect 1514
DATA: lo_process TYPE REF TO lcl_process,
lo_event_handler TYPE REF TO lcl_event_handler. " Defect 1514 July 23 2018 Qcao