Hello Workflow Gurus,
I have a workflow were business asked me to include a changelog in the workitem description of the approval workitem sent to the SAP inbox and to the user email. I have the data in an internal table in my Class Method (i am using a Class instead of a BOR for my custom enhancements to the Workflow), however, if i pass this data to the workitem description it will get truncated since the data is too long (fieldname, field old value (char256),filed new value (char256), date of change, time of change).
I decided to try to convert the internal table to a PDF document or any other document and pass it as attachment as follows:
LOOP AT wc_changelog "This table has the data taht i need to display
INTO ls_changelog.
" I concatenate all the data to a text string separating each column by '|'.
CONCATENATE ls_changelog-fldname ls_changelog-f_old ls_changelog-f_new ls_changelog-udate ls_changelog-utime INTO ls_text SEPARATED BY '|'.
APPEND ls_text TO lt_text.
ENDLOOP.
CALL FUNCTION 'SCMS_TEXT_TO_BINARY'
IMPORTING
output_length = lv_length
TABLES
text_tab = lt_text
binary_tab = lt_binary
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF. " IF sy-subrc <> 0
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = lv_length
IMPORTING
buffer = lv_doc_string
TABLES
binary_tab = lt_binary
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc EQ 0.
ls_swr_att_header-file_type = 'B'.
ls_swr_att_header-file_name = 'Changes Log'.
ls_swr_att_header-file_extension = 'PDF'.
ls_swr_att_header-language = sy-langu.
CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
EXPORTING
workitem_id = wc_workitemid
att_header = ls_swr_att_header
* ATT_TXT =
att_bin = lv_doc_string
document_owner = sy-uname
language = sy-langu
do_commit = 'X'.
ENDIF. " IF sy-subrc EQ 0
I am creating a new attachment in my workflow and i am passing this attachment to the workitem that is sent to the users inbox, however i am getting a message saying that the fiel type has been damaged and i am not able to open it.
Please your help with any suggestions to correct the code and pass the internal table to any kind of attachment to the Workflow or to pass it displaying correctly to the workitem description. Any help will be greatly appreciated.
Regards,
Gustavo