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.
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