7️⃣
Sending Adobe Form in Mail
To Send the Adobe Form in Mail, We will require to get binary data of Adobe form, rest
thing will be covered in same manner as it was done in Smartforms.
We will be using CL_BCS class for sending mail.
Getting Binary data
Step 1 :- In the FP_JOB_OPEN function module we will pass GET_PDF as true to get pdf.
DATA : LS_SFPOUTPUTPARAMS type SFPOUTPUTPARAMS.
LS_SFPOUTPUTPARAMS-nodialog = 'X'.
LS_SFPOUTPUTPARAMS-preview = 'X'.
LS_SFPOUTPUTPARAMS-dest = 'LP01'.
LS_SFPOUTPUTPARAMS-getpdf = 'X'.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = LS_SFPOUTPUTPARAMS
EXCEPTIONS
CANCEL = 1
Sending Adobe Form in Mail 1
Mob No :- +916261538504
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5
.
Step 2 :- We will get the PDF data from the function module of Adobe form.
DATA : LS_PDF type FPFORMOUTPUT.
CALL FUNCTION LV_FUNCNAME
EXPORTING
* /1BCDWB/DOCPARAMS =
p_vbeln = P_VBELN
IMPORTING
/1BCDWB/FORMOUTPUT = LS_PDF
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4
.
Step 3 :- After this we will call SCMS_XSTRING_TO_BINARY function module to get the
binary data.
DATA : LT_BINARY_TAB TYPE SOLIX_TAB.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = LS_PDF-pdf
* APPEND_TO_TABLE = ' '
* IMPORTING
* OUTPUT_LENGTH =
TABLES
Sending Adobe Form in Mail 2
Mob No :- +916261538504
BINARY_TAB = LT_BINARY_TAB
.
Step 4 :- After that we will start with CL_BCS class and follow the step as we did
Smartforms.
Code
PARAMETERS : P_VBELN TYPE VBELN_VA.
DATA : LS_SFPOUTPUTPARAMS type SFPOUTPUTPARAMS.
LS_SFPOUTPUTPARAMS-nodialog = 'X'.
LS_SFPOUTPUTPARAMS-preview = 'X'.
LS_SFPOUTPUTPARAMS-dest = 'LP01'.
LS_SFPOUTPUTPARAMS-getpdf = 'X'.
CALL FUNCTION 'FP_JOB_OPEN'
CHANGING
ie_outputparams = LS_SFPOUTPUTPARAMS
EXCEPTIONS
CANCEL = 1
USAGE_ERROR = 2
SYSTEM_ERROR = 3
INTERNAL_ERROR = 4
OTHERS = 5
.
DATA : LV_FUNCNAME type FUNCNAME.
CALL FUNCTION 'FP_FUNCTION_MODULE_NAME'
EXPORTING
i_name = 'ZAR_ADOBE_FORM'
IMPORTING
Sending Adobe Form in Mail 3
Mob No :- +916261538504
E_FUNCNAME = LV_FUNCNAME
* E_INTERFACE_TYPE =
* EV_FUNCNAME_INBOUND =
.
DATA : LS_PDF type FPFORMOUTPUT.
CALL FUNCTION LV_FUNCNAME
EXPORTING
* /1BCDWB/DOCPARAMS =
p_vbeln = P_VBELN
IMPORTING
/1BCDWB/FORMOUTPUT = LS_PDF
EXCEPTIONS
USAGE_ERROR = 1
SYSTEM_ERROR = 2
INTERNAL_ERROR = 3
OTHERS = 4
.
DATA : LT_BINARY_TAB TYPE SOLIX_TAB.
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
BUFFER = LS_PDF-pdf
* APPEND_TO_TABLE = ' '
* IMPORTING
* OUTPUT_LENGTH =
TABLES
BINARY_TAB = LT_BINARY_TAB
.
DATA : LO_BCS type ref to CL_BCs.
TRY.
CALL METHOD CL_BCS=>CREATE_PERSISTENT
RECEIVING
RESULT = LO_BCS
Sending Adobe Form in Mail 4
Mob No :- +916261538504
.
CATCH CX_SEND_REQ_BCS.
ENDTRY.
DATA: LO_EXTERNAL_USER type ref to CL_CAM_ADDRESS_BCS.
TRY.
CALL METHOD CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS
EXPORTING
I_ADDRESS_STRING = 'atulsing2505@[Link]'
* I_ADDRESS_NAME =
* I_INCL_SAPUSER =
RECEIVING
RESULT = LO_EXTERNAL_USER
.
CATCH CX_ADDRESS_BCS.
ENDTRY.
TRY.
CALL METHOD LO_BCS->ADD_RECIPIENT
EXPORTING
I_RECIPIENT = LO_EXTERNAL_USER
* I_EXPRESS =
* I_COPY =
* I_BLIND_COPY =
* I_NO_FORWARD =
.
CATCH CX_SEND_REQ_BCS.
ENDTRY.
DATA : LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
DATA : LT_TEXT TYPE TABLE OF SOLI,
LS_TEXT TYPE SOLI.
LS_TEXT-LINE = 'Dear Sir'.
Sending Adobe Form in Mail 5
Mob No :- +916261538504
APPEND LS_TEXT TO LT_TEXT.
CLEAR LS_TEXT.
LS_TEXT-LINE = 'Below is your Attached Adobe Form for Sales Orde
APPEND LS_TEXT TO LT_TEXT.
CLEAR LS_TEXT.
LS_TEXT-LINE = 'Thanks and Regards'.
APPEND LS_TEXT TO LT_TEXT.
CLEAR LS_TEXT.
LS_TEXT-LINE = 'Amrit Raj'.
APPEND LS_TEXT TO LT_TEXT.
CLEAR LS_TEXT.
TRY.
CALL METHOD CL_DOCUMENT_BCS=>CREATE_DOCUMENT
EXPORTING
I_TYPE = 'RAW'
I_SUBJECT = 'Sales Details'
* I_LENGTH =
* I_LANGUAGE = SPACE
* I_IMPORTANCE =
* I_SENSITIVITY =
I_TEXT = LT_TEXT
* I_HEX =
* I_HEADER =
* I_SENDER =
* IV_VSI_PROFILE =
RECEIVING
RESULT = LO_DOCUMENT
.
CATCH CX_DOCUMENT_BCS.
ENDTRY.
TRY.
CALL METHOD LO_DOCUMENT->ADD_ATTACHMENT
Sending Adobe Form in Mail 6
Mob No :- +916261538504
EXPORTING
I_ATTACHMENT_TYPE = 'PDF'
I_ATTACHMENT_SUBJECT = 'Sales Details'
* I_ATTACHMENT_SIZE =
* I_ATTACHMENT_LANGUAGE = SPACE
* I_ATT_CONTENT_TEXT =
I_ATT_CONTENT_HEX = LT_BINARY_TAB
* I_ATTACHMENT_HEADER =
* IV_VSI_PROFILE =
.
CATCH CX_DOCUMENT_BCS.
ENDTRY.
TRY.
CALL METHOD LO_BCS->SET_DOCUMENT
EXPORTING
I_DOCUMENT = LO_DOCUMENT
.
CATCH CX_SEND_REQ_BCS.
ENDTRY.
TRY.
CALL METHOD LO_BCS->SET_SEND_IMMEDIATELY
EXPORTING
I_SEND_IMMEDIATELY = 'X'
.
CATCH CX_SEND_REQ_BCS.
ENDTRY.
DATA : LV_RESULT type OS_BOOLEAN.
TRY.
CALL METHOD LO_BCS->SEND
* EXPORTING
* I_WITH_ERROR_SCREEN = SPACE
RECEIVING
Sending Adobe Form in Mail 7
Mob No :- +916261538504
RESULT = LV_RESULT
.
CATCH CX_SEND_REQ_BCS.
ENDTRY.
IF LV_RESULT is NOT INITIAL.
COMMIT WORK.
MESSAGE 'Email has been sent' type 'S'.
ELSE.
MESSAGE 'Email has not been sent' type 'E'.
endif.
Output
Sending Adobe Form in Mail 8
Mob No :- +916261538504