Monday 2 April 2012

Sending report as excel(OOPS)

FORM email .
  CONSTANTS: gc_tab   TYPE c VALUE cl_bcs_convert=>gc_tab ,
             gc_crlf TYPE c VALUE cl_bcs_convert=>gc_crlf.

  DATA: lro_send TYPE REF TO zev03cl0009,
        ldt_soli TYPE soli_tab,
        lds_soli TYPE soli,
        lds_final   TYPE gts_final,
        ldf_boolean TYPE os_boolean,
        ldf_string TYPE string,
        ldf_opdq TYPE string,
        ldf_bmeng TYPE string,
        ldf_lfimg TYPE string,
        ldf_lfimg2 TYPE string,
        ldf_zmeng TYPE string.

  lds_soli-line = text-056.
  APPEND lds_soli TO ldt_soli.
  CLEAR ldf_string.
  CONCATENATE gc_crlf  gc_crlf
              INTO ldf_string.
* header line
  CONCATENATE ldf_string
        text-003    gc_tab
        text-004    gc_tab
        text-005    gc_tab
        text-006    gc_tab
        text-007    gc_tab
        text-008    gc_tab
        text-009    gc_tab
        text-010    gc_tab
        text-011    gc_tab
        text-012    gc_tab
        text-013    gc_tab
        text-014    gc_tab
        text-015    gc_tab
        text-016    gc_tab
        text-017    gc_tab
        text-018    gc_tab
        text-019    gc_tab
        text-020    gc_tab
        text-021    gc_tab
        text-022    gc_tab
        text-023    gc_tab
        text-024    gc_tab
        text-025    gc_tab
        text-026    gc_tab
        text-027    gc_tab
        text-028    gc_tab
        text-029    gc_tab
        text-030    gc_tab
        text-031    gc_tab
        text-032    gc_tab
        text-033    gc_tab
        text-034    gc_tab
        text-035    gc_tab
        text-036    gc_tab
        text-037    gc_tab
        text-038    gc_tab
        text-040    gc_tab
        text-041    gc_tab
        text-042    gc_tab
        text-043    gc_tab
        text-044    gc_tab
        text-045    gc_tab
        text-046    gc_tab
        text-047    gc_tab
        text-048    gc_tab
*        'Unit GTS'    gc_tab
*        'Total GTs'    gc_tab
*        'NTS in document currency'    gc_tab
*        'NTS in company code currency'    gc_tab
        text-053    gc_tab
        text-054    gc_crlf
          INTO ldf_string.

  LOOP AT gdt_final  INTO lds_final.
    ldf_opdq = lds_final-opdq.
    ldf_bmeng = lds_final-bmeng.
    ldf_lfimg = lds_final-lfimg.
    ldf_lfimg2 = lds_final-lfimg2.
    ldf_zmeng = lds_final-zmeng.
    CONDENSE: ldf_opdq ,
              ldf_bmeng ,
              ldf_lfimg ,
              ldf_lfimg2 ,
              ldf_zmeng .

* data lines
    CONCATENATE ldf_string
                lds_final-bukrs_vf gc_tab
                lds_final-vkorg  gc_tab
                lds_final-vtweg  gc_tab
                lds_final-spart  gc_tab
                lds_final-auart  gc_tab
                lds_final-vbeln  gc_tab
                lds_final-audat  gc_tab
                lds_final-bstnk  gc_tab
                lds_final-bsark  gc_tab
                lds_final-posnr  gc_tab
                lds_final-matnr  gc_tab
                lds_final-arktx  gc_tab
                lds_final-vrkme  gc_tab
                ldf_zmeng        gc_tab
                lds_final-pstyv  gc_tab
                lds_final-werks  gc_tab
                lds_final-kunnr  gc_tab
                lds_final-name1  gc_tab
                lds_final-bzirk  gc_tab
                lds_final-regio  gc_tab
                lds_final-kdgrp  gc_tab
                lds_final-kvgr3  gc_tab
                lds_final-pltyp  gc_tab
                lds_final-kunnrsp  gc_tab
                lds_final-name11  gc_tab
                lds_final-kunnreu  gc_tab
                lds_final-name12  gc_tab
                lds_final-kunnrsb  gc_tab
                lds_final-name13  gc_tab
                lds_final-cmgst  gc_tab
                lds_final-lifsk  gc_tab
                lds_final-faksk  gc_tab
                lds_final-opdn  gc_tab
                ldf_opdq        gc_tab
                ldf_bmeng       gc_tab
                ldf_lfimg       gc_tab
                ldf_lfimg2  gc_tab
                lds_final-gbstk  gc_tab
                lds_final-augru  gc_tab
                lds_final-prodh1  gc_tab
                lds_final-prodh2  gc_tab
                lds_final-prodh3  gc_tab
                lds_final-prodh4  gc_tab
                lds_final-prodh5  gc_tab
                lds_final-prodhph  gc_tab
                lds_final-waerk  gc_tab
                lds_final-spart2 gc_tab
                lds_final-matkl  gc_crlf
*                lds_final-GBSTA  gc_tab
*                lds_final-WBSTA  gc_crlf
                INTO ldf_string.
    CLEAR:      lds_final,
                ldf_opdq,
                ldf_bmeng,
                ldf_lfimg,
                ldf_lfimg2,
                ldf_zmeng.

  ENDLOOP.

  CREATE OBJECT lro_send
    EXPORTING
      i_type          = gcf_type
      i_text          =  ldt_soli
      i_subject       = text-056
        i_send_immediately = gcf_x
      i_attachment_name = text-056
*      I_SPOOLID       =
      i_string        = ldf_string
      i_att_typ       = gcf_att
*      I_REC_DET       =
*      I_SENDER        =
      i_sender_syuname = gcf_x
    EXCEPTIONS
      invalid         = 1
      error_ms        = 2
      error_spool     = 3
      error_sender    = 4
      error_rec       = 5
      error_otf       = 6
      error_attach    = 7
      error_format    = 8
      error_convert   = 9
      error_sendreq   = 10
      error_addsender = 11
      error_addrec    = 12
      OTHERS          = 13
      .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL METHOD lro_send->add_receiver
    EXPORTING
      i_rec_typ    = gcf_rec
      i_receiver   = 'sreddy2@its.jnj.com'
    EXCEPTIONS
      error        = 1
      add_receiver = 2
      OTHERS       = 3.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL METHOD lro_send->send_email
    RECEIVING
      i_sendtoall = ldf_boolean
    EXCEPTIONS
      document    = 1
      sendrequest = 2
      address     = 3
      bcs         = 4
      OTHERS      = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
               WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  COMMIT WORK.
ENDFORM.                    " EMAIL

No comments:

Post a Comment