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. word文档发布至博客wordpress网站系统

    今天ytkah接到一个需求:将word文档发布到wordpress网站上,因为客户那边习惯用word来编辑文章,想直接将内容导入到wp网站中,其实 Word 已经提供了这样的功能,并且能够保留 Wor ...

  2. ORACLE删除分区

    业务需求:定期删除表中三个月之前的数据 说明:由于表采取一个月一个分区的设计,所以删除三个月之前的数据也就是删除三个月之前的分区.但需要注意的是删除分区后全局索引会失效,而本地local索引不会受到影 ...

  3. Windows下安装MySql5.7(解压版本)

    Windows下安装MySql5.7(解压版本) 1. 官方地址下载MySql Server 5.7 2. 解压文件到目录d:\Soft\mysql57下 3. 在上面目录下创建文件my.ini,内容 ...

  4. CentOS 7 keepalived+LVS

    LVS架构中 , 不管是NAT模式还是DR模式 , 当后端的RS宕机了 , 调度器还是会把请求转发到宕掉的RS上 , 然而keepalived可以解决该问题 , 它不仅仅有高可用的功能 , 还有负载均 ...

  5. Vue系列之 => webpack基础使用

    webpack安装方式 1,运行 npm i webpack -g 全局安装. 2,在项目根目录中运行 npm i webpack --save-dev 安装到项目依赖中 项目目录 进入src运行, ...

  6. HDU - 6440 Dream 2018中国大学生程序设计竞赛 - 网络选拔赛

    给定的\(p\)是素数,要求给定一个加法运算表和乘法运算表,使\((m+n)^p = m^p +n^p(0 \leq m,n < p)\). 因为给定的p是素数,根据费马小定理得 \((m+n) ...

  7. 使用axios优雅的发起网络请求

    原文链接:https://www.jianshu.com/p/73585303fdc0 公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方 ...

  8. 创建servlet程序知识点详解---servlet-day01

    方法调用完后,其中的所有局部变量都会消失 ###网络架构 -CS:Client Server  客户端服务器 特点:每种平台都需要开发相对应的app, 开发成本高  功能升级需要下载最新的客户端,用户 ...

  9. 史上最全python面试题详解(一)(附带详细答案(持续更新))

    1.简述解释型和编译型编程语言? 概念: 编译型语言:把做好的源程序全部编译成二进制代码的可运行程序.然后,可直接运行这个程序. 解释型语言:把做好的源程序翻译一句,然后执行一句,直至结束! 区别: ...

  10. Python数据分析Numpy库方法简介(一)

    Numpy功能简介: 1.官网:www.numpy.org 2.特点:(1)高效的多维矩阵/数组; (2);复杂的广播功能 (3):有大量的内置数学统计函数 矩阵(多维数组): 一维数组:  ([ 值 ...