Quantcast
Channel: SCN : Document List - SAP CRM: Webclient UI - Framework
Viewing all articles
Browse latest Browse all 189

How to: Export / Download Microsoft Excel, Word, PowerPoint, Generic approach for any file from CRM Web UI

$
0
0
This document explains how to:


Download Excel from CRM Web UI

 

 

  1. Create a BSP Controller "downloadExcel" for Excel.
  2. Create a Controller class "ZCL_CRM_DOWNLOAD_EXCEL" with superclass CL_BSP_CONTROLLER2. Redefine the DO_REQUEST method with the below code.
METHOD do_request.
DATA:
lv_xls          TYPE xstring.
lv_len            TYPE i.
*  Get the excel file here. For more details, you can refer the definition of the following method in How to - Add Custom XML Parts to Microsoft Excel using ABAP
get_xls_download(
      IMPORTING
        ev_xml_xstring_xls = lv_xls
      EXCEPTIONS
        error_occurred    = 1
                            ).
  lv_len = xstrlen( lv_xls ).
*  Export response data
CALL METHOD response->if_http_entity~append_data
    EXPORTING
      data  = lv_xls
      length = lv_len.
*  Set response content-type as Excel
  CALL METHOD response->if_http_entity~set_header_field
    EXPORTING
      name  = 'content-type'                                "#EC NOTEXT
"content-type for XLSX
      value = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'.
"Content types
"Excel (*.xlsx) - 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
"Excel (*.xlsm) - 'application/vnd.ms-excel.sheet.macroenabled.12'

ENDMETHOD.
  3.  Set the contoller class to the BSP Controller. Now you can use this controller to download the file.
BSPControllerExcel.png

Download Word from CRM Web UI

 

 

  1. Create a BSP Controller "downloadWordDoc" for Word.
  2. Create a Controller class "ZCL_CRM_DOWNLOAD_WORDDOC" with superclass CL_BSP_CONTROLLER2. Redefine the DO_REQUEST method with the below code.

 

METHOD do_request.
DATA:
lv_doc          TYPE xstring.
lv_len            TYPE i.
*  Get the word file here. For more details, you can refer the definition of the following method in How to - Add Custom XML Parts to Microsoft Word using ABAP
get_doc_download(
      IMPORTING
        ev_xml_xstring_doc = lv_doc
      EXCEPTIONS
        error_occurred    = 1
                            ).
  lv_len = xstrlen( lv_doc ).
*  Export response data
CALL METHOD response->if_http_entity~append_data
    EXPORTING
      data  = lv_doc
      length = lv_len.
*  Set response content-type as Word
  CALL METHOD response->if_http_entity~set_header_field
    EXPORTING
      name  = 'content-type'                                "#EC NOTEXT
"content-type for DOCX
      value = 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'.
"Content types
"Word (*.docx) - 'application/vnd.openxmlformats-officedocument.wordprocessingml.document
"Word (*.docm) - 'application/vnd.ms-word.document.macroenabled.12'

ENDMETHOD.
  3.  Set the contoller class to the BSP Controller. Now you can use this controller to download the file.
BSPControllerWord.png

Download PowerPoint from CRM Web UI



  1. Create a BSP Controller "downloadPowerPoint" for PowerPoint.
  2. Create a Controller class "ZCL_CRM_DOWNLOAD_POWERPOINT" with superclass CL_BSP_CONTROLLER2. Redefine the DO_REQUEST method with the below code.
METHOD do_request.
DATA:
lv_ppt          TYPE xstring.
lv_len            TYPE i.
*  Get the powerpoint file here. For more details, you can refer the definition of the following method in How to - Add Custom XML Parts to Microsoft PowerPoint using ABAP
get_ppt_download(
      IMPORTING
        ev_xml_xstring_ppt = lv_ppt
      EXCEPTIONS
        error_occurred    = 1
                            ).
  lv_len = xstrlen( lv_ppt ).
*  Export response data
CALL METHOD response->if_http_entity~append_data
    EXPORTING
      data  = lv_ppt
      length = lv_len.
*  Set response content-type as PowerPoint
  CALL METHOD response->if_http_entity~set_header_field
    EXPORTING
      name  = 'content-type'                                "#EC NOTEXT
"content-type for PPTX
      value = 'application/vnd.openxmlformats-officedocument.presentationml.presentation'.
"Content types
"PowerPoint (*.pptx) - 'application/vnd.openxmlformats-officedocument.presentationml.presentation'
"PowerPoint (*.pptm) - 'application/vnd.ms-powerpoint.presentation.macroenabled.12'

ENDMETHOD.
  3.  Set the contoller class to the BSP Controller. Now you can use this controller to download the file.
BSPControllerPowerPoint.png

 


Generic Approach: Download a file from CRM Web UI



  1. Create a BSP Controller "downloadFile".
  2. Create a Controller class "ZCL_CRM_DOWNLOAD_FILE" with superclass CL_BSP_CONTROLLER2. Redefine the DO_REQUEST method with the below code.
METHOD do_request.
DATA:
lv_ppt          TYPE xstring.
lv_len            TYPE i.
*  Get the file here.
get_file_download(
      IMPORTING
        ev_xml_xstring_file = lv_file
      EXCEPTIONS
        error_occurred    = 1
                            ).
  lv_len = xstrlen( lv_file ).
*  Export response data
CALL METHOD response->if_http_entity~append_data
    EXPORTING
      data  = lv_file
      length = lv_len.
*  Set response content-type for the file. Get the content-type using API Class method 'cl_mime_repository_api->get( )' while reading the file from the Mime repository
  CALL METHOD response->if_http_entity~set_header_field
    EXPORTING
      name  = 'content-type'                                "#EC NOTEXT
"content-type for file
      value = 'set the content-type here read using the above mentioned API method'.

ENDMETHOD.
  3.  Set the contoller class to the BSP Controller. Now you can use this controller to download the file.
BSPControllerGeneric.png

Viewing all articles
Browse latest Browse all 189

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>