ZCRM_AU_MAIL
FUNCTION ZCRM_AU_MAIL.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(EXGST) TYPE ZZFPAMT OPTIONAL
*" VALUE(INGST) TYPE ZZFPAMT OPTIONAL
*" VALUE(BELNR) TYPE BELNR_D OPTIONAL
*" TABLES
*" ZCRMS004 STRUCTURE ZCRMS004
*"----------------------------------------------------------------------
DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP.
DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP.
DATA: LS_RECIPIENT TYPE SWOTOBJID.
DATA: LS_SENDER TYPE SWOTOBJID.
DATA: LF_FORMNAME TYPE TDSFNAME.
DATA: JOBINFO TYPE SSFCRESCL.
DATA: LF_FM_NAME TYPE RS38L_FNAM.
DATA: OTFDATA TYPE TSFOTF.
DATA: GV_XSTRING TYPE XSTRING,
LV_LEN TYPE I,
LT_PDF TYPE TABLE OF TLINE.
DATA: GT_OBJTXT LIKE SOLISTI1 OCCURS WITH HEADER LINE,
GT_OBJHEX TYPE SOLIX_TAB,
G_BENFILE TYPE XSTRING,
P_SENDER LIKE ADR6-SMTP_ADDR,
LV_SUBJECT TYPE SO_OBJ_DES VALUE 'remittance for payment to be processed'.
DATA LO_SEND_REQUEST TYPE REF TO CL_BCS.
DATA LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
DATA LO_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
DATA LO_BCS_EXCEPTION TYPE REF TO CX_BCS.
DATA LO_SENDER TYPE REF TO IF_SENDER_BCS. " Sender address
DATA LV_SIZE TYPE SO_OBJ_LEN.
DATA LV_ALL TYPE OS_BOOLEAN. LF_FORMNAME = 'ZCRM_SETMENT_AU'.
LS_CONTROL_PARAM-LANGU = 'E'.
LS_CONTROL_PARAM-NO_OPEN = 'X'.
LS_CONTROL_PARAM-NO_CLOSE = 'X'.
LS_COMPOSER_PARAM-TDDELETE = 'X'.",打印后删除
LS_COMPOSER_PARAM-TDIMMED = 'X'."立即打印
LS_COMPOSER_PARAM-TDDEST = 'LP03'.
LS_CONTROL_PARAM-GETOTF = 'X'.
LS_CONTROL_PARAM-NO_DIALOG = 'X'.
LS_COMPOSER_PARAM-TDNOPREV = 'X'. CALL FUNCTION 'SSF_OPEN'
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = ''
EXCEPTIONS
FORMATTING_ERROR =
INTERNAL_ERROR =
SEND_ERROR =
USER_CANCELED =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = LF_FORMNAME
IMPORTING
FM_NAME = LF_FM_NAME
EXCEPTIONS
NO_FORM =
NO_FUNCTION_MODULE =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
ENDIF. CALL FUNCTION LF_FM_NAME
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = ' '
EXGST = EXGST
INGST = INGST
TABLES
GT_TABLE = ZCRMS004
EXCEPTIONS
FORMATTING_ERROR =
INTERNAL_ERROR =
SEND_ERROR =
USER_CANCELED =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF. CALL FUNCTION 'SSF_CLOSE'
IMPORTING
JOB_OUTPUT_INFO = JOBINFO
EXCEPTIONS
FORMATTING_ERROR =
INTERNAL_ERROR =
SEND_ERROR =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE 'Print Error!' TYPE 'E'.
ENDIF. OTFDATA = JOBINFO-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH =
IMPORTING
BIN_FILESIZE = LV_LEN
BIN_FILE = GV_XSTRING
TABLES
OTF = OTFDATA
LINES = LT_PDF
EXCEPTIONS
ERR_MAX_LINEWIDTH =
ERR_FORMAT =
ERR_CONV_NOT_POSSIBLE =
OTHERS = . FREE LO_SEND_REQUEST.
LO_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
"
CLEAR: GT_OBJTXT, GT_OBJTXT[].
GT_OBJTXT = ' '.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Dear Service Agent<br /> '.
APPEND GT_OBJTXT.
GT_OBJTXT = '<br />'.
APPEND GT_OBJTXT.
CLEAR:GT_OBJTXT.
MOVE INGST TO GT_OBJTXT.
CONDENSE GT_OBJTXT NO-GAPS.
CONCATENATE 'Please find attached remittance for' GT_OBJTXT 'payment<br />' INTO GT_OBJTXT SEPARATED BY space.
* GT_OBJTXT = 'Please find attached remittance for xxx.xx payment<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Please allow up to 7 days for payment to be processed<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'If you have any enquiries, please email service.agents@hisense.com<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = '<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Thank you.<br />'.
APPEND GT_OBJTXT. LO_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'HTM'
I_TEXT = GT_OBJTXT[]
I_SUBJECT = LV_SUBJECT ). TRY.
GT_OBJHEX = CL_BCS_CONVERT=>XSTRING_TO_SOLIX(
IV_XSTRING = GV_XSTRING
).
CATCH CX_BCS.
MESSAGE E445(SO).
ENDTRY.
CONCATENATE BELNR '.PDF' INTO LV_SUBJECT.
LO_DOCUMENT->ADD_ATTACHMENT(
I_ATTACHMENT_TYPE = 'PDF'
I_ATTACHMENT_SUBJECT = LV_SUBJECT
I_ATT_CONTENT_HEX = GT_OBJHEX ).
DATA: FAULT TYPE REF TO CX_SEND_REQ_BCS.
TRY.
LO_SEND_REQUEST->SET_DOCUMENT( LO_DOCUMENT ).
CATCH CX_SEND_REQ_BCS INTO FAULT.
MESSAGE I605(SBCOMS) .
ENDTRY. P_SENDER = 'XXXXXXX'. CALL METHOD CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS
EXPORTING
I_ADDRESS_STRING = P_SENDER
I_ADDRESS_NAME = P_SENDER
RECEIVING
RESULT = LO_SENDER.
CALL METHOD LO_SEND_REQUEST->SET_SENDER
EXPORTING
I_SENDER = LO_SENDER. P_SENDER = 'wwwliyuananhui@126.com'. LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
LO_SEND_REQUEST->ADD_RECIPIENT( LO_RECIPIENT ). P_SENDER = 'XXXXXXXX'. LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
LO_SEND_REQUEST->ADD_RECIPIENT( EXPORTING I_RECIPIENT = LO_RECIPIENT I_COPY = 'X' ). LO_SEND_REQUEST->SET_SEND_IMMEDIATELY( 'X' ).
LV_ALL = LO_SEND_REQUEST->SEND( I_WITH_ERROR_SCREEN = 'X' ). ENDFUNCTION.
FUNCTION ZCRM_AU_MAIL.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(EXGST) TYPE ZZFPAMT OPTIONAL
*" VALUE(INGST) TYPE ZZFPAMT OPTIONAL
*" VALUE(BELNR) TYPE BELNR_D OPTIONAL
*" TABLES
*" ZCRMS004 STRUCTURE ZCRMS004
*"----------------------------------------------------------------------
DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP.
DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP.
DATA: LS_RECIPIENT TYPE SWOTOBJID.
DATA: LS_SENDER TYPE SWOTOBJID.
DATA: LF_FORMNAME TYPE TDSFNAME.
DATA: JOBINFO TYPE SSFCRESCL.
DATA: LF_FM_NAME TYPE RS38L_FNAM.
DATA: OTFDATA TYPE TSFOTF.
DATA: GV_XSTRING TYPE XSTRING,
LV_LEN TYPE I,
LT_PDF TYPE TABLE OF TLINE.
DATA: GT_OBJTXT LIKE SOLISTI1 OCCURS 0 WITH HEADER LINE,
GT_OBJHEX TYPE SOLIX_TAB,
G_BENFILE TYPE XSTRING,
P_SENDER LIKE ADR6-SMTP_ADDR,
LV_SUBJECT TYPE SO_OBJ_DES VALUE 'remittance for payment to be processed'.
DATA LO_SEND_REQUEST TYPE REF TO CL_BCS.
DATA LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
DATA LO_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
DATA LO_BCS_EXCEPTION TYPE REF TO CX_BCS.
DATA LO_SENDER TYPE REF TO IF_SENDER_BCS. " Sender address
DATA LV_SIZE TYPE SO_OBJ_LEN.
DATA LV_ALL TYPE OS_BOOLEAN.
LF_FORMNAME = 'ZCRM_SETMENT_AU'.
LS_CONTROL_PARAM-LANGU = 'E'.
LS_CONTROL_PARAM-NO_OPEN = 'X'.
LS_CONTROL_PARAM-NO_CLOSE = 'X'.
LS_COMPOSER_PARAM-TDDELETE = 'X'.",打印后删除
LS_COMPOSER_PARAM-TDIMMED = 'X'."立即打印
LS_COMPOSER_PARAM-TDDEST = 'LP03'.
LS_CONTROL_PARAM-GETOTF = 'X'.
LS_CONTROL_PARAM-NO_DIALOG = 'X'.
LS_COMPOSER_PARAM-TDNOPREV = 'X'.
CALL FUNCTION 'SSF_OPEN'
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = ''
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.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = LF_FORMNAME
IMPORTING
FM_NAME = LF_FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
ENDIF.
CALL FUNCTION LF_FM_NAME
EXPORTING
CONTROL_PARAMETERS = LS_CONTROL_PARAM
OUTPUT_OPTIONS = LS_COMPOSER_PARAM
USER_SETTINGS = ' '
EXGST = EXGST
INGST = INGST
TABLES
GT_TABLE = ZCRMS004
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.
CALL FUNCTION 'SSF_CLOSE'
IMPORTING
JOB_OUTPUT_INFO = JOBINFO
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
OTHERS = 4.
IF SY-SUBRC <> 0.
MESSAGE 'Print Error!' TYPE 'E'.
ENDIF.
OTFDATA = JOBINFO-OTFDATA[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
IMPORTING
BIN_FILESIZE = LV_LEN
BIN_FILE = GV_XSTRING
TABLES
OTF = OTFDATA
LINES = LT_PDF
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.
FREE LO_SEND_REQUEST.
LO_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
"
CLEAR: GT_OBJTXT, GT_OBJTXT[].
GT_OBJTXT = ' '.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Dear Service Agent<br /> '.
APPEND GT_OBJTXT.
GT_OBJTXT = '<br />'.
APPEND GT_OBJTXT.
CLEAR:GT_OBJTXT.
MOVE INGST TO GT_OBJTXT.
CONDENSE GT_OBJTXT NO-GAPS.
CONCATENATE 'Please find attached remittance for' GT_OBJTXT 'payment<br />' INTO GT_OBJTXT SEPARATED BY space.
* GT_OBJTXT = 'Please find attached remittance for xxx.xx payment<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Please allow up to 7 days for payment to be processed<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'If you have any enquiries, please email service.agents@hisense.com<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = '<br />'.
APPEND GT_OBJTXT.
GT_OBJTXT = 'Thank you.<br />'.
APPEND GT_OBJTXT.
LO_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'HTM'
I_TEXT = GT_OBJTXT[]
I_SUBJECT = LV_SUBJECT ).
TRY.
GT_OBJHEX = CL_BCS_CONVERT=>XSTRING_TO_SOLIX(
IV_XSTRING = GV_XSTRING
).
CATCH CX_BCS.
MESSAGE E445(SO).
ENDTRY.
CONCATENATE BELNR '.PDF' INTO LV_SUBJECT.
* LV_SUBJECT = 'test.PDF'.
LO_DOCUMENT->ADD_ATTACHMENT(
I_ATTACHMENT_TYPE = 'PDF'
I_ATTACHMENT_SUBJECT = LV_SUBJECT
I_ATT_CONTENT_HEX = GT_OBJHEX ).
DATA: FAULT TYPE REF TO CX_SEND_REQ_BCS.
TRY.
LO_SEND_REQUEST->SET_DOCUMENT( LO_DOCUMENT ).
CATCH CX_SEND_REQ_BCS INTO FAULT.
MESSAGE I605(SBCOMS) .
ENDTRY.
P_SENDER = 'service_jp@hisense.com'.
CALL METHOD CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS
EXPORTING
I_ADDRESS_STRING = P_SENDER
I_ADDRESS_NAME = P_SENDER
RECEIVING
RESULT = LO_SENDER.
CALL METHOD LO_SEND_REQUEST->SET_SENDER
EXPORTING
I_SENDER = LO_SENDER.
P_SENDER = 'wwwliyuananhui@126.com'.
LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
LO_SEND_REQUEST->ADD_RECIPIENT( LO_RECIPIENT ).
P_SENDER = 'dongxiang@hisense.com'.
LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
LO_SEND_REQUEST->ADD_RECIPIENT( EXPORTING I_RECIPIENT = LO_RECIPIENT I_COPY = 'X' ).
LO_SEND_REQUEST->SET_SEND_IMMEDIATELY( 'X' ).
LV_ALL = LO_SEND_REQUEST->SEND( I_WITH_ERROR_SCREEN = 'X' ).
ENDFUNCTION.
ZCRM_AU_MAIL的更多相关文章
随机推荐
- 2、Flutter 填坑记录篇
1.前言 之前写了一篇文章关于 flutter 初体验的一篇,https://www.cnblogs.com/niceyoo/p/9240359.html,当时一顿骚操作,然后程序就跑起来了. 隔了好 ...
- PHP日常模拟业务的小工具
随机生成姓名 public function getChar($num=2) // $num为生成汉字的数量 { $first = array('赵','钱','孙','李','周','吴','郑', ...
- python发送html格式的邮件
python发邮件 #!/usr/bin/python # -*- coding: UTF-8 -*- import smtplib from email.mime.text import MIMET ...
- [js]jquery里的jsonp实现ajax异源请求
同源请求-jquery <script type="text/javascript" src="http://apps.bdimg.com/libs/jquery/ ...
- 使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
数据库备份在现代计算机高速发展的今日变得日益重要,程序员往往因为不重视而忽略备份数据,导致数据丢失,造成非常严重的后果.定时备份无疑是解决备份的最好的途径,本文主要使用Navicat来自动备份数据库和 ...
- caffe-ssd安装GPU版本和CPU的区别
在CPU中1.CPU_ONLY :=1的注释取消掉 2.BLAS := atlas 在GPU中 1.USE_CUDNN := 1的注释取消 2.BLAS := open
- win7共享打印机和防火墙配置
今天给公司一台Win7电脑连接的打印机做共享.办公司共6台电脑,其中1台是连接了打印机,并安装了打印机驱动,可以正常本机使用打印机.现在需要其他5台电脑也共享使用打印机. 1.当共享的时候,提示“无法 ...
- (Review cs231n) ConvNet
概念 神经网络的深度和数据据体的深度(图像的通道数channels)要主要区分. 输入 1.得到一些数据,作为网络的输入. 2.在CNN中有filter,the size of filter is s ...
- react脚手架搭建及配置
npm install -g create-react-app 装完之后,生成一个新的项目,可以使用下面的命令: create-react-app my-app cd my-app/yarn star ...
- 《CSS世界》读书笔记(七)
<!-- <CSS世界> 张鑫旭著 --> 替换元素 根据是否具有可替换内容,我们可以把元素分为替换元素和非替换元素. <img>.<object>.& ...