Professional Documents
Culture Documents
AnSAPConsultant:ABAPSendingemailwithpdfattachment
An SAP Consultant
HOME
ABAP
ALV
SMART FORMS
ADOBE FORMS
HR ABAP
WORKFLOW
HCM
Follow by Email
Emailaddress...
AnSAPConsultant
1,270likes
Liked
Followers
REPORTZSEND_MAIL_WITH_PDF.
**
"Dataretrievalrelateddeclarations
**
"Variables
DATA:
G_SPOOL_NOTYPETSP01RQIDENT.
"Types
TYPES:
BEGINOFT_EMP_DAT,
PERNRTYPEPA0001PERNR,
PERSGTYPEPA0001PERSG,
PERSKTYPEPA0001PERSK,
PLANSTYPEPA0001PLANS,
STELLTYPEPA0001STELL,
ENDOFT_EMP_DAT.
"Workarea
DATA:
W_EMP_DATATYPET_EMP_DAT.
"Internaltables
DATA:
I_EMP_DATATYPESTANDARDTABLEOFT_EMP_DAT.
**
"Mailrelateddeclarations
**
"Variables
DATA:
G_SENT_TO_ALLTYPESONVFLAG,
G_TAB_LINESTYPEI.
"Types
TYPES:
T_DOCUMENT_DATATYPESODOCCHGI1,
T_PACKING_LISTTYPESOPCKLSTI1,
T_ATTACHMENTTYPESOLISTI1,
T_BODY_MSGTYPESOLISTI1,
T_RECEIVERSTYPESOMLRECI1,
T_PDFTYPETLINE.
"Workareas
DATA:
W_DOCUMENT_DATATYPET_DOCUMENT_DATA,
W_PACKING_LISTTYPET_PACKING_LIST,
W_ATTACHMENTTYPET_ATTACHMENT,
W_BODY_MSGTYPET_BODY_MSG,
W_RECEIVERSTYPET_RECEIVERS,
W_PDFTYPET_PDF.
"InternalTables
DATA:
I_DOCUMENT_DATATYPESTANDARDTABLEOFT_DOCUMENT_DATA,
I_PACKING_LISTTYPESTANDARDTABLEOFT_PACKING_LIST,
I_ATTACHMENTTYPESTANDARDTABLEOFT_ATTACHMENT,
I_BODY_MSGTYPESTANDARDTABLEOFT_BODY_MSG,
I_RECEIVERSTYPESTANDARDTABLEOFT_RECEIVERS,
I_PDFTYPESTANDARDTABLEOFT_PDF.
**
http://www.ansapconsultant.com/2010/12/abapsendingemailwithpdfattachment.html
Jointhissite
withGoogleFriendConnect
Members(53) More
Alreadyamember?Signin
Popular Posts
1
ABAPALVReportexamplewithsteps
ExecuteABAPReportusingSUBMIT
statement
ABAPStepbysteptutorialonSmartForms
TemplateNode
ABAPSendingemailwithpdfattachment
WebDynproABAPALVON_CLICKevent
ABAPDynamicWHEREclause
ABAPDownloadreportoutputasPDFfile
ABAPALVDemoprograms
SAPABAPCL_ABAP_CHAR_UTILITIES
classusage
10
WebdynproabapError/Successmessage
sampleprogram
Websites I follow
HTML/CSS/Javscript Generator
1/6
7/29/2015
AnSAPConsultant:ABAPSendingemailwithpdfattachment
"SelectionScreen
**
PARAMETERSP_MAILTYPECHAR120.
**
"Topofpage.
**
TOPOFPAGE.
PERFORMTOP_OF_PAGE.
**
"Startofselection.
**
STARTOFSELECTION.
PERFORMGET_DATA.
IFI_EMP_DATA[]ISINITIAL.
PERFORMTEST_DATA.
ENDIF.
PERFORMDO_PRINT_N_GET_SPOOLNO.
**
"Endofselection.
**
ENDOFSELECTION.
PERFORMSEND_MAIL.
*&*
*&Formtop_of_page
*&*
FORMTOP_OF_PAGE.
DATA:INC_COLNUMTYPEI.
ULINE.
INC_COLNUM=SYLINSZ60.
WRITE:/'Report:',SYREPID(18).
WRITEAT30(INC_COLNUM)SYTITLECENTERED.
INC_COLNUM=SYLINSZ20.
WRITE:ATINC_COLNUM'Page:',(11)SYPAGNORIGHTJUSTIFIED.
WRITE:/'Client:',SYMANDT.
INC_COLNUM=SYLINSZ20.
WRITE:ATINC_COLNUM'Date:',SYDATUM.
WRITE:/'User:',SYUNAME.
INC_COLNUM=SYLINSZ60.
WRITEAT30(INC_COLNUM)'CompanyConfidential'CENTERED.
INC_COLNUM=SYLINSZ20.
WRITE:ATINC_COLNUM'Time:',(10)SYUZEITRIGHTJUSTIFIED.
ULINE.
SKIP.
ULINEAT/(127).
WRITE:/SYVLINE,'pernr'COLORCOL_HEADING,13
SYVLINE,'persg'COLORCOL_HEADING,20
SYVLINE,'persk'COLORCOL_HEADING,26
SYVLINE,'plans'COLORCOL_HEADING,35
SYVLINE,'stell'COLORCOL_HEADING,46
SYVLINE.
ULINEAT/(46).
ENDFORM."top_of_page
*&*
"Formget_datafromPA0001
*&*
FORMGET_DATA.
SELECTPERNR
PERSG
PERSK
PLANS
STELL
FROMPA0001
INTOCORRESPONDINGFIELDSOFTABLEI_EMP_DATA
UPTO4ROWS.
ENDFORM."get_data
*&*
"Formdo_print_n_get_spoolno
*&*
FORMDO_PRINT_N_GET_SPOOLNO.
"DisplayOutput
LOOPATI_EMP_DATAINTOW_EMP_DATA.
ATFIRST.
PERFORMGET_PRINT_PARAMETERS.
ENDAT.
WRITE:/SYVLINE,W_EMP_DATAPERNR,13
SYVLINE,W_EMP_DATAPERSG,20
SYVLINE,W_EMP_DATAPERSK,26
SYVLINE,W_EMP_DATAPLANS,35
SYVLINE,W_EMP_DATASTELL,46
SYVLINE.
ULINEAT/(46).
ATLAST.
G_SPOOL_NO=SYSPONO.
NEWPAGEPRINTOFF.
CALLFUNCTION'ABAP4_COMMIT_WORK'.
http://www.ansapconsultant.com/2010/12/abapsendingemailwithpdfattachment.html
2/6
7/29/2015
AnSAPConsultant:ABAPSendingemailwithpdfattachment
ENDAT.
ENDLOOP.
ENDFORM."do_print_n_get_spoolno
*&*
"Formsend_mail
"
"PACKINGLIST
"Thistablerequiresinformationabouthowthedatainthe
"tablesOBJECT_HEADER,CONTENTS_BINandCONTENTS_TXTareto
"bedistributedtothedocumentsanditsattachments.Thefirst
"rowisforthedocument,thefollowingrowsareeachforone
"attachment.
*&*
FORMSEND_MAIL.
"Subjectofthemail.
W_DOCUMENT_DATAOBJ_NAME='MAIL_TO_HEAD'.
W_DOCUMENT_DATAOBJ_DESCR='RegardingMailProgrambySAPABAP'.
"Bodyofthemail
PERFORMBUILD_BODY_OF_MAIL
USING:SPACE,
'Hi,',
'Iamfine.Howareyou?Howareyoudoing?',
'Thisprogramhasbeencreatedtosendsimplemail',
'withSubject,BodywithAddressofthesender.',
'Regards,',
'Venkat.O,',
'SAPHRTechnicalConsultant.'.
"ConvertABAPSpooljobtoPDF
PERFORMCONVERT_SPOOL_2_PDFTABLESI_ATTACHMENT.
"WritePackingListforBody
DESCRIBETABLEI_BODY_MSGLINESG_TAB_LINES.
W_PACKING_LISTHEAD_START=1.
W_PACKING_LISTHEAD_NUM=0.
W_PACKING_LISTBODY_START=1.
W_PACKING_LISTBODY_NUM=G_TAB_LINES.
W_PACKING_LISTDOC_TYPE='RAW'.
APPENDW_PACKING_LISTTOI_PACKING_LIST.
CLEARW_PACKING_LIST.
"WritePackingListforAttachment
W_PACKING_LISTTRANSF_BIN='X'.
W_PACKING_LISTHEAD_START=1.
W_PACKING_LISTHEAD_NUM=1.
W_PACKING_LISTBODY_START=1.
DESCRIBETABLEI_ATTACHMENTLINESW_PACKING_LISTBODY_NUM.
W_PACKING_LISTDOC_TYPE='PDF'.
W_PACKING_LISTOBJ_DESCR='PDFAttachment'.
W_PACKING_LISTOBJ_NAME='PDF_ATTACHMENT'.
W_PACKING_LISTDOC_SIZE=W_PACKING_LISTBODY_NUM*255.
APPENDW_PACKING_LISTTOI_PACKING_LIST.
CLEARW_PACKING_LIST.
"Fillthedocumentdataandgetsizeofattachment
W_DOCUMENT_DATAOBJ_LANGU=SYLANGU.
READTABLEI_ATTACHMENTINTOW_ATTACHMENTINDEXG_TAB_LINES.
W_DOCUMENT_DATADOC_SIZE=(G_TAB_LINES1)*255+STRLEN(W_ATTACHMENT).
"ReceiversList.
W_RECEIVERSREC_TYPE='U'."Internetaddress
W_RECEIVERSRECEIVER=P_MAIL.
W_RECEIVERSCOM_TYPE='INT'.
W_RECEIVERSNOTIF_DEL='X'.
W_RECEIVERSNOTIF_NDEL='X'.
APPENDW_RECEIVERSTOI_RECEIVERS.
CLEAR:W_RECEIVERS.
"FunctionmoduletosendmailtoRecipients
CALLFUNCTION'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA=W_DOCUMENT_DATA
PUT_IN_OUTBOX='X'
COMMIT_WORK='X'
IMPORTING
SENT_TO_ALL=G_SENT_TO_ALL
TABLES
PACKING_LIST=I_PACKING_LIST
CONTENTS_BIN=I_ATTACHMENT
CONTENTS_TXT=I_BODY_MSG
RECEIVERS=I_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
http://www.ansapconsultant.com/2010/12/abapsendingemailwithpdfattachment.html
3/6
7/29/2015
AnSAPConsultant:ABAPSendingemailwithpdfattachment
OTHERS=8.
IFSYSUBRC=0.
MESSAGEI303(ME)WITH'MailhasbeenSuccessfullySent.'.
ELSE.
WAITUPTO2SECONDS.
"ThisprogramstartstheSAPconnectsendprocess.
SUBMITRSCONN01WITHMODE='INT'
WITHOUTPUT='X'
ANDRETURN.
ENDIF.
ENDFORM."send_mail
*&*
"Formbuild_body_of_mail
*&*
FORMBUILD_BODY_OF_MAILUSINGL_MESSAGE.
W_BODY_MSG=L_MESSAGE.
APPENDW_BODY_MSGTOI_BODY_MSG.
CLEARW_BODY_MSG.
ENDFORM."build_body_of_mail
*&*
*&Formget_print_parameters
*&*
FORMGET_PRINT_PARAMETERS.
"Variables
DATA:
L_LAYTYPEPRI_PARAMSPAART,
L_LINESTYPEPRI_PARAMSLINCT,
L_COLSTYPEPRI_PARAMSLINSZ,
L_VALTYPEC.
*Types
TYPES:
T_PRIPARTYPEPRI_PARAMS,
T_ARCPARTYPEARC_PARAMS.
"Workareas
DATA:
LW_PRIPARTYPET_PRIPAR,
LW_ARCPARTYPET_ARCPAR.
L_LAY='X_65_132'.
L_LINES=65.
L_COLS=132.
"Read,determine,changespoolprintparametersandarchiveparameters
CALLFUNCTION'GET_PRINT_PARAMETERS'
EXPORTING
IN_ARCHIVE_PARAMETERS=LW_ARCPAR
IN_PARAMETERS=LW_PRIPAR
LAYOUT=L_LAY
LINE_COUNT=L_LINES
LINE_SIZE=L_COLS
NO_DIALOG='X'
IMPORTING
OUT_ARCHIVE_PARAMETERS=LW_ARCPAR
OUT_PARAMETERS=LW_PRIPAR
VALID=L_VAL
EXCEPTIONS
ARCHIVE_INFO_NOT_FOUND=1
INVALID_PRINT_PARAMS=2
INVALID_ARCHIVE_PARAMS=3
OTHERS=4.
IFL_VALNESPACEANDSYSUBRC=0.
LW_PRIPARPRREL=SPACE.
LW_PRIPARPRIMM=SPACE.
NEWPAGEPRINTON
NEWSECTION
PARAMETERSLW_PRIPAR
ARCHIVEPARAMETERSLW_ARCPAR
NODIALOG.
ENDIF.
ENDFORM."get_print_parameters
*&*
*&Formconvert_spool_2_pdf
*&*
FORMCONVERT_SPOOL_2_PDFTABLESL_ATTACHMENT.
"Variables
DATA:
L_NO_OF_BYTESTYPEI,
L_PDF_SPOOLIDLIKETSP01RQIDENT,
L_JOBNAMELIKETBTCJOBJOBNAME,
L_JOBCOUNTLIKETBTCJOBJOBCOUNT.
CALLFUNCTION'CONVERT_ABAPSPOOLJOB_2_PDF'
EXPORTING
SRC_SPOOLID=G_SPOOL_NO
NO_DIALOG=''
IMPORTING
PDF_BYTECOUNT=L_NO_OF_BYTES
PDF_SPOOLID=L_PDF_SPOOLID
http://www.ansapconsultant.com/2010/12/abapsendingemailwithpdfattachment.html
4/6
7/29/2015
AnSAPConsultant:ABAPSendingemailwithpdfattachment
BTC_JOBNAME=L_JOBNAME
BTC_JOBCOUNT=L_JOBCOUNT
TABLES
PDF=I_PDF
EXCEPTIONS
ERR_NO_ABAP_SPOOLJOB=1
ERR_NO_SPOOLJOB=2
ERR_NO_PERMISSION=3
ERR_CONV_NOT_POSSIBLE=4
ERR_BAD_DESTDEVICE=5
USER_CANCELLED=6
ERR_SPOOLERROR=7
ERR_TEMSEERROR=8
ERR_BTCJOB_OPEN_FAILED=9
ERR_BTCJOB_SUBMIT_FAILED=10
ERR_BTCJOB_CLOSE_FAILED=11
OTHERS=12.
CASESYSUBRC.
WHEN0.
WHEN1.
MESSAGES000(0K)WITH'NoABAPSpoolJob'.
EXIT.
WHEN2.
MESSAGES000(0K)WITH'SpoolNumberdoesnotexist'.
EXIT.
WHEN3.
MESSAGES000(0K)WITH'Nopermissionforspool'.
EXIT.
WHENOTHERS.
MESSAGES000(0K)
WITH'ErrorinFunctionCONVERT_ABAPSPOOLJOB_2_PDF'.
EXIT.
ENDCASE.
CALLFUNCTION'SX_TABLE_LINE_WIDTH_CHANGE'
EXPORTING
LINE_WIDTH_SRC=134
LINE_WIDTH_DST=255
TABLES
CONTENT_IN=I_PDF
CONTENT_OUT=L_ATTACHMENT
EXCEPTIONS
ERR_LINE_WIDTH_SRC_TOO_LONG=1
ERR_LINE_WIDTH_DST_TOO_LONG=2
ERR_CONV_FAILED=3
OTHERS=4.
IFSYSUBRCNE0.
MESSAGES000(0K)WITH'ConversionFailed'.
EXIT.
ENDIF.
ENDFORM."convert_spool_2_pdf
*&*
*&Formtest_data
*&*
FORMTEST_DATA.
DO10TIMES.
W_EMP_DATAPERNR=SYINDEX.
W_EMP_DATAPERSG='2'.
W_EMP_DATAPERSK='93'.
W_EMP_DATAPLANS='99999999'.
W_EMP_DATASTELL='31414144'.
APPENDW_EMP_DATATOI_EMP_DATA.
CLEARW_EMP_DATA.
ENDDO.
ENDFORM."test_data
1 comment:
Anonymous July 9, 2013 at 10:04 PM
Hi !
Nothing is better than your site !
http://www.ansapconsultant.com/2010/12/abapsendingemailwithpdfattachment.html
5/6