1. FUNCTION ZCRM_AU_MAIL.
  2. *"----------------------------------------------------------------------
  3. *"*"Local Interface:
  4. *" IMPORTING
  5. *" VALUE(EXGST) TYPE ZZFPAMT OPTIONAL
  6. *" VALUE(INGST) TYPE ZZFPAMT OPTIONAL
  7. *" VALUE(BELNR) TYPE BELNR_D OPTIONAL
  8. *" TABLES
  9. *" ZCRMS004 STRUCTURE ZCRMS004
  10. *"----------------------------------------------------------------------
  11. DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP.
  12. DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP.
  13. DATA: LS_RECIPIENT TYPE SWOTOBJID.
  14. DATA: LS_SENDER TYPE SWOTOBJID.
  15. DATA: LF_FORMNAME TYPE TDSFNAME.
  16. DATA: JOBINFO TYPE SSFCRESCL.
  17. DATA: LF_FM_NAME TYPE RS38L_FNAM.
  18. DATA: OTFDATA TYPE TSFOTF.
  19. DATA: GV_XSTRING TYPE XSTRING,
  20. LV_LEN TYPE I,
  21. LT_PDF TYPE TABLE OF TLINE.
  22. DATA: GT_OBJTXT LIKE SOLISTI1 OCCURS WITH HEADER LINE,
  23. GT_OBJHEX TYPE SOLIX_TAB,
  24. G_BENFILE TYPE XSTRING,
  25. P_SENDER LIKE ADR6-SMTP_ADDR,
  26. LV_SUBJECT TYPE SO_OBJ_DES VALUE 'remittance for payment to be processed'.
  27. DATA LO_SEND_REQUEST TYPE REF TO CL_BCS.
  28. DATA LO_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS.
  29. DATA LO_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS.
  30. DATA LO_BCS_EXCEPTION TYPE REF TO CX_BCS.
  31. DATA LO_SENDER TYPE REF TO IF_SENDER_BCS. " Sender address
  32. DATA LV_SIZE TYPE SO_OBJ_LEN.
  33. DATA LV_ALL TYPE OS_BOOLEAN.
  34.  
  35. LF_FORMNAME = 'ZCRM_SETMENT_AU'.
  36. LS_CONTROL_PARAM-LANGU = 'E'.
  37. LS_CONTROL_PARAM-NO_OPEN = 'X'.
  38. LS_CONTROL_PARAM-NO_CLOSE = 'X'.
  39. LS_COMPOSER_PARAM-TDDELETE = 'X'.",打印后删除
  40. LS_COMPOSER_PARAM-TDIMMED = 'X'."立即打印
  41. LS_COMPOSER_PARAM-TDDEST = 'LP03'.
  42. LS_CONTROL_PARAM-GETOTF = 'X'.
  43. LS_CONTROL_PARAM-NO_DIALOG = 'X'.
  44. LS_COMPOSER_PARAM-TDNOPREV = 'X'.
  45.  
  46. CALL FUNCTION 'SSF_OPEN'
  47. EXPORTING
  48. CONTROL_PARAMETERS = LS_CONTROL_PARAM
  49. OUTPUT_OPTIONS = LS_COMPOSER_PARAM
  50. USER_SETTINGS = ''
  51. EXCEPTIONS
  52. FORMATTING_ERROR =
  53. INTERNAL_ERROR =
  54. SEND_ERROR =
  55. USER_CANCELED =
  56. OTHERS = .
  57. IF SY-SUBRC <> .
  58. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  59. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  60. ENDIF.
  61.  
  62. CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  63. EXPORTING
  64. FORMNAME = LF_FORMNAME
  65. IMPORTING
  66. FM_NAME = LF_FM_NAME
  67. EXCEPTIONS
  68. NO_FORM =
  69. NO_FUNCTION_MODULE =
  70. OTHERS = .
  71. IF SY-SUBRC <> .
  72. MESSAGE 'Call SSF_FUNCTION_MODULE_NAME Error' TYPE 'E'.
  73. ENDIF.
  74.  
  75. CALL FUNCTION LF_FM_NAME
  76. EXPORTING
  77. CONTROL_PARAMETERS = LS_CONTROL_PARAM
  78. OUTPUT_OPTIONS = LS_COMPOSER_PARAM
  79. USER_SETTINGS = ' '
  80. EXGST = EXGST
  81. INGST = INGST
  82. TABLES
  83. GT_TABLE = ZCRMS004
  84. EXCEPTIONS
  85. FORMATTING_ERROR =
  86. INTERNAL_ERROR =
  87. SEND_ERROR =
  88. USER_CANCELED =
  89. OTHERS = .
  90. IF SY-SUBRC <> .
  91. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  92. WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  93. ENDIF.
  94.  
  95. CALL FUNCTION 'SSF_CLOSE'
  96. IMPORTING
  97. JOB_OUTPUT_INFO = JOBINFO
  98. EXCEPTIONS
  99. FORMATTING_ERROR =
  100. INTERNAL_ERROR =
  101. SEND_ERROR =
  102. OTHERS = .
  103. IF SY-SUBRC <> .
  104. MESSAGE 'Print Error!' TYPE 'E'.
  105. ENDIF.
  106.  
  107. OTFDATA = JOBINFO-OTFDATA[].
  108. CALL FUNCTION 'CONVERT_OTF'
  109. EXPORTING
  110. FORMAT = 'PDF'
  111. MAX_LINEWIDTH =
  112. IMPORTING
  113. BIN_FILESIZE = LV_LEN
  114. BIN_FILE = GV_XSTRING
  115. TABLES
  116. OTF = OTFDATA
  117. LINES = LT_PDF
  118. EXCEPTIONS
  119. ERR_MAX_LINEWIDTH =
  120. ERR_FORMAT =
  121. ERR_CONV_NOT_POSSIBLE =
  122. OTHERS = .
  123.  
  124. FREE LO_SEND_REQUEST.
  125. LO_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
  126. "
  127. CLEAR: GT_OBJTXT, GT_OBJTXT[].
  128. GT_OBJTXT = ' '.
  129. APPEND GT_OBJTXT.
  130. GT_OBJTXT = 'Dear Service Agent<br /> '.
  131. APPEND GT_OBJTXT.
  132. GT_OBJTXT = '<br />'.
  133. APPEND GT_OBJTXT.
  134. CLEAR:GT_OBJTXT.
  135. MOVE INGST TO GT_OBJTXT.
  136. CONDENSE GT_OBJTXT NO-GAPS.
  137. CONCATENATE 'Please find attached remittance for' GT_OBJTXT 'payment<br />' INTO GT_OBJTXT SEPARATED BY space.
  138. * GT_OBJTXT = 'Please find attached remittance for xxx.xx payment<br />'.
  139. APPEND GT_OBJTXT.
  140. GT_OBJTXT = 'Please allow up to 7 days for payment to be processed<br />'.
  141. APPEND GT_OBJTXT.
  142. GT_OBJTXT = 'If you have any enquiries, please email service.agents@hisense.com<br />'.
  143. APPEND GT_OBJTXT.
  144. GT_OBJTXT = '<br />'.
  145. APPEND GT_OBJTXT.
  146. GT_OBJTXT = 'Thank you.<br />'.
  147. APPEND GT_OBJTXT.
  148.  
  149. LO_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
  150. I_TYPE = 'HTM'
  151. I_TEXT = GT_OBJTXT[]
  152. I_SUBJECT = LV_SUBJECT ).
  153.  
  154. TRY.
  155. GT_OBJHEX = CL_BCS_CONVERT=>XSTRING_TO_SOLIX(
  156. IV_XSTRING = GV_XSTRING
  157. ).
  158. CATCH CX_BCS.
  159. MESSAGE E445(SO).
  160. ENDTRY.
  161. CONCATENATE BELNR '.PDF' INTO LV_SUBJECT.
  162. LO_DOCUMENT->ADD_ATTACHMENT(
  163. I_ATTACHMENT_TYPE = 'PDF'
  164. I_ATTACHMENT_SUBJECT = LV_SUBJECT
  165. I_ATT_CONTENT_HEX = GT_OBJHEX ).
  166. DATA: FAULT TYPE REF TO CX_SEND_REQ_BCS.
  167. TRY.
  168. LO_SEND_REQUEST->SET_DOCUMENT( LO_DOCUMENT ).
  169. CATCH CX_SEND_REQ_BCS INTO FAULT.
  170. MESSAGE I605(SBCOMS) .
  171. ENDTRY.
  172.  
  173. P_SENDER = 'XXXXXXX'.
  174.  
  175. CALL METHOD CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS
  176. EXPORTING
  177. I_ADDRESS_STRING = P_SENDER
  178. I_ADDRESS_NAME = P_SENDER
  179. RECEIVING
  180. RESULT = LO_SENDER.
  181. CALL METHOD LO_SEND_REQUEST->SET_SENDER
  182. EXPORTING
  183. I_SENDER = LO_SENDER.
  184.  
  185. P_SENDER = 'wwwliyuananhui@126.com'.
  186.  
  187. LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
  188. LO_SEND_REQUEST->ADD_RECIPIENT( LO_RECIPIENT ).
  189.  
  190. P_SENDER = 'XXXXXXXX'.
  191.  
  192. LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( P_SENDER ).
  193. LO_SEND_REQUEST->ADD_RECIPIENT( EXPORTING I_RECIPIENT = LO_RECIPIENT I_COPY = 'X' ).
  194.  
  195. LO_SEND_REQUEST->SET_SEND_IMMEDIATELY( 'X' ).
  196. LV_ALL = LO_SEND_REQUEST->SEND( I_WITH_ERROR_SCREEN = 'X' ).
  197.  
  198. 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. python操作wifi

    python连接wifi需要使用pywifi包,可以用pip install pywifi安装 1.导入包 import pywifi,time #保存包中写义的常量 from pywifi impo ...

  2. vue2Leaflet使用 Vue2Leaflet-master 的demo

    首先下载该demo 地址:https://github.com/KoRiGaN/Vue2Leaflet 下载后可以运行里面的例子,在examples文件夹内,该文件夹本身就是一个完整的项目 然后cmd ...

  3. C语言进阶之路(一)----C语言的内存四区模型

    内存四区模型:操作系统给C/C++编写的程序分配内存,通常将分配的内存划分为以下四个区域:1.栈区:存放局部变量,用完由操作系统自动释放2.堆区:动态分配给程序的内存区域,由程序员手动释放3.数据区: ...

  4. 027-Session状态提供程序

    Session分三种:1.InProc(进程内)-默认就是这种-速度快/但内存小/易丢失进程外:可以在IIS或ASPNET服务意外关闭时继续保持状态,注意此时存储到session中的对象必须支持序列化 ...

  5. Network In Network学习笔记

    Network In Network学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50458190 作者:hjimce 一.相关理论 本篇 ...

  6. [转载]Javascript .then()这个方法是什么意思?

    then()方法是异步执行. 意思是:就是当.then()前的方法执行完后再执行then()内部的程序,这样就避免了,数据没获取到等的问题. 语法:promise.then(onCompleted, ...

  7. Google 开发的、最好用、功能最强大的网页测速与网站性能分析工具

    https://www.webpagetest.org/细致到每一个资源的加载都是完全可视化,包含详细的数据分析.开发完成自己的网站后一定要进行一下测试,你会发现还有很多可以优化的点.

  8. jmeter基本使用

    下载安装,推荐官网http://jmeter.apache.org/download_jmeter.cgi 安装步骤不做赘述,可以看这篇博文https://blog.csdn.net/u0103401 ...

  9. git分散式版本管理系统,从安装到基本使用

    首先,当然是安装git了,不用寻思,官网下载即可 https://git-scm.com/downloads 第二是设置账户,鼠标右键,选择git bush,在命令窗口中进行设置 git config ...

  10. Base64 空格,加号问题

    缘由: 在一个项目中,app请求tcpdump日志与记录的日志内容不一致 请求%2B 识别成 + 请求 + 识别成 空格 这个在base64解密的时候会出现异常,base64需要的是加号,而不是空格 ...