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的更多相关文章

随机推荐

  1. redis集群(jedis)批量删除同一前缀

    public Set<String> getByPrefix(String key) { Set<String> setResult = new HashSet<> ...

  2. How do you explain Machine Learning and Data Mining to non Computer Science people?

    How do you explain Machine Learning and Data Mining to non Computer Science people?   Pararth Shah, ...

  3. git 常用命令收集

    1. 查看某文件的历史递交记录git log --pretty=oneline 文件名 2. 查看远程仓库信息 git remote show origin 3. 查看用户名和修改用记名: git c ...

  4. CSS组合选择符

    组合选择符说明了两个选择器直接的关系. 目录: 后代选取器(以空格分隔) 子元素选择器(以大于号分隔) 相邻兄弟选择器(以加号分隔) 普通兄弟选择器(以破折号分隔) 后代选取器 后代选取器匹配所有值得 ...

  5. tomcat+apache的集群配置

    背景:项目比较大,用户较多,同一时间,用户在线人数较多,为此,整体架构是lvs(2台)+keepalived(2台)+apache(N台)+tomcat(N台) lvs负责分发请求,所有的web请求经 ...

  6. inux下输入ifconfig命令,没有eth0,怎么解决

    用ifconfig命令,只有lo,没有eth0的解决方案 问题描述:视频中输入ifconfig命令,显示eth0和lo,但是自己在虚拟机中并非得到这样的结果,而是只有lo,即网卡未启动,也没有ip,无 ...

  7. Windows 服务器自动重启定位

    有个非常好的小技巧,就是在服务器端命令行,执行systeminfo,能查到服务器上一次重启的时间,依照这个时间在Event Log里再找相应的日志就容易多了. 补充:还能查到这台服务器是虚拟机还是实体 ...

  8. zabbix 乱码问题

    一.乱码原因 查看cpu负载,中文乱码如下 这个问题是由于zabbix的web端没有中文字库,我们最需要把中文字库加上即可 二.解决zabbix乱码方法 2.1 上传字体文件到zabbix中 找到本地 ...

  9. MySQL删除命令_DELETE

    单表删除语句: DELETE [LOW_PRIORITY][IGNORE] FROM tbl_name     [WHERE where_definition]     [ORDER BY ...] ...

  10. 2019/4/8 wen text

    构造器产生对象的步骤:1.为对象在内存中申请内存空间. 2.对对象的属性申请内存空间. 3.为属性进行初始化. 4.执行构造器中编写的其他代码. 静态方法调用:    类名.方法 非静态方法调用:  ...