Sunday, 6 November 2011

Send mail to sap inbox Business Workplace

DATA:it_receivers    TYPE STANDARD TABLE OF  somlreci1,
             wa_it_receivers LIKE LINE OF it_receivers,
             it_message         TYPE STANDARD TABLE OF solisti1,
             wa_it_message      LIKE LINE OF it_message,
             c1(99)    TYPE c,
             c2(15)    TYPE c,
             num_lines TYPE i,
             psubject(90)       TYPE c,
             it_packing_list TYPE STANDARD TABLE OF  sopcklsti1,
             gd_doc_data     TYPE sodocchgi1,
             wa_it_packing_list LIKE LINE OF  it_packing_list.

        FREE wa_it_receivers.
        wa_it_receivers-receiver   = sy-uname.  "&----- Assign SAP User Id
        wa_it_receivers-rec_type   = 'B'.                    "&-- Send to SAP Inbox
        wa_it_receivers-com_type   = 'INT'.
        wa_it_receivers-notif_del  = 'X'.
        wa_it_receivers-notif_ndel = 'X'.
        APPEND wa_it_receivers TO it_receivers .
        DESCRIBE TABLE it_receivers LINES num_lines.
*AT LAST.
        IF num_lines IS NOT INITIAL.
          CONCATENATE 'Apriso inbound idoc errors.' wa_data-docnum INTO psubject SEPARATED BY space.
*    psubject = 'Apriso inbound idoc errors.' .
          CLEAR wa_it_message.
        ENDIF.
        AT LAST.
          c1 = 'Dear'(005).
          c2 = sy-uname.
          CONCATENATE c1 c2 ',' INTO
          wa_it_message-line SEPARATED BY space.
          APPEND wa_it_message TO it_message.

          LOOP AT lt_txt INTO ls_txt.
            CLEAR wa_it_message.
            wa_it_message-line = ls_txt.
            APPEND wa_it_message TO it_message.
          ENDLOOP.
*endif.
**********************download log

          gd_doc_data-doc_size = 1.
*Populate the subject/generic message attributes
          gd_doc_data-obj_langu = sy-langu.
          gd_doc_data-obj_name = 'SAPRPT'.
          gd_doc_data-obj_descr = psubject.
          gd_doc_data-sensitivty = 'F'.
*Describe the body of the message
          CLEAR wa_it_packing_list.
          REFRESH it_packing_list.
          wa_it_packing_list-transf_bin = space.
          wa_it_packing_list-head_start = 1.
          wa_it_packing_list-head_num = 0.
          wa_it_packing_list-body_start = 1.
          DESCRIBE TABLE it_message LINES wa_it_packing_list-body_num.
          wa_it_packing_list-doc_type = 'RAW'.
          APPEND wa_it_packing_list TO it_packing_list.
*&------ Call the Function Module to send the message to External and SAP Inbox
          CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
            EXPORTING
              document_data              = gd_doc_data
              put_in_outbox              = 'X'
              commit_work                = 'X'
            TABLES
              packing_list               = it_packing_list
              contents_txt               = it_message
              receivers                  = it_receivers
            EXCEPTIONS
              too_many_receivers         = 1
              document_not_sent          = 2
              document_type_not_exist    = 3
              operation_no_authorization = 4
              parameter_error            = 5
              x_error                    = 6
              enqueue_error              = 7
              OTHERS                     = 8.
          IF sy-subrc <> 0.
            MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
          ENDIF.

No comments:

Post a Comment