Hi Expert,
I am converting smart form into PDF and after then i will attach that PDF into workflow using "SA{_WAPI_ATTACHMETN_ADD" FM.
Attachment successfully updated in Workflow but when i am trying to open that PDF i got error like "The file is damaged and could not be repaire".
Please refer my below code.
METHOD GET_FORM_DATA.
DATA:FUNC_NAME TYPE RS38L_FNAM,
ST_OUTPUT_OPTIONS TYPE SSFCOMPOP,
ST_JOB_OUTPUT_INFO TYPE SSFCRESCL,
V_BIN_FILESIZE TYPE I,
V_GUIOBJ TYPE REF TO CL_GUI_FRONTEND_SERVICES,
V_NAME TYPE STRING,
V_PATH TYPE STRING,
V_FULLPATH TYPE STRING,
V_FILTER TYPE STRING,
V_UACT TYPE I,
LV_ATTACHMENT TYPE SWR_ATT_ID,
ST_CONTROL_PARAMETERS TYPE SSFCTRLOP,
LV_XSTRING TYPE XSTRING,
V_FILENAME TYPE STRING,
IT_DOCS TYPE STANDARD TABLE OF DOCS,
IT_LINES TYPE STANDARD TABLE OF TLINE,
LV_SWR_ATT_HEADER TYPE SWR_ATT_HEADER.
ST_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
ST_CONTROL_PARAMETERS-GETOTF = 'X'.
IF NOT ZMCF_DETAIL IS INITIAL.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_FRM_MCF'
* VARIANT = ' '
* DIRECT_CALL = ' '
IMPORTING
FM_NAME = FUNC_NAME
* EXCEPTIONS
* NO_FORM = 1
* NO_FUNCTION_MODULE = 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 FUNCTION FUNC_NAME
EXPORTING
* ARCHIVE_INDEX =
* ARCHIVE_INDEX_TAB =
* ARCHIVE_PARAMETERS =
CONTROL_PARAMETERS = ST_CONTROL_PARAMETERS
* MAIL_APPL_OBJ =
* MAIL_RECIPIENT =
* MAIL_SENDER =
* OUTPUT_OPTIONS = st_output_options
* USER_SETTINGS = 'X'
IMPORTING
* DOCUMENT_OUTPUT_INFO =
JOB_OUTPUT_INFO = ST_JOB_OUTPUT_INFO
* JOB_OUTPUT_OPTIONS =
TABLES
IT_OUT = ZMCF_DETAIL
* EXCEPTIONS
* FORMATTING_ERROR = 1
* INTERNAL_ERROR = 2
* SEND_ERROR = 3
* USER_CANCELED = 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.
ENDIF.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
IMPORTING
BIN_FILESIZE = V_BIN_FILESIZE
TABLES
OTF = ST_JOB_OUTPUT_INFO-OTFDATA
DOCTAB_ARCHIVE = IT_DOCS
LINES = IT_LINES
EXCEPTIONS
ERR_CONV_NOT_POSSIBLE = 1
ERR_OTF_MC_NOENDMARKER = 2.
LV_SWR_ATT_HEADER-FILE_TYPE = 'B'. "'application\vnd.ms-excel'.
LV_SWR_ATT_HEADER-FILE_NAME = 'MCF_DETAIL4.PDF'.
* LV_SWR_ATT_HEADER-FILE_EXTENSION = 'PDF'.
LV_SWR_ATT_HEADER-LANGUAGE = sy-LANGU.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
INPUT_LENGTH = V_BIN_FILESIZE
IMPORTING
BUFFER = LV_XSTRING
TABLES
BINARY_TAB = it_lines
EXCEPTIONS
FAILED = 1
OTHERS = 2.
CALL FUNCTION 'SAP_WAPI_ATTACHMENT_ADD'
EXPORTING
WORKITEM_ID = '21402'
ATT_HEADER = LV_SWR_ATT_HEADER
ATT_BIN = LV_XSTRING
* DOCUMENT_OWNER = me->wa_request-CREATEDBY
LANGUAGE = SY-LANGU
DO_COMMIT = 'X'
IMPORTING
* RETURN_CODE =
ATT_ID = LV_ATTACHMENT
* TABLES
* MESSAGE_LINES =
* MESSAGE_STRUCT =
.
ENDMETHOD.