FUNCTION z_jerry_prod_create_via_event.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(EVENT) LIKE SWETYPECOU-EVENT
*" VALUE(RECTYPE) LIKE SWETYPECOU-RECTYPE
*" VALUE(OBJTYPE) LIKE SWETYPECOU-OBJTYPE
*" VALUE(OBJKEY) LIKE SWEINSTCOU-OBJKEY
*" VALUE(EXCEPTIONS_ALLOWED) LIKE SWEFLAGS-EXC_OK DEFAULT SPACE
*" EXPORTING
*" VALUE(REC_ID) LIKE SWELOG-RECID
*" TABLES
*" EVENT_CONTAINER STRUCTURE SWCONT
*" EXCEPTIONS
*" READ_FAILED
*" CREATE_FAILED
*"----------------------------------------------------------------------
DATA: lo_recipient TYPE REF TO cl_cam_address_bcs.
DATA: lt_body TYPE bcsy_text,
lv_prod_id TYPE comm_product-product_id,
lt_send_to TYPE string_table.
APPEND 'XXXX@sap.com' TO lt_send_to.
data(ls_line) = value SOLI( line = `It's important to realize that using the in-development REPL, Project Kulla, is not for the faint of heart. Kulla, aka JShell, isn't part of the JDK 9 preview bundle at the time of writing` ).
APPEND ls_line TO lt_body.
SELECT SINGLE product_id INTO lv_prod_id FROM comm_product where product_guid = objkey.
IF sy-subrc = 0.
ls_line-line = '*'.
APPEND ls_line TO lt_body.
ls_line-line = | Created Product ID: { lv_prod_id } |.
APPEND ls_line TO lt_body.
ENDIF.
TRY.
DATA(lo_send_request) = cl_bcs=>create_persistent( ).
DATA: lv_len TYPE so_obj_len VALUE 0.
LOOP AT lt_body ASSIGNING FIELD-SYMBOL(<line>).
lv_len = lv_len + strlen( <line> ).
ENDLOOP.
DATA(lo_document) = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = lt_body
i_length = lv_len
i_subject = CONV #( 'Java9 is coming!' ) ).
lo_send_request->set_document( lo_document ).
DATA(lo_sender) = cl_cam_address_bcs=>create_internet_address( 'XXXX@sap.com' ).
lo_send_request->set_sender( lo_sender ).
LOOP AT lt_send_to ASSIGNING FIELD-SYMBOL(<lv_send_to>).
lo_recipient = cl_cam_address_bcs=>create_internet_address( CONV #( <lv_send_to> ) ).
lo_send_request->set_send_immediately( i_send_immediately = 'X' ).
lo_send_request->add_recipient( i_recipient = lo_recipient i_express = 'X' ).
ENDLOOP.
lo_send_request->send( i_with_error_screen = 'X' ).
COMMIT WORK AND WAIT.
CATCH cx_bcs INTO DATA(lo_bcs_exception).
DATA(lv_message) = lo_bcs_exception->get_text( ).
WRITE:/ lv_message.
RETURN.
ENDTRY.
ENDFUNCTION.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
4 | |
3 | |
3 | |
2 | |
2 | |
1 | |
1 | |
1 | |
1 | |
1 |