Wednesday, 30 April 2025

SAP ABAP - Smartforms as Email Attachment



 
*&---------------------------------------------------------------------*
*& Report YMAIL01
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ymail01.
DATA:
  lv_subject            TYPE so_obj_des,
  lv_attachment_subject TYPE  sood-objdes,
  ls_mailto             TYPE zsmail_to,
  lt_mailto             TYPE TABLE OF zsmail_to,
  lt_otf                TYPE TABLE OF itcoo,
  lt_mail_content       TYPE soli_tab,
  ls_mail_content       TYPE soli.
DATA:
  document_output_info TYPE  ssfcrespd,
  job_output_info      TYPE  ssfcrescl,
  job_output_options   TYPE  ssfcresop,
  ssfctrlop            TYPE  ssfctrlop,
  ssfcompop            TYPE  ssfcompop.
START-OF-SELECTION.
  PERFORM send_email.
FORM send_email.
  lv_attachment_subject = lv_subject = 'Email Test Attachment'.
  ls_mailto-email_address  = 'email@gmail.com'.
  ls_mailto-recipient_type = 'TO'.
  APPEND ls_mailto TO lt_mailto.
*  control_parameters-getotf = 'X'.
  ssfctrlop-no_dialog  = abap_true.
  ssfctrlop-preview    = abap_false.
  ssfctrlop-getotf     = 'X'.
  ssfcompop-tddest     = 'LOCL'.
  ssfcompop-tdimmed    = 'X'.
  ssfcompop-tddelete   = 'X'.
  CLEAR job_output_info.
  CALL FUNCTION '/1BCDWB/SF00000147'
    EXPORTING
      control_parameters = ssfctrlop
      output_options     = ssfcompop
      user_settings      = 'X'
    IMPORTING
*     DOCUMENT_OUTPUT_INFO       =
      job_output_info    = job_output_info
*     JOB_OUTPUT_OPTIONS =
    EXCEPTIONS
      formatting_error   = 1
      internal_error     = 2
      send_error         = 3
      user_canceled      = 4
      OTHERS             = 5.
  IF sy-subrc <> 0.
* Implement suitable error handling here
  ENDIF.
  lt_otf = job_output_info-otfdata[].
  CLEAR ls_mail_content.
  ls_mail_content = 'Testing Email Attachment'.
  APPEND ls_mail_content TO lt_mail_content.
  CALL FUNCTION 'ZFM_SEND_EMAIL'
    EXPORTING
      i_mail_subject       = lv_subject
      i_attachment_subject = lv_attachment_subject
      lt_mail_content      = lt_mail_content
*     I_MAIL_SUBJECT2      =
*   IMPORTING
*     E_STATUS             =
*     E_SENT_TO_ALL        =
    TABLES
      lt_otf               = lt_otf
      lt_mailto            = lt_mailto
*     LT_EXCEL             =
    .
ENDFORM.


No comments:

Post a Comment

ABAP CDS View Part 10 : Authorization & DCL untuk ABAP CDS

Authorization & DCL di ABAP CDS | Panduan Lengkap (PFCG, @AccessControl, DCL) Authorization & DCL untuk ABAP CDS — Pandua...