• 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 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.
      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
    *"----------------------------------------------------------------------
      DATALS_CONTROL_PARAM      TYPE SSFCTRLOP.
      DATALS_COMPOSER_PARAM     TYPE SSFCOMPOP.
      DATALS_RECIPIENT          TYPE SWOTOBJID.
      DATALS_SENDER             TYPE SWOTOBJID.
      DATALF_FORMNAME           TYPE TDSFNAME.
      DATAJOBINFO TYPE SSFCRESCL.
      DATALF_FM_NAME            TYPE RS38L_FNAM.
      DATAOTFDATA TYPE TSFOTF.
      DATAGV_XSTRING            TYPE XSTRING,
            LV_LEN TYPE I,
            LT_PDF TYPE TABLE OF TLINE.
      DATAGT_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   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).
      "
      CLEARGT_OBJTXTGT_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 ).
      DATAFAULT TYPE REF TO CX_SEND_REQ_BCS.
      TRY.
          LO_SEND_REQUEST->SET_DOCUMENTLO_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_ADDRESSP_SENDER ).
      LO_SEND_REQUEST->ADD_RECIPIENTLO_RECIPIENT ).

      P_SENDER 'dongxiang@hisense.com'.

      LO_RECIPIENT CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESSP_SENDER ).
      LO_SEND_REQUEST->ADD_RECIPIENTEXPORTING I_RECIPIENT LO_RECIPIENT I_COPY 'X' ).

      LO_SEND_REQUEST->SET_SEND_IMMEDIATELY'X' ).
      LV_ALL LO_SEND_REQUEST->SENDI_WITH_ERROR_SCREEN 'X' ).


    ENDFUNCTION.

  • 相关阅读:
    CentOS7 离线安装fastDFS、jdk1.8、mysql5.7、nginx、libreOffice
    java生成随机验证码
    Caused by: java.lang.NoClassDefFoundError: javax/servlet/ServletContext
    js获取本地IP
    CentOS6.5下Oracle11.2安装
    IE浏览器不兼容indexOf问题
    有关LocalAlloc,LocalReAlloc,LocalFree,GlobalAlloc,GlobalReAlloc,GlobalFree的模糊点总结
    03UseTls
    03EventDemo
    lockFunctionDemo
  • 原文地址:https://www.cnblogs.com/sapSB/p/9070937.html
Copyright © 2020-2023  润新知