Use/Purpose:

E-mail BW Query results from ABAP program in HTML format

Proposed Solution:

BW provides a mechanism for sending query results as email using Information
Broadcasting. But user requirements sometime get really innovative &
difficult to handle with the standard delivered tools. If you need the ability
to execute a BW query and send the results as a HTML email from an ABAP program,
you can use the following code sample.

Procedure:

Below is the code sample

Code snippet:

    REFRESH IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘QUERY’.

    WA_QUERY-VALUE    = QUERY_NAME.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘CMD’.

    WA_QUERY-VALUE    = ‘LDOC’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘VAR_NAME_1’.

    WA_QUERY-VALUE    = W_PUR_CALMONTH.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘var_operator_1’.

    WA_QUERY-VALUE    = ’BT’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘var_sign_1’.

    WA_QUERY-VALUE    =  ‘I’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘var_value_low_ext_1’.

    WA_QUERY-VALUE    = ‘022012’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘var_value_high_ext_1’.

    WA_QUERY-VALUE    = ‘022012’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘VAR_NAME_2’.

    WA_QUERY-VALUE    = Z_REPORT_FOR.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘VAR_NODE_IOBJNM_2’.

    WA_QUERY-VALUE    = ‘0HIER_NODE’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘VAR_OPERATOR_2’.

    WA_QUERY-VALUE    = ‘EQ’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR WA_QUERY.

    WA_QUERY-NAME     = ‘var_value_ext_2’.

    WA_QUERY-VALUE    = ‘CA6917’.

    APPEND WA_QUERY TO IT_QUERY.

    CLEAR:  E_R_PAGE, RESULT_CONTENT, CONTENT_TYPE,CONTENT_LENGTH.

    MOVE: ‘text/html’ TO CONTENT_TYPE .

    CLEAR: E_R_PAGE,RESULT_CONTENT .

    CALL FUNCTION ‘RRW3_WEBRFC’

      IMPORTING

        E_R_PAGE       = E_R_PAGE

      TABLES

        QUERY_STRING   = IT_QUERY

      CHANGING

        RETURN_CODE    = RETURN_CODE

        CONTENT_TYPE   = CONTENT_TYPE

        CONTENT_LENGTH = CONTENT_LENGTH.

    RESULT_CONTENT = E_R_PAGE->N_SX_OUTPUT-STRING.

    REPLACE

        ALL

      OCCURRENCES

         OF ‘/webrfc/bw30’

         IN RESULT_CONTENT

       WITH ‘/sap/bw/Mime/BEx’ .

    REPLACE

        ALL

      OCCURRENCES

         OF ‘mime/BEx/StyleSheets/’

         IN RESULT_CONTENT

       WITH ‘/sap/bw/mime/BEx/StyleSheets/’ .

    CLEAR TMP_STR .

    CONCATENATE

    ‘<meta http-equiv=”content-type” content=”text/html; charset=iso-8859-1″>’

    CL_ABAP_CHAR_UTILITIES=>CR_LF

    ‘<script type=”text/javascript” src=”/sap/bw/Mime/BEx/JavaScript/JSBW_C_Std.js”></script>’

    CL_ABAP_CHAR_UTILITIES=>CR_LF

    INTO TMP_STR .

    REPLACE

        ALL

      OCCURRENCES OF

    ‘<meta http-equiv=”content-type” content=”text/html;charset=iso-8859-1″>’ IN RESULT_CONTENT WITH

    TMP_STR .

    CLEAR TMP_STR .

    REPLACE

       ALL

     OCCURRENCES

        OF ‘BWReports_ie5.css’

        IN RESULT_CONTENT

      WITH ‘BWReports_ie6.css’ .

    REPLACE

       ALL

     OCCURRENCES

        OF ‘Mime/BEx/StyleSheets/’

        IN RESULT_CONTENT

      WITH ‘/sap/bw/Mime/BEx/StyleSheets/’ .

    REPLACE

        ALL

      OCCURRENCES

         OF ‘Mime/BEx/Icons/’

         IN RESULT_CONTENT

       WITH ‘/sap/bw/Mime/BEx/Icons/’ .

    REPLACE

        ALL

      OCCURRENCES

         OF ‘/sap/bw/Mime/BEx/icons/’

         IN RESULT_CONTENT

       WITH ‘/sap/bw/Mime/BEx/Icons/’ .

    CLEAR TMP_STR .

    CONCATENATE W_LINK_A ‘/sap/bw/’ INTO TMP_STR .

    REPLACE

        ALL

      OCCURRENCES

          OF ‘/sap/bw/’

          IN RESULT_CONTENT

        WITH TMP_STR .

    CLEAR TMP_STR .

    CLEAR: CONLENGTH,CONLENGTHS .

    CONLENGTH = STRLEN( RESULT_CONTENT ) .

    CONLENGTHS = CONLENGTH .

    REFRESH TEXT_PUR .

    CALL FUNCTION ‘SCMS_STRING_TO_FTEXT’

      EXPORTING

        TEXT      = RESULT_CONTENT

      TABLES

        FTEXT_TAB = TEXT_PUR.

   SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).

    DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(

      I_TYPE = ‘HTM’

      I_TEXT =   D1

      I_SUBJECT = ‘Sourcing & Controls Scorecard for CSA Requirements’ ).

    CALL METHOD DOCUMENT->ADD_ATTACHMENT

      EXPORTING

        I_ATTACHMENT_TYPE    = ‘htm’

        I_ATTACHMENT_SUBJECT = ‘Purchasing query’

        I_ATT_CONTENT_TEXT   = TEXT_PUR.

Output Screen shot:

S1.png

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

Leave a Reply